Function at 0x1400187c0
Capabilities:
Delete registry key

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f20]
mov eax, 0x2020
call fcn.140193d30
sub rsp, rax
mov qword [rbp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x2070], rbx
mov rax, qword [0x140260d50]
xor rax, rsp
mov qword [rbp + 0x1f10], rax
mov r12, rdx
mov r15, rcx
mov qword [rbp + 0x18], rcx
xor r8d, r8d
lea rdx, str.Tool_DeleteNetworkPrinter
lea rcx, [rsp + 0x50]
call fcn.14000b870
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.14000ba50
call fcn.140050920
mov rcx, qword [rax + 8]
call fcn.140059edc
nop
mov dword [rbp - 0x68], edi
mov dword [rbp - 0x70], r14d
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x78], r14d
call fcn.140050920
mov rbx, qword [rax + 8]
mov qword [rbp - 0x80], rbx
xor r9d, r9d
xor r8d, r8d
mov edx, r14d
mov rcx, r15
call fcn.140019df0
cmp eax, r14d
jne 0x1400188c5
lea r9d, [rdi + 3]
lea r8, str.return___08x
lea edx, [rdi + 2]
lea rcx, [rsp + 0x50]
call fcn.14000ba50
nop
lea rcx, [rsp + 0x40]
call fcn.14000b6e0
nop
lea rcx, [rsp + 0x50]
call fcn.14000ba00
lea eax, [rdi + 3]
jmp 0x14001971d
mov dword [rbp - 0x50], edi
test r15, r15
je 0x1400188e0
mov rax, qword [rbx + 0x7a8]
mov rcx, r15
call qword [rax + 0x148]
mov dword [rbp - 0x50], eax
xor edx, edx
mov r8d, 0x410
lea rcx, [rbp + 0x250]
call fcn.140193010
lea rdx, [rsp + 0x48]
mov qword [rsp + 0x30], rdx
lea rax, [rsp + 0x44]
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 0x140018964
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x140018964
mov r9d, r14d
lea r8, str.return___08x
mov edx, 2
lea rcx, [rsp + 0x50]
call fcn.14000ba50
nop
lea rcx, [rsp + 0x40]
call fcn.14000b6e0
nop
lea rcx, [rsp + 0x50]
call fcn.14000ba00
mov eax, r14d
jmp 0x14001971d
mov edx, dword [rsp + 0x44]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rsi, rax
test rax, rax
jne 0x1400189b0
mov r9d, r14d
lea r8, str.return___08x
lea edx, [rax + 2]
lea rcx, [rsp + 0x50]
call fcn.14000ba50
nop
lea rcx, [rsp + 0x40]
call fcn.14000b6e0
nop
lea rcx, [rsp + 0x50]
call fcn.14000ba00
mov eax, r14d
jmp 0x14001971d
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x44]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x44]
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 0x140018a35
mov r13d, edi
cmp dword [rsp + 0x48], edi
jbe 0x140018a39
lea rdi, [rsi + 8]
nop
mov rdx, r15
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x140018a15
inc r13d
add rdi, 0x88
cmp r13d, dword [rsp + 0x48]
jb 0x1400189f0
xor edi, edi
jmp 0x140018a39
mov edx, r13d
imul rdx, rdx, 0x88
mov rdx, qword [rdx + rsi + 0x20]
lea rcx, [rbp + 0x250]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
xor edi, edi
jmp 0x140018a39
mov r13d, dword [rbp - 0x54]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
xor edx, edx
mov r8d, 0x820
lea rcx, [rbp + 0xe90]
call fcn.140193010
mov dword [rbp - 0x58], edi
lea r8, [rbp - 0x58]
lea rdx, [rbp + 0xe90]
mov rcx, r15
call fcn.14000aa70
mov dword [rsp + 0x20], edi
xor r9d, r9d
mov r8d, dword [rbx + 0x7b0]
mov rdx, r15
lea rcx, [rbx + 0x798]
call fcn.140047a60
test eax, eax
je 0x140018af8
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.return___08x
mov edx, 2
lea rcx, [rsp + 0x50]
cmp eax, 5
jne 0x140018ad2
lea r9d, [rdx + 2]
call fcn.14000ba50
nop
lea rcx, [rsp + 0x40]
call fcn.14000b6e0
nop
lea rcx, [rsp + 0x50]
call fcn.14000ba00
mov eax, 4
jmp 0x14001971d
mov r9d, r14d
call fcn.14000ba50
nop
lea rcx, [rsp + 0x40]
call fcn.14000b6e0
nop
lea rcx, [rsp + 0x50]
call fcn.14000ba00
mov eax, r14d
jmp 0x14001971d
call fcn.140050920
mov rcx, qword [rax + 8]
call fcn.140059f1c
call fcn.14004cde4
mov rdx, rax
mov ecx, edi
test rax, rax
setne cl
test ecx, ecx
jne 0x140018b25
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x48], rax
lea rdx, [rbp + 0x250]
lea rcx, [rbp + 0x28]
call fcn.140001110
lea rdx, [rbp - 0x48]
mov rcx, rax
call fcn.14001b680
call fcn.14004cde4
mov rdx, rax
mov ecx, edi
test rax, rax
setne cl
test ecx, ecx
jne 0x140018b71
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x68], rbx
call fcn.14004cde4
mov rdx, rax
mov ecx, edi
test rax, rax
setne cl
test ecx, ecx
jne 0x140018ba2
mov ecx, 0x80004005
call fcn.140001000
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 - 0x78]
call fcn.140001110
nop
mov rdx, r12
lea rcx, [rbp - 0x60]
call fcn.140001110
nop
mov dword [rbp - 0x6c], edi
xor eax, eax
lea rdi, [0x140214088]
mov rsi, qword [rbp - 0x80]
mov rsi, qword [rsi + 0x790]
mov ecx, 4
repe cmpsw word [rsi], word [rdi]
je 0x140018bf4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
or r12d, 0xffffffff
test al, al
je 0x140018c11
mov rcx, r15
call fcn.1400286f0
mov dword [rbp - 0x6c], eax
jmp 0x140018e56
mov rax, qword [rbp - 0x78]
mov r8d, dword [rax - 0x10]
dec r8d
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x78]
call fcn.1400166b0
nop
mov rsi, qword [rbp - 0x80]
mov r8, rax
lea rdx, [rsi + 0x1d8]
lea rcx, [rbp + 8]
call fcn.1400167f0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140018c9c
cmp dword [rbx + 0x10], 0
jl 0x140018c8d
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140018c8d
call fcn.140001620
mov rdi, rax
mov ecx, r12d
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140018c82
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 0x140018c9c
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x68]
call fcn.1400014d0
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140018cbc
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 0x140018cdb
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 0x140018d42
cmp dword [rsi + 0x10], 0
jl 0x140018d2f
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x140018d2f
call fcn.140001620
mov rdi, rax
mov ecx, r12d
lock xadd dword [rsi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140018d24
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 0x140018d42
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x70]
call fcn.1400014d0
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, 0xffffffff80000001
call fcn.1400184c0
mov rdx, rsi
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rdx, r15
lea rcx, [rbp - 8]
call fcn.140001110
nop
mov edx, 0x5c
mov rcx, rsi
call fcn.14018f7cc
test rax, rax
jne 0x140018d8a
mov eax, r12d
jmp 0x140018d90
sub rax, rsi
sar rax, 1
mov r8d, eax
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x68]
call fcn.140016750
nop
mov rsi, qword [rbp + 0x20]
mov rdx, rsi
mov rcx, 0xffffffff80000001
call fcn.140018670
cmp eax, 1
jne 0x140018dca
mov rdx, rsi
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rdx, rdi
mov rcx, 0xffffffff80000001
call fcn.140018670
cmp eax, 1
jne 0x140018e1b
mov rdx, rdi
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000001
call fcn.140018670
cmp eax, 1
jne 0x140018e1b
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 0x140018e37
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 0x140018e56
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x44]
mov qword [rsp + 0x28], rax
xor ebx, ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor edx, edx
xor ecx, ecx
lea r8d, [rbx + 3]
call qword [sym.imp.WINSPOOL.DRV_EnumPrinterDriversW]
test eax, eax
jne 0x140018f6f
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x140018f6f
mov r9d, r14d
lea r8, str.return___08x
lea edx, [rbx + 2]
lea rcx, [rsp + 0x50]
call fcn.14000ba50
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140018ed0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140018ef0
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 0x140018f11
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 0x140018f32
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x140018f52
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x40]
call fcn.14000b6e0
nop
lea rcx, [rsp + 0x50]
call fcn.14000ba00
mov eax, r14d
jmp 0x14001971d
mov edx, dword [rsp + 0x44]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rdi, rax
mov qword [rbp - 0x38], rax
test rax, rax
jne 0x140019065
mov r9d, r14d
lea r8, str.return___08x
lea edx, [rax + 2]
lea rcx, [rsp + 0x50]
call fcn.14000ba50
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140018fc6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140018fe6
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 0x140019007
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 0x140019028
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x140019048
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x40]
call fcn.14000b6e0
nop
lea rcx, [rsp + 0x50]
call fcn.14000ba00
mov eax, r14d
jmp 0x14001971d
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x44]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x44]
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 0x1400190d6
mov r13d, ebx
cmp dword [rsp + 0x48], ebx
jbe 0x1400190d6
add rdi, 8
nop word [rax + rax]
lea rdx, [rbp + 0x250]
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x1400190d2
inc r13d
add rdi, 0x50
cmp r13d, dword [rsp + 0x48]
jb 0x1400190b0
mov rdi, qword [rbp - 0x38]
call fcn.14000cc50
mov dword [rbp - 0x54], eax
cmp eax, 6
je 0x1400190ec
cmp eax, 0xa
jne 0x1400193e7
mov ecx, r13d
lea r15, [rcx + rcx*4]
shl r15, 4
add r15, rdi
mov rdx, qword [rbp + 0x18]
mov rcx, qword [r15 + 8]
call fcn.140017d10
test eax, eax
jne 0x1400193e7
lea rdx, [rbp + 0x660]
mov rcx, r15
call fcn.1400182a0
mov dword [rsp + 0x60], eax
mov word [rbp + 0x40], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x42]
call fcn.140193010
mov qword [rbp - 0x28], rbx
mov r13, rbx
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], rbx
mov rsi, qword [rbp - 0x80]
cmp dword [rsi + 0xa8c], 0
je 0x1400191a0
call fcn.14000fc40
lea rcx, str.SPOOLER
call fcn.14000fe40
call fcn.140015c10
mov ecx, ebx
cmp eax, 0xb
sete cl
mov dword [rsi + 0xa8c], ecx
lea rcx, [rbp - 0x28]
call fcn.140008fd0
lea rdx, [rbp - 0x28]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x40]
mov rcx, qword [r15 + 8]
call fcn.140020ed0
mov r13, qword [rbp - 0x20]
call fcn.140023af0
test eax, eax
je 0x1400191b3
cmp eax, 2
mov ebx, 5
je 0x1400191b6
mov ebx, dword [r15]
xor eax, eax
lea rdi, str.CAPT
mov rsi, qword [rsi + 0x790]
mov ecx, 5
repe cmpsw word [rsi], word [rdi]
je 0x1400191d5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
mov rdi, qword [rbp - 0x80]
test al, al
je 0x140019204
cmp dword [rdi + 0x818], 0
je 0x140019204
call fcn.140029280
mov ecx, dword [rsp + 0x78]
test eax, eax
mov esi, 0
cmove ecx, esi
mov dword [rsp + 0x78], ecx
jmp 0x140019206
xor esi, esi
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0xe90]
mov qword [rsp + 0x20], rax
mov r9d, dword [rdi + 0x7b0]
mov r8, qword [r15 + 8]
mov edx, ebx
lea rcx, [rdi + 0x798]
call fcn.1400473d0
test eax, eax
sete sil
mov dword [rbp - 0x70], esi
test esi, esi
je 0x140019266
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
lea r9, [0x1402145dc]
mov r8d, r14d
lea rdx, [rbp + 0x40]
lea rcx, [0x1402145dc]
call fcn.140020ed0
mov r13, qword [rbp - 0x20]
cmp esi, 1
jne 0x1400192a0
cmp dword [rbp - 0x54], 0xa
jne 0x140019285
lea rcx, [rdi + 0x2b0]
mov r8, qword [r15 + 8]
mov rdx, qword [rcx + 0x10]
call fcn.14004fc0c
cmp dword [rsp + 0x60], 0
jne 0x1400192a0
mov rdx, qword [r15 + 0x40]
lea rcx, [rbp + 0x660]
call fcn.140019750
mov dword [rbp - 0x68], r14d
mov ebx, r14d
mov dword [rsp + 0x60], r14d
mov rsi, qword [rbp - 0x28]
test rsi, rsi
je 0x1400192f5
mov rdi, rsi
cmp rsi, r13
je 0x1400192e9
xor eax, eax
nop dword [rax + rax]
cmp qword [rdi + 0x18], 8
jb 0x1400192d1
mov rcx, qword [rdi]
call fcn.14004cabc
xor eax, eax
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rax
mov word [rdi], ax
add rdi, 0x28
cmp rdi, r13
jne 0x1400192c0
mov rcx, rsi
call fcn.14004cabc
mov rdi, qword [rbp - 0x80]
mov rax, qword [rdi + 0x260]
cmp dword [rax + 0x88], 0
jne 0x1400193e7
mov rcx, qword [r15 + 8]
call fcn.14000e470
test eax, eax
je 0x140019359
call fcn.14000eb20
xor edi, edi
mov qword [rbp - 0x40], rdi
lea rax, [rbp - 0x40]
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 0x14001935b
mov ebx, edi
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14001935b
xor edi, edi
call fcn.1400137e0
test eax, eax
je 0x1400193f1
call fcn.140013290
mov qword [rbp - 0x30], rdi
mov word [rbp + 0x870], di
xor edx, edx
mov r8d, 0x616
lea rcx, [rbp + 0x872]
call fcn.140193010
lea r9, str.DIASUser
lea r8, str.SOFTWARECanonDIASSETUP
lea rdx, str._s_s
lea rcx, [rbp + 0x870]
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 + 0x870]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400193f1
mov r14d, edi
mov rcx, qword [rbp - 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1400193f1
mov ebx, r14d
cmp dword [rsp + 0x60], 0
je 0x1400193fa
call fcn.140028e30
mov esi, eax
jmp 0x1400193fd
mov esi, r14d
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [rbp - 0x68], 0
je 0x14001941e
call fcn.14000fc40
lea rcx, str.SPOOLER
call fcn.14000fe40
mov rdi, qword [rbp - 0x48]
add rdi, 0xffffffffffffffe8
mov rcx, rdi
call fcn.140001620
add rax, 0x18
mov qword [rbp], rax
lea rcx, [rbp]
call fcn.14001c3a0
cmp dword [rbp - 0x50], 1
jne 0x14001946e
lea rcx, [rbp + 0x16b0]
call fcn.14001a050
cmp eax, 1
jne 0x14001946e
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x7a8]
lea rcx, [rbp + 0x16b0]
call qword [rax + 0x110]
cmp dword [rbp - 0x70], 0
jne 0x140019550
mov r9d, 6
lea r8, str.return___08x
lea edx, [r9 - 4]
lea rcx, [rsp + 0x50]
call fcn.14000ba50
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400194b4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400194d4
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 0x1400194f5
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 0x140019516
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 0x140019531
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.14000b6e0
nop
lea rcx, [rsp + 0x50]
call fcn.14000ba00
mov eax, 6
jmp 0x14001971d
test ebx, ebx
je 0x14001964a
test r14d, r14d
je 0x14001964a
test esi, esi
je 0x14001964a
cmp dword [rsp + 0x78], 0
je 0x14001964a
mov esi, dword [rbp - 0x6c]
mov r9d, esi
lea r8, str.return___08x
mov edx, 2
lea rcx, [rsp + 0x50]
call fcn.14000ba50
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400195b1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400195d1
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 0x1400195f2
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 0x140019613
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 0x14001962e
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.14000b6e0
nop
lea rcx, [rsp + 0x50]
call fcn.14000ba00
mov eax, esi
jmp 0x14001971d
mov r9d, 5
lea r8, str.return___08x
lea edx, [r9 - 3]
lea rcx, [rsp + 0x50]
call fcn.14000ba50
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140019686
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400196a6
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 0x1400196c7
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 0x1400196e8
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 0x140019703
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.14000b6e0
nop
lea rcx, [rsp + 0x50]
call fcn.14000ba00
mov eax, 5
mov rcx, qword [rbp + 0x1f10]
xor rcx, rsp
call fcn.14018e5d0
mov rbx, qword [rsp + 0x2070]
add rsp, 0x2020
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret