// File: /workspace/github_c_makefile_star2_O0/generot[P]VM-0/src/lang/vc.cc
// Function: program(lexer&)
void program(lexer& lx) {
    while(!lx.eof()) {
        if(!(EXPECT("var") || EXPECT("proc") || EXPECT("include")))
            ISSUE_ERROR("Expected top-level declaration, got \"%s\" instead.",
                lx.accept().c_str());

        decl(lx);
        include(lx);
        procedure(lx);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5ac0
xorb $-0x1, %al
testb $0x1, %al
jne 0x32863
jmp 0x32b7c
movq -0x8(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x56e0
movq -0xb8(%rbp), %rdx
movb $0x0, -0x62(%rbp)
movb $0x0, -0x63(%rbp)
movb $0x0, -0x8a(%rbp)
movb $0x0, -0x8b(%rbp)
leaq 0x779f(%rip), %rsi      # 0x3a041
leaq -0x28(%rbp), %rdi
callq 0x6b50
jmp 0x328ad
movq -0xc0(%rbp), %rdi
leaq -0x28(%rbp), %rsi
xorl %edx, %edx
callq 0x5a00
movb %al, -0xc1(%rbp)
jmp 0x328c7
movb -0xc1(%rbp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0xc2(%rbp)
jne 0x329be
jmp 0x328e0
movq -0x8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0x61(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x56e0
movq -0xd0(%rbp), %rdx
movb $0x1, -0x62(%rbp)
leaq 0x7738(%rip), %rsi      # 0x3a045
leaq -0x60(%rbp), %rdi
callq 0x6b50
jmp 0x32918
movq -0xd8(%rbp), %rdi
movb $0x1, -0x63(%rbp)
leaq -0x60(%rbp), %rsi
xorl %edx, %edx
callq 0x5a00
movb %al, -0xd9(%rbp)
jmp 0x32936
movb -0xd9(%rbp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0xc2(%rbp)
jne 0x329be
jmp 0x3294b
movq -0x8(%rbp), %rax
movq %rax, -0xf0(%rbp)
leaq -0x89(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0x56e0
movq -0xe8(%rbp), %rdx
movb $0x1, -0x8a(%rbp)
leaq 0x76cc(%rip), %rsi      # 0x3a04a
leaq -0x88(%rbp), %rdi
callq 0x6b50
jmp 0x3298c
movq -0xf0(%rbp), %rdi
movb $0x1, -0x8b(%rbp)
leaq -0x88(%rbp), %rsi
xorl %edx, %edx
callq 0x5a00
movb %al, -0xf1(%rbp)
jmp 0x329b0
movb -0xf1(%rbp), %al
movb %al, -0xc2(%rbp)
jmp 0x329be
movb -0xc2(%rbp), %al
xorb $-0x1, %al
movb %al, -0xf2(%rbp)
testb $0x1, -0x8b(%rbp)
jne 0x329d7
jmp 0x329e3
leaq -0x88(%rbp), %rdi
callq 0x5260
testb $0x1, -0x8a(%rbp)
jne 0x329ee
jmp 0x329fa
leaq -0x89(%rbp), %rdi
callq 0x5460
testb $0x1, -0x63(%rbp)
jne 0x32a02
jmp 0x32a0b
leaq -0x60(%rbp), %rdi
callq 0x5260
testb $0x1, -0x62(%rbp)
jne 0x32a13
jmp 0x32a1c
leaq -0x61(%rbp), %rdi
callq 0x5460
leaq -0x28(%rbp), %rdi
callq 0x5260
leaq -0x29(%rbp), %rdi
callq 0x5460
movb -0xf2(%rbp), %al
testb $0x1, %al
jne 0x32a3d
jmp 0x32b5c
movq 0x2157c(%rip), %rax     # 0x53fc0
movq (%rax), %rax
movq %rax, -0x100(%rbp)
movq -0x8(%rbp), %rsi
leaq -0xb0(%rbp), %rdi
callq 0x5c20
leaq -0xb0(%rbp), %rdi
callq 0x5170
movq -0x100(%rbp), %rdi
movq %rax, %rdx
leaq 0x75d7(%rip), %rsi      # 0x3a052
movb $0x0, %al
callq 0x55e0
leaq -0xb0(%rbp), %rdi
callq 0x5260
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x54f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x32b51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x32b48
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x32b35
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x32b22
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x32b09
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
testb $0x1, -0x8b(%rbp)
jne 0x32afb
jmp 0x32b07
leaq -0x88(%rbp), %rdi
callq 0x5260
jmp 0x32b09
testb $0x1, -0x8a(%rbp)
jne 0x32b14
jmp 0x32b20
leaq -0x89(%rbp), %rdi
callq 0x5460
jmp 0x32b22
testb $0x1, -0x63(%rbp)
jne 0x32b2a
jmp 0x32b33
leaq -0x60(%rbp), %rdi
callq 0x5260
jmp 0x32b35
testb $0x1, -0x62(%rbp)
jne 0x32b3d
jmp 0x32b46
leaq -0x61(%rbp), %rdi
callq 0x5460
jmp 0x32b48
leaq -0x28(%rbp), %rdi
callq 0x5260
leaq -0x29(%rbp), %rdi
callq 0x5460
jmp 0x32b85
movq -0x8(%rbp), %rdi
callq 0x32b90
movq -0x8(%rbp), %rdi
callq 0x32f90
movq -0x8(%rbp), %rdi
callq 0x33170
jmp 0x3284f
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x56d0
nop