Function at 0x14002a320
Capabilities:
Check if file exists
Delete directory
Delete file
Delete registry key
Delete registry value
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x118]
sub rsp, 0x218
mov qword [rbp + 0x108], 0xfffffffffffffffe
mov r12, rcx
mov rax, qword [rcx]
call qword [rax + 0x28]
cmp eax, 1
je 0x14002bbf9
xor r13d, r13d
mov qword [rbp - 8], r13
mov dword [rbp], r13d
mov qword [rbp + 8], r13
mov qword [rbp + 0x60], r13
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001f
xor r8d, r8d
lea r15, str.SOFTWARESony_CorporationVAIO_Update
mov rdx, r15
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
or esi, 0xffffffff
test eax, eax
jne 0x14002a715
mov rax, qword [rbp + 0x60]
mov qword [rbp - 8], rax
mov dword [rbp], r13d
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
test r15, 0xffffffffffff0000
jne 0x14002a3f7
movzx edi, r15w
xor edx, edx
mov ecx, edi
call fcn.1400017e0
test rax, rax
je 0x14002a40f
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140001f70
jmp 0x14002a40a
mov r8d, 0x25
mov rdx, r15
lea rcx, [rsp + 0x40]
call fcn.140001e80
mov rbx, qword [rsp + 0x40]
lea r8, [0x1400ddd20]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x90]
call fcn.140002ce0
nop
lea r8, str.WriteHistoryForSelfUpdate
mov rdx, rax
lea rcx, [rbp + 0xe8]
call fcn.140002ce0
nop
mov r14, qword [rax]
lea rcx, [r14 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x14002a5a5
cmp dword [rdi + 0x10], 0
jl 0x14002a491
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14002a491
call fcn.140001b90
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14002a483
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [r8 + 8]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x40], rax
jmp 0x14002a5a5
movsxd r12, dword [r14 - 0x10]
test r12d, r12d
jne 0x14002a4fc
mov r12, qword [rdi]
cmp dword [rdi + 8], 0
je 0x14002a59e
cmp dword [rdi + 0x10], 0
jge 0x14002a4cb
cmp dword [rbx - 0xc], 0
jge 0x14002a4be
mov ecx, 0x80070057
call fcn.140001000
int3
mov dword [rbx - 0x10], r13d
mov word [rbx], r13w
jmp 0x14002a59e
mov eax, esi
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x14002a4e4
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 8]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
jmp 0x14002a59e
test r14, r14
jne 0x14002a50c
mov ecx, 0x80070057
call fcn.140001000
int3
mov r15d, dword [rbx - 0x10]
mov r13, r14
sub r13, rbx
sar r13, 1
test r12d, r12d
jns 0x14002a529
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, r12d
or eax, ecx
jge 0x14002a54d
mov edx, r12d
lea rcx, [rsp + 0x40]
call fcn.140001c20
mov rbx, qword [rsp + 0x40]
lea rdi, [r12 + r12]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
mov r9, rdi
add rdx, rdx
cmp r13, r15
ja 0x14002a56f
lea r8, [rbx + r13*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x14002a578
mov r8, r14
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp r12d, dword [rbx - 0xc]
jg 0x14002a593
mov dword [rbx - 0x10], r12d
xor r13d, r13d
mov word [rdi + rbx], r13w
lea r15, str.SOFTWARESony_CorporationVAIO_Update
jmp 0x14002a59e
mov ecx, 0x80070057
call fcn.140001000
int3
mov r12, qword [rbp + 0x160]
mov rdx, qword [rbp + 0xe8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002a5c7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002a5e8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r9d, 0x2001f
mov rbx, qword [rsp + 0x40]
mov r8, rbx
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 8]
call fcn.140008440
mov rdi, qword [rbp - 8]
test eax, eax
jne 0x14002a6e5
mov dword [rbp + 0x170], r13d
mov dword [rbp - 0x10], 4
lea rax, [rbp - 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x170]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xc0]
xor r8d, r8d
lea rdx, str.NeedWrite
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea rdx, str.NeedWrite
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp dword [rbp + 0x170], 1
jne 0x14002a6d5
mov dword [rbp + 0x178], r13d
mov dword [rbp - 0xc], 4
lea rax, [rbp - 0xc]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x178]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xe0]
xor r8d, r8d
lea rdx, str.UpdateType
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea rdx, str.UpdateType
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov edx, dword [rbp + 0x178]
test edx, edx
je 0x14002a6d5
mov byte [r12 + 0x71], 1
mov rcx, qword [r12 + 0x30]
call fcn.140075610
mov byte [r12 + 0x71], 0
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
test rdi, rdi
je 0x14002a6f7
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp - 8], r13
mov dword [rbp], r13d
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002a715
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rbp - 0x48], r13
mov dword [rbp - 0x40], r13d
mov qword [rbp - 0x38], r13
mov qword [rbp + 0x50], r13
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001f
xor r8d, r8d
mov rdx, r15
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14002abb6
mov rax, qword [rbp + 0x50]
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x40], r13d
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
test r15, 0xffffffffffff0000
jne 0x14002a7a2
movzx edi, r15w
xor edx, edx
mov ecx, edi
call fcn.1400017e0
test rax, rax
je 0x14002a7ba
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140001f70
jmp 0x14002a7b5
mov r8d, 0x25
mov rdx, r15
lea rcx, [rsp + 0x38]
call fcn.140001e80
mov rbx, qword [rsp + 0x38]
lea r8, [0x1400ddd20]
lea rdx, [rsp + 0x38]
lea rcx, [rbp + 0xa0]
call fcn.140002ce0
nop
lea r8, str.SelfUpdateFilePath
mov rdx, rax
lea rcx, [rbp + 0xd0]
call fcn.140002ce0
nop
mov r14, qword [rax]
lea rcx, [r14 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x14002a944
cmp dword [rdi + 0x10], 0
jl 0x14002a837
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14002a837
call fcn.140001b90
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14002a82e
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [r8 + 8]
lea rax, [rbx + 0x18]
jmp 0x14002a93f
movsxd r12, dword [r14 - 0x10]
test r12d, r12d
jne 0x14002a89d
mov r12, qword [rdi]
cmp dword [rdi + 8], 0
je 0x14002a944
cmp dword [rdi + 0x10], 0
jge 0x14002a871
cmp dword [rbx - 0xc], 0
jge 0x14002a864
mov ecx, 0x80070057
call fcn.140001000
int3
mov dword [rbx - 0x10], r13d
mov word [rbx], r13w
jmp 0x14002a944
mov eax, esi
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x14002a88a
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 8]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x18]
add rax, 0x18
jmp 0x14002a93f
test r14, r14
jne 0x14002a8ad
mov ecx, 0x80070057
call fcn.140001000
int3
mov r15d, dword [rbx - 0x10]
mov r13, r14
sub r13, rbx
sar r13, 1
test r12d, r12d
jns 0x14002a8ca
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, r12d
or eax, ecx
jge 0x14002a8ee
mov edx, r12d
lea rcx, [rsp + 0x38]
call fcn.140001c20
mov rbx, qword [rsp + 0x38]
lea rdi, [r12 + r12]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
mov r9, rdi
add rdx, rdx
cmp r13, r15
ja 0x14002a910
lea r8, [rbx + r13*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x14002a919
mov r8, r14
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp r12d, dword [rbx - 0xc]
jg 0x14002a934
mov dword [rbx - 0x10], r12d
xor r13d, r13d
mov word [rdi + rbx], r13w
lea r15, str.SOFTWARESony_CorporationVAIO_Update
jmp 0x14002a944
mov ecx, 0x80070057
call fcn.140001000
int3
mov qword [rsp + 0x38], rax
mov rdx, qword [rbp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002a966
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002a987
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r9d, 0x2001f
mov r8, qword [rsp + 0x38]
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x48]
call fcn.140008440
test eax, eax
jne 0x14002ab80
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x58], rbx
mov dword [rsp + 0x78], r13d
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x14]
xor r8d, r8d
lea rdx, str.VUSelfPatchPath
mov r12, qword [rbp - 0x48]
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002ab66
mov eax, dword [rbp + 0x14]
cmp eax, 1
je 0x14002aa0b
cmp eax, 2
jne 0x14002ab66
mov edi, dword [rsp + 0x78]
shr edi, 1
jns 0x14002aa1e
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14002aa3e
mov edx, edi
lea rcx, [rbp - 0x58]
call fcn.140001c20
mov rbx, qword [rbp - 0x58]
lea eax, [rdi + rdi]
mov dword [rbp - 0x70], eax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x40]
xor r8d, r8d
lea rdx, str.VUSelfPatchPath
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002aa89
mov eax, dword [rbp + 0x40]
cmp eax, 1
je 0x14002aa7a
cmp eax, 2
jne 0x14002aa89
test rbx, rbx
je 0x14002aa89
cmp dword [rbp - 0x70], 0
jne 0x14002aa89
mov word [rbx], r13w
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcsnlen]
test eax, eax
js 0x14002ab5b
cmp eax, dword [rbx - 0xc]
jg 0x14002ab5b
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], r13w
cmp dword [rbx - 0x10], 0
je 0x14002ab66
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14002ab37
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x14002ab37
mov edx, 0x5c
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcsrchr]
test rax, rax
jne 0x14002aaec
mov eax, esi
jmp 0x14002aaf2
sub rax, rbx
sar rax, 1
mov r8d, eax
lea rdx, [rbp + 0xd8]
lea rcx, [rbp - 0x58]
call fcn.140001d30
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov rdx, qword [rbp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002ab2f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rbp - 0x58]
mov r12, qword [rbp - 0x48]
lea rdx, str.VUSelfPatchPath
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rdx, qword [rsp + 0x38]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
jmp 0x14002ab66
mov ecx, 0x80070057
call fcn.140001000
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002ab80
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14002ab93
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp - 0x48], r13
mov dword [rbp - 0x40], r13d
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002abb6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov qword [rbp - 0x28], r13
mov dword [rbp - 0x20], r13d
mov qword [rbp - 0x18], r13
mov byte [rbp + 0x168], 0
mov qword [rbp + 0x58], r13
lea rax, [rbp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001f
xor r8d, r8d
mov rdx, r15
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14002baf4
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x20], r13d
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
mov rax, r15
shr rax, 0x10
mov qword [rbp + 0x30], rax
test rax, rax
jne 0x14002ac85
movzx edi, r15w
xor edx, edx
mov ecx, edi
call fcn.1400017e0
test rax, rax
je 0x14002ac9d
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140001f70
jmp 0x14002ac98
mov r8d, 0x25
mov rdx, r15
lea rcx, [rsp + 0x30]
call fcn.140001e80
mov rbx, qword [rsp + 0x30]
lea r8, [0x1400ddd20]
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0xf8]
call fcn.140002ce0
nop
lea r8, str.TaskManager
mov rdx, rax
lea rcx, [rbp + 0xb0]
call fcn.140002ce0
nop
mov r14, qword [rax]
lea rcx, [r14 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x14002ae20
cmp dword [rdi + 0x10], 0
jl 0x14002ad1a
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14002ad1a
call fcn.140001b90
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14002ad11
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [r8 + 8]
lea rax, [rbx + 0x18]
jmp 0x14002ae1b
movsxd r12, dword [r14 - 0x10]
test r12d, r12d
jne 0x14002ad80
mov r12, qword [rdi]
cmp dword [rdi + 8], 0
je 0x14002ae20
cmp dword [rdi + 0x10], 0
jge 0x14002ad54
cmp dword [rbx - 0xc], 0
jge 0x14002ad47
mov ecx, 0x80070057
call fcn.140001000
int3
mov dword [rbx - 0x10], r13d
mov word [rbx], r13w
jmp 0x14002ae20
mov eax, esi
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x14002ad6d
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 8]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x18]
add rax, 0x18
jmp 0x14002ae1b
test r14, r14
jne 0x14002ad90
mov ecx, 0x80070057
call fcn.140001000
int3
mov r15d, dword [rbx - 0x10]
mov r13, r14
sub r13, rbx
sar r13, 1
test r12d, r12d
jns 0x14002adad
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, r12d
or eax, ecx
jge 0x14002add1
mov edx, r12d
lea rcx, [rsp + 0x30]
call fcn.140001c20
mov rbx, qword [rsp + 0x30]
lea rdi, [r12 + r12]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
mov r9, rdi
add rdx, rdx
cmp r13, r15
ja 0x14002adf3
lea r8, [rbx + r13*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x14002adfc
mov r8, r14
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp r12d, dword [rbx - 0xc]
jg 0x14002ae10
mov dword [rbx - 0x10], r12d
xor r13d, r13d
mov word [rdi + rbx], r13w
jmp 0x14002ae20
mov ecx, 0x80070057
call fcn.140001000
int3
mov qword [rsp + 0x30], rax
mov rdx, qword [rbp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002ae42
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002ae63
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r9d, 0x2001f
mov r8, qword [rsp + 0x30]
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x28]
call fcn.140008440
test eax, eax
jne 0x14002ba52
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x70], rdi
mov dword [rbp - 0x60], r13d
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x1c]
xor r8d, r8d
lea rdx, str.Task
mov r15, qword [rbp - 0x28]
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002af9c
mov eax, dword [rbp + 0x1c]
cmp eax, 1
je 0x14002aee6
cmp eax, 2
jne 0x14002af9c
mov r12d, dword [rbp - 0x60]
shr r12d, 1
jns 0x14002aefa
mov ecx, 0x80070057
call fcn.140001000
int3
mov rbx, qword [rsp + 0x48]
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r12d
or eax, ecx
jge 0x14002af23
mov edx, r12d
lea rcx, [rsp + 0x48]
call fcn.140001c20
mov rbx, qword [rsp + 0x48]
lea eax, [r12 + r12]
mov dword [rbp - 0x68], eax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x38]
xor r8d, r8d
lea rdx, str.Task
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002af6f
mov eax, dword [rbp + 0x38]
cmp eax, 1
je 0x14002af60
cmp eax, 2
jne 0x14002af6f
test rbx, rbx
je 0x14002af6f
cmp dword [rbp - 0x68], 0
jne 0x14002af6f
mov word [rbx], r13w
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcsnlen]
test eax, eax
js 0x14002af91
cmp eax, dword [rbx - 0xc]
jg 0x14002af91
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], r13w
jmp 0x14002afa1
mov ecx, 0x80070057
call fcn.140001000
int3
mov rbx, qword [rsp + 0x48]
mov dword [rbp - 0x50], r13d
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x24]
xor r8d, r8d
lea rdx, str.AppName
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002b0bc
mov eax, dword [rbp + 0x24]
cmp eax, 1
je 0x14002afe3
cmp eax, 2
jne 0x14002b0bc
mov r12d, dword [rbp - 0x50]
mov r13, qword [rbp + 0x160]
shr r12d, 1
jns 0x14002affe
mov ecx, 0x80070057
call fcn.140001000
int3
mov rax, qword [r13 + 0x38]
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, r12d
or eax, ecx
jge 0x14002b020
mov edx, r12d
lea rcx, [r13 + 0x38]
call fcn.140001c20
mov r14, qword [r13 + 0x38]
lea eax, [r12 + r12]
mov dword [rbp - 0x78], eax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x48]
xor r8d, r8d
lea rdx, str.AppName
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002b075
mov eax, dword [rbp + 0x48]
cmp eax, 1
je 0x14002b061
cmp eax, 2
jne 0x14002b075
xor r12d, r12d
test r14, r14
je 0x14002b078
cmp dword [rbp - 0x78], r12d
jne 0x14002b078
mov word [r14], r12w
jmp 0x14002b078
xor r12d, r12d
mov rcx, qword [r13 + 0x38]
test rcx, rcx
jne 0x14002b086
mov eax, r12d
jmp 0x14002b094
movsxd rdx, dword [rcx - 0xc]
call qword [sym.imp.MSVCR100.dll_wcsnlen]
test eax, eax
js 0x14002b0b1
mov rcx, qword [r13 + 0x38]
cmp eax, dword [rcx - 0xc]
jg 0x14002b0b1
mov dword [rcx - 0x10], eax
movsxd rcx, eax
mov rax, qword [r13 + 0x38]
xor r13d, r13d
mov word [rax + rcx*2], r13w
jmp 0x14002b0bc
mov ecx, 0x80070057
call fcn.140001000
int3
mov dword [rsp + 0x7c], r13d
mov dword [rbp + 0x10], 4
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xf0]
xor r8d, r8d
lea rdx, str.UpdateType
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r11d, dword [rsp + 0x7c]
mov r13, qword [rbp + 0x160]
test r11d, r11d
je 0x14002b10a
mov dword [r13 + 0x50], r11d
xor r12d, r12d
mov dword [rbp - 0x7c], r12d
mov dword [rbp + 0x18], 4
lea rax, [rbp + 0x18]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x7c]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x100]
xor r8d, r8d
lea rdx, str.VCTriggerType
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r11d, dword [rbp - 0x7c]
test r11d, r11d
je 0x14002b151
mov dword [r13 + 0x60], r11d
lea rdx, str.Install
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
jne 0x14002b186
cmp dword [r13 + 0x50], 0xb
jne 0x14002b186
lea r8d, [rax + 0xa]
lea rdx, str.ShowResult
lea rcx, [rsp + 0x48]
call fcn.140001e80
mov rbx, qword [rsp + 0x48]
lea rdx, str.ShowResult
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
jne 0x14002b85b
xor r14b, r14b
mov byte [rbp + 0x168], 1
lea rdx, str.Task
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov dword [rbp - 0x6c], r12d
lea rax, [rbp - 0x6c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x20]
xor r8d, r8d
lea rdx, str.AppStartupPath
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002b2a6
mov eax, dword [rbp + 0x20]
cmp eax, 1
je 0x14002b1fa
cmp eax, 2
jne 0x14002b2a6
mov ebx, dword [rbp - 0x6c]
shr ebx, 1
jns 0x14002b20c
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, ebx
or eax, ecx
jge 0x14002b22e
mov edx, ebx
lea rcx, [rsp + 0x70]
call fcn.140001c20
mov rdi, qword [rsp + 0x70]
lea eax, [rbx + rbx]
mov dword [rbp - 0x64], eax
lea rax, [rbp - 0x64]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x28]
xor r8d, r8d
lea rdx, str.AppStartupPath
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002b279
mov eax, dword [rbp + 0x28]
cmp eax, 1
je 0x14002b26a
cmp eax, 2
jne 0x14002b279
test rdi, rdi
je 0x14002b279
cmp dword [rbp - 0x64], r12d
jne 0x14002b279
mov word [rdi], r12w
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_wcsnlen]
test eax, eax
js 0x14002b29b
cmp eax, dword [rdi - 0xc]
jg 0x14002b29b
mov dword [rdi - 0x10], eax
cdqe
mov word [rdi + rax*2], r12w
jmp 0x14002b2a6
mov ecx, 0x80070057
call fcn.140001000
int3
mov dword [rbp - 0x80], r12d
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x44]
xor r8d, r8d
lea rdx, str.AppStartupOption
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002b3a6
mov eax, dword [rbp + 0x44]
cmp eax, 1
je 0x14002b2e8
cmp eax, 2
jne 0x14002b3a6
mov r12d, dword [rbp - 0x80]
shr r12d, 1
jns 0x14002b2fc
mov ecx, 0x80070057
call fcn.140001000
int3
mov rbx, qword [rsp + 0x58]
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r12d
or eax, ecx
jge 0x14002b325
mov edx, r12d
lea rcx, [rsp + 0x58]
call fcn.140001c20
mov rbx, qword [rsp + 0x58]
lea eax, [r12 + r12]
mov dword [rbp - 0x74], eax
lea rax, [rbp - 0x74]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x4c]
xor r8d, r8d
lea rdx, str.AppStartupOption
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14002b376
mov eax, dword [rbp + 0x4c]
cmp eax, 1
je 0x14002b362
cmp eax, 2
jne 0x14002b376
xor r12d, r12d
test rbx, rbx
je 0x14002b379
cmp dword [rbp - 0x74], r12d
jne 0x14002b379
mov word [rbx], r12w
jmp 0x14002b379
xor r12d, r12d
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcsnlen]
test eax, eax
js 0x14002b39b
cmp eax, dword [rbx - 0xc]
jg 0x14002b39b
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], r12w
jmp 0x14002b3a6
mov ecx, 0x80070057
call fcn.140001000
int3
lea rdx, str.AppName
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
lea rdx, str.AppStartupPath
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
lea rdx, str.AppStartupOption
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp dword [rdi - 0x10], 0
je 0x14002b3f1
xor r9d, r9d
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x70]
mov rcx, r13
call fcn.140023140
mov rcx, qword [r13 + 0x30]
call fcn.1400769c0
mov edx, dword [r13 + 0x50]
cmp edx, 1
jne 0x14002b62c
test al, al
je 0x14002b62c
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
cmp qword [rbp + 0x30], 0
jne 0x14002b45b
lea r15, str.SOFTWARESony_CorporationVAIO_Update
movzx ebx, r15w
xor edx, edx
mov ecx, ebx
call fcn.1400017e0
test rax, rax
je 0x14002b473
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.140001f70
jmp 0x14002b473
mov r8d, 0x25
lea rdx, str.SOFTWARESony_CorporationVAIO_Update
lea rcx, [rsp + 0x68]
call fcn.140001e80
nop
lea r8, [0x1400ddd20]
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0xc8]
call fcn.140002ce0
nop
lea r8, str.TaskManager
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.140002ce0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x68]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14002b502
cmp dword [rbx + 0x10], 0
jl 0x14002b4f3
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14002b4f3
call fcn.140001b90
mov rdi, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14002b4e8
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [r8 + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x68], rax
jmp 0x14002b502
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x68]
call fcn.140001e80
nop
mov rdx, qword [rbp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002b524
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002b545
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x68]
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov dword [rbp + 0x3c], Ordinal_17
lea rdx, [rbp + 0x3c]
mov rcx, r13
call fcn.14002a210
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002b589
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002b5a9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002b5c9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x14002b5d9
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002b5f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14002b617
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14002b627
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
jmp 0x14002bbea
cmp edx, 0xb
jne 0x14002b8b8
test al, al
je 0x14002b8b8
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
cmp qword [rbp + 0x30], 0
jne 0x14002b689
lea r15, str.SOFTWARESony_CorporationVAIO_Update
movzx ebx, r15w
xor edx, edx
mov ecx, ebx
call fcn.1400017e0
test rax, rax
je 0x14002b6a1
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.140001f70
jmp 0x14002b6a1
mov r8d, 0x25
lea rdx, str.SOFTWARESony_CorporationVAIO_Update
lea rcx, [rsp + 0x50]
call fcn.140001e80
nop
lea r8, [0x1400ddd20]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x98]
call fcn.140002ce0
nop
lea r8, str.TaskManager
mov rdx, rax
lea rcx, [rbp + 0x88]
call fcn.140002ce0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x50]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14002b730
cmp dword [rbx + 0x10], 0
jl 0x14002b721
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14002b721
call fcn.140001b90
mov rdi, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14002b716
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [r8 + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x50], rax
jmp 0x14002b730
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x50]
call fcn.140001e80
nop
mov rdx, qword [rbp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002b752
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002b773
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x50]
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, str.SOFTWARESony_CorporationVAIO_UpdatePatchListFromVUAX
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002b7b8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002b7d8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002b7f8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x14002b808
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002b828
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14002b846
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14002b856
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
jmp 0x14002bbea
lea rdx, str.Install
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll__wcsicmp]
mov rcx, qword [r13 + 0x30]
test eax, eax
jne 0x14002b8b0
xor r14b, r14b
call fcn.1400774d0
lea rdx, str.Task
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
lea rdx, str.UpdateType
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
lea rdx, str.VCTriggerType
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
jmp 0x14002ba2f
call fcn.1400769c0
mov r14b, 1
mov rax, qword [r13 + 0x38]
cmp dword [rax - 0x10], 0
jne 0x14002ba2f
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea r15, str.SOFTWARESony_CorporationVAIO_Update
cmp qword [rbp + 0x30], 0
jne 0x14002b912
movzx ebx, r15w
xor edx, edx
mov ecx, ebx
call fcn.1400017e0
test rax, rax
je 0x14002b926
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140001f70
jmp 0x14002b926
mov r8d, 0x25
mov rdx, r15
lea rcx, [rsp + 0x60]
call fcn.140001e80
nop
lea r8, [0x1400ddd20]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xb8]
call fcn.140002ce0
nop
lea r8, str.TaskManager
mov rdx, rax
lea rcx, [rbp + 0xa8]
call fcn.140002ce0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x60]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14002b9b5
cmp dword [rbx + 0x10], 0
jl 0x14002b9a6
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14002b9a6
call fcn.140001b90
mov rdi, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14002b99b
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [r8 + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x14002b9b5
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.140001e80
nop
mov rdx, qword [rbp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002b9d7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002b9f8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x60]
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002ba28
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rsp + 0x70]
jmp 0x14002ba36
lea r15, str.SOFTWARESony_CorporationVAIO_Update
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002ba5c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x14002ba5c
mov r14b, 1
lea r15, str.SOFTWARESony_CorporationVAIO_Update
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x14002ba74
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor r12d, r12d
mov qword [rbp - 0x28], r12
jmp 0x14002ba77
xor r12d, r12d
mov dword [rbp - 0x20], r12d
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002ba9a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
cmp byte [rbp + 0x168], 0
je 0x14002baeb
mov qword [rbp + 0x68], r12
mov dword [rbp + 0x70], r12d
mov qword [rbp + 0x78], r12
mov r9d, 0x2001f
mov r8, r15
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x68]
call fcn.140008440
test eax, eax
jne 0x14002badc
lea rdx, str.PatchListFromVUAX
lea rcx, [rbp + 0x68]
call fcn.140021ed0
mov rcx, qword [rbp + 0x68]
test rcx, rcx
je 0x14002baeb
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test r14b, r14b
je 0x14002bb8c
call fcn.140021f80
test al, al
je 0x14002bb8c
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x30]
mov r13, qword [rbp + 0x160]
mov rcx, r13
call fcn.1400241d0
test al, al
je 0x14002bb52
mov rax, qword [rbp - 0x30]
cmp dword [rax - 0x10], 0
je 0x14002bb6d
mov rax, qword [r13]
lea rdx, [r13 + 0x50]
xor r9d, r9d
lea r8, [rbp - 0x30]
mov rcx, r13
call qword [rax + reloc.ATL100.DLL_Ordinal_56]
jmp 0x14002bb6d
cmp dword [r13 + 0x50], 4
jne 0x14002bb6d
mov dword [rbp + 0x2c], Ordinal_17
lea rdx, [rbp + 0x2c]
mov rcx, r13
call fcn.14002a210
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002bb8c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x14002bb9c
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002bbbc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14002bbda
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14002bbea
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x14002bbf9
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, 1
add rsp, 0x218
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret