Function at 0x14000acf0
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, 0x70
mov rax, qword [0x140040048]
xor rax, rsp
mov qword [rsp + 0x60], 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 0x14000afd7
or rsi, 0xffffffffffffffff
mov edx, r15d
mov rax, rsi
nop dword [rax]
inc rax
cmp word [r14 + rax*2], dx
jne 0x14000ad40
test rax, rax
je 0x14000ad84
mov rcx, r15
nop dword [rax]
nop word [rax + rax]
movzx r8d, word [r14 + rcx*2]
cmp r8w, 0x5c
je 0x14000afd7
cmp r8w, 0x2f
je 0x14000afd7
inc edx
mov ecx, edx
cmp rcx, rax
jb 0x14000ad60
mov ecx, 0x42ea
mov qword [rsp + 0x98], rbx
call fcn.14000a0a0
test eax, eax
je 0x14000add6
call fcn.1400099c0
cmp word [rax], di
jne 0x14000ada9
call fcn.140009ac0
mov rdx, r14
mov rcx, rax
call fcn.14000a4a0
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14000adcd
test al, 0x50
je 0x14000af9c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
lea rcx, [0x14002b830]
call fcn.14000b010
mov rbp, rax
mov rbx, r15
test rax, rax
je 0x14000af9c
mov rcx, r14
call fcn.140008ac0
mov rdi, rax
test rax, rax
je 0x14000af9c
cmp word [rax + rsi*2 + 2], bx
lea rsi, [rsi + 1]
jne 0x14000ae05
lea rsi, [rax + rsi*2]
mov edx, 0x2e
mov rax, rsi
cmp rdi, rsi
jae 0x14000ae3e
mov r8d, 0x5c
movzx ecx, word [rax]
cmp r8w, cx
je 0x14000ae3e
cmp dx, cx
je 0x14000ae3e
sub rax, 2
cmp rdi, rax
jb 0x14000ae27
cmp dx, word [rax]
lea rdx, str..dll
cmove rsi, rax
mov rcx, rsi
call fcn.140014fc0
test eax, eax
je 0x14000ae74
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14000ae74
lea rdx, [0x14002b830]
mov rcx, rdi
call fcn.1400090b0
mov rbx, rax
lea rdx, str..sys
mov rcx, rsi
call fcn.140014fc0
test eax, eax
je 0x14000af51
test rbx, rbx
jne 0x14000af9c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14000af13
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.140009530
mov rbx, rax
test rax, rax
jne 0x14000af9c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14000af56
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.140009330
mov rbx, rax
test rbx, rbx
jne 0x14000af9c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14000af9c
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.140009530
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 0x14000afb7
xor ecx, ecx
jmp 0x14000afc4
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14000afca
lea ecx, [rax + 0x7e]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rbx
mov rbx, qword [rsp + 0x98]
jmp 0x14000afe4
mov ecx, 0xa0
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14000c6a0
lea r11, [rsp + 0x70]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret