// File: reedoolang[P]reedoo/reedoo.cc
// Function: main
int main(int argc, char* argv[]) {

   for(int i = 0; i < argc; i++) {
    string arg(argv[i]);
    
    if (arg == "-v") { // Example flag -v

    }

   }
   string arg(argv[1]);
  if (!argv[1]) {
   cout << "Usage: reedoo <filename> [args]" << endl;
  } else if (arg == "-v") {
   cout << "Reedoo v0.04 (pre-alpha)" << endl;
   cout << "The Reedoo Language Interpreter" << endl;
   cout << "(c) 2014 Francis McNamee. All Rights Reserved." << endl;
   cout << "www.reedoo.org" << endl;
   exit(0);
  } else {
   exec_program(argv[1]);
  }
  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x8(%rbp), %eax
jge 0x4722
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0xb0(%rbp)
leaq -0x39(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x3470
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
leaq -0x38(%rbp), %rdi
callq 0x4990
jmp 0x46a8
leaq -0x39(%rbp), %rdi
callq 0x3300
leaq 0xe9a7(%rip), %rsi      # 0x1305f
leaq -0x38(%rbp), %rdi
callq 0x4be0
movb %al, -0xb1(%rbp)
jmp 0x46c9
movb -0xb1(%rbp), %al
testb $0x1, %al
jne 0x46d5
jmp 0x470b
jmp 0x470b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x39(%rbp), %rdi
callq 0x3300
jmp 0x4982
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x31d0
jmp 0x4982
leaq -0x38(%rbp), %rdi
callq 0x31d0
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x4660
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0xc8(%rbp)
leaq -0x71(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x3470
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
leaq -0x70(%rbp), %rdi
callq 0x4990
jmp 0x475a
leaq -0x71(%rbp), %rdi
callq 0x3300
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x47cf
movq 0x13853(%rip), %rdi     # 0x17fc8
leaq 0xe8e6(%rip), %rsi      # 0x13062
callq 0x3290
movq %rax, -0xd0(%rbp)
jmp 0x478a
movq -0xd0(%rbp), %rdi
movq 0x13818(%rip), %rsi     # 0x17fb0
callq 0x32e0
jmp 0x479f
jmp 0x495d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x71(%rbp), %rdi
callq 0x3300
jmp 0x4982
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4979
leaq 0xe889(%rip), %rsi      # 0x1305f
leaq -0x70(%rbp), %rdi
callq 0x4be0
movb %al, -0xd1(%rbp)
jmp 0x47e7
movb -0xd1(%rbp), %al
testb $0x1, %al
jne 0x47f6
jmp 0x48c1
movq 0x137cb(%rip), %rdi     # 0x17fc8
leaq 0xe87e(%rip), %rsi      # 0x13082
callq 0x3290
movq %rax, -0xe0(%rbp)
jmp 0x4812
movq -0xe0(%rbp), %rdi
movq 0x13790(%rip), %rsi     # 0x17fb0
callq 0x32e0
jmp 0x4827
movq 0x1379a(%rip), %rdi     # 0x17fc8
leaq 0xe866(%rip), %rsi      # 0x1309b
callq 0x3290
movq %rax, -0xe8(%rbp)
jmp 0x4843
movq -0xe8(%rbp), %rdi
movq 0x1375f(%rip), %rsi     # 0x17fb0
callq 0x32e0
jmp 0x4858
movq 0x13769(%rip), %rdi     # 0x17fc8
leaq 0xe855(%rip), %rsi      # 0x130bb
callq 0x3290
movq %rax, -0xf0(%rbp)
jmp 0x4874
movq -0xf0(%rbp), %rdi
movq 0x1372e(%rip), %rsi     # 0x17fb0
callq 0x32e0
jmp 0x4889
movq 0x13738(%rip), %rdi     # 0x17fc8
leaq 0xe853(%rip), %rsi      # 0x130ea
callq 0x3290
movq %rax, -0xf8(%rbp)
jmp 0x48a5
movq -0xf8(%rbp), %rdi
movq 0x136fd(%rip), %rsi     # 0x17fb0
callq 0x32e0
jmp 0x48ba
xorl %edi, %edi
callq 0x3340
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x108(%rbp)
leaq -0x99(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0x3470
movq -0x108(%rbp), %rsi
movq -0x100(%rbp), %rdx
leaq -0x98(%rbp), %rdi
callq 0x4990
jmp 0x48ff
leaq -0x98(%rbp), %rdi
callq 0x4530
jmp 0x490d
leaq -0x98(%rbp), %rdi
callq 0x31d0
leaq -0x99(%rbp), %rdi
callq 0x3300
jmp 0x495b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x494d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x31d0
leaq -0x99(%rbp), %rdi
callq 0x3300
jmp 0x4979
jmp 0x495d
movl $0x0, -0x4(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x31d0
movl -0x4(%rbp), %eax
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
leaq -0x70(%rbp), %rdi
callq 0x31d0
movq -0x48(%rbp), %rdi
callq 0x3460
nopl (%rax,%rax)