// File: /workspace/github_c_makefile_star2_O2/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 %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
xorl %r13d, %r13d
pushq $0x1
popq %rsi
xorl %edx, %edx
callq 0x5648
movq %rax, %r14
pushq $0x2
popq %rsi
movq %rbx, %rdi
callq 0x57db
movq %rax, %r15
movq %rbx, %rdi
movl %r14d, %esi
callq 0x50a4
testl %eax, %eax
je 0x47d7
testl %r14d, %r14d
movl $0x0, %r12d
cmovgl %r14d, %r12d
cmpq %r13, %r12
je 0x46a4
movq (%r15,%r13,8), %rsi
cmpb $0x2d, (%rsi)
jne 0x467e
cmpb $0x0, 0x1(%rsi)
jne 0x467e
xorl %esi, %esi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x751a
incq %r13
testl %eax, %eax
je 0x4668
pushq $-0x1
popq %rsi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x570b
movq %rax, %rdi
callq 0x45ef
cmpl $0x1, %r14d
jne 0x46bb
movq 0x10(%rbx), %rax
movq -0x10(%rax), %rax
movq 0x18(%rax), %r15
jmp 0x4742
leaq 0xc(%rsp), %rdx
movl %r14d, (%rdx)
leaq 0x84d(%rip), %rsi       # 0x4f17
leaq 0x10c4f(%rip), %rcx     # 0x15320
movq %rbx, %rdi
xorl %r8d, %r8d
callq 0x625b
testl %eax, %eax
jne 0x468f
movq 0x10(%rbx), %rax
movq -0x10(%rax), %rax
movq 0x18(%rax), %r15
notl %r14d
shlq $0x20, %r14
xorl %eax, %eax
movabsq $0x100000000, %rcx      # imm = 0x100000000
cmpq %rax, %r12
je 0x473d
movq 0x10(%rbx), %rdx
movq %r14, %rsi
sarq $0x1c, %rsi
movq (%rdx,%rsi), %rdx
movq 0x18(%rdx), %rdx
movq 0x20(%r15), %rsi
movq %rdx, (%rsi,%rax,8)
movq 0x20(%r15), %rdx
movq (%rdx,%rax,8), %rdx
cmpl $0x0, 0x50(%rdx)
jle 0x4735
movq 0x38(%rdx), %rdx
movb $0x0, 0x8(%rdx)
incq %rax
addq %rcx, %r14
jmp 0x46ff
andl $0x0, 0x5c(%r15)
movl 0x1aa28(%rip), %eax     # 0x1f170
testl %eax, %eax
je 0x475d
xorl %esi, %esi
cmpl $0x2, %eax
setge %sil
movq %r15, %rdi
callq 0x4807
cmpb $0x0, 0x1aa10(%rip)     # 0x1f174
jne 0x47c7
movq 0x1a9eb(%rip), %rdi     # 0x1f158
testq %rdi, %rdi
je 0x4783
leaq 0x10b98(%rip), %rsi     # 0x15311
callq 0x41f0
movq %rax, %r14
jmp 0x478d
movq 0x1a83e(%rip), %rax     # 0x1efc8
movq (%rax), %r14
testq %r14, %r14
je 0x47e3
movzbl 0x1a9de(%rip), %r8d     # 0x1f178
leaq 0x750(%rip), %rdx       # 0x4ef1
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rcx
callq 0x981c
movq %r14, %rdi
callq 0x4090
testl %eax, %eax
jne 0x47ef
movq %r14, %rdi
callq 0x40e0
testl %eax, %eax
jne 0x47fb
xorl %eax, %eax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
leaq 0x10b1e(%rip), %rdi     # 0x152fc
callq 0x45ef
leaq 0x10ec7(%rip), %rdi     # 0x156b1
callq 0x4e9d
leaq 0x10b1e(%rip), %rdi     # 0x15314
callq 0x4e9d
leaq 0x10b18(%rip), %rdi     # 0x1531a
callq 0x4e9d