// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: op_begin
static bool op_begin(s7_scheme *sc)
                {
                    s7_pointer form;
                    form = sc->code;
                    set_current_code(sc, sc->code);
                    sc->code = cdr(sc->code);
                    if (!s7_is_proper_list(sc, sc->code))    /* proper list includes () */
                        eval_error_no_return(sc, sc->syntax_error_symbol, "unexpected dot? ~A", 18, form);
                    if (is_null(sc->code))                   /* (begin) -> () */
                    {
                        sc->value = sc->nil;
                        return(true);
                    }
                    if (is_null(cdr(sc->code)))
                        pair_set_syntax_op(form, OP_BEGIN_1_UNCHECKED);
                    else
                    {
                        if (is_null(cddr(sc->code)))
                            pair_set_syntax_op(form, OP_BEGIN_2_UNCHECKED);
                        else pair_set_syntax_op(form, OP_BEGIN_UNCHECKED);
                    }
                    return(false);
                }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, (%rax)
movq 0x28(%rsp), %rdi
movq 0x28(%rsp), %rax
movq (%rax), %rsi
callq 0x31a40
testb $0x1, %al
jne 0x13e5c0
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq 0x1918(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rdi
leaq 0xb2ec8(%rip), %rsi     # 0x1f145a
movl $0x12, %edx
callq 0xb880
movq 0x8(%rsp), %rdi
movq %rax, %rsi
movq 0x20(%rsp), %rdx
callq 0xb830
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq %rax, %rdx
callq 0x2f940
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x13e5f5
movq 0x28(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x20(%rax)
movb $0x1, 0x37(%rsp)
jmp 0x13e6bb
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x28(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x13e63c
jmp 0x13e611
movq 0x20(%rsp), %rax
movw $0x1a4, 0x4(%rax)       # imm = 0x1A4
movq 0x20(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
jmp 0x13e6b6
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x28(%rsp), %rcx
cmpq 0x110(%rcx), %rax
jne 0x13e687
jmp 0x13e65c
movq 0x20(%rsp), %rax
movw $0x1a5, 0x4(%rax)       # imm = 0x1A5
movq 0x20(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
jmp 0x13e6b4
jmp 0x13e689
movq 0x20(%rsp), %rax
movw $0x1a2, 0x4(%rax)       # imm = 0x1A2
movq 0x20(%rsp), %rax
movq (%rax), %rcx
andq $-0x10000, %rcx         # imm = 0xFFFF0000
orq $0x201, %rcx            # imm = 0x201
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
jmp 0x13e6b4
jmp 0x13e6b6
movb $0x0, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)