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

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x280
mov rax, qword [0x1401600b0]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov r14, rcx
xor r15d, r15d
xor ecx, ecx
mov ebp, r15d
mov edi, r15d
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r14, r14
je 0x1400e4f9d
or rsi, 0xffffffffffffffff
mov edx, r15d
mov rax, rsi
nop
inc rax
cmp word [r14 + rax*2], dx
jne 0x1400e4cf0
test rax, rax
je 0x1400e4d34
mov rcx, r15
nop dword [rax]
nop word [rax + rax]
movzx r8d, word [r14 + rcx*2]
cmp r8w, 0x5c
je 0x1400e4f9d
cmp r8w, 0x2f
je 0x1400e4f9d
inc edx
mov ecx, edx
cmp rcx, rax
jb 0x1400e4d10
mov ecx, 0x42ea
mov qword [rsp + 0x2a8], rbx
call fcn.1400e31c0
test eax, eax
je 0x1400e4da6
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x20a
call fcn.1400b4430
lea rcx, [rsp + 0x60]
call fcn.1400e19f0
cmp word [rsp + 0x60], di
jne 0x1400e4d77
lea rcx, [rsp + 0x60]
call fcn.1400e1660
mov rdx, r14
lea rcx, [rsp + 0x60]
call fcn.1400e3d40
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400e4d9d
test al, 0x50
je 0x1400e4f62
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor ecx, ecx
call fcn.1400e4fe0
mov rbp, rax
mov rbx, r15
test rax, rax
je 0x1400e4f62
mov rcx, r14
call fcn.1400e07f0
mov rdi, rax
test rax, rax
je 0x1400e4f62
cmp word [rax + rsi*2 + 2], bx
lea rsi, [rsi + 1]
jne 0x1400e4dd0
lea rsi, [rax + rsi*2]
mov edx, 0x2e
mov rax, rsi
cmp rdi, rsi
jae 0x1400e4e09
mov r8d, 0x5c
movzx ecx, word [rax]
cmp r8w, cx
je 0x1400e4e09
cmp dx, cx
je 0x1400e4e09
sub rax, 2
cmp rdi, rax
jb 0x1400e4df2
cmp dx, word [rax]
lea rdx, str..dll
cmove rsi, rax
mov rcx, rsi
call fcn.1400d57d0
test eax, eax
je 0x1400e4e3a
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400e4e3a
xor edx, edx
mov rcx, rdi
call fcn.1400e0de0
mov rbx, rax
lea rdx, str..sys
mov rcx, rsi
call fcn.1400d57d0
test eax, eax
je 0x1400e4f17
test rbx, rbx
jne 0x1400e4f62
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400e4ed9
lea rax, str.UserModeDriverNameWow
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x40], rax
lea r9, [rsp + 0x20]
lea rax, str.OpenGLDriverNameWow
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x48], rax
mov r8, rbp
lea rax, str.UserModeDListDriverNameWow
mov rdx, 0xffffffff80000002
mov qword [rsp + 0x50], rax
mov rcx, rdi
lea rax, str.UserModeDriverName
mov qword [rsp + 0x20], rax
lea rax, str.OpenGLDriverName
mov qword [rsp + 0x28], rax
lea rax, str.UserModeDListDriverName
mov qword [rsp + 0x30], rax
call fcn.1400e1260
mov rbx, rax
test rax, rax
jne 0x1400e4f62
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400e4f1c
lea rax, str.SOFTWAREKhronosVulkanDrivers
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x20]
lea rax, str.SOFTWAREKhronosOpenCLVendors
mov rdx, 0xffffffff80000002
mov rcx, rdi
mov qword [rsp + 0x28], rax
call fcn.1400e1060
mov rbx, rax
test rbx, rbx
jne 0x1400e4f62
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400e4f62
lea rax, str.DriverSupportModulesWow
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
lea rax, str.DriverSupportModules
mov qword [rsp + 0x48], r15
mov r8, rbp
mov qword [rsp + 0x40], rax
mov rdx, 0xffffffff80000002
mov rcx, rdi
call fcn.1400e1260
mov rbx, rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
test rbx, rbx
je 0x1400e4f7d
xor ecx, ecx
jmp 0x1400e4f8a
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400e4f90
lea ecx, [rax + 0x7e]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rbx
mov rbx, qword [rsp + 0x2a8]
jmp 0x1400e4faa
mov ecx, 0xa0
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.140095410
lea r11, [rsp + 0x280]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret