Function at 0x7ff8c49af17c
Capabilities:
Query or enumerate registry value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x9f8
movaps xmmword [rsp + 0x9e0], xmm6
mov rbx, r9
mov r13d, r8d
mov rbp, rdx
mov rdi, rcx
mov rax, qword [0x7ff8c4a32268]
xor rax, rsp
mov qword [rsp + 0x9d8], rax
mov dword [rsp + 0x8c], 0x800
mov dword [rsp + 0x84], 4
xor eax, eax
mov qword [rsp + 0x78], rax
lea rdx, str.SOFTWAREKhronosVulkanDrivers
mov rcx, rbp
call fcn.7ff8c49f5040
mov r12d, eax
test rbx, rbx
je 0x7ff8c49af643
test r12d, r12d
je 0x7ff8c49af64d
cmp byte [rbp], 0
je 0x7ff8c49af67e
mov rsi, 0xffffffff80000002
mov dword [rsp + 0x44], 0
xorps xmm6, xmm6
lea r14, [rsp + 0x1d0]
lea r15, str.igvk64.json
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rbx
mov byte [rsp + 0x43], r13b
mov rcx, rbp
call fcn.7ff8c49af724
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, rbp
xor r8d, r8d
mov r9d, 1
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x7ff8c49af2be
mov rcx, qword [rsp + 0x90]
lea rax, [rsp + 0x84]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x30], rax
movups xmmword [rsp + 0x20], xmm6
xor edx, edx
mov r8, r14
lea r9, [rsp + 0x8c]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
mov qword [rsp + 0x60], rsi
je 0x7ff8c49af2f2
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r13b, byte [rsp + 0x43]
mov rsi, qword [rsp + 0x60]
cmp rsi, 0xffffffff80000002
mov rbp, qword [rsp + 0x68]
jne 0x7ff8c49af2e3
test r13b, r13b
je 0x7ff8c49af2e3
cmp byte [rbp], 0
jne 0x7ff8c49af2e3
mov rsi, 0xffffffff80000001
mov rbp, qword [rsp + 0x50]
cmp byte [rbp], 0
jne 0x7ff8c49af230
jmp 0x7ff8c49af686
cmp rsi, 0xffffffff80000002
lea rcx, str.HKEY_CURRENT_USER
lea rax, str.HKEY_LOCAL_MACHINE
cmove rcx, rax
mov qword [rsp + 0x58], rcx
mov r13d, 1
cmp dword [rsp + 0x84], 4
jne 0x7ff8c49af5b8
cmp dword [rsp + 0x88], 0
jne 0x7ff8c49af5b8
mov rbp, qword [rbx]
test rbp, rbp
je 0x7ff8c49af38e
mov rcx, rbp
call fcn.7ff8c49f5170
mov ecx, dword [rsp + 0x8c]
add rax, rcx
inc rax
mov rcx, qword [rsp + 0xa60]
mov r8d, dword [rcx]
cmp rax, r8
jbe 0x7ff8c49af3d7
lea r9d, [r8 + r8]
mov dword [rsp + 0x20], 4
mov rcx, rdi
mov rdx, rbp
call fcn.7ff8c49ae753
test rax, rax
je 0x7ff8c49af6a5
mov qword [rbx], rax
mov rax, qword [rsp + 0xa60]
shl dword [rax], 1
jmp 0x7ff8c49af3d7
mov rax, qword [rsp + 0xa60]
mov edx, dword [rax]
test rdi, rdi
je 0x7ff8c49af3c0
mov rax, qword [rdi + 0x3fd8]
test rax, rax
je 0x7ff8c49af3c0
mov rcx, qword [rdi + 0x3fd0]
mov r8d, 8
mov r9d, 4
call rax
jmp 0x7ff8c49af3c8
mov rcx, rdx
call fcn.7ff8c49f34e8
mov qword [rbx], rax
test rax, rax
je 0x7ff8c49af697
mov byte [rax], 0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
mov rcx, rdi
mov edx, 1
lea r9, str.Located_json_file___s__from_registry___s_s_
call fcn.7ff8c49a4e82
test r12d, r12d
jne 0x7ff8c49af4fd
mov rcx, r14
call fcn.7ff8c49f5170
lea rsi, [rsp + rax]
add rsi, 0x1d0
mov rbx, 0xffffffffffffffc0
mov rbp, qword [rbx + r15 + 0x40]
mov rcx, rbp
call fcn.7ff8c49f5170
mov rcx, rsi
sub rcx, rax
mov rdx, rbp
call fcn.7ff8c49f5040
test eax, eax
je 0x7ff8c49af451
add rbx, 0x10
jne 0x7ff8c49af427
jmp 0x7ff8c49af4df
test ebx, ebx
je 0x7ff8c49af4df
mov esi, r12d
xor r12d, r12d
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
mov edx, r12d
lea r8, [rsp + 0x70]
call qword [rax + 0x60]
test eax, eax
je 0x7ff8c49af497
cmp eax, 0x887a0002
je 0x7ff8c49af61d
mov dword [rsp + 0x20], r12d
mov rcx, rdi
mov edx, 2
lea r9, str.Failed_to_enumerate_DXGI_adapters_at_index__d._As_a_result__drivers_may_be_skipped
jmp 0x7ff8c49af4c2
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea rdx, [rsp + 0x98]
call qword [rax + 0x50]
test eax, eax
je 0x7ff8c49af4cc
mov dword [rsp + 0x20], r12d
mov rcx, rdi
mov edx, 1
lea r9, str.Failed_to_get_DXGI_adapter_information_at_index__d._As_a_result__drivers_may_be_skipped
call fcn.7ff8c49a4e82
inc r12d
jmp 0x7ff8c49af45f
mov eax, dword [rsp + 0x198]
cmp eax, dword [rbx + r15 + 0x48]
jne 0x7ff8c49af4c7
mov r12d, esi
jmp 0x7ff8c49af4f8
mov qword [rsp + 0x20], r14
mov rcx, rdi
mov edx, 1
lea r9, str.Driver__s_is_not_recognized_as_a_known_driver._It_will_be_assumed_to_be_active
call fcn.7ff8c49a4e82
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rbx]
cmp byte [rbp], 0
je 0x7ff8c49af597
mov rcx, r14
mov edx, 0x5c
call fcn.7ff8c49e3f80
test rax, rax
je 0x7ff8c49af55e
inc rax
mov rcx, rbp
mov rdx, rax
call fcn.7ff8c49e40b0
test rax, rax
je 0x7ff8c49af55e
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
mov rcx, rdi
mov edx, 1
lea r9, str.Skipping_adding_of_json_file___s__from_registry___s_s__to_the_list_due_to_duplication
call fcn.7ff8c49a4e82
jmp 0x7ff8c49af5b8
mov ebx, dword [rsp + 0x8c]
add ebx, 2
mov rcx, rbp
call fcn.7ff8c49f5170
add rbp, rax
mov qword [rsp + 0x20], r14
mov rcx, rbp
mov rdx, rbx
mov rbx, qword [rsp + 0x48]
lea r8, str._c_s
mov r9d, 0x3b
call fcn.7ff8c49af75f
jmp 0x7ff8c49af5b2
mov edx, dword [rsp + 0x8c]
inc edx
mov rcx, rbp
lea r8, [0x7ff8c4a11357]
mov r9, r14
call fcn.7ff8c49af75f
mov al, 1
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x8c], 0x800
mov dword [rsp + 0x84], 4
lea esi, [r13 + 1]
mov rcx, qword [rsp + 0x90]
lea rax, [rsp + 0x84]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x30], rax
movups xmmword [rsp + 0x20], xmm6
mov edx, r13d
mov r8, r14
lea r9, [rsp + 0x8c]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueA]
mov r13d, esi
test eax, eax
je 0x7ff8c49af316
jmp 0x7ff8c49af2a6
mov qword [rsp + 0x20], r14
mov rcx, rdi
mov edx, 1
lea r9, str.Dropping_driver__s_as_no_corresponding_DXGI_adapter_was_found
call fcn.7ff8c49a4e82
mov r12d, esi
mov rbx, qword [rsp + 0x48]
jmp 0x7ff8c49af5b8
mov esi, 0xfffffffd
jmp 0x7ff8c49af6e1
lea rcx, [0x7ff8c4a0b5e0]
lea rdx, [rsp + 0x78]
call fcn.7ff8c49c82a8
test eax, eax
je 0x7ff8c49af1f6
lea r9, str.loaderGetRegistryFiles:_Failed_to_create_dxgi_factory_for_ICD_registry_verification._No_ICDs_will_be_added_from_legacy_registry_locations
mov rcx, rdi
mov edx, 2
call fcn.7ff8c49a4e82
xor esi, esi
jmp 0x7ff8c49af6e1
mov dword [rsp + 0x44], 0
mov eax, dword [rsp + 0x44]
and al, 1
movzx eax, al
lea esi, [rax + rax*2]
add esi, 0xfffffffd
jmp 0x7ff8c49af6e1
mov qword [rsp + 0x20], r14
lea r9, str.loaderGetRegistryFiles:_Failed_to_allocate_space_for_registry_data_for_key__s
jmp 0x7ff8c49af6c1
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax]
add eax, eax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
lea r9, str.loaderGetRegistryFiles:_Failed_to_reallocate_space_for_registry_value_of_size__d_for_key__s
mov rcx, rdi
mov edx, 8
call fcn.7ff8c49a4e82
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, 0xffffffff
test r12d, r12d
jne 0x7ff8c49af6f6
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x7ff8c49af6f6
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x9d8]
xor rcx, rsp
call fcn.7ff8c49e1750
mov eax, esi
movaps xmm6, xmmword [rsp + 0x9e0]
add rsp, 0x9f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret