Function at 0x1400a3dd0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov word [rsp + 0x18], r8w
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
xor edi, edi
mov r13, r9
movzx esi, r8w
test r9, r9
je 0x1400a4140
or r12d, 0xffffffff
lea rcx, [0x14011d880]
mov word [r9], r12w
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rcx, [0x14011d880]
mov ebp, edi
add rax, 0x18
mov r15d, edi
mov qword [rsp + 0x48], rax
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rdx, str.SOFTWARESony_CorporationVAIO_UpdatePatchListFromVUAX
mov r9d, 0x2001f
lea rbx, [rax + 0x18]
lea rax, [rsp + 0x58]
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x40], 0x104
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x50], rbx
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400a40b5
mov rbp, qword [rsp + 0x58]
mov qword [rsp + 0x60], rbp
nop dword [rax + rax]
mov eax, dword [rbx - 0xc]
mov ecx, 1
sub ecx, dword [rbx - 8]
sub eax, 0x104
or ecx, eax
jge 0x1400a3eb8
lea rcx, [rsp + 0x50]
mov edx, 0x104
call fcn.140001c20
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
lea r9, [rsp + 0x40]
mov r8, rbx
mov edx, r15d
mov rcx, rbp
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, 0x103
je 0x1400a4094
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcsnlen]
test eax, eax
js 0x1400a4089
cmp eax, dword [rbx - 0xc]
jg 0x1400a4089
mov dword [rbx - 0x10], eax
cdqe
mov rbp, rbx
mov word [rbx + rax*2], di
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rbx - 0x10]
mov r12d, dword [rax - 0x10]
sub rbp, rax
mov r14, rbx
sar rbp, 1
test ecx, ecx
js 0x1400a407e
mov rdx, rcx
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcsnlen]
mov ecx, 0x7fffffff
sub ecx, eax
mov r13, rax
cmp ecx, r12d
jl 0x1400a4073
lea esi, [r12 + rax]
test esi, esi
js 0x1400a4068
mov rcx, qword [rsp + 0x48]
mov edx, 1
mov eax, dword [rcx - 0xc]
sub edx, dword [rcx - 8]
sub eax, esi
or edx, eax
jge 0x1400a3f85
lea rcx, [rsp + 0x48]
mov edx, esi
call fcn.140001c20
mov rcx, qword [rsp + 0x48]
cmp rbp, r12
ja 0x1400a3f8e
lea r14, [rcx + rbp*2]
movsxd rdx, r13d
lea rcx, [rcx + r12*2]
mov r8, r14
add rdx, rdx
mov r9, rdx
call qword [sym.imp.MSVCR100.dll_memcpy_s]
mov r11, qword [rsp + 0x48]
cmp esi, dword [r11 - 0xc]
jg 0x1400a405d
mov dword [r11 - 0x10], esi
mov rax, qword [rsp + 0x48]
movsxd rcx, esi
mov word [rax + rcx*2], di
lea rdx, reloc.ATL100.DLL_Ordinal_44
lea rcx, [rsp + 0x48]
mov r8d, 1
call fcn.140003c10
mov rsi, qword [rbx - 0x18]
cmp dword [rbx - 0x10], edi
lea rdx, [rbx - 0x18]
je 0x1400a3ff7
cmp dword [rdx + 0x10], edi
jge 0x1400a4010
cmp dword [rbx - 0xc], edi
jl 0x1400a4052
mov dword [rbx - 0x10], edi
mov word [rbx], di
mov rbp, qword [rsp + 0x60]
or r12d, 0xffffffff
mov dword [rsp + 0x40], 0x104
inc r15d
jmp 0x1400a3e90
or r12d, 0xffffffff
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400a402b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
mov rbp, qword [rsp + 0x60]
mov dword [rsp + 0x40], 0x104
lea rbx, [rax + 0x18]
inc r15d
mov qword [rsp + 0x50], rbx
jmp 0x1400a3e90
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
test rbp, rbp
je 0x1400a40a5
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbp, rdi
movzx esi, word [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
mov rcx, qword [0x14011e220]
mov dword [rsp + 0x44], Ordinal_17
test si, si
mov rax, qword [rcx]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x44]
setne r9b
call qword [rax + reloc.ATL100.DLL_Ordinal_56]
mov esi, edi
mov ecx, 0x80004005
test eax, eax
lea rdx, [rbx - 0x18]
mov eax, r12d
cmovs esi, ecx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400a4102
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test rbp, rbp
je 0x1400a4110
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x1400a4130
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test esi, esi
setne dil
dec di
mov word [r13], di
jmp 0x1400a4149
mov word [r9], di
mov esi, 0x80004005
mov eax, esi
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret