Function at 0x450aaf
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create raw socket
Create tcp socket
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Set socket configuration

Disassembly:
push ebp
lea ebp, [esp - 0x258]
sub esp, 0x2d8
mov eax, dword [0x47e5d0]
xor eax, ebp
mov dword [ebp + 0x254], eax
mov eax, dword [ebp + 0x260]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0x264]
push ebx
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0x268]
push edi
mov dword [ebp - 0x7c], eax
xor eax, eax
push 0x18e
mov word [ebp - 0x70], ax
xor ebx, ebx
lea eax, [ebp - 0x6e]
push ebx
push eax
call fcn.00452e00
xor eax, eax
mov word [ebp + 0x140], ax
lea edi, [ebp + 0x142]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp + 0x130], ax
lea edi, [ebp + 0x132]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp + 0x120], ax
lea edi, [ebp + 0x122]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x103
stosw word es:[edi], ax
lea eax, [ebp + 0x151]
push ebx
push eax
mov byte [ebp + 0x150], bl
call fcn.00452e00
add esp, 0x18
lea eax, [ebp - 0x70]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x450b83
push str.WSAStartup_Error
push dword [0x481960]
call dword [sym.imp.USER32.dll_wsprintfA]
pop ecx
pop ecx
or eax, 0xffffffff
jmp 0x450e5a
push esi
push 0x10
lea eax, [ebp + 0x130]
push ebx
push eax
call fcn.00452e00
push 0x10
lea eax, [ebp + 0x120]
push ebx
push eax
call fcn.00452e00
add esp, 0x18
push ebx
push ebx
push ebx
push 1
push 3
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
or esi, 0xffffffff
mov dword [0x485c40], eax
cmp eax, esi
jne 0x450bde
push str.WSASocket_Error
push dword [0x481960]
call dword [sym.imp.USER32.dll_wsprintfA]
pop ecx
pop ecx
mov dword [0x485c40], ebx
jmp 0x450e52
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [0x485c40], eax
cmp eax, esi
jne 0x450c22
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.failed_to_open_socket:__d
push dword [0x481960]
call dword [sym.imp.USER32.dll_wsprintfA]
mov dword [0x485c40], ebx
mov ebx, esi
add esp, 0xc
call fcn.0044fa2d
mov eax, ebx
jmp 0x450e59
push dword [ebp - 0x74]
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov edi, eax
cmp edi, ebx
je 0x450e37
mov eax, dword [edi + 0xc]
cmp dword [eax], ebx
je 0x450c5a
movzx ecx, word [edi + 0xa]
cmp cx, bx
jle 0x450c5a
movsx ecx, cx
push ecx
push dword [eax]
lea eax, [ebp + 0x134]
push eax
call fcn.00452790
add esp, 0xc
mov ax, word [edi + 8]
push 2
mov word [ebp + 0x130], ax
pop eax
push 0x6e
mov word [ebp + 0x140], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp + 0x142], ax
mov eax, dword [edi + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp + 0x144], eax
push 0x10
lea eax, [ebp + 0x140]
push eax
push dword [0x485c40]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, esi
jne 0x450cc1
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Connect_POP3_Server_Fail:__d_r_n
push dword [0x481960]
call dword [sym.imp.USER32.dll_wsprintfA]
jmp 0x450c13
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov edi, 0x3e8
push edi
mov dword [ebp - 0x74], eax
call fcn.0044face
test eax, eax
jne 0x450cff
mov eax, dword [ebp - 0x74]
add eax, 0x2710
mov dword [ebp - 0x74], eax
call esi
cmp eax, dword [ebp - 0x74]
jae 0x450cff
push 3
call dword [sym.imp.KERNEL32.dll_Sleep]
push edi
call fcn.0044face
test eax, eax
je 0x450ce6
push 0x104
lea eax, [ebp + 0x150]
push ebx
push eax
call fcn.00452e00
add esp, 0xc
push ebx
push 0x103
lea eax, [ebp + 0x150]
push eax
push dword [0x485c40]
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 1
jl 0x450e1f
cmp byte [ebp + 0x150], 0x2d
je 0x450e1f
push dword [ebp - 0x80]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp + 0x150]
push str.USER__s_r_n
push eax
call edi
add esp, 0xc
push 1
push ebx
push ebx
lea eax, [ebp + 0x150]
push eax
call fcn.0044fb47
test eax, eax
jne 0x450d83
push str.Username_error
push dword [0x481960]
call edi
jmp 0x450e30
lea eax, [ebp + 0x150]
cmp dword [ebp - 0x7c], ebx
jne 0x450d9c
push str.PASS__r_n
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x450daa
push dword [ebp - 0x7c]
push str.PASS__s_r_n
push eax
call edi
add esp, 0xc
push 1
push ebx
push ebx
lea eax, [ebp + 0x150]
push eax
call fcn.0044fb47
test eax, eax
jne 0x450dc5
push str.Password_error
jmp 0x450d76
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
push 4
lea eax, [ebp - 0x78]
push eax
push 0x1006
mov ebx, 0xffff
push ebx
push dword [0x485c40]
mov dword [ebp - 0x78], 0x7d0
call esi
push 4
lea eax, [ebp - 0x78]
push eax
push 0x1005
push ebx
push dword [0x485c40]
call esi
push 4
lea eax, [ebp - 0x78]
push eax
push 0x1002
push ebx
push dword [0x485c40]
mov dword [ebp - 0x78], 0x10000
call esi
xor eax, eax
inc eax
jmp 0x450e59
push str.No_result
push dword [0x481960]
call dword [sym.imp.USER32.dll_wsprintfA]
pop ecx
pop ecx
jmp 0x450c16
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Failed_to_host_server:__d
push dword [0x481960]
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
call fcn.0044fa2d
mov eax, esi
pop esi
mov ecx, dword [ebp + 0x254]
pop edi
xor ecx, ebp
pop ebx
call fcn.00452dee
add ebp, 0x258
leave
ret 0xc