// File: /workspace/github_c_makefile_star2_O2/bhk[P]tooltree/lua/../opensource/lua-5.2.3/src/loadlib.c
// Function: luaopen_package
LUAMOD_API int luaopen_package (lua_State *L) {
  /* create table CLIBS to keep track of loaded C libraries */
  luaL_getsubtable(L, LUA_REGISTRYINDEX, CLIBS);
  lua_createtable(L, 0, 1);  /* metatable for CLIBS */
  lua_pushcfunction(L, gctm);
  lua_setfield(L, -2, "__gc");  /* set finalizer for CLIBS table */
  lua_setmetatable(L, -2);
  /* create `package' table */
  luaL_newlib(L, pk_funcs);
  createsearcherstable(L);
#if defined(LUA_COMPAT_LOADERS)
  lua_pushvalue(L, -1);  /* make a copy of 'searchers' table */
  lua_setfield(L, -3, "loaders");  /* put it in field `loaders' */
#endif
  lua_setfield(L, -2, "searchers");  /* put it in field 'searchers' */
  /* set field 'path' */
  setpath(L, "path", LUA_PATHVERSION, LUA_PATH, LUA_PATH_DEFAULT);
  /* set field 'cpath' */
  setpath(L, "cpath", LUA_CPATHVERSION, LUA_CPATH, LUA_CPATH_DEFAULT);
  /* store config information */
  lua_pushliteral(L, LUA_DIRSEP "\n" LUA_PATH_SEP "\n" LUA_PATH_MARK "\n"
                     LUA_EXEC_DIR "\n" LUA_IGMARK "\n");
  lua_setfield(L, -2, "config");
  /* set field `loaded' */
  luaL_getsubtable(L, LUA_REGISTRYINDEX, "_LOADED");
  lua_setfield(L, -2, "loaded");
  /* set field `preload' */
  luaL_getsubtable(L, LUA_REGISTRYINDEX, "_PRELOAD");
  lua_setfield(L, -2, "preload");
  lua_pushglobaltable(L);
  lua_pushvalue(L, -2);  /* set 'package' as upvalue for next lib */
  luaL_setfuncs(L, ll_funcs, 1);  /* open lib into global table */
  lua_pop(L, 1);  /* pop global table */
  return 1;  /* return 'package' table */
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0xff28(%rip), %rdx      # 0x1ed29
movl $0xfff0b9d8, %esi       # imm = 0xFFF0B9D8
callq 0x9df5
xorl %r12d, %r12d
pushq $0x1
popq %rbp
movq %rbx, %rdi
xorl %esi, %esi
movl %ebp, %edx
callq 0x7f1a
leaq 0x1ab(%rip), %rsi       # 0xefcf
movq %rbx, %rdi
xorl %edx, %edx
callq 0x7cba
leaq 0xfd4a(%rip), %rdx      # 0x1eb7f
pushq $-0x2
popq %r14
movq %rbx, %rdi
movl %r14d, %esi
callq 0x809d
movq %rbx, %rdi
movl %r14d, %esi
callq 0x824a
pushq $0x2
popq %rdx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x7f1a
leaq 0x1d57d(%rip), %rsi     # 0x2c3e0
movq %rbx, %rdi
xorl %edx, %edx
callq 0x9c9a
pushq $0x4
popq %rsi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x7f1a
leaq 0x1d5af(%rip), %r13     # 0x2c430
movl %ebp, %r15d
cmpq $0x20, %r12
je 0xeeba
movq %rbx, %rdi
movl %r14d, %esi
callq 0x7604
movq (%r12,%r13), %rsi
movq %rbx, %rdi
movl %ebp, %edx
callq 0x7cba
movq %rbx, %rdi
movl %r14d, %esi
movl %r15d, %edx
callq 0x8172
incl %r15d
addq $0x8, %r12
jmp 0xee84
leaq 0xfe6f(%rip), %rdx      # 0x1ed30
pushq $-0x2
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x809d
leaq 0xff06(%rip), %rsi      # 0x1eddb
leaq 0xfe5e(%rip), %rdx      # 0x1ed3a
leaq 0xfe64(%rip), %rcx      # 0x1ed47
leaq 0xfe66(%rip), %r8       # 0x1ed50
movq %rbx, %rdi
callq 0xf02f
leaq 0xfee1(%rip), %rsi      # 0x1edda
leaq 0xfee0(%rip), %rdx      # 0x1ede0
leaq 0xfee7(%rip), %rcx      # 0x1edee
leaq 0xfeea(%rip), %r8       # 0x1edf8
movq %rbx, %rdi
callq 0xf02f
leaq 0xff20(%rip), %rsi      # 0x1ee3d
pushq $0xa
popq %rdx
movq %rbx, %rdi
callq 0x7b27
leaq 0xff19(%rip), %rdx      # 0x1ee48
movq %rbx, %rdi
movl %ebp, %esi
callq 0x809d
leaq 0xf5f9(%rip), %rdx      # 0x1e539
movq %rbx, %rdi
movl $0xfff0b9d8, %esi       # imm = 0xFFF0B9D8
callq 0x9df5
leaq 0xfefb(%rip), %rdx      # 0x1ee4f
movq %rbx, %rdi
movl %ebp, %esi
callq 0x809d
leaq 0xfad0(%rip), %rdx      # 0x1ea35
movq %rbx, %rdi
movl $0xfff0b9d8, %esi       # imm = 0xFFF0B9D8
callq 0x9df5
leaq 0xfedd(%rip), %rdx      # 0x1ee56
movq %rbx, %rdi
movl %ebp, %esi
callq 0x809d
pushq $0x2
popq %rdx
movq %rbx, %rdi
movl $0xfff0b9d8, %esi       # imm = 0xFFF0B9D8
callq 0x7e9f
movq %rbx, %rdi
movl %ebp, %esi
callq 0x7604
leaq 0x1d46c(%rip), %rsi     # 0x2c410
pushq $0x1
popq %r14
movq %rbx, %rdi
movl %r14d, %edx
callq 0x9c9a
movq %rbx, %rdi
movl %ebp, %esi
callq 0x7437
movl %r14d, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq