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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5c0955
mov eax, dword fs:[0]
push eax
sub esp, 0x334
mov eax, dword [0x6c0bc0]
xor eax, esp
mov dword [esp + 0x32c], eax
push ebx
push edi
mov eax, dword [0x6c0bc0]
xor eax, esp
push eax
lea eax, [esp + 0x340]
mov dword fs:[0], eax
push 0xa3
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.CDetectionIE7Search::DetectIE7Search
call fcn.004015a6
xor ebx, ebx
mov dword [esp + 0x350], ebx
or dword [esp + 0x350], 0xffffffff
call fcn.0040b1a6
mov edi, 0x61b5f4
lea ecx, [esi + 4]
push edi
mov dword [esi], ebx
call fcn.004014d3
lea ecx, [esi + 8]
push edi
call fcn.004014d3
lea ecx, [esi + 0xc]
push edi
mov dword [esp + 0x24], ecx
call fcn.004014d3
lea eax, [esp + 0x10]
push eax
push 9
push ebx
push str.SoftwareMicrosoftInternet_ExplorerSearchScopes
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x44efdc
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x238]
push eax
push ebx
push ebx
push 0x628d0c
push dword [esp + 0x24]
mov dword [esp + 0x3c], 0x100
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x44ee61
lea eax, [esp + 0x234]
push eax
lea ecx, [esi + 4]
call fcn.004014d3
cmp dword [esi], 0x40
mov dword [esp + 0x18], ebx
jge 0x44ef88
lea eax, [esi + 0x110]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2c]
push eax
push ebx
push ebx
push ebx
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x148]
push eax
push dword [esp + 0x30]
mov dword [esp + 0x44], 0x100
push dword [esp + 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
jne 0x44ef88
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x134]
push eax
add ecx, 0xffffff00
call fcn.004014d3
mov ecx, dword [esp + 0xc]
push edi
call fcn.004014d3
mov ecx, dword [esp + 0xc]
add ecx, 0x100
push edi
call fcn.004014d3
lea eax, [esp + 0x1c]
push eax
push 1
push ebx
lea eax, [esp + 0x140]
push eax
push dword [esp + 0x20]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x44ef74
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x38]
push eax
push ebx
push ebx
push str.DisplayName
push dword [esp + 0x30]
mov dword [esp + 0x2c], 0x100
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x44ef2f
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x34]
push eax
call fcn.004014d3
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x38]
push eax
push ebx
push ebx
push 0x624dac
push dword [esp + 0x30]
mov dword [esp + 0x2c], 0x100
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x44ef6a
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x34]
push eax
add ecx, 0x100
call fcn.004014d3
push dword [esp + 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc dword [esi]
inc dword [esp + 0x18]
add dword [esp + 0xc], 4
cmp dword [esi], 0x40
jl 0x44ee78
push dword [esp + 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esi + 4]
cmp dword [eax - 0xc], ebx
je 0x44efdc
cmp dword [esi], ebx
jle 0x44efdc
lea edi, [esi + 0x10]
lea eax, [esi + 4]
push edi
push eax
call fcn.00404756
test al, al
pop ecx
pop ecx
jne 0x44efbb
inc ebx
add edi, 4
cmp ebx, dword [esi]
jl 0x44efa1
jmp 0x44efdc
lea eax, [esi + ebx*4 + 0x110]
push eax
lea ecx, [esi + 8]
call fcn.004048fa
mov ecx, dword [esp + 0x20]
lea eax, [esi + ebx*4 + 0x210]
push eax
call fcn.004048fa
mov ecx, dword [esp + 0x340]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov ecx, dword [esp + 0x32c]
xor ecx, esp
call fcn.0058cc82
mov esp, ebp
pop ebp
ret