// File: /workspace/github_c_makefile_star2_O3/gplessis[P]dotdeb-redis/deps/lua/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 0x2e14(%rip), %rsi      # 0x1cf51
callq 0x10b5e
leaq 0x193(%rip), %rsi       # 0x1a2dc
xorl %r14d, %r14d
movq %rbx, %rdi
xorl %edx, %edx
callq 0x5ddf
leaq 0x1b36(%rip), %rdx      # 0x1bc93
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x60cb
leaq 0x1ed9(%rip), %rsi      # 0x1c04a
leaq 0xcbc8(%rip), %rdx      # 0x26d40
movq %rbx, %rdi
callq 0x10ebd
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x582a
movq %rbx, %rdi
movl $0xffffd8ef, %esi       # imm = 0xFFFFD8EF
callq 0x576b
movq %rbx, %rdi
movl $0x4, %esi
xorl %edx, %edx
callq 0x5fa8
movl $0x1, %ebp
leaq 0xcbbb(%rip), %r15      # 0x26d70
movq (%r14,%r15), %rsi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x5ddf
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl %ebp, %edx
callq 0x618f
addq $0x8, %r14
incl %ebp
cmpq $0x20, %r14
jne 0x1a1b5
leaq 0x2d75(%rip), %rdx      # 0x1cf5a
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x60cb
leaq 0x2dfd(%rip), %rsi      # 0x1cff6
leaq 0x2d62(%rip), %rdx      # 0x1cf62
leaq 0x2d64(%rip), %rcx      # 0x1cf6b
movq %rbx, %rdi
callq 0x1a2f9
leaq 0x2ddf(%rip), %rsi      # 0x1cff5
leaq 0x2dde(%rip), %rdx      # 0x1cffb
leaq 0x2de1(%rip), %rcx      # 0x1d005
movq %rbx, %rdi
callq 0x1a2f9
leaq 0x2e17(%rip), %rsi      # 0x1d04a
movl $0x9, %edx
movq %rbx, %rdi
callq 0x5c5a
leaq 0x2e0d(%rip), %rdx      # 0x1d054
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x60cb
leaq 0x1d78(%rip), %rdx      # 0x1bfd3
movq %rbx, %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
movl $0x2, %ecx
callq 0x1101d
leaq 0x2de7(%rip), %rdx      # 0x1d05b
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x60cb
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x5fa8
leaq 0x2dce(%rip), %rdx      # 0x1d062
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x60cb
movq %rbx, %rdi
movl $0xffffd8ee, %esi       # imm = 0xFFFFD8EE
callq 0x582a
leaq 0xcaeb(%rip), %rdx      # 0x26da0
movq %rbx, %rdi
xorl %esi, %esi
callq 0x10ebd
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x54e9
movl $0x1, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq