Function at 0x140048e80
Capabilities:
Delete registry key

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov qword [rbp + 0x1f], 0xfffffffffffffffe
mov rbx, rcx
xor r8d, r8d
lea rdx, str.CUNINSTALLERDlg::CleanUpRegistryEveryNetWorkPrinterForFax
lea rcx, [rbp + 7]
call fcn.140001190
nop
mov r9, rbx
lea r8, str.lpszPrinter___s
mov edx, 1
lea rcx, [rbp + 7]
call fcn.140001370
call fcn.140056384
mov rcx, rax
xor edi, edi
mov eax, edi
test rcx, rcx
setne al
test eax, eax
jne 0x140048eef
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x6f], rax
call fcn.140056384
mov rcx, rax
mov eax, edi
test rcx, rcx
setne al
test eax, eax
jne 0x140048f1c
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x77], rax
call fcn.140056384
mov rcx, rax
mov eax, edi
test rcx, rcx
setne al
test eax, eax
jne 0x140048f49
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x7f], rax
call fcn.140059f20
mov r13, qword [rax + 8]
mov rdx, rbx
lea rcx, [rbp - 0x51]
call fcn.1400054e0
nop
mov rax, qword [rbp - 0x51]
mov r14d, dword [rax - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x59]
call fcn.1400054e0
nop
mov edx, 0x5c
mov rcx, qword [rbp - 0x59]
call fcn.14019a074
or esi, 0xffffffff
test rax, rax
jne 0x140048f9c
mov eax, esi
jmp 0x140048fa3
sub rax, qword [rbp - 0x59]
sar rax, 1
lea r8d, [rax + 1]
lea rdx, [rbp - 1]
lea rcx, [rbp - 0x59]
call fcn.140012110
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp - 0x59]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140049011
cmp dword [rbx + 0x10], 0
jl 0x140049003
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140049003
call fcn.140006db0
mov r12, rax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x140048ff8
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [r12 + 0x18]
mov qword [rbp - 0x59], rax
jmp 0x140049011
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x59]
call fcn.1400059f0
nop
mov rdx, qword [rbp - 1]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004902f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140056384
mov rcx, rax
test rax, rax
setne dil
test edi, edi
jne 0x14004904d
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x49], rax
mov rcx, qword [rbp - 0x59]
add rcx, 0xffffffffffffffe8
call fcn.140006db0
add rax, 0x18
mov qword [rbp - 0x31], rax
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x31]
call fcn.140025570
lea rdx, str.NONE
mov rcx, qword [rbp - 0x49]
call fcn.140199570
test eax, eax
je 0x14004932c
lea rdx, [r13 + 0x1d8]
lea r8, str._FAX
lea rcx, [rbp + 0x17]
call fcn.140012330
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x77]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140049108
cmp dword [rbx + 0x10], 0
jl 0x1400490fa
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400490fa
call fcn.140006db0
mov rdi, rax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x1400490f0
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rdi + 0x18]
mov qword [rbp + 0x77], rax
jmp 0x140049108
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x77]
call fcn.1400059f0
nop
mov rdx, qword [rbp + 0x17]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140049126
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8d, [r14 - 1]
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x51]
call fcn.140012140
nop
mov r8, rax
lea rdx, [rbp + 0x77]
lea rcx, [rbp - 0x21]
call fcn.140012280
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x6f]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x1400491a4
cmp dword [rbx + 0x10], 0
jl 0x140049196
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140049196
call fcn.140006db0
mov rdi, rax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x14004918c
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rdi + 0x18]
mov qword [rbp + 0x6f], rax
jmp 0x1400491a4
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x6f]
call fcn.1400059f0
nop
mov rdx, qword [rbp - 0x21]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400491c3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x41]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400491e1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 0x5c
mov rbx, qword [rbp + 0x6f]
mov rcx, rbx
call fcn.14019a074
test rax, rax
jne 0x1400491fb
mov eax, esi
jmp 0x140049201
sub rax, rbx
sar rax, 1
mov r8d, eax
lea rdx, [rbp - 0x11]
lea rcx, [rbp + 0x6f]
call fcn.1400121e0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x7f]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14004926d
cmp dword [rbx + 0x10], 0
jl 0x14004925f
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14004925f
call fcn.140006db0
mov rdi, rax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x140049255
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rdi + 0x18]
mov qword [rbp + 0x7f], rax
jmp 0x14004926d
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x7f]
call fcn.1400059f0
nop
mov rdx, qword [rbp - 0x11]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004928b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rbp + 0x6f]
mov rdx, rdi
mov rcx, 0xffffffff80000001
call fcn.1400222d0
mov rdx, rdi
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rbx, qword [rbp + 0x7f]
mov rdx, rbx
mov rcx, 0xffffffff80000001
call fcn.1400224a0
cmp eax, 1
jne 0x1400492d6
mov rdx, rbx
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rbx, qword [rbp + 0x77]
mov rdx, rbx
mov rcx, 0xffffffff80000001
call fcn.1400224a0
cmp eax, 1
jne 0x140049334
mov rdx, rbx
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000001
call fcn.1400224a0
cmp eax, 1
jne 0x140049334
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
jmp 0x140049334
mov rdi, qword [rbp + 0x6f]
mov rbx, qword [rbp + 0x77]
mov rdx, qword [r13 + 0x1d8]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140049392
cmp dword [rbx + 0x10], 0
jl 0x140049385
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140049385
call fcn.140006db0
mov rdi, rax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x140049377
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rdi + 0x18]
mov qword [rbp + 0x77], rax
mov rdi, qword [rbp + 0x6f]
jmp 0x140049392
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x77]
call fcn.1400059f0
lea r8d, [r14 - 1]
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x51]
call fcn.140012140
nop
mov r8, rax
lea rdx, [r13 + 0x1d8]
lea rcx, [rbp - 0x39]
call fcn.140012280
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x14004940f
cmp dword [rdi + 0x10], 0
jl 0x140049401
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140049401
call fcn.140006db0
mov rbx, rax
mov eax, esi
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x1400493f7
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rbp + 0x6f], rax
jmp 0x14004940f
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x6f]
call fcn.1400059f0
nop
mov rdx, qword [rbp - 0x39]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004942e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x29]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004944c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 0x5c
mov rbx, qword [rbp + 0x6f]
mov rcx, rbx
call fcn.14019a074
test rax, rax
jne 0x140049466
mov eax, esi
jmp 0x14004946c
sub rax, rbx
sar rax, 1
mov r8d, eax
lea rdx, [rbp - 0x19]
lea rcx, [rbp + 0x6f]
call fcn.1400121e0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x7f]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x1400494d8
cmp dword [rbx + 0x10], 0
jl 0x1400494ca
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400494ca
call fcn.140006db0
mov rdi, rax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x1400494c0
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rdi + 0x18]
mov qword [rbp + 0x7f], rax
jmp 0x1400494d8
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x7f]
call fcn.1400059f0
nop
mov rdx, qword [rbp - 0x19]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400494f6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rbp + 0x6f]
mov rdx, rbx
mov rcx, 0xffffffff80000001
call fcn.1400222d0
mov rdx, rbx
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rbx, qword [rbp + 0x7f]
mov rdx, rbx
mov rcx, 0xffffffff80000001
call fcn.1400224a0
cmp eax, 1
jne 0x140049541
mov rdx, rbx
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rbx, qword [rbp + 0x77]
mov rdx, rbx
mov rcx, 0xffffffff80000001
call fcn.1400224a0
cmp eax, 1
jne 0x140049595
mov rdx, rbx
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000001
call fcn.1400224a0
cmp eax, 1
jne 0x140049595
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rbx, qword [rbp - 0x49]
lea rcx, [rbx - 0x18]
call fcn.140006db0
add rax, 0x18
mov qword [rbp - 9], rax
lea rcx, [rbp - 9]
call fcn.140026290
mov r9d, 1
lea r8, str.return___08x
lea edx, [r9 + 1]
lea rcx, [rbp + 7]
call fcn.140001370
nop
mov eax, esi
lock xadd dword [rbx - 8], eax
dec eax
test eax, eax
jg 0x1400495ea
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x59]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140049609
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x51]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140049628
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140049647
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140049666
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x6f]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x140049684
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
lea rcx, [rbp + 7]
call fcn.140001320
mov eax, 1
add rsp, 0xa0
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret