Function at 0x1000853d
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1030
call fcn.10022c40
push esi
push edi
lea edi, [ebp - 0x1030]
mov ecx, 0x40c
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov dword [ebp - 4], 0
mov esi, esp
lea eax, [ebp - 4]
push eax
push 8
push 0
push 0x100f3e40
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp esi, esp
call fcn.10021b10
test eax, eax
jne 0x100087fe
mov word [ebp - 0x804], 0
mov ecx, 0x1ff
xor eax, eax
lea edi, [ebp - 0x802]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x814], 0x800
mov ecx, 0x10107078
call fcn.100102a0
mov dword [ebp - 0x808], 0
mov esi, esp
lea ecx, [ebp - 0x810]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0x814]
push edx
lea eax, [ebp - 0x804]
push eax
mov ecx, dword [ebp - 0x808]
mov dword [ebp - 0x1030], ecx
mov edx, dword [ebp - 0x1030]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x808]
add ecx, 1
mov dword [ebp - 0x808], ecx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
cmp esi, esp
call fcn.10021b10
test eax, eax
jne 0x100087d3
mov dword [ebp - 0x814], 0x800
mov dword [ebp - 0x1018], 0
mov word [ebp - 0x1014], 0
mov ecx, 0x1ff
xor eax, eax
lea edi, [ebp - 0x1012]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov esi, esp
lea edx, [ebp - 0x804]
push edx
push 0x100f3e6c
push 0x100f3e98
lea eax, [ebp - 0x1014]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea ecx, [ebp - 0x1018]
push ecx
push 1
push 0
lea edx, [ebp - 0x1014]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp esi, esp
call fcn.10021b10
test eax, eax
jne 0x100087ce
push 0x190
call fcn.1006b3a0
add esp, 4
mov dword [ebp - 0x1028], eax
mov eax, dword [ebp - 0x1028]
mov dword [ebp - 0x1024], eax
push 0x190
push 0
mov ecx, dword [ebp - 0x1024]
push ecx
call fcn.10021ab0
add esp, 0xc
mov esi, esp
lea edx, [ebp - 0x804]
push edx
mov eax, dword [ebp - 0x1024]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp esi, esp
call fcn.10021b10
mov dword [ebp - 0x1020], 0xc8
mov esi, esp
lea ecx, [ebp - 0x1020]
push ecx
mov edx, dword [ebp - 0x1024]
add edx, 0xc8
push edx
lea eax, [ebp - 0x101c]
push eax
push 0
push 0x100f3ea4
mov ecx, dword [ebp - 0x1018]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp esi, esp
call fcn.10021b10
test eax, eax
jne 0x10008758
cmp dword [ebp - 0x101c], 1
jne 0x10008758
mov edx, dword [ebp - 0x1024]
xor eax, eax
mov ax, word [edx + 0xc8]
test eax, eax
jne 0x1000878e
mov ecx, dword [ebp - 0x1024]
mov dword [ebp - 0x102c], ecx
mov edx, dword [ebp - 0x102c]
push edx
call fcn.1006b3e9
add esp, 4
mov esi, esp
mov eax, dword [ebp - 0x1018]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, esp
call fcn.10021b10
jmp 0x100085c6
mov esi, esp
mov ecx, dword [ebp - 0x1018]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, esp
call fcn.10021b10
mov edx, dword [ebp - 0x1024]
push edx
mov ecx, 0x10107078
call fcn.100102d0
mov eax, dword [ebp - 0x1024]
add eax, 0xc8
push eax
push str.EnumerateInstalledHotfix___Add__s
call fcn.10003f70
add esp, 8
jmp 0x100085c6
mov esi, esp
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, esp
call fcn.10021b10
mov ecx, 0x10107078
call fcn.10010280
push eax
push str.EnumerateInstalledHotfix___m_aInstalledHotfix.GetSize____d
call fcn.10003f70
add esp, 8
mov eax, 1
pop edi
pop esi
add esp, 0x1030
cmp ebp, esp
call fcn.10021b10
mov esp, ebp
pop ebp
ret