// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x408e(%rip), %rsi      # 0x2d0c5
callq 0x1ac30
movq -0x8(%rbp), %rdi
leaq 0x1b9(%rip), %rsi       # 0x29200
xorl %edx, %edx
callq 0x7ae0
movq -0x8(%rbp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x2c5d(%rip), %rdx      # 0x2bcbb
callq 0x81e0
movq -0x8(%rbp), %rdi
leaq 0x2fd8(%rip), %rsi      # 0x2c046
leaq 0xdccb(%rip), %rdx      # 0x36d40
callq 0x1b100
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x6f80
movq -0x8(%rbp), %rdi
movl $0xffffd8ef, %esi       # imm = 0xFFFFD8EF
callq 0x6df0
movq -0x8(%rbp), %rdi
movl $0x4, %esi
xorl %edx, %edx
callq 0x7f20
movl $0x0, -0xc(%rbp)
movslq -0xc(%rbp), %rcx
leaq 0xdcb8(%rip), %rax      # 0x36d70
cmpq $0x0, (%rax,%rcx,8)
je 0x290f8
movq -0x8(%rbp), %rdi
movslq -0xc(%rbp), %rcx
leaq 0xdca2(%rip), %rax      # 0x36d70
movq (%rax,%rcx,8), %rsi
xorl %edx, %edx
callq 0x7ae0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %edx
addl $0x1, %edx
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x8350
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x290ad
movq -0x8(%rbp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x3fc6(%rip), %rdx      # 0x2d0ce
callq 0x81e0
movq -0x8(%rbp), %rdi
leaq 0x4052(%rip), %rsi      # 0x2d16a
leaq 0x3fb7(%rip), %rdx      # 0x2d0d6
leaq 0x3fb9(%rip), %rcx      # 0x2d0df
callq 0x29250
movq -0x8(%rbp), %rdi
leaq 0x4033(%rip), %rsi      # 0x2d169
leaq 0x4032(%rip), %rdx      # 0x2d16f
leaq 0x4035(%rip), %rcx      # 0x2d179
callq 0x29250
movq -0x8(%rbp), %rdi
leaq 0x406a(%rip), %rsi      # 0x2d1be
movl $0x9, %edx
callq 0x78d0
movq -0x8(%rbp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x405a(%rip), %rdx      # 0x2d1c8
callq 0x81e0
movq -0x8(%rbp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x2e4c(%rip), %rdx      # 0x2bfcf
movl $0x2, %ecx
callq 0x1b2f0
movq -0x8(%rbp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x4032(%rip), %rdx      # 0x2d1cf
callq 0x81e0
movq -0x8(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x7f20
movq -0x8(%rbp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x4017(%rip), %rdx      # 0x2d1d6
callq 0x81e0
movq -0x8(%rbp), %rdi
movl $0xffffd8ee, %esi       # imm = 0xFFFFD8EE
callq 0x6f80
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
leaq 0xdbbf(%rip), %rdx      # 0x36da0
callq 0x1b100
movq -0x8(%rbp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x6ab0
movl $0x1, %eax
addq $0x10, %rsp
popq %rbp
retq
nop