Function at 0x140019870
Capabilities:
Delete registry key

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov r13, rdx
mov r14, rcx
call fcn.1400696cc
mov rcx, rax
xor edi, edi
mov r8d, edi
test rax, rax
setne r8b
test r8d, r8d
jne 0x1400198b6
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x80], rbx
mov rcx, qword [r13]
cmp dword [rcx - 0x10], 0
jle 0x140019a9f
mov dx, 0xa
call fcn.1400804a0
test rax, rax
je 0x140019a9f
sub rax, qword [r13]
sar rax, 1
cmp eax, 0xffffffff
je 0x140019a9f
or ebp, 0xffffffff
nop
nop
mov rcx, qword [r13]
test edi, edi
js 0x140019a5f
cmp edi, dword [rcx - 0x10]
jge 0x140019a5f
movsxd rax, edi
lea rcx, [rcx + rax*2]
mov dx, 0xa
call fcn.1400804a0
mov rsi, rax
test rax, rax
je 0x140019a5f
sub rsi, qword [r13]
sar rsi, 1
test esi, esi
jle 0x140019a5f
mov r9d, esi
sub r9d, edi
mov r8d, edi
lea rdx, [rsp + 0x88]
mov rcx, r13
call fcn.140003560
nop
mov rdx, qword [rax]
lea rdi, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rdi, rbx
je 0x140019a1a
cmp dword [rbx + 0x10], 0
jl 0x140019a08
mov rcx, qword [rdi]
cmp rcx, qword [rbx]
jne 0x140019a08
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x1400199a2
cmp rax, qword [rdi]
jne 0x1400199a2
mov r12, rdi
lock add dword [rdi + 0x10], 1
jmp 0x1400199df
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov r12, rax
test rax, rax
je 0x140019a59
mov ecx, dword [rdi + 8]
mov dword [rax + 8], ecx
mov ecx, dword [rdi + 8]
add ecx, 1
movsxd rdx, ecx
lea r9, [rdx + rdx]
lea r8, [rdi + 0x18]
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.140080540
mov eax, ebp
lock xadd dword [rbx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400199f9
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [r12 + 0x18]
mov qword [rsp + 0x80], rax
jmp 0x140019a1a
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x80]
call fcn.140003c40
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140019a3d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x80]
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea edi, [rsi + 1]
jmp 0x140019900
call fcn.1400019f0
nop
lea rdx, [rbx - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140019a7b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [r13]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], ebp
add ebp, 0xffffffff
test ebp, ebp
jg 0x140019a98
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
jmp 0x140019adc
lea rdx, [rbx - 0x18]
or ebp, 0xffffffff
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
test eax, eax
jg 0x140019abd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [r13]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], ebp
add ebp, 0xffffffff
test ebp, ebp
jg 0x140019ada
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret