Function at 0x180010530
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.180041720
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 0x1800107f8
or rdi, 0xffffffffffffffff
mov r8d, r15d
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rsi + rax*2], bx
jne 0x180010580
test rax, rax
je 0x1800105b4
mov rcx, r15
movzx edx, word [rsi + rcx*2]
cmp dx, 0x5c
je 0x1800107f8
cmp dx, 0x2f
je 0x1800107f8
inc r8d
mov ecx, r8d
cmp rcx, rax
jb 0x180010591
mov ecx, 0x42ea
call fcn.18000f820
test eax, eax
je 0x1800105f7
call fcn.18000f1f0
mov rdx, rsi
mov rcx, rax
call fcn.18000fce0
mov rcx, rax
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1800105eb
test al, 0x50
je 0x1800107bc
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rbp, r15
lea rcx, [0x180099708]
call fcn.180010820
mov r14, rax
test rax, rax
je 0x1800107bc
mov rcx, rsi
call fcn.18000e0a0
mov rbx, rax
test rax, rax
je 0x1800107bc
cmp word [rax + rdi*2 + 2], r15w
lea rdi, [rdi + 1]
jne 0x180010623
lea rdi, [rax + rdi*2]
mov r8d, 0x2e
mov rax, rdi
cmp rbx, rdi
jae 0x18001065d
mov edx, 0x5c
movzx ecx, word [rax]
cmp dx, cx
je 0x18001065d
cmp r8w, cx
je 0x18001065d
sub rax, 2
cmp rbx, rax
jb 0x180010646
cmp r8w, word [rax]
lea rdx, str..dll
cmove rdi, rax
mov rcx, rdi
call fcn.180050018
test eax, eax
je 0x180010694
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x180010694
lea rdx, [0x180099708]
mov rcx, rbx
call fcn.18000e7d0
mov rbp, rax
lea rdx, str..sys
mov rcx, rdi
call fcn.180050018
test eax, eax
je 0x180010771
test rbp, rbp
jne 0x1800107bc
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x180010733
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.18000ec90
mov rbp, rax
test rax, rax
jne 0x1800107bc
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x180010776
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.18000ea70
mov rbp, rax
test rbp, rbp
jne 0x1800107bc
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1800107bc
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.18000ec90
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 0x1800107e0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rbp
jmp 0x180010805
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1800107f3
lea ecx, [rax + 0x7e]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rbp
jmp 0x180010805
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