// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: s7_list_nl
s7_pointer s7_list_nl(s7_scheme *sc, s7_int num_values, ...) /* arglist should be NULL terminated */
                {
                    s7_int i;
                    va_list ap;
                    s7_pointer p;

                    if (num_values == 0)
                        return(sc->nil);

                    sc->w = sc->nil;
                    va_start(ap, num_values);
                    for (i = 0; i < num_values; i++)
                    {
                        p = va_arg(ap, s7_pointer);
                        if (!p)
                        {
                            va_end(ap);
                            return(s7_wrong_number_of_args_error(sc, "not enough args for s7_list_nl: ~S", safe_reverse_in_place(sc, sc->w)));
                        }
                        sc->w = cons(sc, p, sc->w);
                    }
                    p = va_arg(ap, s7_pointer);
                    va_end(ap);
                    if (p)
                        return(s7_wrong_number_of_args_error(sc, "too many args for s7_list_nl: ~S", safe_reverse_in_place(sc, sc->w)));

                    if (sc->safety > NO_SAFETY)
                        check_list_validity(sc, "s7_list_nl", sc->w);

                    p = sc->w;
                    sc->w = sc->nil;
                    return(safe_reverse_in_place(sc, p));
                }

// Assembly:
subq $0x158, %rsp            # imm = 0x158
testb %al, %al
je 0x32ec8
movaps %xmm0, 0x70(%rsp)
movaps %xmm1, 0x80(%rsp)
movaps %xmm2, 0x90(%rsp)
movaps %xmm3, 0xa0(%rsp)
movaps %xmm4, 0xb0(%rsp)
movaps %xmm5, 0xc0(%rsp)
movaps %xmm6, 0xd0(%rsp)
movaps %xmm7, 0xe0(%rsp)
movq %r9, 0x68(%rsp)
movq %r8, 0x60(%rsp)
movq %rcx, 0x58(%rsp)
movq %rdx, 0x50(%rsp)
movq %rdi, 0x148(%rsp)
movq %rsi, 0x140(%rsp)
cmpq $0x0, 0x140(%rsp)
jne 0x32f13
movq 0x148(%rsp), %rax
movq 0x110(%rax), %rax
movq %rax, 0x150(%rsp)
jmp 0x33274
movq 0x148(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x148(%rsp), %rax
movq %rcx, 0x4d8(%rax)
leaq 0x120(%rsp), %rax
leaq 0x40(%rsp), %rcx
movq %rcx, 0x10(%rax)
leaq 0x160(%rsp), %rcx
movq %rcx, 0x8(%rax)
movl $0x30, 0x4(%rax)
movl $0x10, (%rax)
movq $0x0, 0x138(%rsp)
movq 0x138(%rsp), %rax
cmpq 0x140(%rsp), %rax
jge 0x33130
leaq 0x120(%rsp), %rax
movq %rax, 0x30(%rsp)
movl 0x120(%rsp), %eax
movl %eax, 0x3c(%rsp)
cmpl $0x28, %eax
ja 0x32fb6
movq 0x30(%rsp), %rcx
movl 0x3c(%rsp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, 0x28(%rsp)
jmp 0x32fcf
movq 0x30(%rsp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x118(%rsp)
cmpq $0x0, 0x118(%rsp)
jne 0x3303c
leaq 0x120(%rsp), %rax
movq 0x148(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x148(%rsp), %rdi
movq 0x148(%rsp), %rax
movq 0x4d8(%rax), %rsi
callq 0xe460
movq 0x20(%rsp), %rdi
movq %rax, %rdx
leaq 0x1aecda(%rip), %rsi    # 0x1e1d04
callq 0x33290
movq %rax, 0x150(%rsp)
jmp 0x33274
movq 0x118(%rsp), %rax
movq %rax, 0x108(%rsp)
movq 0x148(%rsp), %rax
movq 0x4d8(%rax), %rax
movq %rax, 0x100(%rsp)
movq 0x148(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x148(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x33090
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, 0x110(%rsp)
movq 0x110(%rsp), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq 0x108(%rsp), %rcx
movq 0x110(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x100(%rsp), %rcx
movq 0x110(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x110(%rsp), %rax
movq %rax, 0xf8(%rsp)
movq 0xf8(%rsp), %rcx
movq 0x148(%rsp), %rax
movq %rcx, 0x4d8(%rax)
movq 0x138(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x138(%rsp)
jmp 0x32f67
leaq 0x120(%rsp), %rax
movq %rax, 0x10(%rsp)
movl 0x120(%rsp), %eax
movl %eax, 0x1c(%rsp)
cmpl $0x28, %eax
ja 0x33169
movq 0x10(%rsp), %rcx
movl 0x1c(%rsp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, 0x8(%rsp)
jmp 0x33182
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x118(%rsp)
leaq 0x120(%rsp), %rax
cmpq $0x0, 0x118(%rsp)
je 0x331ed
movq 0x148(%rsp), %rax
movq %rax, (%rsp)
movq 0x148(%rsp), %rdi
movq 0x148(%rsp), %rax
movq 0x4d8(%rax), %rsi
callq 0xe460
movq (%rsp), %rdi
movq %rax, %rdx
leaq 0x1aeb4c(%rip), %rsi    # 0x1e1d27
callq 0x33290
movq %rax, 0x150(%rsp)
jmp 0x33274
movq 0x148(%rsp), %rax
cmpq $0x0, 0x6a0(%rax)
jle 0x33222
movq 0x148(%rsp), %rdi
movq 0x148(%rsp), %rax
movq 0x4d8(%rax), %rdx
leaq 0x1aeb2b(%rip), %rsi    # 0x1e1d48
callq 0x32de0
movq 0x148(%rsp), %rax
movq 0x4d8(%rax), %rax
movq %rax, 0x118(%rsp)
movq 0x148(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x148(%rsp), %rax
movq %rcx, 0x4d8(%rax)
movq 0x148(%rsp), %rdi
movq 0x118(%rsp), %rsi
callq 0xe460
movq %rax, 0x150(%rsp)
movq 0x150(%rsp), %rax
addq $0x158, %rsp            # imm = 0x158
retq
nopw %cs:(%rax,%rax)