// File: /workspace/github_c_makefile_star2_O0/tylerneylon[P]APIsWithLua/lua/ldebug.c
// Function: auxgetinfo
static int auxgetinfo (lua_State *L, const char *what, lua_Debug *ar,
                       Closure *f, CallInfo *ci) {
  int status = 1;
  for (; *what; what++) {
    switch (*what) {
      case 'S': {
        funcinfo(ar, f);
        break;
      }
      case 'l': {
        ar->currentline = (ci && isLua(ci)) ? currentline(ci) : -1;
        break;
      }
      case 'u': {
        ar->nups = (f == NULL) ? 0 : f->c.nupvalues;
        if (noLuaClosure(f)) {
          ar->isvararg = 1;
          ar->nparams = 0;
        }
        else {
          ar->isvararg = f->l.p->is_vararg;
          ar->nparams = f->l.p->numparams;
        }
        break;
      }
      case 't': {
        ar->istailcall = (ci) ? ci->callstatus & CIST_TAIL : 0;
        break;
      }
      case 'n': {
        /* calling function is a known Lua function? */
        if (ci && !(ci->callstatus & CIST_TAIL) && isLua(ci->previous))
          ar->namewhat = getfuncname(L, ci->previous, &ar->name);
        else
          ar->namewhat = NULL;
        if (ar->namewhat == NULL) {
          ar->namewhat = "";  /* not found */
          ar->name = NULL;
        }
        break;
      }
      case 'L':
      case 'f':  /* handled by lua_getinfo */
        break;
      default: status = 0;  /* invalid option */
    }
  }
  return status;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl $0x1, -0x2c(%rbp)
movq -0x10(%rbp), %rax
cmpb $0x0, (%rax)
je 0x9751
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
addl $-0x4c, %eax
movl %eax, %ecx
movq %rcx, -0x38(%rbp)
subl $0x29, %eax
ja 0x9737
movq -0x38(%rbp), %rax
leaq 0x2acc8(%rip), %rcx     # 0x3427c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xa140
jmp 0x973e
cmpq $0x0, -0x28(%rbp)
je 0x95f4
movq -0x28(%rbp), %rax
movzbl 0x42(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x95f4
movq -0x28(%rbp), %rdi
callq 0x9de0
movl %eax, -0x3c(%rbp)
jmp 0x95fe
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, -0x3c(%rbp)
jmp 0x95fe
movl -0x3c(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x28(%rax)
jmp 0x973e
cmpq $0x0, -0x20(%rbp)
jne 0x961b
xorl %eax, %eax
movl %eax, -0x40(%rbp)
jmp 0x9626
movq -0x20(%rbp), %rax
movzbl 0xa(%rax), %eax
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movb %cl, 0x34(%rax)
cmpq $0x0, -0x20(%rbp)
je 0x9646
movq -0x20(%rbp), %rax
movzbl 0x8(%rax), %eax
cmpl $0x26, %eax
jne 0x9658
movq -0x18(%rbp), %rax
movb $0x1, 0x36(%rax)
movq -0x18(%rbp), %rax
movb $0x0, 0x35(%rax)
jmp 0x967c
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rax
movb 0xb(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x36(%rax)
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rax
movb 0xa(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x35(%rax)
jmp 0x973e
cmpq $0x0, -0x28(%rbp)
je 0x9698
movq -0x28(%rbp), %rax
movzbl 0x42(%rax), %eax
andl $0x20, %eax
movl %eax, -0x44(%rbp)
jmp 0x969f
xorl %eax, %eax
movl %eax, -0x44(%rbp)
jmp 0x969f
movl -0x44(%rbp), %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movb %cl, 0x37(%rax)
jmp 0x973e
cmpq $0x0, -0x28(%rbp)
je 0x9701
movq -0x28(%rbp), %rax
movzbl 0x42(%rax), %eax
andl $0x20, %eax
cmpl $0x0, %eax
jne 0x9701
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movzbl 0x42(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x9701
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x18(%rbp), %rdx
addq $0x8, %rdx
callq 0xa240
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0x970d
movq -0x18(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x9733
movq -0x18(%rbp), %rax
leaq 0x2df63(%rip), %rcx     # 0x37686
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x8(%rax)
jmp 0x973e
jmp 0x973e
movl $0x0, -0x2c(%rbp)
jmp 0x9740
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x9583
movl -0x2c(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)