// File: /workspace/github_cpp_makefile_star2_O1/stetre[P]moonvulkan/src/getproc.c
// Function: moonvulkan_getproc_instance
instance_dt_t * getproc_instance(lua_State *L, VkInstance instance, VkInstanceCreateInfo *createinfo)
    {
    instance_dt_t *dt = (instance_dt_t*)Malloc(L, sizeof(instance_dt_t));
    (void)createinfo;

    /* Core 1.0 functions ---------------------------- */
#define GET(fn) do {                                                \
    dt->fn = (PFN_vk##fn)GetInstanceProcAddr(instance, "vk"#fn);    \
    if(!dt->fn) { luaL_error(L, "cannot find vk"#fn); return dt; }\
} while(0)
    GET(DestroyInstance);
    GET(EnumeratePhysicalDevices);
    GET(EnumerateDeviceLayerProperties);
    GET(EnumerateDeviceExtensionProperties);
    GET(GetPhysicalDeviceFeatures);
    GET(GetPhysicalDeviceFormatProperties);
    GET(GetPhysicalDeviceImageFormatProperties);
    GET(GetPhysicalDeviceProperties);
    GET(GetPhysicalDeviceQueueFamilyProperties);
    GET(GetPhysicalDeviceMemoryProperties);
    GET(CreateDevice);
    GET(GetPhysicalDeviceSparseImageFormatProperties);
#undef GET

    /* Extensions and core > 1.0 ----------------------- */
#define GET(fn) do { \
    dt->fn = (PFN_vk##fn)GetInstanceProcAddr(instance, "vk"#fn); \
    /* printf(""#fn" %p\n", (void*)(dt->fn)); */                 \
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %r14
movq %rdi, %r15
movl $0x210, %esi            # imm = 0x210
callq 0x19210
movq %rax, %rbx
leaq 0x5d2cb(%rip), %rsi     # 0x9ef1e
movq %r14, %rdi
callq *0x82714(%rip)          # 0xc4370
movq %rax, (%rbx)
testq %rax, %rax
je 0x42516
leaq 0x5d2cd(%rip), %rsi     # 0x9ef3c
movq %r14, %rdi
callq *0x826f8(%rip)          # 0xc4370
movq %rax, 0x8(%rbx)
testq %rax, %rax
je 0x4251f
leaq 0x5d2d7(%rip), %rsi     # 0x9ef63
movq %r14, %rdi
callq *0x826db(%rip)          # 0xc4370
movq %rax, 0x10(%rbx)
testq %rax, %rax
je 0x42528
leaq 0x5d2e7(%rip), %rsi     # 0x9ef90
movq %r14, %rdi
callq *0x826be(%rip)          # 0xc4370
movq %rax, 0x18(%rbx)
testq %rax, %rax
je 0x42531
leaq 0x5d2fb(%rip), %rsi     # 0x9efc1
movq %r14, %rdi
callq *0x826a1(%rip)          # 0xc4370
movq %rax, 0x20(%rbx)
testq %rax, %rax
je 0x4253a
leaq 0x5d306(%rip), %rsi     # 0x9efe9
movq %r14, %rdi
callq *0x82684(%rip)          # 0xc4370
movq %rax, 0x28(%rbx)
testq %rax, %rax
je 0x42543
leaq 0x5d319(%rip), %rsi     # 0x9f019
movq %r14, %rdi
callq *0x82667(%rip)          # 0xc4370
movq %rax, 0x30(%rbx)
testq %rax, %rax
je 0x4254c
leaq 0x5d331(%rip), %rsi     # 0x9f04e
movq %r14, %rdi
callq *0x8264a(%rip)          # 0xc4370
movq %rax, 0x38(%rbx)
testq %rax, %rax
je 0x42555
leaq 0x5d33e(%rip), %rsi     # 0x9f078
movq %r14, %rdi
callq *0x8262d(%rip)          # 0xc4370
movq %rax, 0x40(%rbx)
testq %rax, %rax
je 0x4255e
leaq 0x5d356(%rip), %rsi     # 0x9f0ad
movq %r14, %rdi
callq *0x82610(%rip)          # 0xc4370
movq %rax, 0x48(%rbx)
testq %rax, %rax
je 0x42567
leaq 0x5d369(%rip), %rsi     # 0x9f0dd
movq %r14, %rdi
callq *0x825f3(%rip)          # 0xc4370
movq %rax, 0x50(%rbx)
testq %rax, %rax
je 0x42570
leaq 0x5d367(%rip), %rsi     # 0x9f0f8
movq %r14, %rdi
callq *0x825d6(%rip)          # 0xc4370
movq %rax, 0x58(%rbx)
testq %rax, %rax
je 0x42579
leaq 0x5d379(%rip), %rsi     # 0x9f127
movq %r14, %rdi
callq *0x825b9(%rip)          # 0xc4370
movq %rax, 0x98(%rbx)
leaq 0x5d38a(%rip), %rsi     # 0x9f14f
movq %r14, %rdi
callq *0x825a2(%rip)          # 0xc4370
movq %rax, 0xa0(%rbx)
leaq 0x5d3a0(%rip), %rsi     # 0x9f17c
movq %r14, %rdi
callq *0x8258b(%rip)          # 0xc4370
movq %rax, 0xa8(%rbx)
leaq 0x5d3af(%rip), %rsi     # 0x9f1a2
movq %r14, %rdi
callq *0x82574(%rip)          # 0xc4370
movq %rax, 0xb0(%rbx)
leaq 0x5d3b6(%rip), %rsi     # 0x9f1c0
movq %r14, %rdi
callq *0x8255d(%rip)          # 0xc4370
movq %rax, 0xb8(%rbx)
leaq 0x5d3b6(%rip), %rsi     # 0x9f1d7
movq %r14, %rdi
callq *0x82546(%rip)          # 0xc4370
movq %rax, 0xc0(%rbx)
leaq 0x5d3c0(%rip), %rsi     # 0x9f1f8
movq %r14, %rdi
callq *0x8252f(%rip)          # 0xc4370
movq %rax, 0xc8(%rbx)
leaq 0x5d3c8(%rip), %rsi     # 0x9f217
movq %r14, %rdi
callq *0x82518(%rip)          # 0xc4370
movq %rax, 0x130(%rbx)
testq %rax, %rax
jne 0x41e7b
leaq 0x5d3d7(%rip), %rsi     # 0x9f242
movq %r14, %rdi
callq *0x824fc(%rip)          # 0xc4370
movq %rax, 0x130(%rbx)
cmpq $0x0, 0x130(%rbx)
jne 0x41e9c
leaq 0x5d3e4(%rip), %rsi     # 0x9f270
movq %r14, %rdi
callq *0x824db(%rip)          # 0xc4370
movq %rax, 0x130(%rbx)
leaq 0x5d3fb(%rip), %rsi     # 0x9f29e
movq %r14, %rdi
callq *0x824c4(%rip)          # 0xc4370
movq %rax, 0x120(%rbx)
testq %rax, %rax
jne 0x41ecf
leaq 0x5d40b(%rip), %rsi     # 0x9f2ca
movq %r14, %rdi
callq *0x824a8(%rip)          # 0xc4370
movq %rax, 0x120(%rbx)
cmpq $0x0, 0x120(%rbx)
jne 0x41ef0
leaq 0x5d419(%rip), %rsi     # 0x9f2f9
movq %r14, %rdi
callq *0x82487(%rip)          # 0xc4370
movq %rax, 0x120(%rbx)
leaq 0x5d431(%rip), %rsi     # 0x9f328
movq %r14, %rdi
callq *0x82470(%rip)          # 0xc4370
movq %rax, 0x128(%rbx)
testq %rax, %rax
jne 0x41f23
leaq 0x5d444(%rip), %rsi     # 0x9f357
movq %r14, %rdi
callq *0x82454(%rip)          # 0xc4370
movq %rax, 0x128(%rbx)
cmpq $0x0, 0x128(%rbx)
jne 0x41f44
leaq 0x5d455(%rip), %rsi     # 0x9f389
movq %r14, %rdi
callq *0x82433(%rip)          # 0xc4370
movq %rax, 0x128(%rbx)
leaq 0x5d470(%rip), %rsi     # 0x9f3bb
movq %r14, %rdi
callq *0x8241c(%rip)          # 0xc4370
movq %rax, 0xe8(%rbx)
testq %rax, %rax
jne 0x41f77
leaq 0x5d471(%rip), %rsi     # 0x9f3d8
movq %r14, %rdi
callq *0x82400(%rip)          # 0xc4370
movq %rax, 0xe8(%rbx)
cmpq $0x0, 0xe8(%rbx)
jne 0x41f98
leaq 0x5d470(%rip), %rsi     # 0x9f3f8
movq %r14, %rdi
callq *0x823df(%rip)          # 0xc4370
movq %rax, 0xe8(%rbx)
leaq 0x5d479(%rip), %rsi     # 0x9f418
movq %r14, %rdi
callq *0x823c8(%rip)          # 0xc4370
movq %rax, 0xf0(%rbx)
testq %rax, %rax
jne 0x41fcb
leaq 0x5d47c(%rip), %rsi     # 0x9f437
movq %r14, %rdi
callq *0x823ac(%rip)          # 0xc4370
movq %rax, 0xf0(%rbx)
cmpq $0x0, 0xf0(%rbx)
jne 0x41fec
leaq 0x5d47d(%rip), %rsi     # 0x9f459
movq %r14, %rdi
callq *0x8238b(%rip)          # 0xc4370
movq %rax, 0xf0(%rbx)
leaq 0x5d488(%rip), %rsi     # 0x9f47b
movq %r14, %rdi
callq *0x82374(%rip)          # 0xc4370
movq %rax, 0xf8(%rbx)
testq %rax, %rax
jne 0x4201f
leaq 0x5d491(%rip), %rsi     # 0x9f4a0
movq %r14, %rdi
callq *0x82358(%rip)          # 0xc4370
movq %rax, 0xf8(%rbx)
cmpq $0x0, 0xf8(%rbx)
jne 0x42040
leaq 0x5d498(%rip), %rsi     # 0x9f4c8
movq %r14, %rdi
callq *0x82337(%rip)          # 0xc4370
movq %rax, 0xf8(%rbx)
leaq 0x5d4a9(%rip), %rsi     # 0x9f4f0
movq %r14, %rdi
callq *0x82320(%rip)          # 0xc4370
movq %rax, 0x100(%rbx)
testq %rax, %rax
jne 0x42073
leaq 0x5d4b7(%rip), %rsi     # 0x9f51a
movq %r14, %rdi
callq *0x82304(%rip)          # 0xc4370
movq %rax, 0x100(%rbx)
cmpq $0x0, 0x100(%rbx)
jne 0x42094
leaq 0x5d4c3(%rip), %rsi     # 0x9f547
movq %r14, %rdi
callq *0x822e3(%rip)          # 0xc4370
movq %rax, 0x100(%rbx)
leaq 0x5d4d9(%rip), %rsi     # 0x9f574
movq %r14, %rdi
callq *0x822cc(%rip)          # 0xc4370
movq %rax, 0x108(%rbx)
testq %rax, %rax
jne 0x420c7
leaq 0x5d4e7(%rip), %rsi     # 0x9f59e
movq %r14, %rdi
callq *0x822b0(%rip)          # 0xc4370
movq %rax, 0x108(%rbx)
cmpq $0x0, 0x108(%rbx)
jne 0x420e8
leaq 0x5d4f3(%rip), %rsi     # 0x9f5cb
movq %r14, %rdi
callq *0x8228f(%rip)          # 0xc4370
movq %rax, 0x108(%rbx)
leaq 0x5d509(%rip), %rsi     # 0x9f5f8
movq %r14, %rdi
callq *0x82278(%rip)          # 0xc4370
movq %rax, 0x110(%rbx)
testq %rax, %rax
jne 0x4211b
leaq 0x5d512(%rip), %rsi     # 0x9f61d
movq %r14, %rdi
callq *0x8225c(%rip)          # 0xc4370
movq %rax, 0x110(%rbx)
cmpq $0x0, 0x110(%rbx)
jne 0x4213c
leaq 0x5d519(%rip), %rsi     # 0x9f645
movq %r14, %rdi
callq *0x8223b(%rip)          # 0xc4370
movq %rax, 0x110(%rbx)
leaq 0x5d52a(%rip), %rsi     # 0x9f66d
movq %r14, %rdi
callq *0x82224(%rip)          # 0xc4370
movq %rax, 0x118(%rbx)
testq %rax, %rax
jne 0x4216f
leaq 0x5d53e(%rip), %rsi     # 0x9f69d
movq %r14, %rdi
callq *0x82208(%rip)          # 0xc4370
movq %rax, 0x118(%rbx)
cmpq $0x0, 0x118(%rbx)
jne 0x42190
leaq 0x5d550(%rip), %rsi     # 0x9f6d0
movq %r14, %rdi
callq *0x821e7(%rip)          # 0xc4370
movq %rax, 0x118(%rbx)
leaq 0x5d56c(%rip), %rsi     # 0x9f703
movq %r14, %rdi
callq *0x821d0(%rip)          # 0xc4370
movq %rax, 0x78(%rbx)
leaq 0x5d583(%rip), %rsi     # 0x9f72e
movq %r14, %rdi
callq *0x821bc(%rip)          # 0xc4370
movq %rax, 0x88(%rbx)
leaq 0x5d592(%rip), %rsi     # 0x9f754
movq %r14, %rdi
callq *0x821a5(%rip)          # 0xc4370
movq %rax, 0x60(%rbx)
leaq 0x5d592(%rip), %rsi     # 0x9f768
movq %r14, %rdi
callq *0x82191(%rip)          # 0xc4370
movq %rax, 0x68(%rbx)
leaq 0x5d5a3(%rip), %rsi     # 0x9f78d
movq %r14, %rdi
callq *0x8217d(%rip)          # 0xc4370
movq %rax, 0x70(%rbx)
leaq 0x5d5b9(%rip), %rsi     # 0x9f7b7
movq %r14, %rdi
callq *0x82169(%rip)          # 0xc4370
movq %rax, 0x80(%rbx)
leaq 0x5d5c7(%rip), %rsi     # 0x9f7dc
movq %r14, %rdi
callq *0x82152(%rip)          # 0xc4370
movq %rax, 0x90(%rbx)
leaq 0x5d5da(%rip), %rsi     # 0x9f806
movq %r14, %rdi
callq *0x8213b(%rip)          # 0xc4370
movq %rax, 0xd0(%rbx)
leaq 0x5d5e2(%rip), %rsi     # 0x9f825
movq %r14, %rdi
callq *0x82124(%rip)          # 0xc4370
movq %rax, 0xd8(%rbx)
leaq 0x5d5eb(%rip), %rsi     # 0x9f845
movq %r14, %rdi
callq *0x8210d(%rip)          # 0xc4370
movq %rax, 0xe0(%rbx)
leaq 0x5d5ec(%rip), %rsi     # 0x9f85d
movq %r14, %rdi
callq *0x820f6(%rip)          # 0xc4370
movq %rax, 0x138(%rbx)
leaq 0x5d5e9(%rip), %rsi     # 0x9f871
movq %r14, %rdi
callq *0x820df(%rip)          # 0xc4370
movq %rax, 0x140(%rbx)
leaq 0x5d5fd(%rip), %rsi     # 0x9f89c
movq %r14, %rdi
callq *0x820c8(%rip)          # 0xc4370
movq %rax, 0x148(%rbx)
leaq 0x5d603(%rip), %rsi     # 0x9f8b9
movq %r14, %rdi
callq *0x820b1(%rip)          # 0xc4370
movq %rax, 0x150(%rbx)
leaq 0x5d608(%rip), %rsi     # 0x9f8d5
movq %r14, %rdi
callq *0x8209a(%rip)          # 0xc4370
movq %rax, 0x158(%rbx)
leaq 0x5d610(%rip), %rsi     # 0x9f8f4
movq %r14, %rdi
callq *0x82083(%rip)          # 0xc4370
movq %rax, 0x160(%rbx)
leaq 0x5d616(%rip), %rsi     # 0x9f911
movq %r14, %rdi
callq *0x8206c(%rip)          # 0xc4370
movq %rax, 0x168(%rbx)
leaq 0x5d61f(%rip), %rsi     # 0x9f931
movq %r14, %rdi
callq *0x82055(%rip)          # 0xc4370
movq %rax, 0x170(%rbx)
leaq 0x5d625(%rip), %rsi     # 0x9f94e
movq %r14, %rdi
callq *0x8203e(%rip)          # 0xc4370
movq %rax, 0x178(%rbx)
leaq 0x5d629(%rip), %rsi     # 0x9f969
movq %r14, %rdi
callq *0x82027(%rip)          # 0xc4370
movq %rax, 0x180(%rbx)
leaq 0x5d630(%rip), %rsi     # 0x9f987
movq %r14, %rdi
callq *0x82010(%rip)          # 0xc4370
movq %rax, 0x188(%rbx)
leaq 0x5d638(%rip), %rsi     # 0x9f9a6
movq %r14, %rdi
callq *0x81ff9(%rip)          # 0xc4370
movq %rax, 0x190(%rbx)
leaq 0x5d641(%rip), %rsi     # 0x9f9c6
movq %r14, %rdi
callq *0x81fe2(%rip)          # 0xc4370
movq %rax, 0x198(%rbx)
leaq 0x5d647(%rip), %rsi     # 0x9f9e3
movq %r14, %rdi
callq *0x81fcb(%rip)          # 0xc4370
movq %rax, 0x1a0(%rbx)
leaq 0x5d659(%rip), %rsi     # 0x9fa0c
movq %r14, %rdi
callq *0x81fb4(%rip)          # 0xc4370
movq %rax, 0x1a8(%rbx)
leaq 0x5d670(%rip), %rsi     # 0x9fa3a
movq %r14, %rdi
callq *0x81f9d(%rip)          # 0xc4370
movq %rax, 0x1b0(%rbx)
leaq 0x5d678(%rip), %rsi     # 0x9fa59
movq %r14, %rdi
callq *0x81f86(%rip)          # 0xc4370
movq %rax, 0x1b8(%rbx)
leaq 0x5d683(%rip), %rsi     # 0x9fa7b
movq %r14, %rdi
callq *0x81f6f(%rip)          # 0xc4370
movq %rax, 0x1c0(%rbx)
testq %rax, %rax
jne 0x42424
leaq 0x5d687(%rip), %rsi     # 0x9fa9b
movq %r14, %rdi
callq *0x81f53(%rip)          # 0xc4370
movq %rax, 0x1c0(%rbx)
cmpq $0x0, 0x1c0(%rbx)
jne 0x42445
leaq 0x5d689(%rip), %rsi     # 0x9fabe
movq %r14, %rdi
callq *0x81f32(%rip)          # 0xc4370
movq %rax, 0x1c0(%rbx)
leaq 0x5d695(%rip), %rsi     # 0x9fae1
movq %r14, %rdi
callq *0x81f1b(%rip)          # 0xc4370
movq %rax, 0x1c8(%rbx)
leaq 0x5d6ad(%rip), %rsi     # 0x9fb10
movq %r14, %rdi
callq *0x81f04(%rip)          # 0xc4370
movq %rax, 0x1d0(%rbx)
leaq 0x5d6c2(%rip), %rsi     # 0x9fb3c
movq %r14, %rdi
callq *0x81eed(%rip)          # 0xc4370
movq %rax, 0x1d8(%rbx)
leaq 0x5d6eb(%rip), %rsi     # 0x9fb7c
movq %r14, %rdi
callq *0x81ed6(%rip)          # 0xc4370
movq %rax, 0x1e0(%rbx)
leaq 0x5d70c(%rip), %rsi     # 0x9fbb4
movq %r14, %rdi
callq *0x81ebf(%rip)          # 0xc4370
movq %rax, 0x1e8(%rbx)
leaq 0x5d720(%rip), %rsi     # 0x9fbdf
movq %r14, %rdi
callq *0x81ea8(%rip)          # 0xc4370
movq %rax, 0x1f0(%rbx)
leaq 0x5d72e(%rip), %rsi     # 0x9fc04
movq %r14, %rdi
callq *0x81e91(%rip)          # 0xc4370
movq %rax, 0x1f8(%rbx)
leaq 0x5d72e(%rip), %rsi     # 0x9fc1b
movq %r14, %rdi
callq *0x81e7a(%rip)          # 0xc4370
movq %rax, 0x200(%rbx)
leaq 0x5d72a(%rip), %rsi     # 0x9fc2e
movq %r14, %rdi
callq *0x81e63(%rip)          # 0xc4370
movq %rax, 0x208(%rbx)
jmp 0x4258a
leaq 0x5c9f5(%rip), %rsi     # 0x9ef12
jmp 0x42580
leaq 0x5ca0a(%rip), %rsi     # 0x9ef30
jmp 0x42580
leaq 0x5ca28(%rip), %rsi     # 0x9ef57
jmp 0x42580
leaq 0x5ca4c(%rip), %rsi     # 0x9ef84
jmp 0x42580
leaq 0x5ca74(%rip), %rsi     # 0x9efb5
jmp 0x42580
leaq 0x5ca93(%rip), %rsi     # 0x9efdd
jmp 0x42580
leaq 0x5caba(%rip), %rsi     # 0x9f00d
jmp 0x42580
leaq 0x5cae6(%rip), %rsi     # 0x9f042
jmp 0x42580
leaq 0x5cb07(%rip), %rsi     # 0x9f06c
jmp 0x42580
leaq 0x5cb33(%rip), %rsi     # 0x9f0a1
jmp 0x42580
leaq 0x5cb5a(%rip), %rsi     # 0x9f0d1
jmp 0x42580
leaq 0x5cb6c(%rip), %rsi     # 0x9f0ec
movq %r15, %rdi
xorl %eax, %eax
callq 0x19be0
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq