Function at 0x14001c2d0
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
push rsi
push rdi
push r12
push r15
sub rsp, 0x60
mov ebx, r9d
mov r12, rcx
mov rcx, qword [rcx + 0x10]
mov edi, r8d
mov r15, rdx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rdx
lea rdx, [0x1400fd0b8]
lea r9, str.lpszInfPath_s__bLegacy_d
lea r8, str.DriverPackageInstallEx
call fcn.140080c70
cmp qword [r12 + 0x20], 0
mov esi, 0x80000000
je 0x14001c603
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0xa0], r13
neg edi
sbb r13d, r13d
lea rcx, str.setupapi.dll
mov qword [rsp + 0xa8], r14
and r13d, 8
neg ebx
sbb eax, eax
xor ebp, ebp
and eax, 0x10
mov r14d, ebp
or r13d, eax
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
mov rbx, rax
je 0x14001c396
lea rdx, str.pSetupGetGlobalFlags
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x14001c388
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rbx, rbp
jmp 0x14001c396
call rax
lea rcx, [rsp + 0x30]
test rcx, rcx
cmovne r14d, eax
xor eax, eax
lea r9, [rsp + 0x38]
lea r8, [0x14001cf80]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x40], rax
mov rax, qword [r12 + 0x20]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x58], 0xffffffff
mov dword [r12 + 0x5c], 1
mov dword [rsp + 0x20], ebp
call fcn.1400ce7e0
test rax, rax
mov rdi, rax
je 0x14001c469
call fcn.1400a0754
test rax, rax
mov rcx, rax
je 0x14001c414
mov rax, qword [rax]
call qword [rax + pe_nt_image_headers64]
jmp 0x14001c417
mov rax, rbp
mov rcx, qword [rax + 0x40]
xor r9d, r9d
mov edx, 0x2b3f
lea r8d, [r9 + 1]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rsi, rax
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x14001c460
xor r9d, r9d
xor r8d, r8d
mov edx, 0x2b3d
mov rcx, rsi
call qword [sym.imp.USER32.dll_SendMessageW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14001c430
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rbx, rbx
mov eax, dword [rsp + 0x54]
mov esi, dword [rsp + 0x58]
mov dword [r12 + 0x5c], ebp
mov edi, ebp
mov dword [rsp + 0x90], eax
je 0x14001c4e8
lea rdx, str.pSetupGetGlobalFlags
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14001c49d
call rax
mov edi, eax
lea rdx, str.pSetupSetGlobalFlags
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14001c4b7
mov ecx, r14d
call rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [r12 + 0x10]
lea r9, [0x1400fd190]
lea r8, str.DriverPackageInstallEx
lea rdx, [0x1400fd0b8]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r14d
call fcn.140080c70
cmp esi, 0x5b3
mov r14, qword [rsp + 0xa8]
jne 0x14001c5ce
lea rcx, str.setupapi.dll
and r13d, 0xfffffffd
mov edi, ebp
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
mov rbx, rax
je 0x14001c547
lea rdx, str.pSetupGetGlobalFlags
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x14001c53a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rbx, rbp
jmp 0x14001c547
call rax
lea rcx, [rsp + 0x30]
test rcx, rcx
cmovne edi, eax
lea rax, [rsp + 0x90]
xor r9d, r9d
mov r8d, r13d
mov rdx, r15
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.14001cd50
test rbx, rbx
mov esi, eax
je 0x14001c5ce
lea rdx, str.pSetupGetGlobalFlags
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14001c585
call rax
mov ebp, eax
lea rdx, str.pSetupSetGlobalFlags
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14001c59e
mov ecx, edi
call rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [r12 + 0x10]
lea r9, [0x1400fd190]
lea r8, str.DriverPackageInstallEx
lea rdx, [0x1400fd0b8]
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], edi
call fcn.140080c70
cmp dword [rsp + 0x90], 0
mov r13, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x98]
je 0x14001c603
mov rcx, qword [r12 + 0x48]
test rcx, rcx
je 0x14001c603
xor r9d, r9d
xor r8d, r8d
mov edx, 0x2b3e
call qword [sym.imp.USER32.dll_PostMessageW]
mov rcx, qword [r12 + 0x10]
lea r9, [0x1400facf8]
lea r8, str.DriverPackageInstallEx
lea rdx, [0x1400fd0b8]
mov dword [rsp + 0x20], esi
call fcn.140080e70
mov eax, esi
add rsp, 0x60
pop r15
pop r12
pop rdi
pop rsi
pop rbx
ret