Function at 0x100072d7
Capabilities:
Get installed programs
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 0x100f3790
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp esi, esp
call fcn.10021b10
test eax, eax
jne 0x10007576
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, 0x10107050
call fcn.1000fe60
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 0x1000754b
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 0x100f37f8
push 0x100f3860
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 0x10007546
push 0xc8
call fcn.1006b3a0
add esp, 4
mov dword [ebp - 0x1028], eax
mov eax, dword [ebp - 0x1028]
mov dword [ebp - 0x1024], eax
push 0xc8
push 0
mov ecx, dword [ebp - 0x1024]
push ecx
call fcn.10021ab0
add esp, 0xc
mov dword [ebp - 0x1020], 0xc8
mov esi, esp
lea edx, [ebp - 0x1020]
push edx
mov eax, dword [ebp - 0x1024]
push eax
lea ecx, [ebp - 0x101c]
push ecx
push 0
push 0x100f386c
mov edx, dword [ebp - 0x1018]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp esi, esp
call fcn.10021b10
test eax, eax
jne 0x100074cb
cmp dword [ebp - 0x101c], 1
jne 0x100074cb
mov eax, dword [ebp - 0x1024]
xor ecx, ecx
mov cx, word [eax]
test ecx, ecx
jne 0x10007501
mov edx, dword [ebp - 0x1024]
mov dword [ebp - 0x102c], edx
mov eax, dword [ebp - 0x102c]
push eax
call fcn.1006b3e9
add esp, 4
mov esi, esp
mov ecx, dword [ebp - 0x1018]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, esp
call fcn.10021b10
jmp 0x10007360
mov esi, esp
mov edx, dword [ebp - 0x1018]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, esp
call fcn.10021b10
mov eax, dword [ebp - 0x1024]
push eax
mov ecx, 0x10107050
call fcn.1000fe90
mov ecx, dword [ebp - 0x1024]
push ecx
push str.EnumerateInstalledAP___Add__s
call fcn.10003f70
add esp, 8
mov dword [0x10107048], 1
jmp 0x10007360
mov esi, esp
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, esp
call fcn.10021b10
mov ecx, 0x10107050
call fcn.1000fe40
push eax
push str.EnumerateInstalledAP___m_aInstalledAP.GetSize____d
call fcn.10003f70
add esp, 8
call fcn.100070a3
mov eax, 1
pop edi
pop esi
add esp, 0x1030
cmp ebp, esp
call fcn.10021b10
mov esp, ebp
pop ebp
ret 8