// File: /workspace/github_c_makefile_star2_O3/BernardTatin[P]s7sh/s7.c
// Function: check_recur
static bool check_recur(s7_scheme *sc, s7_pointer name, int32_t vars, s7_pointer args, s7_pointer body)
                {
                    /* fprintf(stderr, "%s[%d]: %s %d %s %s\n", __func__, __LINE__, DISPLAY(name), vars, DISPLAY(args), DISPLAY(body)); */

                    if ((car(body) == sc->if_symbol) &&
                            (safe_list_length(body) == 4))
                    {
                        if ((vars == 1) || (vars == 2))
                            return(check_recur_if_one_or_two_vars(sc, name, vars, args, body));
                        if (vars == 3)
                        {
                            s7_pointer test;
                            test = cadr(body);
                            if (is_fxable(sc, test))
                            {
                                s7_pointer true_p, false_p;
                                true_p = caddr(body);
                                false_p = cadddr(body);
                                if ((is_fxable(sc, true_p)) &&
                                        (is_proper_list_4(sc, false_p)) &&
                                        (car(false_p) == name))
                                {
                                    s7_pointer l3a, la1, la2, la3;
                                    l3a = cdr(false_p);
                                    la1 = car(l3a);
                                    la2 = cadr(l3a);
                                    la3 = caddr(l3a);
                                    if ((is_proper_list_4(sc, la1)) && (is_proper_list_4(sc, la2)) && (is_proper_list_4(sc, la3)) &&
                                            (car(la1) == name) && (car(la2) == name) && (car(la3) == name) &&
                                            (is_fxable(sc, cadr(la1))) && (is_fxable(sc, cadr(la2))) && (is_fxable(sc, cadr(la3))) &&
                                            (is_fxable(sc, caddr(la1))) && (is_fxable(sc, caddr(la2))) && (is_fxable(sc, caddr(la3))) &&
                                            (is_fxable(sc, cadddr(la1))) && (is_fxable(sc, cadddr(la2))) && (is_fxable(sc, cadddr(la3))))
                                    {
                                        set_safe_optimize_op(body, OP_RECUR_IF_A_A_LopL3A_L3A_L3Aq);
                                        annotate_args(sc, cdr(la1), args);
                                        annotate_args(sc, cdr(la2), args);
                                        annotate_args(sc, cdr(la3), args);
                                        annotate_arg(sc, cdr(body), args);
                                        annotate_arg(sc, cddr(body), args);
                                        fx_tree(sc, cdr(body), car(args), cadr(args));
                                        set_opt3_pair(body, false_p);
                                        set_opt3_pair(false_p, la3);
                                        return(true);
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        if (car(body) == sc->cond_symbol)
                        {
                            s7_pointer clause, clause2 = NULL;
                            clause = cadr(body);
                            if ((is_proper_list_1(sc, (cdr(clause)))) &&
                                    (is_fxable(sc, car(clause))) &&
                                    (is_fxable(sc, cadr(clause))))
                            {
                                s7_pointer la_clause;
                                s7_int len;
                                len = safe_list_length(body);
                                la_clause = caddr(body);
                                if (len == 4)
                                {
                                    if ((is_proper_list_2(sc, la_clause)) &&
                                            (is_fxable(sc, car(la_clause))))
                                    {
                                        clause2 = la_clause;
                                        la_clause = cadddr(body);
                                    }
                                    else
                                    {
                                        /* if (!(sc->got_tc)) fprintf(stderr, "%s[%d]: %s %s\n%s\n\n", __func__, __LINE__, DISPLAY(name), DISPLAY(args), DISPLAY(body)); */
                                        return(false);
                                    }
                                }
                                if ((is_proper_list_2(sc, la_clause)) &&
                                        ((car(la_clause) == sc->else_symbol) || (car(la_clause) == sc->T)) &&
                                        (is_pair(cadr(la_clause))))
                                {
                                    la_clause = cadr(la_clause); /* (c_op arg (recur par)) or (c_op (recur) (recur)) or (op|l a laa) */
                                    if (is_proper_list_2(sc, cdr(la_clause)))
                                    {
                                        if (is_h_optimized(la_clause))
                                        {
                                            if ((is_fxable(sc, cadr(la_clause))) &&
                                                    ((len == 3) ||
                                                     ((len == 4) && (vars == 2) &&
                                                      (is_proper_list_3(sc, cadr(clause2))) &&
                                                      (caadr(clause2) == name))))
                                            {
                                                s7_pointer la;
                                                la = caddr(la_clause);
                                                if ((is_pair(la)) &&
                                                        (car(la) == name) &&
                                                        (is_pair(cdr(la))) &&
                                                        (is_fxable(sc, cadr(la))) &&
                                                        (((vars == 1) && (is_null(cddr(la)))) ||
                                                         ((vars == 2) &&
                                                          (is_pair(cddr(la))) &&
                                                          (is_fxable(sc, caddr(la))) &&
                                                          (is_null(cdddr(la))))))
                                                {
                                                    if (len == 3)
                                                        set_safe_optimize_op(body, (vars == 1) ? OP_RECUR_COND_A_A_opA_LAq : OP_RECUR_COND_A_A_opA_LAAq);
                                                    else
                                                    {
                                                        s7_pointer laa;
                                                        laa = cadr(clause2);
                                                        if ((is_fxable(sc, cadr(laa))) && /* args to first laa */
                                                                (is_fxable(sc, caddr(laa))))
                                                        {
                                                            set_safe_optimize_op(body, OP_RECUR_COND_A_A_A_LAA_opA_LAAq);
                                                            annotate_arg(sc, clause2, args);
                                                            annotate_args(sc, cdr(laa), args);
                                                        }
                                                        else return(false);
                                                    }
                                                    annotate_args(sc, clause, args);
                                                    annotate_arg(sc, cdr(la_clause), args);
                                                    annotate_args(sc, cdr(la), args);
                                                    fx_tree(sc, cdr(body), car(args), (vars == 1) ? NULL : cadr(args));
                                                    set_opt3_pair(body, la_clause);
                                                    set_opt3_pair(la_clause, la);
                                                    return(true);
                                                }
                                            }
                                            else
                                            {
                                                if (len == 4)
                                                {
                                                    s7_pointer la1, la2;
                                                    bool happy = false;
                                                    la1 = cadr(la_clause);
                                                    la2 = caddr(la_clause);

                                                    if ((vars == 1) &&
                                                            (is_proper_list_2(sc, la1)) && (is_proper_list_2(sc, la2)) &&
                                                            (car(la1) == name) && (car(la2) == name) &&
                                                            (is_fxable(sc, cadr(la1))) && (is_fxable(sc, cadr(la2))))
                                                    {
                                                        set_safe_optimize_op(body, OP_RECUR_COND_A_A_A_A_opLA_LAq);
                                                        annotate_arg(sc, cdr(la1), args);
                                                        happy = true;
                                                    }
                                                    else
                                                    {
                                                        if ((vars == 2) &&
                                                                (is_fxable(sc, cadr(clause2))) &&
                                                                (is_proper_list_3(sc, la2)) &&
                                                                (car(la2) == name) &&
                                                                (is_fxable(sc, cadr(la2))) &&
                                                                (is_fxable(sc, caddr(la2))))
                                                        {
                                                            if (is_fxable(sc, la1))
                                                            {
                                                                set_safe_optimize_op(body, OP_RECUR_COND_A_A_A_A_opA_LAAq);
                                                                annotate_arg(sc, cdr(la_clause), args);
                                                                happy = true;
                                                            }
                                                            else
                                                            {
                                                                if ((is_proper_list_3(sc, la1)) &&
                                                                        (car(la1) == name) &&
                                                                        (is_fxable(sc, cadr(la1))) &&
                                                                        (is_fxable(sc, caddr(la1))))
                                                                {
                                                                    set_safe_optimize_op(body, OP_RECUR_COND_A_A_A_A_opLAA_LAAq);
                                                                    annotate_args(sc, cdr(la1), args);
                                                                    happy = true;
                                                                }
                                                            }
                                                        }
                                                    }
                                                    if (happy)
                                                    {
                                                        set_opt3_pair(la_clause, cdr(la2));
                                                        annotate_args(sc, clause, args);
                                                        annotate_args(sc, clause2, args);
                                                        annotate_args(sc, cdr(la2), args);
                                                        fx_tree(sc, cdr(body), car(args), (vars == 1) ? NULL : cadr(args));
                                                        set_opt3_pair(body, la_clause);
                                                        return(true);
                                                    }
                                                }
                                            }
                                        }
                                        else
                                        {
                                            if (clause2)
                                            {
                                                s7_pointer laa;
                                                laa = cadr(clause2);

                                                if ((vars == 2) && (len == 4) &&
                                                        (is_proper_list_3(sc, laa)) &&
                                                        (car(laa) == name) &&
                                                        (is_fxable(sc, cadr(laa))) &&
                                                        (is_fxable(sc, caddr(laa))))
                                                {
                                                    s7_pointer la1, la2;
                                                    la1 = cadr(la_clause);
                                                    la2 = caddr(la_clause);
                                                    if ((is_fxable(sc, la1)) &&
                                                            (is_proper_list_3(sc, la2)) &&
                                                            (car(la2) == name) &&
                                                            (is_fxable(sc, cadr(la2))) &&
                                                            (is_fxable(sc, caddr(la2))))
                                                    {
                                                        set_safe_optimize_op(body, OP_RECUR_COND_A_A_A_LAA_LopA_LAAq);
                                                        annotate_args(sc, clause, args);
                                                        annotate_arg(sc, clause2, args);
                                                        annotate_args(sc, cdr(laa), args);
                                                        annotate_arg(sc, cdr(la_clause), args);
                                                        annotate_args(sc, cdr(la2), args);
                                                        fx_tree(sc, cdr(body), car(args), cadr(args));
                                                        set_opt3_pair(body, la_clause);
                                                        set_opt3_pair(la_clause, cdr(la2));
                                                        return(true);
                                                    }}}}}}}}}
                    return(false);
                }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %r8, %rbx
movl %edx, %r13d
movq %rdi, %r15
movq 0x8(%r8), %r12
cmpq 0x17e8(%rdi), %r12
jne 0xe3690
cmpb $0x1, (%rbx)
jne 0xe3690
movl $0x4, %eax
movq %rbx, %rdx
movq 0x10(%rdx), %rdx
decq %rax
cmpb $0x1, (%rdx)
je 0xe367b
testq %rax, %rax
je 0xe3786
cmpq 0x1810(%r15), %r12
jne 0xe4b8e
movq 0x10(%rbx), %r12
movq 0x8(%r12), %rbp
movq 0x10(%rbp), %r14
cmpb $0x1, (%r14)
jne 0xe4b8e
movq 0x10(%r14), %rax
cmpq 0x110(%r15), %rax
jne 0xe4b8e
movq %rax, 0x10(%rsp)
movq %rsi, 0x18(%rsp)
movq %rcx, 0x20(%rsp)
movq 0x8(%rbp), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x8(%r14), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
xorl %r14d, %r14d
cmpb $0x1, (%rbx)
sete %sil
jne 0xe3d52
xorl %r14d, %r14d
movq %rbx, %rax
incq %r14
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
je 0xe3712
movq 0x10(%r12), %r12
movq 0x8(%r12), %rdi
cmpq $0x4, %r14
jne 0xe3d5f
cmpb $0x1, (%rdi)
jne 0xe4b8e
movq 0x10(%rdi), %rax
cmpb $0x1, (%rax)
jne 0xe4b8e
movq 0x10(%rsp), %rcx
cmpq %rcx, 0x10(%rax)
jne 0xe4b8e
movq %rsi, 0x38(%rsp)
movq 0x8(%rdi), %rsi
movq %rdi, %r14
movq %r15, %rdi
callq 0xcd0e8
movq %r14, %rdx
movq 0x38(%rsp), %rsi
movl $0x4, %r14d
testb %al, %al
jne 0xe3d54
jmp 0xe4b8e
leal -0x1(%r13), %eax
cmpl $0x1, %eax
ja 0xe3aa4
movq %rsi, 0x18(%rsp)
movq %rcx, 0x20(%rsp)
movq 0x10(%rbx), %r14
movq 0x8(%r14), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq %r14, 0x30(%rsp)
movq 0x10(%r14), %rax
movq 0x8(%rax), %rbp
movq %rax, 0x38(%rsp)
movq 0x10(%rax), %r14
movq 0x8(%r14), %rax
movq %rax, 0x10(%rsp)
cmpl $0x2, %r13d
jne 0xe40fd
movq %r15, %rdi
movq %rbp, %rsi
callq 0xcd0e8
testb %al, %al
je 0xe40fd
movq 0x10(%rsp), %rax
cmpb $0x1, (%rax)
jne 0xe40fd
movl $0x4, %eax
movq 0x10(%rsp), %rcx
movq 0x10(%rcx), %rcx
decq %rax
cmpb $0x1, (%rcx)
je 0xe3809
testq %rax, %rax
jne 0xe40fd
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rsi
cmpq %r12, %rsi
jne 0xe3f22
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq %rsi, 0x28(%rsp)
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rax
movq 0x8(%rax), %r12
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq %r15, %rdi
callq 0xcd0e8
movq 0x28(%rsp), %rsi
testb %al, %al
je 0xe3f22
movq %r12, %rdx
cmpb $0x1, (%r12)
jne 0xe3f22
movq 0x10(%rdx), %rax
cmpb $0x1, (%rax)
jne 0xe3f22
movq 0x10(%rax), %r12
cmpb $0x1, (%r12)
jne 0xe3f22
movq 0x10(%r12), %rcx
movq %rcx, 0x40(%rsp)
cmpq 0x110(%r15), %rcx
jne 0xe3f22
movq 0x8(%rsp), %rcx
cmpb $0x1, (%rcx)
jne 0xe3f22
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq %rcx, (%rsp)
cmpb $0x1, (%rcx)
jne 0xe3f22
movq (%rsp), %rcx
movq 0x10(%rcx), %rcx
movq %rcx, 0x48(%rsp)
cmpb $0x1, (%rcx)
jne 0xe3f22
movq 0x40(%rsp), %rcx
movq 0x48(%rsp), %rdi
cmpq %rcx, 0x10(%rdi)
jne 0xe3f22
movq 0x18(%rsp), %rcx
cmpq %rcx, 0x8(%rdx)
jne 0xe3f22
movq 0x8(%rax), %rsi
movq %r15, %rdi
movq %rdx, 0x50(%rsp)
callq 0xcd0e8
movq 0x28(%rsp), %rsi
testb %al, %al
je 0xe3f22
movq 0x8(%r12), %rsi
movq %r15, %rdi
callq 0xcd0e8
movq 0x28(%rsp), %rsi
testb %al, %al
je 0xe3f22
movq 0x8(%rsp), %rax
cmpw $0x801, (%rax)          # imm = 0x801
jne 0xe3f22
movq 0x8(%rsp), %rax
movzwl 0x4(%rax), %eax
testb $0x1, %al
sete %cl
addl $-0x2, %eax
movzwl %ax, %eax
cmpl $0x168, %eax            # imm = 0x168
setae %al
orb %cl, %al
jne 0xe3f22
movq (%rsp), %rax
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
movq 0x28(%rsp), %rsi
testb %al, %al
je 0xe3f22
movq 0x48(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, (%rsp)
cmpb $0x1, (%rax)
jne 0xe3f22
movq (%rsp), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xe3f22
movq 0x10(%rax), %r12
cmpb $0x1, (%r12)
jne 0xe3f22
movq 0x40(%rsp), %rcx
cmpq %rcx, 0x10(%r12)
jne 0xe3f22
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
movq 0x28(%rsp), %rsi
testb %al, %al
je 0xe3f22
movq 0x8(%r12), %rsi
movq %r15, %rdi
callq 0xcd0e8
movq 0x28(%rsp), %rsi
movq 0x50(%rsp), %rcx
testb %al, %al
je 0xe3f22
orb $0x8, 0x1(%rbx)
movw $0x34f, 0x4(%rbx)       # imm = 0x34F
movq %r15, %rdi
movq 0x30(%rsp), %rsi
movq 0x20(%rsp), %r14
movq %rcx, %r12
movq %r14, %rdx
callq 0xcd131
movq %r15, %rdi
movq 0x38(%rsp), %rsi
movq %r14, %rdx
callq 0xcd131
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xcd131
movq 0x10(%r12), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xd151a
movq 0x8(%rsp), %r12
movq 0x10(%r12), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xcd131
movq (%rsp), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xd151a
movq 0x10(%rbx), %rdi
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rax
movq 0x8(%rax), %rdx
jmp 0xe43ed
cmpl $0x3, %r13d
jne 0xe4b8e
movq %rsi, %rbp
movq %rcx, %r12
movq 0x10(%rbx), %r14
movq 0x8(%r14), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x10(%r14), %rax
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rax
movq 0x8(%rax), %r14
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
cmpb $0x1, (%r14)
jne 0xe4b8e
movl $0x4, %eax
movq %r14, %rcx
movq 0x10(%rcx), %rcx
decq %rax
cmpb $0x1, (%rcx)
je 0xe3afe
testq %rax, %rax
jne 0xe4b8e
cmpq %rbp, 0x8(%r14)
jne 0xe4b8e
movq 0x10(%r14), %rax
movq 0x8(%rax), %r13
cmpb $0x1, (%r13)
jne 0xe4b8e
movq %r14, 0x8(%rsp)
movq 0x10(%rax), %rax
movq 0x8(%rax), %r14
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
movl $0x4, %eax
movq %r13, %rcx
movq 0x10(%rcx), %rcx
decq %rax
cmpb $0x1, (%rcx)
je 0xe3b4d
testq %rax, %rax
jne 0xe4b8e
movq %rdx, (%rsp)
cmpb $0x1, (%r14)
jne 0xe4b8e
movl $0x4, %eax
movq %r14, %rcx
movq 0x10(%rcx), %rcx
decq %rax
cmpb $0x1, (%rcx)
je 0xe3b78
testq %rax, %rax
jne 0xe4b8e
movq (%rsp), %rax
cmpb $0x1, (%rax)
jne 0xe4b8e
movl $0x4, %eax
movq (%rsp), %rcx
movq 0x10(%rcx), %rcx
decq %rax
cmpb $0x1, (%rcx)
je 0xe3ba3
testq %rax, %rax
jne 0xe4b8e
cmpq %rbp, 0x8(%r13)
jne 0xe4b8e
cmpq %rbp, 0x8(%r14)
jne 0xe4b8e
movq (%rsp), %rax
cmpq %rbp, 0x8(%rax)
jne 0xe4b8e
movq 0x10(%r13), %rbp
movq 0x8(%rbp), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x10(%r14), %rax
movq %rax, 0x18(%rsp)
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x10(%rbp), %rbp
movq 0x8(%rbp), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
orb $0x8, 0x1(%rbx)
movw $0x34d, 0x4(%rbx)       # imm = 0x34D
movq 0x10(%r13), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0xd151a
movq 0x10(%r14), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0xd151a
movq (%rsp), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0xd151a
movq 0x10(%rbx), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0xcd131
movq 0x10(%rbx), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0xcd131
movq 0x10(%rbx), %rdi
movq 0x8(%r12), %rsi
movq 0x10(%r12), %rax
movq 0x8(%rax), %rdx
jmp 0xe4ad1
xorl %edx, %edx
movq 0x10(%r12), %rax
movq 0x8(%rax), %rdi
jmp 0xe3d63
xorl %esi, %esi
xorl %edx, %edx
cmpb $0x1, (%rdi)
jne 0xe4b8e
movq 0x10(%rdi), %rax
cmpb $0x1, (%rax)
jne 0xe4b8e
movq 0x10(%rsp), %rcx
cmpq %rcx, 0x10(%rax)
jne 0xe4b8e
movq 0x8(%rdi), %rcx
cmpq 0x1790(%r15), %rcx
je 0xe3da2
cmpq 0x118(%r15), %rcx
jne 0xe4b8e
movq 0x8(%rax), %rax
cmpb $0x1, (%rax)
jne 0xe4b8e
movq 0x10(%rax), %r12
cmpb $0x1, (%r12)
jne 0xe4b8e
movq 0x10(%r12), %rdi
cmpb $0x1, (%rdi)
jne 0xe4b8e
movq %rsi, 0x38(%rsp)
movq %rdx, 0x30(%rsp)
movq 0x10(%rsp), %rcx
movq %rdi, 0x8(%rsp)
cmpq %rcx, 0x10(%rdi)
jne 0xe4b8e
movq %rax, 0x28(%rsp)
cmpw $0x801, (%rax)          # imm = 0x801
jne 0xe4527
movq 0x28(%rsp), %rax
movzwl 0x4(%rax), %eax
testb $0x1, %al
sete %cl
addl $-0x2, %eax
movzwl %ax, %eax
cmpl $0x168, %eax            # imm = 0x168
setae %al
orb %cl, %al
jne 0xe4527
movq 0x8(%r12), %rsi
movq %r15, %rdi
movq %rsi, (%rsp)
callq 0xcd0e8
movl %eax, %r12d
testb %al, %al
je 0xe4794
cmpq $0x3, %r14
jne 0xe4743
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, (%rsp)
cmpb $0x1, (%rax)
jne 0xe4b8e
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xe4b8e
movq (%rsp), %rax
movq 0x10(%rax), %r12
cmpb $0x1, (%r12)
jne 0xe4b8e
movq 0x8(%r12), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
cmpl $0x1, %r13d
jne 0xe498c
movq 0x10(%rsp), %rax
cmpq %rax, 0x10(%r12)
jne 0xe4b8e
cmpq $0x3, %r14
jne 0xe49c0
xorl %eax, %eax
cmpl $0x1, %r13d
sete %al
orb $0x8, 0x1(%rbx)
xorl $0x351, %eax            # imm = 0x351
movw %ax, 0x4(%rbx)
movq %r15, %rdi
movq %rbp, %rsi
movq 0x20(%rsp), %r14
movq %r14, %rdx
callq 0xd151a
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xcd131
movq (%rsp), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xd151a
movq 0x10(%rbx), %rdi
movq 0x8(%r14), %rsi
cmpl $0x1, %r13d
jne 0xe4ae4
xorl %edx, %edx
jmp 0xe4af1
cmpq 0x1820(%r15), %rsi
jne 0xe40fd
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rax
movq 0x8(%rax), %r12
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe40fd
movq %r12, %rsi
cmpb $0x1, (%r12)
jne 0xe40fd
movq 0x10(%rsi), %rax
cmpb $0x1, (%rax)
jne 0xe40fd
movq 0x10(%rax), %r12
cmpb $0x1, (%r12)
jne 0xe40fd
movq 0x10(%r12), %rcx
cmpq 0x110(%r15), %rcx
jne 0xe40fd
movq 0x8(%rsp), %rdx
cmpb $0x1, (%rdx)
jne 0xe40fd
movq 0x8(%rsp), %rdx
movq 0x10(%rdx), %rdx
movq %rdx, 0x28(%rsp)
cmpb $0x1, (%rdx)
jne 0xe40fd
movq 0x28(%rsp), %rdx
movq 0x10(%rdx), %rdx
movq %rdx, (%rsp)
cmpb $0x1, (%rdx)
jne 0xe40fd
movq (%rsp), %rdx
cmpq %rcx, 0x10(%rdx)
jne 0xe40fd
movq 0x18(%rsp), %rcx
cmpq %rcx, 0x8(%rsi)
jne 0xe40fd
movq 0x18(%rsp), %rcx
movq 0x8(%rsp), %rdx
cmpq %rcx, 0x8(%rdx)
jne 0xe40fd
movq %rsi, 0x40(%rsp)
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe40fd
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe40fd
movq 0x8(%r12), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe40fd
movq (%rsp), %rax
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
movq 0x40(%rsp), %rcx
testb %al, %al
je 0xe40fd
orb $0x8, 0x1(%rbx)
movw $0x34e, 0x4(%rbx)       # imm = 0x34E
movq %r15, %rdi
movq %rcx, %r13
movq 0x30(%rsp), %rsi
movq 0x20(%rsp), %r14
movq %r14, %rdx
callq 0xcd131
movq 0x10(%rbx), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xcd131
movq 0x10(%rsp), %r12
movq 0x10(%r12), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xcd131
movq 0x10(%r13), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xd151a
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xd151a
movq 0x10(%rbx), %rdi
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rax
movq 0x8(%rax), %rdx
callq 0xcd182
movq %rbx, 0x8(%rsp)
movq %r12, (%rsp)
jmp 0xe43fa
movq %r15, %rdi
movq %rbp, %rsi
callq 0xcd0e8
testb %al, %al
movq 0x10(%rsp), %rsi
je 0xe4151
cmpb $0x1, (%rsi)
jne 0xe4151
cmpw $0x801, (%rsi)          # imm = 0x801
jne 0xe4151
movzwl 0x4(%rsi), %eax
testb $0x1, %al
sete %cl
addl $-0x2, %eax
movzwl %ax, %eax
cmpl $0x168, %eax            # imm = 0x168
setae %al
orb %cl, %al
jne 0xe4151
movq 0x10(%rsi), %rax
cmpb $0x1, (%rax)
jne 0xe4151
movq 0x10(%rax), %r12
cmpb $0x1, (%r12)
movq %rsi, 0x8(%rsp)
je 0xe41bc
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
cmpb $0x1, (%rbp)
jne 0xe4b8e
cmpw $0x801, (%rbp)          # imm = 0x801
jne 0xe4b8e
movzwl 0x4(%rbp), %eax
testb $0x1, %al
sete %cl
addl $-0x2, %eax
movzwl %ax, %eax
cmpl $0x168, %eax            # imm = 0x168
setae %al
orb %cl, %al
jne 0xe4b8e
movq 0x10(%rbp), %rax
cmpb $0x1, (%rax)
jne 0xe4b8e
movq 0x10(%rax), %r12
cmpb $0x1, (%r12)
movq %rbp, 0x8(%rsp)
movq %r14, 0x38(%rsp)
jne 0xe4b8e
movq 0x10(%r12), %r14
movq 0x110(%r15), %rbp
cmpq %rbp, %r14
je 0xe42f9
cmpl $0x1, %r13d
jne 0xe4b8e
cmpb $0x1, (%r14)
jne 0xe4b8e
cmpq %rbp, 0x10(%r14)
jne 0xe4b8e
movq 0x8(%r12), %r12
cmpb $0x1, (%r12)
jne 0xe4b8e
movq 0x10(%r12), %rcx
cmpb $0x1, (%rcx)
jne 0xe4b8e
cmpq %rbp, 0x10(%rcx)
jne 0xe4b8e
movq 0x8(%r14), %rdx
movq %rdx, (%rsp)
cmpb $0x1, (%rdx)
jne 0xe4b8e
movq (%rsp), %rdx
movq 0x10(%rdx), %r14
cmpb $0x1, (%r14)
jne 0xe4b8e
cmpq %rbp, 0x10(%r14)
jne 0xe4b8e
movq 0x18(%rsp), %rdx
cmpq %rdx, 0x8(%r12)
jne 0xe4b8e
movq 0x18(%rsp), %rdx
movq (%rsp), %rsi
cmpq %rdx, 0x8(%rsi)
jne 0xe4b8e
movq 0x8(%rax), %r13
movq 0x8(%rcx), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x8(%r14), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
cmpb $0x1, (%r13)
jne 0xe4a32
movq 0x10(%r13), %rax
cmpb $0x1, (%rax)
jne 0xe4a32
cmpq %rbp, 0x10(%rax)
jne 0xe4a32
movq 0x18(%rsp), %rcx
cmpq %rcx, 0x8(%r13)
jne 0xe4a32
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4a32
movq 0x10(%rsp), %rax
cmpq %rax, 0x8(%rsp)
jne 0xe4b8e
addq $0x10, %r13
orb $0x8, 0x1(%rbx)
movw $0x34a, %ax             # imm = 0x34A
jmp 0xe4a6d
movq 0x8(%rax), %rbp
movq %r15, %rdi
movq %rbp, %rsi
callq 0xcd0e8
movq 0x8(%r12), %rcx
testb %al, %al
je 0xe4412
cmpb $0x1, (%rcx)
jne 0xe4b8e
movq 0x18(%rsp), %rax
movq %rcx, (%rsp)
cmpq %rax, 0x8(%rcx)
jne 0xe4b8e
movq (%rsp), %rax
movq 0x10(%rax), %r12
cmpb $0x1, (%r12)
jne 0xe4b8e
movq 0x8(%r12), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
cmpl $0x1, %r13d
jne 0xe46e0
cmpq %r14, 0x10(%r12)
jne 0xe4b8e
orb $0x8, 0x1(%rbx)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
xorl %eax, %eax
movq 0x8(%rsp), %rdx
cmpq 0x8(%rcx), %rdx
sete %al
xorl $0x345, %eax            # imm = 0x345
movw %ax, 0x4(%rbx)
movq %r15, %rdi
movq 0x30(%rsp), %rsi
movq 0x20(%rsp), %r14
movq %r14, %rdx
callq 0xcd131
movq %r15, %rdi
movq 0x38(%rsp), %rsi
movq %r14, %rdx
callq 0xcd131
movq 0x8(%rsp), %r12
movq 0x10(%r12), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xcd131
movq (%rsp), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xd151a
movq 0x10(%rbx), %rdi
movq 0x8(%r14), %rsi
xorl %edx, %edx
callq 0xcd182
movq %r12, 0x28(%rbx)
andb $-0x5, 0x2(%rbx)
movq 0x8(%rsp), %rax
movq (%rsp), %rcx
movq %rcx, 0x28(%rax)
andb $-0x5, 0x2(%rax)
movb $0x1, %al
jmp 0xe4b90
movq %rcx, (%rsp)
cmpl $0x1, %r13d
jne 0xe4b8e
cmpb $0x1, (%rbp)
jne 0xe4b8e
movq 0x10(%rbp), %rax
cmpb $0x1, (%rax)
jne 0xe4b8e
cmpq %r14, 0x10(%rax)
jne 0xe4b8e
movq (%rsp), %rcx
cmpb $0x1, (%rcx)
jne 0xe4b8e
movq (%rsp), %rcx
movq 0x10(%rcx), %r12
cmpb $0x1, (%r12)
jne 0xe4b8e
cmpq %r14, 0x10(%r12)
jne 0xe4b8e
movq 0x18(%rsp), %rcx
cmpq %rcx, 0x8(%rbp)
jne 0xe4b8e
movq 0x18(%rsp), %rcx
movq (%rsp), %rdx
cmpq %rcx, 0x8(%rdx)
jne 0xe4b8e
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x8(%r12), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
orb $0x8, 0x1(%rbx)
movq 0x30(%rsp), %rsi
movq 0x10(%rsi), %rax
movq 0x10(%rax), %rax
xorl %ecx, %ecx
movq 0x8(%rsp), %r12
cmpq 0x8(%rax), %r12
sete %cl
xorl $0x347, %ecx            # imm = 0x347
movw %cx, 0x4(%rbx)
movq %r15, %rdi
movq 0x20(%rsp), %r14
movq %r14, %rdx
callq 0xcd131
movq %r15, %rdi
movq 0x38(%rsp), %rsi
movq %r14, %rdx
callq 0xcd131
movq 0x10(%rbp), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xcd131
movq (%rsp), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xcd131
jmp 0xe43e3
cmpq $0x0, 0x30(%rsp)
je 0xe4b8e
cmpl $0x2, %r13d
setne %al
movq 0x38(%rsp), %rcx
xorb $0x1, %cl
orb %al, %cl
jne 0xe4b8e
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r14
cmpb $0x1, (%r14)
jne 0xe4b8e
movq 0x10(%r14), %rax
cmpb $0x1, (%rax)
jne 0xe4b8e
movq 0x10(%rax), %r13
cmpb $0x1, (%r13)
jne 0xe4b8e
movq 0x10(%rsp), %rcx
cmpq %rcx, 0x10(%r13)
jne 0xe4b8e
movq 0x18(%rsp), %rcx
cmpq %rcx, 0x8(%r14)
jne 0xe4b8e
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x8(%r13), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rax
movq 0x8(%rax), %r13
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
cmpb $0x1, (%r13)
jne 0xe4b8e
movq 0x10(%r13), %rax
cmpb $0x1, (%rax)
jne 0xe4b8e
movq 0x10(%rax), %r12
cmpb $0x1, (%r12)
jne 0xe4b8e
movq 0x10(%rsp), %rcx
cmpq %rcx, 0x10(%r12)
jne 0xe4b8e
movq 0x18(%rsp), %rcx
cmpq %rcx, 0x8(%r13)
jne 0xe4b8e
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x8(%r12), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
orb $0x8, 0x1(%rbx)
movw $0x355, 0x4(%rbx)       # imm = 0x355
movq %r15, %rdi
movq %rbp, %rsi
movq 0x20(%rsp), %r12
movq %r12, %rdx
callq 0xd151a
movq %r15, %rdi
movq 0x30(%rsp), %rsi
movq %r12, %rdx
callq 0xcd131
movq 0x10(%r14), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0xd151a
movq 0x28(%rsp), %r14
movq 0x10(%r14), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0xcd131
movq 0x10(%r13), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0xd151a
movq 0x10(%rbx), %rdi
movq 0x8(%r12), %rsi
movq 0x10(%r12), %rax
movq 0x8(%rax), %rdx
callq 0xcd182
movq %r14, 0x28(%rbx)
andb $-0x5, 0x2(%rbx)
movq 0x10(%r13), %rax
movq %rax, (%rsp)
movq %r14, 0x8(%rsp)
jmp 0xe43fa
cmpl $0x2, %r13d
jne 0xe4b8e
movq 0x10(%r12), %r12
cmpb $0x1, (%r12)
jne 0xe4b8e
movq 0x8(%r12), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
cmpq %r14, 0x10(%r12)
jne 0xe4b8e
orb $0x8, 0x1(%rbx)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
xorl %eax, %eax
movq 0x8(%rsp), %rdx
cmpq 0x8(%rcx), %rdx
setne %al
addl $0x34b, %eax            # imm = 0x34B
jmp 0xe4392
cmpl $0x2, %r13d
setne %al
movq 0x38(%rsp), %rcx
xorb $0x1, %cl
orb %al, %cl
jne 0xe4794
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
cmpb $0x1, (%rax)
jne 0xe4794
movq 0x10(%rax), %rcx
cmpb $0x1, (%rcx)
jne 0xe4794
movq 0x10(%rcx), %rcx
cmpb $0x1, (%rcx)
jne 0xe4794
movq 0x10(%rsp), %rdx
cmpq %rdx, 0x10(%rcx)
jne 0xe4794
movq 0x18(%rsp), %rcx
cmpq %rcx, 0x8(%rax)
je 0xe3e44
cmpb $0x0, 0x38(%rsp)
je 0xe4b8e
movq 0x8(%rsp), %rax
movq 0x8(%rax), %r14
cmpl $0x1, %r13d
jne 0xe4866
movq (%rsp), %rax
cmpb $0x1, (%rax)
jne 0xe4b8e
movq (%rsp), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xe4b8e
movq 0x10(%rsp), %rcx
cmpq %rcx, 0x10(%rax)
jne 0xe4b8e
cmpb $0x1, (%r14)
jne 0xe4b8e
movq 0x10(%r14), %r12
cmpb $0x1, (%r12)
jne 0xe4b8e
movq 0x10(%rsp), %rcx
cmpq %rcx, 0x10(%r12)
jne 0xe4b8e
movq 0x18(%rsp), %rcx
movq (%rsp), %rdx
cmpq %rcx, 0x8(%rdx)
jne 0xe4b8e
movq 0x18(%rsp), %rcx
cmpq %rcx, 0x8(%r14)
jne 0xe4b8e
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x8(%r12), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
orb $0x8, 0x1(%rbx)
movw $0x352, 0x4(%rbx)       # imm = 0x352
movq (%rsp), %rax
jmp 0xe491e
cmpl $0x2, %r13d
jne 0xe4b8e
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
cmpb $0x1, (%r14)
jne 0xe4b8e
movq 0x10(%r14), %rax
cmpb $0x1, (%rax)
jne 0xe4b8e
movq 0x10(%rax), %rcx
movq %rcx, 0x38(%rsp)
cmpb $0x1, (%rcx)
jne 0xe4b8e
movq 0x10(%rsp), %rcx
movq 0x38(%rsp), %rdx
cmpq %rcx, 0x10(%rdx)
jne 0xe4b8e
movq 0x18(%rsp), %rcx
cmpq %rcx, 0x8(%r14)
jne 0xe4b8e
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
testb %r12b, %r12b
je 0xe4b0d
orb $0x8, 0x1(%rbx)
movw $0x354, 0x4(%rbx)       # imm = 0x354
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
movq 0x20(%rsp), %rdx
callq 0xcd131
movq 0x10(%r14), %rax
movq 0x28(%rsp), %rcx
movq %rax, 0x28(%rcx)
andb $-0x5, 0x2(%rcx)
movq %r15, %rdi
movq %rbp, %rsi
movq 0x20(%rsp), %r12
movq %r12, %rdx
callq 0xd151a
movq %r15, %rdi
movq 0x30(%rsp), %rsi
movq %r12, %rdx
callq 0xd151a
movq 0x10(%r14), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0xd151a
movq 0x10(%rbx), %rdi
movq 0x8(%r12), %rsi
cmpl $0x1, %r13d
jne 0xe4b9f
xorl %edx, %edx
jmp 0xe4bac
cmpl $0x2, %r13d
jne 0xe4b8e
movq 0x10(%r12), %r12
cmpb $0x1, (%r12)
jne 0xe4b8e
movq 0x8(%r12), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
jmp 0xe3e9f
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r14
movq 0x10(%r14), %r12
movq 0x8(%r12), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x10(%r12), %rax
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
orb $0x8, 0x1(%rbx)
movw $0x356, 0x4(%rbx)       # imm = 0x356
movq %r15, %rdi
movq 0x30(%rsp), %rsi
movq 0x20(%rsp), %r12
movq %r12, %rdx
callq 0xcd131
movq 0x10(%r14), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0xd151a
jmp 0xe3ecf
movq %r15, %rdi
movq %r13, %rsi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
orb $0x8, 0x1(%rbx)
movq 0x8(%rsp), %rdx
leaq 0x10(%rdx), %r13
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
xorl %eax, %eax
cmpq 0x8(%rcx), %rdx
sete %al
xorl $0x349, %eax            # imm = 0x349
movw %ax, 0x4(%rbx)
movq (%r13), %rsi
movq %r15, %rdi
movq 0x20(%rsp), %r14
movq %r14, %rdx
callq 0xcd131
movq 0x10(%rbx), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xcd131
movq %r15, %rdi
movq 0x38(%rsp), %rsi
movq %r14, %rdx
callq 0xcd131
movq 0x10(%r12), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xcd131
movq (%rsp), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0xcd131
movq 0x10(%rbx), %rdi
movq 0x8(%r14), %rsi
xorl %edx, %edx
callq 0xcd182
movq 0x8(%rsp), %rax
movq %rax, 0x28(%rbx)
jmp 0xe43f6
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
callq 0xcd182
movq 0x28(%rsp), %rax
movq %rax, 0x28(%rbx)
andb $-0x5, 0x2(%rbx)
movq %rax, 0x8(%rsp)
jmp 0xe43fa
movq (%rsp), %rax
cmpb $0x1, (%rax)
jne 0xe4b8e
movq (%rsp), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xe4b8e
movq 0x10(%rax), %r12
cmpb $0x1, (%r12)
jne 0xe4b8e
movq 0x10(%rsp), %rcx
cmpq %rcx, 0x10(%r12)
jne 0xe4b8e
movq 0x18(%rsp), %rcx
movq (%rsp), %rdx
cmpq %rcx, 0x8(%rdx)
jne 0xe4b8e
movq 0x8(%rax), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
movq 0x8(%r12), %rsi
movq %r15, %rdi
callq 0xcd0e8
testb %al, %al
je 0xe4b8e
orb $0x8, 0x1(%rbx)
movw $0x353, 0x4(%rbx)       # imm = 0x353
movq (%rsp), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
movq 0x20(%rsp), %rdx
callq 0xd151a
jmp 0xe492f
xorl %eax, %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
callq 0xcd182
movq %rbx, 0x8(%rsp)
movq 0x28(%rsp), %rax
movq %rax, (%rsp)
jmp 0xe43fa