// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x20, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movl $0x1, -0x18(%rbp)
leaq 0x2c35(%rip), %rdi      # 0x4080
leaq 0xbcd(%rip), %rsi       # 0x201f
callq 0x1030
leaq 0x2c52(%rip), %rdi      # 0x40b0
leaq 0xbba(%rip), %rsi       # 0x201f
callq 0x1030
leaq 0x2c6f(%rip), %rdi      # 0x40e0
leaq 0xbab(%rip), %rsi       # 0x2023
callq 0x1030
leaq 0x2c8c(%rip), %rdi      # 0x4110
leaq 0xb98(%rip), %rsi       # 0x2023
callq 0x1030
cmpl $0x1, -0x8(%rbp)
jle 0x169b
jmp 0x149c
movl -0x18(%rbp), %eax
cmpl -0x8(%rbp), %eax
jge 0x1699
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xb6c(%rip), %rsi       # 0x2027
callq 0x13f0
cmpl $0x0, %eax
jne 0x14e2
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xb5c(%rip), %rsi       # 0x2034
callq 0x13f0
cmpl $0x0, %eax
je 0x1508
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x2b82(%rip), %rdi      # 0x4080
callq 0x1030
jmp 0x168b
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xb1d(%rip), %rsi       # 0x2038
callq 0x13f0
cmpl $0x0, %eax
jne 0x1542
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xb0b(%rip), %rsi       # 0x2043
callq 0x13f0
cmpl $0x0, %eax
je 0x1568
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x2b52(%rip), %rdi      # 0x40b0
callq 0x1030
jmp 0x1689
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xacc(%rip), %rsi       # 0x2047
callq 0x13f0
cmpl $0x0, %eax
jne 0x15a2
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xabc(%rip), %rsi       # 0x2054
callq 0x13f0
cmpl $0x0, %eax
je 0x15c8
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x2b22(%rip), %rdi      # 0x40e0
callq 0x1030
jmp 0x1687
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xa7d(%rip), %rsi       # 0x2058
callq 0x13f0
cmpl $0x0, %eax
jne 0x1602
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xa6b(%rip), %rsi       # 0x2063
callq 0x13f0
cmpl $0x0, %eax
je 0x1625
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x2af2(%rip), %rdi      # 0x4110
callq 0x1030
jmp 0x1685
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xa2f(%rip), %rsi       # 0x2067
callq 0x13f0
cmpl $0x0, %eax
jne 0x165f
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xa22(%rip), %rsi       # 0x2077
callq 0x13f0
cmpl $0x0, %eax
je 0x1668
movl $0xffffffff, -0x14(%rbp) # imm = 0xFFFFFFFF
jmp 0x1683
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movl -0x14(%rbp), %esi
leaq -0x2be(%rip), %rdx      # 0x13c0
callq 0x12e0
jmp 0x1685
jmp 0x1687
jmp 0x1689
jmp 0x168b
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x149c
jmp 0x16a9
leaq 0x9d8(%rip), %rdi       # 0x207a
movb $0x0, %al
callq 0x1050
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq