Function at 0x452180
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
xor eax, eax
push ebx
push esi
push edi
sub esp, 0x18
mov edi, ecx
mov ecx, esp
push 0x1e
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.Enter_GetRegisteredMapiClient_n
mov word [ecx], ax
call fcn.004054c0
push 0x80000
call fcn.0042fa30
mov ebx, dword [ebp + 8]
lea eax, [edi + 4]
xor esi, esi
add esp, 0x1c
cmp dword [eax], esi
jne 0x45221d
push eax
push 0x20019
push esi
push str.SoftwareClientsMail
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
test esi, esi
jle 0x4521ee
movzx esi, si
or esi, 0x80070000
push 0x175
push str.StubUtils.cpp
push str.RegOpenKeyExW_HKEY_LOCAL_MACHINE__WszKeyNameMailClient__0__KEY_READ__m_hMailKey_
push 0
push 0
push 0
push 0
push 0
push esi
call fcn.00409d50
add esp, 0x24
lea eax, [edi + 4]
test esi, esi
jns 0x45221d
mov dword [eax], 0
cmp dword [eax], 0
je 0x45238c
test ebx, ebx
jne 0x4522d8
cmp dword [edi + 0xc], ebx
jne 0x4522d5
push 0x208
call fcn.00452737
add esp, 4
mov dword [edi + 0xc], eax
test eax, eax
je 0x4522d2
mov dword [ebp + 8], 0x104
mov dword [ebp - 4], ebx
test esi, esi
js 0x452375
lea ecx, [ebp + 8]
push ecx
push eax
lea eax, [ebp - 4]
push eax
push ebx
push ebx
push dword [edi + 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov esi, eax
test esi, esi
jle 0x452284
movzx esi, si
or esi, 0x80070000
push 0x18b
push str.StubUtils.cpp
push str.RegQueryValueExW__m_hMailKey__NULL__0__dwType___LPBYTE_m_rgchMailClient__dwSize_
push 0
push 0
push 0
push 0
push 0
push esi
call fcn.00409d50
add esp, 0x24
test esi, esi
js 0x452375
push dword [edi + 0xc]
push str.SoftwareClientsMail
sub esp, 0x18
mov ecx, esp
push str.GetRegisteredMapiClient:_HKLM_ws___ws_n
call fcn.00402ad0
push 0x80000
call fcn.0042fa30
add esp, 0x24
lea eax, [edi + 4]
mov ebx, dword [edi + 0xc]
cmp dword [eax], 0
je 0x452359
test ebx, ebx
je 0x452359
cmp dword [edi + 8], 0
jne 0x452359
push ebx
sub esp, 0x18
mov ecx, esp
push str.GetRegisteredMapiClient:_pwzProvider___ws_n
call fcn.00402ad0
push 0x80000
call fcn.0042fa30
add esp, 0x20
test esi, esi
js 0x452352
lea eax, [edi + 8]
push eax
push 0x20019
push 0
push ebx
push dword [edi + 4]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
test esi, esi
jle 0x45232c
movzx esi, si
or esi, 0x80070000
push 0x1a2
push str.StubUtils.cpp
push str.RegOpenKeyExW__m_hMailKey__pwzProvider__0__KEY_READ__m_hkeyMapiClient_
push 0
push 0
push 0
push 0
push 0
push esi
call fcn.00409d50
add esp, 0x24
test esi, esi
jns 0x452359
mov dword [edi + 8], 0
mov eax, dword [edi + 8]
test eax, eax
je 0x4523a3
cmp byte [ebp + 0xc], 0
mov ecx, edi
je 0x452399
push dword [ebp + 0x10]
push eax
call fcn.00451a50
mov ebx, eax
jmp 0x4523a5
push dword [edi + 0xc]
call fcn.00452740
add esp, 4
mov dword [edi + 0xc], 0
jmp 0x4522d2
test ebx, ebx
jne 0x4522d8
jmp 0x4522d5
push eax
call fcn.00451b70
mov ebx, eax
jmp 0x4523a5
xor ebx, ebx
push ebx
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 0x2b
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.Exit_GetRegisteredMapiClient:_szPath___ws_n
mov word [ecx], ax
call fcn.004054c0
push 0x80000
call fcn.0042fa30
add esp, 0x20
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc