// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: g_for_each_closure
static s7_pointer g_for_each_closure(s7_scheme *sc, s7_pointer f, s7_pointer seq)
                {
                    s7_pointer body;

                    body = closure_body(f);
                    if (!no_cell_opt(body))
                    {
                        s7_function func;
                        s7_pointer old_e, expr, pars, val, slot;

                        old_e = sc->envir;
                        pars = closure_args(f);

                        if (is_float_vector(seq))
                            val = real_zero;
                        else
                        {
                            if ((is_int_vector(seq)) || (is_byte_vector(seq)))
                                val = small_int(0);
                            else val = sc->F;
                        }

                        new_frame_with_slot(sc, closure_let(f), sc->envir, car(pars), val);
                        slot = let_slots(sc->envir);

                        if (is_null(cdr(body)))
                        {
                            expr = car(body);
                            func = s7_optimize_nr(sc, body);
                        }
                        else
                        {
                            expr = cons(sc, sc->begin_symbol, body);
                            sc->v = expr; /* GC protection? */
                            func = s7_cell_optimize(sc, cons(sc, expr, sc->nil), true);
                        }

                        if (func)
                        {
                            if (is_pair(seq))
                            {
                                s7_pointer x, y;
                                for (x = seq, y = x; is_pair(x); )
                                {
                                    slot_set_value(slot, car(x));
                                    func(sc, expr);
                                    x = cdr(x);
                                    if (is_pair(x))
                                    {
                                        slot_set_value(slot, car(x));
                                        func(sc, expr);
                                        y = cdr(y);
                                        x = cdr(x);
                                        if (x == y) return(sc->unspecified);
                                    }
                                }
                                return(sc->unspecified);
                            }

                            if (is_float_vector(seq))
                            {
                                s7_double *vals;
                                s7_int i, len;
                                len = vector_length(seq);
                                vals = float_vector_floats(seq);

                                if ((len > 1000) &&
                                        (!tree_has_setters(sc, body)))
                                {
                                    s7_pointer sv;
                                    sv = s7_make_mutable_real(sc, 0.0);
                                    slot_set_value(slot, sv);
                                    for (i = 0; i < len; i++)
                                    {
                                        real(sv) = vals[i];
                                        func(sc, expr);
                                    }
                                    return(sc->unspecified);
                                }
                                for (i = 0; i < len; i++)
                                {
                                    slot_set_value(slot, make_real(sc, vals[i]));
                                    func(sc, expr);
                                }
                                return(sc->unspecified);
                            }

                            /* if no set! vector|list|let|hash-table-set! set-car!|cdr! mutable arg? */
                            if (is_int_vector(seq))
                            {
                                s7_int *vals;
                                s7_int i, len;
                                len = vector_length(seq);
                                vals = int_vector_ints(seq);

                                if ((len > 1000) &&
                                        (!tree_has_setters(sc, body)))
                                {
                                    s7_pointer sv;
                                    sv = make_mutable_integer(sc, 0);
                                    slot_set_value(slot, sv);
                                    /* since there are no setters, the inner step is also mutable if there is one
                                     *    func=opt_cell_any_nr, sc->opts[0]->v[0].fp(sc->opts[0]) fp=opt_do_1 -> mutable version
                                     *    see opt_do_1
                                     */
                                    for (i = 0; i < len; i++)
                                    {
                                        integer(sv) = vals[i];
                                        func(sc, expr);
                                    }
                                    return(sc->unspecified);
                                }

                                for (i = 0; i < len; i++)
                                {
                                    slot_set_value(slot, make_integer(sc, vals[i]));
                                    func(sc, expr);
                                }
                                return(sc->unspecified);
                            }

                            sc->z = seq;
                            if (!is_iterator(sc->z))
                                sc->z = s7_make_iterator(sc, sc->z);
                            seq = sc->z;
                            push_stack_no_let(sc, OP_GC_PROTECT, seq, f);
                            sc->z = sc->nil;
                            while (true)
                            {
                                slot_set_value(slot, s7_iterate(sc, seq));
                                if (iterator_is_at_end(seq))
                                {
                                    unstack(sc);
                                    /* free_cell(sc, seq); */ /* 16-Jan-19 */
                                    return(sc->unspecified);
                                }
                                func(sc, expr);
                            }
                        }
                        set_no_cell_opt(body);
                        sc->envir = old_e;
                    }

                    if ((is_null(cdr(body))) &&
                            (is_pair(seq)))
                    {
                        s7_pointer c;
                        c = make_counter(sc, seq);
                        counter_set_result(c, seq);
                        push_stack(sc, OP_FOR_EACH_2, c, f);
                        return(sc->unspecified);
                    }

                    sc->z = seq;
                    if (!is_iterator(sc->z))
                        sc->z = s7_make_iterator(sc, sc->z);
                    push_stack(sc, OP_FOR_EACH_1, make_counter(sc, sc->z), f);
                    sc->z = sc->nil;
                    return(sc->unspecified);
                }

// Assembly:
subq $0x188, %rsp            # imm = 0x188
movq %rdi, 0x148(%rsp)
movq %rsi, 0x140(%rsp)
movq %rdx, 0x138(%rsp)
movq 0x140(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x130(%rsp)
movq 0x130(%rsp), %rax
movq (%rax), %rax
andq $0x4000000, %rax        # imm = 0x4000000
cmpq $0x0, %rax
jne 0x15b8be
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x120(%rsp)
movq 0x140(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x110(%rsp)
movq 0x138(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x17, %eax
jne 0x15ad37
movq 0xbfa5b(%rip), %rax     # 0x21a788
movq %rax, 0x108(%rsp)
jmp 0x15ad81
movq 0x138(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x16, %eax
je 0x15ad57
movq 0x138(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x18, %eax
jne 0x15ad68
movq 0xbb722(%rip), %rax     # 0x216480
movq %rax, 0x108(%rsp)
jmp 0x15ad7f
movq 0x148(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0x108(%rsp)
jmp 0x15ad81
jmp 0x15ad83
movq 0x110(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0xe8(%rsp)
movq 0x108(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq 0x148(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x148(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x15add4
movq 0x148(%rsp), %rdi
callq 0xc670
movq 0x148(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0xf8(%rsp)
movq 0xf8(%rsp), %rax
movq $0x20001c, (%rax)       # imm = 0x20001C
movq 0x148(%rsp), %rax
movq 0x250(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x250(%rax)
movq 0xf8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x140(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0xf8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0xf8(%rsp), %rcx
movq 0x148(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x148(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0xf0(%rsp)
movq 0xf0(%rsp), %rax
movq $0x20, (%rax)
movq 0xe8(%rsp), %rcx
movq 0xf0(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0xe0(%rsp), %rcx
movq 0xf0(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0xf0(%rsp), %rcx
movq 0xe8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x148(%rsp), %rax
movq 0x250(%rax), %rcx
movq 0xe8(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0xe8(%rsp), %rax
movl 0x28(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x28(%rax)
movq 0xf0(%rsp), %rax
movq $0x0, 0x18(%rax)
movq 0xf0(%rsp), %rcx
movq 0xf8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x100(%rsp)
movq 0x130(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x148(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x15af8d
movq 0x130(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x118(%rsp)
movq 0x148(%rsp), %rdi
movq 0x130(%rsp), %rsi
callq 0x47ae0
movq %rax, 0x128(%rsp)
jmp 0x15b168
movq 0x148(%rsp), %rax
movq 0x1808(%rax), %rax
movq %rax, 0xd0(%rsp)
movq 0x130(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq 0x148(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x148(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x15afe1
movq 0x148(%rsp), %rdi
callq 0xc670
movq 0x148(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0xd8(%rsp)
movq 0xd8(%rsp), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq 0xd0(%rsp), %rcx
movq 0xd8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0xc8(%rsp), %rcx
movq 0xd8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0xd8(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0xc0(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0x118(%rsp), %rcx
movq 0x148(%rsp), %rax
movq %rcx, 0x4d0(%rax)
movq 0x148(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x118(%rsp), %rax
movq %rax, 0xb0(%rsp)
movq 0x148(%rsp), %rax
movq 0x110(%rax), %rax
movq %rax, 0xa8(%rsp)
movq 0x148(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x148(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x15b0d9
movq 0x148(%rsp), %rdi
callq 0xc670
movq 0x148(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0xb8(%rsp)
movq 0xb8(%rsp), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq 0x8(%rsp), %rdi
movq 0xb0(%rsp), %rcx
movq 0xb8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0xa8(%rsp), %rcx
movq 0xb8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0xb8(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0xa0(%rsp), %rsi
movl $0x1, %edx
callq 0x15c760
movq %rax, 0x128(%rsp)
cmpq $0x0, 0x128(%rsp)
je 0x15b895
movq 0x138(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x15b2c4
movq 0x138(%rsp), %rax
movq %rax, 0x98(%rsp)
movq 0x98(%rsp), %rax
movq %rax, 0x90(%rsp)
movq 0x98(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x15b2a8
movq 0x98(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x100(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x128(%rsp), %rax
movq 0x148(%rsp), %rdi
movq 0x118(%rsp), %rsi
callq *%rax
movq 0x98(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x98(%rsp)
movq 0x98(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x15b2a3
movq 0x98(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x100(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x128(%rsp), %rax
movq 0x148(%rsp), %rdi
movq 0x118(%rsp), %rsi
callq *%rax
movq 0x90(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x90(%rsp)
movq 0x98(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x98(%rsp)
movq 0x98(%rsp), %rax
cmpq 0x90(%rsp), %rax
jne 0x15b2a1
movq 0x148(%rsp), %rax
movq 0x130(%rax), %rax
movq %rax, 0x150(%rsp)
jmp 0x15bca0
jmp 0x15b2a3
jmp 0x15b1ab
movq 0x148(%rsp), %rax
movq 0x130(%rax), %rax
movq %rax, 0x150(%rsp)
jmp 0x15bca0
movq 0x138(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x17, %eax
jne 0x15b4e8
movq 0x138(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x78(%rsp)
movq 0x138(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x88(%rsp)
cmpq $0x3e8, 0x78(%rsp)      # imm = 0x3E8
jle 0x15b3d5
movq 0x148(%rsp), %rdi
movq 0x130(%rsp), %rsi
callq 0x15c7f0
testb $0x1, %al
jne 0x15b3d5
movq 0x148(%rsp), %rdi
xorps %xmm0, %xmm0
callq 0x12220
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rcx
movq 0x100(%rsp), %rax
movq %rcx, 0x10(%rax)
movq $0x0, 0x80(%rsp)
movq 0x80(%rsp), %rax
cmpq 0x78(%rsp), %rax
jge 0x15b3b9
movq 0x88(%rsp), %rax
movq 0x80(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x70(%rsp), %rax
movsd %xmm0, 0x8(%rax)
movq 0x128(%rsp), %rax
movq 0x148(%rsp), %rdi
movq 0x118(%rsp), %rsi
callq *%rax
movq 0x80(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x80(%rsp)
jmp 0x15b35b
movq 0x148(%rsp), %rax
movq 0x130(%rax), %rax
movq %rax, 0x150(%rsp)
jmp 0x15bca0
movq $0x0, 0x80(%rsp)
movq 0x80(%rsp), %rax
cmpq 0x78(%rsp), %rax
jge 0x15b4cc
movq 0x88(%rsp), %rax
movq 0x80(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, 0x60(%rsp)
movq 0x148(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x148(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x15b43c
movq 0x148(%rsp), %rdi
callq 0xc670
movq 0x148(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rax
movq $0xd, (%rax)
movsd 0x60(%rsp), %xmm0
movq 0x68(%rsp), %rax
movsd %xmm0, 0x8(%rax)
movq 0x68(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rcx
movq 0x100(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x128(%rsp), %rax
movq 0x148(%rsp), %rdi
movq 0x118(%rsp), %rsi
callq *%rax
movq 0x80(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x80(%rsp)
jmp 0x15b3e1
movq 0x148(%rsp), %rax
movq 0x130(%rax), %rax
movq %rax, 0x150(%rsp)
jmp 0x15bca0
movq 0x138(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x16, %eax
jne 0x15b71e
movq 0x138(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x138(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x50(%rsp)
cmpq $0x3e8, 0x40(%rsp)      # imm = 0x3E8
jle 0x15b5e3
movq 0x148(%rsp), %rdi
movq 0x130(%rsp), %rsi
callq 0x15c7f0
testb $0x1, %al
jne 0x15b5e3
movq 0x148(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xdd130
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rcx
movq 0x100(%rsp), %rax
movq %rcx, 0x10(%rax)
movq $0x0, 0x48(%rsp)
movq 0x48(%rsp), %rax
cmpq 0x40(%rsp), %rax
jge 0x15b5c7
movq 0x50(%rsp), %rax
movq 0x48(%rsp), %rcx
movq (%rax,%rcx,8), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x128(%rsp), %rax
movq 0x148(%rsp), %rdi
movq 0x118(%rsp), %rsi
callq *%rax
movq 0x48(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x48(%rsp)
jmp 0x15b57a
movq 0x148(%rsp), %rax
movq 0x130(%rax), %rax
movq %rax, 0x150(%rsp)
jmp 0x15bca0
movq $0x0, 0x48(%rsp)
movq 0x48(%rsp), %rax
cmpq 0x40(%rsp), %rax
jge 0x15b702
movq 0x50(%rsp), %rax
movq 0x48(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
andq $-0x800, %rax           # imm = 0xF800
cmpq $0x0, %rax
jne 0x15b639
movq 0x30(%rsp), %rcx
leaq 0xbae54(%rip), %rax     # 0x216480
movq (%rax,%rcx,8), %rax
movq %rax, (%rsp)
jmp 0x15b6bb
jmp 0x15b63b
movq 0x148(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x148(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x15b668
movq 0x148(%rsp), %rdi
callq 0xc670
movq 0x148(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq $0xb, (%rax)
movq 0x30(%rsp), %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rcx
movq 0x100(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x128(%rsp), %rax
movq 0x148(%rsp), %rdi
movq 0x118(%rsp), %rsi
callq *%rax
movq 0x48(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x48(%rsp)
jmp 0x15b5ec
movq 0x148(%rsp), %rax
movq 0x130(%rax), %rax
movq %rax, 0x150(%rsp)
jmp 0x15bca0
movq 0x138(%rsp), %rcx
movq 0x148(%rsp), %rax
movq %rcx, 0x4f0(%rax)
movq 0x148(%rsp), %rax
movq 0x4f0(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1d, %eax
je 0x15b77a
movq 0x148(%rsp), %rdi
movq 0x148(%rsp), %rax
movq 0x4f0(%rax), %rsi
callq 0xdb80
movq %rax, %rcx
movq 0x148(%rsp), %rax
movq %rcx, 0x4f0(%rax)
movq 0x148(%rsp), %rax
movq 0x4f0(%rax), %rax
movq %rax, 0x138(%rsp)
movq 0x140(%rsp), %rcx
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq 0x138(%rsp), %rcx
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rax
movl $0x1, %ecx
movq %rcx, 0x18(%rax)
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x148(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x148(%rsp), %rax
movq %rcx, 0x4f0(%rax)
movq 0x148(%rsp), %rdi
movq 0x138(%rsp), %rsi
callq 0xe430
movq %rax, %rcx
movq 0x100(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x138(%rsp), %rcx
movabsq $0x80000000, %rax       # imm = 0x80000000
andq (%rcx), %rax
cmpq $0x0, %rax
jne 0x15b876
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rcx
addq $-0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x148(%rsp), %rax
movq 0x130(%rax), %rax
movq %rax, 0x150(%rsp)
jmp 0x15bca0
movq 0x128(%rsp), %rax
movq 0x148(%rsp), %rdi
movq 0x118(%rsp), %rsi
callq *%rax
jmp 0x15b807
movq 0x130(%rsp), %rax
movq (%rax), %rcx
orq $0x4000000, %rcx        # imm = 0x4000000
movq %rcx, (%rax)
movq 0x120(%rsp), %rcx
movq 0x148(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x130(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x148(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x15ba98
movq 0x138(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x15ba98
movq 0x148(%rsp), %rcx
movq 0x138(%rsp), %rax
movq %rcx, 0x180(%rsp)
movq %rax, 0x178(%rsp)
movq 0x180(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x180(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x15b940
movq 0x180(%rsp), %rdi
callq 0xc670
movq 0x180(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x170(%rsp)
movq 0x170(%rsp), %rax
movq $0x1f, (%rax)
movq 0x180(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x170(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x178(%rsp), %rcx
movq 0x170(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x170(%rsp), %rax
movq $0x0, 0x28(%rax)
movq 0x180(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x170(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x180(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x170(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x170(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x138(%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x140(%rsp), %rcx
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rcx
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rax
movl $0x1fa, %ecx            # imm = 0x1FA
movq %rcx, 0x18(%rax)
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x148(%rsp), %rax
movq 0x130(%rax), %rax
movq %rax, 0x150(%rsp)
jmp 0x15bca0
movq 0x138(%rsp), %rcx
movq 0x148(%rsp), %rax
movq %rcx, 0x4f0(%rax)
movq 0x148(%rsp), %rax
movq 0x4f0(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1d, %eax
je 0x15baf4
movq 0x148(%rsp), %rdi
movq 0x148(%rsp), %rax
movq 0x4f0(%rax), %rsi
callq 0xdb80
movq %rax, %rcx
movq 0x148(%rsp), %rax
movq %rcx, 0x4f0(%rax)
jmp 0x15baf6
movq 0x140(%rsp), %rcx
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq 0x148(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x148(%rsp), %rcx
movq 0x148(%rsp), %rax
movq 0x4f0(%rax), %rax
movq %rcx, 0x168(%rsp)
movq %rax, 0x160(%rsp)
movq 0x168(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x168(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x15bb7d
movq 0x168(%rsp), %rdi
callq 0xc670
movq 0x168(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x158(%rsp)
movq 0x158(%rsp), %rax
movq $0x1f, (%rax)
movq 0x168(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x158(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x160(%rsp), %rcx
movq 0x158(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x158(%rsp), %rax
movq $0x0, 0x28(%rax)
movq 0x168(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x158(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x168(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x158(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x158(%rsp), %rcx
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rax
movl $0x1f9, %ecx            # imm = 0x1F9
movq %rcx, 0x18(%rax)
movq 0x148(%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
movq 0x148(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x148(%rsp), %rax
movq %rcx, 0x4f0(%rax)
movq 0x148(%rsp), %rax
movq 0x130(%rax), %rax
movq %rax, 0x150(%rsp)
movq 0x150(%rsp), %rax
addq $0x188, %rsp            # imm = 0x188
retq