// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/external/lua-5.1.5/src/loadlib.c
// Function: luaopen_package
LUALIB_API int luaopen_package (lua_State *L) {
  int i;
  /* create new type _LOADLIB */
  luaL_newmetatable(L, "_LOADLIB");
  lua_pushcfunction(L, gctm);
  lua_setfield(L, -2, "__gc");
  /* create `package' table */
  luaL_register(L, LUA_LOADLIBNAME, pk_funcs);
#if defined(LUA_COMPAT_LOADLIB) 
  lua_getfield(L, -1, "loadlib");
  lua_setfield(L, LUA_GLOBALSINDEX, "loadlib");
#endif
  lua_pushvalue(L, -1);
  lua_replace(L, LUA_ENVIRONINDEX);
  /* create `loaders' table */
  lua_createtable(L, sizeof(loaders)/sizeof(loaders[0]) - 1, 0);
  /* fill it with pre-defined loaders */
  for (i=0; loaders[i] != NULL; i++) {
    lua_pushcfunction(L, loaders[i]);
    lua_rawseti(L, -2, i+1);
  }
  lua_setfield(L, -2, "loaders");  /* put it in field `loaders' */
  setpath(L, "path", LUA_PATH, LUA_PATH_DEFAULT);  /* set field `path' */
  setpath(L, "cpath", LUA_CPATH, LUA_CPATH_DEFAULT); /* set field `cpath' */
  /* store config information */
  lua_pushliteral(L, LUA_DIRSEP "\n" LUA_PATHSEP "\n" LUA_PATH_MARK "\n"
                     LUA_EXECDIR "\n" LUA_IGMARK);
  lua_setfield(L, -2, "config");
  /* set field `loaded' */
  luaL_findtable(L, LUA_REGISTRYINDEX, "_LOADED", 2);
  lua_setfield(L, -2, "loaded");
  /* set field `preload' */
  lua_newtable(L);
  lua_setfield(L, -2, "preload");
  lua_pushvalue(L, LUA_GLOBALSINDEX);
  luaL_register(L, NULL, ll_funcs);  /* open lib into global table */
  lua_pop(L, 1);
  return 1;  /* return 'package' table */
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x91741(%rip), %rsi     # 0xedc69
callq 0x5b1df
leaq 0x1a4(%rip), %rsi       # 0x5c6d8
xorl %r14d, %r14d
movq %rbx, %rdi
xorl %edx, %edx
callq 0x58930
leaq 0x9172a(%rip), %rdx     # 0xedc72
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x59137
leaq 0x90596(%rip), %rsi     # 0xecaf2
leaq 0xf2b6d(%rip), %rdx     # 0x14f0d0
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5b597
movq 0x10(%rbx), %rax
movq -0x10(%rax), %rcx
movq %rcx, (%rax)
movl -0x8(%rax), %ecx
movl %ecx, 0x8(%rax)
addq $0x10, 0x10(%rbx)
movq %rbx, %rdi
movl $0xffffd8ef, %esi       # imm = 0xFFFFD8EF
callq 0x57a43
movq %rbx, %rdi
movl $0x4, %esi
xorl %edx, %edx
callq 0x58da0
movl $0x1, %ebp
leaq 0xf2b55(%rip), %r15     # 0x14f100
movq (%r14,%r15), %rsi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x58930
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl %ebp, %edx
callq 0x59276
addq $0x8, %r14
incl %ebp
cmpq $0x20, %r14
jne 0x5c5ab
leaq 0x9169c(%rip), %rdx     # 0xedc77
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x59137
leaq 0x9475b(%rip), %rsi     # 0xf0d4a
leaq 0x91689(%rip), %rdx     # 0xedc7f
leaq 0x9168b(%rip), %rcx     # 0xedc88
movq %rbx, %rdi
callq 0x5c705
leaq 0x91706(%rip), %rsi     # 0xedd12
leaq 0x91705(%rip), %rdx     # 0xedd18
leaq 0x91708(%rip), %rcx     # 0xedd22
movq %rbx, %rdi
callq 0x5c705
leaq 0x9173e(%rip), %rsi     # 0xedd67
movl $0x9, %edx
movq %rbx, %rdi
callq 0x58391
leaq 0x91734(%rip), %rdx     # 0xedd71
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x59137
leaq 0x915bc(%rip), %rdx     # 0xedc0d
movq %rbx, %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
movl $0x2, %ecx
callq 0x5b750
leaq 0x9170e(%rip), %rdx     # 0xedd78
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x59137
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x58da0
leaq 0x916f5(%rip), %rdx     # 0xedd7f
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x59137
movq 0x10(%rbx), %rax
movq 0x78(%rbx), %rcx
movq %rcx, (%rax)
movl 0x80(%rbx), %ecx
movl %ecx, 0x8(%rax)
addq $0x10, 0x10(%rbx)
leaq 0xf2a79(%rip), %rdx     # 0x14f130
movq %rbx, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
callq 0x5b597
addq $-0x10, 0x10(%rbx)
movl $0x1, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq