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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
sub esp, 0x848
push esi
xor esi, esi
mov word [eax], si
mov eax, dword [ebp + 0xc]
mov word [eax], si
lea eax, [ebp - 0xc]
push eax
push 8
push esi
push str.SoftwareMicrosoftOffice
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x4c6929
xor al, al
jmp 0x4c6b81
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x438]
push eax
push esi
push dword [ebp - 0xc]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], 0x104
mov dword [ebp - 0x18], esi
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x4c6b70
push ebx
push edi
inc dword [ebp - 0x14]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x438]
push str._d.0
mov edi, 0x104
push eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x10], esi
call fcn.0058f93c
add esp, 0xc
cmp eax, 1
jne 0x4c6b4b
mov eax, dword [ebp - 0x10]
cmp eax, 0xf
jl 0x4c6b4b
cmp eax, dword [ebp - 0x18]
jle 0x4c6b4b
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x848]
push str._sOutlookProfilesOutlook
push eax
call fcn.00401000
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 8
push esi
lea eax, [ebp - 0x848]
push eax
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4c6b4b
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x230]
push eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], edi
push esi
jmp 0x4c6b22
inc dword [ebp - 0x1c]
lea eax, [ebp - 0x230]
push eax
push str.9375CFF0413111d3B88A00104B2A6676
mov dword [ebp - 0x20], 0x104
call fcn.005a6122
test eax, eax
pop ecx
pop ecx
jne 0x4c6b10
lea eax, [ebp - 0x28]
push eax
push 1
push esi
lea eax, [ebp - 0x230]
push eax
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4c6b10
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [ebp - 8]
push eax
push esi
push esi
push esi
push str.ED475418_B0D6_11D2_8C3B_00104B2A6676
push dword [ebp - 0x28]
mov dword [ebp - 8], esi
call ebx
test eax, eax
jne 0x4c6b10
cmp dword [ebp - 8], 4
jb 0x4c6b10
push dword [ebp - 8]
call fcn.0058f8c4
pop ecx
mov edi, eax
lea eax, [ebp - 8]
push eax
push edi
push esi
push esi
push str.ED475418_B0D6_11D2_8C3B_00104B2A6676
push dword [ebp - 0x28]
call ebx
push dword [ebp - 0x28]
mov ebx, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp ebx, esi
jne 0x4c6b09
push 3
pop ebx
cmp dword [ebp - 8], ebx
jbe 0x4c6b09
mov eax, dword [edi + ebx - 3]
mov ecx, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x230]
push eax
mov word [ecx], si
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x640]
push str._s_08x
push eax
mov word [ecx], si
call fcn.00401000
add esp, 0x10
push 0x5b07d8
push str.SMTP_Server
lea eax, [ebp - 0x640]
push eax
push dword [ebp - 4]
mov eax, dword [ebp + 8]
call fcn.00401132
test al, al
je 0x4c6b01
push 0x5b07d8
push str.Email
lea eax, [ebp - 0x640]
push eax
push dword [ebp - 4]
mov eax, dword [ebp + 0xc]
call fcn.00401132
test al, al
jne 0x4c6b35
add ebx, 4
cmp ebx, dword [ebp - 8]
jb 0x4c6a95
push edi
call fcn.0058f8c9
pop ecx
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x230]
push eax
push dword [ebp - 0x1c]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x4c69f2
jmp 0x4c6b42
mov eax, dword [ebp - 0x10]
push edi
mov dword [ebp - 0x18], eax
call fcn.0058f8c9
pop ecx
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x438]
push eax
push dword [ebp - 0x14]
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x4c6959
pop edi
pop ebx
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
cmp dword [ebp - 0x18], esi
setg al
pop esi
leave
ret 8