Function at 0x140013830
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.1401443a0
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 0x140013aff
or rdi, 0xffffffffffffffff
mov r8d, r15d
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rsi + rax*2], bx
jne 0x140013880
test rax, rax
je 0x1400138b4
mov rcx, r15
movzx edx, word [rsi + rcx*2]
cmp dx, 0x5c
je 0x140013aff
cmp dx, 0x2f
je 0x140013aff
inc r8d
mov ecx, r8d
cmp rcx, rax
jb 0x140013891
mov ecx, 0x42ea
call fcn.140012b60
test eax, eax
je 0x140013901
call fcn.1400122f0
cmp word [rax], bx
jne 0x1400138d1
call fcn.140012400
mov rdx, rsi
mov rcx, rax
call fcn.140012ff0
mov rcx, rax
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400138f5
test al, 0x50
je 0x140013ac3
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rbp, r15
xor ecx, ecx
call fcn.140013b30
mov r14, rax
test rax, rax
je 0x140013ac3
mov rcx, rsi
call fcn.140011420
mov rbx, rax
test rax, rax
je 0x140013ac3
nop dword [rax + rax]
cmp word [rax + rdi*2 + 2], r15w
lea rdi, [rdi + 1]
jne 0x140013930
lea rdi, [rax + rdi*2]
mov edx, 0x2e
mov rax, rdi
cmp rbx, rdi
jae 0x14001396a
mov r8d, 0x5c
movzx ecx, word [rax]
cmp r8w, cx
je 0x14001396a
cmp dx, cx
je 0x14001396a
sub rax, 2
cmp rbx, rax
jb 0x140013953
cmp dx, word [rax]
lea rdx, str..dll
cmove rdi, rax
mov rcx, rdi
call fcn.140179f08
test eax, eax
je 0x14001399b
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14001399b
xor edx, edx
mov rcx, rbx
call fcn.140011a40
mov rbp, rax
lea rdx, str..sys
mov rcx, rdi
call fcn.140179f08
test eax, eax
je 0x140013a78
test rbp, rbp
jne 0x140013ac3
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140013a3a
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.140011ed0
mov rbp, rax
test rax, rax
jne 0x140013ac3
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140013a7d
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.140011cc0
mov rbp, rax
test rbp, rbp
jne 0x140013ac3
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140013ac3
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.140011ed0
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 0x140013ae7
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rbp
jmp 0x140013b0c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140013afa
lea ecx, [rax + 0x7e]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rbp
jmp 0x140013b0c
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