// File: /workspace/github_c_makefile_star2_O2/crcx[P]retroforth/tools/retro-unu.c
// Function: main
int main(int argc, char **argv) {
  int tests = 0;
  int i = 1;
  strcpy(code_start, "~~~");
  strcpy(code_end,   "~~~");
  strcpy(test_start, "```");
  strcpy(test_end,   "```");
  if (argc > 1) {
    while (i < argc) {
      if (arg_is(argv[i], "--code-start") || arg_is(argv[i], "-cs")) {
        i++;
        strcpy(code_start, argv[i]);
      } else if (arg_is(argv[i], "--code-end") || arg_is(argv[i], "-ce")) {
        i++;
        strcpy(code_end, argv[i]);
      } else if (arg_is(argv[i], "--test-start") || arg_is(argv[i], "-ts")) {
        i++;
        strcpy(test_start, argv[i]);
      } else if (arg_is(argv[i], "--test-end") || arg_is(argv[i], "-te")) {
        i++;
        strcpy(test_end, argv[i]);
      } else if (arg_is(argv[i], "--include-tests") || arg_is(argv[i], "-t")) {
        tests = -1;
      } else {
        unu(argv[i], tests, &display);
      }
      i++;
    }
  }
  else {
    printf("err: no file specified\n");
  }
  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl $0x7e7e7e, %eax         # imm = 0x7E7E7E
movl %eax, 0x2d57(%rip)      # 0x4080
movl %eax, 0x2d81(%rip)      # 0x40b0
movl $0x606060, %eax         # imm = 0x606060
movl %eax, 0x2da6(%rip)      # 0x40e0
movl %eax, 0x2dd0(%rip)      # 0x4110
cmpl $0x2, %edi
jl 0x149e
movq %rsi, %rbx
movl %edi, %ebp
pushq $0x1
popq %r15
movl $0x0, 0x4(%rsp)
leaq 0xca5(%rip), %r14       # 0x2006
cmpl %ebp, %r15d
jge 0x14aa
movslq %r15d, %r12
movq (%rbx,%r12,8), %r13
movq %r13, %rdi
movq %r14, %rsi
callq 0x1302
testl %eax, %eax
jne 0x1393
movq %r13, %rdi
leaq 0xc89(%rip), %rsi       # 0x2013
callq 0x1302
testl %eax, %eax
je 0x13ac
incl %r15d
movq 0x8(%rbx,%r12,8), %rsi
leaq 0x2cde(%rip), %rdi      # 0x4080
callq 0x1030
incl %r15d
jmp 0x1361
movq %r13, %rdi
leaq 0xc61(%rip), %rsi       # 0x2017
callq 0x1302
testl %eax, %eax
jne 0x13d2
movq %r13, %rdi
leaq 0xc59(%rip), %rsi       # 0x2022
callq 0x1302
testl %eax, %eax
je 0x13e3
incl %r15d
movq 0x8(%rbx,%r12,8), %rsi
leaq 0x2ccf(%rip), %rdi      # 0x40b0
jmp 0x13a2
movq %r13, %rdi
leaq 0xc39(%rip), %rsi       # 0x2026
callq 0x1302
testl %eax, %eax
jne 0x1409
movq %r13, %rdi
leaq 0xc33(%rip), %rsi       # 0x2033
callq 0x1302
testl %eax, %eax
je 0x141a
incl %r15d
movq 0x8(%rbx,%r12,8), %rsi
leaq 0x2cc8(%rip), %rdi      # 0x40e0
jmp 0x13a2
movq %r13, %rdi
leaq 0xc13(%rip), %rsi       # 0x2037
callq 0x1302
testl %eax, %eax
jne 0x1440
movq %r13, %rdi
leaq 0xc0b(%rip), %rsi       # 0x2042
callq 0x1302
testl %eax, %eax
je 0x1454
incl %r15d
movq 0x8(%rbx,%r12,8), %rsi
leaq 0x2cc1(%rip), %rdi      # 0x4110
jmp 0x13a2
movq %r13, %rdi
leaq 0xbe8(%rip), %rsi       # 0x2046
callq 0x1302
testl %eax, %eax
jne 0x147a
movq %r13, %rdi
leaq 0xbe5(%rip), %rsi       # 0x2056
callq 0x1302
testl %eax, %eax
je 0x1486
pushq $-0x1
popq %rax
movl %eax, 0x4(%rsp)
jmp 0x13a7
movq %r13, %rdi
movl 0x4(%rsp), %esi
leaq -0x197(%rip), %rdx      # 0x12fd
callq 0x125a
jmp 0x13a7
leaq 0xbc8(%rip), %rdi       # 0x206d
callq 0x1040
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq