Function at 0x140027960
Capabilities:
Delete registry key

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov rdi, rcx
mov dword [rcx + 0x4c], 5
or esi, 0xffffffff
cmp dword [rcx + 0x50], 7
jne 0x140027a43
lea rcx, [rsp + 0x60]
call fcn.14009f810
nop
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x120], rax
mov rax, qword [rdi]
lea rdx, [rbp + 0x120]
mov rcx, rdi
call qword [rax + 0xe0]
mov r8d, 0x80004005
mov rdx, qword [rbp + 0x120]
lea rcx, [rsp + 0x60]
call fcn.1400a0350
nop
mov rdx, qword [rbp + 0x120]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140027a0e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp + 0xc8]
test rcx, rcx
je 0x140027a25
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rcx, [rbp + 0x50]
call fcn.14004bd80
nop
lea rcx, [rbp - 0x28]
call fcn.14004bd80
nop
lea rcx, [rsp + 0x60]
call fcn.14004bd80
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x118], rax
lea r14, str.SOFTWARESony_CorporationVAIO_Update
test r14, 0xffffffffffff0000
jne 0x140027a95
movzx ebx, r14w
xor edx, edx
mov ecx, ebx
call fcn.1400017e0
test rax, rax
je 0x140027aab
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x118]
call fcn.140001f70
jmp 0x140027aab
mov r8d, 0x25
mov rdx, r14
lea rcx, [rbp + 0x118]
call fcn.140001e80
nop
lea r8, [0x1400ddd20]
lea rdx, [rbp + 0x118]
lea rcx, [rsp + 0x50]
call fcn.140002ce0
nop
lea r8, str.TaskManager
mov rdx, rax
lea rcx, [rbp + 0x128]
call fcn.140002ce0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x118]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140027b41
cmp dword [rbx + 0x10], 0
jl 0x140027b30
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140027b30
call fcn.140001b90
mov r12, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140027b22
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [r8 + 8]
lea rax, [r12 + 0x18]
mov qword [rbp + 0x118], rax
jmp 0x140027b41
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x118]
call fcn.140001e80
nop
mov rdx, qword [rbp + 0x128]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140027b63
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140027b82
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp + 0x118]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov r8d, 0x25
mov rdx, r14
lea rcx, [rbp + 0x118]
call fcn.140001e80
lea r8, [0x1400ddd20]
lea rdx, [rbp + 0x118]
lea rcx, [rsp + 0x40]
call fcn.140002ce0
nop
lea r8, str.SSUInfo
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140002ce0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x118]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140027c3f
cmp dword [rbx + 0x10], 0
jl 0x140027c2e
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140027c2e
call fcn.140001b90
mov r12, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140027c20
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [r8 + 8]
lea rax, [r12 + 0x18]
mov qword [rbp + 0x118], rax
jmp 0x140027c3f
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x118]
call fcn.140001e80
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140027c5f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140027c7e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rbp + 0x118]
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
xor r14d, r14d
mov dword [rbp + 0x110], r14d
mov rax, qword [rdi]
lea rdx, [rbp + 0x110]
mov rcx, rdi
call qword [rax + reloc.ATL100.DLL_Ordinal_32]
mov byte [rdi + 0x5c], r14b
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], r14
mov rax, qword [rdi]
lea r8, [rsp + 0x20]
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call qword [rax + 0x18]
mov dword [rdi + 0x60], r14d
mov eax, dword [rdi + 0x50]
cmp eax, 7
je 0x140027ce5
cmp eax, 8
jne 0x140027ce9
mov dword [rdi + 0x50], r14d
mov rdi, qword [rsp + 0x20]
test rdi, rdi
je 0x140027d3a
mov r12, qword [rsp + 0x28]
cmp rdi, r12
je 0x140027d32
nop dword [rax]
mov rdx, qword [rdi]
sub rdx, 0x18
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140027d1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
add rdi, 8
cmp rdi, r12
jne 0x140027d00
mov rbx, qword [rbp + 0x118]
mov rdi, qword [rsp + 0x20]
mov rcx, rdi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], r14
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x140027d61
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
add rsp, 0x1d0
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret