Function at 0x1800805f8
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 r15
lea rbp, [rax - 0x1a8]
sub rsp, 0x290
mov rax, qword [0x1801933d0]
xor rax, rsp
mov qword [rbp + 0x180], rax
xor r12d, r12d
mov ebx, ecx
mov qword [rsp + 0x48], r12
mov esi, r12d
mov edi, r12d
mov r15d, r12d
test ecx, ecx
je 0x180080649
xor eax, eax
jmp 0x18008097d
mov ecx, 0x42ea
call fcn.18007f1d4
test eax, eax
je 0x1800806d4
xor edx, edx
lea rcx, [rsp + 0x70]
mov r8d, 0x20a
call fcn.1800c9420
lea rcx, [rsp + 0x70]
call fcn.18007e9e0
cmp r12w, word [rsp + 0x70]
je 0x1800806d4
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1800806d4
test al, 0x10
je 0x1800806d4
lea rcx, [rsp + 0x70]
call fcn.1800d352c
mov ecx, 0x40
lea rbx, [rax + 1]
lea rdx, [rbx + rbx]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
test rax, rax
je 0x180080642
lea r8, [rsp + 0x70]
mov rdx, rbx
mov rcx, rax
call fcn.18007fb3c
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rdi
jmp 0x18008097d
xor edx, edx
lea rcx, [rsp + 0x50]
lea r8d, [rdx + 0x20]
call fcn.1800c9420
xor ecx, ecx
mov dword [rsp + 0x50], 0x20
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, 0x1770
call fcn.18007f1d4
test eax, eax
jne 0x180080710
lea ecx, [rax + 0x78]
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x180080642
mov rax, qword [0x1801a0350]
test rax, rax
jne 0x18008073a
xor edx, edx
lea rcx, str.Setupapi.dll
call fcn.18007f320
mov qword [0x1801a0350], rax
test rax, rax
je 0x180080642
cmp qword [0x1801a0150], r12
jne 0x18008076a
lea rdx, str.SetupDiGetDevicePropertyW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801a0150], rax
test rax, rax
je 0x180080642
mov rax, qword [0x1801a0350]
cmp qword [0x1801a0160], r12
jne 0x18008079a
lea rdx, str.SetupGetInfDriverStoreLocationW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801a0160], rax
test rax, rax
je 0x180080642
mov rax, qword [0x1801a0350]
cmp qword [0x1801a0158], r12
jne 0x1800807c3
lea rdx, str.SetupDiDestroyDeviceInfoList
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1801a0158], rax
test rax, rax
je 0x180080642
lea r8, [rsp + 0x50]
mov ecx, ebx
lea rdx, [rsp + 0x48]
call fcn.18007e7cc
test eax, eax
je 0x180080642
mov rbx, qword [0x1801a0150]
mov rcx, rbx
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x44], r12d
call qword [fcn.18002e4c0]
mov rcx, qword [rsp + 0x48]
lea rax, [rsp + 0x40]
mov dword [rsp + 0x38], r12d
lea r9, [rsp + 0x44]
mov qword [rsp + 0x30], rax
lea r8, [0x180128668]
mov dword [rsp + 0x28], r12d
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x20], r12
call rbx
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x18008093d
mov edx, eax
mov ecx, 0x40
add rdx, rdx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rsi, rax
test rax, rax
je 0x18008093d
mov rbx, qword [0x1801a0150]
mov rcx, rbx
call qword [fcn.18002e4c0]
mov ecx, dword [rsp + 0x40]
lea r9, [rsp + 0x44]
mov dword [rsp + 0x38], r12d
lea r8, [0x180128668]
mov qword [rsp + 0x30], r12
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x20], rsi
call rbx
test eax, eax
je 0x18008093d
mov rbx, qword [0x1801a0160]
mov rcx, rbx
call qword [fcn.18002e4c0]
lea rax, [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], r12d
mov rcx, rsi
call rbx
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x18008093d
mov edx, eax
mov ecx, 0x40
add rdx, rdx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
test rax, rax
je 0x18008093d
mov rbx, qword [0x1801a0160]
mov rcx, rbx
call qword [fcn.18002e4c0]
mov ecx, dword [rsp + 0x40]
mov r9, rdi
mov qword [rsp + 0x28], r12
xor r8d, r8d
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, rsi
call rbx
test eax, eax
je 0x18008093d
mov edx, 0x5c
mov rcx, rdi
call fcn.1800c95c0
lea rdx, [rax + 2]
test rax, rax
jne 0x180080929
mov rdx, rdi
sub rdx, rdi
mov rcx, rdi
sar rdx, 1
dec rdx
call fcn.18007f80c
mov r15, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
cmp qword [rsp + 0x48], r12
je 0x18008096d
mov rbx, qword [0x1801a0158]
mov rcx, rbx
call qword [fcn.18002e4c0]
mov rcx, qword [rsp + 0x48]
call rbx
test r15, r15
je 0x18008097a
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, r15
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.18009f760
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r12
pop rbp
ret