// File: /workspace/github_c_makefile_star2_O1/bhk[P]tooltree/lua/../opensource/lua-5.2.3/src/luac.c
// Function: pmain
static int pmain(lua_State* L)
{
 int argc=(int)lua_tointeger(L,1);
 char** argv=(char**)lua_touserdata(L,2);
 const Proto* f;
 int i;
 if (!lua_checkstack(L,argc)) fatal("too many input files");
 for (i=0; i<argc; i++)
 {
  const char* filename=IS("-") ? NULL : argv[i];
  if (luaL_loadfile(L,filename)!=LUA_OK) fatal(lua_tostring(L,-1));
 }
 f=combine(L,argc);
 if (listing) luaU_print(f,listing>1);
 if (dumping)
 {
  FILE* D= (output==NULL) ? stdout : fopen(output,"wb");
  if (D==NULL) cannot("open");
  lua_lock(L);
  luaU_dump(L,f,writer,D,stripping);
  lua_unlock(L);
  if (ferror(D)) cannot("write");
  if (fclose(D)) cannot("close");
 }
 return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movl $0x1, %esi
xorl %edx, %edx
callq 0x5895
movq %rax, %r12
movq %rbx, %rdi
movl $0x2, %esi
callq 0x5a27
movq %rax, %r15
movq %rbx, %r14
movq %rbx, %rdi
movl %r12d, %esi
callq 0x52dc
testl %eax, %eax
je 0x49a2
movq %r12, 0x10(%rsp)
testl %r12d, %r12d
jle 0x484d
movq 0x10(%rsp), %rbp
andl $0x7fffffff, %ebp       # imm = 0x7FFFFFFF
leaq 0x1332d(%rip), %r12     # 0x17b41
xorl %ebx, %ebx
movq (%r15,%rbx,8), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x4150
testl %eax, %eax
movl $0x0, %eax
cmoveq %rax, %r13
movq %r14, %rdi
movq %r13, %rsi
xorl %edx, %edx
callq 0x7842
testl %eax, %eax
jne 0x499a
incq %rbx
cmpq %rbx, %rbp
jne 0x4816
movq 0x10(%rsp), %r13
cmpl $0x1, %r13d
jne 0x486c
movq %r14, %rbx
movq 0x10(%r14), %rax
movq -0x10(%rax), %rax
movq 0x18(%rax), %r15
jmp 0x4904
leaq 0xc(%rsp), %rdx
movl %r13d, (%rdx)
leaq 0x8cf(%rip), %rsi       # 0x514a
leaq 0x11a84(%rip), %rcx     # 0x16306
xorl %r12d, %r12d
movq %r14, %rbx
movq %r14, %rdi
xorl %r8d, %r8d
callq 0x64c3
testl %eax, %eax
jne 0x49a7
movq 0x10(%rbx), %rax
movq -0x10(%rax), %rax
movq 0x18(%rax), %r15
testl %r13d, %r13d
jle 0x48f7
movl %r13d, %eax
notl %eax
andl $0x7fffffff, %r13d      # imm = 0x7FFFFFFF
cltq
shlq $0x4, %rax
xorl %r12d, %r12d
movq 0x10(%rbx), %rcx
movq (%rcx,%rax), %rcx
movq 0x18(%rcx), %rcx
movq 0x20(%r15), %rdx
movq %rcx, (%rdx,%r12,8)
movq 0x20(%r15), %rcx
movq (%rcx,%r12,8), %rcx
cmpl $0x0, 0x50(%rcx)
jle 0x48eb
movq 0x38(%rcx), %rcx
movb $0x0, 0x8(%rcx)
incq %r12
addq $0x10, %rax
cmpq %r12, %r13
jne 0x48c1
movl %r12d, 0xc(%rsp)
movl $0x0, 0x5c(%r15)
movl 0x1a86e(%rip), %eax     # 0x1f178
testl %eax, %eax
je 0x491f
xorl %esi, %esi
cmpl $0x2, %eax
setge %sil
movq %r15, %rdi
callq 0x49d3
cmpb $0x0, 0x1a856(%rip)     # 0x1f17c
jne 0x4989
movq 0x1a831(%rip), %rdi     # 0x1f160
testq %rdi, %rdi
je 0x4945
leaq 0x119bc(%rip), %rsi     # 0x162f7
callq 0x4200
movq %rax, %r14
jmp 0x494f
movq 0x1a67c(%rip), %rax     # 0x1efc8
movq (%rax), %r14
testq %r14, %r14
je 0x49af
movzbl 0x1a824(%rip), %r8d     # 0x1f180
leaq 0x7bf(%rip), %rdx       # 0x5122
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rcx
callq 0x9dc4
movq %r14, %rdi
callq 0x4090
testl %eax, %eax
jne 0x49bb
movq %r14, %rdi
callq 0x40e0
testl %eax, %eax
jne 0x49c7
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r14, %rdi
callq 0x4304
callq 0x436e
movq %rbx, %rdi
callq 0x4339
leaq 0x11cdb(%rip), %rdi     # 0x16691
callq 0x50cc
leaq 0x11938(%rip), %rdi     # 0x162fa
callq 0x50cc
leaq 0x11932(%rip), %rdi     # 0x16300
callq 0x50cc