Function at 0x140022600
Capabilities:
Delete registry key

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f10]
mov eax, 0x2010
call fcn.14019e810
sub rsp, rax
mov qword [rbp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x2060], rbx
mov rax, qword [0x14026fdb0]
xor rax, rsp
mov qword [rbp + 0x1f00], rax
mov r12, rdx
mov r15, rcx
xor r8d, r8d
lea rdx, str.Tool_DeleteNetworkPrinter
lea rcx, [rsp + 0x50]
call fcn.140001190
nop
xor edi, edi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r12
mov r9, r15
lea r8, str.lpszPrinter___s__lpszVersion___s__bJob___d__bDebug___d
mov r14d, 1
mov edx, r14d
lea rcx, [rsp + 0x50]
call fcn.140001370
call fcn.140059f20
mov rcx, qword [rax + 8]
call fcn.14005a4ac
nop
xor edx, edx
mov r8d, 0x860
lea rcx, [rbp + 0x16a0]
call fcn.14019d7c0
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x44], edi
mov r13d, edi
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x240]
call fcn.14019d7c0
xor edx, edx
mov r8d, 0x410
lea rcx, [rbp + 0x450]
call fcn.14019d7c0
mov dword [rbp - 0x54], edi
mov dword [rbp - 0x58], r14d
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x78], r14d
call fcn.140059f20
mov rbx, qword [rax + 8]
mov qword [rbp - 0x78], rbx
xor r9d, r9d
xor r8d, r8d
mov edx, r14d
mov rcx, r15
call fcn.140023ca0
cmp eax, r14d
jne 0x140022748
lea r9d, [rdi + 3]
lea r8, str.return___08x
lea edx, [rdi + 2]
lea rcx, [rsp + 0x50]
call fcn.140001370
nop
lea rcx, [rsp + 0x40]
call fcn.14000f190
nop
lea rcx, [rsp + 0x50]
call fcn.140001320
lea eax, [rdi + 3]
jmp 0x140023592
mov dword [rbp - 0x70], edi
test r15, r15
je 0x140022763
mov rax, qword [rbx + 0x7a0]
mov rcx, r15
call qword [rax + 0x148]
mov dword [rbp - 0x70], eax
lea rax, [rsp + 0x44]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor edx, edx
lea ecx, [rdx + 4]
lea r8d, [r9 + 2]
call qword [sym.imp.WINSPOOL.DRV_EnumPrintersW]
test eax, eax
jne 0x1400227d3
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x1400227d3
mov r9d, r14d
lea r8, str.return___08x
mov edx, 2
lea rcx, [rsp + 0x50]
call fcn.140001370
nop
lea rcx, [rsp + 0x40]
call fcn.14000f190
nop
lea rcx, [rsp + 0x50]
call fcn.140001320
mov eax, r14d
jmp 0x140023592
mov edx, dword [rsp + 0x48]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rsi, rax
test rax, rax
jne 0x14002281f
mov r9d, r14d
lea r8, str.return___08x
lea edx, [rax + 2]
lea rcx, [rsp + 0x50]
call fcn.140001370
nop
lea rcx, [rsp + 0x40]
call fcn.14000f190
nop
lea rcx, [rsp + 0x50]
call fcn.140001320
mov eax, r14d
jmp 0x140023592
lea rax, [rsp + 0x44]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x20], eax
mov r9, rsi
xor edx, edx
lea ecx, [rdx + 4]
lea r8d, [rdx + 2]
call qword [sym.imp.WINSPOOL.DRV_EnumPrintersW]
test eax, eax
je 0x1400228a1
mov r13d, edi
cmp dword [rsp + 0x44], edi
jbe 0x1400228a1
lea rdi, [rsi + 8]
nop
mov rdx, r15
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x140022883
inc r13d
add rdi, 0x88
cmp r13d, dword [rsp + 0x44]
jb 0x140022860
jmp 0x14002289f
mov edx, r13d
imul rdx, rdx, 0x88
mov rdx, qword [rdx + rsi + 0x20]
lea rcx, [rbp + 0x450]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
xor edi, edi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
xor edx, edx
mov r8d, 0x820
lea rcx, [rbp + 0xe80]
call fcn.14019d7c0
mov dword [rbp - 0x68], edi
lea r8, [rbp - 0x68]
lea rdx, [rbp + 0xe80]
mov rcx, r15
call fcn.140015b60
mov dword [rsp + 0x20], edi
xor r9d, r9d
mov r8d, dword [rbx + 0x7a8]
mov rdx, r15
lea rcx, [rbx + 0x790]
call fcn.140050ff0
test eax, eax
je 0x140022960
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.return___08x
mov edx, 2
lea rcx, [rsp + 0x50]
cmp eax, 5
jne 0x14002293a
lea r9d, [rdx + 2]
call fcn.140001370
nop
lea rcx, [rsp + 0x40]
call fcn.14000f190
nop
lea rcx, [rsp + 0x50]
call fcn.140001320
mov eax, 4
jmp 0x140023592
mov r9d, r14d
call fcn.140001370
nop
lea rcx, [rsp + 0x40]
call fcn.14000f190
nop
lea rcx, [rsp + 0x50]
call fcn.140001320
mov eax, r14d
jmp 0x140023592
call fcn.140059f20
mov rcx, qword [rax + 8]
call fcn.14005a4ec
call fcn.140056384
mov rdx, rax
mov ecx, edi
test rax, rax
setne cl
test ecx, ecx
jne 0x14002298d
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x50], rax
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x28]
call fcn.1400054e0
lea rdx, [rbp - 0x50]
mov rcx, rax
call fcn.140025570
call fcn.140056384
mov rdx, rax
mov ecx, edi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400229d9
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x68], rbx
call fcn.140056384
mov rdx, rax
mov ecx, edi
test rax, rax
setne cl
test ecx, ecx
jne 0x140022a0a
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
mov rdx, r15
lea rcx, [rbp - 0x80]
call fcn.1400054e0
nop
mov rdx, r12
lea rcx, [rbp - 0x60]
call fcn.1400054e0
nop
mov dword [rbp - 0x6c], edi
xor eax, eax
lea rdi, [0x140220448]
mov rsi, qword [rbp - 0x78]
mov rsi, qword [rsi + 0x788]
mov ecx, 4
repe cmpsw word [rsi], word [rdi]
je 0x140022a5c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
or r12d, 0xffffffff
test al, al
je 0x140022a79
mov rcx, r15
call fcn.14002fbe0
mov dword [rbp - 0x6c], eax
jmp 0x140022cbe
mov rax, qword [rbp - 0x80]
mov r8d, dword [rax - 0x10]
dec r8d
lea rdx, [rbp - 8]
lea rcx, [rbp - 0x80]
call fcn.140012140
nop
mov rsi, qword [rbp - 0x78]
mov r8, rax
lea rdx, [rsi + 0x1d8]
lea rcx, [rbp + 8]
call fcn.140012280
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140022b04
cmp dword [rbx + 0x10], 0
jl 0x140022af5
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140022af5
call fcn.140006db0
mov rdi, rax
mov ecx, r12d
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140022aea
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x68], rax
jmp 0x140022b04
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x68]
call fcn.1400059f0
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140022b24
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140022b43
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsi + 0x1d8]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x70]
lea rsi, [rdi - 0x18]
cmp rcx, rsi
je 0x140022baa
cmp dword [rsi + 0x10], 0
jl 0x140022b97
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x140022b97
call fcn.140006db0
mov rdi, rax
mov ecx, r12d
lock xadd dword [rsi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140022b8c
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rdi, 0x18
mov qword [rsp + 0x70], rdi
jmp 0x140022baa
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x70]
call fcn.1400059f0
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, 0xffffffff80000001
call fcn.1400222d0
mov rdx, rsi
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rdx, r15
lea rcx, [rbp + 0x10]
call fcn.1400054e0
nop
mov edx, 0x5c
mov rcx, rsi
call fcn.14019a074
test rax, rax
jne 0x140022bf2
mov eax, r12d
jmp 0x140022bf8
sub rax, rsi
sar rax, 1
mov r8d, eax
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x68]
call fcn.1400121e0
nop
mov rsi, qword [rbp + 0x18]
mov rdx, rsi
mov rcx, 0xffffffff80000001
call fcn.1400224a0
cmp eax, 1
jne 0x140022c32
mov rdx, rsi
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rdx, rdi
mov rcx, 0xffffffff80000001
call fcn.1400224a0
cmp eax, 1
jne 0x140022c83
mov rdx, rdi
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000001
call fcn.1400224a0
cmp eax, 1
jne 0x140022c83
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
nop
lea rdx, [rsi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140022c9f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140022cbe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x44]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
xor esi, esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor edx, edx
xor ecx, ecx
lea r8d, [rsi + 3]
call qword [sym.imp.WINSPOOL.DRV_EnumPrinterDriversW]
test eax, eax
jne 0x140022dd7
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x140022dd7
mov r9d, r14d
lea r8, str.return___08x
lea edx, [rsi + 2]
lea rcx, [rsp + 0x50]
call fcn.140001370
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140022d38
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140022d58
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140022d79
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140022d9a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x140022dba
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x40]
call fcn.14000f190
nop
lea rcx, [rsp + 0x50]
call fcn.140001320
mov eax, r14d
jmp 0x140023592
mov edx, dword [rsp + 0x48]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rdi, rax
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x140022ecd
mov r9d, r14d
lea r8, str.return___08x
lea edx, [rax + 2]
lea rcx, [rsp + 0x50]
call fcn.140001370
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140022e2e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140022e4e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140022e6f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140022e90
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x140022eb0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x40]
call fcn.14000f190
nop
lea rcx, [rsp + 0x50]
call fcn.140001320
mov eax, r14d
jmp 0x140023592
lea rax, [rsp + 0x44]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x20], eax
mov r9, rdi
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 3]
call qword [sym.imp.WINSPOOL.DRV_EnumPrinterDriversW]
test eax, eax
je 0x140022f36
mov r13d, esi
cmp dword [rsp + 0x44], esi
jbe 0x140022f36
add rdi, 8
nop dword [rax + rax]
lea rdx, [rbp + 0x450]
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x140022f32
inc r13d
add rdi, 0x50
cmp r13d, dword [rsp + 0x44]
jb 0x140022f10
mov rdi, qword [rbp - 0x40]
call fcn.1400166e0
mov dword [rbp - 0x48], eax
cmp eax, 6
je 0x140022f4c
cmp eax, 0xa
jne 0x14002325c
mov ecx, r13d
lea rbx, [rcx + rcx*4]
shl rbx, 4
add rbx, rdi
mov rdx, r15
mov rcx, qword [rbx + 8]
call fcn.140021b10
test eax, eax
jne 0x14002325c
lea rdx, [rbp + 0x240]
mov rcx, rbx
call fcn.1400220b0
mov dword [rsp + 0x60], eax
mov word [rbp + 0x30], si
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x32]
call fcn.14019d7c0
mov r15, rsi
mov qword [rbp - 0x28], rsi
mov r13, rsi
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], rsi
mov rsi, qword [rbp - 0x78]
cmp dword [rsi + 0xa84], 0
je 0x140023006
call fcn.140019870
lea rcx, str.SPOOLER
call fcn.140019a70
call fcn.14001f9a0
xor ecx, ecx
cmp eax, 0xb
sete cl
mov dword [rsi + 0xa84], ecx
lea rcx, [rbp - 0x28]
call fcn.14000cb60
lea rdx, [rbp - 0x28]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x30]
mov rcx, qword [rbx + 8]
call fcn.14002af70
mov r13, qword [rbp - 0x20]
mov r15, qword [rbp - 0x28]
call fcn.14002db90
test eax, eax
je 0x140023026
cmp eax, 2
je 0x14002301c
mov edx, dword [rbx]
mov dword [rsp + 0x4c], edx
jmp 0x14002302c
mov dword [rsp + 0x4c], 5
jmp 0x14002302c
mov eax, dword [rbx]
mov dword [rsp + 0x4c], eax
xor eax, eax
lea rdi, str.CAPT
mov rsi, qword [rsi + 0x788]
mov ecx, 5
repe cmpsw word [rsi], word [rdi]
je 0x14002304b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
mov rsi, qword [rbp - 0x78]
test al, al
je 0x140023078
cmp dword [rsi + 0x810], 0
je 0x140023078
call fcn.140030770
mov ecx, dword [rsp + 0x78]
test eax, eax
mov eax, 0
cmove ecx, eax
mov dword [rsp + 0x78], ecx
mov eax, dword [rbp - 0x68]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0xe80]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsi + 0x7a8]
mov r8, qword [rbx + 8]
mov edx, dword [rsp + 0x4c]
lea rcx, [rsi + 0x790]
call fcn.140050960
xor ecx, ecx
mov edi, ecx
test eax, eax
sete dil
mov dword [rbp - 0x58], edi
test edi, edi
je 0x1400230e2
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
lea r9, [0x1402209ac]
mov r8d, r14d
lea rdx, [rbp + 0x30]
lea rcx, [0x1402209ac]
call fcn.14002af70
mov r13, qword [rbp - 0x20]
mov r15, qword [rbp - 0x28]
cmp edi, 1
jne 0x14002311c
cmp dword [rbp - 0x48], 0xa
jne 0x140023101
lea rcx, [rsi + 0x2b0]
mov r8, qword [rbx + 8]
mov rdx, qword [rcx + 0x10]
call fcn.14005920c
cmp dword [rsp + 0x60], 0
jne 0x14002311c
mov rdx, qword [rbx + 0x40]
lea rcx, [rbp + 0x240]
call fcn.1400235c0
mov dword [rbp - 0x54], r14d
mov dword [rsp + 0x4c], r14d
mov dword [rsp + 0x60], r14d
test r15, r15
je 0x140023166
mov rdi, r15
cmp r15, r13
je 0x14002315e
xor eax, eax
cmp qword [rdi + 0x18], 8
jb 0x140023146
mov rcx, qword [rdi]
call fcn.14005605c
xor eax, eax
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rax
mov word [rdi], ax
add rdi, 0x28
cmp rdi, r13
jne 0x140023135
mov rcx, r15
call fcn.14005605c
mov rax, qword [rsi + 0x260]
cmp dword [rax + 0x88], 0
jne 0x14002325c
mov rcx, qword [rbx + 8]
call fcn.140017f40
test eax, eax
je 0x1400231ca
call fcn.140018650
xor edi, edi
mov qword [rbp - 0x38], rdi
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x2011f
xor r8d, r8d
lea rdx, str.SOFTWARECanonVDCSETUPVDCUser
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400231cc
mov ebx, edi
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1400231d0
xor edi, edi
mov ebx, dword [rsp + 0x4c]
call fcn.14001d4a0
test eax, eax
je 0x140023266
call fcn.14001cf50
mov qword [rbp - 0x30], rdi
mov word [rbp + 0x860], di
xor edx, edx
mov r8d, 0x616
lea rcx, [rbp + 0x862]
call fcn.14019d7c0
lea r9, str.DIASUser
lea r8, str.SOFTWARECanonDIASSETUP
lea rdx, str._s_s
lea rcx, [rbp + 0x860]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rdx, [rbp - 0x30]
mov qword [rsp + 0x20], rdx
mov r9d, 0x2011f
xor r8d, r8d
lea rdx, [rbp + 0x860]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140023266
mov r14d, edi
mov rcx, qword [rbp - 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140023266
mov ebx, r14d
cmp dword [rsp + 0x60], 0
je 0x14002326f
call fcn.140030320
mov esi, eax
jmp 0x140023272
mov esi, r14d
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [rbp - 0x54], 0
je 0x140023293
call fcn.140019870
lea rcx, str.SPOOLER
call fcn.140019a70
mov rdi, qword [rbp - 0x50]
add rdi, 0xffffffffffffffe8
mov rcx, rdi
call fcn.140006db0
add rax, 0x18
mov qword [rbp], rax
lea rcx, [rbp]
call fcn.140026290
cmp dword [rbp - 0x70], 1
jne 0x1400232e3
lea rcx, [rbp + 0x16a0]
call fcn.140023f00
cmp eax, 1
jne 0x1400232e3
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x7a0]
lea rcx, [rbp + 0x16a0]
call qword [rax + 0x110]
cmp dword [rbp - 0x58], 0
jne 0x1400233c5
mov r9d, 6
lea r8, str.return___08x
lea edx, [r9 - 4]
lea rcx, [rsp + 0x50]
call fcn.140001370
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140023329
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140023349
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002336a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002338b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lock xadd dword [rdi + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x1400233a6
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x40]
call fcn.14000f190
nop
lea rcx, [rsp + 0x50]
call fcn.140001320
mov eax, 6
jmp 0x140023592
test ebx, ebx
je 0x1400234bf
test r14d, r14d
je 0x1400234bf
test esi, esi
je 0x1400234bf
cmp dword [rsp + 0x78], 0
je 0x1400234bf
mov esi, dword [rbp - 0x6c]
mov r9d, esi
lea r8, str.return___08x
mov edx, 2
lea rcx, [rsp + 0x50]
call fcn.140001370
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140023426
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140023446
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140023467
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140023488
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lock xadd dword [rdi + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x1400234a3
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x40]
call fcn.14000f190
nop
lea rcx, [rsp + 0x50]
call fcn.140001320
mov eax, esi
jmp 0x140023592
mov r9d, 5
lea r8, str.return___08x
lea edx, [r9 - 3]
lea rcx, [rsp + 0x50]
call fcn.140001370
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400234fb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002351b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002353c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002355d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lock xadd dword [rdi + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x140023578
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x40]
call fcn.14000f190
nop
lea rcx, [rsp + 0x50]
call fcn.140001320
mov eax, 5
mov rcx, qword [rbp + 0x1f00]
xor rcx, rsp
call fcn.140198b40
mov rbx, qword [rsp + 0x2060]
add rsp, 0x2010
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret