// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: check_set
static inline s7_pointer check_set(s7_scheme *sc)
                {
                    s7_pointer form;
                    form = sc->code;
                    /* fprintf(stderr, "check_set: %s\n", DISPLAY_80(sc->code)); */
                    sc->code = cdr(sc->code);

                    if (!is_pair(sc->code))
                    {
                        if (is_null(sc->code))                                             /* (set!) */
                            eval_error(sc, "set!: not enough arguments: ~A", 30, form);
                        eval_error(sc, "set!: stray dot? ~A",19,  form);                   /* (set! . 1) */
                    }
                    if (!is_pair(cdr(sc->code)))
                    {
                        if (is_null(cdr(sc->code)))                                        /* (set! var) */
                            eval_error(sc, "set!: not enough arguments: ~A", 30, form);
                        eval_error(sc, "set!: stray dot? ~A", 19, form);                   /* (set! var . 1) */
                    }
                    if (is_not_null(cddr(sc->code)))                                       /* (set! var 1 2) */
                        eval_error(sc, "~A: too many arguments to set!", 30, form);

                    /* cadr (the value) has not yet been evaluated */

                    if (is_pair(car(sc->code)))
                    {
                        if (is_pair(caar(sc->code)))
                        {
                            if (!is_list(cdar(sc->code)))                                 /* (set! ('(1 2) . 0) 1) */
                                eval_error(sc, "improper list of args to set!: ~A", 33, form);
                        }
                        if (!s7_is_proper_list(sc, car(sc->code)))                        /* (set! ("hi" . 1) #\a) or (set! (#(1 2) . 1) 0) */
                            eval_error(sc, "set! target is an improper list: (set! ~A ...)", 46, car(sc->code));
                    }
                    else
                    {
                        if (!is_symbol(car(sc->code)))                                    /* (set! 12345 1) */
                            eval_error(sc, "set! can't change ~S", 20, car(sc->code));
                        else
                        {
                            if (is_constant_symbol(sc, car(sc->code)))                    /* (set! pi 3) */
                                eval_error(sc, "set!: can't alter constant binding: ~S", 38, car(sc->code));
                        }
                    }

                    if (is_pair(car(sc->code)))
                    {
                        /* here we have (set! (...) ...) */
                        s7_pointer inner, value;
                        inner = car(sc->code);
                        value = cadr(sc->code);

                        pair_set_syntax_op(form, OP_SET_UNCHECKED);
                        if (is_symbol(car(inner)))
                        {
                            if ((is_null(cdr(inner))) &&
                                    (!is_pair(value)) &&
                                    (is_global(car(inner))) &&
                                    (is_c_function(slot_value(global_slot(car(inner))))) &&
                                    (c_function_required_args(slot_value(global_slot(car(inner)))) == 0))
                                pair_set_syntax_op(form, OP_SET_PWS);
                            else
                            {
                                if ((is_pair(cdr(inner))) &&
                                        (!is_pair(cddr(inner)))) /* we check cddr(sc->code) above */  /* this leaves (set! (vect i j) 1) unhandled so we go to OP_SET_UNCHECKED */
                                {
                                    if (!is_pair(cadr(inner)))
                                    {
                                        /* (set! (f s) ...) */
                                        if (!is_pair(value))
                                        {
                                            pair_set_syntax_op(form, OP_SET_PAIR);
                                            if (is_symbol(car(inner)))
                                                set_dilambda_opt(sc, form, OP_SET_DILAMBDA, inner);
                                        }
                                        else pair_set_syntax_op(form, OP_SET_PAIR_P);  /* splice_in_values protects us here from values */

                                        if (!is_fxable(sc, value))
                                        {
                                            if (is_symbol(car(inner)))
                                                set_dilambda_opt(sc, form, OP_SET_DILAMBDA_P, inner);
                                        }
                                        else
                                        {
                                            s7_pointer obj;
                                            obj = lookup_checked(sc, car(inner)); /* might be (set! (undefined-var ...)...) */

                                            if (((is_c_function(obj)) && (car(inner) != make_symbol(sc, c_function_name(obj)))) ||
                                                    ((is_closure(obj)) && (car(inner) != closure_name(sc, obj))) ||
                                                    ((!is_c_function(obj)) && (!is_closure(obj))))
                                            {
                                                sc->code = form;
                                                return(sc->code);
                                            }

                                            annotate_arg(sc, cdr(sc->code), sc->envir);
                                            pair_set_syntax_op(form, OP_SET_PAIR_ZA);
                                            if ((is_c_function(obj)) &&
                                                    (is_c_function(c_function_setter(obj))))
                                                pair_set_syntax_op(form, OP_SET_PAIR_A);
                                            else
                                            {
                                                if (is_symbol(cadr(inner)))
                                                {
                                                    if (!has_fx(cdr(sc->code)))
                                                        annotate_arg(sc, cdr(sc->code), sc->envir);

                                                    if ((is_closure(obj)) &&
                                                            (is_closure(closure_setter(obj))) &&
                                                            (is_safe_closure(closure_setter(obj))))
                                                    {
                                                        s7_pointer setter, body;
                                                        setter = closure_setter(obj);
                                                        body = closure_body(setter);
                                                        if ((is_proper_list_1(sc, body)) &&
                                                                ((has_fx(car(body))) || (is_fxable(sc, car(body)))))
                                                        {
                                                            s7_pointer setter_args;
                                                            if (!has_fx(body))
                                                            {
                                                                annotate_arg(sc, body, sc->envir);
                                                                set_closure_has_fx(setter);
                                                            }
                                                            setter_args = closure_args(setter);
                                                            if ((is_pair(setter_args)) && (is_pair(cdr(setter_args))) && (is_null(cddr(setter_args))))
                                                                fx_tree(sc, body, car(setter_args), cadr(setter_args));

                                                            pair_set_syntax_op(form, OP_SET_DILAMBDA_SA_A);
                                                            if ((!(is_let(closure_let(setter)))) ||
                                                                    (!(is_funclet(closure_let(setter)))))
                                                                make_funclet(sc, setter, car(inner), closure_let(setter));
                                                        }}}}}}
                                    else
                                    {
                                        if ((caadr(inner) == sc->quote_symbol) &&
                                                (is_symbol(car(inner))) &&
                                                ((is_normal_symbol(value)) ||
                                                 (is_fxable(sc, value))))
                                        {
                                            if (is_safe_symbol(value))
                                                pair_set_syntax_op(form, OP_SET_LET_S);
                                            else
                                            {
                                                pair_set_syntax_op(form, OP_SET_LET_FX);
                                                set_c_call(cdr(sc->code), fx_choose(sc, cdr(sc->code), sc->envir, let_symbol_is_safe));
                                            }}}}}}
                        sc->code = form;
                        return(sc->code);
                    }

                    pair_set_syntax_op(form, OP_SET_NORMAL);
                    if (is_symbol(car(sc->code)))
                    {
                        s7_pointer settee, value;
                        settee = car(sc->code);
                        value = cadr(sc->code);

                        if ((!symbol_has_setter(settee)) &&
                                (!is_syntactic_symbol(settee)))
                        {
                            if (is_normal_symbol(value))
                            {
                                if (is_slot(symbol_to_slot(sc, value)))
                                {
                                    pair_set_syntax_op(form, OP_SET_SYMBOL_S);
                                    set_opt2_sym(sc->code, value);
                                }
                            }
                            else
                            {
                                if ((!is_pair(value)) ||
                                        ((car(value) == sc->quote_symbol) && (is_pair(cdr(value))))) /* (quote . 1) ? */
                                {
                                    pair_set_syntax_op(form, OP_SET_SYMBOL_C);
                                    set_opt2_con(sc->code, (is_pair(value)) ? cadr(value) : value);
                                }
                                else
                                {
                                    /* if cadr(cadr) == car, or cdr(cadr) not null and cadr(cadr) == car, and cddr(cadr) == null,
                                     *   it's (set! <var> (<op> <var> val)) or (<op> val <var>) or (<op> <var>)
                                     *   in the set code, we get the slot as usual, then in case 1 above,
                                     *   car(sc->t2_1) = slot_value(slot), car(sc->t2_2) = increment, call <op>, set slot_value(slot)
                                     * this can be done in all combined cases where a symbol is repeated (do in particular)
                                     */

                                    /* (define (hi) (let ((x 1)) (set! x (+ x 1))))
                                     *   but the value might be values:
                                     *   (let () (define (hi) (let ((x 0)) (set! x (values 1 2)) x)) (catch #t hi (lambda a a)) (hi))
                                     *   which is caught in splice_in_values
                                     */
                                    pair_set_syntax_op(form, OP_SET_SYMBOL_P);
                                    if (is_optimized(value))
                                    {
                                        if (optimize_op(value) == HOP_SAFE_C_D)
                                        {
                                            pair_set_syntax_op(form, OP_SET_SYMBOL_A);
                                            annotate_arg(sc, cdr(sc->code), sc->envir);
                                        }
                                        else
                                        {
                                            /* most of these special cases probably don't matter; set_symbol_opscq called 500k times barely registered in callgrind */
                                            if (optimize_op(value) == HOP_SAFE_C_SS)
                                            {
                                                if (settee == cadr(value))
                                                {
                                                    pair_set_syntax_op(form, OP_INCREMENT_SS);
                                                    set_opt2_sym(sc->code, caddr(value));
                                                }
                                                else
                                                {
                                                    pair_set_syntax_op(form, OP_SET_SYMBOL_A);
                                                    annotate_arg(sc, cdr(sc->code), sc->envir);
                                                }
                                            }
                                            else
                                            {
                                                if (is_fxable(sc, value)) /* value = cadr(sc->code) */
                                                {
                                                    pair_set_syntax_op(form, OP_SET_SYMBOL_A);
                                                    annotate_arg(sc, cdr(sc->code), sc->envir);
                                                }
                                                if ((is_safe_c_op(optimize_op(value))) &&
                                                        (is_pair(cdr(value))) &&
                                                        (settee == cadr(value)) &&
                                                        (!is_null(cddr(value))))
                                                {
                                                    if (is_null(cdddr(value)))
                                                    {
                                                        if (is_fxable(sc, caddr(value)))
                                                        {
                                                            pair_set_syntax_op(form, OP_INCREMENT_SA);
                                                            annotate_arg(sc, cddr(value), sc->envir); /* this sets c_callee(arg) */
                                                            /* increment_sc does not happen much here */
                                                            set_opt2_pair(sc->code, cddr(value));
                                                        }
                                                        else
                                                        {
                                                            pair_set_syntax_op(form, OP_INCREMENT_SP);
                                                            set_opt2_pair(sc->code, caddr(value));
                                                        }
                                                    }
                                                    else
                                                    {
                                                        if ((is_null(cddddr(value))) &&
                                                                (is_fxable(sc, caddr(value))) &&
                                                                (is_fxable(sc, cadddr(value))))
                                                        {
                                                            pair_set_syntax_op(form, OP_INCREMENT_SAA);
                                                            annotate_arg(sc, cddr(value), sc->envir);
                                                            annotate_arg(sc, cdddr(value), sc->envir);
                                                            set_opt2_pair(sc->code, cddr(value));
                                                        }}}}}}
                                    if ((is_h_optimized(value)) &&
                                            (!is_unsafe(value)) &&                   /* is_unsafe(value) can happen! */
                                            (is_not_null(cdr(value))))               /* (set! x (y)) */
                                    {
                                        if (is_not_null(cddr(value)))
                                        {
                                            if ((caddr(value) == small_int(1)) &&
                                                    (cadr(value) == settee))
                                            {
                                                if (opt1_cfunc(value) == sc->add_x1)
                                                    pair_set_syntax_op(form, OP_INCREMENT_1);
                                                else
                                                {
                                                    if (opt1_cfunc(value) == sc->subtract_s1)
                                                        pair_set_syntax_op(form, OP_DECREMENT_1);
                                                }
                                            }
                                            else
                                            {
                                                if ((cadr(value) == small_int(1)) &&
                                                        (caddr(value) == settee) &&
                                                        (opt1_cfunc(value) == sc->add_1x))
                                                    pair_set_syntax_op(form, OP_INCREMENT_1);
                                                else
                                                {
                                                    if ((settee == caddr(value)) &&
                                                            (is_safe_symbol(cadr(value))) &&
                                                            (caadr(sc->code) == sc->cons_symbol))
                                                    {
                                                        pair_set_syntax_op(form, OP_SET_CONS);
                                                        set_opt2_sym(sc->code, cadr(value));
                                                    }}}}}}}}}
                    sc->code = form;
                    return(sc->code);
                }

// Assembly:
subq $0x168, %rsp            # imm = 0x168
movq %rdi, 0x158(%rsp)
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x150(%rsp)
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x158(%rsp), %rax
movq %rcx, (%rax)
movq 0x158(%rsp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
je 0x14438d
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x144300
movq 0x158(%rsp), %rax
movq %rax, 0xf0(%rsp)
movq 0x158(%rsp), %rax
movq 0x1918(%rax), %rax
movq %rax, 0xf8(%rsp)
movq 0x158(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0x158(%rsp), %rdi
leaq 0xac2b2(%rip), %rsi     # 0x1f056b
movl $0x1e, %edx
callq 0xb880
movq 0xe8(%rsp), %rdi
movq %rax, %rsi
movq 0x150(%rsp), %rdx
callq 0xb830
movq 0xf0(%rsp), %rdi
movq 0xf8(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq %rax, 0x160(%rsp)
jmp 0x145bad
movq 0x158(%rsp), %rax
movq %rax, 0xd8(%rsp)
movq 0x158(%rsp), %rax
movq 0x1918(%rax), %rax
movq %rax, 0xe0(%rsp)
movq 0x158(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq 0x158(%rsp), %rdi
leaq 0xac244(%rip), %rsi     # 0x1f058a
movl $0x13, %edx
callq 0xb880
movq 0xd0(%rsp), %rdi
movq %rax, %rsi
movq 0x150(%rsp), %rdx
callq 0xb830
movq 0xd8(%rsp), %rdi
movq 0xe0(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq %rax, 0x160(%rsp)
jmp 0x145bad
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
je 0x1444e6
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x144459
movq 0x158(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0x158(%rsp), %rax
movq 0x1918(%rax), %rax
movq %rax, 0xc8(%rsp)
movq 0x158(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x158(%rsp), %rdi
leaq 0xac159(%rip), %rsi     # 0x1f056b
movl $0x1e, %edx
callq 0xb880
movq 0xb8(%rsp), %rdi
movq %rax, %rsi
movq 0x150(%rsp), %rdx
callq 0xb830
movq 0xc0(%rsp), %rdi
movq 0xc8(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq %rax, 0x160(%rsp)
jmp 0x145bad
movq 0x158(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq 0x158(%rsp), %rax
movq 0x1918(%rax), %rax
movq %rax, 0xb0(%rsp)
movq 0x158(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0x158(%rsp), %rdi
leaq 0xac0eb(%rip), %rsi     # 0x1f058a
movl $0x13, %edx
callq 0xb880
movq 0xa0(%rsp), %rdi
movq %rax, %rsi
movq 0x150(%rsp), %rdx
callq 0xb830
movq 0xa8(%rsp), %rdi
movq 0xb0(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq %rax, 0x160(%rsp)
jmp 0x145bad
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x110(%rcx), %rax
je 0x14459b
movq 0x158(%rsp), %rax
movq %rax, 0x90(%rsp)
movq 0x158(%rsp), %rax
movq 0x1918(%rax), %rax
movq %rax, 0x98(%rsp)
movq 0x158(%rsp), %rax
movq %rax, 0x88(%rsp)
movq 0x158(%rsp), %rdi
leaq 0xac04a(%rip), %rsi     # 0x1f059e
movl $0x1e, %edx
callq 0xb880
movq 0x88(%rsp), %rdi
movq %rax, %rsi
movq 0x150(%rsp), %rdx
callq 0xb830
movq 0x90(%rsp), %rdi
movq 0x98(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq %rax, 0x160(%rsp)
jmp 0x145bad
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x144741
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x144696
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
je 0x144694
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x2, %eax
je 0x144694
movq 0x158(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0x158(%rsp), %rax
movq 0x1918(%rax), %rax
movq %rax, 0x80(%rsp)
movq 0x158(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0x158(%rsp), %rdi
leaq 0xabf6a(%rip), %rsi     # 0x1f05bd
movl $0x21, %edx
callq 0xb880
movq 0x70(%rsp), %rdi
movq %rax, %rsi
movq 0x150(%rsp), %rdx
callq 0xb830
movq 0x78(%rsp), %rdi
movq 0x80(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq %rax, 0x160(%rsp)
jmp 0x145bad
jmp 0x144696
movq 0x158(%rsp), %rdi
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0x31a40
testb $0x1, %al
jne 0x14473c
movq 0x158(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x158(%rsp), %rax
movq 0x1918(%rax), %rax
movq %rax, 0x68(%rsp)
movq 0x158(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x158(%rsp), %rdi
leaq 0xabee8(%rip), %rsi     # 0x1f05df
movl $0x2e, %edx
callq 0xb880
movq 0x58(%rsp), %rdi
movq %rax, %rsi
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rdx
callq 0xb830
movq 0x60(%rsp), %rdi
movq 0x68(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq %rax, 0x160(%rsp)
jmp 0x145bad
jmp 0x144889
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
je 0x1447de
movq 0x158(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x158(%rsp), %rax
movq 0x1918(%rax), %rax
movq %rax, 0x50(%rsp)
movq 0x158(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x158(%rsp), %rdi
leaq 0xabe75(%rip), %rsi     # 0x1f060e
movl $0x14, %edx
callq 0xb880
movq 0x40(%rsp), %rdi
movq %rax, %rsi
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rdx
callq 0xb830
movq 0x48(%rsp), %rdi
movq 0x50(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq %rax, 0x160(%rsp)
jmp 0x145bad
movq 0x158(%rsp), %rdi
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0xc57c0
testb $0x1, %al
jne 0x144803
jmp 0x144885
movq 0x158(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x158(%rsp), %rax
movq 0x1918(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x158(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x158(%rsp), %rdi
leaq 0xabde3(%rip), %rsi     # 0x1f0623
movl $0x26, %edx
callq 0xb880
movq 0x28(%rsp), %rdi
movq %rax, %rsi
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rdx
callq 0xb830
movq 0x30(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq %rax, 0x160(%rsp)
jmp 0x145bad
jmp 0x144887
jmp 0x144889
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x145191
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x148(%rsp)
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x140(%rsp)
movq 0x150(%rsp), %rax
movw $0x219, 0x4(%rax)       # imm = 0x219
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x145166
movq 0x148(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x1449e0
movq 0x140(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
je 0x1449e0
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
andq $0x10000, %rax          # imm = 0x10000
cmpq $0x0, %rax
je 0x1449e0
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x30, %eax
jl 0x1449e0
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
cmpq $0x0, 0x18(%rax)
jne 0x1449e0
jmp 0x1449a9
movq 0x150(%rsp), %rax
movw $0x229, 0x4(%rax)       # imm = 0x229
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
jmp 0x145164
movq 0x148(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x145162
movq 0x148(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
je 0x145162
movq 0x148(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
je 0x144fda
movq 0x140(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
je 0x144aac
jmp 0x144a42
movq 0x150(%rsp), %rax
movw $0x21f, 0x4(%rax)       # imm = 0x21F
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x144aaa
movq 0x158(%rsp), %rdi
movq 0x150(%rsp), %rsi
movq 0x148(%rsp), %rcx
movl $0x220, %edx            # imm = 0x220
callq 0x18d5c0
jmp 0x144ae2
jmp 0x144aae
movq 0x150(%rsp), %rax
movw $0x225, 0x4(%rax)       # imm = 0x225
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
jmp 0x144ae2
movq 0x158(%rsp), %rdi
movq 0x140(%rsp), %rsi
callq 0x15cfb0
testb $0x1, %al
jne 0x144b36
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x144b31
movq 0x158(%rsp), %rdi
movq 0x150(%rsp), %rsi
movq 0x148(%rsp), %rcx
movl $0x221, %edx            # imm = 0x221
callq 0x18d5c0
jmp 0x144fd5
movq 0x158(%rsp), %rdi
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0xde990
movq %rax, 0x130(%rsp)
cmpq $0x0, 0x130(%rsp)
je 0x144b71
movq 0x130(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x144b8f
movq 0x158(%rsp), %rdi
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0xdead0
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x128(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x138(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x30, %eax
jl 0x144bf6
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x158(%rsp), %rdi
movq 0x138(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rsi
callq 0xb400
movq %rax, %rcx
movq 0x18(%rsp), %rax
cmpq %rcx, %rax
jne 0x144c59
movq 0x138(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x28, %eax
jne 0x144c39
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x158(%rsp), %rdi
movq 0x138(%rsp), %rsi
callq 0x169b30
movq %rax, %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
jne 0x144c59
movq 0x138(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x30, %eax
jge 0x144c84
movq 0x138(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x28, %eax
je 0x144c84
movq 0x150(%rsp), %rcx
movq 0x158(%rsp), %rax
movq %rcx, (%rax)
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x160(%rsp)
jmp 0x145bad
movq 0x158(%rsp), %rdi
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rsi
movq 0x158(%rsp), %rax
movq 0x8(%rax), %rdx
callq 0x15d020
movq 0x150(%rsp), %rax
movw $0x226, 0x4(%rax)       # imm = 0x226
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x138(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x30, %eax
jl 0x144d3f
movq 0x138(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x30(%rax), %rax
movzbl (%rax), %eax
cmpl $0x30, %eax
jl 0x144d3f
jmp 0x144d08
movq 0x150(%rsp), %rax
movw $0x224, 0x4(%rax)       # imm = 0x224
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
jmp 0x144fd3
movq 0x148(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x144fd1
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movzwl 0x6(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
jne 0x144d9e
movq 0x158(%rsp), %rdi
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rsi
movq 0x158(%rsp), %rax
movq 0x8(%rax), %rdx
callq 0x15d020
movq 0x138(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x28, %eax
jne 0x144fcf
movq 0x138(%rsp), %rax
movq 0x20(%rax), %rax
movzbl (%rax), %eax
cmpl $0x28, %eax
jne 0x144fcf
movq 0x138(%rsp), %rax
movq 0x20(%rax), %rax
movzwl (%rax), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x144fcf
movq 0x138(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x120(%rsp)
movq 0x120(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x118(%rsp)
movq 0x158(%rsp), %rdi
movq 0x118(%rsp), %rsi
callq 0xfd500
testb $0x1, %al
jne 0x144e2d
jmp 0x144fcd
movq 0x118(%rsp), %rax
movq 0x8(%rax), %rax
movzwl 0x6(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
jne 0x144e67
movq 0x158(%rsp), %rdi
movq 0x118(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0x15cfb0
testb $0x1, %al
jne 0x144e67
jmp 0x144fcd
movq 0x118(%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
jne 0x144eb1
movq 0x158(%rsp), %rdi
movq 0x118(%rsp), %rsi
movq 0x158(%rsp), %rax
movq 0x8(%rax), %rdx
callq 0x15d020
movq 0x120(%rsp), %rax
movq (%rax), %rcx
orq $0x500, %rcx            # imm = 0x500
movq %rcx, (%rax)
movq 0x120(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x110(%rsp)
movq 0x110(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x144f3b
movq 0x110(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x144f3b
movq 0x110(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x144f3b
movq 0x158(%rsp), %rdi
movq 0x118(%rsp), %rsi
movq 0x110(%rsp), %rax
movq 0x8(%rax), %rdx
movq 0x110(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
callq 0x15d170
jmp 0x144f3d
movq 0x150(%rsp), %rax
movw $0x223, 0x4(%rax)       # imm = 0x223
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x120(%rsp), %rax
movq 0x18(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1c, %eax
jne 0x144f9e
movq 0x120(%rsp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rax
andq $0x20000000, %rax       # imm = 0x20000000
cmpq $0x0, %rax
jne 0x144fcb
movq 0x158(%rsp), %rdi
movq 0x120(%rsp), %rsi
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rdx
movq 0x120(%rsp), %rax
movq 0x18(%rax), %rcx
callq 0x18bcc0
jmp 0x144fcd
jmp 0x144fcf
jmp 0x144fd1
jmp 0x144fd3
jmp 0x144fd5
jmp 0x145160
movq 0x148(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x17b0(%rcx), %rax
jne 0x14515e
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x14515e
movq 0x140(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x145041
movq 0x140(%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x14505f
movq 0x158(%rsp), %rdi
movq 0x140(%rsp), %rsi
callq 0x15cfb0
testb $0x1, %al
jne 0x14505f
jmp 0x14515e
movq 0x140(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x1450c5
movq 0x158(%rsp), %rdi
movq 0x140(%rsp), %rsi
callq 0xfc80
movzbl (%rax), %eax
cmpl $0x20, %eax
jne 0x1450c5
jmp 0x14508e
movq 0x150(%rsp), %rax
movw $0x22a, 0x4(%rax)       # imm = 0x22A
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
jmp 0x14515c
jmp 0x1450c7
movq 0x150(%rsp), %rax
movw $0x22b, 0x4(%rax)       # imm = 0x22B
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
jmp 0x1450fb
movq 0x158(%rsp), %rdi
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rsi
movq 0x158(%rsp), %rax
movq 0x8(%rax), %rdx
leaq -0x3f525(%rip), %rcx    # 0x105c00
callq 0x103260
movq %rax, %rcx
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x20(%rax)
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movzwl 0x6(%rax), %ecx
orl $0x4, %ecx
movw %cx, 0x6(%rax)
jmp 0x14515c
jmp 0x14515e
jmp 0x145160
jmp 0x145162
jmp 0x145164
jmp 0x145166
movq 0x150(%rsp), %rcx
movq 0x158(%rsp), %rax
movq %rcx, (%rax)
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x160(%rsp)
jmp 0x145bad
jmp 0x145193
movq 0x150(%rsp), %rax
movw $0x21e, 0x4(%rax)       # imm = 0x21E
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x145b87
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x108(%rsp)
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x100(%rsp)
movq 0x108(%rsp), %rax
movq (%rax), %rax
andq $0x40000, %rax          # imm = 0x40000
cmpq $0x0, %rax
jne 0x145b85
movq 0x108(%rsp), %rax
movzwl (%rax), %eax
cmpl $0x20a, %eax            # imm = 0x20A
je 0x145b85
movq 0x100(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x1452da
movq 0x100(%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
jne 0x1452da
movq 0x158(%rsp), %rdi
movq 0x100(%rsp), %rsi
callq 0xfc80
movzbl (%rax), %eax
cmpl $0x20, %eax
jne 0x1452d5
jmp 0x14528c
movq 0x150(%rsp), %rax
movw $0x21b, 0x4(%rax)       # imm = 0x21B
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x100(%rsp), %rcx
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x20(%rax)
jmp 0x145b83
movq 0x100(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x145323
movq 0x100(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x17b0(%rcx), %rax
jne 0x1453a4
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x1453a4
jmp 0x145325
movq 0x150(%rsp), %rax
movw $0x21a, 0x4(%rax)       # imm = 0x21A
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x100(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x14537e
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0x14538b
movq 0x100(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x20(%rax)
jmp 0x145b81
jmp 0x1453a6
movq 0x150(%rsp), %rax
movw $0x21c, 0x4(%rax)       # imm = 0x21C
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x100(%rsp), %rax
movzwl (%rax), %eax
cmpl $0x801, %eax            # imm = 0x801
jne 0x1458a9
movq 0x100(%rsp), %rax
movzwl 0x4(%rax), %eax
cmpl $0x3, %eax
jne 0x145460
jmp 0x145401
movq 0x150(%rsp), %rax
movw $0x21d, 0x4(%rax)       # imm = 0x21D
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x158(%rsp), %rdi
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rsi
movq 0x158(%rsp), %rax
movq 0x8(%rax), %rdx
callq 0x15d020
jmp 0x1458a7
movq 0x100(%rsp), %rax
movzwl 0x4(%rax), %eax
cmpl $0x7, %eax
jne 0x145549
movq 0x108(%rsp), %rax
movq 0x100(%rsp), %rcx
movq 0x10(%rcx), %rcx
cmpq 0x8(%rcx), %rax
jne 0x1454e8
jmp 0x145491
movq 0x150(%rsp), %rax
movw $0x230, 0x4(%rax)       # imm = 0x230
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x20(%rax)
jmp 0x145544
jmp 0x1454ea
movq 0x150(%rsp), %rax
movw $0x21d, 0x4(%rax)       # imm = 0x21D
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x158(%rsp), %rdi
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rsi
movq 0x158(%rsp), %rax
movq 0x8(%rax), %rdx
callq 0x15d020
jmp 0x1458a5
movq 0x158(%rsp), %rdi
movq 0x100(%rsp), %rsi
callq 0x15cfb0
testb $0x1, %al
jne 0x145564
jmp 0x1455c0
jmp 0x145566
movq 0x150(%rsp), %rax
movw $0x21d, 0x4(%rax)       # imm = 0x21D
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x158(%rsp), %rdi
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rsi
movq 0x158(%rsp), %rax
movq 0x8(%rax), %rdx
callq 0x15d020
movq 0x100(%rsp), %rax
movzwl 0x4(%rax), %eax
cmpl $0x2, %eax
jl 0x1458a3
movq 0x100(%rsp), %rax
movzwl 0x4(%rax), %eax
cmpl $0x9e, %eax
jge 0x1458a3
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x1458a3
movq 0x108(%rsp), %rax
movq 0x100(%rsp), %rcx
movq 0x10(%rcx), %rcx
cmpq 0x8(%rcx), %rax
jne 0x1458a3
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x110(%rcx), %rax
je 0x1458a3
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x145771
movq 0x158(%rsp), %rdi
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x15cfb0
testb $0x1, %al
jne 0x145697
jmp 0x145715
jmp 0x145699
movq 0x150(%rsp), %rax
movw $0x232, 0x4(%rax)       # imm = 0x232
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x158(%rsp), %rdi
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
movq 0x158(%rsp), %rax
movq 0x8(%rax), %rdx
callq 0x15d020
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x20(%rax)
jmp 0x14576c
jmp 0x145717
movq 0x150(%rsp), %rax
movw $0x231, 0x4(%rax)       # imm = 0x231
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x20(%rax)
jmp 0x1458a1
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x14589f
movq 0x158(%rsp), %rdi
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x15cfb0
testb $0x1, %al
jne 0x1457c8
jmp 0x14589f
movq 0x158(%rsp), %rdi
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0x15cfb0
testb $0x1, %al
jne 0x1457f6
jmp 0x14589f
jmp 0x1457f8
movq 0x150(%rsp), %rax
movw $0x233, 0x4(%rax)       # imm = 0x233
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x158(%rsp), %rdi
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
movq 0x158(%rsp), %rax
movq 0x8(%rax), %rdx
callq 0x15d020
movq 0x158(%rsp), %rdi
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
movq 0x158(%rsp), %rax
movq 0x8(%rax), %rdx
callq 0x15d020
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x20(%rax)
jmp 0x1458a1
jmp 0x1458a3
jmp 0x1458a5
jmp 0x1458a7
jmp 0x1458a9
movq 0x100(%rsp), %rdi
callq 0x182250
testb $0x1, %al
jne 0x1458bf
jmp 0x145b7f
movq 0x100(%rsp), %rax
movq (%rax), %rax
andq $0x800000, %rax         # imm = 0x800000
cmpq $0x0, %rax
jne 0x145b7f
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x110(%rcx), %rax
je 0x145b7f
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x110(%rcx), %rax
je 0x145b7d
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
cmpq 0xd0b4d(%rip), %rax     # 0x216488
jne 0x145a0c
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
cmpq 0x108(%rsp), %rax
jne 0x145a0c
movq 0x100(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x1a60(%rcx), %rax
jne 0x1459b2
jmp 0x14597e
movq 0x150(%rsp), %rax
movw $0x22d, 0x4(%rax)       # imm = 0x22D
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
jmp 0x145a07
movq 0x100(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x1a80(%rcx), %rax
jne 0x145a05
jmp 0x1459d1
movq 0x150(%rsp), %rax
movw $0x22e, 0x4(%rax)       # imm = 0x22E
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
jmp 0x145a05
jmp 0x145a07
jmp 0x145b7b
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
cmpq 0xd0a65(%rip), %rax     # 0x216488
jne 0x145a99
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
cmpq 0x108(%rsp), %rax
jne 0x145a99
movq 0x100(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0x1a58(%rcx), %rax
jne 0x145a99
jmp 0x145a62
movq 0x150(%rsp), %rax
movw $0x22d, 0x4(%rax)       # imm = 0x22D
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
jmp 0x145b79
movq 0x108(%rsp), %rax
movq 0x100(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x10(%rcx), %rcx
cmpq 0x8(%rcx), %rax
jne 0x145b77
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x145b77
movq 0x158(%rsp), %rdi
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
callq 0xfc80
movzbl (%rax), %eax
cmpl $0x20, %eax
jne 0x145b77
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq 0x158(%rsp), %rcx
cmpq 0xe18(%rcx), %rax
jne 0x145b77
jmp 0x145b26
movq 0x150(%rsp), %rax
movw $0x22f, 0x4(%rax)       # imm = 0x22F
movq 0x150(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x150(%rsp), %rax
movq %rcx, (%rax)
movq 0x100(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x20(%rax)
jmp 0x145b79
jmp 0x145b7b
jmp 0x145b7d
jmp 0x145b7f
jmp 0x145b81
jmp 0x145b83
jmp 0x145b85
jmp 0x145b87
movq 0x150(%rsp), %rcx
movq 0x158(%rsp), %rax
movq %rcx, (%rax)
movq 0x158(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x160(%rsp)
movq 0x160(%rsp), %rax
addq $0x168, %rsp            # imm = 0x168
retq
nopl (%rax)