Function at 0x401252
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x460de4
mov eax, dword fs:[0]
push eax
sub esp, 0x60
push ebx
push esi
push edi
mov eax, dword [0x47d88c]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov esi, ecx
push dword [0x482244]
lea eax, [esi + 0x774]
push str.Freeware_Version__s
push eax
call fcn.0040190e
xor edi, edi
add esp, 0xc
mov dword [esp + 0x2c], vtable.CModuleVersion.0
mov dword [esp + 0x64], edi
push str.Unknown
lea ecx, [esp + 0x14]
mov dword [esp + 0x7c], edi
call fcn.00401a7a
push 0x48225c
lea ebx, [esp + 0x30]
mov byte [esp + 0x7c], 1
call fcn.0041688c
test eax, eax
je 0x401305
mov ecx, dword [esp + 0x3c]
movzx edx, word [esp + 0x3c]
mov eax, dword [esp + 0x38]
shr ecx, 0x10
push edx
movzx ecx, cx
push ecx
movzx ecx, word [esp + 0x40]
shr eax, 0x10
movzx eax, ax
push ecx
push eax
lea eax, [esp + 0x20]
push str._d._d._d._d
push eax
call fcn.0040190e
add esp, 0x18
lea ecx, [esp + 0x14]
call fcn.00409591
mov byte [esp + 0x78], 2
mov eax, dword [esp + 0x14]
mov eax, dword [eax - 0xc]
push 0x46a91c
cmp eax, edi
je 0x4013e8
lea ecx, [esp + 0x2c]
call fcn.00401a7a
lea ecx, [esp + 0x10]
push ecx
push eax
lea eax, [esp + 0x2c]
push eax
mov byte [esp + 0x84], 3
call fcn.00401667
add esp, 0xc
push 0x46a914
push eax
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0x84], 4
call fcn.004016be
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
push eax
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0x84], 5
call fcn.00401667
add esp, 0xc
push str.__PST_
push eax
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0x84], 6
call fcn.004016be
add esp, 0xc
lea ecx, [esi + 0x778]
push eax
mov byte [esp + 0x7c], 7
call fcn.004017c8
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00401b3a
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.00401b3a
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00401b3a
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00401b3a
mov byte [esp + 0x78], 2
mov ecx, dword [esp + 0x28]
jmp 0x401432
lea ecx, [esp + 0x28]
call fcn.00401a7a
lea ecx, [esp + 0x10]
push ecx
push eax
lea eax, [esp + 0x30]
push eax
mov byte [esp + 0x84], 8
call fcn.00401667
add esp, 0xc
lea ecx, [esi + 0x778]
push eax
mov byte [esp + 0x7c], 9
call fcn.004017c8
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.00401b3a
mov byte [esp + 0x78], 2
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00401b3a
mov ecx, esi
call fcn.004229e7
push edi
push str.Web_Visited
mov edi, str.Settings
mov ebx, 0x4820d0
push edi
mov ecx, ebx
call fcn.0042357c
push 0
push str.Mail_Visited
push edi
mov ecx, ebx
mov dword [esp + 0x34], eax
call fcn.0042357c
push 0
push str.EDPro_Visited
push edi
mov ecx, ebx
mov dword [esp + 0x30], eax
call fcn.0042357c
mov ecx, dword [esp + 0x28]
mov dword [esi + 0x530], ecx
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x450], ecx
mov dword [esi + 0x1b0], eax
push dword [0x482120]
lea ecx, [esp + 0x28]
call fcn.00401a7a
push str._Home_Page
push eax
lea eax, [esp + 0x30]
push eax
mov byte [esp + 0x84], 0xa
call fcn.004016be
add esp, 0xc
lea ebx, [esi + 0x4d4]
mov byte [esp + 0x78], 0xb
mov edi, dword [eax]
test ebx, ebx
jne 0x4014d8
xor eax, eax
jmp 0x4014db
mov eax, dword [ebx + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x401505
push 0
mov ecx, ebx
call fcn.00429ce2
push edi
mov ecx, ebx
call fcn.00429c17
call fcn.0041634e
push 5
mov ecx, ebx
call fcn.00429ce2
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.00401b3a
mov byte [esp + 0x78], 2
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00401b3a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
mov edi, str.http:__www.prestosoft.com_examdiff_free_
push edi
call fcn.00401a7a
mov ecx, ebx
call fcn.004162e2
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edi
call fcn.00401a7a
lea ebx, [esi + 0x314]
mov ecx, ebx
call fcn.004162e2
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
mov edi, str.mailto:examdiff_prestosoft.com
push edi
call fcn.00401a7a
lea ecx, [esi + 0x3f4]
call fcn.004162e2
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edi
call fcn.00401a7a
lea ecx, [esi + 0x234]
mov dword [esp + 0x24], ecx
call fcn.004162e2
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
mov edi, str.http:__www.prestosoft.com_examdiff_
push edi
call fcn.00401a7a
lea ecx, [esi + 0x154]
call fcn.004162e2
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edi
call fcn.00401a7a
add esi, 0x74
mov ecx, esi
call fcn.004162e2
mov eax, ebx
ret
call fcn.004162cc
mov eax, dword [esp + 0x20]
call fcn.004162cc
mov eax, esi
call fcn.004162cc
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00401b3a
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.00401b3a
or dword [esp + 0x78], 0xffffffff
lea ecx, [esp + 0x2c]
call fcn.0041687c
xor eax, eax
inc eax
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret