// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: dox_ex
static goto_t dox_ex(s7_scheme *sc)
                {
                    /* any number of steppers using dox exprs, end also dox, body and end result arbitrary.
                     *    since all these exprs are local, we don't need to jump until the body
                     */
                    int64_t id, steppers = 0;
                    s7_pointer frame, vars, slot, code, end, endp, stepper = NULL, form;
                    s7_function endf;

                    form = sc->code;
                    set_current_code(sc, sc->code);
                    sc->code = cdr(sc->code);

                    new_frame(sc, sc->envir, frame);   /* new frame is not tied into the symbol lookup process yet */
                    sc->temp10 = frame;
                    for (vars = car(sc->code); is_pair(vars); vars = cdr(vars))
                    {
                        s7_pointer expr, val, stp;
                        expr = cdar(vars);
                        val = fx_call(sc, expr);
                        new_cell_no_check(sc, slot, T_SLOT);
                        slot_set_symbol(slot, caar(vars));
                        slot_set_value(slot, val);
                        stp = cdr(expr); /* cddar(vars) */
                        if (is_pair(stp))
                        {
                            steppers++;
                            stepper = slot;
                            slot_set_expression(slot, stp);
                        }
                        else slot_just_set_expression(slot, sc->nil);
                        slot_set_next(slot, let_slots(frame));
                        let_set_slots(frame, slot);
                    }
                    sc->envir = frame;
                    sc->temp10 = sc->nil;
                    id = let_id(frame);
                    /* the c_calls above could have redefined a previous stepper, so that its symbol_id is > frame let_id when we get here,
                     *   so we use symbol_set_local_unchecked below to sidestep the debugger (see zauto.scm: i is a stepper, but then mock-vector-ref uses i as its index)
                     */
                    for (slot = let_slots(frame); tis_slot(slot); slot = next_slot(slot))
                        symbol_set_local_unchecked(slot_symbol(slot), id, slot);

                    end = cadr(sc->code);
                    endp = car(end);
                    endf = c_callee(end);
                    if (is_true(sc, sc->value = endf(sc, endp)))
                    {
                        sc->code = cdr(end);
                        return(goto_do_end_clauses);
                    }

                    code = cddr(sc->code);
                    if (is_null(code)) /* no body? */
                    {
                        if (endf == fx_c_d)
                        {
                            endf = c_callee(endp);
                            endp = cdr(endp);
                        }
                        if (steppers == 1)
                        {
                            s7_function f;
                            s7_pointer a;

                            f = c_callee(slot_expression(stepper)); /* e.g. fx_add_s1 */
                            a = car(slot_expression(stepper));
                            if (f == fx_c_d)
                            {
                                f = c_callee(a);
                                a = cdr(a);
                            }
                            if ((f == fx_cdr_s) &&
                                    (cadr(a) == slot_symbol(stepper)))
                            {
                                while (true)
                                {
                                    slot_set_value(stepper, cdr(slot_value(stepper)));
                                    if (endf(sc, endp) != sc->F)
                                    {
                                        sc->value = sc->T;
                                        sc->code = cdr(end);
                                        return(goto_do_end_clauses);
                                    }
                                }
                            }
                            while (true)
                            {
                                slot_set_value(stepper, f(sc, a));
                                if (is_true(sc, sc->value = endf(sc, endp)))
                                {
                                    sc->code = cdr(end);
                                    return(goto_do_end_clauses);
                                }
                            }
                        }
                        else
                        {
                            s7_pointer slots;
                            slots = let_slots(sc->envir);

                            if ((steppers == 2) &&
                                    (!tis_slot(next_slot(next_slot(slots)))))
                            {
                                s7_pointer step1, step2, expr1, expr2;
                                step1 = slots;
                                expr1 = slot_expression(step1);
                                step2 = next_slot(step1);
                                expr2 = slot_expression(step2); /* presetting c_call/car(expr) is not faster */
#if (!WITH_GMP)
                                if ((c_callee(expr2) == fx_subtract_u1) &&
                                        (is_t_integer(slot_value(step2))) &&
                                        (endf == fx_num_eq_ui))
                                {
                                    s7_int i, lim;
                                    lim = integer(caddr(endp));
                                    for (i = integer(slot_value(step2)) - 1; i >= lim; i--)
                                        slot_set_value(step1, fx_call(sc, expr1));
                                }
                                else
#endif
                                {
                                    while (true)
                                    {
                                        slot_set_value(step1, fx_call(sc, expr1));
                                        slot_set_value(step2, fx_call(sc, expr2));
                                        if (is_true(sc, sc->value = endf(sc, endp))) break;
                                    }
                                }
                                sc->code = cdr(end);
                                if (is_symbol(car(sc->code)))
                                {
                                    step1 = symbol_to_slot(sc, car(sc->code));
                                    sc->value = slot_value(step1);
                                    if (is_t_real(sc->value))
                                        clear_mutable_number(sc->value);
                                    return(goto_start);
                                }
                                return(goto_do_end_clauses);
                            }

                            while (true)
                            {
                                s7_pointer slt;
                                for (slt = slots; tis_slot(slt); slt = next_slot(slt))
                                    if (slot_has_expression(slt))
                                        slot_set_value(slt, fx_call(sc, slot_expression(slt)));
                                if (is_true(sc, sc->value = endf(sc, endp)))
                                {
                                    sc->code = cdr(end);
                                    return(goto_do_end_clauses);
                                }
                            }
                        }
                    }
                    else /* there is a body */
                    {
                        s7_pointer slots;
                        slots = let_slots(sc->envir);
                        /* is let activated? also multiexpr body  and other fx? */

                        if ((is_null(cdr(code))) &&
                                (is_pair(car(code))))
                        {
                            s7_pointer body;
                            s7_function bodyf = NULL;
                            body = car(code);

                            if ((!no_cell_opt(code)) &&
                                    (has_safe_steppers(sc, sc->envir)))
                                bodyf = s7_optimize_nr(sc, code);

                            if ((!bodyf) &&
                                    (is_fxable(sc, body)))
                                bodyf = fx_choose(sc, code, sc->envir, let_symbol_is_safe);

                            if (bodyf)
                            {
                                if (steppers == 1)                                /* one expr body, 1 stepper */
                                {
                                    s7_pointer stepa;
                                    s7_function stepf;
                                    stepf = c_callee(slot_expression(stepper));
                                    stepa = car(slot_expression(stepper));

                                    if (bodyf == opt_float_any_nr)
                                    {
                                        s7_double (*fd)(opt_info *o);
                                        opt_info *o;
                                        o = sc->opts[0];
                                        fd = o->v[0].fd;
                                        while (true)
                                        {
                                            sc->pc = 0;
                                            fd(o);
                                            slot_set_value(stepper, stepf(sc, stepa));
                                            if (is_true(sc, sc->value = endf(sc, endp)))
                                            {
                                                sc->code = cdr(end);
                                                return(goto_do_end_clauses);
                                            }
                                        }
                                    }
                                    while (true)
                                    {
                                        bodyf(sc, body);
                                        slot_set_value(stepper, stepf(sc, stepa));
                                        if (is_true(sc, sc->value = endf(sc, endp)))
                                        {
                                            sc->code = cdr(end);
                                            return(goto_do_end_clauses);
                                        }
                                    }
                                }

                                if ((steppers == 2) &&
                                        (!tis_slot(next_slot(next_slot(slots)))))
                                {
                                    s7_pointer s1, s2, p1, p2;
                                    s7_function f1, f2;
                                    s1 = slots;
                                    s2 = next_slot(slots);
                                    f1 = c_callee(slot_expression(s1));
                                    f2 = c_callee(slot_expression(s2));
                                    p1 = car(slot_expression(s1));
                                    p2 = car(slot_expression(s2));
                                    /* split out opt_float_any_nr gained nothing (see tmp) */
                                    while (true)
                                    {
                                        bodyf(sc, body);
                                        slot_set_value(s1, f1(sc, p1));
                                        slot_set_value(s2, f2(sc, p2));
                                        if (is_true(sc, sc->value = endf(sc, endp)))
                                        {
                                            sc->code = cdr(end);
                                            return(goto_do_end_clauses);
                                        }
                                    }
                                }
                                while (true)
                                {
                                    s7_pointer slot1;
                                    bodyf(sc, body);
                                    for (slot1 = slots; tis_slot(slot1); slot1 = next_slot(slot1))
                                        if (slot_has_expression(slot1))
                                            slot_set_value(slot1, fx_call(sc, slot_expression(slot1)));
                                    if (is_true(sc, sc->value = endf(sc, endp)))
                                    {
                                        sc->code = cdr(end);
                                        return(goto_do_end_clauses);
                                    }
                                }
                            }
                            if ((steppers == 1) &&
                                    (car(body) == sc->set_symbol) &&
                                    (is_pair(cdr(body))) &&
                                    (is_symbol(cadr(body))) &&
                                    (is_pair(cddr(body))) &&
                                    ((has_fx(cddr(body))) || (is_fxable(sc, caddr(body)))) &&
                                    (is_null(cdddr(body))))
                            {
                                s7_pointer val, slot, stepa;
                                s7_function stepf, valf;

                                val = cddr(body);
                                if (!has_fx(val))
                                    set_c_call(val, fx_choose(sc, val, sc->envir, let_symbol_is_safe));
                                valf = c_callee(val);
                                val = car(val);
                                slot = symbol_to_slot(sc, cadr(body));
                                if (slot == sc->undefined)
                                    eval_error_no_return(sc, sc->unbound_variable_symbol, "~A: unbound variable", 20, cadr(body));
                                stepf = c_callee(slot_expression(stepper));
                                stepa = car(slot_expression(stepper));
                                while (true)
                                {
                                    slot_set_value(slot, valf(sc, val));
                                    slot_set_value(stepper, stepf(sc, stepa));
                                    if (is_true(sc, sc->value = endf(sc, endp)))
                                    {
                                        sc->code = cdr(end);
                                        return(goto_do_end_clauses);
                                    }
                                }
                            }
                        }
                        else /* more than one expr */
                        {
                            s7_pointer p;
                            bool use_opts = false;
                            int32_t body_len = 0;
                            p = code;

                            if ((!no_cell_opt(code)) &&
                                    (has_safe_steppers(sc, sc->envir)))
                            {
                                if (setjmp(sc->opt_exit) == 0)
                                {
                                    sc->pc = 0;
                                    for (; is_pair(p); p = cdr(p), body_len++)
                                    {
                                        opt_info *start;
                                        start = sc->opts[sc->pc];
                                        if (!cell_optimize(sc, p))
                                        {
                                            set_no_cell_opt(code);
                                            p = code;
                                            break;
                                        }
                                        oo_idp_nr_fixup(start);
                                    }
                                    use_opts = is_null(p);
                                }
                            }

                            if (p == code)
                            {
                                for (; is_pair(p); p = cdr(p))
                                    if (!is_fxable(sc, car(p)))
                                        break;
                            }

                            if (is_null(p))
                            {
                                int32_t i;
                                s7_pointer stepa;
                                s7_function stepf;
                                if (!use_opts)
                                    annotate_args(sc, code, sc->envir);

                                if (stepper)
                                {
                                    stepf = c_callee(slot_expression(stepper));
                                    stepa = car(slot_expression(stepper));
                                }

                                while (true)
                                {
                                    if (use_opts)
                                    {
                                        sc->pc = 0;
                                        for (i = 0; i < body_len; i++)
                                        {
                                            opt_info *o;
                                            o = sc->opts[sc->pc];
                                            o->v[0].fp(o);
                                            sc->pc++;
                                        }
                                    }
                                    else
                                    {
                                        for (p = code; is_pair(p); p = cdr(p))
                                            fx_call(sc, p);
                                    }

                                    if (steppers == 1)
                                        slot_set_value(stepper, stepf(sc, stepa));
                                    else
                                    {
                                        s7_pointer slot;
                                        for (slot = slots; tis_slot(slot); slot = next_slot(slot))
                                            if (slot_has_expression(slot))
                                                slot_set_value(slot, fx_call(sc, slot_expression(slot)));
                                    }
                                    if (is_true(sc, sc->value = endf(sc, endp)))
                                    {
                                        sc->code = cdr(end);
                                        return(goto_do_end_clauses);
                                    }}}}}

                    if ((is_null(cdr(code))) && /* one expr */
                            (is_pair(car(code))))
                    {
                        code = car(code);
                        if ((is_syntactic_pair(code)) ||
                                (is_syntactic_symbol(car(code))))
                        {
                            push_stack_no_args(sc, OP_DOX_STEP_P, sc->code);

                            if (is_syntactic_pair(code))
                                sc->cur_op = (opcode_t)optimize_op(code);
                            else
                            {
                                sc->cur_op = (opcode_t)symbol_syntax_op_checked(code);
                                pair_set_syntax_op(code, sc->cur_op);
                            }
                            sc->code = code;
                            return(goto_top_no_pop);
                        }
                    }

                    pair_set_syntax_op(form, OP_DOX_INIT);
                    sc->code = T_Pair(cddr(sc->code));
                    push_stack_no_args(sc, (intptr_t)((is_null(cdr(sc->code))) ? OP_DOX_STEP_P : OP_DOX_STEP), cdr(form));

                    return(goto_begin);
                }

// Assembly:
subq $0x258, %rsp            # imm = 0x258
movq %rdi, 0x248(%rsp)
movq $0x0, 0x238(%rsp)
movq $0x0, 0x200(%rsp)
movq 0x248(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x1f8(%rsp)
movq 0x248(%rsp), %rax
movq (%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x248(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, (%rax)
jmp 0x136f6d
movq 0x248(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x248(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x136f9a
movq 0x248(%rsp), %rdi
callq 0xc670
movq 0x248(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x1e8(%rsp)
movq 0x1e8(%rsp), %rax
movq $0x20001c, (%rax)       # imm = 0x20001C
movq 0x248(%rsp), %rax
movq 0x250(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x250(%rax)
movq 0x1e8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x1e8(%rsp), %rax
movq $0x0, 0x8(%rax)
movq 0x248(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x1e8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x1e8(%rsp), %rax
movq %rax, 0x230(%rsp)
movq 0x230(%rsp), %rcx
movq 0x248(%rsp), %rax
movq %rcx, 0x540(%rax)
movq 0x248(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x228(%rsp)
movq 0x228(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x13720f
movq 0x228(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x1e0(%rsp)
movq 0x1e0(%rsp), %rax
movq %rax, 0x1c8(%rsp)
movq 0x1c8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x248(%rsp), %rdi
movq 0x1c8(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x1c0(%rsp)
movq 0x1c0(%rsp), %rax
movq %rax, 0x1d8(%rsp)
movq 0x248(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x220(%rsp)
movq 0x220(%rsp), %rax
movq $0x20, (%rax)
movq 0x228(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x220(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x1d8(%rsp), %rcx
movq 0x220(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x1e0(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x1d0(%rsp)
movq 0x1d0(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x1371af
movq 0x238(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x238(%rsp)
movq 0x220(%rsp), %rax
movq %rax, 0x200(%rsp)
movq 0x1d0(%rsp), %rcx
movq 0x220(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x220(%rsp), %rax
movq (%rax), %rcx
orq $0x2000000, %rcx        # imm = 0x2000000
movq %rcx, (%rax)
jmp 0x1371ca
movq 0x248(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x220(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x230(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x220(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x220(%rsp), %rcx
movq 0x230(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x228(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x228(%rsp)
jmp 0x13705e
movq 0x230(%rsp), %rcx
movq 0x248(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x248(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, 0x540(%rax)
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x240(%rsp)
movq 0x230(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x220(%rsp)
cmpq $0x0, 0x220(%rsp)
je 0x1372d3
jmp 0x137276
movq 0x220(%rsp), %rcx
movq 0x220(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x240(%rsp), %rcx
movq 0x220(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x20(%rax)
movq 0x220(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x28(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x28(%rax)
jmp 0x1372bd
movq 0x220(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x220(%rsp)
jmp 0x137269
movq 0x248(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x210(%rsp)
movq 0x210(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x208(%rsp)
movq 0x210(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x1f0(%rsp)
movq 0x1f0(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x208(%rsp), %rsi
callq *%rax
movq 0x248(%rsp), %rcx
movq %rax, 0x20(%rcx)
movq 0x248(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x137374
movq 0x210(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, (%rax)
movl $0x3, 0x254(%rsp)
jmp 0x138971
movq 0x248(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x218(%rsp)
movq 0x218(%rsp), %rax
movq 0x248(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x1379d6
leaq -0x313d3(%rip), %rax    # 0x105fe0
cmpq %rax, 0x1f0(%rsp)
jne 0x1373e5
movq 0x208(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x1f0(%rsp)
movq 0x208(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x208(%rsp)
cmpq $0x1, 0x238(%rsp)
jne 0x1375b2
movq 0x200(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0x1b8(%rsp)
movq 0x200(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x1b0(%rsp)
leaq -0x3144b(%rip), %rax    # 0x105fe0
cmpq %rax, 0x1b8(%rsp)
jne 0x13745d
movq 0x1b0(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x1b8(%rsp)
movq 0x1b0(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x1b0(%rsp)
leaq -0x30f34(%rip), %rax    # 0x106530
cmpq %rax, 0x1b8(%rsp)
jne 0x137524
movq 0x1b0(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x200(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jne 0x137524
jmp 0x137496
movq 0x200(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
movq 0x200(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x1f0(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x208(%rsp), %rsi
callq *%rax
movq 0x248(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x13751f
movq 0x248(%rsp), %rax
movq 0x118(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x210(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, (%rax)
movl $0x3, 0x254(%rsp)
jmp 0x138971
jmp 0x137496
jmp 0x137526
movq 0x1b8(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x1b0(%rsp), %rsi
callq *%rax
movq %rax, %rcx
movq 0x200(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x1f0(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x208(%rsp), %rsi
callq *%rax
movq 0x248(%rsp), %rcx
movq %rax, 0x20(%rcx)
movq 0x248(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x1375ad
movq 0x210(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, (%rax)
movl $0x3, 0x254(%rsp)
jmp 0x138971
jmp 0x137526
movq 0x248(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x1a8(%rsp)
cmpq $0x2, 0x238(%rsp)
jne 0x1378ce
movq 0x1a8(%rsp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, 0x18(%rax)
jne 0x1378ce
movq 0x1a8(%rsp), %rax
movq %rax, 0x1a0(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x190(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x198(%rsp)
movq 0x198(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x188(%rsp)
movq 0x188(%rsp), %rax
leaq 0x2ad35(%rip), %rcx     # 0x162380
cmpq %rcx, 0x20(%rax)
jne 0x137739
movq 0x198(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0xb, %eax
jne 0x137739
leaq 0x2a8bc(%rip), %rax     # 0x161f30
cmpq %rax, 0x1f0(%rsp)
jne 0x137739
movq 0x208(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x178(%rsp)
movq 0x198(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
subq $0x1, %rax
movq %rax, 0x180(%rsp)
movq 0x180(%rsp), %rax
cmpq 0x178(%rsp), %rax
jl 0x137734
movq 0x190(%rsp), %rax
movq %rax, 0x170(%rsp)
movq 0x170(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x248(%rsp), %rdi
movq 0x170(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x168(%rsp)
movq 0x168(%rsp), %rcx
movq 0x1a0(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x180(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x180(%rsp)
jmp 0x1376be
jmp 0x137817
jmp 0x13773b
movq 0x190(%rsp), %rax
movq %rax, 0x160(%rsp)
movq 0x160(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x248(%rsp), %rdi
movq 0x160(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x158(%rsp)
movq 0x158(%rsp), %rcx
movq 0x1a0(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x188(%rsp), %rax
movq %rax, 0x150(%rsp)
movq 0x150(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x248(%rsp), %rdi
movq 0x150(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x148(%rsp)
movq 0x148(%rsp), %rcx
movq 0x198(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x1f0(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x208(%rsp), %rsi
callq *%rax
movq 0x248(%rsp), %rcx
movq %rax, 0x20(%rcx)
movq 0x248(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x137810
jmp 0x137815
jmp 0x13773b
jmp 0x137817
movq 0x210(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, (%rax)
movq 0x248(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x1378be
movq 0x248(%rsp), %rdi
movq 0x248(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xfc80
movq %rax, 0x1a0(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x248(%rsp), %rax
movq 0x20(%rax), %rax
movzbl (%rax), %eax
cmpl $0xd, %eax
jne 0x1378ae
movq 0x248(%rsp), %rax
movq 0x20(%rax), %rax
movq (%rax), %rcx
andq $-0x4000001, %rcx       # imm = 0xFBFFFFFF
movq %rcx, (%rax)
movl $0x0, 0x254(%rsp)
jmp 0x138971
movl $0x3, 0x254(%rsp)
jmp 0x138971
jmp 0x1378d0
movq 0x1a8(%rsp), %rax
movq %rax, 0x140(%rsp)
cmpq $0x0, 0x140(%rsp)
je 0x137973
movq 0x140(%rsp), %rax
movq (%rax), %rax
andq $0x2000000, %rax        # imm = 0x2000000
cmpq $0x0, %rax
je 0x137958
movq 0x140(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x138(%rsp)
movq 0x138(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x248(%rsp), %rdi
movq 0x138(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x130(%rsp)
movq 0x130(%rsp), %rcx
movq 0x140(%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0x13795a
movq 0x140(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x140(%rsp)
jmp 0x1378e0
movq 0x1f0(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x208(%rsp), %rsi
callq *%rax
movq 0x248(%rsp), %rcx
movq %rax, 0x20(%rcx)
movq 0x248(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x1379d1
movq 0x210(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, (%rax)
movl $0x3, 0x254(%rsp)
jmp 0x138971
jmp 0x1378d0
movq 0x248(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x128(%rsp)
movq 0x218(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x248(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x13829f
movq 0x218(%rsp), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x13829f
movq $0x0, 0x118(%rsp)
movq 0x218(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x120(%rsp)
movq 0x218(%rsp), %rax
movq (%rax), %rax
andq $0x4000000, %rax        # imm = 0x4000000
cmpq $0x0, %rax
jne 0x137a9a
movq 0x248(%rsp), %rdi
movq 0x248(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0x1721f0
testb $0x1, %al
jne 0x137a7d
jmp 0x137a9a
movq 0x248(%rsp), %rdi
movq 0x218(%rsp), %rsi
callq 0x47ae0
movq %rax, 0x118(%rsp)
cmpq $0x0, 0x118(%rsp)
jne 0x137af0
movq 0x248(%rsp), %rdi
movq 0x120(%rsp), %rsi
callq 0x15cfb0
testb $0x1, %al
jne 0x137ac0
jmp 0x137af0
movq 0x248(%rsp), %rdi
movq 0x218(%rsp), %rsi
movq 0x248(%rsp), %rax
movq 0x8(%rax), %rdx
leaq -0x31ee3(%rip), %rcx    # 0x105c00
callq 0x103260
movq %rax, 0x118(%rsp)
cmpq $0x0, 0x118(%rsp)
je 0x137f70
cmpq $0x1, 0x238(%rsp)
jne 0x137cd5
movq 0x200(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0x108(%rsp)
movq 0x200(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x110(%rsp)
leaq -0x20025(%rip), %rax    # 0x117b20
cmpq %rax, 0x118(%rsp)
jne 0x137c2d
movq 0x248(%rsp), %rax
movq 0x2260(%rax), %rax
movq %rax, 0xf8(%rsp)
movq 0xf8(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x100(%rsp)
movq 0x248(%rsp), %rax
movl $0x0, 0x2258(%rax)
movq 0x100(%rsp), %rax
movq 0xf8(%rsp), %rdi
callq *%rax
movq 0x108(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x110(%rsp), %rsi
callq *%rax
movq %rax, %rcx
movq 0x200(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x1f0(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x208(%rsp), %rsi
callq *%rax
movq 0x248(%rsp), %rcx
movq %rax, 0x20(%rcx)
movq 0x248(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x137c28
movq 0x210(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, (%rax)
movl $0x3, 0x254(%rsp)
jmp 0x138971
jmp 0x137b7d
jmp 0x137c2f
movq 0x118(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x120(%rsp), %rsi
callq *%rax
movq 0x108(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x110(%rsp), %rsi
callq *%rax
movq %rax, %rcx
movq 0x200(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x1f0(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x208(%rsp), %rsi
callq *%rax
movq 0x248(%rsp), %rcx
movq %rax, 0x20(%rcx)
movq 0x248(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x137cd0
movq 0x210(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, (%rax)
movl $0x3, 0x254(%rsp)
jmp 0x138971
jmp 0x137c2f
cmpq $0x2, 0x238(%rsp)
jne 0x137e4e
movq 0x128(%rsp), %rax
movq 0x18(%rax), %rax
cmpq $0x0, 0x18(%rax)
jne 0x137e4e
movq 0x128(%rsp), %rax
movq %rax, 0xf0(%rsp)
movq 0x128(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0xe8(%rsp)
movq 0xf0(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0xd0(%rsp)
movq 0xe8(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0xc8(%rsp)
movq 0xf0(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0xe0(%rsp)
movq 0xe8(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0xd8(%rsp)
movq 0x118(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x120(%rsp), %rsi
callq *%rax
movq 0xd0(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0xe0(%rsp), %rsi
callq *%rax
movq %rax, %rcx
movq 0xf0(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0xc8(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0xd8(%rsp), %rsi
callq *%rax
movq %rax, %rcx
movq 0xe8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x1f0(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x208(%rsp), %rsi
callq *%rax
movq 0x248(%rsp), %rcx
movq %rax, 0x20(%rcx)
movq 0x248(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x137e49
movq 0x210(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, (%rax)
movl $0x3, 0x254(%rsp)
jmp 0x138971
jmp 0x137d7f
jmp 0x137e50
movq 0x118(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x120(%rsp), %rsi
callq *%rax
movq 0x128(%rsp), %rax
movq %rax, 0xc0(%rsp)
cmpq $0x0, 0xc0(%rsp)
je 0x137f0d
movq 0xc0(%rsp), %rax
movq (%rax), %rax
andq $0x2000000, %rax        # imm = 0x2000000
cmpq $0x0, %rax
je 0x137ef2
movq 0xc0(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0xb8(%rsp)
movq 0xb8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x248(%rsp), %rdi
movq 0xb8(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0xb0(%rsp)
movq 0xb0(%rsp), %rcx
movq 0xc0(%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0x137ef4
movq 0xc0(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0xc0(%rsp)
jmp 0x137e7a
movq 0x1f0(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x208(%rsp), %rsi
callq *%rax
movq 0x248(%rsp), %rcx
movq %rax, 0x20(%rcx)
movq 0x248(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x137f6b
movq 0x210(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, (%rax)
movl $0x3, 0x254(%rsp)
jmp 0x138971
jmp 0x137e50
cmpq $0x1, 0x238(%rsp)
jne 0x13829a
movq 0x120(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x248(%rsp), %rcx
cmpq 0x18d8(%rcx), %rax
jne 0x13829a
movq 0x120(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x13829a
movq 0x120(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x13829a
movq 0x120(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x13829a
movq 0x120(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movzwl 0x6(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
jne 0x138036
movq 0x248(%rsp), %rdi
movq 0x120(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x15cfb0
testb $0x1, %al
jne 0x138036
jmp 0x13829a
movq 0x120(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x248(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x13829a
movq 0x120(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
jne 0x1380d9
jmp 0x13808d
movq 0x248(%rsp), %rdi
movq 0xa8(%rsp), %rsi
movq 0x248(%rsp), %rax
movq 0x8(%rax), %rdx
leaq -0x324b0(%rip), %rcx    # 0x105c00
callq 0x103260
movq %rax, %rcx
movq 0xa8(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0xa8(%rsp), %rax
movzwl 0x6(%rax), %ecx
orl $0x4, %ecx
movw %cx, 0x6(%rax)
jmp 0x1380d9
movq 0xa8(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x88(%rsp)
movq 0xa8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0xa8(%rsp)
movq 0x248(%rsp), %rdi
movq 0x120(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xfc80
movq %rax, 0xa0(%rsp)
movq 0xa0(%rsp), %rax
movq 0x248(%rsp), %rcx
cmpq 0x128(%rcx), %rax
jne 0x1381b5
movq 0x248(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x248(%rsp), %rax
movq 0x1958(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x248(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x248(%rsp), %rdi
leaq 0xb8361(%rip), %rsi     # 0x1f04dd
movl $0x14, %edx
callq 0xb880
movq 0x10(%rsp), %rdi
movq %rax, %rsi
movq 0x120(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
callq 0xb830
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq 0x200(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0x90(%rsp)
movq 0x200(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x98(%rsp)
movq 0x88(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0xa8(%rsp), %rsi
callq *%rax
movq %rax, %rcx
movq 0xa0(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x90(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x98(%rsp), %rsi
callq *%rax
movq %rax, %rcx
movq 0x200(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x1f0(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x208(%rsp), %rsi
callq *%rax
movq 0x248(%rsp), %rcx
movq %rax, 0x20(%rcx)
movq 0x248(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x138295
movq 0x210(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, (%rax)
movl $0x3, 0x254(%rsp)
jmp 0x138971
jmp 0x1381e5
jmp 0x1386c2
movb $0x0, 0x7f(%rsp)
movl $0x0, 0x78(%rsp)
movq 0x218(%rsp), %rax
movq %rax, 0x80(%rsp)
movq 0x218(%rsp), %rax
movq (%rax), %rax
andq $0x4000000, %rax        # imm = 0x4000000
cmpq $0x0, %rax
jne 0x1383f0
movq 0x248(%rsp), %rdi
movq 0x248(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0x1721f0
testb $0x1, %al
jne 0x1382f9
jmp 0x1383f0
movq 0x248(%rsp), %rdi
addq $0x2190, %rdi           # imm = 0x2190
callq 0x9350
cmpl $0x0, %eax
jne 0x1383ee
movq 0x248(%rsp), %rax
movl $0x0, 0x2258(%rax)
movq 0x80(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x1383ce
movq 0x248(%rsp), %rax
movq 0x248(%rsp), %rcx
movslq 0x2258(%rcx), %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x70(%rsp)
movq 0x248(%rsp), %rdi
movq 0x80(%rsp), %rsi
callq 0xe9db0
testb $0x1, %al
jne 0x1383a0
movq 0x218(%rsp), %rax
movq (%rax), %rcx
orq $0x4000000, %rcx        # imm = 0x4000000
movq %rcx, (%rax)
movq 0x218(%rsp), %rax
movq %rax, 0x80(%rsp)
jmp 0x1383ce
movq 0x70(%rsp), %rdi
callq 0xf7f60
movq 0x80(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x80(%rsp)
movl 0x78(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x78(%rsp)
jmp 0x138328
movq 0x80(%rsp), %rax
movq 0x248(%rsp), %rcx
cmpq 0x110(%rcx), %rax
sete %al
andb $0x1, %al
movb %al, 0x7f(%rsp)
jmp 0x1383f0
movq 0x80(%rsp), %rax
cmpq 0x218(%rsp), %rax
jne 0x13844d
jmp 0x138404
movq 0x80(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x13844b
movq 0x248(%rsp), %rdi
movq 0x80(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0x15cfb0
testb $0x1, %al
jne 0x138433
jmp 0x13844b
jmp 0x138435
movq 0x80(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x80(%rsp)
jmp 0x138404
jmp 0x13844d
movq 0x80(%rsp), %rax
movq 0x248(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x1386c0
testb $0x1, 0x7f(%rsp)
jne 0x138492
movq 0x248(%rsp), %rdi
movq 0x218(%rsp), %rsi
movq 0x248(%rsp), %rax
movq 0x8(%rax), %rdx
callq 0x164800
cmpq $0x0, 0x200(%rsp)
je 0x1384c7
movq 0x200(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0x58(%rsp)
movq 0x200(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x60(%rsp)
jmp 0x1384c9
testb $0x1, 0x7f(%rsp)
je 0x13854d
movq 0x248(%rsp), %rax
movl $0x0, 0x2258(%rax)
movl $0x0, 0x6c(%rsp)
movl 0x6c(%rsp), %eax
cmpl 0x78(%rsp), %eax
jge 0x13854b
movq 0x248(%rsp), %rax
movq 0x248(%rsp), %rcx
movslq 0x2258(%rcx), %rcx
movq 0x2260(%rax,%rcx,8), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq (%rax), %rax
movq 0x50(%rsp), %rdi
callq *%rax
movq 0x248(%rsp), %rax
movl 0x2258(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2258(%rax)
movl 0x6c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x6c(%rsp)
jmp 0x1384ea
jmp 0x1385b3
movq 0x218(%rsp), %rax
movq %rax, 0x80(%rsp)
movq 0x80(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x1385b1
movq 0x80(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x248(%rsp), %rdi
movq 0x48(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x40(%rsp)
movq 0x80(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x80(%rsp)
jmp 0x13855d
jmp 0x1385b3
cmpq $0x1, 0x238(%rsp)
jne 0x1385e3
movq 0x58(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x60(%rsp), %rsi
callq *%rax
movq %rax, %rcx
movq 0x200(%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0x13865d
movq 0x128(%rsp), %rax
movq %rax, 0x38(%rsp)
cmpq $0x0, 0x38(%rsp)
je 0x13865b
movq 0x38(%rsp), %rax
movq (%rax), %rax
andq $0x2000000, %rax        # imm = 0x2000000
cmpq $0x0, %rax
je 0x138649
movq 0x38(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x248(%rsp), %rdi
movq 0x30(%rsp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0x13864b
movq 0x38(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x38(%rsp)
jmp 0x1385f0
jmp 0x13865d
movq 0x1f0(%rsp), %rax
movq 0x248(%rsp), %rdi
movq 0x208(%rsp), %rsi
callq *%rax
movq 0x248(%rsp), %rcx
movq %rax, 0x20(%rcx)
movq 0x248(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0x1386bb
movq 0x210(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, (%rax)
movl $0x3, 0x254(%rsp)
jmp 0x138971
jmp 0x1384c9
jmp 0x1386c2
jmp 0x1386c4
movq 0x218(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x248(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x138888
movq 0x218(%rsp), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x138888
movq 0x218(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x218(%rsp)
movq 0x218(%rsp), %rax
movzwl (%rax), %eax
cmpl $0x201, %eax            # imm = 0x201
je 0x13873d
movq 0x218(%rsp), %rax
movq 0x8(%rax), %rax
movzwl (%rax), %eax
cmpl $0x20a, %eax            # imm = 0x20A
jne 0x138886
jmp 0x13873f
movq 0x248(%rsp), %rax
movq (%rax), %rcx
movq 0x248(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq 0x248(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x248(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x248(%rsp), %rax
movq 0x50(%rax), %rax
movl $0x2f4, %ecx            # imm = 0x2F4
movq %rcx, 0x18(%rax)
movq 0x248(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x218(%rsp), %rax
movzwl (%rax), %eax
cmpl $0x201, %eax            # imm = 0x201
jne 0x1387cf
movq 0x218(%rsp), %rax
movzwl 0x4(%rax), %eax
movl %eax, %ecx
movq 0x248(%rsp), %rax
movq %rcx, 0x18(%rax)
jmp 0x138863
movq 0x218(%rsp), %rax
movzwl (%rax), %eax
cmpl $0x201, %eax            # imm = 0x201
jne 0x1387f4
movq 0x218(%rsp), %rax
movzwl 0x4(%rax), %eax
movq %rax, 0x8(%rsp)
jmp 0x138811
movq 0x218(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x248(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x248(%rsp), %rax
movq 0x18(%rax), %rax
movw %ax, %cx
movq 0x218(%rsp), %rax
movw %cx, 0x4(%rax)
movq 0x218(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x218(%rsp), %rax
movq %rcx, (%rax)
jmp 0x138863
movq 0x218(%rsp), %rcx
movq 0x248(%rsp), %rax
movq %rcx, (%rax)
movl $0x9, 0x254(%rsp)
jmp 0x138971
jmp 0x138888
jmp 0x13888a
movq 0x1f8(%rsp), %rax
movw $0x2f7, 0x4(%rax)       # imm = 0x2F7
movq 0x1f8(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x1f8(%rsp), %rax
movq %rcx, (%rax)
movq 0x248(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, (%rax)
movq 0x1f8(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x248(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq 0x248(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x248(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x248(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rdx
movq 0x248(%rsp), %rax
movq 0x110(%rax), %rsi
movl $0x2f3, %eax            # imm = 0x2F3
movl $0x2f4, %ecx            # imm = 0x2F4
cmpq %rsi, %rdx
cmovel %ecx, %eax
movslq %eax, %rcx
movq 0x248(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x248(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movl $0x1, 0x254(%rsp)
movl 0x254(%rsp), %eax
addq $0x258, %rsp            # imm = 0x258
retq