Function at 0x100099cb
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x51c
push esi
push edi
push dword [0x100525d4]
lea eax, [ebp - 0x21c]
xor esi, esi
push 0xfe
push eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 8], esi
call fcn.10019db0
add esp, 0xc
lea eax, [ebp - 0x10]
push eax
push 0x20019
push esi
lea eax, [ebp - 0x21c]
push eax
mov edi, reloc.WS2_32.dll_bind
push edi
call dword [0x10052348]
test eax, eax
je 0x10009a34
push str.EnumInstalledSoftware___RegOpenKeyExA_KEY_READ__HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionUninstall__failed
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call main
pop ecx
pop ecx
or eax, 0xffffffff
jmp 0x10009c13
push esi
push esi
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 8]
push eax
push esi
push esi
push esi
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
test eax, eax
je 0x10009a6d
push str.EnumInstalledSoftware__:_RegQueryInfoKey___failed_n
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call main
pop ecx
pop ecx
push 0xfffffffffffffffe
pop eax
jmp 0x10009c13
push ebx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 8], esi
je 0x10009c0a
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x31c]
push eax
mov eax, dword [ebp - 8]
dec eax
push eax
push dword [ebp - 0x10]
mov dword [ebp - 0x18], 0xff
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
jne 0x10009bf0
push esi
lea eax, [ebp - 0x31c]
push eax
lea eax, [ebp - 0x21c]
push eax
push 0x100
lea eax, [ebp - 0x11c]
push eax
push 0x100347ec
mov dword [ebp - 4], esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0xc], esi
call fcn.10019170
push esi
push str.Publisher
lea eax, [ebp - 0x11c]
push eax
push edi
call fcn.10022800
push esi
mov dword [ebp - 0xc], eax
push str.DisplayName
lea eax, [ebp - 0x11c]
push eax
push edi
call fcn.10022800
add esp, 0x38
mov dword [ebp - 4], eax
cmp dword [ebp - 0xc], esi
je 0x10009b64
cmp eax, esi
je 0x10009b64
push str.Microsoft
push dword [ebp - 0xc]
call fcn.10019fc0
pop ecx
pop ecx
test eax, eax
je 0x10009b64
push str.Update
push dword [ebp - 4]
call fcn.10018cf0
pop ecx
pop ecx
test eax, eax
jne 0x10009b48
push str.Hotfix
push dword [ebp - 4]
call fcn.10018cf0
pop ecx
pop ecx
test eax, eax
je 0x10009b64
lea eax, [ebp - 0xc]
push esi
push eax
call fcn.10019b10
lea eax, [ebp - 4]
push esi
push eax
call fcn.10019b10
add esp, 0x10
jmp 0x10009c01
push esi
push str.DisplayVersion
lea eax, [ebp - 0x11c]
push eax
push edi
call fcn.10022800
add esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 4], esi
je 0x10009bc1
cmp eax, esi
jne 0x10009b8b
mov eax, 0x10033426
push eax
push dword [ebp - 4]
lea eax, [ebp - 0x51c]
push 0x10037a08
push 0x200
push eax
call fcn.10019db0
lea eax, [ebp - 0x51c]
push eax
push dword [ebp + 8]
call fcn.1001efe0
lea eax, [ebp - 4]
push esi
push eax
call fcn.10019b10
add esp, 0x24
cmp dword [ebp - 0x14], esi
je 0x10009bd2
lea eax, [ebp - 0x14]
push esi
push eax
call fcn.10019b10
pop ecx
pop ecx
cmp dword [ebp - 0xc], esi
je 0x10009be3
lea eax, [ebp - 0xc]
push esi
push eax
call fcn.10019b10
pop ecx
pop ecx
push esi
call ebx
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10009c01
mov eax, dword [ebp - 8]
dec eax
push eax
push str.RegEnumKeyEx___error:__d_n
call fcn.10018570
pop ecx
pop ecx
dec dword [ebp - 8]
jne 0x10009a7d
push dword [ebp - 0x10]
call ebx
xor eax, eax
inc eax
pop ebx
pop edi
pop esi
leave
ret