LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/monitor.c
// Function: SetGammaRamp
static int SetGammaRamp(lua_State *L)
    {
    GLFWgammaramp ramp;
    mon_t *mon = checkmonitor(L, 1);
    checkgammaramp(L, 2, &ramp);
    glfw.SetGammaRamp(mon->monitor, &ramp);
    free(ramp.red);
    free(ramp.green);
    free(ramp.blue);
    return 0;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
callq 0x56c0
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0x10(%rsp), %rdx
callq 0x56f0
movq 0xe0f0(%rip), %rax      # 0x23fe8
movq 0x78(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
leaq 0x10(%rsp), %rsi
callq *%rax
movq 0x10(%rsp), %rdi
callq 0x50b0
movq 0x18(%rsp), %rdi
callq 0x50b0
movq 0x20(%rsp), %rdi
callq 0x50b0
xorl %eax, %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/monitor.c
// Function: GetMonitorWorkarea
static int GetMonitorWorkarea(lua_State *L)
    {
    int xpos, ypos, width, height;
    mon_t *mon = checkmonitor(L, 1);
    CheckPfn(L, GetMonitorWorkarea, 3, 3, 0);
    glfw.GetMonitorWorkarea(mon->monitor, &xpos, &ypos, &width, &height);
    lua_pushinteger(L, xpos);
    lua_pushinteger(L, ypos);
    lua_pushinteger(L, width);
    lua_pushinteger(L, height);
    return 4;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x56c0
movq %rax, (%rsp)
movq 0xe085(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x2d8(%rax)
jne 0x15fbf
movl $0x3, %esi
xorl %edx, %edx
movl %esi, %edi
callq 0x5680
cmpl $0x0, %eax
jne 0x15fa6
movq 0x18(%rsp), %rdi
leaq 0x8686(%rip), %rsi      # 0x1e612
movl $0x3, %ecx
xorl %r8d, %r8d
movl %ecx, %edx
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x16031
movq 0x18(%rsp), %rdi
leaq 0x8699(%rip), %rsi      # 0x1e64b
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x16031
jmp 0x15fc1
movq 0xe020(%rip), %rax      # 0x23fe8
movq 0x2d8(%rax), %rax
movq (%rsp), %rcx
movq 0x28(%rcx), %rdi
leaq 0x14(%rsp), %rsi
leaq 0x10(%rsp), %rdx
leaq 0xc(%rsp), %rcx
leaq 0x8(%rsp), %r8
callq *%rax
movq 0x18(%rsp), %rdi
movslq 0x14(%rsp), %rsi
callq 0x5300
movq 0x18(%rsp), %rdi
movslq 0x10(%rsp), %rsi
callq 0x5300
movq 0x18(%rsp), %rdi
movslq 0xc(%rsp), %rsi
callq 0x5300
movq 0x18(%rsp), %rdi
movslq 0x8(%rsp), %rsi
callq 0x5300
movl $0x4, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/monitor.c
// Function: GetMonitorContentScale
static int GetMonitorContentScale(lua_State *L)
    {
    float xscale, yscale;
    mon_t *mon = checkmonitor(L, 1);
    CheckPfn(L, GetMonitorContentScale, 3, 3, 0);
    glfw.GetMonitorContentScale(mon->monitor, &xscale, &yscale);
    lua_pushnumber(L, xscale);
    lua_pushnumber(L, yscale);
    return 2;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x56c0
movq %rax, 0x8(%rsp)
movq 0xdf84(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x2e0(%rax)
jne 0x160bd
movl $0x3, %esi
xorl %edx, %edx
movl %esi, %edi
callq 0x5680
cmpl $0x0, %eax
jne 0x160a4
movq 0x18(%rsp), %rdi
leaq 0x85e7(%rip), %rsi      # 0x1e674
movl $0x3, %ecx
xorl %r8d, %r8d
movl %ecx, %edx
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x16112
movq 0x18(%rsp), %rdi
leaq 0x8601(%rip), %rsi      # 0x1e6b1
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x16112
jmp 0x160bf
movq 0xdf22(%rip), %rax      # 0x23fe8
movq 0x2e0(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
leaq 0x14(%rsp), %rsi
leaq 0x10(%rsp), %rdx
callq *%rax
movq 0x18(%rsp), %rdi
movss 0x14(%rsp), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5440
movq 0x18(%rsp), %rdi
movss 0x10(%rsp), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5440
movl $0x2, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetWin32Adapter
static int GetWin32Adapter(lua_State *L)
    {
    const char *what;
    mon_t *mon = checkmonitor(L, 1);
    CheckNativePfn(L, GetWin32Adapter);
    what = glfw.GetWin32Adapter(mon->monitor);
    if(!what) return 0;
    lua_pushstring(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x56c0
movq %rax, 0x8(%rsp)
movq 0xdab4(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x3d0(%rax)
jne 0x16557
movq 0x18(%rsp), %rdi
leaq 0x83cc(%rip), %rsi      # 0x1e916
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x165a0
jmp 0x16559
movq 0xda88(%rip), %rax      # 0x23fe8
movq 0x3d0(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x16589
movl $0x0, 0x24(%rsp)
jmp 0x165a0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x5670
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetWin32Monitor
static int GetWin32Monitor(lua_State *L)
    {
    const char *what;
    mon_t *mon = checkmonitor(L, 1);
    CheckNativePfn(L, GetWin32Monitor);
    what = glfw.GetWin32Monitor(mon->monitor);
    if(!what) return 0;
    lua_pushstring(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x56c0
movq %rax, 0x8(%rsp)
movq 0xda14(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x3d8(%rax)
jne 0x165f7
movq 0x18(%rsp), %rdi
leaq 0x8352(%rip), %rsi      # 0x1e93c
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x16640
jmp 0x165f9
movq 0xd9e8(%rip), %rax      # 0x23fe8
movq 0x3d8(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x16629
movl $0x0, 0x24(%rsp)
jmp 0x16640
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x5670
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetWin32Window
static int GetWin32Window(lua_State *L)
    {
    void *what;
    win_t *win = checkwindow(L, 1);
    CheckNativePfn(L, GetWin32Window);
    what = glfw.GetWin32Window(win->window);
    if(!what) return 0;
    lua_pushlightuserdata(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x5550
movq %rax, 0x8(%rsp)
movq 0xd974(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x3e0(%rax)
jne 0x16697
movq 0x18(%rsp), %rdi
leaq 0x82d8(%rip), %rsi      # 0x1e962
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x166e0
jmp 0x16699
movq 0xd948(%rip), %rax      # 0x23fe8
movq 0x3e0(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x166c9
movl $0x0, 0x24(%rsp)
jmp 0x166e0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetWGLContext
static int GetWGLContext(lua_State *L)
    {
    void *what;
    win_t *win = checkwindow(L, 1);
    CheckNativePfn(L, GetWGLContext);
    what = glfw.GetWGLContext(win->window);
    if(!what) return 0;
    lua_pushlightuserdata(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x5550
movq %rax, 0x8(%rsp)
movq 0xd8d4(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x3e8(%rax)
jne 0x16737
movq 0x18(%rsp), %rdi
leaq 0x825d(%rip), %rsi      # 0x1e987
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x16780
jmp 0x16739
movq 0xd8a8(%rip), %rax      # 0x23fe8
movq 0x3e8(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x16769
movl $0x0, 0x24(%rsp)
jmp 0x16780
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetX11Display
static int GetX11Display(lua_State *L)
    {
    void *what;
    CheckNativePfn(L, GetX11Display);
    what = glfw.GetX11Display();
    if(!what) return 0;
    lua_pushlightuserdata(L, what);
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0xd848(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x3f0(%rax)
jne 0x167c3
movq 0x8(%rsp), %rdi
leaq 0x81f5(%rip), %rsi      # 0x1e9ab
movb $0x0, %al
callq 0x5590
movl %eax, 0x14(%rsp)
jmp 0x167fd
jmp 0x167c5
movq 0xd81c(%rip), %rax      # 0x23fe8
callq *0x3f0(%rax)
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x167e7
movl $0x0, 0x14(%rsp)
jmp 0x167fd
movq 0x8(%rsp), %rdi
movq (%rsp), %rsi
callq 0x54b0
movl $0x1, 0x14(%rsp)
movl 0x14(%rsp), %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetX11Adapter
static int GetX11Adapter(lua_State *L)
    {
    unsigned long what;
    mon_t *mon = checkmonitor(L, 1);
    CheckNativePfn(L, GetX11Adapter);
    what = glfw.GetX11Adapter(mon->monitor);
//  if(!what) return 0;
    lua_pushinteger(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x56c0
movq %rax, 0x8(%rsp)
movq 0xd7b4(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x3f8(%rax)
jne 0x16857
movq 0x18(%rsp), %rdi
leaq 0x8185(%rip), %rsi      # 0x1e9cf
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x1688e
jmp 0x16859
movq 0xd788(%rip), %rax      # 0x23fe8
movq 0x3f8(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x5300
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetX11Monitor
static int GetX11Monitor(lua_State *L)
    {
    unsigned long what;
    mon_t *mon = checkmonitor(L, 1);
    CheckNativePfn(L, GetX11Monitor);
    what = glfw.GetX11Monitor(mon->monitor);
//  if(!what) return 0;
    lua_pushinteger(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x56c0
movq %rax, 0x8(%rsp)
movq 0xd724(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x400(%rax)
jne 0x168e7
movq 0x18(%rsp), %rdi
leaq 0x8119(%rip), %rsi      # 0x1e9f3
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x1691e
jmp 0x168e9
movq 0xd6f8(%rip), %rax      # 0x23fe8
movq 0x400(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x5300
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetX11Window
static int GetX11Window(lua_State *L)
    {
    unsigned long what;
    win_t *win = checkwindow(L, 1);
    CheckNativePfn(L, GetX11Window);
    what = glfw.GetX11Window(win->window);
//  if(!what) return 0;
    lua_pushinteger(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x5550
movq %rax, 0x8(%rsp)
movq 0xd694(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x408(%rax)
jne 0x16977
movq 0x18(%rsp), %rdi
leaq 0x80ad(%rip), %rsi      # 0x1ea17
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x169ae
jmp 0x16979
movq 0xd668(%rip), %rax      # 0x23fe8
movq 0x408(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x5300
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: SetX11SelectionString
static int SetX11SelectionString(lua_State *L)
    {
    const char *s = luaL_checkstring(L, 1);
    CheckNativePfn(L, SetX11SelectionString);
    glfw.SetX11SelectionString(s);
    return 0;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0x8(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x5330
movq %rax, (%rsp)
movq 0xd601(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x468(%rax)
jne 0x16a0a
movq 0x8(%rsp), %rdi
leaq 0x803d(%rip), %rsi      # 0x1ea3a
movb $0x0, %al
callq 0x5590
movl %eax, 0x14(%rsp)
jmp 0x16a28
jmp 0x16a0c
movq 0xd5d5(%rip), %rax      # 0x23fe8
movq 0x468(%rax), %rax
movq (%rsp), %rdi
callq *%rax
movl $0x0, 0x14(%rsp)
movl 0x14(%rsp), %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetX11SelectionString
static int GetX11SelectionString(lua_State *L)
    {
    const char *s;
    CheckNativePfn(L, GetX11SelectionString);
    s = glfw.GetX11SelectionString();
    if(!s) return 0;
    lua_pushstring(L, s);
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0xd598(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x470(%rax)
jne 0x16a73
movq 0x8(%rsp), %rdi
leaq 0x8000(%rip), %rsi      # 0x1ea66
movb $0x0, %al
callq 0x5590
movl %eax, 0x14(%rsp)
jmp 0x16aad
jmp 0x16a75
movq 0xd56c(%rip), %rax      # 0x23fe8
callq *0x470(%rax)
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x16a97
movl $0x0, 0x14(%rsp)
jmp 0x16aad
movq 0x8(%rsp), %rdi
movq (%rsp), %rsi
callq 0x5670
movl $0x1, 0x14(%rsp)
movl 0x14(%rsp), %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetGLXContext
static int GetGLXContext(lua_State *L)
    {
    void *what;
    win_t *win = checkwindow(L, 1);
    CheckNativePfn(L, GetGLXContext);
    what = glfw.GetGLXContext(win->window);
    if(!what) return 0;
    lua_pushlightuserdata(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x5550
movq %rax, 0x8(%rsp)
movq 0xd504(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x410(%rax)
jne 0x16b07
movq 0x18(%rsp), %rdi
leaq 0x7f98(%rip), %rsi      # 0x1ea92
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x16b50
jmp 0x16b09
movq 0xd4d8(%rip), %rax      # 0x23fe8
movq 0x410(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x16b39
movl $0x0, 0x24(%rsp)
jmp 0x16b50
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetGLXWindow
static int GetGLXWindow(lua_State *L)
    {
    unsigned long what;
    win_t *win = checkwindow(L, 1);
    CheckNativePfn(L, GetGLXWindow);
    what = glfw.GetGLXWindow(win->window);
//  if(!what) return 0;
    lua_pushinteger(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x5550
movq %rax, 0x8(%rsp)
movq 0xd464(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x418(%rax)
jne 0x16ba7
movq 0x18(%rsp), %rdi
leaq 0x7f1c(%rip), %rsi      # 0x1eab6
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x16bde
jmp 0x16ba9
movq 0xd438(%rip), %rax      # 0x23fe8
movq 0x418(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x5300
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetWaylandDisplay
static int GetWaylandDisplay(lua_State *L)
    {
    void *what;
    CheckNativePfn(L, GetWaylandDisplay);
    what = glfw.GetWaylandDisplay();
    if(!what) return 0;
    lua_pushlightuserdata(L, what);
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0xd3e8(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x420(%rax)
jne 0x16c23
movq 0x8(%rsp), %rdi
leaq 0x7ec3(%rip), %rsi      # 0x1ead9
movb $0x0, %al
callq 0x5590
movl %eax, 0x14(%rsp)
jmp 0x16c5d
jmp 0x16c25
movq 0xd3bc(%rip), %rax      # 0x23fe8
callq *0x420(%rax)
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x16c47
movl $0x0, 0x14(%rsp)
jmp 0x16c5d
movq 0x8(%rsp), %rdi
movq (%rsp), %rsi
callq 0x54b0
movl $0x1, 0x14(%rsp)
movl 0x14(%rsp), %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetWaylandMonitor
static int GetWaylandMonitor(lua_State *L)
    {
    void *what;
    mon_t *mon = checkmonitor(L, 1);
    CheckNativePfn(L, GetWaylandMonitor);
    what = glfw.GetWaylandMonitor(mon->monitor);
    if(!what) return 0;
    lua_pushlightuserdata(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x56c0
movq %rax, 0x8(%rsp)
movq 0xd354(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x428(%rax)
jne 0x16cb7
movq 0x18(%rsp), %rdi
leaq 0x7e57(%rip), %rsi      # 0x1eb01
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x16d00
jmp 0x16cb9
movq 0xd328(%rip), %rax      # 0x23fe8
movq 0x428(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x16ce9
movl $0x0, 0x24(%rsp)
jmp 0x16d00
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetWaylandWindow
static int GetWaylandWindow(lua_State *L)
    {
    void *what;
    win_t *win = checkwindow(L, 1);
    CheckNativePfn(L, GetWaylandWindow);
    what = glfw.GetWaylandWindow(win->window);
    if(!what) return 0;
    lua_pushlightuserdata(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x5550
movq %rax, 0x8(%rsp)
movq 0xd2b4(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x430(%rax)
jne 0x16d57
movq 0x18(%rsp), %rdi
leaq 0x7ddf(%rip), %rsi      # 0x1eb29
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x16da0
jmp 0x16d59
movq 0xd288(%rip), %rax      # 0x23fe8
movq 0x430(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x16d89
movl $0x0, 0x24(%rsp)
jmp 0x16da0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetMirDisplay
static int GetMirDisplay(lua_State *L)
    {
    void *what;
    CheckNativePfn(L, GetMirDisplay);
    what = glfw.GetMirDisplay();
    if(!what) return 0;
    lua_pushlightuserdata(L, what);
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0xd228(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x438(%rax)
jne 0x16de3
movq 0x8(%rsp), %rdi
leaq 0x7d7a(%rip), %rsi      # 0x1eb50
movb $0x0, %al
callq 0x5590
movl %eax, 0x14(%rsp)
jmp 0x16e1d
jmp 0x16de5
movq 0xd1fc(%rip), %rax      # 0x23fe8
callq *0x438(%rax)
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x16e07
movl $0x0, 0x14(%rsp)
jmp 0x16e1d
movq 0x8(%rsp), %rdi
movq (%rsp), %rsi
callq 0x54b0
movl $0x1, 0x14(%rsp)
movl 0x14(%rsp), %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetMirMonitor
static int GetMirMonitor(lua_State *L)
    {
    int what;
    mon_t *mon = checkmonitor(L, 1);
    CheckNativePfn(L, GetMirMonitor);
    what = glfw.GetMirMonitor(mon->monitor);
//  if(!what) return 0;
    lua_pushinteger(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x56c0
movq %rax, 0x8(%rsp)
movq 0xd194(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x440(%rax)
jne 0x16e77
movq 0x18(%rsp), %rdi
leaq 0x7d0a(%rip), %rsi      # 0x1eb74
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x16ead
jmp 0x16e79
movq 0xd168(%rip), %rax      # 0x23fe8
movq 0x440(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movl %eax, 0x14(%rsp)
movq 0x18(%rsp), %rdi
movslq 0x14(%rsp), %rsi
callq 0x5300
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetMirWindow
static int GetMirWindow(lua_State *L)
    {
    void *what;
    win_t *win = checkwindow(L, 1);
    CheckNativePfn(L, GetMirWindow);
    what = glfw.GetMirWindow(win->window);
    if(!what) return 0;
    lua_pushlightuserdata(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x5550
movq %rax, 0x8(%rsp)
movq 0xd104(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x448(%rax)
jne 0x16f07
movq 0x18(%rsp), %rdi
leaq 0x7c9e(%rip), %rsi      # 0x1eb98
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x16f50
jmp 0x16f09
movq 0xd0d8(%rip), %rax      # 0x23fe8
movq 0x448(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x16f39
movl $0x0, 0x24(%rsp)
jmp 0x16f50
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetEGLDisplay
static int GetEGLDisplay(lua_State *L)
    {
    void *what;
    CheckNativePfn(L, GetEGLDisplay);
    what = glfw.GetEGLDisplay();
    if(!what) return 0;
    lua_pushlightuserdata(L, what);
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq 0xd078(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x450(%rax)
jne 0x16f93
movq 0x8(%rsp), %rdi
leaq 0x7c35(%rip), %rsi      # 0x1ebbb
movb $0x0, %al
callq 0x5590
movl %eax, 0x14(%rsp)
jmp 0x16fcd
jmp 0x16f95
movq 0xd04c(%rip), %rax      # 0x23fe8
callq *0x450(%rax)
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x16fb7
movl $0x0, 0x14(%rsp)
jmp 0x16fcd
movq 0x8(%rsp), %rdi
movq (%rsp), %rsi
callq 0x54b0
movl $0x1, 0x14(%rsp)
movl 0x14(%rsp), %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetEGLContext
static int GetEGLContext(lua_State *L)
    {
    void *what;
    win_t *win = checkwindow(L, 1);
    CheckNativePfn(L, GetEGLContext);
    what = glfw.GetEGLContext(win->window);
    if(!what) return 0;
    lua_pushlightuserdata(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x5550
movq %rax, 0x8(%rsp)
movq 0xcfe4(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x458(%rax)
jne 0x17027
movq 0x18(%rsp), %rdi
leaq 0x7bc5(%rip), %rsi      # 0x1ebdf
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x17070
jmp 0x17029
movq 0xcfb8(%rip), %rax      # 0x23fe8
movq 0x458(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x17059
movl $0x0, 0x24(%rsp)
jmp 0x17070
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetEGLSurface
static int GetEGLSurface(lua_State *L)
    {
    void *what;
    win_t *win = checkwindow(L, 1);
    CheckNativePfn(L, GetEGLSurface);
    what = glfw.GetEGLSurface(win->window);
    if(!what) return 0;
    lua_pushlightuserdata(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x5550
movq %rax, 0x8(%rsp)
movq 0xcf44(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x460(%rax)
jne 0x170c7
movq 0x18(%rsp), %rdi
leaq 0x7b49(%rip), %rsi      # 0x1ec03
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x17110
jmp 0x170c9
movq 0xcf18(%rip), %rax      # 0x23fe8
movq 0x460(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x170f9
movl $0x0, 0x24(%rsp)
jmp 0x17110
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetOSMesaColorBuffer
static int GetOSMesaColorBuffer(lua_State *L) //@@ needs debug
    {
    int rc, width, height, format;
    void* buffer;
    win_t *win = checkwindow(L, 1);
    CheckNativePfn(L, GetOSMesaColorBuffer);
    rc = glfw.GetOSMesaColorBuffer(win->window, &width, &height, &format, &buffer);
    if(!rc) return 0;
    lua_pushinteger(L, width);
    lua_pushinteger(L, height);
    lua_pushinteger(L, format);
    lua_pushlightuserdata(L, buffer);
    return 4;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x5550
movq %rax, 0x8(%rsp)
movq 0xcea4(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x478(%rax)
jne 0x1716a
movq 0x28(%rsp), %rdi
leaq 0x7acd(%rip), %rsi      # 0x1ec27
movb $0x0, %al
callq 0x5590
movl %eax, 0x34(%rsp)
jmp 0x171f2
jmp 0x1716c
movq 0xce75(%rip), %rax      # 0x23fe8
movq 0x478(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x1c(%rsp), %rdx
leaq 0x18(%rsp), %rcx
leaq 0x10(%rsp), %r8
callq *%rax
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
jne 0x171ae
movl $0x0, 0x34(%rsp)
jmp 0x171f2
movq 0x28(%rsp), %rdi
movslq 0x20(%rsp), %rsi
callq 0x5300
movq 0x28(%rsp), %rdi
movslq 0x1c(%rsp), %rsi
callq 0x5300
movq 0x28(%rsp), %rdi
movslq 0x18(%rsp), %rsi
callq 0x5300
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movl $0x4, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetOSMesaDepthBuffer
static int GetOSMesaDepthBuffer(lua_State *L) //@@ needs debug
    {
    int rc, width, height, bytespervalue;
    void* buffer;
    win_t *win = checkwindow(L, 1);
    CheckNativePfn(L, GetOSMesaDepthBuffer);
    rc = glfw.GetOSMesaDepthBuffer(win->window, &width, &height, &bytespervalue, &buffer);
    if(!rc) return 0;
    lua_pushinteger(L, width);
    lua_pushinteger(L, height);
    lua_pushinteger(L, bytespervalue);
    lua_pushlightuserdata(L, buffer);
    return 4;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
callq 0x5550
movq %rax, 0x8(%rsp)
movq 0xcdc4(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x480(%rax)
jne 0x1724a
movq 0x28(%rsp), %rdi
leaq 0x7a18(%rip), %rsi      # 0x1ec52
movb $0x0, %al
callq 0x5590
movl %eax, 0x34(%rsp)
jmp 0x172d2
jmp 0x1724c
movq 0xcd95(%rip), %rax      # 0x23fe8
movq 0x480(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x1c(%rsp), %rdx
leaq 0x18(%rsp), %rcx
leaq 0x10(%rsp), %r8
callq *%rax
movl %eax, 0x24(%rsp)
cmpl $0x0, 0x24(%rsp)
jne 0x1728e
movl $0x0, 0x34(%rsp)
jmp 0x172d2
movq 0x28(%rsp), %rdi
movslq 0x20(%rsp), %rsi
callq 0x5300
movq 0x28(%rsp), %rdi
movslq 0x1c(%rsp), %rsi
callq 0x5300
movq 0x28(%rsp), %rdi
movslq 0x18(%rsp), %rsi
callq 0x5300
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movl $0x4, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetOSMesaContext
static int GetOSMesaContext(lua_State *L)
    {
    void *what;
    win_t *win = checkwindow(L, 1);
    CheckNativePfn(L, GetOSMesaContext);
    what = glfw.GetOSMesaContext(win->window);
    if(!what) return 0;
    lua_pushlightuserdata(L, what);
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x5550
movq %rax, 0x8(%rsp)
movq 0xcce4(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x488(%rax)
jne 0x17327
movq 0x18(%rsp), %rdi
leaq 0x7963(%rip), %rsi      # 0x1ec7d
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x17370
jmp 0x17329
movq 0xccb8(%rip), %rax      # 0x23fe8
movq 0x488(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x17359
movl $0x0, 0x24(%rsp)
jmp 0x17370
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: GetContext
static int GetContext(lua_State *L)
    {
    void *what = NULL;
    win_t *win = checkwindow(L, 1);

    if(glfw.GetWGLContext)
        {
        what = glfw.GetWGLContext(win->window);
        if(what)
            {
            lua_pushlightuserdata(L, what);
            lua_pushstring(L, "wgl");
            }
        }

    if(!what && glfw.GetGLXContext)
        {
        what = glfw.GetGLXContext(win->window);
        if(what)
            {
            lua_pushlightuserdata(L, what);
            lua_pushstring(L, "glx");
            }
        }

    if(!what && glfw.GetEGLContext)
        {
        what = glfw.GetEGLContext(win->window);
        if(what)
            {
            lua_pushlightuserdata(L, what);
            lua_pushstring(L, "egl");
            }
        }

    if(!what && glfw.GetOSMesaContext)
        {
        what = glfw.GetOSMesaContext(win->window);
        if(what)
            {
            lua_pushlightuserdata(L, what);
            lua_pushstring(L, "osmesa");
            }
        }

    if(!what) return 0;
    return 2;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
callq 0x5550
movq %rax, 0x8(%rsp)
movq 0xcc3b(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x3e8(%rax)
je 0x173ff
movq 0xcc2a(%rip), %rax      # 0x23fe8
movq 0x3e8(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x173fd
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movq 0x18(%rsp), %rdi
leaq 0x78ac(%rip), %rsi      # 0x1eca4
callq 0x5670
jmp 0x173ff
cmpq $0x0, 0x10(%rsp)
jne 0x17460
movq 0xcbda(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x410(%rax)
je 0x17460
movq 0xcbc9(%rip), %rax      # 0x23fe8
movq 0x410(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x1745e
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movq 0x18(%rsp), %rdi
leaq 0x784f(%rip), %rsi      # 0x1eca8
callq 0x5670
jmp 0x17460
cmpq $0x0, 0x10(%rsp)
jne 0x174c1
movq 0xcb79(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x458(%rax)
je 0x174c1
movq 0xcb68(%rip), %rax      # 0x23fe8
movq 0x458(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x174bf
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movq 0x18(%rsp), %rdi
leaq 0x5547(%rip), %rsi      # 0x1ca01
callq 0x5670
jmp 0x174c1
cmpq $0x0, 0x10(%rsp)
jne 0x17522
movq 0xcb18(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x488(%rax)
je 0x17522
movq 0xcb07(%rip), %rax      # 0x23fe8
movq 0x488(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x28(%rcx), %rdi
callq *%rax
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x17520
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x54b0
movq 0x18(%rsp), %rdi
leaq 0x54ea(%rip), %rsi      # 0x1ca05
callq 0x5670
jmp 0x17522
cmpq $0x0, 0x10(%rsp)
jne 0x17534
movl $0x0, 0x24(%rsp)
jmp 0x1753c
movl $0x2, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/utils.c
// Function: moonglfw_testwindow
int testwindow(lua_State *L, int arg, win_t **win_)
    {
    int id;
    win_t *win;
    if(lua_isnoneornil(L, arg))
        return 0;
    id = luaL_checkinteger(L, arg);
    win = win_search(id);
    if(!win)
        luaL_error(L, "invalid window id");
    if(win_) *win_ = win;
    return 1;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movl %esi, 0x24(%rsp)
movq %rdx, 0x18(%rsp)
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x5610
cmpl $0x0, %eax
jg 0x17a1f
movl $0x0, 0x34(%rsp)
jmp 0x17a77
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x53c0
movl %eax, 0x14(%rsp)
movl 0x14(%rsp), %edi
callq 0x5410
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x17a5a
movq 0x28(%rsp), %rdi
leaq 0x72e4(%rip), %rsi      # 0x1ed37
movb $0x0, %al
callq 0x5590
cmpq $0x0, 0x18(%rsp)
je 0x17a6f
movq 0x8(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
movl $0x1, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/utils.c
// Function: moonglfw_checkwindow
win_t *checkwindow(lua_State *L, int arg)
    {
    int id = luaL_checkinteger(L, arg);
    win_t *win = win_search(id);
    if(!win)
        luaL_error(L, "invalid window id");
    return win;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movl %esi, 0xc(%rsp)
movq 0x10(%rsp), %rdi
movl 0xc(%rsp), %esi
callq 0x53c0
movl %eax, 0x8(%rsp)
movl 0x8(%rsp), %edi
callq 0x5410
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x17ac6
movq 0x10(%rsp), %rdi
leaq 0x7278(%rip), %rsi      # 0x1ed37
movb $0x0, %al
callq 0x5590
movq (%rsp), %rax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/utils.c
// Function: moonglfw_testmonitor
int testmonitor(lua_State *L, int arg, mon_t **mon_)
    {
    int id;
    mon_t *mon;
    if(lua_isnoneornil(L, arg))
        return 0;
    id = luaL_checkinteger(L, arg);
    mon = mon_search(id);
    if(!mon)
        luaL_error(L, "invalid monitor id");
    if(mon_) *mon_ = mon;
    return 1;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movl %esi, 0x24(%rsp)
movq %rdx, 0x18(%rsp)
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x5610
cmpl $0x0, %eax
jg 0x17aff
movl $0x0, 0x34(%rsp)
jmp 0x17b57
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x53c0
movl %eax, 0x14(%rsp)
movl 0x14(%rsp), %edi
callq 0x5060
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x17b3a
movq 0x28(%rsp), %rdi
leaq 0x69de(%rip), %rsi      # 0x1e511
movb $0x0, %al
callq 0x5590
cmpq $0x0, 0x18(%rsp)
je 0x17b4f
movq 0x8(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
movl $0x1, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/utils.c
// Function: moonglfw_checkmonitor
mon_t *checkmonitor(lua_State *L, int arg)
    {
    int id = luaL_checkinteger(L, arg);
    mon_t *mon = mon_search(id);
    if(!mon)
        luaL_error(L, "invalid monitor id");
    return mon;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movl %esi, 0xc(%rsp)
movq 0x10(%rsp), %rdi
movl 0xc(%rsp), %esi
callq 0x53c0
movl %eax, 0x8(%rsp)
movl 0x8(%rsp), %edi
callq 0x5060
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x17ba6
movq 0x10(%rsp), %rdi
leaq 0x6972(%rip), %rsi      # 0x1e511
movb $0x0, %al
callq 0x5590
movq (%rsp), %rax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/utils.c
// Function: moonglfw_testcursor
int testcursor(lua_State *L, int arg, cur_t **cur_)
    {
    int id;
    cur_t *cur;
    if(lua_isnoneornil(L, arg))
        return 0;
    id = luaL_checkinteger(L, arg);
    cur = cur_search(id);
    if(!cur)
        luaL_error(L, "invalid cursor id");
    if(cur_) *cur_ = cur;
    return 1;
    }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movl %esi, 0x24(%rsp)
movq %rdx, 0x18(%rsp)
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x5610
cmpl $0x0, %eax
jg 0x17bdf
movl $0x0, 0x34(%rsp)
jmp 0x17c37
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %esi
callq 0x53c0
movl %eax, 0x14(%rsp)
movl 0x14(%rsp), %edi
callq 0x5150
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x17c1a
movq 0x28(%rsp), %rdi
leaq 0x4785(%rip), %rsi      # 0x1c398
movb $0x0, %al
callq 0x5590
cmpq $0x0, 0x18(%rsp)
je 0x17c2f
movq 0x8(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
movl $0x1, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/utils.c
// Function: moonglfw_checkcursor
cur_t *checkcursor(lua_State *L, int arg)
    {
    int id = luaL_checkinteger(L, arg);
    cur_t *cur = cur_search(id);
    if(!cur)
        luaL_error(L, "invalid cursor id");
    return cur;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movl %esi, 0xc(%rsp)
movq 0x10(%rsp), %rdi
movl 0xc(%rsp), %esi
callq 0x53c0
movl %eax, 0x8(%rsp)
movl 0x8(%rsp), %edi
callq 0x5150
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x17c86
movq 0x10(%rsp), %rdi
leaq 0x4719(%rip), %rsi      # 0x1c398
movb $0x0, %al
callq 0x5590
movq (%rsp), %rax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/utils.c
// Function: moonglfw_pushgamepadaxes
int pushgamepadaxes(lua_State *L, const GLFWgamepadstate *state)
    {
    lua_newtable(L);
#define Setfield(x, name) do {  \
    lua_pushnumber(L, state->axes[GLFW_GAMEPAD_AXIS_##x]); \
    lua_setfield(L, -2, name);  \
} while(0)
    Setfield(LEFT_X, "left_x");
    Setfield(LEFT_Y, "left_y");
    Setfield(RIGHT_X, "right_x");
    Setfield(RIGHT_Y, "right_y");
    Setfield(LEFT_TRIGGER, "left_trigger");
    Setfield(RIGHT_TRIGGER, "right_trigger");
#undef Setfield
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x10(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x5200
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movss 0x10(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5440
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6ca7(%rip), %rdx      # 0x1edac
callq 0x52c0
jmp 0x1810c
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movss 0x14(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5440
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6c7e(%rip), %rdx      # 0x1edb3
callq 0x52c0
jmp 0x1813c
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movss 0x18(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5440
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6c55(%rip), %rdx      # 0x1edba
callq 0x52c0
jmp 0x1816c
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movss 0x1c(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5440
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6c2d(%rip), %rdx      # 0x1edc2
callq 0x52c0
jmp 0x1819c
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5440
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6c05(%rip), %rdx      # 0x1edca
callq 0x52c0
jmp 0x181cc
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movss 0x24(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x5440
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6be2(%rip), %rdx      # 0x1edd7
callq 0x52c0
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/utils.c
// Function: moonglfw_pushvidmode
int pushvidmode(lua_State *L, const GLFWvidmode *mode)
    {
    int table;
    lua_newtable(L);
    table = lua_gettop(L);
#define Setfield(x, name) \
        do { lua_pushinteger(L, mode->x); lua_setfield(L, table, name); } while(0)
    Setfield(width, "width");
    Setfield(height, "height");
    Setfield(redBits,"red_bits");
    Setfield(greenBits,"green_bits");
    Setfield(blueBits,"blue_bits");
    Setfield(refreshRate,"refresh_rate");
#undef Setfield
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x10(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x5200
movq 0x10(%rsp), %rdi
callq 0x5080
movl %eax, 0x4(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movslq (%rax), %rsi
callq 0x5300
movq 0x10(%rsp), %rdi
movl 0x4(%rsp), %esi
leaq 0x6b89(%rip), %rdx      # 0x1ede5
callq 0x52c0
jmp 0x18263
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movslq 0x4(%rax), %rsi
callq 0x5300
movq 0x10(%rsp), %rdi
movl 0x4(%rsp), %esi
leaq 0x6b65(%rip), %rdx      # 0x1edeb
callq 0x52c0
jmp 0x1828d
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movslq 0x8(%rax), %rsi
callq 0x5300
movq 0x10(%rsp), %rdi
movl 0x4(%rsp), %esi
leaq 0x6b42(%rip), %rdx      # 0x1edf2
callq 0x52c0
jmp 0x182b7
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movslq 0xc(%rax), %rsi
callq 0x5300
movq 0x10(%rsp), %rdi
movl 0x4(%rsp), %esi
leaq 0x6b21(%rip), %rdx      # 0x1edfb
callq 0x52c0
jmp 0x182e1
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movslq 0x10(%rax), %rsi
callq 0x5300
movq 0x10(%rsp), %rdi
movl 0x4(%rsp), %esi
leaq 0x6b02(%rip), %rdx      # 0x1ee06
callq 0x52c0
jmp 0x1830b
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movslq 0x14(%rax), %rsi
callq 0x5300
movq 0x10(%rsp), %rdi
movl 0x4(%rsp), %esi
leaq 0x6ae2(%rip), %rdx      # 0x1ee10
callq 0x52c0
movl $0x1, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/utils.c
// Function: moonglfw_pushhat
int pushhat(lua_State *L, unsigned int hat)
    {
    lua_newtable(L);
#define Setfield(name, val) do { lua_pushboolean(L, val); lua_setfield(L, -2, name); } while(0)
    Setfield("centered", hat == GLFW_HAT_CENTERED);
    Setfield("up", hat & GLFW_HAT_UP);
    Setfield("right", hat & GLFW_HAT_RIGHT);
    Setfield("down", hat & GLFW_HAT_DOWN);
    Setfield("left", hat & GLFW_HAT_LEFT);
#undef Setfield
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movl %esi, 0xc(%rsp)
movq 0x10(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x5200
movq 0x10(%rsp), %rdi
cmpl $0x0, 0xc(%rsp)
sete %al
andb $0x1, %al
movzbl %al, %esi
callq 0x5460
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6a9a(%rip), %rdx      # 0x1ee1d
callq 0x52c0
jmp 0x1838a
movq 0x10(%rsp), %rdi
movl 0xc(%rsp), %esi
andl $0x1, %esi
callq 0x5460
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x4104(%rip), %rdx      # 0x1c4b0
callq 0x52c0
jmp 0x183b3
movq 0x10(%rsp), %rdi
movl 0xc(%rsp), %esi
andl $0x2, %esi
callq 0x5460
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x69bd(%rip), %rdx      # 0x1ed92
callq 0x52c0
jmp 0x183dc
movq 0x10(%rsp), %rdi
movl 0xc(%rsp), %esi
andl $0x4, %esi
callq 0x5460
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x40ba(%rip), %rdx      # 0x1c4b8
callq 0x52c0
jmp 0x18405
movq 0x10(%rsp), %rdi
movl 0xc(%rsp), %esi
andl $0x8, %esi
callq 0x5460
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x6980(%rip), %rdx      # 0x1eda7
callq 0x52c0
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/utils.c
// Function: moonglfw_pushgammaramp
int pushgammaramp(lua_State *L, const GLFWgammaramp *ramp)
    {
    unsigned int i;
    int table;
#define Setfield(x, name)   do {            \
        lua_newtable(L);                    \
        table = lua_gettop(L);              \
        for(i=0; i<ramp->size; i++)         \
            {                               \
            lua_pushinteger(L, ramp->x[i]); \
            lua_seti(L, table, i+1);        \
            }                               \
} while(0)
    Setfield(red,"red");
    Setfield(green,"green");
    Setfield(blue,"blue");
#undef Setfield
    return 3;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x10(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x5200
movq 0x10(%rsp), %rdi
callq 0x5080
movl %eax, (%rsp)
movl $0x0, 0x4(%rsp)
movl 0x4(%rsp), %eax
movq 0x8(%rsp), %rcx
cmpl 0x18(%rcx), %eax
jae 0x184c0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq (%rax), %rax
movl 0x4(%rsp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, %esi
callq 0x5300
movq 0x10(%rsp), %rdi
movl (%rsp), %esi
movl 0x4(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movl %eax, %edx
callq 0x5390
movl 0x4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4(%rsp)
jmp 0x18471
jmp 0x184c2
jmp 0x184c4
movq 0x10(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x5200
movq 0x10(%rsp), %rdi
callq 0x5080
movl %eax, (%rsp)
movl $0x0, 0x4(%rsp)
movl 0x4(%rsp), %eax
movq 0x8(%rsp), %rcx
cmpl 0x18(%rcx), %eax
jae 0x18537
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x4(%rsp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, %esi
callq 0x5300
movq 0x10(%rsp), %rdi
movl (%rsp), %esi
movl 0x4(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movl %eax, %edx
callq 0x5390
movl 0x4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4(%rsp)
jmp 0x184e7
jmp 0x18539
jmp 0x1853b
movq 0x10(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x5200
movq 0x10(%rsp), %rdi
callq 0x5080
movl %eax, (%rsp)
movl $0x0, 0x4(%rsp)
movl 0x4(%rsp), %eax
movq 0x8(%rsp), %rcx
cmpl 0x18(%rcx), %eax
jae 0x185ae
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rax
movl 0x4(%rsp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, %esi
callq 0x5300
movq 0x10(%rsp), %rdi
movl (%rsp), %esi
movl 0x4(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movl %eax, %edx
callq 0x5390
movl 0x4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4(%rsp)
jmp 0x1855e
jmp 0x185b0
movl $0x3, %eax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/vulkan.c
// Function: VulkanSupported
static int VulkanSupported(lua_State *L)
    {
    if(glfw.VulkanSupported)
        lua_pushboolean(L, glfw.VulkanSupported());
    else
        lua_pushboolean(L, 0);
    return 1;
    }

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0xb568(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x3a8(%rax)
je 0x18aaf
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0xb54d(%rip), %rax      # 0x23fe8
callq *0x3a8(%rax)
movq 0x8(%rsp), %rdi
movl %eax, %esi
callq 0x5460
jmp 0x18abb
movq 0x10(%rsp), %rdi
xorl %esi, %esi
callq 0x5460
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/vulkan.c
// Function: GetRequiredInstanceExtensions
static int GetRequiredInstanceExtensions(lua_State *L)
    {
    uint32_t count, i;
    const char **names;
    CheckVulkanPfn(L, GetRequiredInstanceExtensions);
    names = glfw.GetRequiredInstanceExtensions(&count);
    lua_newtable(L);
    if((count == 0) || names==NULL)
        return 1;
    for(i=0; i< count; i++)
        {
        lua_pushstring(L, names[i]);
        lua_rawseti(L, -2, i+1);
        }
    return 1;
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0xb508(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x3b0(%rax)
jne 0x18b45
movl $0x3, %edi
movl $0x2, %esi
xorl %edx, %edx
callq 0x5680
cmpl $0x0, %eax
jne 0x18b29
movq 0x18(%rsp), %rdi
leaq 0x6503(%rip), %rsi      # 0x1f00f
movl $0x3, %edx
movl $0x2, %ecx
xorl %r8d, %r8d
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x18bdd
movq 0x18(%rsp), %rdi
leaq 0x651e(%rip), %rsi      # 0x1f053
movb $0x0, %al
callq 0x5590
movl %eax, 0x24(%rsp)
jmp 0x18bdd
jmp 0x18b47
leaq 0x14(%rsp), %rdi
movq 0xb495(%rip), %rax      # 0x23fe8
callq *0x3b0(%rax)
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x5200
cmpl $0x0, 0x14(%rsp)
je 0x18b7b
cmpq $0x0, 0x8(%rsp)
jne 0x18b85
movl $0x1, 0x24(%rsp)
jmp 0x18bdd
movl $0x0, 0x10(%rsp)
movl 0x10(%rsp), %eax
cmpl 0x14(%rsp), %eax
jae 0x18bd5
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rax
movl 0x10(%rsp), %ecx
movq (%rax,%rcx,8), %rsi
callq 0x5670
movq 0x18(%rsp), %rdi
movl 0x10(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movl %eax, %edx
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x53f0
movl 0x10(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x10(%rsp)
jmp 0x18b8d
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)