// File: /workspace/github_cpp_makefile_star2_O2/stetre[P]moonvulkan/src/main.c
// Function: luaopen_moonvulkan
int luaopen_moonvulkan(lua_State *L)
/* Lua calls this function to load the module */
    {
    moonvulkan_L = L;

    moonvulkan_utils_init(L);
    atexit(AtExit);

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

    /* add vk functions: */
    moonvulkan_open_getproc(L);
    moonvulkan_open_versions(L);
    moonvulkan_open_tracing(L);
    moonvulkan_open_datahandling(L);
    moonvulkan_open_enums(L);
    moonvulkan_open_flags(L);
    moonvulkan_open_instance(L);
    moonvulkan_open_physical_device(L);
    moonvulkan_open_layers(L);
    moonvulkan_open_device(L);
    moonvulkan_open_queue(L);
    moonvulkan_open_command_pool(L);
    moonvulkan_open_command_buffer(L);
    moonvulkan_open_semaphore(L);
    moonvulkan_open_fence(L);
    moonvulkan_open_buffer(L);
    moonvulkan_open_device_memory(L);
    moonvulkan_open_image(L);
    moonvulkan_open_event(L);
    moonvulkan_open_buffer_view(L);
    moonvulkan_open_image_view(L);
    moonvulkan_open_shader_module(L);
    moonvulkan_open_sampler(L);
    moonvulkan_open_render_pass(L);
    moonvulkan_open_framebuffer(L);
    moonvulkan_open_descriptor_set_layout(L);
    moonvulkan_open_descriptor_pool(L);
    moonvulkan_open_pipeline_layout(L);
    moonvulkan_open_pipeline_cache(L);
    moonvulkan_open_query_pool(L);
    moonvulkan_open_descriptor_set(L);
    moonvulkan_open_pipeline(L);
    moonvulkan_open_cmd(L);
    moonvulkan_open_surface(L);
    moonvulkan_open_swapchain(L);
    moonvulkan_open_debug_report_callback(L);
    moonvulkan_open_display(L);
    moonvulkan_open_display_mode(L);
    moonvulkan_open_descriptor_update_template(L);
    moonvulkan_open_validation_cache(L);
    moonvulkan_open_sampler_ycbcr_conversion(L);
    moonvulkan_open_debug_utils_messenger(L);

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

    return 1;
    }

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x77695(%rip), %rax     # 0xbafa0
movq %rdi, (%rax)
callq 0x18d80
leaq 0x1cb(%rip), %rdi       # 0x43ae5
callq 0x7c5b0
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x187d0
movq %rbx, %rdi
callq 0x19280
movq %rbx, %rdi
callq 0x19be0
movq %rbx, %rdi
callq 0x199a0
movq %rbx, %rdi
callq 0x18060
movq %rbx, %rdi
callq 0x19f70
movq %rbx, %rdi
callq 0x18090
movq %rbx, %rdi
callq 0x18940
movq %rbx, %rdi
callq 0x19960
movq %rbx, %rdi
callq 0x18810
movq %rbx, %rdi
callq 0x19370
movq %rbx, %rdi
callq 0x1a230
movq %rbx, %rdi
callq 0x1a430
movq %rbx, %rdi
callq 0x1a490
movq %rbx, %rdi
callq 0x18950
movq %rbx, %rdi
callq 0x1a2b0
movq %rbx, %rdi
callq 0x18f00
movq %rbx, %rdi
callq 0x19830
movq %rbx, %rdi
callq 0x189a0
movq %rbx, %rdi
callq 0x182c0
movq %rbx, %rdi
callq 0x18a70
movq %rbx, %rdi
callq 0x193e0
movq %rbx, %rdi
callq 0x18300
movq %rbx, %rdi
callq 0x1a560
movq %rbx, %rdi
callq 0x18d00
movq %rbx, %rdi
callq 0x19590
movq %rbx, %rdi
callq 0x19910
movq %rbx, %rdi
callq 0x18410
movq %rbx, %rdi
callq 0x19cf0
movq %rbx, %rdi
callq 0x198b0
movq %rbx, %rdi
callq 0x19550
movq %rbx, %rdi
callq 0x1a520
movq %rbx, %rdi
callq 0x18be0
movq %rbx, %rdi
callq 0x18780
movq %rbx, %rdi
callq 0x19630
movq %rbx, %rdi
callq 0x18460
movq %rbx, %rdi
callq 0x198c0
movq %rbx, %rdi
callq 0x18f60
movq %rbx, %rdi
callq 0x18830
movq %rbx, %rdi
callq 0x189e0
movq %rbx, %rdi
callq 0x19c80
movq %rbx, %rdi
callq 0x19270
movq %rbx, %rdi
callq 0x19e60
pushq $-0x1
popq %rsi
movq %rbx, %rdi
callq 0x18e80
leaq 0x4cb40(%rip), %rsi     # 0x905cd
movq %rbx, %rdi
callq 0x18f70
leaq 0x4cb3c(%rip), %rsi     # 0x905d8
movq %rbx, %rdi
callq 0x19d70
testl %eax, %eax
jne 0x43ac1
pushq $-0x1
popq %rdx
movq %rbx, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x1a4c0
testl %eax, %eax
je 0x43ac9
movq %rbx, %rdi
callq 0x199c0
movq %rbx, %rdi
callq 0x19d00
leaq 0x4caf5(%rip), %rsi     # 0x905cd
movq %rbx, %rdi
callq 0x18f70
pushq $0x1
popq %rax
popq %rbx
retq