// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonglfw/src/native.c
// Function: moonglfw_open_native
void moonglfw_open_native(lua_State *L)
    {
    luaL_setfuncs(L, Functions, 0);
    SetNative(WIN32, glfw.GetWin32Adapter && glfw.GetWin32Monitor && glfw.GetWin32Window);
    SetNative(WGL, glfw.GetWGLContext != NULL);
    SetNative(COCOA, 0); //glfw.GetCocoaMonitor && glfw.GetCocoaWindow);
    SetNative(NSGL, 0); //glfw.GetNSGLContext != NULL);
    SetNative(X11, glfw.GetX11Display && glfw.GetX11Adapter && glfw.GetX11Monitor && glfw.GetX11Window);
    SetNative(GLX, glfw.GetGLXContext && glfw.GetGLXWindow);
    SetNative(WAYLAND, glfw.GetWaylandDisplay && glfw.GetWaylandMonitor && glfw.GetWaylandWindow);
    SetNative(MIR, glfw.GetMirDisplay && glfw.GetMirMonitor && glfw.GetMirWindow); // DEPRECATED
    SetNative(EGL, glfw.GetEGLDisplay && glfw.GetEGLContext && glfw.GetEGLSurface);
    SetNative(OSMESA, glfw.GetOSMesaColorBuffer && glfw.GetOSMesaDepthBuffer && glfw.GetOSMesaContext);
    }

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x70(%rsp)
movq 0x70(%rsp), %rdi
leaq 0xd8cb(%rip), %rsi      # 0x23a00
xorl %edx, %edx
callq 0x5120
movq 0x70(%rsp), %rax
movq %rax, 0x60(%rsp)
xorl %eax, %eax
movq 0xde99(%rip), %rcx      # 0x23fe8
cmpq $0x0, 0x3d0(%rcx)
movb %al, 0x6f(%rsp)
je 0x1618a
xorl %eax, %eax
movq 0xde82(%rip), %rcx      # 0x23fe8
cmpq $0x0, 0x3d8(%rcx)
movb %al, 0x6f(%rsp)
je 0x1618a
movq 0xde6d(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x3e0(%rax)
setne %al
movb %al, 0x6f(%rsp)
movq 0x60(%rsp), %rdi
movb 0x6f(%rsp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x5460
movq 0x70(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x8530(%rip), %rdx      # 0x1e6de
callq 0x52c0
jmp 0x161b5
movq 0x70(%rsp), %rdi
movq 0xde27(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x3e8(%rax)
setne %al
andb $0x1, %al
movzbl %al, %esi
callq 0x5460
movq 0x70(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x8504(%rip), %rdx      # 0x1e6eb
callq 0x52c0
jmp 0x161ee
movq 0x70(%rsp), %rdi
xorl %esi, %esi
callq 0x5460
movq 0x70(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x84eb(%rip), %rdx      # 0x1e6f6
callq 0x52c0
jmp 0x16212
movq 0x70(%rsp), %rdi
xorl %esi, %esi
callq 0x5460
movq 0x70(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x84d4(%rip), %rdx      # 0x1e703
callq 0x52c0
jmp 0x16236
movq 0x70(%rsp), %rax
movq %rax, 0x50(%rsp)
xorl %eax, %eax
movq 0xdd9f(%rip), %rcx      # 0x23fe8
cmpq $0x0, 0x3f0(%rcx)
movb %al, 0x5f(%rsp)
je 0x1629b
xorl %eax, %eax
movq 0xdd88(%rip), %rcx      # 0x23fe8
cmpq $0x0, 0x3f8(%rcx)
movb %al, 0x5f(%rsp)
je 0x1629b
xorl %eax, %eax
movq 0xdd71(%rip), %rcx      # 0x23fe8
cmpq $0x0, 0x400(%rcx)
movb %al, 0x5f(%rsp)
je 0x1629b
movq 0xdd5c(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x408(%rax)
setne %al
movb %al, 0x5f(%rsp)
movq 0x50(%rsp), %rdi
movb 0x5f(%rsp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x5460
movq 0x70(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x8450(%rip), %rdx      # 0x1e70f
callq 0x52c0
jmp 0x162c6
movq 0x70(%rsp), %rax
movq %rax, 0x40(%rsp)
xorl %eax, %eax
movq 0xdd0f(%rip), %rcx      # 0x23fe8
cmpq $0x0, 0x410(%rcx)
movb %al, 0x4f(%rsp)
je 0x162fd
movq 0xdcfa(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x418(%rax)
setne %al
movb %al, 0x4f(%rsp)
movq 0x40(%rsp), %rdi
movb 0x4f(%rsp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x5460
movq 0x70(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x83f9(%rip), %rdx      # 0x1e71a
callq 0x52c0
jmp 0x16328
movq 0x70(%rsp), %rax
movq %rax, 0x30(%rsp)
xorl %eax, %eax
movq 0xdcad(%rip), %rcx      # 0x23fe8
cmpq $0x0, 0x420(%rcx)
movb %al, 0x3f(%rsp)
je 0x16376
xorl %eax, %eax
movq 0xdc96(%rip), %rcx      # 0x23fe8
cmpq $0x0, 0x428(%rcx)
movb %al, 0x3f(%rsp)
je 0x16376
movq 0xdc81(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x430(%rax)
setne %al
movb %al, 0x3f(%rsp)
movq 0x30(%rsp), %rdi
movb 0x3f(%rsp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x5460
movq 0x70(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x838b(%rip), %rdx      # 0x1e725
callq 0x52c0
jmp 0x163a1
movq 0x70(%rsp), %rax
movq %rax, 0x20(%rsp)
xorl %eax, %eax
movq 0xdc34(%rip), %rcx      # 0x23fe8
cmpq $0x0, 0x438(%rcx)
movb %al, 0x2f(%rsp)
je 0x163ef
xorl %eax, %eax
movq 0xdc1d(%rip), %rcx      # 0x23fe8
cmpq $0x0, 0x440(%rcx)
movb %al, 0x2f(%rsp)
je 0x163ef
movq 0xdc08(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x448(%rax)
setne %al
movb %al, 0x2f(%rsp)
movq 0x20(%rsp), %rdi
movb 0x2f(%rsp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x5460
movq 0x70(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x8321(%rip), %rdx      # 0x1e734
callq 0x52c0
jmp 0x1641a
movq 0x70(%rsp), %rax
movq %rax, 0x10(%rsp)
xorl %eax, %eax
movq 0xdbbb(%rip), %rcx      # 0x23fe8
cmpq $0x0, 0x450(%rcx)
movb %al, 0x1f(%rsp)
je 0x16468
xorl %eax, %eax
movq 0xdba4(%rip), %rcx      # 0x23fe8
cmpq $0x0, 0x458(%rcx)
movb %al, 0x1f(%rsp)
je 0x16468
movq 0xdb8f(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x460(%rax)
setne %al
movb %al, 0x1f(%rsp)
movq 0x10(%rsp), %rdi
movb 0x1f(%rsp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x5460
movq 0x70(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x82b3(%rip), %rdx      # 0x1e73f
callq 0x52c0
jmp 0x16493
movq 0x70(%rsp), %rax
movq %rax, (%rsp)
xorl %eax, %eax
movq 0xdb43(%rip), %rcx      # 0x23fe8
cmpq $0x0, 0x478(%rcx)
movb %al, 0xf(%rsp)
je 0x164e0
xorl %eax, %eax
movq 0xdb2c(%rip), %rcx      # 0x23fe8
cmpq $0x0, 0x480(%rcx)
movb %al, 0xf(%rsp)
je 0x164e0
movq 0xdb17(%rip), %rax      # 0x23fe8
cmpq $0x0, 0x488(%rax)
setne %al
movb %al, 0xf(%rsp)
movq (%rsp), %rdi
movb 0xf(%rsp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x5460
movq 0x70(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x8247(%rip), %rdx      # 0x1e74a
callq 0x52c0
addq $0x78, %rsp
retq
nopl (%rax)