Function at 0x1400022a0
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
xor ebx, ebx
mov r15, rdx
mov rdi, rcx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
lea rcx, str..QMVadDriver
xor r9d, r9d
mov dword [rsp + 0x20], 3
lea r8d, [rbx + 3]
xor edx, edx
mov esi, ebx
mov r14d, ebx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
je 0x14000232e
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r8, [0x14001c1f8]
lea rdx, [0x14001c200]
lea ebx, [r14 + 1]
jmp 0x14000245b
cmp dword [rdi + 8], 5
jbe 0x140002422
mov rcx, rdi
call fcn.1400025f0
test r15, r15
je 0x140002422
mov rcx, r15
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140002422
xor edx, edx
lea rcx, [rbp - 0x40]
mov r8d, 0x208
call fcn.140005690
lea r8, str.QMVADMic
mov edx, 0x100
lea rax, [rbp - 0x40]
mov r9d, ebx
sub r8, rax
lea rcx, [rbp - 0x40]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffefe]
test rax, rax
je 0x1400023b5
movzx eax, word [r8 + rcx]
test ax, ax
je 0x1400023b5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140002390
jmp 0x1400023ba
test rdx, rdx
jne 0x1400023c4
sub rcx, 2
mov r9d, 0x8007007a
mov word [rcx], bx
test r9d, r9d
js 0x140002422
xor eax, eax
mov dword [rsp + 0x48], ebx
lea r8, [rbp - 0x80]
mov qword [rsp + 0x4c], rax
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x54], eax
mov rcx, r15
mov qword [rbp - 0x80], rax
lea r9d, [rax + 0x20]
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiGetINFClassW]
test eax, eax
jne 0x140002494
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
xor edx, edx
lea rcx, [rbp - 0x40]
mov r8d, 0x20a
call fcn.140005690
lea r9, [0x14001c1c0]
mov dword [rsp + 0x20], esi
or r8, 0xffffffffffffffff
lea rcx, [rbp - 0x40]
mov edx, 0x104
call fcn.140001d30
lea r8, [0x14001c1d0]
lea rdx, [rbp - 0x40]
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, ebx
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.140002b50
lea r11, [rsp + 0x2e0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
xor edx, edx
lea rcx, [rsp + 0x48]
call qword [sym.imp.SETUPAPI.dll_SetupDiCreateDeviceInfoList]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14000241a
xor eax, eax
mov dword [rsp + 0x58], 0x20
mov qword [rsp + 0x5c], rax
lea r8, [rsp + 0x48]
mov qword [rsp + 0x64], rax
lea rdx, [rbp - 0x80]
mov qword [rsp + 0x6c], rax
xor r9d, r9d
mov dword [rsp + 0x74], eax
mov rcx, rdi
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rbx
call qword [sym.imp.SETUPAPI.dll_SetupDiCreateDeviceInfoW]
test eax, eax
je 0x1400025ad
lea rcx, [rbp - 0x40]
or rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rcx + rax*2 + 2], bx
lea rax, [rax + 1]
jne 0x140002510
lea eax, [rax*2 + 4]
mov r8d, 1
lea r9, [rbp - 0x40]
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0x58]
mov rcx, rdi
call qword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceRegistryPropertyW]
test eax, eax
je 0x1400025ad
lea r8, [rsp + 0x58]
mov rdx, rdi
mov ecx, 0x19
call qword [sym.imp.SETUPAPI.dll_SetupDiCallClassInstaller]
test eax, eax
je 0x1400025ad
lea rcx, str.newdev.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r14, rax
test rax, rax
je 0x1400025b5
lea rdx, str.UpdateDriverForPlugAndPlayDevicesW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400025b5
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x20], rcx
lea rdx, [rbp - 0x40]
xor ecx, ecx
mov r9d, 1
mov r8, r15
call rax
test eax, eax
je 0x1400025ad
mov ebx, 1
jmp 0x1400025b5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, rdi
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
test r14, r14
je 0x1400025cc
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test ebx, ebx
je 0x140002422
lea r8, [0x14001c1f8]
lea rdx, [0x14001c200]
jmp 0x14000245b