Function at 0x487ac8
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 0x487b02
xor al, al
jmp 0x487d5a
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 0x487d49
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.00521806
add esp, 0xc
cmp eax, 1
jne 0x487d24
mov eax, dword [ebp - 0x10]
cmp eax, 0xf
jl 0x487d24
cmp eax, dword [ebp - 0x18]
jle 0x487d24
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 0x487d24
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 0x487cfb
inc dword [ebp - 0x1c]
lea eax, [ebp - 0x230]
push eax
push str.9375CFF0413111d3B88A00104B2A6676
mov dword [ebp - 0x20], 0x104
call fcn.00535c2f
test eax, eax
pop ecx
pop ecx
jne 0x487ce9
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 0x487ce9
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 0x487ce9
cmp dword [ebp - 8], 4
jb 0x487ce9
push dword [ebp - 8]
call fcn.0051fd80
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 0x487ce2
push 3
pop ebx
cmp dword [ebp - 8], ebx
jbe 0x487ce2
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 0x53ec98
push str.SMTP_Server
lea eax, [ebp - 0x640]
push eax
push dword [ebp - 4]
mov eax, dword [ebp + 8]
call fcn.004010db
test al, al
je 0x487cda
push 0x53ec98
push str.Email
lea eax, [ebp - 0x640]
push eax
push dword [ebp - 4]
mov eax, dword [ebp + 0xc]
call fcn.004010db
test al, al
jne 0x487d0e
add ebx, 4
cmp ebx, dword [ebp - 8]
jb 0x487c6e
push edi
call fcn.00520947
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 0x487bcb
jmp 0x487d1b
mov eax, dword [ebp - 0x10]
push edi
mov dword [ebp - 0x18], eax
call fcn.00520947
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 0x487b32
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