// File: /workspace/github_c_makefile_star2_O3/bhk[P]tooltree/lua/../opensource/lua-5.2.3/src/lua.c
// Function: pmain
static int pmain (lua_State *L) {
  int argc = (int)lua_tointeger(L, 1);
  char **argv = (char **)lua_touserdata(L, 2);
  int script;
  int args[num_has];
  args[has_i] = args[has_v] = args[has_e] = args[has_E] = 0;
  if (argv[0] && argv[0][0]) progname = argv[0];
  script = collectargs(argv, args);
  if (script < 0) {  /* invalid arg? */
    print_usage(argv[-script]);
    return 0;
  }
  if (args[has_v]) print_version();
  if (args[has_E]) {  /* option '-E'? */
    lua_pushboolean(L, 1);  /* signal for libraries to ignore env. vars. */
    lua_setfield(L, LUA_REGISTRYINDEX, "LUA_NOENV");
  }
  /* open standard libraries */
  luaL_checkversion(L);
  lua_gc(L, LUA_GCSTOP, 0);  /* stop collector during initialization */
  luaL_openlibs(L);  /* open libraries */
  lua_gc(L, LUA_GCRESTART, 0);
  if (!args[has_E] && handle_luainit(L) != LUA_OK)
    return 0;  /* error running LUA_INIT */
  /* execute arguments -e and -l */
  if (!runargs(L, argv, (script > 0) ? script : argc)) return 0;
  /* execute main script (if there is one) */
  if (script && handle_script(L, argv, script) != LUA_OK) return 0;
  if (args[has_i])  /* -i option? */
    dotty(L);
  else if (script == 0 && !args[has_e] && !args[has_v]) {  /* no arguments? */
    if (lua_stdin_is_tty()) {
      print_version();
      dotty(L);
    }
    else dofile(L, NULL);  /* executes stdin as a file */
  }
  lua_pushboolean(L, 1);  /* signal no errors */
  return 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %r14
xorl %ebx, %ebx
movl $0x1, %esi
xorl %edx, %edx
callq 0x7c2b
movq %rax, %r12
movq %r14, %rdi
movl $0x2, %esi
callq 0x7dbd
movl %ebx, 0x14(%rsp)
movl %ebx, 0x18(%rsp)
movq (%rax), %rcx
testq %rcx, %rcx
je 0x6b28
cmpb $0x0, (%rcx)
je 0x6b28
movq %rcx, 0x267e8(%rip)     # 0x2d310
movq 0x8(%rax), %rdx
movl $0x0, %ebp
movl $0x0, %r15d
testq %rdx, %rdx
je 0x6c0b
movl $0x1, %ebx
xorl %r15d, %r15d
leaq 0x14(%rsp), %rdi
leaq 0x18(%rsp), %rcx
xorl %ebp, %ebp
cmpb $0x2d, (%rdx)
jne 0x6c03
movzbl 0x1(%rdx), %esi
cmpl $0x68, %esi
jle 0x6b7a
cmpl $0x69, %esi
je 0x6bb0
cmpl $0x6c, %esi
je 0x6b94
cmpl $0x76, %esi
je 0x6bb5
jmp 0x6c01
cmpl $0x64, %esi
jg 0x6b89
cmpl $0x45, %esi
jne 0x6bdf
movq %rdi, %rdx
jmp 0x6bc2
cmpl $0x65, %esi
jne 0x6c01
movl $0x1, %r15d
cmpb $0x0, 0x2(%rdx)
jne 0x6bc8
movslq %ebx, %rdx
movq 0x8(%rax,%rdx,8), %rdx
testq %rdx, %rdx
je 0x6c01
cmpb $0x2d, (%rdx)
je 0x6c01
incl %ebx
jmp 0x6bc8
movl $0x1, %ebp
cmpb $0x0, 0x2(%rdx)
movq %rcx, %rdx
jne 0x6fe1
movl $0x1, (%rdx)
movslq %ebx, %rdx
incl %ebx
movq 0x8(%rax,%rdx,8), %rdx
testq %rdx, %rdx
jne 0x6b54
xorl %ebx, %ebx
jmp 0x6c0b
testl %esi, %esi
je 0x6c03
cmpl $0x2d, %esi
jne 0x6c01
cmpb $0x0, 0x2(%rdx)
jne 0x6fe1
movslq %ebx, %rcx
cmpq $0x0, 0x8(%rax,%rcx,8)
je 0x6bdb
incl %ebx
jmp 0x6c03
negl %ebx
testl %ebx, %ebx
js 0x6fe6
movq %rax, 0x8(%rsp)
movl 0x18(%rsp), %eax
movl %eax, 0x24(%rsp)
testl %eax, %eax
je 0x6c21
callq 0x7005
cmpl $0x0, 0x14(%rsp)
je 0x6e84
movq %r14, %rdi
movl $0x1, %esi
callq 0x80e5
leaq 0x19400(%rip), %rdx     # 0x20040
movq %r14, %rdi
movl $0xfff0b9d8, %esi       # imm = 0xFFF0B9D8
callq 0x844e
movsd 0x193b3(%rip), %xmm0    # 0x20008
movq %r14, %rdi
callq 0xa1fe
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x894b
movq %r14, %rdi
callq 0xe308
movq %r14, %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x894b
movl %ebp, 0x20(%rsp)
testl %ebx, %ebx
cmovnel %ebx, %r12d
cmpl $0x2, %r12d
movq 0x8(%rsp), %rdx
jl 0x6d51
movl $0x1, %ebp
movslq %ebp, %rax
movq (%rdx,%rax,8), %r13
movzbl 0x1(%r13), %ecx
cmpl $0x6c, %ecx
je 0x6cc5
cmpl $0x65, %ecx
jne 0x6d46
cmpb $0x0, 0x2(%r13)
je 0x6cd2
addq $0x2, %r13
jmp 0x6cda
cmpb $0x0, 0x2(%r13)
je 0x6cfa
addq $0x2, %r13
jmp 0x6d02
leal 0x1(%rax), %ebp
movq 0x8(%rdx,%rax,8), %r13
movq %r14, %rdi
movq %r13, %rsi
leaq 0x19582(%rip), %rdx     # 0x20269
callq 0x729a
testl %eax, %eax
movq 0x8(%rsp), %rdx
je 0x6d46
jmp 0x6ff0
leal 0x1(%rax), %ebp
movq 0x8(%rdx,%rax,8), %r13
movq %r14, %rdi
leaq 0x1956d(%rip), %rsi     # 0x20279
callq 0x8137
movq %r14, %rdi
movq %r13, %rsi
callq 0x7f1a
movq %r14, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x72e3
testl %eax, %eax
jne 0x6f1a
movq %r14, %rdi
movq %r13, %rsi
callq 0x83b4
movq 0x8(%rsp), %rdx
incl %ebp
cmpl %r12d, %ebp
jl 0x6c9e
movl %r15d, 0x1c(%rsp)
testl %ebx, %ebx
je 0x6f8c
xorl %r12d, %r12d
cmpq $0x0, (%rdx,%r12,8)
leaq 0x1(%r12), %r12
jne 0x6d61
leaq -0x1(%r12), %rbp
leal 0x1(%rbx), %r15d
movl $0xfffffffe, %eax       # imm = 0xFFFFFFFE
subl %ebx, %eax
addq %r12, %rax
movq %rax, 0x28(%rsp)
movl %r12d, %esi
subl %ebx, %esi
incl %esi
leaq 0x194ee(%rip), %rdx     # 0x20281
movq %r14, %rdi
callq 0x96ca
movq %rbx, (%rsp)
movl %ebx, %eax
movl %r15d, %ebx
movq %rax, 0x30(%rsp)
cmpl %ebp, %r15d
movq %r14, %r15
jge 0x6ddd
movq 0x8(%rsp), %rax
movq 0x30(%rsp), %rcx
leaq (%rax,%rcx,8), %r14
addq $0x8, %r14
movl %ebx, %r13d
movq (%r14), %rsi
movq %r15, %rdi
callq 0x7f1a
incl %r13d
addq $0x8, %r14
cmpl %ebp, %r13d
jl 0x6dc6
movq %r15, %rdi
movq 0x28(%rsp), %rsi
movl %ebx, %edx
callq 0x82c4
cmpq $0x1, %r12
movq 0x8(%rsp), %rbx
je 0x6e2b
leal -0x1(%r12), %ebp
movq (%rsp), %r14
negl %r14d
xorl %r13d, %r13d
movq (%rbx,%r13,8), %rsi
movq %r15, %rdi
callq 0x7f1a
leal (%r14,%r13), %edx
movq %r15, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x8523
incq %r13
cmpq %r13, %rbp
jne 0x6e06
leaq 0x1b822(%rip), %rsi     # 0x22654
movq %r15, %rdi
callq 0x83b4
movq 0x30(%rsp), %r13
movq (%rbx,%r13,8), %rsi
cmpb $0x2d, (%rsi)
movq %r15, %r14
jne 0x6f2b
cmpb $0x0, 0x1(%rsi)
jne 0x6f2b
movq -0x8(%rbx,%r13,8), %rax
cmpb $0x2d, (%rax)
jne 0x6f29
cmpb $0x2d, 0x1(%rax)
movq (%rsp), %rbx
jne 0x6fda
xorl %ecx, %ecx
cmpb $0x0, 0x2(%rax)
cmovneq %rcx, %rsi
jmp 0x6f2f
movsd 0x1917c(%rip), %xmm0    # 0x20008
movq %r14, %rdi
callq 0xa1fe
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x894b
movq %r14, %rdi
callq 0xe308
movq %r14, %rdi
movl $0x1, %esi
xorl %edx, %edx
callq 0x894b
leaq 0x1934a(%rip), %rdi     # 0x20208
callq 0x6040
testq %rax, %rax
je 0x6ed1
leaq 0x19338(%rip), %rdx     # 0x20207
jmp 0x6eed
leaq 0x1933e(%rip), %rdi     # 0x20216
callq 0x6040
testq %rax, %rax
je 0x6c80
leaq 0x19328(%rip), %rdx     # 0x20215
cmpb $0x40, (%rax)
jne 0x6f02
incq %rax
movq %r14, %rdi
movq %rax, %rsi
callq 0x7274
jmp 0x6f0d
movq %r14, %rdi
movq %rax, %rsi
callq 0x729a
testl %eax, %eax
jne 0x6ff0
jmp 0x6c80
movq %r14, %rdi
movl %eax, %esi
callq 0x736d
jmp 0x6ff0
xorl %esi, %esi
movq (%rsp), %rbx
xorl %r15d, %r15d
movq %r14, %rdi
xorl %edx, %edx
callq 0x9c06
movl %eax, %ebp
subq %r12, %r13
incq %r13
movq %r14, %rdi
movl %r13d, %esi
callq 0x789f
movq %r14, %rdi
testl %ebp, %ebp
je 0x6f6d
movl %r13d, %esi
callq 0x7688
movq %r14, %rdi
movl %ebp, %esi
callq 0x736d
jmp 0x6ff3
movq 0x28(%rsp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x72e3
movl %eax, %ebp
movq %r14, %rdi
movl %eax, %esi
callq 0x736d
testl %ebp, %ebp
jne 0x6ff3
cmpl $0x0, 0x20(%rsp)
je 0x6f9d
movq %r14, %rdi
callq 0x703c
jmp 0x6fc5
movl 0x1c(%rsp), %eax
orl 0x24(%rsp), %eax
orl %eax, %ebx
jne 0x6fc5
xorl %edi, %edi
callq 0x60f0
testl %eax, %eax
je 0x6fbb
callq 0x7005
jmp 0x6f93
movq %r14, %rdi
xorl %esi, %esi
callq 0x7274
movl $0x1, %r15d
movq %r14, %rdi
movl $0x1, %esi
callq 0x80e5
jmp 0x6ff3
xorl %esi, %esi
jmp 0x6f2f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movl %ebx, %edi
movq %rax, %rsi
callq 0x6669
xorl %r15d, %r15d
movl %r15d, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq