Function at 0x1800103f0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
mov eax, 0x60
call fcn.180041970
sub rsp, rax
xor r15d, r15d
mov rsi, rcx
xor ecx, ecx
mov r14d, r15d
mov ebx, r15d
mov ebp, r15d
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rsi, rsi
je 0x1800106c5
or rdi, 0xffffffffffffffff
mov r8d, r15d
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rsi + rax*2], bx
jne 0x180010440
test rax, rax
je 0x180010474
mov rcx, r15
movzx edx, word [rsi + rcx*2]
cmp dx, 0x5c
je 0x1800106c5
cmp dx, 0x2f
je 0x1800106c5
inc r8d
mov ecx, r8d
cmp rcx, rax
jb 0x180010451
mov ecx, 0x42ea
call fcn.18000f710
test eax, eax
je 0x1800104c1
call fcn.18000f010
cmp word [rax], bx
jne 0x180010491
call fcn.18000f120
mov rdx, rsi
mov rcx, rax
call fcn.18000fba0
mov rcx, rax
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1800104b5
test al, 0x50
je 0x180010689
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rbp, r15
lea rcx, [0x18007bbd8]
call fcn.1800106f0
mov r14, rax
test rax, rax
je 0x180010689
mov rcx, rsi
call fcn.18000dfc0
mov rbx, rax
test rax, rax
je 0x180010689
nop dword [rax]
cmp word [rax + rdi*2 + 2], r15w
lea rdi, [rdi + 1]
jne 0x1800104f0
lea rdi, [rax + rdi*2]
mov r8d, 0x2e
mov rax, rdi
cmp rbx, rdi
jae 0x18001052a
mov edx, 0x5c
movzx ecx, word [rax]
cmp dx, cx
je 0x18001052a
cmp r8w, cx
je 0x18001052a
sub rax, 2
cmp rbx, rax
jb 0x180010513
cmp r8w, word [rax]
lea rdx, str..dll
cmove rdi, rax
mov rcx, rdi
call fcn.18005028c
test eax, eax
je 0x180010561
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x180010561
lea rdx, [0x18007bbd8]
mov rcx, rbx
call fcn.18000e690
mov rbp, rax
lea rdx, str..sys
mov rcx, rdi
call fcn.18005028c
test eax, eax
je 0x18001063e
test rbp, rbp
jne 0x180010689
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x180010600
lea rax, str.UserModeDriverNameWow
lea r9, [rsp + 0x40]
mov r8, r14
mov qword [rsp + 0x20], rax
lea rax, str.OpenGLDriverNameWow
mov rdx, 0xffffffff80000002
mov qword [rsp + 0x28], rax
lea rax, str.UserModeDListDriverNameWow
mov rcx, rbx
mov qword [rsp + 0x30], rax
lea rax, str.UserModeDriverName
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], rax
lea rax, str.OpenGLDriverName
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x48], rax
lea rax, str.UserModeDListDriverName
mov qword [rsp + 0x50], rax
call fcn.18000eb20
mov rbp, rax
test rax, rax
jne 0x180010689
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x180010643
lea rax, str.SOFTWAREKhronosVulkanDrivers
lea r8, [rsp + 0x40]
mov rdx, 0xffffffff80000002
mov qword [rsp + 0x40], rax
lea rax, str.SOFTWAREKhronosOpenCLVendors
mov rcx, rbx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], r15
call fcn.18000e910
mov rbp, rax
test rbp, rbp
jne 0x180010689
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x180010689
lea rax, str.DriverSupportModulesWow
lea r9, [rsp + 0x20]
mov r8, r14
mov qword [rsp + 0x40], rax
lea rax, str.DriverSupportModules
mov rdx, 0xffffffff80000002
mov rcx, rbx
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.18000eb20
mov rbp, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
test rbp, rbp
je 0x1800106ad
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rbp
jmp 0x1800106d2
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1800106c0
lea ecx, [rax + 0x7e]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rbp
jmp 0x1800106d2
mov ecx, 0xa0
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret