// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: eval_args_pair_car
static void eval_args_pair_car(s7_scheme *sc)
                {
                    if (sc->stack_end >= sc->stack_resize_trigger)
                        check_for_cyclic_code(sc, sc->code);

                    /* all 3 of these push_stacks can result in stack overflow, see above 64065 */
                    if (is_null(cdr(sc->code)))
                        push_stack_no_code(sc, OP_EVAL_ARGS2, sc->args);
                    else
                    {
                        if (!is_pair(cdr(sc->code)))            /* (= 0 '(1 . 2) . 3) */
                            improper_arglist_error(sc);

                        if ((is_null(cddr(sc->code))) &&
                                (!is_pair(cadr(sc->code))))
                            push_stack(sc, OP_EVAL_ARGS3, sc->args, cadr(sc->code));
                        else push_stack(sc, OP_EVAL_ARGS4, sc->args, cdr(sc->code));
                    }
                    sc->code = car(sc->code);
                }

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq (%rsp), %rcx
cmpq 0x58(%rcx), %rax
jb 0x130f77
movq (%rsp), %rdi
movq (%rsp), %rax
movq (%rax), %rsi
callq 0x16dd20
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq (%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x130fdf
jmp 0x130f91
movq (%rsp), %rax
movq 0x8(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq 0x10(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
movq 0x50(%rax), %rax
movl $0x194, %ecx            # imm = 0x194
movq %rcx, 0x18(%rax)
movq (%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
jmp 0x1310fa
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
je 0x130ffb
movq (%rsp), %rdi
callq 0x131510
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq (%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x131095
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
je 0x131095
jmp 0x131030
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq (%rsp), %rax
movq 0x8(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq 0x10(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
movq 0x50(%rax), %rax
movl $0x195, %ecx            # imm = 0x195
movq %rcx, 0x18(%rax)
movq (%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
jmp 0x1310f8
jmp 0x131097
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, (%rax)
movq (%rsp), %rax
movq 0x8(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq 0x10(%rax), %rcx
movq (%rsp), %rax
movq 0x50(%rax), %rax
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
movq 0x50(%rax), %rax
movl $0x196, %ecx            # imm = 0x196
movq %rcx, 0x18(%rax)
movq (%rsp), %rax
movq 0x50(%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
jmp 0x1310f8
jmp 0x1310fa
movq (%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
popq %rax
retq
nop