Function at 0x14006ea30
Capabilities:
Check if file exists
Delete file
Read .ini file

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x3ac0
call fcn.14024c240
sub rsp, rax
mov qword [rsp + 0x2d0], 0xfffffffffffffffe
mov qword [rsp + 0x3af8], rbx
mov qword [rsp + 0x3b00], rsi
mov rax, qword [0x140398250]
xor rax, rsp
mov qword [rsp + 0x3ab0], rax
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x1b8], rcx
xor r8d, r8d
lea rdx, str.CBaseFuncSub::FS_ConfirmUSBConnect
lea rcx, [rsp + 0x70]
call fcn.1400075a0
nop
xor ebx, ebx
mov dword [rsp + 0x54], ebx
mov qword [rsp + 0x128], rbx
mov dword [rsp + 0x50], ebx
lea rdi, [fcn.140105ce4]
mov qword [rsp + 0x20], rdi
lea r9, [fcn.140105848]
lea edx, [rbx + 0x28]
lea r8d, [rbx + 2]
lea rcx, [rsp + 0x2e0]
call fcn.1402472e0
nop
mov qword [rsp + 0x20], rdi
lea r9, [fcn.140105848]
lea edx, [rbx + 0x28]
lea r8d, [rbx + 2]
lea rcx, [rsp + 0x1f0]
call fcn.1402472e0
nop
mov esi, 0x3c
mov dword [rsp + 0x60], esi
mov word [rsp + 0x5c], si
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xf0]
mov dword [rsp + 0x58], eax
lea rcx, [rsp + 0x1c0]
call fcn.140105848
nop
or rsi, 0xffffffffffffffff
mov qword [rsp + 0xf8], rsi
mov r8, rsi
xor edx, edx
lea rcx, [rsp + 0x1c0]
call fcn.140105958
mov qword [rsp + 0xd8], rbx
lea ecx, [rbx + 0x70]
call fcn.1401026a0
test rax, rax
je 0x1400709d5
mov qword [rsp + 0xd0], rax
mov qword [rax], rax
mov rax, qword [rsp + 0xd0]
mov qword [rax + 8], rax
mov rax, qword [rsp + 0xd0]
mov qword [rax + 0x10], rax
mov rax, qword [rsp + 0xd0]
mov byte [rax + 0x68], 1
mov rax, qword [rsp + 0xd0]
mov byte [rax + 0x69], 1
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rdi, rax
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x80]
test eax, eax
jne 0x14006ec0d
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x98]
test eax, eax
jne 0x14006ec0d
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rdi, rax
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x88]
test eax, eax
jne 0x14006ec0d
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0xa8]
test eax, eax
jne 0x14006ec0d
mov dword [rsp + 0x98], ebx
lea r13d, [rbx + 1]
jmp 0x14006ec1b
mov r13d, 1
mov dword [rsp + 0x98], r13d
lea rcx, [0x1402ddbb8]
call fcn.140023e50
test eax, eax
jne 0x14006ec3b
lea rcx, [0x1402ddbc0]
call fcn.140023e50
test eax, eax
je 0x14006ec49
mov eax, 0x78
mov dword [rsp + 0x60], eax
mov word [rsp + 0x5c], ax
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x1c8]
mov dword [rsp + 0xf0], eax
mov qword [rsp + 0xb8], rbx
mov ecx, WSACleanup
call fcn.1401026a0
test rax, rax
je 0x140070994
mov qword [rsp + 0xb0], rax
mov qword [rax], rax
mov rax, qword [rsp + 0xb0]
mov qword [rax + 8], rax
mov rax, qword [rsp + 0xb0]
mov qword [rax + 0x10], rax
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x68], 1
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x69], 1
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x68]
mov rdi, qword [rax]
lea rdx, [rsp + 0xa8]
mov rcx, rax
call qword [rdi + 0xc0]
mov dword [rsp + 0x110], eax
mov rcx, qword [0x1403b9750]
mov rdx, qword [rcx]
call qword [rdx + 0x48]
mov rdi, qword [rax]
lea r8, [rsp + 0x12b0]
lea rdx, str.TEMPPATH
mov rcx, rax
call qword [rdi + 0x18]
lea rcx, [rsp + 0x12b0]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea rdx, str.InsDrv.ini
lea rcx, [rsp + 0x12b0]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [rsp + 0x12b0]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], reloc.WSOCK32.dll_recv
lea r9, [rsp + 0x418]
lea r8, [0x1402e2d50]
lea rdx, str.PnPWatch
lea rcx, str.Installer_Info
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x1402e2d50]
lea rcx, [rsp + 0x418]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov ecx, ebx
test eax, eax
cmove ecx, r13d
mov dword [rsp + 0x9c], ecx
mov r15d, 2
mov r12d, esi
mov r14d, r13d
mov r13d, ebx
mov dword [rsp + 0xe8], ebx
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x14006ee81
mov r12d, ebx
mov word [rsp + 0x22b0], bx
xor edx, edx
mov r8d, 0x7fe
lea rcx, [rsp + 0x22b2]
call fcn.14024b970
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rsi, qword [rax]
lea r8, [rsp + 0x22b0]
lea rdx, str.PDL_TYPE
mov rcx, rax
call qword [rsi + 0x18]
lea rsi, [rsp + 0x22b0]
lea rdi, [0x1402ddbb8]
mov ecx, 4
repe cmpsw word [rsi], word [rdi]
jne 0x14006ee7d
mov word [rsp + 0x1ab0], bx
xor edx, edx
mov r8d, 0x7fe
lea rcx, [rsp + 0x1ab2]
call fcn.14024b970
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rdi, qword [rax]
lea r8, [rsp + 0x1ab0]
lea rdx, str.USBPCL
mov rcx, rax
call qword [rdi + 0x18]
lea rdx, [0x1402e0304]
lea rcx, [rsp + 0x1ab0]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
mov eax, dword [rsp + 0x58]
jne 0x14006ee78
mov r12d, r15d
mov r15d, 4
mov r14d, r15d
jmp 0x14006ee81
mov r12d, ebx
jmp 0x14006ee81
mov eax, dword [rsp + 0x58]
cmp r12d, r15d
jge 0x14006efad
lea rsi, [rsp + 0x140]
test eax, eax
je 0x14006ee9f
test eax, r14d
je 0x14006ef96
cmp r13d, 2
jae 0x14006ef92
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rdi, qword [rax]
lea r8, [rsp + 0x2ab0]
lea rdx, [0x1402e2e08]
mov rcx, rax
call qword [rdi + 0x18]
lea rdx, str.Generic
lea rcx, [rsp + 0x2ab0]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
mov rcx, qword [0x1403b9758]
test eax, eax
mov rax, qword [rcx]
je 0x14006ef42
call qword [rax + 0x20]
mov rdi, rax
mov eax, r13d
lea rcx, [rax + rax*4]
mov rax, qword [rdi]
lea rdx, [rsp + rcx*8 + 0x1f0]
lea r9, [rsp + rcx*8 + 0x2e0]
mov dword [rsp + 0x30], r12d
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
lea r8, str.USBPrinters
lea rdx, [rsp + 0x12b0]
mov rcx, rdi
call qword [rax + 0x280]
jmp 0x14006ef85
call qword [rax + 0x20]
mov rdi, rax
mov eax, r13d
lea rcx, [rax + rax*4]
mov rax, qword [rdi]
lea r9, [rsp + rcx*8 + 0x1f0]
lea r8, [rsp + rcx*8 + 0x2e0]
mov dword [rsp + 0x28], r12d
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0x20], rcx
lea rdx, [rsp + 0x12b0]
mov rcx, rdi
call qword [rax + 0x288]
mov dword [rsi], eax
inc r13d
add rsi, 4
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x14006efa5
add r14d, r14d
inc r12d
cmp r12d, r15d
jl 0x14006ee92
mov dword [rsp + 0xe8], r13d
mov word [rsp + 0x440], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x442]
call fcn.14024b970
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + VarBstrFromDisp]
mov r12d, eax
mov dword [rsp + 0xf4], eax
mov rcx, qword [0x1403b9758]
mov rdx, qword [rcx]
call qword [rdx + 0x18]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x1b0]
mov esi, eax
mov dword [rsp + 0xa0], ebx
lea rcx, [rsp + 0x148]
call fcn.140105848
nop
or r15, 0xffffffffffffffff
mov r8, r15
xor edx, edx
lea rcx, [rsp + 0x148]
call fcn.140105958
mov rcx, qword [0x1403b9758]
mov rdx, qword [rcx]
call qword [rdx + 0x20]
mov rdi, qword [rax]
lea r8, [rsp + 0xa0]
mov edx, esi
mov rcx, rax
call qword [rdi + 0x3c0]
lea rdi, [fcn.14001fec0]
mov qword [rsp + 0x20], rdi
lea r9, [0x1400058c0]
lea edx, [r15 + 9]
lea r8d, [r15 + 3]
lea rcx, [rsp + 0x118]
call fcn.1402472e0
nop
lea edx, [r15 + 8]
lea rcx, [rsp + 0x70]
test r12d, r12d
jne 0x14006f30b
lea r8, str.Register_Driver___Call_FS_RegisterINFFile__
call fcn.140007780
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rax
mov rax, qword [rax]
xor edx, edx
call qword [rax + 0x160]
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsi]
lea r8, [rsp + 0x1c0]
xor edx, edx
mov rcx, rsi
call qword [rax + 0x258]
test eax, eax
jne 0x14006f843
mov dword [0x1403b95bc], 0xa
mov r9d, 0x8001000a
lea r8, str.return___08x
lea edx, [rax + 2]
lea rcx, [rsp + 0x70]
call fcn.140007780
nop
mov r9, rdi
mov edx, 8
lea r8d, [rdx - 6]
lea rcx, [rsp + 0x118]
call fcn.140247280
nop
lea rcx, [rsp + 0x148]
call fcn.140105ce4
nop
mov rcx, qword [rsp + 0xb0]
mov rdi, qword [rcx]
mov rsi, rcx
cmp rdi, rdi
jne 0x14006f181
mov rdx, qword [rcx + 8]
lea rcx, [rsp + 0xa8]
call fcn.140028950
mov rax, qword [rsp + 0xb0]
mov qword [rax + 8], rax
mov rax, qword [rsp + 0xb0]
mov qword [rax], rax
mov rax, qword [rsp + 0xb0]
mov qword [rax + 0x10], rax
mov qword [rsp + 0xb8], rbx
mov rcx, qword [rsp + 0xb0]
jmp 0x14006f1e7
cmp rdi, rsi
je 0x14006f1e7
mov r8, rdi
cmp byte [rdi + 0x69], 0
jne 0x14006f1c8
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x69], 0
jne 0x14006f1b0
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
jne 0x14006f1c8
jmp 0x14006f199
mov rax, qword [rdi + 8]
cmp byte [rax + 0x69], 0
jne 0x14006f1c5
cmp rdi, qword [rax + 0x10]
jne 0x14006f1c5
mov rdi, rax
jmp 0x14006f1b0
mov rdi, rax
lea rdx, [rsp + 0x270]
lea rcx, [rsp + 0xa8]
call fcn.1400284e0
mov rcx, qword [rsp + 0xb0]
jmp 0x14006f181
call fcn.1401026ec
nop
mov rcx, qword [rsp + 0xd0]
mov rdi, qword [rcx]
mov rsi, rcx
cmp rdi, rdi
jne 0x14006f246
mov rdx, qword [rcx + 8]
lea rcx, [rsp + 0xc8]
call fcn.140028950
mov rax, qword [rsp + 0xd0]
mov qword [rax + 8], rax
mov rax, qword [rsp + 0xd0]
mov qword [rax], rax
mov rax, qword [rsp + 0xd0]
mov qword [rax + 0x10], rax
mov qword [rsp + 0xd8], rbx
mov rcx, qword [rsp + 0xd0]
jmp 0x14006f2a7
cmp rdi, rsi
je 0x14006f2a7
mov r8, rdi
cmp byte [rdi + 0x69], 0
jne 0x14006f288
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x69], 0
jne 0x14006f270
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
jne 0x14006f288
jmp 0x14006f25e
mov rax, qword [rdi + 8]
cmp byte [rax + 0x69], 0
jne 0x14006f285
cmp rdi, qword [rax + 0x10]
jne 0x14006f285
mov rdi, rax
jmp 0x14006f270
mov rdi, rax
lea rdx, [rsp + 0x290]
lea rcx, [rsp + 0xc8]
call fcn.1400284e0
mov rcx, qword [rsp + 0xd0]
jmp 0x14006f246
call fcn.1401026ec
nop
lea rcx, [rsp + 0x1c0]
call fcn.140105ce4
nop
lea r9, [fcn.140105ce4]
mov edx, 0x28
lea r8d, [rdx - 0x26]
lea rcx, [rsp + 0x1f0]
call fcn.140247280
nop
lea r9, [fcn.140105ce4]
mov edx, 0x28
lea r8d, [rdx - 0x26]
lea rcx, [rsp + 0x2e0]
call fcn.140247280
nop
lea rcx, [rsp + 0x70]
call fcn.140007730
mov eax, 0x8001000a
jmp 0x140070a16
lea r8, str.Register_Driver___Call_InfFileCopy__
call fcn.140007780
call fcn.140102a14
mov rdx, rax
mov ecx, ebx
test rax, rax
setne cl
test ecx, ecx
jne 0x14006f336
mov ecx, 0x80004005
call fcn.140005210
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x80], rdi
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x14006f462
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rsi, rax
mov r14d, 1
mov edx, r14d
sub edx, dword [rdi - 8]
mov ecx, dword [rdi - 0xc]
sub ecx, 0x104
or ecx, edx
jge 0x14006f39a
mov edx, 0x104
lea rcx, [rsp + 0x80]
call fcn.140005e40
mov rdi, qword [rsp + 0x80]
mov rax, qword [rsi]
mov rdx, rdi
mov rcx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantTimeToSystemTime]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
call fcn.14024718c
test eax, eax
js 0x14006f454
cmp eax, dword [rdi - 0xc]
jg 0x14006f454
mov dword [rdi - 0x10], eax
cdqe
mov word [rdi + rax*2], bx
mov eax, dword [rdi - 0x10]
dec eax
js 0x14006f44a
mov r12d, dword [rdi - 0x10]
cmp eax, r12d
jg 0x14006f44a
cdqe
mov ecx, 0x5c
cmp cx, word [rdi + rax*2]
je 0x14006f45e
lea esi, [r12 + 1]
test esi, esi
jns 0x14006f3ff
mov ecx, 0x80070057
call fcn.140005210
mov ecx, r14d
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, esi
or eax, ecx
jge 0x14006f425
mov edx, esi
lea rcx, [rsp + 0x80]
call fcn.140005e40
mov rdi, qword [rsp + 0x80]
mov ecx, 0x5c
mov word [rdi + r12*2], cx
cmp esi, dword [rdi - 0xc]
jg 0x14006f440
mov dword [rdi - 0x10], esi
movsxd rax, esi
mov word [rdi + rax*2], bx
jmp 0x14006f45e
mov ecx, 0x80070057
call fcn.140005210
mov ecx, 0x80070057
call fcn.140005210
mov ecx, 0x80070057
call fcn.140005210
mov eax, dword [rsp + 0x58]
mov r14d, ebx
cmp r14d, r13d
jae 0x14006f818
test eax, eax
je 0x14006f503
mov ecx, r14d
lea rax, [rcx + rcx*4]
cmp qword [rsp + rax*8 + 0x200], 0
jg 0x14006f48d
call fcn.140102ffc
mov rax, qword [rsp + rax*8 + 0x1f8]
lea r12, [rsp + rcx*8 + 0x118]
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rsi, qword [r12]
sub rsi, 0x18
cmp rcx, rsi
je 0x14006f5c6
cmp dword [rsi + 0x10], 0
jl 0x14006f4f2
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x14006f4f2
call fcn.140006190
mov rdi, rax
mov ecx, r15d
lock xadd dword [rsi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14006f4e5
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rdi + 0x18]
mov qword [r12], rax
jmp 0x14006f5be
mov r8d, dword [rdx - 0x10]
mov rcx, r12
call fcn.140005d50
jmp 0x14006f5c6
mov edi, r14d
lea r8, [rdi + rdi*4]
cmp qword [rsp + r8*8 + 0x200], 0
jg 0x14006f51a
call fcn.140102ffc
mov r8, qword [rsp + r8*8 + 0x1f8]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x190]
call fcn.14003fef0
nop
lea r12, [rsp + rdi*8 + 0x118]
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rdi, qword [r12]
sub rdi, 0x18
cmp rcx, rdi
je 0x14006f59b
cmp dword [rdi + 0x10], 0
jl 0x14006f58e
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14006f58e
call fcn.140006190
mov rsi, rax
mov ecx, r15d
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14006f584
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsi + 0x18]
mov qword [r12], rax
jmp 0x14006f59b
mov r8d, dword [rdx - 0x10]
mov rcx, r12
call fcn.140005d50
nop
mov rdx, qword [rsp + 0x190]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14006f5be
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x80]
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, rax
mov rax, qword [rax]
mov rdx, qword [r12]
call qword [rax + 0xa0]
test eax, eax
je 0x14006f80c
mov dword [0x1403b95bc], 0xa
mov r9d, 0x8001000a
lea r8, str.return___08x
mov edx, 2
lea rcx, [rsp + 0x70]
call fcn.140007780
nop
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], r15d
dec r15d
test r15d, r15d
jg 0x14006f62e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea r9, [fcn.14001fec0]
mov edx, 8
lea r8d, [rdx - 6]
lea rcx, [rsp + 0x118]
call fcn.140247280
nop
lea rcx, [rsp + 0x148]
call fcn.140105ce4
nop
mov rcx, qword [rsp + 0xb0]
mov rdi, qword [rcx]
mov rsi, rcx
cmp rdi, rdi
jne 0x14006f714
mov rdi, qword [rcx + 8]
mov rsi, rdi
cmp byte [rsi + 0x69], 0
jne 0x14006f6e7
mov rdx, qword [rsi + 0x10]
lea rcx, [rsp + 0xa8]
call fcn.140028950
mov rsi, qword [rsi]
cmp qword [rdi + 0x58], 8
jb 0x14006f6a2
mov rcx, qword [rdi + 0x40]
call fcn.1401026ec
mov qword [rdi + 0x58], 7
mov qword [rdi + 0x50], rbx
mov word [rdi + 0x40], bx
cmp qword [rdi + 0x30], 8
jb 0x14006f6c2
mov rcx, qword [rdi + 0x18]
call fcn.1401026ec
mov qword [rdi + 0x30], 7
mov qword [rdi + 0x28], rbx
mov word [rdi + 0x18], bx
mov rcx, rdi
call fcn.1401026ec
mov rdi, rsi
mov rcx, qword [rsp + 0xb0]
jmp 0x14006f678
mov qword [rcx + 8], rcx
mov rax, qword [rsp + 0xb0]
mov qword [rax], rax
mov rax, qword [rsp + 0xb0]
mov qword [rax + 0x10], rax
mov qword [rsp + 0xb8], rbx
mov rcx, qword [rsp + 0xb0]
jmp 0x14006f777
cmp rdi, rsi
je 0x14006f777
mov r8, rdi
cmp byte [rdi + 0x69], 0
jne 0x14006f758
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x69], 0
jne 0x14006f740
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
jne 0x14006f758
jmp 0x14006f72c
mov rax, qword [rdi + 8]
cmp byte [rax + 0x69], 0
jne 0x14006f755
cmp rdi, qword [rax + 0x10]
jne 0x14006f755
mov rdi, rax
jmp 0x14006f740
mov rdi, rax
lea rdx, [rsp + 0x298]
lea rcx, [rsp + 0xa8]
call fcn.1400284e0
mov rcx, qword [rsp + 0xb0]
jmp 0x14006f714
call fcn.1401026ec
nop
mov r8, qword [rsp + 0xd0]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x268]
lea rcx, [rsp + 0xc8]
call fcn.140028330
nop
mov rcx, qword [rsp + 0xd0]
call fcn.1401026ec
nop
lea rcx, [rsp + 0x1c0]
call fcn.140105ce4
nop
lea rdi, [fcn.140105ce4]
mov r9, rdi
mov edx, 0x28
lea r8d, [rdx - 0x26]
lea rcx, [rsp + 0x1f0]
call fcn.140247280
nop
mov r9, rdi
mov edx, 0x28
lea r8d, [rdx - 0x26]
lea rcx, [rsp + 0x2e0]
call fcn.140247280
nop
lea rcx, [rsp + 0x70]
call fcn.140007730
mov eax, 0x8001000a
jmp 0x140070a16
inc r14d
mov eax, dword [rsp + 0x58]
jmp 0x14006f465
lea rdx, [rdi - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14006f833
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x14006f8ad
mov rsi, qword [rsp + 0x88]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + VarBstrFromDisp]
test eax, eax
je 0x14006f8ad
lea r8, str.Register_NULL_driver.
mov edx, 7
lea rcx, [rsp + 0x70]
call fcn.140007780
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0xb0]
mov dword [rsp + 0x54], eax
test eax, eax
jns 0x14006f92d
mov r9d, eax
lea r8, str.Failed_to_register_NULL_Driver_:_instRes___08x
mov edx, 7
lea rcx, [rsp + 0x70]
call fcn.140007780
mov dword [rsp + 0x54], ebx
jmp 0x14006f92d
lea r8, str.Do_not_register_NULL_driver_in_this_installation.
mov edx, 7
lea rcx, [rsp + 0x70]
call fcn.140007780
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rdi, rax
mov rcx, qword [0x1403b9750]
mov rdx, qword [rcx]
call qword [rdx + 0x48]
mov rcx, rax
mov rax, qword [rax]
lea r8, [rsp + 0x32b0]
lea rdx, str.INSTALLATION_SELECT
call qword [rax + 0x18]
lea rcx, [rsp + 0x32b0]
call fcn.14024740c
mov esi, eax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + VarBstrFromDisp]
mov dword [rsp + 0x20], eax
mov r9d, esi
lea r8, str.Installation_select___08x__IsWinVista___08x
mov edx, 7
lea rcx, [rsp + 0x70]
call fcn.140007780
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x178], rbx
mov qword [rsp + 0x180], rbx
mov r9, rbx
mov r8, rbx
lea rdx, [rsp + 0x2a8]
lea rcx, [rsp + 0x170]
call fcn.140035f90
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rax
mov rax, qword [rax]
xor edx, edx
call qword [rax + 0x58]
mov r14, rax
nop dword [rax + rax]
test r14, r14
je 0x14006fc12
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
mov rax, qword [rax]
mov r8d, 1
lea rdx, [r14 + 8]
call qword [rax + 0x4e0]
test eax, eax
jne 0x14006fbf4
lea rdx, [0x1402dc4e0]
lea rcx, [rsp + 0x108]
call fcn.140005900
nop
lea rdx, [0x1402dc4e0]
lea rcx, [r14 + 0x418]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14006fadf
mov dword [rsp + 0x100], ebx
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x78]
mov rcx, rax
mov rax, qword [rax]
lea r8, [rsp + 0x100]
lea rdx, [r14 + 0x418]
call qword [rax + 0x30]
cmp dword [rsp + 0x100], 0
je 0x14006fbd1
mov rdi, qword [rsp + 0x170]
mov rsi, qword [rsp + 0x178]
nop
cmp rdi, rsi
je 0x14006fad0
mov qword [rsp + 0x3b8], 7
mov qword [rsp + 0x3b0], rbx
mov word [rsp + 0x3a0], bx
mov r9, r15
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x3a0]
call fcn.140001e00
lea rdx, [rsp + 0x3a0]
cmp qword [rsp + 0x3b8], 8
cmovae rdx, qword [rsp + 0x3a0]
lea rcx, [r14 + 8]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x14006faaf
cmp qword [rsp + 0x3b8], 8
jb 0x14006fbd1
mov rcx, qword [rsp + 0x3a0]
jmp 0x14006fbcb
cmp qword [rsp + 0x3b8], 8
jb 0x14006fac7
mov rcx, qword [rsp + 0x3a0]
call fcn.1401026ec
add rdi, 0x28
jmp 0x14006fa30
mov edi, 1
test edi, edi
je 0x14006fbd1
jmp 0x14006fae4
mov edi, 1
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
mov rax, qword [rax]
lea rdx, [rsp + 0x108]
mov qword [rsp + 0x20], rdx
mov r9d, edi
mov r8, r14
mov edx, dword [rsp + 0xa0]
call qword [rax + 0x468]
test eax, eax
je 0x14006fb61
xor eax, eax
lea rdi, [0x1402dc4e0]
mov rsi, qword [rsp + 0x108]
mov ecx, 1
repe cmpsw word [rsi], word [rdi]
je 0x14006fb3b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x14006fb61
lea r8, [rsp + 0x108]
mov rdx, qword [rsp + 0x158]
lea rcx, [rsp + 0x148]
call fcn.140105e58
mov qword [rsp + 0x408], 7
mov qword [rsp + 0x400], rbx
mov word [rsp + 0x3f0], bx
xor eax, eax
mov rcx, r15
lea rdi, [r14 + 8]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [r14 + 8]
lea rcx, [rsp + 0x3f0]
call fcn.140001f40
nop
lea rdx, [rsp + 0x3f0]
lea rcx, [rsp + 0x170]
call fcn.140040160
nop
cmp qword [rsp + 0x408], 8
jb 0x14006fbd1
mov rcx, qword [rsp + 0x3f0]
call fcn.1401026ec
nop
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14006fbf4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x60]
mov r14, rax
jmp 0x14006f980
mov rcx, qword [0x1403b9760]
mov rax, qword [rcx]
mov edx, 4
call qword [rax + 0x18]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x128], rax
test rax, rax
je 0x14006fce5
mov rcx, qword [0x1403b9760]
mov rax, qword [rcx]
movzx r8d, word [rsp + 0x60]
mov edx, 0x3f2
call qword [rax + 0x28]
call fcn.140102a14
mov rdx, rax
mov ecx, ebx
test rax, rax
setne cl
test ecx, ecx
jne 0x14006fc71
mov ecx, 0x80004005
call fcn.140005210
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x138], rdi
mov ecx, 0x77
call fcn.1401027e8
test rax, rax
je 0x14006fcb3
mov r8d, 0x77
mov rdx, rax
lea rcx, [rsp + 0x138]
call fcn.140005b00
mov rdi, qword [rsp + 0x138]
mov rcx, qword [0x1403b9760]
mov rax, qword [rcx]
mov r8, rdi
mov edx, 0x3f2
call qword [rax + 0x38]
nop
lea rdx, [rdi - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14006fce5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov r12, qword [rsp + 0x170]
test r12, r12
je 0x14006fd32
mov rsi, qword [rsp + 0x178]
mov rdi, r12
nop dword [rax]
cmp rdi, rsi
je 0x14006fd29
cmp qword [rdi + 0x18], 8
jb 0x14006fd14
mov rcx, qword [rdi]
call fcn.1401026ec
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x28
jmp 0x14006fd00
mov rcx, r12
call fcn.1401026ec
nop
mov eax, dword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x54]
jmp 0x14006fd8e
mov r14d, 1
mov r15d, ebx
movsxd rsi, dword [rsp + 0x98]
mov qword [rsp + 0x90], rsi
test ecx, ecx
jne 0x140070213
movsx rax, ax
mov qword [rsp + 0xe8], rax
nop dword [rax + rax]
xor ecx, ecx
call fcn.140249aec
mov r15, rax
xor ecx, ecx
call fcn.140249aec
mov r14, rax
mov rdi, rax
sub rdi, r15
cmp rdi, qword [rsp + 0xe8]
jge 0x14006ffd0
mov rcx, qword [0x1403b9760]
mov rdx, qword [rcx]
call qword [rdx + 0x120]
test eax, eax
jne 0x140070168
mov rcx, qword [0x1403b9760]
mov rax, qword [rcx]
test r12, r12
je 0x14006fe1c
mov r8d, r14d
sub r8d, r15d
mov edx, 4
jmp 0x14006fe24
mov r8d, edi
mov edx, 0x3f2
call qword [rax + 0x30]
mov edi, dword [rsp + 0x50]
test edi, edi
jne 0x14006ffd4
test rsi, rsi
je 0x14006feb3
lea r8, str.Confirm_PnP___Call_CheckPNPUseDIFx__
lea edx, [rdi + 7]
lea rcx, [rsp + 0x70]
call fcn.140007780
mov esi, ebx
test r13d, r13d
je 0x14006ff56
lea r12, [rsp + 0x118]
nop
mov rcx, qword [0x1403b9758]
mov rdi, qword [r12]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, rdi
call fcn.1400f9a10
mov edi, eax
mov r9d, eax
lea r8, str.CheckPNPUseDIFx_____08x
mov edx, 7
lea rcx, [rsp + 0x70]
call fcn.140007780
test edi, edi
je 0x14006ffa4
inc esi
add r12, 8
cmp esi, r13d
jb 0x14006fe60
cmp edi, 0x261
jne 0x14006ff56
lea r8, str.Confirm_PnP___Call_CheckUSBPnPDevice__
mov edx, 7
lea rcx, [rsp + 0x70]
call fcn.140007780
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x1c8]
cmp eax, dword [rsp + 0xf0]
jle 0x14006ff56
mov esi, ebx
test r13d, r13d
je 0x14006ff56
lea r12, [rsp + 0x140]
nop word [rax + rax]
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdi, rax
mov eax, esi
lea rcx, [rax + rax*4]
mov rax, qword [rdi]
lea r8, [rsp + rcx*8 + 0x1f0]
lea rdx, [rsp + rcx*8 + 0x2e0]
mov ecx, dword [rsp + 0x9c]
mov dword [rsp + 0x20], ecx
mov r9d, dword [r12]
mov rcx, rdi
call qword [rax + 0x128]
mov edi, eax
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x14006ffc1
inc esi
add r12, 4
cmp esi, r13d
jb 0x14006ff00
mov rcx, qword [0x1403b9758]
mov rdx, qword [rcx]
call qword [rdx + 0x20]
mov rdi, qword [rax]
mov edx, 0x3e8
mov rcx, rax
call qword [rdi + 0x1b0]
xor ecx, ecx
call fcn.140249aec
mov rdi, rax
sub rdi, r14
add r14, rdi
mov rax, r14
sub rax, r15
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x90]
cmp rax, qword [rsp + 0xe8]
jmp 0x14006fde2
mov r14d, 1
mov edi, r14d
mov dword [rsp + 0x50], r14d
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x90]
jmp 0x14006ffda
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x90]
jmp 0x14006ffd4
mov edi, dword [rsp + 0x50]
mov r14d, 1
mov rcx, qword [0x1403b9760]
xor r8d, r8d
mov rax, qword [rcx]
test r12, r12
lea edx, [r8 + 4]
jne 0x14006fff5
mov edx, 0x3f2
call qword [rax + 0x30]
test edi, edi
jne 0x140070210
test rsi, rsi
je 0x14007006c
lea r8, str.Confirm_PnP___Call_CheckPNPUseDIFx__
lea edx, [rdi + 7]
lea rcx, [rsp + 0x70]
call fcn.140007780
mov r12d, ebx
test r13d, r13d
je 0x14007010b
lea rsi, [rsp + 0x118]
nop dword [rax]
mov rcx, qword [0x1403b9758]
mov rdi, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov rcx, rdi
call fcn.1400f9a10
test eax, eax
je 0x1400701b8
inc r12d
add rsi, 8
cmp r12d, r13d
jb 0x140070030
mov r12, qword [rsp + 0x68]
cmp eax, 0x261
jne 0x140070110
lea r8, str.Confirm_PnP___Call_CheckUSBPnPDevice__
mov edx, 7
lea rcx, [rsp + 0x70]
call fcn.140007780
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x1c8]
cmp eax, dword [rsp + 0xf0]
jle 0x140070110
mov esi, ebx
test r13d, r13d
je 0x140070110
lea r12, [rsp + 0x140]
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdi, rax
mov ecx, esi
lea rdx, [rcx + rcx*4]
mov rax, qword [rax]
lea r8, [rsp + rdx*8 + 0x1f0]
lea rdx, [rsp + rdx*8 + 0x2e0]
mov ecx, dword [rsp + 0x9c]
mov dword [rsp + 0x20], ecx
mov r9d, dword [r12]
mov rcx, rdi
call qword [rax + 0x128]
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x140070203
inc esi
add r12, 4
cmp esi, r13d
jb 0x1400700b3
mov r12, qword [rsp + 0x68]
test r12, r12
je 0x14007011f
xor edx, edx
mov rcx, r12
call fcn.14011629c
mov rcx, qword [0x1403b9770]
mov rax, qword [rcx]
mov edx, 0x7d
call qword [rax + 0x18]
cmp eax, 2
je 0x1400701c5
test r12, r12
mov rsi, qword [rsp + 0x90]
je 0x14006fdc0
mov edx, 5
mov rcx, r12
call fcn.14011629c
mov rcx, qword [r12 + 0x40]
call qword [sym.imp.USER32.dll_SetForegroundWindow]
jmp 0x14006fdc0
mov r14d, 1
mov r15d, r14d
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rdi, qword [rax]
lea r8, str.NotVisible
lea rdx, str.ScannerInstallMessage
mov rcx, rax
call qword [rdi + 0x20]
mov eax, 0x8001001f
mov dword [rsp + 0x54], eax
mov dword [0x1403b95bc], 0x1f
mov rax, qword [0x1403b9760]
mov dword [rax + 0x80], r14d
jmp 0x140070213
mov r13d, r14d
mov r12, qword [rsp + 0x68]
mov r15d, ebx
jmp 0x140070218
cmp dword [0x1403b9778], 0
jne 0x140070210
mov rcx, qword [0x1403b9770]
mov rax, qword [rcx]
mov edx, 0x29
call qword [rax + 0x18]
mov ecx, 0x8001001f
mov dword [rsp + 0x54], ecx
mov dword [0x1403b95bc], 0x1f
mov rax, qword [0x1403b9760]
mov dword [rax + 0x80], r14d
jmp 0x140070210
mov r12, qword [rsp + 0x68]
mov r13d, eax
mov r15d, ebx
jmp 0x140070218
mov r15d, ebx
mov r13d, dword [rsp + 0x50]
cmp dword [rsp + 0xf4], 0
jne 0x1400703e8
mov word [rsp + 0xa70], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xa72]
call fcn.14024b970
mov word [rsp + 0xe90], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xe92]
call fcn.14024b970
mov word [rsp + 0x860], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x862]
call fcn.14024b970
mov word [rsp + 0x10a0], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x10a2]
call fcn.14024b970
mov word [rsp + 0xc80], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xc82]
call fcn.14024b970
mov esi, ebx
mov rdi, rbx
mov rcx, qword [rsp + 0x1d0]
test rcx, rcx
jle 0x1400703cc
nop dword [rax]
test rdi, rdi
js 0x1400703c6
cmp rdi, rcx
jge 0x1400703c6
mov rdx, qword [rsp + 0x1c8]
mov rdx, qword [rdx + rdi*8]
lea rcx, [rsp + 0x440]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rcx, [rsp + 0x440]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov qword [rsp + 0x40], 0x104
lea rax, [rsp + 0x10a0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 0x104
lea rax, [rsp + 0x860]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x104
lea r9, [rsp + 0xe90]
mov r8d, 0x104
lea rdx, [rsp + 0xa70]
lea rcx, [rsp + 0x440]
call fcn.140247424
lea rax, str..PNF
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x860]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xe90]
lea r8, [rsp + 0xa70]
mov edx, 0x104
lea rcx, [rsp + 0xc80]
call fcn.140248e70
lea rcx, [rsp + 0xc80]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
inc esi
inc rdi
movsxd rax, esi
mov rcx, qword [rsp + 0x1d0]
cmp rax, rcx
jl 0x1400702d0
jmp 0x1400703cc
call fcn.140102ffc
int3
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdi, qword [rax]
mov edx, r14d
mov rcx, rax
call qword [rdi + 0x160]
mov word [rsp + 0x650], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x652]
call fcn.14024b970
mov rdi, qword [rsp + 0x88]
mov rax, qword [rdi]
lea r8, [rsp + 0x650]
mov edx, dword [rsp + 0xa0]
mov rcx, rdi
call qword [rax + 0x230]
test eax, eax
je 0x140070595
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x78]
mov rdi, qword [rax]
lea rdx, [rsp + 0x3c8]
mov rcx, rax
call qword [rdi + 0xa8]
nop
mov eax, ebx
cmp qword [rsp + 0x3d8], 0
setne al
test eax, eax
sete al
test al, al
sete al
mov r14, qword [rsp + 0xf8]
test al, al
je 0x14007057b
mov esi, ebx
mov rdi, rbx
cmp qword [rsp + 0x158], 0
jle 0x14007057b
nop
lea rdx, [rsp + 0x650]
lea rcx, [rsp + 0x130]
call fcn.140005900
nop
test rdi, rdi
js 0x140070575
cmp rdi, qword [rsp + 0x158]
jge 0x140070575
mov rax, qword [rsp + 0x150]
mov rdx, qword [rax + rdi*8]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x130]
call fcn.140005f90
mov rcx, qword [rsp + 0x130]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x140070535
mov rcx, qword [0x1403b9768]
cmp rdi, qword [rsp + 0x158]
jge 0x14007056f
mov rax, qword [rsp + 0x150]
mov r9, qword [rax + rdi*8]
lea rdx, [rsp + 0x3c8]
cmp qword [rsp + 0x3e0], 8
cmovae rdx, qword [rsp + 0x3c8]
mov rax, qword [rcx]
lea r8, [rsp + 0x650]
call qword [rax + 0xd0]
nop
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140070558
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc esi
inc rdi
movsxd rax, esi
cmp rax, qword [rsp + 0x158]
jge 0x14007057b
jmp 0x140070490
call fcn.140102ffc
int3
call fcn.140102ffc
nop
cmp qword [rsp + 0x3e0], 8
jb 0x14007059f
mov rcx, qword [rsp + 0x3c8]
call fcn.1401026ec
jmp 0x14007059f
mov r14, qword [rsp + 0xf8]
jmp 0x1400705a7
mov rdi, qword [rsp + 0x88]
lea rcx, [rsp + 0x240]
call fcn.140105848
nop
mov rsi, rbx
mov r8, r14
xor edx, edx
lea rcx, [rsp + 0x240]
call fcn.140105958
test r15d, r15d
jne 0x140070863
cmp dword [rsp + 0x110], 1
jne 0x140070831
cmp r13d, 1
jne 0x140070831
mov qword [rsp + 0x368], 7
mov qword [rsp + 0x360], rbx
mov word [rsp + 0x350], bx
xor r8d, r8d
lea rdx, [0x1402dc4e0]
lea rcx, [rsp + 0x350]
call fcn.140001f40
nop
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x330]
call fcn.1400282f0
mov rax, qword [rdi]
lea r8, [rsp + 0x350]
lea rdx, [rsp + 0x330]
mov rcx, rdi
call qword [rax + 0x430]
cmp eax, r13d
jne 0x140070817
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rcx, rax
lea r8, [rsp + 0x350]
cmp qword [rsp + 0x368], 8
cmovae r8, qword [rsp + 0x350]
mov rax, qword [rax]
lea rdx, str.USB_ADDED_DRIVERNAME
call qword [rax + 0x20]
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x1400706cf
lea r8, [rsp + 0x350]
cmp qword [rsp + 0x368], 8
cmovae r8, qword [rsp + 0x350]
mov rdx, qword [rsp + 0x250]
lea rcx, [rsp + 0x240]
call fcn.140105f30
lea rsi, [rsp + 0x240]
cmp dword [rsp + 0x98], 0
je 0x140070817
lea r8, str.Check_USB_Device___Call_CheckUSBPnPDeviceforScanner___DIFx_Support_OS_
mov edx, 7
lea rcx, [rsp + 0x70]
call fcn.140007780
lea rdx, [rsp + 0x350]
cmp qword [rsp + 0x368], 8
cmovae rdx, qword [rsp + 0x350]
mov qword [rsp + 0x390], 7
mov qword [rsp + 0x388], rbx
mov word [rsp + 0x378], bx
xor eax, eax
mov rcx, r14
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x378]
call fcn.140001f40
nop
lea rdx, [rsp + 0x378]
lea rcx, [rsp + 0xc8]
call fcn.1400a14e0
mov qword [rsp + 0x198], rax
cmp rax, qword [rsp + 0xd0]
je 0x14007078f
lea rdx, [rax + 0x18]
lea rcx, [rsp + 0x378]
call fcn.140029030
test eax, eax
js 0x14007078f
lea rdi, [rsp + 0x198]
jmp 0x1400707a7
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x1a8], rax
lea rdi, [rsp + 0x1a8]
mov rdi, qword [rdi]
cmp qword [rsp + 0x390], 8
jb 0x1400707c2
mov rcx, qword [rsp + 0x378]
call fcn.1401026ec
mov qword [rsp + 0x390], 7
mov qword [rsp + 0x388], rbx
mov word [rsp + 0x378], bx
cmp rdi, qword [rsp + 0xd0]
je 0x14007080f
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rax
lea rdx, [rdi + 0x40]
cmp qword [rdx + 0x18], 8
jb 0x140070806
mov rdx, qword [rdx]
mov rax, qword [rax]
call qword [rax + 0x1f0]
mov rdi, qword [rsp + 0x88]
cmp qword [rsp + 0x368], 8
jb 0x140070836
mov rcx, qword [rsp + 0x350]
call fcn.1401026ec
jmp 0x140070836
test r13d, r13d
je 0x140070863
cmp dword [rsp + 0xf4], 0
jne 0x140070863
mov rax, qword [rdi]
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call qword [rax + 0x258]
nop
jmp 0x140070863
mov edi, dword [rsp + 0x54]
test r12, r12
je 0x140070881
mov rcx, qword [0x1403b9760]
mov rax, qword [rcx]
mov r8, r12
mov edx, 4
call qword [rax + 0x20]
mov r9d, edi
lea r8, str.return___08x
mov edx, 2
lea rcx, [rsp + 0x70]
call fcn.140007780
nop
lea rcx, [rsp + 0x240]
call fcn.140105ce4
nop
lea r9, [fcn.14001fec0]
mov edx, 8
lea r8d, [rdx - 6]
lea rcx, [rsp + 0x118]
call fcn.140247280
nop
lea rcx, [rsp + 0x148]
call fcn.140105ce4
nop
mov r8, qword [rsp + 0xb0]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x2c8]
lea rcx, [rsp + 0xa8]
call fcn.140028330
nop
mov rcx, qword [rsp + 0xb0]
call fcn.1401026ec
nop
mov r8, qword [rsp + 0xd0]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0xc8]
call fcn.140028330
nop
mov rcx, qword [rsp + 0xd0]
call fcn.1401026ec
nop
lea rcx, [rsp + 0x1c0]
call fcn.140105ce4
nop
lea r9, [fcn.140105ce4]
mov edx, 0x28
lea r8d, [rdx - 0x26]
lea rcx, [rsp + 0x1f0]
call fcn.140247280
nop
lea r9, [fcn.140105ce4]
mov edx, 0x28
lea r8d, [rdx - 0x26]
lea rcx, [rsp + 0x2e0]
call fcn.140247280
nop
lea rcx, [rsp + 0x70]
call fcn.140007730
mov eax, edi
jmp 0x140070a16
mov qword [rsp + 0x1b0], rbx
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0x278]
call fcn.140246874
lea rdx, vtable.std::bad_alloc.0
mov qword [rsp + 0x278], rdx
lea rdx, [0x14038c720]
lea rcx, [rsp + 0x278]
call fcn.14024b7b0
nop
mov qword [rsp + 0x1a0], rbx
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x2b0]
call fcn.140246874
lea rdx, vtable.std::bad_alloc.0
mov qword [rsp + 0x2b0], rdx
lea rdx, [0x14038c720]
lea rcx, [rsp + 0x2b0]
call fcn.14024b7b0
nop
mov rcx, qword [rsp + 0x3ab0]
xor rcx, rsp
call fcn.140245660
lea r11, [rsp + 0x3ac0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret