// File: /workspace/github_c_makefile_star2_O2/stetre[P]moongl/src/main.c
// Function: luaopen_moongl
int luaopen_moongl(lua_State *L)
/* Lua calls this function to load the module */
    {
    moongl_L = L;
    atexit(AtExit);

    lua_newtable(L); /* the gl table */

    /* add gl functions: */
    moongl_open_init(L);
    moongl_open_object(L);
    moongl_open_enums(L);
    moongl_open_nongl(L);

    moongl_open_hint(L);
    moongl_open_capabilities(L);
    moongl_open_whole_framebuffer(L);
    moongl_open_buffer(L);
    moongl_open_vertex_array(L);
    moongl_open_getvertex(L);
    moongl_open_texture(L);
    moongl_open_teximage(L);
    moongl_open_shader(L);
    moongl_open_subroutine(L);
    moongl_open_program(L);
    moongl_open_proginterface(L);
    moongl_open_uniform(L);
    moongl_open_getuniform(L);
    moongl_open_pipeline(L);
    moongl_open_framebuffer(L);
    moongl_open_query(L);
    moongl_open_renderbuffer(L);
    moongl_open_sampler(L);
    moongl_open_draw(L);
    moongl_open_transform(L);
    moongl_open_raster(L);
    moongl_open_get(L);
    moongl_open_getstring(L);
    moongl_open_getintformat(L);
    moongl_open_perfragment(L);
    moongl_open_pixel(L);
    moongl_open_debug(L);
    moongl_open_sync(L);

    /* Add functions implemented in Lua */
    lua_pushvalue(L, -1); lua_setglobal(L, "moongl");
    if(luaL_dostring(L, "require('moongl.make')") != 0) lua_error(L);
    if(luaL_dostring(L, "require('moongl.nongl')") != 0) lua_error(L);
    if(luaL_dostring(L, "require('moongl.wrappers')") != 0) lua_error(L);
    lua_pushnil(L);  lua_setglobal(L, "moongl");

    return 1;
    }

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq %rdi, 0x29069(%rip)     # 0x56960
leaq 0x1eb(%rip), %rdi       # 0x2dae9
callq 0x3ad60
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x11320
movq %rbx, %rdi
callq 0x11190
movq %rbx, %rdi
callq 0x11a20
movq %rbx, %rdi
callq 0x117d0
movq %rbx, %rdi
callq 0x11860
movq %rbx, %rdi
callq 0x11550
movq %rbx, %rdi
callq 0x110d0
movq %rbx, %rdi
callq 0x114d0
movq %rbx, %rdi
callq 0x118b0
movq %rbx, %rdi
callq 0x117a0
movq %rbx, %rdi
callq 0x11050
movq %rbx, %rdi
callq 0x11030
movq %rbx, %rdi
callq 0x11530
movq %rbx, %rdi
callq 0x11620
movq %rbx, %rdi
callq 0x11760
movq %rbx, %rdi
callq 0x11ad0
movq %rbx, %rdi
callq 0x110e0
movq %rbx, %rdi
callq 0x11340
movq %rbx, %rdi
callq 0x11a00
movq %rbx, %rdi
callq 0x11290
movq %rbx, %rdi
callq 0x11740
movq %rbx, %rdi
callq 0x11610
movq %rbx, %rdi
callq 0x11b80
movq %rbx, %rdi
callq 0x11460
movq %rbx, %rdi
callq 0x11800
movq %rbx, %rdi
callq 0x112f0
movq %rbx, %rdi
callq 0x11900
movq %rbx, %rdi
callq 0x111b0
movq %rbx, %rdi
callq 0x11820
movq %rbx, %rdi
callq 0x11130
movq %rbx, %rdi
callq 0x11100
movq %rbx, %rdi
callq 0x11580
movq %rbx, %rdi
callq 0x11300
movq %rbx, %rdi
callq 0x112b0
pushq $-0x1
popq %rsi
movq %rbx, %rdi
callq 0x11720
leaq 0x18d5b(%rip), %rsi     # 0x46784
movq %rbx, %rdi
callq 0x11330
leaq 0x18d53(%rip), %rsi     # 0x4678b
movq %rbx, %rdi
callq 0x11660
testl %eax, %eax
jne 0x2da5d
pushq $-0x1
popq %rdx
movq %rbx, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x113a0
testl %eax, %eax
je 0x2da65
movq %rbx, %rdi
callq 0x11630
leaq 0x18d36(%rip), %rsi     # 0x467a2
movq %rbx, %rdi
callq 0x11660
testl %eax, %eax
jne 0x2da91
pushq $-0x1
popq %rdx
movq %rbx, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x113a0
testl %eax, %eax
je 0x2da99
movq %rbx, %rdi
callq 0x11630
leaq 0x18d1a(%rip), %rsi     # 0x467ba
movq %rbx, %rdi
callq 0x11660
testl %eax, %eax
jne 0x2dac5
pushq $-0x1
popq %rdx
movq %rbx, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x113a0
testl %eax, %eax
je 0x2dacd
movq %rbx, %rdi
callq 0x11630
movq %rbx, %rdi
callq 0x11b40
leaq 0x18ca8(%rip), %rsi     # 0x46784
movq %rbx, %rdi
callq 0x11330
pushq $0x1
popq %rax
popq %rbx
retq