Function at 0x14009a460
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xbc0
mov qword [rax - 0xa10], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1401b40a0]
xor rax, rsp
mov qword [rsp + 0xbb0], rax
mov r12, rdx
mov r15d, ecx
xor r13d, r13d
mov dword [rsp + 0x70], r13d
call fcn.1400431c0
test eax, eax
je 0x14009a4b4
call fcn.1400430e0
call fcn.14000da20
test al, al
jne 0x14009a4fc
mov ecx, 2
call fcn.140003f60
mov rcx, rax
lea rdx, str.Failed_to_load_user32.dll_library__n
call fcn.140012920
call fcn.1400431c0
test eax, eax
je 0x14009a4f1
cmp byte [section..data], r13b
je 0x14009a4f1
or ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 1
call fcn.140008b70
int3
mov dword [rsp + 0x30], r13d
mov byte [rsp + 0x51], r13b
mov byte [rsp + 0x50], r13b
mov qword [rsp + 0x90], r13
mov edi, 1
cmp r15d, edi
jle 0x14009a775
mov r14d, edi
lea rsi, [r12 + 0x10]
nop dword [rax]
mov rbx, qword [r12 + r14*8]
mov rdx, rbx
lea rcx, str.__vkconfig_output
call fcn.14000a530
test eax, eax
jne 0x14009a576
lea eax, [rdi + 1]
cmp r15d, eax
jle 0x14009a576
mov byte [section..data], r13b
mov byte [0x1401b6822], 1
mov rcx, qword [rsi]
mov qword [rsp + 0x90], rcx
mov edi, eax
inc r14
add rsi, 8
jmp 0x14009a711
mov r8d, 6
mov rdx, rbx
lea rcx, [0x14016d100]
call fcn.140006370
test eax, eax
je 0x14009a6b3
mov rdx, qword [r12 + r14*8]
movzx eax, byte [rdx]
cmp al, byte [0x14016d108]
jne 0x14009a5be
movzx eax, byte [rdx + 1]
cmp al, byte [0x14016d109]
jne 0x14009a5be
movzx eax, byte [rdx + 2]
cmp al, byte [0x14016d10a]
je 0x14009a6b3
mov r8d, 0xd
lea rcx, [0x14016d120]
call fcn.140006370
test eax, eax
jne 0x14009a62f
mov rdx, qword [r12 + r14*8]
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdx + rax], r13b
jne 0x14009a5e0
cmp rax, 0xe
jbe 0x14009a61c
mov r8d, 0xe
lea rcx, str.__portability
call fcn.140006370
test eax, eax
jne 0x14009a61c
mov rcx, qword [r12 + r14*8]
add rcx, 0xe
xor edx, edx
lea r8d, [rax + 0xa]
call fcn.14000ba10
mov dword [rsp + 0x30], eax
mov byte [0x1401b6823], 1
mov byte [0x1401b6821], r13b
jmp 0x14009a70a
mov rbx, qword [r12 + r14*8]
lea rdx, str.__summary
mov rcx, rbx
call fcn.14000a530
test eax, eax
jne 0x14009a652
mov byte [0x1401b6824], 1
jmp 0x14009a711
mov rcx, r13
lea rdx, str.__html
nop dword [rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x14009a67f
cmp rcx, 7
jne 0x14009a660
mov byte [0x1401b6820], 1
jmp 0x14009a70a
lea rdx, str.__show_tool_props
mov rcx, rbx
call fcn.14000a530
test eax, eax
jne 0x14009a699
mov byte [rsp + 0x51], 1
jmp 0x14009a711
lea rdx, str.__show_formats
mov rcx, rbx
call fcn.14000a530
test eax, eax
jne 0x14009a724
mov byte [rsp + 0x50], 1
jmp 0x14009a711
mov rdx, qword [r12 + r14*8]
or rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rdx + rax], r13b
jne 0x14009a6c0
cmp rax, 7
jbe 0x14009a6fc
mov r8d, 7
lea rcx, str.__json
call fcn.140006370
test eax, eax
jne 0x14009a6fc
mov rcx, qword [r12 + r14*8]
add rcx, 7
xor edx, edx
lea r8d, [rax + 0xa]
call fcn.14000ba10
mov dword [rsp + 0x30], eax
mov byte [0x1401b6821], 1
mov byte [0x1401b6823], r13b
mov byte [section..data], r13b
inc edi
inc r14
add rsi, 8
cmp edi, r15d
jge 0x14009a775
jmp 0x14009a530
lea rcx, str.__help
nop dword [rax + rax]
movzx eax, byte [rbx + r13]
inc r13
cmp al, byte [rcx + r13 - 1]
jne 0x14009a747
cmp r13, 7
jne 0x14009a730
jmp 0x14009a762
movzx eax, byte [rbx]
cmp al, byte [0x14016d194]
jne 0x14009a762
movzx eax, byte [rbx + 1]
cmp al, byte [0x14016d195]
jne 0x14009a762
movzx eax, byte [rbx + 2]
mov rcx, qword [r12]
call fcn.1400018f0
mov eax, 1
jmp 0x14009c125
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], r13
mov rax, qword [0x1401b6bc0]
movsxd rcx, dword [rax + 4]
lea rbx, [0x1401b6bc0]
mov rbx, qword [rcx + rbx + 0x48]
lea rax, [0x14015cfb0]
mov qword [rsp + 0xf0], rax
mov dword [rsp + 0x70], 1
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + 0x100], rax
mov dword [rsp + 0xfc], r13d
lea rcx, [rsp + 0x100]
call fcn.140008f30
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x150], r13
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x100]
call fcn.140009930
nop
mov rcx, rax
call fcn.1400080c0
mov rbx, rax
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14009a82d
mov rdx, qword [rcx]
call qword [rdx + 0x10]
test rax, rax
je 0x14009a82d
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
mov rax, qword [rbx]
mov dl, 0x20
mov rcx, rbx
call qword [rax + 0x40]
mov byte [rsp + 0x158], al
cmp qword [rsp + 0x148], 0
jne 0x14009a865
mov edx, dword [rsp + 0x110]
or edx, 4
xor r8d, r8d
lea rcx, [rsp + 0x100]
call fcn.14000ca90
nop
mov edx, 1
lea rcx, [rsp + 0x6b0]
call fcn.14000fc40
nop
mov edx, 1
lea rcx, [rsp + 0x5a0]
call fcn.14000fc40
nop
mov edx, 1
lea rcx, [rsp + 0x380]
call fcn.14000fc40
nop
mov edx, 1
lea rcx, [rsp + 0x270]
call fcn.14000fc40
nop
lea rcx, [rsp + 0x940]
call fcn.14000be60
nop
lea rcx, [rsp + 0x940]
call fcn.1400124e0
lea rcx, [rsp + 0x1f0]
call fcn.140012350
nop
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x940]
call fcn.1400014b0
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xa0], xmm0
mov r12, r13
mov qword [rsp + 0xb0], r13
mov rbx, qword [rsp + 0xb48]
mov r14, qword [rsp + 0xb50]
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x40], rbx
cmp rbx, r14
je 0x14009abdb
lea rcx, [rsp + 0x940]
call qword [rbx + 0x20]
lea rcx, [rsp + 0x940]
call qword [rbx + 0x28]
mov qword [rbx + 0x38], rax
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xc0]
cmp rdi, rsi
je 0x14009abcd
mov ecx, 0x168
call fcn.140004f20
mov rbx, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14009aa19
mov qword [rsp + 0x178], 0xf
mov qword [rsp + 0x170], r13
mov byte [rsp + 0x160], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
mov r13, qword [rsp + 0x40]
mov rdx, r13
lea rcx, [rsp + 0x160]
call fcn.140008610
mov rax, qword [r13 + 0x20]
mov qword [rsp + 0x180], rax
mov rax, qword [r13 + 0x28]
mov qword [rsp + 0x188], rax
mov rax, qword [r13 + 0x30]
mov qword [rsp + 0x190], rax
mov rax, qword [r13 + 0x38]
mov qword [rsp + 0x198], rax
mov eax, dword [r13 + 0x40]
mov dword [rsp + 0x1a0], eax
lea rax, [rsp + 0x238]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x160]
mov r8, qword [rdi]
lea rdx, [rsp + 0x940]
mov rcx, rbx
call fcn.140012480
mov r13, rax
mov rbx, r13
mov qword [rsp + 0x70], rbx
lea rax, [rsp + 0x70]
mov rcx, qword [rsp + 0xa0]
cmp rax, r15
jae 0x14009ab06
lea rax, [rsp + 0x70]
cmp rcx, rax
ja 0x14009ab06
lea r13, [rsp + 0x70]
sub r13, rcx
sar r13, 3
cmp r15, r12
jne 0x14009aae4
mov rax, r12
sub rax, r15
sar rax, 3
cmp rax, 1
jae 0x14009aae4
sub r15, rcx
sar r15, 3
movabs rdx, 0x1fffffffffffffff
mov rax, rdx
sub rax, r15
cmp rax, 1
jae 0x14009aa93
lea rcx, str.vector_T__too_long
call fcn.140013030
inc r15
sub r12, rcx
sar r12, 3
mov rax, r12
shr rax, 1
mov rcx, rdx
sub rcx, rax
add rax, r12
xor edx, edx
cmp rcx, r12
cmovae rdx, rax
cmp rdx, r15
cmovae r15, rdx
mov rdx, r15
lea rcx, [rsp + 0xa0]
call fcn.1400132c0
mov r12, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xa0]
test r15, r15
je 0x14009ab9b
mov rax, qword [rcx + r13*8]
mov qword [rcx + r13*8], 0
mov qword [r15], rax
mov rbx, qword [rsp + 0x70]
jmp 0x14009ab9b
cmp r15, r12
jne 0x14009ab91
mov rax, r12
sub rax, r15
sar rax, 3
cmp rax, 1
jae 0x14009ab91
sub r15, rcx
sar r15, 3
movabs rdx, 0x1fffffffffffffff
mov rax, rdx
sub rax, r15
cmp rax, 1
jae 0x14009ab48
lea rcx, str.vector_T__too_long
call fcn.140013030
inc r15
sub r12, rcx
sar r12, 3
mov rax, r12
shr rax, 1
mov rcx, rdx
sub rcx, rax
add rax, r12
xor edx, edx
cmp rcx, r12
cmovae rdx, rax
cmp rdx, r15
cmovae r15, rdx
mov rdx, r15
lea rcx, [rsp + 0xa0]
call fcn.1400132c0
mov r12, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xa8]
test r15, r15
je 0x14009ab9b
xor ebx, ebx
mov qword [r15], r13
add r15, 8
mov qword [rsp + 0xa8], r15
test rbx, rbx
je 0x14009abc1
mov rcx, rbx
call fcn.140011620
mov edx, 0x168
mov rcx, rbx
call fcn.14000e6f0
add rdi, 8
xor r13d, r13d
jmp 0x14009a957
mov rbx, qword [rsp + 0x40]
add rbx, 0x48
jmp 0x14009a91f
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov r15, r13
mov qword [rsp + 0x88], r13
mov dword [rsp + 0x70], r13d
mov rsi, qword [rsp + 0xb8]
mov r14, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0x80]
nop dword [rax]
cmp rsi, r14
je 0x14009ae8b
mov ecx, 0xef8
call fcn.140004f20
mov rdi, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14009ace4
lea rax, [rsp + 0x160]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x70]
mov r12d, eax
inc eax
mov dword [rsp + 0x70], eax
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x160]
call fcn.140007870
nop
lea rdx, [rsp + 0x208]
lea rcx, [rsp + 0x178]
call fcn.140007870
nop
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x190]
call fcn.140007870
nop
lea rdx, [rsp + 0x238]
lea rcx, [rsp + 0x1a8]
call fcn.140007870
nop
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0x1c0]
call fcn.140007870
nop
lea rax, [rsp + 0x160]
mov qword [rsp + 0x20], rax
mov r9, qword [rsi]
mov r8d, r12d
lea rdx, [rsp + 0x940]
mov rcx, rdi
call fcn.140003140
mov r12, rax
jmp 0x14009ace7
mov r12, r13
mov rdi, r12
mov qword [rsp + 0x40], r12
lea rax, [rsp + 0x40]
mov rcx, qword [rsp + 0x78]
cmp rax, rbx
jae 0x14009adc8
lea rax, [rsp + 0x40]
cmp rcx, rax
ja 0x14009adc8
lea r12, [rsp + 0x40]
sub r12, rcx
sar r12, 3
cmp rbx, r15
jne 0x14009adaa
mov rax, r15
sub rax, rbx
sar rax, 3
cmp rax, 1
jae 0x14009adaa
sub rbx, rcx
sar rbx, 3
movabs rdx, 0x1fffffffffffffff
mov rax, rdx
sub rax, rbx
cmp rax, 1
jae 0x14009ad5e
lea rcx, str.vector_T__too_long
call fcn.140013030
inc rbx
sub r15, rcx
sar r15, 3
mov rax, r15
shr rax, 1
mov rcx, rdx
sub rcx, rax
add rax, r15
mov rdx, r13
cmp rcx, r15
cmovae rdx, rax
cmp rdx, rbx
cmovae rbx, rdx
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.1400102f0
mov r15, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
test rbx, rbx
je 0x14009ae5c
mov rax, qword [rcx + r12*8]
mov qword [rcx + r12*8], r13
mov qword [rbx], rax
mov rdi, qword [rsp + 0x40]
jmp 0x14009ae5c
cmp rbx, r15
jne 0x14009ae51
mov rax, r15
sub rax, rbx
sar rax, 3
cmp rax, 1
jae 0x14009ae51
sub rbx, rcx
sar rbx, 3
movabs rdx, 0x1fffffffffffffff
mov rax, rdx
sub rax, rbx
cmp rax, 1
jae 0x14009ae0a
lea rcx, str.vector_T__too_long
call fcn.140013030
inc rbx
sub r15, rcx
sar r15, 3
mov rax, r15
shr rax, 1
mov rcx, rdx
sub rcx, rax
add rax, r15
mov rdx, r13
cmp rcx, r15
cmovae rdx, rax
cmp rdx, rbx
cmovae rbx, rdx
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.1400102f0
mov r15, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
test rbx, rbx
je 0x14009ae5c
mov rdi, r13
mov qword [rbx], r12
add rbx, 8
mov qword [rsp + 0x80], rbx
test rdi, rdi
je 0x14009ae82
mov rcx, rdi
call fcn.14000cde0
mov edx, 0xef8
mov rcx, rdi
call fcn.14000e6f0
add rsi, 8
jmp 0x14009ac10
mov rdi, rbx
mov rsi, qword [rsp + 0x78]
sub rdi, rsi
mov r14, rdi
sar r14, 3
mov r15d, dword [rsp + 0x30]
mov r12d, r15d
cmp r15, r14
jb 0x14009b095
lea rdx, str.The_selected_gpu__
lea rbx, [0x1401b6bc0]
mov rcx, rbx
call fcn.1400071d0
mov edx, r15d
mov rcx, rax
call fcn.140009e10
lea rdx, str.__is_not_a_valid_GPU_index.
mov rcx, rax
call fcn.1400071d0
mov rcx, rbx
cmp rdi, 8
jae 0x14009aef5
lea rdx, str.There_are_no_available_GPUs._n
call fcn.1400071d0
jmp 0x14009af31
cmp r14, 1
jne 0x14009af09
lea rdx, str.The_only_available_GPU_selection_is_0._n
call fcn.1400071d0
jmp 0x14009af31
lea rdx, str.The_available_GPUs_are_in_the_range_of_0_to
call fcn.1400071d0
lea rdx, [r14 - 1]
mov rcx, rax
call fcn.14000f8f0
lea rdx, [0x14016d230]
mov rcx, rax
call fcn.1400071d0
nop
lea rcx, [rsp + 0x78]
call fcn.14000fbb0
nop
lea rcx, [rsp + 0xa0]
call fcn.140003d40
nop
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x14009af87
mov r8, qword [rsp + 0xc8]
sub r8, rdx
sar r8, 3
lea rcx, [rsp + 0xb8]
call fcn.140003630
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc8], r13
lea rcx, [rsp + 0x1f0]
call fcn.140012ae0
nop
lea rcx, [rsp + 0x940]
call fcn.14000bf70
nop
lea rcx, [rsp + 0x318]
call fcn.14000eff0
nop
lea rbx, vtable.std::ios_base.0
mov qword [rsp + 0x318], rbx
lea rcx, [rsp + 0x318]
call fcn.140013d00
nop
lea rcx, [rsp + 0x428]
call fcn.14000eff0
nop
mov qword [rsp + 0x428], rbx
lea rcx, [rsp + 0x428]
call fcn.140013d00
nop
lea rcx, [rsp + 0x648]
call fcn.14000eff0
nop
mov qword [rsp + 0x648], rbx
lea rcx, [rsp + 0x648]
call fcn.140013d00
nop
lea rcx, [rsp + 0x758]
call fcn.14000eff0
nop
mov qword [rsp + 0x758], rbx
lea rcx, [rsp + 0x758]
call fcn.140013d00
nop
mov rax, qword [rsp + 0xf0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0xf0], rax
mov rax, qword [rsp + 0xf0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0xec], edx
mov qword [rsp + 0x100], rbx
lea rcx, [rsp + 0x100]
call fcn.140013d00
nop
lea rcx, [rsp + 0xd0]
call fcn.140011e90
xor eax, eax
jmp 0x14009c125
cmp byte [section..data], 0
je 0x14009b16e
mov ecx, 0x70
call fcn.140004f20
mov rdi, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14009b134
mov qword [rsp + 0x7f8], 0xf
mov qword [rsp + 0x7f0], r13
mov byte [rsp + 0x7e0], 0
xor r8d, r8d
lea rdx, [0x14015cb56]
lea rcx, [rsp + 0x7e0]
call fcn.140001f50
movsd xmm0, qword [rsp + 0xa54]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rsp + 0xa5c]
mov dword [rsp + 0x48], eax
lea rax, [rsp + 0x7e0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, r15d
lea r8, [rsp + 0xf0]
xor edx, edx
mov rcx, rdi
call fcn.140002ca0
jmp 0x14009b137
mov rax, r13
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xd0]
call fcn.140010110
nop
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x14009b16e
mov rcx, rdi
call fcn.140007460
mov edx, 0x70
mov rcx, rdi
call fcn.14000e6f0
cmp byte [0x1401b6820], 0
je 0x14009b2e0
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x3e]
lea rdx, str.vulkaninfo.html
lea rcx, [rsp + 0x490]
call fcn.140012540
mov rdi, rax
lea rax, [rsp + 0x380]
cmp rax, rdi
je 0x14009b1e0
lea rcx, [rsp + 0x388]
call fcn.1400014d0
mov rdx, rdi
lea rcx, [rsp + 0x380]
call fcn.140011750
lea rdx, [rdi + 8]
lea rcx, [rsp + 0x388]
call fcn.14000a190
nop
lea rcx, [rsp + 0x538]
call fcn.14000eff0
nop
lea r15, vtable.std::ios_base.0
mov qword [rsp + 0x538], r15
lea rcx, [rsp + 0x538]
call fcn.140013d00
nop
mov ecx, 0x70
call fcn.140004f20
mov rdi, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14009b2a6
mov qword [rsp + 0x7f8], 0xf
mov qword [rsp + 0x7f0], r13
mov byte [rsp + 0x7e0], 0
xor r8d, r8d
lea rdx, [0x14015cb56]
lea rcx, [rsp + 0x7e0]
call fcn.140001f50
movsd xmm0, qword [rsp + 0xa54]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rsp + 0xa5c]
mov dword [rsp + 0x48], eax
lea rax, [rsp + 0x7e0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x30]
lea r8, [rsp + 0x380]
mov edx, 1
mov rcx, rdi
call fcn.140002ca0
jmp 0x14009b2a9
mov rax, r13
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xd0]
call fcn.140010110
nop
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x14009b2e0
mov rcx, rdi
call fcn.140007460
mov edx, 0x70
mov rcx, rdi
call fcn.14000e6f0
cmp byte [0x1401b6821], 0
je 0x14009b5a9
movsd xmm0, qword [rsp + 0xa54]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [rsp + 0xa5c]
mov dword [rsp + 0x68], eax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x820]
call fcn.140004fa0
mov r15, rax
mov edx, dword [rsp + 0x30]
lea rcx, [rsp + 0x840]
call fcn.14000c260
mov rdi, rax
mov qword [rsp + 0x7f8], 0xf
mov qword [rsp + 0x7f0], r13
mov byte [rsp + 0x7e0], 0
mov r8d, 0x46
lea rdx, str._n_t__schema_:__https:__schema.khronos.org_vulkan_devsim_1_0_0.json___n
lea rcx, [rsp + 0x7e0]
call fcn.140001f50
nop
lea r8, str._t_comments_:__n_t_t_desc_:__JSON_configuration_file_describing_GPU
lea rdx, [rsp + 0x7e0]
lea rcx, [rsp + 0x8c0]
call fcn.140012e40
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x8a0]
call fcn.140012f60
nop
lea r8, [0x14016c0c8]
mov rdx, rax
lea rcx, [rsp + 0x880]
call fcn.140012e40
nop
cmp r14, r12
ja 0x14009b3c1
lea rcx, str.invalid_vector_T__subscript
call fcn.1400037b0
mov r8, qword [rsi + r12*8]
add r8, 0x3c
mov rdx, rax
lea rcx, [rsp + 0x860]
call fcn.140012e40
nop
lea r8, str._._Generated_using_the_vulkaninfo_program.___n_t_t_vulkanApiVersion_:__
mov rdx, rax
lea rcx, [rsp + 0x920]
call fcn.140012e40
nop
mov r8, r15
mov rdx, rax
lea rcx, [rsp + 0x900]
call fcn.140012f60
nop
lea r8, [0x14016d288]
mov rdx, rax
lea rcx, [rsp + 0x8e0]
call fcn.140012e40
nop
lea r8, [0x14016d284]
mov rdx, rax
lea rcx, [rsp + 0x800]
call fcn.140012e40
nop
lea rcx, [rsp + 0x8e0]
call fcn.140004960
nop
lea rcx, [rsp + 0x900]
call fcn.140004960
nop
lea rcx, [rsp + 0x920]
call fcn.140004960
nop
lea rcx, [rsp + 0x860]
call fcn.140004960
nop
lea rcx, [rsp + 0x880]
call fcn.140004960
nop
lea rcx, [rsp + 0x8a0]
call fcn.140004960
nop
lea rcx, [rsp + 0x8c0]
call fcn.140004960
nop
lea rcx, [rsp + 0x7e0]
call fcn.140004960
nop
lea rcx, [rsp + 0x840]
call fcn.140004960
nop
lea rcx, [rsp + 0x820]
call fcn.140004960
mov ecx, 0x70
call fcn.140004f20
mov rdi, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14009b561
mov qword [rsp + 0x7d8], 0xf
mov qword [rsp + 0x7d0], r13
mov byte [rsp + 0x7c0], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x800]
lea rcx, [rsp + 0x7c0]
call fcn.140008610
movsd xmm0, qword [rsp + 0xa54]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rsp + 0xa5c]
mov dword [rsp + 0x48], eax
lea rax, [rsp + 0x7c0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x30]
lea r8, [rsp + 0xf0]
mov edx, 2
mov rcx, rdi
call fcn.140002ca0
jmp 0x14009b564
mov rax, r13
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xd0]
call fcn.140010110
nop
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x14009b59c
mov rcx, rdi
call fcn.140007460
mov edx, 0x70
mov rcx, rdi
call fcn.14000e6f0
nop
lea rcx, [rsp + 0x800]
call fcn.140004960
cmp byte [0x1401b6823], 0
je 0x14009b924
lea rax, [rsp + 0x7c0]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x7d8], 0xf
mov qword [rsp + 0x7d0], r13
mov byte [rsp + 0x7c0], 0
mov r8d, 0x19
lea rdx, str.VK_KHR_portability_subset
lea rcx, [rsp + 0x7c0]
call fcn.140001f50
nop
cmp r14, r12
ja 0x14009b60c
lea rcx, str.invalid_vector_T__subscript
call fcn.1400037b0
nop
lea rdx, [rsp + 0x7c0]
mov rcx, qword [rsi + r12*8]
call fcn.140002300
test al, al
jne 0x14009b658
lea rdx, str.Cannot_create_a_json_because_the_current_selected_GPU__
lea rcx, [0x1401b6d20]
call fcn.1400071d0
mov r14d, dword [rsp + 0x30]
mov edx, r14d
mov rcx, rax
call fcn.140009e10
lea rdx, str.__does_not_support_the_VK_KHR_portability_subset_extension._n
mov rcx, rax
call fcn.1400071d0
jmp 0x14009b929
movsd xmm0, qword [rsp + 0xa54]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [rsp + 0xa5c]
mov dword [rsp + 0x68], eax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x8e0]
call fcn.140004fa0
mov r15, rax
mov edx, dword [rsp + 0x30]
lea rcx, [rsp + 0x900]
call fcn.14000c260
mov rdi, rax
mov qword [rsp + 0x7d8], 0xf
mov qword [rsp + 0x7d0], r13
mov byte [rsp + 0x7c0], 0
mov r8d, 0x68
lea rdx, str._n_t__schema_:__https:__schema.khronos.org_vulkan_devsim_VK_KHR_portability_subset_provisional_1.json___n
lea rcx, [rsp + 0x7c0]
call fcn.140001f50
nop
lea r8, str._t_comments_:__n_t_t_desc_:__JSON_configuration_file_describing_GPU
lea rdx, [rsp + 0x7c0]
lea rcx, [rsp + 0x920]
call fcn.140012e40
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x860]
call fcn.140012f60
nop
lea r8, [0x14016d4b0]
mov rdx, rax
lea rcx, [rsp + 0x880]
call fcn.140012e40
nop
cmp r14, r12
ja 0x14009b72c
lea rcx, str.invalid_vector_T__subscript
call fcn.1400037b0
mov r8, qword [rsi + r12*8]
add r8, 0x3c
mov rdx, rax
lea rcx, [rsp + 0x8a0]
call fcn.140012e40
nop
lea r8, str.__portability_features_and_properties._Generated_using_the_vulkaninfo_program.___n_t_t_vulkanApiVersion_:__
mov rdx, rax
lea rcx, [rsp + 0x8c0]
call fcn.140012e40
nop
mov r8, r15
mov rdx, rax
lea rcx, [rsp + 0x840]
call fcn.140012f60
nop
lea r8, [0x14016d288]
mov rdx, rax
lea rcx, [rsp + 0x820]
call fcn.140012e40
nop
lea r8, [0x14016d284]
mov rdx, rax
lea rcx, [rsp + 0x800]
call fcn.140012e40
nop
lea rcx, [rsp + 0x820]
call fcn.140004960
nop
lea rcx, [rsp + 0x840]
call fcn.140004960
nop
lea rcx, [rsp + 0x8c0]
call fcn.140004960
nop
lea rcx, [rsp + 0x8a0]
call fcn.140004960
nop
lea rcx, [rsp + 0x880]
call fcn.140004960
nop
lea rcx, [rsp + 0x860]
call fcn.140004960
nop
lea rcx, [rsp + 0x920]
call fcn.140004960
nop
lea rcx, [rsp + 0x7c0]
call fcn.140004960
nop
lea rcx, [rsp + 0x900]
call fcn.140004960
nop
lea rcx, [rsp + 0x8e0]
call fcn.140004960
mov ecx, 0x70
call fcn.140004f20
mov rdi, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14009b8d5
mov qword [rsp + 0x7f0], r13
mov qword [rsp + 0x7f8], r13
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x7e0]
call fcn.1400018e0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x800]
lea rcx, [rsp + 0x7e0]
call fcn.140008610
movsd xmm0, qword [rsp + 0xa54]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rsp + 0xa5c]
mov dword [rsp + 0x48], eax
lea rax, [rsp + 0x7e0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r14d, dword [rsp + 0x30]
mov r9d, r14d
lea r8, [rsp + 0xf0]
mov edx, 2
mov rcx, rdi
call fcn.140002ca0
jmp 0x14009b8dd
mov rax, r13
mov r14d, dword [rsp + 0x30]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xd0]
call fcn.140010110
nop
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x14009b915
mov rcx, rdi
call fcn.140007460
mov edx, 0x70
mov rcx, rdi
call fcn.14000e6f0
nop
lea rcx, [rsp + 0x800]
call fcn.140004960
jmp 0x14009b929
mov r14d, dword [rsp + 0x30]
cmp byte [0x1401b6822], 0
je 0x14009bbc5
mov qword [rsp + 0x7d8], 0xf
mov qword [rsp + 0x7d0], r13
mov byte [rsp + 0x7c0], 0
mov rax, qword [rsp + 0x90]
cmp byte [rax], 0
jne 0x14009b964
mov r8, r13
jmp 0x14009b97a
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14009b970
mov rdx, rax
lea rcx, [rsp + 0x7c0]
call fcn.140001f50
nop
lea r8, str._vulkaninfo.json
lea rdx, [rsp + 0x7c0]
lea rcx, [rsp + 0x820]
call fcn.140012e40
nop
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x3e]
mov rdx, rax
lea rcx, [rsp + 0x490]
call fcn.14000b4a0
mov rdi, rax
lea rax, [rsp + 0x270]
cmp rax, rdi
je 0x14009ba09
lea rcx, [rsp + 0x278]
call fcn.1400014d0
mov rdx, rdi
lea rcx, [rsp + 0x270]
call fcn.140011750
lea rdx, [rdi + 8]
lea rcx, [rsp + 0x278]
call fcn.14000a190
nop
lea rcx, [rsp + 0x538]
call fcn.14000eff0
nop
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x538], rax
lea rcx, [rsp + 0x538]
call fcn.140013d00
nop
lea rcx, [rsp + 0x820]
call fcn.140004960
nop
lea rcx, [rsp + 0x7c0]
call fcn.140004960
movsd xmm0, qword [rsp + 0xa54]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [rsp + 0xa5c]
mov dword [rsp + 0x68], eax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x840]
call fcn.140004fa0
nop
mov r8, rax
lea rdx, str._n_t_Vulkan_Instance_Version_:__
lea rcx, [rsp + 0x820]
call fcn.140003800
nop
lea r8, [0x14015db8c]
mov rdx, rax
lea rcx, [rsp + 0x800]
call fcn.140012e40
nop
lea rcx, [rsp + 0x820]
call fcn.140004960
nop
lea rcx, [rsp + 0x840]
call fcn.140004960
mov ecx, 0x70
call fcn.140004f20
mov rdi, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14009bb74
mov qword [rsp + 0x7d0], r13
mov qword [rsp + 0x7d8], r13
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x7c0]
call fcn.1400018e0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x800]
lea rcx, [rsp + 0x7c0]
call fcn.140008610
movsd xmm0, qword [rsp + 0xa54]
movsd qword [rsp + 0x90], xmm0
mov eax, dword [rsp + 0xa5c]
mov dword [rsp + 0x98], eax
lea rax, [rsp + 0x7c0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, [rsp + 0x270]
mov edx, 3
mov rcx, rdi
call fcn.140002ca0
jmp 0x14009bb77
mov rax, r13
mov qword [rsp + 0x90], rax
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0xd0]
call fcn.140010110
nop
mov rdi, qword [rsp + 0x90]
test rdi, rdi
je 0x14009bbb8
mov rcx, rdi
call fcn.140007460
mov edx, 0x70
mov rcx, rdi
call fcn.14000e6f0
nop
lea rcx, [rsp + 0x800]
call fcn.140004960
mov r14, qword [rsp + 0xd0]
mov r12, r14
mov r15, qword [rsp + 0xd8]
nop dword [rax + rax]
cmp r12, r15
je 0x14009bf0a
mov rcx, qword [r12]
cmp byte [0x1401b6824], 0
je 0x14009bcb3
lea rdx, [rsp + 0x940]
call fcn.140008000
mov rax, qword [r12]
mov byte [rax + 0x14], 1
mov qword [rsp + 0x7d0], r13
mov qword [rsp + 0x7d8], r13
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x7c0]
call fcn.1400018e0
mov r8d, 7
lea rdx, str.Devices
lea rcx, [rsp + 0x7c0]
call fcn.140001f50
lea r8, [rsp + 0x7c0]
mov rdx, qword [r12]
lea rcx, [rsp + 0x90]
call fcn.14000fc30
nop
mov rsi, qword [r12]
mov qword [rsp + 0x60], rsi
mov eax, dword [rsi]
test eax, eax
jne 0x14009bc77
dec dword [rsi + 0x10]
mov rdi, qword [rsp + 0x78]
nop dword [rax]
cmp rdi, rbx
je 0x14009bc97
mov rdx, qword [rdi]
mov rcx, qword [r12]
call fcn.140011a10
add rdi, 8
jmp 0x14009bc80
mov eax, dword [rsi]
test eax, eax
jne 0x14009bca0
inc dword [rsi + 0x10]
mov rcx, qword [rsp + 0x90]
call fcn.14000b850
nop
jmp 0x14009befc
cmp dword [rcx], 2
jne 0x14009bd63
cmp byte [0x1401b6823], 0
je 0x14009bcf2
mov edx, dword [rsp + 0x30]
mov rax, rbx
sub rax, rsi
sar rax, 3
cmp rax, rdx
ja 0x14009bce4
lea rcx, str.invalid_vector_T__subscript
call fcn.1400037b0
mov rdx, qword [rsi + rdx*8]
call fcn.140001f30
jmp 0x14009bf01
cmp byte [0x1401b6821], 0
je 0x14009bf01
lea rdx, [rsp + 0xb00]
lea rcx, [rsp + 0x7e0]
call fcn.140001520
lea r8, [rsp + 0x78]
mov rdx, rax
mov rcx, qword [r12]
call fcn.140010100
mov edx, dword [rsp + 0x30]
mov rbx, qword [rsp + 0x80]
mov rax, rbx
mov rsi, qword [rsp + 0x78]
sub rax, rsi
sar rax, 3
cmp rax, rdx
ja 0x14009bd51
lea rcx, str.invalid_vector_T__subscript
call fcn.1400037b0
mov rdx, qword [rsi + rdx*8]
mov rcx, qword [r12]
call fcn.140011720
jmp 0x14009bf01
mov byte [rcx + 0x14], 1
lea rax, [rsp + 0x7e0]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0xb18]
lea rcx, [rsp + 0x7e0]
call fcn.140001da0
mov rbx, rax
mov qword [rsp + 0x7d0], r13
mov qword [rsp + 0x7d8], r13
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x7c0]
call fcn.1400018e0
mov r8d, 8
lea rdx, str.Instance
lea rcx, [rsp + 0x7c0]
call fcn.140001f50
nop
mov r8, rbx
lea rdx, [rsp + 0x7c0]
mov rcx, qword [r12]
call fcn.14000f330
mov rcx, qword [r12]
cmp dword [rcx], 0
jne 0x14009bdf6
lea rdx, [0x14015cfbc]
mov rcx, qword [rcx + 8]
call fcn.1400071d0
lea rdx, [rsp + 0xb00]
lea rcx, [rsp + 0x7e0]
call fcn.140001520
lea r8, [rsp + 0x78]
mov rdx, rax
mov rcx, qword [r12]
call fcn.140010100
lea r9, [rsp + 0xa0]
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x940]
mov rcx, qword [r12]
call fcn.140009320
lea rdx, [rsp + 0x940]
mov rcx, qword [r12]
call fcn.140013520
mov rax, qword [r12]
mov byte [rax + 0x14], 1
mov qword [rsp + 0x7d0], r13
mov qword [rsp + 0x7d8], r13
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x7c0]
call fcn.1400018e0
mov r8d, 0x20
lea rdx, str.Device_Properties_and_Extensions
lea rcx, [rsp + 0x7c0]
call fcn.140001f50
lea r8, [rsp + 0x7c0]
mov rdx, qword [r12]
lea rcx, [rsp + 0x40]
call fcn.14000fc30
nop
mov rsi, qword [r12]
mov qword [rsp + 0x60], rsi
mov eax, dword [rsi]
test eax, eax
jne 0x14009beb8
dec dword [rsi + 0x10]
mov rdi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
cmp rdi, rbx
je 0x14009bee8
movzx r9d, byte [rsp + 0x50]
movzx r8d, byte [rsp + 0x51]
mov rdx, qword [rdi]
mov rcx, qword [r12]
call fcn.1400039c0
add rdi, 8
jmp 0x14009bec5
mov eax, dword [rsi]
test eax, eax
jne 0x14009bef1
inc dword [rsi + 0x10]
mov rcx, qword [rsp + 0x40]
call fcn.14000b850
nop
mov rsi, qword [rsp + 0x78]
add r12, 8
jmp 0x14009bbe0
mov rbx, qword [rsp + 0xb48]
mov rdi, qword [rsp + 0xb50]
nop word [rax + rax]
cmp rbx, rdi
je 0x14009bf47
mov rdx, qword [rbx + 0x38]
lea rcx, [rsp + 0x940]
call fcn.140042260
lea rcx, [rsp + 0x940]
call qword [rbx + 0x30]
add rbx, 0x48
jmp 0x14009bf20
lea rcx, [rsp + 0x78]
call fcn.14000fbb0
nop
lea rcx, [rsp + 0xa0]
call fcn.140003d40
nop
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x14009bf9d
mov r8, qword [rsp + 0xc8]
sub r8, rdx
sar r8, 3
lea rcx, [rsp + 0xb8]
call fcn.140003630
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc8], r13
lea rcx, [rsp + 0x1f0]
call fcn.140012ae0
nop
lea rcx, [rsp + 0x940]
call fcn.14000bf70
nop
jmp 0x14009bfce
lea r12, vtable.std::ios_base.0
mov rdi, r13
mov rsi, r15
sub rsi, r14
add rsi, 7
shr rsi, 3
cmp r14, r15
cmova rsi, r13
test rsi, rsi
je 0x14009c01e
mov rbx, qword [r14]
mov qword [r14], r13
test rbx, rbx
je 0x14009c012
mov rcx, rbx
call fcn.140007460
mov edx, 0x70
mov rcx, rbx
call fcn.14000e6f0
add r14, 8
inc rdi
cmp rdi, rsi
jne 0x14009bff2
call fcn.1400431c0
test eax, eax
je 0x14009c039
cmp byte [section..data], 0
je 0x14009c039
or ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.140010810
nop
lea rcx, [rsp + 0x318]
call fcn.14000eff0
nop
mov qword [rsp + 0x318], r12
lea rcx, [rsp + 0x318]
call fcn.140013d00
nop
lea rcx, [rsp + 0x428]
call fcn.14000eff0
nop
mov qword [rsp + 0x428], r12
lea rcx, [rsp + 0x428]
call fcn.140013d00
nop
lea rcx, [rsp + 0x648]
call fcn.14000eff0
nop
mov qword [rsp + 0x648], r12
lea rcx, [rsp + 0x648]
call fcn.140013d00
nop
lea rcx, [rsp + 0x758]
call fcn.14000eff0
nop
mov qword [rsp + 0x758], r12
lea rcx, [rsp + 0x758]
call fcn.140013d00
nop
mov rax, qword [rsp + 0xf0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0xf0], rax
mov rax, qword [rsp + 0xf0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0xec], edx
mov qword [rsp + 0x100], r12
lea rcx, [rsp + 0x100]
call fcn.140013d00
nop
lea rcx, [rsp + 0xd0]
call fcn.140011e90
xor eax, eax
mov rcx, qword [rsp + 0xbb0]
xor rcx, rsp
call fcn.140010c40
lea r11, [rsp + 0xbc0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret