// File: /workspace/github_c_makefile_star2_O0/gplessis[P]dotdeb-redis/deps/lua/src/loadlib.c
// Function: ll_require
static int ll_require (lua_State *L) {
  const char *name = luaL_checkstring(L, 1);
  int i;
  lua_settop(L, 1);  /* _LOADED table will be at index 2 */
  lua_getfield(L, LUA_REGISTRYINDEX, "_LOADED");
  lua_getfield(L, 2, name);
  if (lua_toboolean(L, -1)) {  /* is it there? */
    if (lua_touserdata(L, -1) == sentinel)  /* check loops */
      luaL_error(L, "loop or previous error loading module " LUA_QS, name);
    return 1;  /* package is already loaded */
  }
  /* else must load it; iterate over available loaders */
  lua_getfield(L, LUA_ENVIRONINDEX, "loaders");
  if (!lua_istable(L, -1))
    luaL_error(L, LUA_QL("package.loaders") " must be a table");
  lua_pushliteral(L, "");  /* error message accumulator */
  for (i=1; ; i++) {
    lua_rawgeti(L, -2, i);  /* get a loader */
    if (lua_isnil(L, -1))
      luaL_error(L, "module " LUA_QS " not found:%s",
                    name, lua_tostring(L, -2));
    lua_pushstring(L, name);
    lua_call(L, 1, 1);  /* call it */
    if (lua_isfunction(L, -1))  /* did it find module? */
      break;  /* module loaded successfully */
    else if (lua_isstring(L, -1))  /* loader returned error message? */
      lua_concat(L, 2);  /* accumulate it */
    else
      lua_pop(L, 1);
  }
  lua_pushlightuserdata(L, sentinel);
  lua_setfield(L, 2, name);  /* _LOADED[name] = sentinel */
  lua_pushstring(L, name);  /* pass name as argument to module */
  lua_call(L, 1, 1);  /* run loaded module */
  if (!lua_isnil(L, -1))  /* non-nil return? */
    lua_setfield(L, 2, name);  /* _LOADED[name] = returned value */
  lua_getfield(L, 2, name);
  if (lua_touserdata(L, -1) == sentinel) {   /* module did not set a value? */
    lua_pushboolean(L, 1);  /* use true as result */
    lua_pushvalue(L, -1);  /* extra copy to be returned */
    lua_setfield(L, 2, name);  /* _LOADED[name] = true */
  }
  return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x1abe0
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x6ab0
movq -0x10(%rbp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x21bf(%rip), %rdx      # 0x2bfcf
callq 0x7d90
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl $0x2, %esi
callq 0x7d90
movq -0x10(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x7440
cmpl $0x0, %eax
je 0x29e76
movq -0x10(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x76a0
leaq 0x3571(%rip), %rcx      # 0x2d3c0
cmpq %rcx, %rax
jne 0x29e6a
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x34f5(%rip), %rsi      # 0x2d358
movb $0x0, %al
callq 0x1a8b0
movl $0x1, -0x4(%rbp)
jmp 0x2a064
movq -0x10(%rbp), %rdi
movl $0xffffd8ef, %esi       # imm = 0xFFFFD8EF
leaq 0x3248(%rip), %rdx      # 0x2d0ce
callq 0x7d90
movq -0x10(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x6fe0
cmpl $0x5, %eax
je 0x29eb0
movq -0x10(%rbp), %rdi
leaq 0x34da(%rip), %rsi      # 0x2d383
movb $0x0, %al
callq 0x1a8b0
movq -0x10(%rbp), %rdi
leaq 0x345b(%rip), %rsi      # 0x2d316
xorl %eax, %eax
movl %eax, %edx
callq 0x78d0
movl $0x1, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %edx
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x7ea0
movq -0x10(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x6fe0
cmpl $0x0, %eax
jne 0x29f2a
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
xorl %eax, %eax
movl %eax, %edx
callq 0x74a0
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rdx
movq %rax, %rcx
leaq 0x3482(%rip), %rsi      # 0x2d3a5
movb $0x0, %al
callq 0x1a8b0
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x7950
movq -0x10(%rbp), %rdi
movl $0x1, %edx
movl %edx, %esi
callq 0x8680
movq -0x10(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x6fe0
cmpl $0x6, %eax
jne 0x29f5c
jmp 0x29f9f
movq -0x10(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x7120
cmpl $0x0, %eax
je 0x29f7f
movq -0x10(%rbp), %rdi
movl $0x2, %esi
callq 0x8c40
jmp 0x29f8d
movq -0x10(%rbp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x6ab0
jmp 0x29f8f
jmp 0x29f91
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x29ecb
movq -0x10(%rbp), %rdi
leaq 0x3416(%rip), %rsi      # 0x2d3c0
callq 0x7ca0
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl $0x2, %esi
callq 0x81e0
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x7950
movq -0x10(%rbp), %rdi
movl $0x1, %edx
movl %edx, %esi
callq 0x8680
movq -0x10(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x6fe0
cmpl $0x0, %eax
je 0x2a003
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl $0x2, %esi
callq 0x81e0
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl $0x2, %esi
callq 0x7d90
movq -0x10(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x76a0
leaq 0x3396(%rip), %rcx      # 0x2d3c0
cmpq %rcx, %rax
jne 0x2a05d
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x7c50
movq -0x10(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x6f80
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl $0x2, %esi
callq 0x81e0
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)