// File: /workspace/github_c_makefile_star2_O2/BernardTatin[P]s7sh/s7.c
// Function: optimize_lambda
static void optimize_lambda(s7_scheme *sc, bool unstarred_lambda, s7_pointer func, s7_pointer args, s7_pointer body)
                {
                    s7_int len;

                    len = s7_list_length(sc, body);
#if OPTIMIZE_PRINT
                    fprintf(stderr, "%s[%d]: %s %s %ld\n", __func__, __LINE__, DISPLAY(func), DISPLAY(args), len);
#endif

                    if (len < 0)                /* (define (hi) 1 . 2) */
                        s7_error(sc, sc->syntax_error_symbol,
                                set_elist_3(sc, wrap_string(sc, "~A: function body messed up, ~A", 31),
                                    (unstarred_lambda) ? sc->lambda_symbol : sc->lambda_star_symbol,
                                    sc->code));

                    if (len > 0)  /* i.e. not circular */
                    {
                        body_t result;
                        s7_pointer p, lst, cleared_args;

                        clear_symbol_list(sc);
                        for (p = args; is_pair(p); p = cdr(p))
                            add_symbol_to_list(sc, (is_symbol(car(p))) ? car(p) : caar(p));
                        if (!is_null(p))
                            add_symbol_to_list(sc, p);
                        sc->got_tc = false;
                        sc->got_rec = false;
                        result = body_is_safe(sc, func, body, true);
                        clear_symbol_list(sc);

                        /* if the body is safe, we can optimize the calling sequence */
                        if (!unstarred_lambda)
                        {
                            bool happy = true;
                            /* check default vals -- if none is an expression or symbol, set simple args */
                            for (p = args; is_pair(p); p = cdr(p))
                            {
                                s7_pointer arg;
                                arg = car(p);
                                if ((is_pair(arg)) &&                   /* has default value */
                                        (is_pair(cdr(arg))) &&              /*   is not a ridiculous improper list */
                                        ((is_symbol(cadr(arg))) ||          /*   if default value might involve eval in any way, it isn't simple */
                                         (is_unquoted_pair(cadr(arg)))))    /*   pair as default only ok if it is (quote ...) */
                                {
                                    happy = false;
                                    if ((result > UNSAFE_BODY) &&
                                            (tree_has_definers_or_binders(sc, cadr(arg)))) /* if the default has a definer, body is not safe (funclet is not stable) */
                                        result = UNSAFE_BODY;
                                    break;
                                }
                            }
                            if (happy)
                                lambda_set_simple_defaults(body);
                        }
                        if (result >= SAFE_BODY)
                        {
                            set_safe_closure_body(body);	  /* this bit is set on the function itself in make_closure and friends */
                            if (result == VERY_SAFE_BODY)
                                set_very_safe_closure_body(body);
                        }

                        if (is_symbol(func))
                        {
                            lst = cons(sc, add_symbol_to_list(sc, func), sc->nil);
                            sc->temp10 = lst;
                        }
                        else lst = sc->nil;

                        /* TODO: check cleared_args */
                        if (optimize(sc, body, 1, cleared_args = collect_parameters(sc, args, lst)) == OPT_OOPS)
                            clear_all_optimizations(sc, body);
                        else
                        {
                            if (result >= RECUR_BODY) /* (is_safe_closure_body(body)) */
                            {
                                int32_t nvars;
                                for (nvars = 0, p = args; is_pair(p); nvars++, p = cdr(p));

                                if (is_null(p))
                                {
                                    if (nvars > 0)
                                    {
                                        annotate_args(sc, body, cleared_args);
                                        fx_tree(sc, body,
                                                (is_pair(car(args))) ? caar(args) : car(args),
                                                (nvars > 1) ? ((is_pair(cadr(args))) ? caadr(args) : cadr(args)) : NULL);
                                    }
                                }
                                if ((unstarred_lambda) || (nvars == 1))
                                {
                                    if (is_null(cdr(body)))
                                    {
                                        if (sc->got_tc)
                                        {
                                            if (check_tc(sc, func, nvars, args, car(body)))
                                                set_safe_closure_body(body);
                                        }
                                        if ((sc->got_rec) &&
                                                (!is_tc_op(optimize_op(car(body)))) &&
                                                (result >= RECUR_BODY))
                                        {
                                            if (check_recur(sc, func, nvars, args, car(body)))
                                                set_safe_closure_body(body);
                                        }
#if 0
                                        if (((sc->got_tc) || (sc->got_rec)) &&
                                                (!is_rec_op(optimize_op(car(body)))) &&
                                                (!is_tc_op(optimize_op(car(body)))) &&
                                                (!is_symbol(cadar(body)))) /* and let as start */
                                            fprintf(stderr, "%s[%d]: %s %d %s\n", __func__, __LINE__, DISPLAY(func), nvars, DISPLAY(body));
#endif
                                    }
                                }
                            }
                        }
                        if (is_symbol(func))
                        {
                            sc->temp10 = sc->nil;
                            free_cell(sc, lst);
                        }
                        sc->got_tc = false;
                        sc->got_rec = false;
                    }
                }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %r8, %r15
movq %rcx, %r14
movq %rdx, %r12
movl %esi, %ebp
movq %rdi, %rbx
movq %r8, %rsi
callq 0x2dada
testq %rax, %rax
js 0xb2d03
je 0xb55ca
movq %rbx, %rdi
callq 0x7c981
movq %r14, %rax
cmpb $0x1, (%rax)
jne 0xb2c61
movq 0x8(%rax), %rcx
cmpb $0xa, (%rcx)
je 0xb2c41
movq 0x8(%rcx), %rcx
movl 0xa88(%rbx), %edx
movl %edx, 0x2c(%rcx)
movl 0xa8c(%rbx), %edx
movq 0x8(%rcx), %rcx
movq 0x20(%rcx), %rcx
movl %edx, 0xc(%rcx)
movq 0x10(%rax), %rax
jmp 0xb2c2f
movq %r14, 0x18(%rsp)
cmpq 0x110(%rbx), %rax
je 0xb2c89
movl 0xa88(%rbx), %ecx
movl %ecx, 0x2c(%rax)
movl 0xa8c(%rbx), %ecx
movq 0x8(%rax), %rax
movq 0x20(%rax), %rax
movl %ecx, 0xc(%rax)
andw $0x0, 0x24e(%rbx)
pushq $0x1
popq %rcx
movq %rbx, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0xb5a01
movl %eax, %r13d
movq %rbx, %rdi
callq 0x7c981
testb %bpl, %bpl
jne 0xb2d8a
movq 0x18(%rsp), %rax
cmpb $0x1, (%rax)
jne 0xb2d85
movq 0x8(%rax), %rcx
cmpb $0x1, (%rcx)
jne 0xb2cfd
movq 0x10(%rcx), %rcx
cmpb $0x1, (%rcx)
jne 0xb2cfd
movq 0x8(%rcx), %rdi
movzbl (%rdi), %ecx
cmpl $0x1, %ecx
je 0xb2cec
cmpl $0xa, %ecx
jne 0xb2cfd
jmp 0xb2ee3
movq 0x8(%rdi), %rcx
cmpq 0x17b0(%rbx), %rcx
jne 0xb2ee3
movq 0x10(%rax), %rax
jmp 0xb2cbb
movq 0x1918(%rbx), %rsi
movq 0x820(%rbx), %rax
movslq 0x7dc(%rbx), %rcx
movq (%rax,%rcx,8), %rax
incl %ecx
andl $0x7, %ecx
movl %ecx, 0x7dc(%rbx)
leaq 0x31292(%rip), %rcx     # 0xe3fc0
movq %rcx, 0x10(%rax)
movq $0x1f, 0x8(%rax)
xorb $0x1, %bpl
movzbl %bpl, %ecx
movq 0x1798(%rbx,%rcx,8), %rcx
movq (%rbx), %rdx
movq 0x6e8(%rbx), %rdi
movq %rax, 0x8(%rdi)
movq 0x10(%rdi), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rax), %rax
movq %rdx, 0x8(%rax)
movq 0x6e8(%rbx), %rdx
movq %rbx, %rdi
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2cdc0
orb $0x4, 0x1(%r15)
movl %r13d, %r14d
cmpl $0x2, %r13d
jb 0xb2da7
orb $0x10, 0x1(%r15)
pushq $0x3
popq %r14
cmpl $0x3, %r13d
jne 0xb2da7
orb $0x10, 0x6(%r15)
cmpb $0xa, (%r12)
movq %r12, 0x28(%rsp)
jne 0xb2e27
movl 0xa88(%rbx), %eax
movl %eax, 0x2c(%r12)
movl 0xa8c(%rbx), %eax
movq 0x8(%r12), %rcx
movq 0x20(%rcx), %rcx
movl %eax, 0xc(%rcx)
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r12
cmpq 0x98(%rbx), %rax
movq 0x18(%rsp), %r13
ja 0xb2dfb
movq %rbx, %rdi
callq 0x9c27
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rdx
movq $0x200001, (%rdx)       # imm = 0x200001
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rdx)
movq %r12, 0x10(%rdx)
movq %rdx, 0x540(%rbx)
jmp 0xb2e33
movq 0x110(%rbx), %rdx
movq 0x18(%rsp), %r13
movq %rbx, %rdi
movq %r13, %rsi
movq %rdx, 0x50(%rsp)
callq 0xb1d9a
movq %rax, %r13
pushq $0x1
popq %rdx
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rcx
callq 0xb58d9
cmpl $0x2, %eax
jne 0xb2e69
movq %r15, %rdi
callq 0xa1b8f
jmp 0xb558c
testl %r14d, %r14d
je 0xb558c
leaq 0x62ad7(%rip), %r14     # 0x115950
xorl %r12d, %r12d
movq 0x18(%rsp), %rax
cmpb $0x1, (%rax)
jne 0xb2e93
movq 0x10(%rax), %rax
incq %r12
addq $0x8, %r14
jmp 0xb2e81
cmpq 0x110(%rbx), %rax
sete %al
testl %r12d, %r12d
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xb2f0b
movq %rbx, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0xa5dd4
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rsi
cmpb $0x1, (%rsi)
jne 0xb2eca
movq 0x8(%rsi), %rsi
cmpl $0x2, %r12d
jb 0xb2f01
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
cmpb $0x1, (%rdx)
jne 0xb2f03
movq 0x8(%rdx), %rdx
jmp 0xb2f03
xorl %r14d, %r14d
testl %r13d, %r13d
je 0xb2da7
callq 0xa5d4e
testb %al, %al
je 0xb2d8a
jmp 0xb2da7
xorl %edx, %edx
movq %r15, %rdi
callq 0xa26f4
cmpl $0x1, %r12d
sete %al
orb %al, %bpl
cmpb $0x1, %bpl
jne 0xb558c
movq 0x10(%r15), %rbp
cmpq 0x110(%rbx), %rbp
jne 0xb558c
cmpb $0x1, 0x24e(%rbx)
jne 0xb41ad
movq 0x8(%r15), %rax
movq %rax, 0x8(%rsp)
cmpb $0x1, (%rax)
jne 0xb41ad
leal -0x1(%r12), %eax
cmpl $0x1, %eax
ja 0xb30cd
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdx
movq 0x1820(%rbx), %r13
cmpq %r13, %rdx
je 0xb2f7f
cmpq 0x1828(%rbx), %rdx
jne 0xb3502
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xb3502
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
movq %rdx, (%rsp)
callq 0xa2689
movq (%rsp), %rdx
movq 0x10(%rsp), %rcx
testb %al, %al
je 0xb3502
movq 0x10(%rcx), %rax
cmpb $0x1, (%rax)
jne 0xb3502
movq %rax, 0x30(%rsp)
movq 0x8(%rax), %rsi
movq %rbx, %rdi
movq %rsi, 0x20(%rsp)
callq 0x89861
testb %al, %al
je 0xb32ee
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rdx
cmpq 0x1828(%rbx), %rdx
setne %al
cmpq %r13, %rdx
setne %cl
cmpq %rdx, (%rsp)
je 0xb32ee
andb %al, %cl
jne 0xb32ee
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb32ee
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r13
cmpb $0x1, (%r13)
movq (%rsp), %rdx
jne 0xb3502
movq 0x28(%rsp), %rax
cmpq %rax, 0x8(%r13)
jne 0xb3502
movq 0x10(%r13), %rax
movq %rax, 0x30(%rsp)
cmpb $0x1, (%rax)
jne 0xb3502
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
movq (%rsp), %rdx
testb %al, %al
je 0xb3502
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
cmpl $0x1, %r12d
jne 0xb3463
cmpq %rbp, %rax
movq (%rsp), %rdx
jne 0xb3502
movq 0x8(%rsp), %rax
orb $0x8, 0x1(%rax)
xorl %eax, %eax
cmpq 0x1820(%rbx), %rdx
sete %al
xorl $0x32f, %eax            # imm = 0x32F
jmp 0xb34a8
cmpl $0x3, %r12d
jne 0xb39e5
movq 0x8(%rsp), %rax
movq 0x8(%rax), %r13
movq 0x1828(%rbx), %rbp
cmpq %rbp, %r13
jne 0xb3106
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rsi, 0x10(%rsp)
callq 0x86b4c
testb %al, %al
jne 0xb314b
cmpq 0x17e8(%rbx), %r13
jne 0xb39e5
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rsi, 0x10(%rsp)
callq 0x89861
testb %al, %al
je 0xb39e5
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
cmpq 0x118(%rbx), %rax
jne 0xb39e5
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb39e5
cmpq %rbp, %r13
movq 0x10(%rsp), %rax
cmoveq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rbp
movq %rbp, %rdi
callq 0x313be
cmpq $0x4, %rax
jne 0xb39e5
movq 0x8(%rbp), %rax
cmpq 0x1820(%rbx), %rax
jne 0xb39e5
movq 0x10(%rbp), %rax
movq %rax, (%rsp)
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb39e5
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, (%rsp)
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb39e5
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdi
movq %rdi, (%rsp)
callq 0x313be
cmpq $0x4, %rax
jne 0xb39e5
movq 0x28(%rsp), %rax
movq (%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb39e5
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb39e5
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb39e5
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb39e5
movq 0x8(%rsp), %rdx
orb $0x8, 0x1(%rdx)
cmpq 0x1828(%rbx), %r13
movl $0x333, %eax            # imm = 0x333
movl $0x33d, %ecx            # imm = 0x33D
cmovel %eax, %ecx
movw %cx, 0x4(%rdx)
movq %rdx, %r13
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%rbp), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%rbp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa26b2
movq (%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa5dd4
movq 0x10(%r13), %rdi
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rax
jmp 0xb53fe
cmpl $0x1, %r12d
movq (%rsp), %rdx
jne 0xb3502
cmpq 0x1828(%rbx), %rdx
jne 0xb3502
movq %rbx, %rdi
movq 0x20(%rsp), %rsi
callq 0xa2689
movq (%rsp), %rdx
testb %al, %al
movq 0x30(%rsp), %rax
je 0xb3502
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xb3502
movq 0x8(%rax), %rbp
cmpb $0x1, (%rbp)
jne 0xb3502
movq %rbp, %rdi
callq 0x313be
movq (%rsp), %rdx
cmpq $0x4, %rax
jne 0xb3502
cmpq %r13, 0x8(%rbp)
jne 0xb3502
movq 0x10(%rbp), %r13
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
movq (%rsp), %rdx
testb %al, %al
je 0xb3502
movq 0x10(%r13), %r13
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
movq (%rsp), %rdx
testb %al, %al
je 0xb3502
movq 0x10(%r13), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
movq %rsi, %r13
callq 0x86b4c
movq (%rsp), %rdx
testb %al, %al
je 0xb3502
movq 0x28(%rsp), %rax
cmpq %rax, 0x8(%r13)
jne 0xb3502
movq 0x10(%r13), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
movq (%rsp), %rdx
movq 0x10(%rsp), %rsi
testb %al, %al
je 0xb3502
movq 0x8(%rsp), %rax
orb $0x8, 0x1(%rax)
movw $0x332, 0x4(%rax)       # imm = 0x332
movq %rbx, %rdi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa26b2
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%rbp), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%rbp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%r13), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa5dd4
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x8(%r14), %rsi
jmp 0xb34fb
cmpb $0x1, (%rax)
movq (%rsp), %rdx
jne 0xb3502
cmpq %rbp, 0x10(%rax)
jne 0xb3502
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
movq (%rsp), %rdx
testb %al, %al
je 0xb3502
movq 0x8(%rsp), %rax
orb $0x8, 0x1(%rax)
xorl %eax, %eax
cmpq 0x1820(%rbx), %rdx
sete %al
xorl $0x331, %eax            # imm = 0x331
movq 0x8(%rsp), %rbp
movw %ax, 0x4(%rbp)
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa26b2
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%r13), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa5dd4
movq 0x10(%rbp), %rdi
movq 0x8(%r14), %rsi
cmpl $0x1, %r12d
jne 0xb53f5
xorl %edx, %edx
jmp 0xb5402
cmpq 0x17e8(%rbx), %rdx
jne 0xb39e5
movq 0x8(%rsp), %rdi
callq 0x313be
cmpq $0x4, %rax
jne 0xb39e5
movq 0x8(%rsp), %rax
movq 0x10(%rax), %r13
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb39e5
movq 0x10(%r13), %rax
movq 0x8(%rax), %rcx
movq %rcx, 0x10(%rsp)
movq 0x10(%rax), %rax
movq 0x8(%rax), %rbp
movq %rbx, %rdi
movq %r13, %rsi
movq 0x18(%rsp), %r13
movq %r13, %rdx
callq 0xa26b2
movq %rbx, %rdi
movq %rbp, %rsi
cmpl $0x1, %r12d
jne 0xb35e5
callq 0x86b4c
testb %al, %al
je 0xb3728
movq 0x28(%rsp), %rax
cmpq %rax, 0x8(%rbp)
jne 0xb3728
movq 0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb3728
movq 0x8(%rsp), %rax
movw $0x339, 0x4(%rax)       # imm = 0x339
movq 0x10(%rbp), %rsi
movq %rbx, %rdi
movq %r13, %rdx
callq 0xa26b2
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
callq 0xa2689
testb %al, %al
je 0xb41ad
movq 0x8(%rsp), %r13
movq 0x10(%r13), %rax
jmp 0xb37ab
callq 0x89861
testb %al, %al
je 0xb3660
movq 0x28(%rsp), %rax
cmpq %rax, 0x8(%rbp)
jne 0xb3660
movq 0x10(%rbp), %r13
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb3660
movq 0x10(%r13), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb3660
movq 0x8(%rsp), %rax
movw $0x33a, 0x4(%rax)       # imm = 0x33A
movq 0x10(%rbp), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %rdx
callq 0xa5dd4
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
callq 0xa2689
testb %al, %al
je 0xb41ad
movq 0x8(%rsp), %r13
movq 0x10(%r13), %rax
jmp 0xb36ff
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
callq 0x89861
testb %al, %al
je 0xb37d8
movq 0x28(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb37d8
movq 0x10(%rsp), %rax
movq 0x10(%rax), %r13
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb37d8
movq 0x10(%r13), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb37d8
movq 0x8(%rsp), %rax
movw $0x33c, 0x4(%rax)       # imm = 0x33C
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %rdx
callq 0xa5dd4
movq %rbx, %rdi
movq %rbp, %rsi
callq 0xa2689
testb %al, %al
je 0xb41ad
movq 0x8(%rsp), %r13
movq 0x10(%r13), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%r13), %rdi
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rax
movq 0x8(%rax), %rdx
jmp 0xb37c9
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
callq 0x86b4c
testb %al, %al
je 0xb37d8
movq 0x28(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb37d8
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb37d8
movq 0x8(%rsp), %rax
movw $0x33b, 0x4(%rax)       # imm = 0x33B
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %rdx
callq 0xa26b2
movq %rbx, %rdi
movq %rbp, %rsi
callq 0xa2689
testb %al, %al
je 0xb41ad
movq 0x8(%rsp), %r13
movq 0x10(%r13), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%r13), %rdi
movq 0x8(%r14), %rsi
xorl %edx, %edx
callq 0xa26f4
orb $0x8, 0x1(%r13)
jmp 0xb41a8
movq %rbp, %rdi
callq 0x313be
cmpq $0x4, %rax
jne 0xb39e5
movq 0x8(%rbp), %rax
cmpq 0x17e8(%rbx), %rax
jne 0xb39e5
movq 0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movq 0x10(%rax), %r13
movq 0x8(%r13), %rax
movq %rax, 0x20(%rsp)
movq 0x10(%r13), %rax
movq %rax, 0x30(%rsp)
movq 0x8(%rax), %rax
movq %rax, (%rsp)
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb39e5
movq %rbp, 0x40(%rsp)
movq (%rsp), %rax
cmpb $0x1, (%rax)
jne 0xb3880
movq 0x28(%rsp), %rax
movq (%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb3880
movq (%rsp), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xb3880
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb3880
movq 0x20(%rsp), %rdx
movq %r13, 0x30(%rsp)
movq (%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0xb38cc
movq 0x20(%rsp), %rax
cmpb $0x1, (%rax)
jne 0xb39e5
movq 0x28(%rsp), %rax
movq 0x20(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb39e5
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xb39e5
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
movq (%rsp), %rdx
testb %al, %al
je 0xb39e5
movq %rbx, %rdi
movq 0x28(%rsp), %rsi
callq 0x2ccd2
testb %al, %al
jne 0xb39e5
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
cmpl $0x1, %r12d
jne 0xb39ab
cmpq 0x110(%rbx), %rax
jne 0xb39e5
xorl %eax, %eax
movq (%rsp), %rcx
cmpq %rcx, 0x20(%rsp)
sete %al
xorl $0x33f, %eax            # imm = 0x33F
movq 0x8(%rsp), %rcx
movw %ax, 0x4(%rcx)
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
callq 0xa2689
movl %eax, %ebp
testb %al, %al
je 0xb394e
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %rdx
callq 0xa26b2
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa26b2
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa5dd4
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb5480
movq %rbx, %rdi
movq 0x30(%rsp), %rsi
movq 0x18(%rsp), %rdx
callq 0xa26b2
jmp 0xb5482
cmpb $0x1, (%rax)
jne 0xb39e5
movq 0x10(%rax), %rcx
cmpq 0x110(%rbx), %rcx
jne 0xb39e5
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb39e5
xorl %eax, %eax
movq (%rsp), %rcx
cmpq %rcx, 0x20(%rsp)
sete %al
xorl $0x341, %eax            # imm = 0x341
jmp 0xb3918
movq %rbx, %rdi
movq 0x8(%rsp), %r13
movq %r13, %rsi
callq 0x89861
movq 0x8(%r13), %rbp
testb %al, %al
je 0xb3db4
cmpq 0x17a8(%rbx), %rbp
jne 0xb3db4
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x8(%rcx), %rax
cmpb $0x1, (%rax)
jne 0xb3db4
movq 0x10(%rax), %r13
cmpq 0x110(%rbx), %r13
jne 0xb3db4
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
movq %rcx, 0x10(%rsp)
callq 0xa2689
movq 0x10(%rsp), %rcx
testb %al, %al
je 0xb3db4
movq 0x10(%rcx), %rax
movq 0x8(%rax), %rax
cmpb $0x1, (%rax)
jne 0xb3db4
movq %rax, 0x30(%rsp)
movq 0x8(%rax), %rax
cmpl $0x2, %r12d
jne 0xb3aaa
movq 0x17e8(%rbx), %rcx
movq %rcx, 0x20(%rsp)
cmpq %rcx, %rax
je 0xb3b8d
cmpq 0x17f8(%rbx), %rax
je 0xb3b8d
cmpq 0x1800(%rbx), %rax
je 0xb3b8d
cmpq 0x1810(%rbx), %rax
movq 0x30(%rsp), %rax
jne 0xb3db4
movq 0x10(%rax), %rcx
addq $0x10, %rax
movq %rax, 0x30(%rsp)
movq %rcx, (%rsp)
movb (%rcx), %al
movb %al, 0x20(%rsp)
cmpb $0x1, 0x20(%rsp)
jne 0xb4e03
movq (%rsp), %rax
movq 0x8(%rax), %r13
movq %rbx, %rdi
movq %r13, %rsi
callq 0x86b4c
testb %al, %al
je 0xb41ad
movq 0x8(%r13), %rbp
movq %rbx, %rdi
movq %rbp, %rsi
callq 0xa2689
testb %al, %al
je 0xb41ad
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, (%rsp)
movb (%rax), %al
movb %al, 0x20(%rsp)
cmpb $0x1, %al
je 0xb3b3c
cmpq 0x1790(%rbx), %rbp
je 0xb3b3c
cmpq 0x118(%rbx), %rbp
jne 0xb41ad
movq 0x10(%r13), %rax
movq 0x8(%rax), %rbp
cmpb $0x1, (%rbp)
jne 0xb3ad3
movq 0x28(%rsp), %rax
cmpq %rax, 0x8(%rbp)
jne 0xb3ad3
movq %r12, %r13
movq 0x10(%rbp), %rbp
cmpb $0x1, (%rbp)
jne 0xb3b7f
movq 0x8(%rbp), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb41ad
decq %r13
jmp 0xb3b5c
testq %r13, %r13
je 0xb3ad3
jmp 0xb41ad
movq %rax, 0x40(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %r14
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb3db4
movq 0x10(%r14), %rax
movq %rax, (%rsp)
movq 0x20(%rsp), %rax
cmpq %rax, 0x40(%rsp)
je 0xb3cd5
movq (%rsp), %r14
movq 0x10(%r14), %rax
movq %rax, (%rsp)
cmpb $0x1, (%rax)
jne 0xb3be8
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
jne 0xb3bc7
cmpb $0x1, (%r14)
jne 0xb3db4
cmpq %r13, (%rsp)
jne 0xb3db4
movq 0x8(%r14), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x89861
testb %al, %al
je 0xb3db4
movq 0x28(%rsp), %rax
cmpq %rax, 0x8(%r14)
jne 0xb3db4
movq 0x10(%r14), %r13
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb3db4
movq 0x10(%r13), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
movq 0x10(%rsp), %rdx
movq 0x30(%rsp), %rcx
testb %al, %al
je 0xb3db4
xorl %eax, %eax
movq 0x40(%rsp), %rsi
cmpq 0x17f8(%rbx), %rsi
sete %al
xorl $0x335, %eax            # imm = 0x335
movq %rcx, %rbp
movq 0x8(%rsp), %rcx
movw %ax, 0x4(%rcx)
movq 0x8(%rdx), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %r13
movq %r13, %rdx
callq 0xa26b2
movq 0x10(%rbp), %rsi
movq %rbx, %rdi
movq %r13, %rdx
callq 0xa26b2
movq 0x10(%rbp), %r13
addq $0x10, %r13
movq (%r13), %rsi
movq 0x10(%rsi), %rax
cmpb $0x1, (%rax)
jne 0xb540c
leaq 0x10(%rsi), %r13
movq %rbx, %rdi
movq 0x18(%rsp), %rdx
callq 0xa26b2
jmp 0xb3cb1
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r14
movq 0x28(%rsp), %rax
cmpq %rax, 0x8(%r14)
jne 0xb3db4
movq %r14, %rdi
callq 0x313be
cmpq $0x3, %rax
jne 0xb3db4
movq 0x10(%r14), %r13
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb3db4
movq 0x10(%r13), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
movq 0x10(%rsp), %rdx
movq 0x30(%rsp), %rcx
testb %al, %al
je 0xb3db4
movq 0x8(%rsp), %rax
movw $0x342, 0x4(%rax)       # imm = 0x342
movq 0x8(%rdx), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %r13
movq %r13, %rdx
movq %rcx, %rbp
callq 0xa26b2
movq 0x10(%rbp), %rsi
movq %rbx, %rdi
movq %r13, %rdx
callq 0xa26b2
movq 0x10(%r14), %rsi
movq %rbx, %rdi
movq %r13, %rdx
callq 0xa5dd4
movq 0x10(%rbp), %rax
movq 0x10(%rax), %r13
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb41ad
movq %rbx, %rdi
movq %r13, %rsi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa26b2
jmp 0xb5420
cmpq 0x1810(%rbx), %rbp
jne 0xb3f70
movq 0x8(%rsp), %rdi
callq 0x313be
cmpq $0x4, %rax
jne 0xb3f70
movq 0x8(%rsp), %rax
movq 0x10(%rax), %r14
movq 0x8(%r14), %rsi
movq %rbx, %rdi
movq %rsi, %r13
callq 0x86b4c
testb %al, %al
je 0xb3f70
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb3f70
movq 0x10(%r14), %r14
movq 0x8(%r14), %rsi
movq %rbx, %rdi
movq %rsi, 0x10(%rsp)
callq 0x86b4c
testb %al, %al
je 0xb3f70
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb3f70
movq 0x10(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
movq %rsi, (%rsp)
callq 0x86b4c
testb %al, %al
je 0xb3f70
movq (%rsp), %rax
movq 0x8(%rax), %rax
cmpq 0x1790(%rbx), %rax
je 0xb3e79
cmpq 0x118(%rbx), %rax
jne 0xb3f70
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x89861
testb %al, %al
je 0xb3f70
movq 0x28(%rsp), %rax
cmpq %rax, 0x8(%r14)
jne 0xb3f70
movq 0x10(%r14), %r14
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb3f70
movq 0x10(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb3f70
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x89861
testb %al, %al
je 0xb4ff8
movq 0x28(%rsp), %rax
cmpq %rax, 0x8(%r14)
jne 0xb4ff8
movq 0x10(%r14), %r14
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb4ff8
movq 0x10(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb4ff8
movq 0x8(%rsp), %rax
movw $0x337, 0x4(%rax)       # imm = 0x337
movq 0x10(%r13), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
movl %eax, %ebp
movq %rbx, %rdi
movq %r13, %rsi
testb %al, %al
je 0xb55e7
movq 0x18(%rsp), %rdx
callq 0xa5dd4
jmp 0xb55f1
cmpl $0x1, %r12d
jne 0xb41ad
cmpq 0x1818(%rbx), %rbp
jne 0xb41ad
movq 0x8(%rsp), %rax
movq 0x10(%rax), %r14
cmpb $0x1, (%r14)
jne 0xb41ad
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb41ad
movb $0x1, %al
movl %eax, (%rsp)
xorl %eax, %eax
xorl %r13d, %r13d
movq 0x10(%r14), %r14
cmpb $0x1, (%r14)
jne 0xb4130
movq %rax, 0x10(%rsp)
movq 0x8(%r14), %rax
movq 0x8(%rax), %rcx
cmpb $0x1, (%rcx)
jne 0xb3fe9
movq 0x10(%rcx), %rdx
cmpq 0x110(%rbx), %rdx
je 0xb4073
cmpq 0x1790(%rbx), %rcx
jne 0xb41ad
movq 0x10(%r14), %rcx
movb $0x1, %r13b
cmpq 0x110(%rbx), %rcx
jne 0xb41ad
andq $0x0, 0x20(%r14)
movq 0x10(%rax), %rbp
movq 0x110(%rbx), %rax
cmpq %rax, %rbp
je 0xb41ad
cmpb $0x1, (%rbp)
jne 0xb402f
cmpq %rax, 0x10(%rbp)
je 0xb4094
movl $0x0, (%rsp)
movq 0x8(%rbp), %rax
cmpq 0x18f0(%rbx), %rax
je 0xb41ad
movq %rbx, %rdi
movq 0x28(%rsp), %rsi
movq %rbp, %rdx
xorl %ecx, %ecx
callq 0x86b07
testq %rax, %rax
jne 0xb41ad
movq %rbp, 0x20(%r14)
movq 0x10(%rsp), %rax
incq %rax
jmp 0xb3fb8
movq 0x8(%rcx), %rcx
movzbl (%rcx), %edx
leaq 0x6e01f(%rip), %rsi     # 0x1220a0
cmpb $0x1, (%rdx,%rsi)
jne 0xb41ad
movq %rcx, 0x18(%r14)
jmp 0xb400a
movq 0x8(%rbp), %rsi
movq %rbx, %rdi
movq %rsi, 0x20(%rsp)
callq 0xa2689
movq %rbx, %rdi
testb %al, %al
je 0xb40bb
movq %rbp, %rsi
movq 0x18(%rsp), %rdx
callq 0xa26b2
jmp 0xb4062
movq 0x20(%rsp), %rsi
callq 0x86b4c
testb %al, %al
je 0xb402f
movq 0x28(%rsp), %rax
movq 0x20(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb402f
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb402f
movq 0x20(%rsp), %rax
orb $0x10, 0x2(%rax)
movq 0x8(%rbp), %rax
movq %rax, 0x20(%r14)
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %rdx
callq 0xa26b2
cmpq $0x0, 0x20(%r14)
jne 0xb4066
jmp 0xb4036
testb $0x1, %r13b
je 0xb41ad
cmpq 0x110(%rbx), %r14
jne 0xb41ad
movq %rax, %rcx
movq 0x8(%rsp), %r13
movw $0x343, 0x4(%r13)       # imm = 0x343
xorl %eax, %eax
cmpq $0x6, %rcx
cmovaeq %rax, %rcx
leaq 0x617f1(%rip), %rax     # 0x115950
movq (%rax,%rcx,8), %rax
movq 0x10(%r13), %rcx
movq %rax, 0x28(%rcx)
movq 0x10(%r13), %rax
andq $-0x40001, (%rax)       # imm = 0xFFFBFFFF
movq 0x10(%r13), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%r13), %rdi
movq 0x8(%r14), %rsi
xorl %edx, %edx
callq 0xa26f4
testb $0x1, (%rsp)
je 0xb41ad
movq 0x8(%rsp), %rax
orb $0x8, 0x1(%rax)
orb $0x10, 0x1(%r15)
cmpb $0x1, 0x24f(%rbx)
jne 0xb558c
movq 0x8(%r15), %rbp
movl $0xfffffcbc, %eax       # imm = 0xFFFFFCBC
addl 0x4(%rbp), %eax
cmpw $-0x17, %ax
ja 0xb558c
movq 0x8(%rbp), %r13
cmpq 0x17e8(%rbx), %r13
jne 0xb444e
movq %rbp, %rdi
callq 0x313be
cmpq $0x4, %rax
jne 0xb444e
leal -0x1(%r12), %eax
cmpl $0x1, %eax
ja 0xb450f
movq 0x10(%rbp), %rax
movq %rax, 0x10(%rsp)
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rax, 0x20(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
cmpl $0x2, %r12d
movq %rsi, %r14
jne 0xb4a71
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa2689
movq %r14, %rsi
testb %al, %al
je 0xb4a71
movq 0x8(%rsp), %rdi
callq 0x313be
movq %r14, %rsi
cmpq $0x4, %rax
jne 0xb4a71
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x40(%rsp)
cmpq %r13, %rax
jne 0xb48bc
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq %rcx, 0x48(%rsp)
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, (%rsp)
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb48bc
movq %rbx, %rdi
movq 0x48(%rsp), %rsi
callq 0x89861
testb %al, %al
je 0xb48bc
movq %rbx, %rdi
movq (%rsp), %rsi
callq 0x89861
testb %al, %al
je 0xb48bc
movq 0x28(%rsp), %rax
movq 0x48(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb48bc
movq 0x48(%rsp), %rax
movq 0x10(%rax), %r13
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb48bc
movq 0x10(%r13), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb48bc
movq (%rsp), %rdi
callq 0xb26ed
testb %al, %al
je 0xb48bc
movq (%rsp), %rax
movq 0x10(%rax), %r13
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb48bc
movq 0x10(%r13), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
movq %rsi, 0x38(%rsp)
callq 0x89861
testb %al, %al
je 0xb48bc
movq 0x38(%rsp), %rax
movq 0x10(%rax), %r13
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb48bc
movq 0x10(%r13), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb48bc
orb $0x8, 0x1(%rbp)
movw $0x34f, 0x4(%rbp)       # imm = 0x34F
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %r13
movq %r13, %rdx
callq 0xa26b2
movq %rbx, %rdi
movq 0x20(%rsp), %rsi
movq %r13, %rdx
callq 0xa26b2
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r13, %rdx
callq 0xa26b2
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r13, %rdx
callq 0xa5dd4
movq (%rsp), %r12
movq 0x10(%r12), %rsi
movq %rbx, %rdi
movq %r13, %rdx
callq 0xa26b2
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r13, %rdx
callq 0xa5dd4
movq 0x10(%rbp), %rdi
movq 0x8(%r13), %rsi
movq 0x10(%r13), %rax
movq 0x8(%rax), %rdx
jmp 0xb5569
cmpq 0x1810(%rbx), %r13
jne 0xb558c
movq 0x10(%rbp), %r13
movq 0x8(%r13), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rax), %r14
cmpb $0x1, (%r14)
jne 0xb558c
movq 0x10(%r14), %rax
movq %rax, 0x10(%rsp)
cmpq 0x110(%rbx), %rax
jne 0xb558c
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq %rbp, %rdi
callq 0x313be
movq 0x10(%r13), %r13
movq 0x8(%r13), %rsi
movq %rax, %r14
cmpq $0x4, %rax
jne 0xb4789
movq %rbx, %rdi
movq %rsi, (%rsp)
callq 0x86b4c
testb %al, %al
je 0xb558c
movq (%rsp), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%r13), %rax
movq 0x8(%rax), %r13
jmp 0xb4794
cmpl $0x3, %r12d
jne 0xb558c
movq 0x10(%rbp), %r14
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%r14), %rax
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, (%rsp)
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq (%rsp), %rdi
callq 0x313be
cmpq $0x4, %rax
jne 0xb558c
movq 0x28(%rsp), %rax
movq (%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb558c
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdi
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x38(%rsp)
movq %rdi, %r13
callq 0x313be
cmpq $0x4, %rax
jne 0xb558c
movq 0x8(%rsp), %rdi
callq 0x313be
cmpq $0x4, %rax
jne 0xb558c
movq 0x38(%rsp), %rdi
callq 0x313be
cmpq $0x4, %rax
jne 0xb558c
movq 0x28(%rsp), %rax
cmpq %rax, 0x8(%r13)
jne 0xb558c
movq 0x28(%rsp), %rax
movq 0x8(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb558c
movq 0x28(%rsp), %rax
movq 0x38(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb558c
movq 0x10(%r13), %r14
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x8(%rsp), %rax
movq 0x10(%rax), %r12
movq 0x8(%r12), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%r14), %r14
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%r12), %r12
movq 0x8(%r12), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%r12), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
orb $0x8, 0x1(%rbp)
movw $0x34d, 0x4(%rbp)       # imm = 0x34D
movq 0x10(%r13), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa5dd4
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa5dd4
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa5dd4
movq 0x10(%rbp), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%rbp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%rbp), %rdi
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rax
movq 0x8(%rax), %rdx
jmp 0xb573f
movq %rsi, %r13
movq $0x0, (%rsp)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x86b4c
testb %al, %al
je 0xb558c
movq 0x8(%r13), %rax
cmpq 0x1790(%rbx), %rax
je 0xb47c1
cmpq 0x118(%rbx), %rax
jne 0xb558c
movq 0x10(%r13), %rax
movq 0x8(%rax), %rax
movq %rax, 0x20(%rsp)
cmpb $0x1, (%rax)
jne 0xb558c
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %rsi, %r13
callq 0x86b4c
testb %al, %al
je 0xb558c
movq 0x20(%rsp), %rdi
callq 0xb26ed
testb %al, %al
je 0xb4e7a
movq 0x8(%r13), %rsi
movq %rbx, %rdi
movq %rsi, 0x30(%rsp)
callq 0xa2689
movb %al, 0x40(%rsp)
testb %al, %al
je 0xb5189
cmpq $0x3, %r14
jne 0xb5134
movq 0x10(%r13), %rax
movq 0x8(%rax), %rax
movq %rax, 0x38(%rsp)
cmpb $0x1, (%rax)
jne 0xb558c
movq 0x28(%rsp), %rax
movq 0x38(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb558c
movq 0x38(%rsp), %rax
movq 0x10(%rax), %r13
cmpb $0x1, (%r13)
jne 0xb558c
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
cmpl $0x1, %r12d
jne 0xb5663
movq 0x10(%rsp), %rax
cmpq %rax, 0x10(%r13)
jne 0xb558c
cmpq $0x3, %r14
jne 0xb57f9
xorl %eax, %eax
cmpl $0x1, %r12d
sete %al
orb $0x8, 0x1(%rbp)
xorl $0x351, %eax            # imm = 0x351
movw %ax, 0x4(%rbp)
jmp 0xb5862
movq 0x40(%rsp), %rax
cmpq 0x1820(%rbx), %rax
movq %r14, %rsi
jne 0xb4a71
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq %rcx, (%rsp)
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x40(%rsp)
movq %rbx, %rdi
callq 0xa2689
movq %r14, %rsi
testb %al, %al
je 0xb4a71
movq %rbx, %rdi
movq (%rsp), %rsi
callq 0x89861
movq %r14, %rsi
testb %al, %al
je 0xb4a71
movq %rbx, %rdi
movq 0x40(%rsp), %rsi
callq 0x89861
movq %r14, %rsi
testb %al, %al
je 0xb4a71
movq 0x28(%rsp), %rax
movq (%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb4a71
movq 0x28(%rsp), %rax
movq 0x40(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb4a71
movq (%rsp), %rax
movq 0x10(%rax), %r13
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
movq %r14, %rsi
testb %al, %al
je 0xb4a71
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
movq %r14, %rsi
testb %al, %al
je 0xb4a71
movq 0x10(%r13), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
movq %r14, %rsi
testb %al, %al
je 0xb4a71
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
movq %r14, %rsi
testb %al, %al
je 0xb4a71
orb $0x8, 0x1(%rbp)
movw $0x34e, 0x4(%rbp)       # imm = 0x34E
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %r12
movq %r12, %rdx
callq 0xa26b2
movq 0x10(%rbp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0xa26b2
movq 0x8(%rsp), %r14
movq 0x10(%r14), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0xa26b2
movq (%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0xa5dd4
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0xa5dd4
movq 0x10(%rbp), %rdi
movq 0x8(%r12), %rsi
movq 0x10(%r12), %rax
movq 0x8(%rax), %rdx
callq 0xa26f4
movq %rbp, (%rsp)
movq %r14, 0x38(%rsp)
jmp 0xb5576
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb4ab7
movq 0x8(%rsp), %rax
cmpb $0x1, (%rax)
jne 0xb4ab7
movq 0x8(%rsp), %rdi
callq 0xb26ed
testb %al, %al
je 0xb4ab7
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
jne 0xb4ab7
movq 0x10(%rax), %r13
cmpb $0x1, (%r13)
movq 0x8(%rsp), %rcx
movq %rcx, (%rsp)
je 0xb4b10
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
callq 0xa2689
testb %al, %al
je 0xb558c
cmpb $0x1, (%r14)
jne 0xb558c
movq %r14, %rdi
callq 0xb26ed
testb %al, %al
je 0xb558c
movq 0x10(%r14), %rax
cmpb $0x1, (%rax)
jne 0xb558c
movq 0x10(%rax), %r13
cmpb $0x1, (%r13)
movq %r14, (%rsp)
movq 0x30(%rsp), %rcx
movq %rcx, 0x20(%rsp)
jne 0xb558c
movq 0x10(%r13), %rdx
movq 0x110(%rbx), %rcx
movq %rdx, %r14
cmpq %rcx, %rdx
je 0xb4c45
cmpl $0x1, %r12d
jne 0xb558c
cmpb $0x1, (%r14)
jne 0xb558c
cmpq %rcx, 0x10(%r14)
jne 0xb558c
movq 0x8(%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x8(%r13), %r12
movq 0x8(%r14), %rax
movq %rax, 0x38(%rsp)
movq %rbx, %rdi
movq %r12, %rsi
callq 0x86b4c
testb %al, %al
je 0xb558c
movq %rbx, %rdi
movq 0x38(%rsp), %rsi
callq 0x86b4c
testb %al, %al
je 0xb558c
movq 0x28(%rsp), %rax
cmpq %rax, 0x8(%r12)
jne 0xb558c
movq 0x28(%rsp), %rax
movq 0x38(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb558c
movq 0x10(%r12), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq %rbx, %rdi
movq 0x30(%rsp), %rsi
callq 0x86b4c
testb %al, %al
je 0xb5695
movq 0x28(%rsp), %rax
movq 0x30(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb5695
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb5695
movq 0x8(%rsp), %rax
cmpq %rax, (%rsp)
jne 0xb558c
addq $0x10, 0x30(%rsp)
orb $0x8, 0x1(%rbp)
movw $0x34a, %ax             # imm = 0x34A
jmp 0xb56d6
movq 0x8(%rax), %rsi
movq %rbx, %rdi
movq %rsi, 0x8(%rsp)
callq 0xa2689
movq 0x8(%r13), %rcx
movq %rcx, 0x38(%rsp)
testb %al, %al
je 0xb4cf0
movq 0x38(%rsp), %rax
cmpb $0x1, (%rax)
jne 0xb558c
movq 0x28(%rsp), %rax
movq 0x38(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb558c
movq 0x38(%rsp), %rax
movq 0x10(%rax), %r13
cmpb $0x1, (%r13)
jne 0xb558c
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%r13), %r13
cmpl $0x1, %r12d
jne 0xb54c2
cmpq %r14, %r13
jne 0xb558c
orb $0x8, 0x1(%rbp)
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
xorl %eax, %eax
movq (%rsp), %rdx
cmpq 0x8(%rcx), %rdx
sete %al
xorl $0x345, %eax            # imm = 0x345
jmp 0xb550e
cmpl $0x1, %r12d
jne 0xb558c
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
callq 0x86b4c
testb %al, %al
je 0xb558c
movq %rbx, %rdi
movq 0x38(%rsp), %rsi
callq 0x86b4c
testb %al, %al
je 0xb558c
movq 0x28(%rsp), %rax
movq 0x8(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb558c
movq 0x28(%rsp), %rax
movq 0x38(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb558c
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
orb $0x8, 0x1(%rbp)
movq 0x10(%rsp), %rsi
movq 0x10(%rsi), %rax
movq 0x10(%rax), %rax
xorl %ecx, %ecx
movq (%rsp), %r12
cmpq 0x8(%rax), %r12
sete %cl
xorl $0x347, %ecx            # imm = 0x347
movw %cx, 0x4(%rbp)
movq %rbx, %rdi
movq 0x18(%rsp), %r13
movq %r13, %rdx
callq 0xa26b2
movq %rbx, %rdi
movq 0x20(%rsp), %rsi
movq %r13, %rdx
callq 0xa26b2
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r13, %rdx
callq 0xa26b2
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r13, %rdx
callq 0xa26b2
movq 0x10(%rbp), %rdi
movq 0x8(%r13), %rsi
jmp 0xb5567
movq 0x8(%rsp), %rcx
movw $0x338, 0x4(%rcx)       # imm = 0x338
movq (%r14), %rax
movq 0x10(%rsp), %rdx
movq %rax, 0x28(%rdx)
movq 0x10(%rcx), %rax
andq $-0x40001, (%rax)       # imm = 0xFFFBFFFF
movq 0x10(%rcx), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %rdx
callq 0xa26b2
testl %r12d, %r12d
je 0xb5044
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rdi
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rsi
cmpl $0x1, %r12d
jne 0xb5032
xorl %edx, %edx
jmp 0xb503f
cmpq $0x0, (%rsp)
je 0xb558c
cmpq $0x4, %r14
setne %al
cmpl $0x2, %r12d
setne %cl
orb %al, %cl
jne 0xb558c
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x89861
testb %al, %al
je 0xb558c
movq 0x28(%rsp), %rax
cmpq %rax, 0x8(%r14)
jne 0xb558c
movq 0x10(%r14), %r12
movq 0x8(%r12), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%r12), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x8(%r13), %rsi
movq 0x10(%r13), %rax
movq 0x8(%rax), %r13
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq %rbx, %rdi
movq %r13, %rsi
callq 0x89861
testb %al, %al
je 0xb558c
movq 0x28(%rsp), %rax
cmpq %rax, 0x8(%r13)
jne 0xb558c
movq 0x10(%r13), %r12
movq 0x8(%r12), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%r12), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
orb $0x8, 0x1(%rbp)
movw $0x355, 0x4(%rbp)       # imm = 0x355
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %r12
movq %r12, %rdx
callq 0xa5dd4
movq %rbx, %rdi
movq (%rsp), %rsi
movq %r12, %rdx
callq 0xa26b2
movq 0x10(%r14), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0xa5dd4
movq 0x20(%rsp), %r14
movq 0x10(%r14), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0xa26b2
movq 0x10(%r13), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0xa5dd4
movq 0x10(%rbp), %rdi
movq 0x8(%r12), %rsi
movq 0x10(%r12), %rax
movq 0x8(%rax), %rdx
callq 0xa26f4
movq %r14, 0x28(%rbp)
andb $-0x5, 0x2(%rbp)
movq 0x10(%r13), %rax
movq %rax, 0x38(%rsp)
jmp 0xb58d0
movq 0x8(%rsp), %rax
movw $0x336, 0x4(%rax)       # imm = 0x336
movq 0x10(%r13), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
movl %eax, %ebp
movq %rbx, %rdi
movq %r13, %rsi
testb %al, %al
je 0xb524a
movq 0x18(%rsp), %rdx
callq 0xa5dd4
jmp 0xb5254
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
callq 0xa26f4
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movb $0x1, %al
movl %eax, (%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rax
cmpb $0x1, (%rax)
jne 0xb4199
movq %rax, %r14
movq 0x8(%rax), %rbp
movq 0x10(%rbp), %rax
movq 0x8(%rax), %r13
movq %rbx, %rdi
movq %rbp, %rsi
movq 0x18(%rsp), %rdx
callq 0xa26b2
cmpb $0x1, (%r13)
jne 0xb50a5
movq 0x28(%rsp), %rax
cmpq %rax, 0x8(%r13)
je 0xb50d0
movq %rbx, %rdi
movq %r13, %rsi
callq 0xa2689
testb %al, %al
je 0xb50c7
movq 0x10(%rbp), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %rdx
callq 0xa26b2
jmp 0xb50ec
movl $0x0, (%rsp)
jmp 0xb50ec
movq 0x10(%rbp), %rax
orq $0x100000, (%rax)       # imm = 0x100000
movq 0x10(%r13), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %rdx
callq 0xa5dd4
movq %rbp, %rdi
movq 0x10(%rsp), %rsi
xorl %edx, %edx
callq 0xa26f4
testl %r12d, %r12d
je 0xb5128
cmpl $0x1, %r12d
jne 0xb510a
xorl %edx, %edx
jmp 0xb5117
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rsi
movq %rbp, %rdi
callq 0xabb45
movq %r14, %rax
addq $0x10, %rax
jmp 0xb5068
cmpq $0x4, %r14
setne %al
cmpl $0x2, %r12d
setne %cl
orb %al, %cl
jne 0xb5189
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
movq %rsi, 0x38(%rsp)
callq 0x89861
testb %al, %al
je 0xb5177
movq 0x28(%rsp), %rax
movq 0x38(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
je 0xb482c
movq 0x10(%r13), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
jmp 0xb52f5
cmpq $0x4, %r14
jne 0xb558c
movq 0x10(%r13), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
cmpl $0x1, %r12d
jne 0xb52da
movq %rbx, %rdi
movq 0x30(%rsp), %rsi
callq 0x86b4c
testb %al, %al
je 0xb558c
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
callq 0x86b4c
testb %al, %al
je 0xb558c
movq 0x28(%rsp), %rax
movq 0x30(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb558c
movq 0x28(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb558c
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
orb $0x8, 0x1(%rbp)
movw $0x352, 0x4(%rbp)       # imm = 0x352
movq 0x30(%rsp), %rax
jmp 0xb5382
movq 0x18(%rsp), %rdx
callq 0xa26b2
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
movq %rbx, %rdi
testb %al, %al
je 0xb5281
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
callq 0xa5dd4
jmp 0xb5292
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
callq 0xa26b2
xorl %ebp, %ebp
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa5dd4
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rax
movq 0x8(%rax), %rdx
callq 0xa26f4
testb %bpl, %bpl
jne 0xb419f
jmp 0xb41ad
cmpl $0x2, %r12d
jne 0xb558c
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x38(%rsp)
movq %rbx, %rdi
movq 0x38(%rsp), %rsi
callq 0xa2689
testb %al, %al
je 0xb558c
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
callq 0x89861
testb %al, %al
je 0xb558c
movq 0x28(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb558c
movq 0x10(%rsp), %rax
movq 0x10(%rax), %r14
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
cmpb $0x0, 0x40(%rsp)
je 0xb5751
orb $0x8, 0x1(%rbp)
movw $0x354, 0x4(%rbp)       # imm = 0x354
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %rdx
callq 0xa26b2
movq 0x10(%rsp), %r13
movq 0x10(%r13), %rax
movq 0x20(%rsp), %rcx
movq %rax, 0x28(%rcx)
andb $-0x5, 0x2(%rcx)
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa5dd4
movq %rbx, %rdi
movq (%rsp), %rsi
movq %r14, %rdx
callq 0xa5dd4
movq 0x10(%r13), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa5dd4
movq 0x10(%rbp), %rdi
movq 0x8(%r14), %rsi
cmpl $0x1, %r12d
jne 0xb57d4
xorl %edx, %edx
jmp 0xb57e1
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
callq 0xa26f4
jmp 0xb41a8
movq 0x10(%r14), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa5dd4
movq 0x8(%rsp), %r13
movq 0x10(%r13), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rdi
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rax
movq 0x8(%rax), %rdx
callq 0xa26f4
movq 0x30(%rsp), %rbp
movq 0x10(%rbp), %rdi
movq 0x10(%r13), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rsi
xorl %edx, %edx
callq 0xa26f4
movq 0x10(%rbp), %rdi
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rax
movq 0x8(%rax), %rdx
callq 0xabb45
jmp 0xb37ce
xorl %ebp, %ebp
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x10(%rdi), %rax
testb $0x4, 0x6(%rax)
je 0xb52cc
movq 0x30(%rsp), %rax
testb $0x4, 0x6(%rax)
je 0xb52cc
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rsi
cmpl $0x1, %r12d
jne 0xb55d9
xorl %edx, %edx
jmp 0xb52c7
cmpb $0x1, (%r13)
jne 0xb558c
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
cmpq %r14, 0x10(%r13)
jne 0xb558c
orb $0x8, 0x1(%rbp)
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
xorl %eax, %eax
movq (%rsp), %rdx
cmpq 0x8(%rcx), %rdx
setne %al
addl $0x34b, %eax            # imm = 0x34B
movw %ax, 0x4(%rbp)
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa26b2
movq %rbx, %rdi
movq 0x20(%rsp), %rsi
movq %r14, %rdx
callq 0xa26b2
movq (%rsp), %r12
movq 0x10(%r12), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa26b2
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa5dd4
movq 0x10(%rbp), %rdi
movq 0x8(%r14), %rsi
xorl %edx, %edx
callq 0xa26f4
movq %r12, 0x28(%rbp)
andb $-0x5, 0x2(%rbp)
movq 0x38(%rsp), %rax
movq (%rsp), %rcx
movq %rax, 0x28(%rcx)
andb $-0x5, 0x2(%rcx)
orb $0x10, 0x1(%r15)
movq 0x28(%rsp), %rax
cmpb $0xa, (%rax)
jne 0xb55c2
movq 0x110(%rbx), %rax
movq %rax, 0x540(%rbx)
movq 0x50(%rsp), %rdx
andq $0x0, (%rdx)
movq 0x90(%rbx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq %rdx, (%rax)
andw $0x0, 0x24e(%rbx)
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
jmp 0xb52c3
movq 0x18(%rsp), %rdx
callq 0xa26b2
movq %rbx, %rdi
movq 0x10(%rsp), %r14
movq %r14, %rsi
movq 0x18(%rsp), %r13
movq %r13, %rdx
callq 0xa26b2
movq 0x10(%r14), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r13, %rdx
callq 0xa5dd4
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r13, %rdx
callq 0xa5dd4
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x8(%r13), %rsi
movq 0x10(%r13), %rax
movq 0x8(%rax), %rdx
callq 0xa26f4
testb %bpl, %bpl
jne 0xb419f
jmp 0xb41ad
cmpl $0x2, %r12d
jne 0xb558c
movq 0x10(%r13), %r13
cmpb $0x1, (%r13)
jne 0xb558c
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
jne 0xb4888
jmp 0xb558c
movq %rbx, %rdi
movq 0x30(%rsp), %rsi
callq 0xa2689
testb %al, %al
je 0xb558c
orb $0x8, 0x1(%rbp)
movq (%rsp), %rdx
leaq 0x10(%rdx), %rax
movq %rax, 0x30(%rsp)
movq 0x10(%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(%rbp)
movq 0x30(%rsp), %rax
movq (%rax), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%rbp), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa26b2
movq %rbx, %rdi
movq 0x20(%rsp), %rsi
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%r12), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa26b2
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%rbp), %rdi
movq 0x8(%r14), %rsi
xorl %edx, %edx
callq 0xa26f4
movq (%rsp), %rax
movq %rax, 0x28(%rbp)
jmp 0xb5572
movq %rbx, %rdi
movq 0x30(%rsp), %rsi
callq 0x89861
testb %al, %al
je 0xb558c
movq 0x28(%rsp), %rax
movq 0x30(%rsp), %rcx
cmpq %rax, 0x8(%rcx)
jne 0xb558c
movq 0x30(%rsp), %rax
movq 0x10(%rax), %r14
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
orb $0x8, 0x1(%rbp)
movw $0x353, 0x4(%rbp)       # imm = 0x353
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %rdx
callq 0xa5dd4
jmp 0xb5393
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
callq 0xa26f4
movq %rbp, (%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x38(%rsp)
jmp 0xb5576
movq (%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r13
movq 0x10(%r13), %r14
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
movq 0x10(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xa2689
testb %al, %al
je 0xb558c
orb $0x8, 0x1(%rbp)
movw $0x356, 0x4(%rbp)       # imm = 0x356
movq %rbx, %rdi
movq (%rsp), %rsi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa26b2
movq 0x10(%r13), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa5dd4
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %r14
movq %r14, %rdx
callq 0xa5dd4
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa26b2
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0xa5dd4
movq 0x10(%rbp), %rdi
movq 0x8(%r14), %rsi
cmpl $0x1, %r12d
jne 0xb58b1
xorl %edx, %edx
jmp 0xb58be
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rdx
callq 0xa26f4
movq 0x20(%rsp), %r14
movq %r14, 0x28(%rbp)
andb $-0x5, 0x2(%rbp)
movq %r14, (%rsp)
jmp 0xb5576