Function at 0x100145f3
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1014b3ce
mov eax, dword fs:[0]
push eax
sub esp, 0xb20
mov eax, dword [0x101fe1c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xb1c], edi
mov dword [ebp - 0xb28], edi
xorps xmm0, xmm0
mov dword [ebp - 0xb2c], 0
xor eax, eax
mov dword [ebp - 0x54], vtable.RefCounted.0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], vtable.ORegistryKey.0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x30], 1
mov dword [ebp - 0x2c], 0x85
push str.SOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdate
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 1
call fcn.100111ba
mov esi, eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x10014964
cmp dword [ebp - 0x38], 7
lea eax, [ebp - 0x4c]
jbe 0x100146a7
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [ebp - 0x3c], 0
mov word [eax], cx
mov eax, dword [0x10207478]
mov dword [ebp - 0xb1c], eax
test eax, eax
je 0x100149b6
cmp dword [esi + 0x10], 0xff
ja 0x100149de
lea eax, [ebp - 0xb18]
mov dword [ebp - 0xb18], ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_IsWow64Process]
test eax, eax
je 0x10014a03
cmp dword [ebp - 0xb18], 1
mov ecx, 0x20119
mov eax, 0x20019
cmove eax, ecx
cmp dword [esi + 0x14], 7
mov ecx, esi
jbe 0x10014713
mov ecx, dword [esi]
lea edx, [ebp - 0x34]
push edx
push eax
push 0
push ecx
push dword [ebp - 0xb1c]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x10014a31
lea eax, [ebp - 0x4c]
mov edx, esi
push eax
mov ecx, 0x10207460
call fcn.1000a0de
mov cl, 1
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x58]
mov byte [ebp - 0xb11], cl
cmp eax, 7
jbe 0x10014783
mov ecx, dword [ebp - 0x6c]
lea eax, [eax*2 + 2]
mov dword [ebp - 0xb1c], eax
mov dword [ebp - 0xb18], ecx
cmp eax, 0x1000
jae 0x10014a38
push ecx
call fcn.1003bf94
mov cl, byte [ebp - 0xb11]
add esp, 4
test cl, cl
je 0x100149a5
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
xor eax, eax
mov dword [ebp - 0x14], 7
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x28], ax
push str.SusClientId
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 4
call fcn.100111ba
mov esi, eax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x34]
test edx, edx
sete cl
test cl, cl
jne 0x10014a54
cmp dword [esi + 0x14], 7
mov dword [ebp - 0xb24], 1
mov dword [ebp - 0xb20], 0
jbe 0x100147e9
mov eax, dword [esi]
lea ecx, [ebp - 0xb20]
push ecx
push 0
lea ecx, [ebp - 0xb24]
push ecx
push 0
push eax
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, 2
jne 0x100148a0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x58]
cmp eax, 7
jbe 0x10014842
mov ecx, dword [ebp - 0x6c]
lea eax, [eax*2 + 2]
mov dword [ebp - 0xb1c], eax
mov dword [ebp - 0xb18], ecx
cmp eax, 0x1000
jae 0x10014aab
push ecx
call fcn.1003bf94
add esp, 4
xorps xmm0, xmm0
xor eax, eax
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
movups xmm0, xmmword [ebp - 0x28]
mov dword [edi + 0x14], 0
mov word [ebp - 0x28], ax
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0x18]
movq qword [edi + 0x10], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
lea ecx, [ebp - 0x54]
call fcn.10015fbc
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10033218
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xb24]
cmp ecx, 1
jne 0x10014a79
test eax, eax
jne 0x10014a87
cmp dword [ebp - 0x14], 7
lea eax, [ebp - 0x28]
jbe 0x100148c3
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov dword [ebp - 0x18], 0
mov word [eax], cx
mov eax, dword [ebp - 0xb20]
cmp eax, 2
jbe 0x1001480c
mov ecx, dword [ebp - 0x18]
shr eax, 1
dec eax
cmp eax, ecx
ja 0x10014981
cmp dword [ebp - 0x14], 7
lea ecx, [ebp - 0x28]
jbe 0x100148f8
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x18], eax
mov word [ecx + eax*2], dx
cmp dword [ebp - 0x14], 7
lea ecx, [ebp - 0x28]
jbe 0x1001490d
mov ecx, dword [ebp - 0x28]
cmp dword [esi + 0x14], 7
mov eax, esi
jbe 0x10014917
mov eax, dword [esi]
lea edx, [ebp - 0xb20]
push edx
push ecx
lea ecx, [ebp - 0xb24]
push ecx
push 0
push eax
push dword [ebp - 0x34]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x10014a87
mov eax, dword [ebp - 0xb20]
mov ecx, dword [ebp - 0x18]
shr eax, 1
dec eax
cmp eax, ecx
ja 0x10014993
cmp dword [ebp - 0x14], 7
lea ecx, [ebp - 0x28]
jbe 0x10014956
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x18], eax
mov word [ecx + eax*2], dx
jmp 0x1001480c
cmp byte [ebp - 0x30], 0
je 0x1001469b
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x34], 0
jmp 0x1001469b
sub eax, ecx
lea ecx, [ebp - 0x28]
push 0
push eax
call fcn.1001100c
jmp 0x10014901
sub eax, ecx
lea ecx, [ebp - 0x28]
push 0
push eax
call fcn.1001100c
jmp 0x1001480c
push 0x1015b7b8
mov ecx, edi
call fcn.100111ba
jmp 0x1001487b
push str.ORegistryKey.Open_failure:_Parent_key_is_NULL
push 0x3a
push 0x30303030
lea ecx, [ebp - 0x784]
call fcn.1006259a
push 0x101ebb90
lea eax, [ebp - 0x784]
push eax
call fcn.100357e4
push esi
sub esp, 8
lea ecx, [ebp - 0xb10]
push 0x30303030
call fcn.1006277b
push 0x101ebb90
lea eax, [ebp - 0xb10]
push eax
call fcn.100357e4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.error_calling_IsWow64Process__
push eax
push ecx
push 0x30303030
lea ecx, [ebp - 0x3f8]
call fcn.100582ec
push 0x101ebb90
lea eax, [ebp - 0x3f8]
push eax
call fcn.100357e4
xor cl, cl
jmp 0x10014741
lea edx, [ebp - 0xb1c]
lea ecx, [ebp - 0xb18]
call fcn.100179ed
mov ecx, dword [ebp - 0xb18]
jmp 0x10014774
push esi
sub esp, 8
lea ecx, [ebp - 0x3f8]
push 0x30303030
call fcn.100626d9
push 0x101ebb90
lea eax, [ebp - 0x3f8]
push eax
call fcn.100357e4
cmp ecx, 2
jne 0x1001480c
jmp 0x100148af
push esi
lea ecx, [ebp - 0x4c]
push ecx
push ecx
push eax
push ecx
lea ecx, [ebp - 0x3f8]
call fcn.100626b7
push 0x101ebb90
lea eax, [ebp - 0x3f8]
push eax
call fcn.100357e4
lea edx, [ebp - 0xb1c]
lea ecx, [ebp - 0xb18]
call fcn.100179ed
mov ecx, dword [ebp - 0xb18]
jmp 0x10014839