Function at 0x140009ef0
Capabilities:
Get common file path

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x7be0
call fcn.14007a110
sub rsp, rax
mov qword [rsp + 0x1d0], 0xfffffffffffffffe
mov qword [rsp + 0x7c18], rbx
mov qword [rsp + 0x7c20], rbp
mov qword [rsp + 0x7c28], rsi
mov rax, qword [0x1400a5de0]
xor rax, rsp
mov qword [rsp + 0x7bd0], rax
mov r14, rcx
mov edx, 0xa
lea rcx, [rsp + 0x100]
call fcn.140027e28
xor r15d, r15d
mov dword [rsp + 0x13c], r15d
mov word [rsp + 0x5b30], r15w
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rsp + 0x5b32]
call fcn.140057420
mov qword [rsp + 0x1830], 0xffffffffffffffff
mov word [rsp + 0x5930], r15w
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rsp + 0x5932]
call fcn.140057420
mov word [rsp + 0x6130], r15w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x6132]
call fcn.140057420
mov word [rsp + 0x75a0], r15w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x75a2]
call fcn.140057420
mov word [rsp + 0x79b0], r15w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x79b2]
call fcn.140057420
call fcn.14003a0b8
mov rcx, qword [rax + 8]
mov r8d, 0x104
lea rdx, [rsp + 0x79b0]
mov rcx, qword [rcx + 0x88]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea r9, [rsp + 0x140]
lea r8, [rsp + 0x75a0]
mov edx, 0x104
lea rcx, [rsp + 0x79b0]
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov rdx, qword [rsp + 0x140]
mov word [rdx], r15w
mov word [rsp + 0x6130], r15w
lea r8, [rsp + 0x75a0]
mov edx, 0x104
lea rcx, [rsp + 0x6130]
call fcn.140052920
mov word [rsp + 0x6740], r15w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x6742]
call fcn.140057420
mov edx, 0x104
lea rcx, [rsp + 0x6740]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [rsp + 0x70], r15d
call fcn.14000f270
test eax, eax
je 0x14000a125
lea rcx, str.Kernel32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
jne 0x14000a0e6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.14000d730
mov rcx, rax
lea r8, str.failed_loadlibrary_Kernel32.dll
mov edx, edi
call fcn.14000daa0
jmp 0x14000a125
lea rdx, str.Wow64DisableWow64FsRedirection
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x14000a11b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.14000d730
mov rcx, rax
lea r8, str.failed_entrypoint_UpdateDriverForPlugAndPlayDevices__gle_d_
mov edx, edi
call fcn.14000daa0
jmp 0x14000a125
lea rcx, [rsp + 0x210]
call rax
call fcn.14000f270
test eax, eax
je 0x14000a175
lea r8, str...x64
mov edx, 0x104
lea rcx, [rsp + 0x6130]
call fcn.1400539f0
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x20], rdx
mov r9d, 1
lea r8, [rsp + 0x6740]
lea rdx, [rsp + 0x6130]
lea rcx, str.mvhlewsi.dll
call fcn.140016300
jmp 0x14000a1ba
lea r8, str...x32
mov edx, 0x104
lea rcx, [rsp + 0x6130]
call fcn.1400539f0
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x20], rdx
mov r9d, 1
lea r8, [rsp + 0x6740]
lea rdx, [rsp + 0x6130]
lea rcx, str.mvhlewsi.dll
call fcn.140016300
lea rcx, str.DataSection
lea rdx, str.DestinationDirs
lea rdi, str.CopyFiles
lea rsi, str.DriverFile
lea r8, str.ConfigFile
lea r9, str.DataFile
lea r10, str.DefaultDataType
lea r11, str.HelpFile
lea rbp, str.LanguageMonitor
lea r12, str.PrintProcessor
lea rbx, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
nop
nop
nop
mov qword [rsp + 0x520], 0xffffffffffffffff
mov qword [rsp + 0x528], r15
mov word [rsp + 0x540], 0
mov word [rsp + 0x740], 0
mov qword [rsp + 0x940], rcx
mov qword [rsp + 0x948], rdx
mov qword [rsp + 0x950], rdi
mov qword [rsp + 0x958], rsi
mov qword [rsp + 0x960], r8
mov qword [rsp + 0x968], r9
mov qword [rsp + 0x970], r10
mov qword [rsp + 0x978], r11
mov qword [rsp + 0x980], rbp
mov qword [rsp + 0x988], r12
mov word [rsp + 0x7390], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x7392]
call fcn.140057420
mov word [rsp + 0x6950], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x6952]
call fcn.140057420
mov word [rsp + 0x6b60], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x6b62]
call fcn.140057420
mov word [rsp + 0x7180], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x7182]
call fcn.140057420
mov word [rsp + 0x6f70], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x6f72]
call fcn.140057420
call fcn.14003a0b8
mov rcx, qword [rax + 8]
mov r8d, 0x104
lea rdx, [rsp + 0x6f70]
mov rcx, qword [rcx + 0x88]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea r9, [rsp + 0x148]
lea r8, [rsp + 0x7180]
mov edx, 0x104
lea rcx, [rsp + 0x6f70]
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov rdx, qword [rsp + 0x148]
mov word [rdx], 0
mov word [rsp + 0x6b60], 0
lea r8, [rsp + 0x7180]
mov edx, 0x104
lea rcx, [rsp + 0x6b60]
call fcn.140052920
mov rdi, qword [0x1400ae090]
test rdi, rdi
jne 0x14000a3f6
lea ecx, [rdi + 0x30]
call fcn.1400278b8
mov rdi, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14000a3ec
mov ecx, 0x20
call fcn.1400278b8
nop
test rax, rax
je 0x14000a3da
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
jmp 0x14000a3dd
mov rax, r15
mov qword [rdi + 0x28], rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x14000a3ef
mov rdi, r15
mov qword [0x1400ae090], rdi
mov r9d, 0x104
lea r8, [rsp + 0x7390]
lea rdx, str.PRINT_INFNAME
mov rcx, rdi
call fcn.140012ca0
test eax, eax
jne 0x14000a51b
lea rax, [rsp + 0x7390]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x6b60]
lea r8, str._s.._s
mov edx, 0x104
lea rcx, [rsp + 0x6950]
call fcn.140052ea0
mov rsi, qword [0x1400ae080]
test rsi, rsi
jne 0x14000a504
mov ecx, 0x310
call fcn.1400278b8
mov rsi, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14000a4fa
call fcn.14002790c
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14000bc04
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsi], rax
mov word [rsi + 0x64], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x14008a5b0]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x14008a5b0]
mov rcx, rsi
call fcn.140008260
lea rcx, [rsi + 8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rsi + 0x30]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rsi + 0x26c]
mov word [rcx], 0
lea r8, [0x14008a5b8]
mov edx, 0x50
call fcn.140052920
nop
jmp 0x14000a4fd
mov rsi, r15
mov qword [0x1400ae080], rsi
lea r8, [rsp + 0x6950]
lea rdx, str.__print_inf:_s
mov rcx, rsi
call fcn.14000d860
mov r8, r14
lea rdx, [rsp + 0x6950]
lea rcx, [rsp + 0x520]
call fcn.140011b90
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x98], r15
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x80], r15
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0xa8], 0xa
call fcn.14002790c
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14000bf1d
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rdx, [rax - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14000a5e6
cmp dword [rdx + 0x10], 0
jge 0x14000a5bc
cmp dword [rax - 0xc], 0
jl 0x14000bc0f
mov dword [rax - 0x10], r15d
mov word [rax], 0
jmp 0x14000a5e6
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000a5d4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
call fcn.14002790c
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14000bf12
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
call fcn.14002790c
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14000bf07
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
call fcn.14002790c
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14000befc
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
call fcn.14002790c
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14000bef1
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xb0], rax
lea rdx, [rax - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14000a6de
cmp dword [rdx + 0x10], 0
jge 0x14000a6b1
cmp dword [rax - 0xc], 0
jl 0x14000bc1a
mov dword [rax - 0x10], r15d
mov word [rax], 0
jmp 0x14000a6de
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000a6c9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xb0], rax
call fcn.14002790c
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14000bee6
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xb8], rax
call fcn.14002790c
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14000bedb
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xc0], rax
call fcn.14002790c
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14000bed0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xc8], rax
mov r12d, r15d
test r12d, r12d
jne 0x14000a9b7
mov dword [rsp + 0x138], r15d
mov rsi, qword [0x1400ae080]
test rsi, rsi
jne 0x14000a907
mov ecx, 0x310
call fcn.1400278b8
mov rsi, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14000a8fd
call fcn.14002790c
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14000bc3b
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea r8, [rax + 0x18]
mov qword [rsi], r8
mov word [rsi + 0x64], r12w
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x14008a5b0]
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x14000a842
lea rdx, [r8 - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14000a8c9
cmp dword [rdx + 0x10], eax
jge 0x14000a815
cmp dword [r8 - 0xc], eax
jl 0x14000bc25
mov dword [r8 - 0x10], r15d
mov rax, qword [rsi]
mov word [rax], cx
jmp 0x14000a8c9
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000a82d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi], rax
jmp 0x14000a8c9
mov ebx, dword [r8 - 0x10]
lea rbp, [0x14008a5b0]
sub rbp, r8
sar rbp, 1
mov ecx, 1
sub ecx, dword [r8 - 8]
mov eax, dword [r8 - 0xc]
sub eax, edi
or eax, ecx
jge 0x14000a870
mov edx, edi
mov rcx, rsi
call fcn.140007e20
mov rcx, qword [rsi]
cmp rbp, rbx
ja 0x14000a890
movsxd rax, edi
lea rbx, [rax + rax]
lea r8, [rcx + rbp*2]
mov r9, rbx
mov rdx, rbx
call fcn.140053040
jmp 0x14000a8a9
movsxd rax, edi
lea rbx, [rax + rax]
mov r9, rbx
lea r8, [0x14008a5b0]
mov rdx, rbx
call fcn.140052f70
test edi, edi
js 0x14000bc30
mov rax, qword [rsi]
cmp edi, dword [rax - 0xc]
jg 0x14000bc30
mov dword [rax - 0x10], edi
mov rax, qword [rsi]
mov word [rbx + rax], 0
lea rcx, [rsi + 8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rsi + 0x30]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rsi + 0x26c]
mov word [rcx], 0
lea r8, [0x14008a5b8]
mov edx, 0x50
call fcn.140052920
nop
jmp 0x14000a900
mov rsi, r15
mov qword [0x1400ae080], rsi
lea rdx, str.GetFirstInstalledPrinter__
mov rcx, rsi
call fcn.14000d860
lea rcx, [rsp + 0x100]
call fcn.140027fb4
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8d, [r9 + 1]
mov rdx, r14
lea rcx, [rsp + 0x100]
call fcn.14000f810
mov dword [rsp + 0x13c], eax
cmp qword [rsp + 0x118], 0
je 0x14000af11
mov edx, dword [rsp + 0x138]
lea rcx, [rsp + 0x100]
call fcn.140027e00
test rax, rax
je 0x14000bc46
lea rdi, [rax + 0x10]
mov rax, qword [rdi]
cmp dword [rax - 8], 1
jle 0x14000a98a
mov edx, dword [rax - 0x10]
mov rcx, rdi
call fcn.140007d40
mov r8, qword [rdi]
mov word [rsp + 0x5b30], 0
test r8, r8
je 0x14000abcb
mov edx, 0x100
lea rcx, [rsp + 0x5b30]
call fcn.140052920
jmp 0x14000abcb
mov rsi, qword [0x1400ae080]
test rsi, rsi
jne 0x14000ab4c
mov ecx, 0x310
call fcn.1400278b8
mov rsi, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14000ab42
call fcn.14002790c
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14000bc62
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea r8, [rax + 0x18]
mov qword [rsi], r8
mov word [rsi + 0x64], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x14008a5b0]
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x14000aa87
lea rdx, [r8 - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14000ab0e
cmp dword [rdx + 0x10], eax
jge 0x14000aa5a
cmp dword [r8 - 0xc], eax
jl 0x14000bc4c
mov dword [r8 - 0x10], r15d
mov rax, qword [rsi]
mov word [rax], cx
jmp 0x14000ab0e
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000aa72
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi], rax
jmp 0x14000ab0e
mov ebx, dword [r8 - 0x10]
lea rbp, [0x14008a5b0]
sub rbp, r8
sar rbp, 1
mov ecx, 1
sub ecx, dword [r8 - 8]
mov eax, dword [r8 - 0xc]
sub eax, edi
or eax, ecx
jge 0x14000aab5
mov edx, edi
mov rcx, rsi
call fcn.140007e20
mov rcx, qword [rsi]
cmp rbp, rbx
ja 0x14000aad5
movsxd rax, edi
lea rbx, [rax + rax]
lea r8, [rcx + rbp*2]
mov r9, rbx
mov rdx, rbx
call fcn.140053040
jmp 0x14000aaee
movsxd rax, edi
lea rbx, [rax + rax]
mov r9, rbx
lea r8, [0x14008a5b0]
mov rdx, rbx
call fcn.140052f70
test edi, edi
js 0x14000bc57
mov rax, qword [rsi]
cmp edi, dword [rax - 0xc]
jg 0x14000bc57
mov dword [rax - 0x10], edi
mov rax, qword [rsi]
mov word [rbx + rax], 0
lea rcx, [rsi + 8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rsi + 0x30]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rsi + 0x26c]
mov word [rcx], 0
lea r8, [0x14008a5b8]
mov edx, 0x50
call fcn.140052920
nop
jmp 0x14000ab45
mov rsi, r15
mov qword [0x1400ae080], rsi
lea rdx, str.GetNextInstalledPrinter__
mov rcx, rsi
call fcn.14000d860
mov edx, dword [rsp + 0x138]
add edx, 1
mov dword [rsp + 0x138], edx
cmp edx, dword [rsp + 0x13c]
jae 0x14000af11
lea rcx, [rsp + 0x100]
call fcn.140027e00
test rax, rax
je 0x14000bc8e
lea rdi, [rax + 0x10]
mov rax, qword [rdi]
cmp dword [rax - 8], 1
jle 0x14000aba7
mov edx, dword [rax - 0x10]
mov rcx, rdi
call fcn.140007d40
mov r8, qword [rdi]
mov word [rsp + 0x5b30], 0
test r8, r8
je 0x14000abcb
mov edx, 0x100
lea rcx, [rsp + 0x5b30]
call fcn.140052920
mov rsi, qword [0x1400ae080]
test rsi, rsi
jne 0x14000ad60
mov ecx, 0x310
call fcn.1400278b8
mov rsi, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14000ad56
call fcn.14002790c
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14000bc83
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea r8, [rax + 0x18]
mov qword [rsi], r8
mov word [rsi + 0x64], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x14008a5b0]
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x14000ac9b
lea rdx, [r8 - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14000ad22
cmp dword [rdx + 0x10], eax
jge 0x14000ac6e
cmp dword [r8 - 0xc], eax
jl 0x14000bc6d
mov dword [r8 - 0x10], r15d
mov rax, qword [rsi]
mov word [rax], cx
jmp 0x14000ad22
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000ac86
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi], rax
jmp 0x14000ad22
mov ebx, dword [r8 - 0x10]
lea rbp, [0x14008a5b0]
sub rbp, r8
sar rbp, 1
mov ecx, 1
sub ecx, dword [r8 - 8]
mov eax, dword [r8 - 0xc]
sub eax, edi
or eax, ecx
jge 0x14000acc9
mov edx, edi
mov rcx, rsi
call fcn.140007e20
mov rcx, qword [rsi]
cmp rbp, rbx
ja 0x14000ace9
movsxd rax, edi
lea rbx, [rax + rax]
lea r8, [rcx + rbp*2]
mov r9, rbx
mov rdx, rbx
call fcn.140053040
jmp 0x14000ad02
movsxd rax, edi
lea rbx, [rax + rax]
mov r9, rbx
lea r8, [0x14008a5b0]
mov rdx, rbx
call fcn.140052f70
test edi, edi
js 0x14000bc78
mov rax, qword [rsi]
cmp edi, dword [rax - 0xc]
jg 0x14000bc78
mov dword [rax - 0x10], edi
mov rax, qword [rsi]
mov word [rbx + rax], 0
lea rcx, [rsi + 8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rsi + 0x30]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rsi + 0x26c]
mov word [rcx], 0
lea r8, [0x14008a5b8]
mov edx, 0x50
call fcn.140052920
nop
jmp 0x14000ad59
mov rsi, r15
mov qword [0x1400ae080], rsi
lea r8, [rsp + 0x5b30]
lea rdx, str.Adding__s_to_printer_list
mov rcx, rsi
call fcn.14000d860
lea r8, [rsp + 0x1200]
lea rdx, [rsp + 0x5b30]
lea rcx, [rsp + 0x100]
call fcn.14000fd80
test eax, eax
je 0x14000af08
mov qword [rsp + 0x5120], 0xffffffffffffffff
mov word [rsp + 0x6d70], 0
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rsp + 0x6d72]
call fcn.140057420
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x5930]
call fcn.140057420
mov r9d, 0x100
lea r8, [rsp + 0x6d70]
lea rdx, [rsp + 0x5b30]
lea rcx, [rsp + 0x100]
call fcn.140010150
test eax, eax
je 0x14000ae26
mov r9d, 0x100
lea r8, [rsp + 0x5930]
lea rdx, [rsp + 0x6d70]
lea rcx, [rsp + 0x5120]
call fcn.1400116d0
call fcn.14000d730
mov rcx, rax
lea r8, [rsp + 0x5930]
lea rdx, str.____devInstID___s
call fcn.14000d860
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x5b30]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x5b30]
lea rcx, [rsp + 0x50]
call fcn.140008260
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x1200]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x1200]
lea rcx, [rsp + 0x58]
call fcn.140008260
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x5930]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x5930]
lea rcx, [rsp + 0x60]
call fcn.140008260
xor r8d, r8d
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x78]
call fcn.14000ccc0
mov rdi, rax
lea rcx, [rax + 0x10]
lea rdx, [rsp + 0x50]
call fcn.14000c8d0
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x14000aef8
mov qword [rdx], rdi
jmp 0x14000af00
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x88], rdi
add r12d, 1
jmp 0x14000a762
mov word [rsp + 0x6540], 0
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rsp + 0x6542]
call fcn.140057420
mov word [rsp + 0x6340], 0
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rsp + 0x6342]
call fcn.140057420
mov word [rsp + 0x5f30], 0
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rsp + 0x5f32]
call fcn.140057420
mov r13d, r15d
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x20], 0x100
lea r9, [rsp + 0x6540]
lea r8, str.VEN_HPPROD_SMART_INSTALL
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x4910]
call fcn.140015e10
test eax, eax
je 0x14000b1f5
nop
nop
nop
lea rcx, [rsp + 0x1c0]
mov rax, qword [0x140087ac8]
mov qword [rcx], rax
mov rax, qword [0x140087ad0]
mov qword [rcx + 8], rax
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x20], rax
mov r9d, 0x100
lea r8, [rsp + 0x6340]
lea rdx, [rsp + 0x6540]
lea rcx, [rsp + 0x1830]
call fcn.140010f60
test eax, eax
je 0x14000b1c4
mov rsi, qword [0x1400ae080]
test rsi, rsi
jne 0x14000b0c0
mov ecx, 0x310
call fcn.1400278b8
mov rsi, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14000b0b6
call fcn.14002790c
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
je 0x14000bc94
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsi], rax
mov word [rsi + 0x64], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x14008a5b0]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x14008a5b0]
mov rcx, rsi
call fcn.140008260
lea rcx, [rsi + 8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rsi + 0x30]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rsi + 0x26c]
mov word [rcx], 0
lea r8, [0x14008a5b8]
mov edx, 0x50
call fcn.140052920
nop
jmp 0x14000b0b9
mov rsi, r15
mov qword [0x1400ae080], rsi
lea r8, [rsp + 0x6340]
lea rdx, str.__found_device__s
mov rcx, rsi
call fcn.14000d860
mov dword [rsp + 0x20], r13d
lea r9, str.HP_Smart_Install_Printer_S
lea r8, str._s_02d
mov edx, 0x100
lea rcx, [rsp + 0x5f30]
call fcn.140052ea0
add r13d, 1
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x5f30]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x5f30]
lea rcx, [rsp + 0x50]
call fcn.140008260
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, str.Not_Installed
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.Not_Installed
lea rcx, [rsp + 0x58]
call fcn.140008260
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x6340]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x6340]
lea rcx, [rsp + 0x60]
call fcn.140008260
xor r8d, r8d
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x78]
call fcn.14000ccc0
mov rdi, rax
lea rcx, [rax + 0x10]
lea rdx, [rsp + 0x50]
call fcn.14000c8d0
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x14000b1b4
mov qword [rdx], rdi
jmp 0x14000b1bc
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x88], rdi
mov dword [rsp + 0x20], 0x100
lea r9, [rsp + 0x6540]
lea r8, str.VEN_HPPROD_SMART_INSTALL
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x4910]
call fcn.140015e10
test eax, eax
jne 0x14000afb0
mov edx, 0xa
lea rcx, [rsp + 0x1d8]
call fcn.140027e28
nop
mov rdi, qword [0x1400ae090]
test rdi, rdi
jne 0x14000b263
lea ecx, [rdi + 0x30]
call fcn.1400278b8
mov rdi, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14000b259
mov ecx, 0x20
call fcn.1400278b8
nop
test rax, rax
je 0x14000b247
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
jmp 0x14000b24a
mov rax, r15
mov qword [rdi + 0x28], rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x14000b25c
mov rdi, r15
mov qword [0x1400ae090], rdi
lea r8, [rsp + 0x1d8]
lea rdx, str.PRODUCT_VIDPID
mov rcx, rdi
call fcn.1400141e0
mov r12d, r15d
cmp qword [rsp + 0x1f0], r12
jle 0x14000b503
mov rax, r15
nop
mov rdx, rax
lea rcx, [rsp + 0x1d8]
call fcn.140027e00
test rax, rax
je 0x14000bca5
mov rdi, qword [rax + 0x10]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x14000b2d1
cmp rax, qword [rdi - 0x18]
jne 0x14000b2d1
lea rsi, [rdi - 0x18]
lock add dword [rdi - 8], 1
jmp 0x14000b30d
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rsi, rax
test rax, rax
je 0x14000bc9f
mov ecx, dword [rdi - 0x10]
mov dword [rax + 8], ecx
mov ecx, dword [rdi - 0x10]
add ecx, 1
movsxd rdx, ecx
lea r9, [rdx + rdx]
mov r8, rdi
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.140052f70
add rsi, 0x18
mov qword [rsp + 0xd0], rsi
mov dword [rsp + 0x40], r15d
mov rbp, qword [rsp + 0x60]
cmp dword [rsi - 8], 1
jle 0x14000b341
mov edx, dword [rsi - 0x10]
lea rcx, [rsp + 0xd0]
call fcn.140007d40
mov rsi, qword [rsp + 0xd0]
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x100
lea rax, [rsp + 0x5930]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, rsi
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x1830]
call fcn.140010bd0
test eax, eax
je 0x14000b4d2
mov rbx, qword [rsp + 0x90]
mov edi, r15d
test ebx, ebx
je 0x14000b3bf
nop
nop
nop
lea rdx, [rsp + 0x5930]
mov rcx, rbp
call fcn.14000ec70
test eax, eax
jne 0x14000b323
add edi, 1
cmp edi, ebx
jb 0x14000b3a0
call fcn.14000d730
mov rcx, rax
lea r8, [rsp + 0x5930]
lea rdx, str.__found_device___s
call fcn.14000d860
mov dword [rsp + 0x20], r13d
lea r9, str.HP_Smart_Install_Printer_P
lea r8, str._s_02d
mov edx, 0x100
lea rcx, [rsp + 0x5f30]
call fcn.140052ea0
add r13d, 1
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x5f30]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x5f30]
lea rcx, [rsp + 0x50]
call fcn.140008260
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, str.Not_Installed
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.Not_Installed
lea rcx, [rsp + 0x58]
call fcn.140008260
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x5930]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x5930]
lea rcx, [rsp + 0x60]
call fcn.140008260
xor r8d, r8d
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x78]
call fcn.14000ccc0
mov rdi, rax
lea rcx, [rax + 0x10]
lea rdx, [rsp + 0x50]
call fcn.14000c8d0
mov r11, qword [rsp + 0x88]
test r11, r11
je 0x14000b4b8
mov qword [r11], rdi
jmp 0x14000b4c0
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x88], rdi
mov rbp, qword [rsp + 0x60]
jmp 0x14000b323
lea rdx, [rsi - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000b4ee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add r12d, 1
movsxd rax, r12d
cmp rax, qword [rsp + 0x1f0]
jl 0x14000b290
xor edx, edx
lea rcx, [rsp + 0x990]
call fcn.1400249d0
nop
mov dword [rsp + 0xd8], r15d
xor eax, eax
mov dword [rsp + 0xdc], eax
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0xe4], eax
mov dword [rsp + 0xe8], eax
mov dword [rsp + 0xec], eax
mov dword [rsp + 0xf0], eax
mov qword [rsp + 0x198], rax
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], rax
lea rax, str.HP_Smart_Install_Printer_Configuration
mov qword [rsp + 0x190], rax
lea rax, str.Choose_the_printer_to_configure_HP_Smart_Install_and_press_Next.
mov qword [rsp + 0x198], rax
lea rax, str.Please_select_a_printer_before_pressing_Next
mov qword [rsp + 0x1a0], rax
lea rax, str.Next
mov qword [rsp + 0x1b0], rax
lea rax, str.Close
mov qword [rsp + 0x1a8], rax
lea rax, str.Printer
mov qword [rsp + 0x160], rax
mov dword [rsp + 0x180], 0x113
lea rax, str.Port
mov qword [rsp + 0x168], rax
mov dword [rsp + 0x184], 0xd2
lea rax, str.Address
mov qword [rsp + 0x170], rax
mov dword [rsp + 0x188], 0x64
lea rax, str.This_printer_is_not_installed_but_can_still_be_configured.
mov qword [rsp + 0xd78], rax
mov qword [rsp + 0xd80], r15
mov dword [rsp + 0xd88], 2
mov word [rsp + 0xd8c], 0
lea r8, str.Not_Installed
mov edx, 0x50
lea rcx, [rsp + 0xd8c]
call fcn.140052920
lea rdx, [rsp + 0x78]
mov qword [rsp + 0xe58], rdx
lea rdx, [rsp + 0xce0]
lea rcx, [rsp + 0xd8]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [rcx + 0x18]
mov dword [rdx + 0x18], eax
mov rax, qword [rsp + 0xe0]
shr rax, 0x20
mov dword [rsp + 0xc98], eax
lea rdx, [rsp + 0xd00]
lea rcx, [rsp + 0x190]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [rdx + 0x18], rax
mov rax, qword [rcx + 0x20]
mov qword [rdx + 0x20], rax
mov rax, qword [rcx + 0x28]
mov qword [rdx + 0x28], rax
lea rdx, [rsp + 0xd30]
lea rcx, [rsp + 0x150]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [rdx + 0x18], rax
mov rax, qword [rcx + 0x20]
mov qword [rdx + 0x20], rax
mov rax, qword [rcx + 0x28]
mov qword [rdx + 0x28], rax
mov rax, qword [rcx + 0x30]
mov qword [rdx + 0x30], rax
mov rax, qword [rcx + 0x38]
mov qword [rdx + 0x38], rax
lea r8, str._HP_Smart_Install_Utility
mov edx, 0x100
lea rcx, [rsp + 0xa98]
call fcn.140052920
mov dword [rsp + 0xa7c], r15d
mov dword [rsp + 0xa80], 1
lea rcx, [rsp + 0x990]
call fcn.140029360
cmp eax, 0x78
je 0x14000bcab
lea rdx, [rsp + 0xe38]
lea rcx, [rsp + 0xb0]
call fcn.14000c8d0
mov word [rsp + 0x5d30], 0
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rsp + 0x5d32]
call fcn.140057420
lea rdi, str.Not_Installed
mov r8, qword [rsp + 0xb8]
mov rsi, r8
mov ecx, SafeArrayGetDim
repe cmpsw word [rsi], word [rdi]
jne 0x14000b822
mov word [rsp + 0x5d30], 0
mov r8, qword [rsp + 0xc0]
test r8, r8
je 0x14000b843
mov edx, 0x100
lea rcx, [rsp + 0x5d30]
call fcn.140052920
jmp 0x14000b843
mov word [rsp + 0x5d30], 0
test r8, r8
je 0x14000b843
mov edx, 0x100
lea rcx, [rsp + 0x5d30]
call fcn.140052920
mov r8d, 4
lea rdx, str.USB_
lea rcx, [rsp + 0x5d30]
call fcn.140053ac0
test eax, eax
je 0x14000b90e
mov dword [rsp + 0x204a], r15d
mov dword [rsp + 0x4908], 0xffffffff
mov word [rsp + 0x77b0], 0
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rsp + 0x77b2]
call fcn.140057420
lea r8, [rsp + 0xfc0]
lea rdx, [rsp + 0x5d30]
lea rcx, [rsp + 0x2040]
call fcn.140004b70
test eax, eax
jne 0x14000b8ea
call fcn.14000d730
mov rcx, rax
lea rdx, str.ERROR__GetPrinterName___failed
call fcn.14000d860
call fcn.14000d730
mov rcx, rax
lea r8, str.Unable_to_communicate_with_the_printer.
mov edx, gethostbyname
call fcn.14000de20
jmp 0x14000b9ad
mov word [rsp + 0x77b0], 0
lea r8, [rsp + 0xfc0]
mov edx, 0x100
lea rcx, [rsp + 0x77b0]
call fcn.140052920
xor r8d, r8d
mov edx, 0x81
lea rcx, [rsp + 0x220]
call fcn.140028954
lea rsi, [0x140088d78]
mov qword [rsp + 0x220], rsi
mov dword [rsp + 0x30c], 1
mov dword [rsp + 0x314], r15d
lea r8, [rsp + 0x5d30]
mov edx, 0x100
lea rcx, [rsp + 0x318]
call fcn.140052920
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x318]
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
mov eax, dword [rsp + 0x30c]
cmovne eax, r15d
mov dword [rsp + 0x30c], eax
lea rcx, [rsp + 0x220]
call fcn.140029360
nop
mov qword [rsp + 0x220], rsi
lea rcx, [rsp + 0x220]
call fcn.14002884c
nop
lea rcx, [rsp + 0x990]
call fcn.140024e70
nop
lea rcx, [rsp + 0x1d8]
call fcn.140028028
nop
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000b9ed
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000ba11
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000ba35
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000ba5a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000ba7b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000ba9c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000babd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000badf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rbx, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
mov qword [rsp + 0x78], rbx
mov rdi, qword [rsp + 0x80]
test rdi, rdi
je 0x14000bb8c
nop
mov rdx, qword [rdi + 0x28]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000bb20
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rdi + 0x20]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000bb40
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rdi + 0x18]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000bb60
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rdi + 0x10]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000bb80
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rdi]
test rdi, rdi
jne 0x14000bb00
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x98], r15
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x80], r15
mov rcx, qword [rsp + 0xa0]
call fcn.140033fa4
lea rcx, str.DataSection
lea rdx, str.DestinationDirs
lea rdi, str.CopyFiles
lea rsi, str.DriverFile
lea r8, str.ConfigFile
lea r9, str.DataFile
lea r10, str.DefaultDataType
lea r11, str.HelpFile
lea rbp, str.LanguageMonitor
lea r12, str.PrintProcessor
jmp 0x14000a210
mov ecx, 0x80004005
call fcn.140007e00
nop
mov ecx, 0x80070057
call fcn.140007e00
nop
mov ecx, 0x80070057
call fcn.140007e00
nop
mov ecx, 0x80070057
call fcn.140007e00
int3
mov ecx, 0x80070057
call fcn.140007e00
nop
mov ecx, 0x80004005
call fcn.140007e00
nop
call fcn.140028390
nop
mov ecx, 0x80070057
call fcn.140007e00
int3
mov ecx, 0x80070057
call fcn.140007e00
nop
mov ecx, 0x80004005
call fcn.140007e00
nop
mov ecx, 0x80070057
call fcn.140007e00
int3
mov ecx, 0x80070057
call fcn.140007e00
nop
mov ecx, 0x80004005
call fcn.140007e00
nop
call fcn.140028390
nop
mov ecx, 0x80004005
call fcn.140007e00
nop
call fcn.140007df0
int3
call fcn.140028390
int3
lea rcx, [rsp + 0x990]
call fcn.140024e70
nop
lea rcx, [rsp + 0x1d8]
call fcn.140028028
nop
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000bceb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000bd0f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000bd33
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000bd58
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000bd79
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000bd9a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000bdbb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000bddd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rax, method.CList_class_IControlSiteFactory____ptr64__class_IControlSiteFactory____ptr64_.virtual_0
mov qword [rsp + 0x78], rax
mov rdi, qword [rsp + 0x80]
test rdi, rdi
je 0x14000be8c
nop
nop
mov rdx, qword [rdi + 0x28]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000be20
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rdi + 0x20]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000be40
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rdi + 0x18]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000be60
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rdi + 0x10]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000be80
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rdi]
test rdi, rdi
jne 0x14000be00
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x98], r15
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x80], r15
mov rcx, qword [rsp + 0xa0]
call fcn.140033fa4
mov qword [rsp + 0xa0], r15
lea rcx, [rsp + 0x100]
call fcn.140028028
jmp 0x14000bf28
mov ecx, 0x80004005
call fcn.140007e00
int3
mov ecx, 0x80004005
call fcn.140007e00
int3
mov ecx, 0x80004005
call fcn.140007e00
int3
mov ecx, 0x80004005
call fcn.140007e00
nop
mov ecx, 0x80004005
call fcn.140007e00
int3
mov ecx, 0x80004005
call fcn.140007e00
int3
mov ecx, 0x80004005
call fcn.140007e00
int3
mov ecx, 0x80004005
call fcn.140007e00
nop
mov rcx, qword [rsp + 0x7bd0]
xor rcx, rsp
call fcn.1400524a0
lea r11, [rsp + 0x7be0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret