Function at 0x14003f9a0
Capabilities:
Delete registry key

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r13
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
mov qword [rbp + 0x27], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov rbx, rdx
xor r8d, r8d
lea rdx, str.CUNINSTALLERDlg::CleanUpRegistryEveryNetWorkPrinterForFax
lea rcx, [rbp + 0xf]
call fcn.140017fc0
nop
mov r9, rbx
lea r8, str.lpszPrinter___s
mov edx, 1
lea rcx, [rbp + 0xf]
call fcn.140017c80
call fcn.140051e58
mov rcx, rax
xor edi, edi
mov eax, edi
test rcx, rcx
setne al
test eax, eax
jne 0x14003fa16
mov ecx, 0x80004005
call fcn.140001010
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x77], rax
call fcn.140051e58
mov rcx, rax
mov eax, edi
test rcx, rcx
setne al
test eax, eax
jne 0x14003fa43
mov ecx, 0x80004005
call fcn.140001010
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x7f], rax
call fcn.140051e58
mov rcx, rax
mov eax, edi
test rcx, rcx
setne al
test eax, eax
jne 0x14003fa70
mov ecx, 0x80004005
call fcn.140001010
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x59], rax
call fcn.140054cb8
mov r13, qword [rax + 8]
mov rdx, rbx
lea rcx, [rbp - 0x41]
call fcn.1400020c0
nop
mov rax, qword [rbp - 0x41]
mov r14d, dword [rax - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x51]
call fcn.1400020c0
nop
mov edx, 0x5c
mov rcx, qword [rbp - 0x51]
call fcn.140193dc0
or esi, 0xffffffff
test rax, rax
jne 0x14003fac3
mov eax, esi
jmp 0x14003faca
sub rax, qword [rbp - 0x51]
sar rax, 1
lea r8d, [rax + 1]
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 0x51]
call fcn.140018290
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp - 0x51]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14003fb38
cmp dword [rbx + 0x10], 0
jl 0x14003fb2a
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14003fb2a
call fcn.140001950
mov r12, rax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x14003fb1f
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 - 0x51], rax
jmp 0x14003fb38
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x51]
call fcn.140001c20
nop
mov rdx, qword [rbp - 0x19]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003fb56
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140051e58
mov rcx, rax
test rax, rax
setne dil
test edi, edi
jne 0x14003fb74
mov ecx, 0x80004005
call fcn.140001010
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x49], rax
mov rcx, qword [rbp - 0x51]
add rcx, 0xffffffffffffffe8
call fcn.140001950
add rax, 0x18
mov qword [rbp - 0x29], rax
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x29]
call fcn.14001de40
lea rdx, str.NONE
mov rcx, qword [rbp - 0x49]
call fcn.1401936c8
test eax, eax
je 0x14003fe53
lea rdx, [r13 + 0x1d8]
lea r8, [0x1401cde60]
lea rcx, [rbp + 0x1f]
call fcn.140007ed0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x7f]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14003fc2f
cmp dword [rbx + 0x10], 0
jl 0x14003fc21
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14003fc21
call fcn.140001950
mov rdi, rax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x14003fc17
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 0x14003fc2f
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x7f]
call fcn.140001c20
nop
mov rdx, qword [rbp + 0x1f]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003fc4d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8d, [r14 - 1]
lea rdx, [rbp + 7]
lea rcx, [rbp - 0x41]
call fcn.140017e80
nop
mov r8, rax
lea rdx, [rbp + 0x7f]
lea rcx, [rbp - 0x39]
call fcn.1400182c0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x77]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14003fccb
cmp dword [rbx + 0x10], 0
jl 0x14003fcbd
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14003fcbd
call fcn.140001950
mov rdi, rax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x14003fcb3
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 0x14003fccb
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x77]
call fcn.140001c20
nop
mov rdx, qword [rbp - 0x39]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003fcea
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 7]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003fd08
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 0x5c
mov rbx, qword [rbp + 0x77]
mov rcx, rbx
call fcn.140193dc0
test rax, rax
jne 0x14003fd22
mov eax, esi
jmp 0x14003fd28
sub rax, rbx
sar rax, 1
mov r8d, eax
lea rdx, [rbp - 9]
lea rcx, [rbp + 0x77]
call fcn.140017f20
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp - 0x59]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14003fd94
cmp dword [rbx + 0x10], 0
jl 0x14003fd86
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14003fd86
call fcn.140001950
mov rdi, rax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x14003fd7c
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 - 0x59], rax
jmp 0x14003fd94
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x59]
call fcn.140001c20
nop
mov rdx, qword [rbp - 9]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003fdb2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rbp + 0x77]
mov rdx, rdi
mov rcx, 0xffffffff80000001
call fcn.140018e80
mov rdx, rdi
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rbx, qword [rbp - 0x59]
mov rdx, rbx
mov rcx, 0xffffffff80000001
call fcn.140019030
cmp eax, 1
jne 0x14003fdfd
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.140019030
cmp eax, 1
jne 0x14003fe5b
mov rdx, rbx
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000001
call fcn.140019030
cmp eax, 1
jne 0x14003fe5b
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
jmp 0x14003fe5b
mov rdi, qword [rbp + 0x77]
mov rbx, qword [rbp + 0x7f]
mov rdx, qword [r13 + 0x1d8]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14003feb9
cmp dword [rbx + 0x10], 0
jl 0x14003feac
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14003feac
call fcn.140001950
mov rdi, rax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x14003fe9e
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
mov rdi, qword [rbp + 0x77]
jmp 0x14003feb9
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x7f]
call fcn.140001c20
lea r8d, [r14 - 1]
lea rdx, [rbp - 0x21]
lea rcx, [rbp - 0x41]
call fcn.140017e80
nop
mov r8, rax
lea rdx, [r13 + 0x1d8]
lea rcx, [rbp - 0x31]
call fcn.1400182c0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x14003ff36
cmp dword [rdi + 0x10], 0
jl 0x14003ff28
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14003ff28
call fcn.140001950
mov rbx, rax
mov eax, esi
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x14003ff1e
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 + 0x77], rax
jmp 0x14003ff36
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x77]
call fcn.140001c20
nop
mov rdx, qword [rbp - 0x31]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ff55
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x21]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ff73
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 0x5c
mov rbx, qword [rbp + 0x77]
mov rcx, rbx
call fcn.140193dc0
test rax, rax
jne 0x14003ff8d
mov eax, esi
jmp 0x14003ff93
sub rax, rbx
sar rax, 1
mov r8d, eax
lea rdx, [rbp - 0x11]
lea rcx, [rbp + 0x77]
call fcn.140017f20
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp - 0x59]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14003ffff
cmp dword [rbx + 0x10], 0
jl 0x14003fff1
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14003fff1
call fcn.140001950
mov rdi, rax
mov eax, esi
lock xadd dword [rbx + 0x10], eax
dec eax
test eax, eax
jg 0x14003ffe7
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 - 0x59], rax
jmp 0x14003ffff
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x59]
call fcn.140001c20
nop
mov rdx, qword [rbp - 0x11]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14004001d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rbp + 0x77]
mov rdx, rbx
mov rcx, 0xffffffff80000001
call fcn.140018e80
mov rdx, rbx
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rbx, qword [rbp - 0x59]
mov rdx, rbx
mov rcx, 0xffffffff80000001
call fcn.140019030
cmp eax, 1
jne 0x140040068
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.140019030
cmp eax, 1
jne 0x1400400bc
mov rdx, rbx
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000001
call fcn.140019030
cmp eax, 1
jne 0x1400400bc
lea rdx, str.SOFTWARECANON_
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov rcx, qword [rbp - 0x49]
add rcx, 0xffffffffffffffe8
call fcn.140001950
add rax, 0x18
mov qword [rbp - 1], rax
lea rcx, [rbp - 1]
call fcn.14001ce10
mov r9d, 1
lea r8, str.return___08x
lea edx, [r9 + 1]
lea rcx, [rbp + 0xf]
call fcn.140017c80
nop
mov rdx, qword [rbp - 0x49]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140040114
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 0x140040133
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 0x140040152
mov rcx, qword [rdx]
mov rax, qword [rcx]
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 0x140040171
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 0x140040190
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x77]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x1400401ae
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
lea rcx, [rbp + 0xf]
call fcn.140018150
mov eax, 1
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret