// File: /workspace/github_c_makefile_star2_O2/tylerneylon[P]APIsWithLua/lua/loadlib.c
// Function: ll_require
static int ll_require (lua_State *L) {
  const char *name = luaL_checkstring(L, 1);
  lua_settop(L, 1);  /* _LOADED table will be at index 2 */
  lua_getfield(L, LUA_REGISTRYINDEX, "_LOADED");
  lua_getfield(L, 2, name);  /* _LOADED[name] */
  if (lua_toboolean(L, -1))  /* is it there? */
    return 1;  /* package is already loaded */
  /* else must load package */
  lua_pop(L, 1);  /* remove 'getfield' result */
  findloader(L, name);
  lua_pushstring(L, name);  /* pass name as argument to module loader */
  lua_insert(L, -2);  /* name is 1st argument (before search data) */
  lua_call(L, 2, 1);  /* run loader to load module */
  if (!lua_isnil(L, -1))  /* non-nil return? */
    lua_setfield(L, 2, name);  /* _LOADED[name] = returned value */
  if (lua_getfield(L, 2, name) == LUA_TNIL) {   /* module set no 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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2028, %rsp           # imm = 0x2028
movq %rdi, %rbx
pushq $0x1
popq %rbp
movl %ebp, %esi
xorl %edx, %edx
callq 0x13131
movq %rax, %r14
movq %rbx, %rdi
movl %ebp, %esi
callq 0x5b31
leaq 0x1c5f(%rip), %rdx      # 0x203e5
movq %rbx, %rdi
movl $0xfff0b9d8, %esi       # imm = 0xFFF0B9D8
callq 0x64f4
pushq $0x2
popq %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0x64f4
pushq $-0x1
popq %rsi
movq %rbx, %rdi
callq 0x5fa6
testl %eax, %eax
jne 0x1e930
pushq $-0x2
popq %rsi
movq %rbx, %rdi
callq 0x5b31
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x13589
leaq 0x351a(%rip), %rdx      # 0x21ced
movq %rbx, %rdi
movl $0xfff0b9d7, %esi       # imm = 0xFFF0B9D7
callq 0x64f4
cmpl $0x5, %eax
je 0x1e7f6
leaq 0x360f(%rip), %rsi      # 0x21dfb
movq %rbx, %rdi
xorl %eax, %eax
callq 0x12bd6
pushq $0x1
popq %r15
pushq $-0x2
popq %r12
pushq $0x1
popq %r13
pushq $0x2
popq %rbp
movq %rbx, %rdi
pushq $0x3
popq %rsi
movq %r15, %rdx
callq 0x65cf
testl %eax, %eax
jne 0x1e850
movq %rbx, %rdi
movl %r12d, %esi
callq 0x5b31
leaq 0x8(%rsp), %rdi
callq 0x134ba
movq %rbx, %rdi
pushq $-0x1
popq %rsi
xorl %edx, %edx
callq 0x5fca
movq %rbx, %rdi
leaq 0x35dc(%rip), %rsi      # 0x21e1f
movq %r14, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0x12bd6
movq %rbx, %rdi
movq %r14, %rsi
callq 0x61d0
movq %rbx, %rdi
movl %r13d, %esi
movl %ebp, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x6bb0
movq %rbx, %rdi
movl %r12d, %esi
callq 0x5d12
movq %rbx, %rdi
cmpl $0x6, %eax
je 0x1e8b3
movl %r12d, %esi
callq 0x5d8e
movq %rbx, %rdi
testl %eax, %eax
je 0x1e8a3
movl %r12d, %esi
callq 0x5b31
leaq 0x8(%rsp), %rdi
callq 0x13515
jmp 0x1e8ab
pushq $-0x3
popq %rsi
callq 0x5b31
incq %r15
jmp 0x1e805
movq %r14, %rsi
callq 0x61d0
pushq $-0x2
popq %rsi
pushq $0x1
popq %rbp
movq %rbx, %rdi
movl %ebp, %edx
callq 0x5b7f
pushq $0x2
popq %rsi
movq %rbx, %rdi
movl %ebp, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x6bb0
pushq $-0x1
popq %rsi
movq %rbx, %rdi
callq 0x5d12
testl %eax, %eax
je 0x1e8fa
pushq $0x2
popq %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0x68b9
pushq $0x2
popq %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0x64f4
testl %eax, %eax
jne 0x1e930
pushq $0x1
popq %rsi
movq %rbx, %rdi
callq 0x6386
pushq $-0x1
popq %rsi
movq %rbx, %rdi
callq 0x5cee
pushq $0x2
popq %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0x68b9
pushq $0x1
popq %rax
addq $0x2028, %rsp           # imm = 0x2028
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)