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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1b8]
sub rsp, 0x290
mov rax, qword [0x1400b1040]
xor rax, rsp
mov qword [rbp + 0x180], rax
mov r14, rcx
xor r13d, r13d
xor ecx, ecx
mov r12d, r13d
mov edi, r13d
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r14, r14
je 0x14000446a
mov rcx, r14
call fcn.140001b94
test eax, eax
jne 0x14000446a
mov ecx, 0x42ea
call fcn.1400055a4
test eax, eax
je 0x140004307
xor edx, edx
lea rcx, [rsp + 0x72]
mov r8d, 0x208
call fcn.140031860
mov rax, qword [str.nvldumdx.dll]
mov word [rsp + 0x70], r13w
test rax, rax
je 0x1400041b6
mov esi, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140004177
mov r8d, 0x104
lea rdx, [rsp + 0x70]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ebx, eax
test eax, eax
je 0x140004177
lea rcx, [rsp + 0x70]
call fcn.140001bd8
test eax, eax
jne 0x14000418c
inc rsi
lea rax, str.nvldumdx.dll
mov rax, qword [rax + rsi*8]
test rax, rax
je 0x1400041ae
jmp 0x140004141
test ebx, ebx
je 0x1400041a8
lea rcx, [rsp + 0x70]
lea rcx, [rcx + rbx*2]
cmp word [rcx], 0x5c
je 0x1400041a8
sub rcx, 2
add ebx, 0xffffffff
jne 0x140004199
mov word [rsp + rbx*2 + 0x70], r13w
cmp word [rsp + 0x70], r13w
jne 0x1400041c0
lea rcx, [rsp + 0x70]
call fcn.1400044a8
or rdx, 0xffffffffffffffff
lea rax, [rsp + 0x70]
mov rcx, rdx
inc rcx
cmp word [rax + rcx*2], r13w
jne 0x1400041cc
inc rdx
cmp word [r14 + rdx*2], r13w
jne 0x1400041d6
test rcx, rcx
je 0x1400041fe
cmp word [rsp + rcx*2 + 0x6e], 0x5c
je 0x1400041fe
test rdx, rdx
je 0x1400041fe
cmp word [r14], 0x5c
mov esi, 1
jne 0x140004201
mov esi, r13d
mov eax, esi
add rax, rdx
add rax, rcx
mov ecx, 0x40
lea r15, [rax*2 + 2]
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
test rax, rax
je 0x1400042e8
mov rcx, r15
mov r8d, 0x7ffffffe
shr rcx, 1
mov edx, r13d
mov r9d, 0x80070057
lea rax, [rcx - 1]
cmp rax, r8
cmova edx, r9d
test edx, edx
js 0x1400042a0
mov rdx, rbx
test rcx, rcx
je 0x140004282
sub r8, rcx
lea r9, [rsp + 0x70]
sub r9, rbx
lea rax, [r8 + rcx]
test rax, rax
je 0x140004282
movzx eax, word [r9 + rdx]
test ax, ax
je 0x140004282
mov word [rdx], ax
add rdx, 2
sub rcx, 1
jne 0x140004262
lea rax, [rdx - 2]
test rcx, rcx
cmovne rax, rdx
neg rcx
sbb edx, edx
not edx
and edx, 0x8007007a
mov word [rax], r13w
jmp 0x1400042a9
test rcx, rcx
je 0x1400042a9
mov word [rbx], r13w
test edx, edx
js 0x1400042dc
test esi, esi
je 0x1400042c7
lea r8, [0x14009990c]
mov rdx, r15
mov rcx, rbx
call fcn.140001314
test eax, eax
js 0x1400042d9
mov r8, r14
mov rdx, r15
mov rcx, rbx
call fcn.140001314
test eax, eax
jns 0x1400042e8
lfence
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rbx, r13
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400042fe
test al, 0x50
je 0x140004437
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
call fcn.140004974
mov r12, rax
mov rbx, r13
test rax, rax
je 0x140004437
mov rcx, r14
call fcn.1400059c4
mov rdi, rax
test rax, rax
je 0x140004437
mov rcx, rax
call fcn.140004f28
lea rdx, str..dll
mov rcx, rax
mov rsi, rax
call fcn.140034078
test eax, eax
je 0x140004362
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140004362
mov rcx, rdi
call fcn.140005d1c
mov rbx, rax
lea rdx, str..sys
mov rcx, rsi
call fcn.140034078
test eax, eax
je 0x140004404
test rbx, rbx
jne 0x140004437
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400043cd
lea rax, str.UserModeDriverName
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x48], rax
lea r9, [rsp + 0x48]
lea rax, str.OpenGLDriverName
mov r8, r12
mov qword [rsp + 0x50], rax
mov rcx, rdi
lea rax, str.UserModeDListDriverName
mov qword [rsp + 0x58], rax
call fcn.140005f74
mov rbx, rax
test rax, rax
jne 0x140004437
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140004409
lea rax, str.SOFTWAREKhronosVulkanDrivers
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x30]
lea rax, str.SOFTWAREKhronosOpenCLVendors
mov rcx, rdi
mov qword [rsp + 0x38], rax
call fcn.140006164
mov rbx, rax
test rbx, rbx
jne 0x140004437
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140004437
lea rax, str.DriverSupportModules
mov qword [rsp + 0x28], r13
lea r9, [rsp + 0x20]
mov qword [rsp + 0x20], rax
mov r8, r12
mov rcx, rdi
call fcn.140005f74
mov rbx, rax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
test rbx, rbx
je 0x140004452
xor ecx, ecx
jmp 0x14000445f
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140004465
lea ecx, [rax + 0x7e]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rbx
jmp 0x140004477
mov ecx, 0xa0
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.14002ca00
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret