// File: /workspace/github_c_makefile_star2_O2/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 %r12
pushq %rbx
movq %rdi, %rbx
leaq 0x2c9b(%rip), %rsi      # 0x1af29
callq 0xf6ed
leaq 0x17b(%rip), %rsi       # 0x18415
xorl %r15d, %r15d
movq %rbx, %rdi
xorl %edx, %edx
callq 0x599b
leaq 0x19c5(%rip), %rdx      # 0x19c73
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x5c7e
leaq 0x1d48(%rip), %rsi      # 0x1a00a
leaq 0xea77(%rip), %rdx      # 0x26d40
movq %rbx, %rdi
callq 0xfa2b
pushq $-0x1
popq %rsi
movq %rbx, %rdi
callq 0x541c
movq %rbx, %rdi
movl $0xffffd8ef, %esi       # imm = 0xFFFFD8EF
callq 0x5360
pushq $0x4
popq %rsi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x5b5f
pushq $0x1
popq %r14
leaq 0xea6f(%rip), %r12      # 0x26d70
cmpq $0x20, %r15
je 0x1832b
movq (%r15,%r12), %rsi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x599b
movq %rbx, %rdi
movl %ebp, %esi
movl %r14d, %edx
callq 0x5d42
addq $0x8, %r15
incl %r14d
jmp 0x18301
leaq 0x2c00(%rip), %rdx      # 0x1af32
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x5c7e
leaq 0x2c88(%rip), %rsi      # 0x1afce
leaq 0x2bed(%rip), %rdx      # 0x1af3a
leaq 0x2bef(%rip), %rcx      # 0x1af43
movq %rbx, %rdi
callq 0x1842d
leaq 0x2c6a(%rip), %rsi      # 0x1afcd
leaq 0x2c69(%rip), %rdx      # 0x1afd3
leaq 0x2c6c(%rip), %rcx      # 0x1afdd
movq %rbx, %rdi
callq 0x1842d
leaq 0x2ca2(%rip), %rsi      # 0x1b022
pushq $0x9
popq %rdx
movq %rbx, %rdi
callq 0x5819
leaq 0x2c9a(%rip), %rdx      # 0x1b02c
movq %rbx, %rdi
movl %ebp, %esi
callq 0x5c7e
leaq 0x1bf0(%rip), %rdx      # 0x19f93
pushq $0x2
popq %rcx
movq %rbx, %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
callq 0xfb76
leaq 0x2c79(%rip), %rdx      # 0x1b033
movq %rbx, %rdi
movl %ebp, %esi
callq 0x5c7e
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x5b5f
leaq 0x2c63(%rip), %rdx      # 0x1b03a
movq %rbx, %rdi
movl %ebp, %esi
callq 0x5c7e
movq %rbx, %rdi
movl $0xffffd8ee, %esi       # imm = 0xFFFFD8EE
callq 0x541c
leaq 0xe9ab(%rip), %rdx      # 0x26da0
movq %rbx, %rdi
xorl %esi, %esi
callq 0xfa2b
movq %rbx, %rdi
movl %ebp, %esi
callq 0x51fc
pushq $0x1
popq %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq