Function at 0x402604
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x488
mov dword [ebp - 0x1bc], 0
lea edx, [ebp - 0x2c8]
mov eax, 0x100
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
call sym._memset
lea edx, [ebp - 0x3c8]
mov eax, 0x100
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
call sym._memset
mov dword [ebp - 0x3cc], 0
lea edx, [ebp - 0x458]
mov eax, 0x78
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], edx
call sym._memset
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x460], 0
lea eax, [ebp - 0x198]
mov dword [esp + 4], eax
mov dword [esp], 0x202
call sym._WSAStartup_8
sub esp, 8
test eax, eax
je 0x4026e5
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], str.ERROR
mov dword [esp + 4], str.WSAStartup___failed.._n
mov dword [esp], 0
call sym._MessageBoxA_16
sub esp, 0x10
mov dword [ebp - 0x46c], 0
jmp 0x402e4f
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
call sym._socket_12
sub esp, 0xc
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0xffffffff
jne 0x402749
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], str.ERROR
mov dword [esp + 4], str.socket___create_failed.._n
mov dword [esp], 0
call sym._MessageBoxA_16
sub esp, 0x10
mov dword [ebp - 0x46c], 0
jmp 0x402e4f
mov dword [esp], str.pop.qq.com
call sym._gethostbyname_4
sub esp, 4
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1bc], 0
jne 0x40279d
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], str.ERROR
mov dword [esp + 4], str.gethostbyname___failed.._n
mov dword [esp], 0
call sym._MessageBoxA_16
sub esp, 0x10
mov dword [ebp - 0x46c], 0
jmp 0x402e4f
mov eax, dword [ebp - 0x1bc]
movsx eax, word [eax + 0xa]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1bc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 4], eax
lea eax, [ebp - 0x1c0]
mov dword [esp], eax
call sym._memcpy
mov word [ebp - 0x1b8], 2
mov dword [esp], 0x6e
call sym._htons_4
sub esp, 4
mov word [ebp - 0x1b6], ax
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x1b4], eax
mov dword [esp + 8], 0x10
lea eax, [ebp - 0x1b8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._connect_12
sub esp, 0xc
cmp eax, 0xffffffff
jne 0x402851
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], str.ERROR
mov dword [esp + 4], str.connect___failed.._n
mov dword [esp], 0
call sym._MessageBoxA_16
sub esp, 0x10
mov dword [ebp - 0x46c], 0
jmp 0x402e4f
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xff
lea eax, [ebp - 0x3c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._recv_16
sub esp, 0x10
lea eax, [ebp - 0x3c8]
mov dword [esp + 4], eax
mov dword [esp], 0x40540c
call sym._printf
mov dword [esp + 4], str.USER_367137144_qq.com_r_n
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._wsprintfA
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._lstrlenA_4
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x2c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._send_16
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xff
lea eax, [ebp - 0x3c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._recv_16
sub esp, 0x10
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._memset
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
lea eax, [ebp - 0x3c8]
mov dword [esp], eax
call sym._memset
mov dword [esp + 4], str.PASS_liuyuming1991215316_r_n
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._wsprintfA
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._lstrlenA_4
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x2c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._send_16
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xff
lea eax, [ebp - 0x3c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._recv_16
sub esp, 0x10
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._memset
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
lea eax, [ebp - 0x3c8]
mov dword [esp], eax
call sym._memset
mov dword [esp + 4], str.stat_r_n
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._wsprintfA
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._lstrlenA_4
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x2c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._send_16
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xff
lea eax, [ebp - 0x3c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._recv_16
sub esp, 0x10
lea eax, [ebp - 0x3cc]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s_d
lea eax, [ebp - 0x3c8]
mov dword [esp], eax
call sym._sscanf
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._memset
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
lea eax, [ebp - 0x3c8]
mov dword [esp], eax
call sym._memset
mov dword [esp + 4], str.list_r_n
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._wsprintfA
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._lstrlenA_4
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x2c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._send_16
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xff
lea eax, [ebp - 0x3c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._recv_16
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xff
lea eax, [ebp - 0x3c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._recv_16
sub esp, 0x10
lea eax, [ebp - 0x3c8]
mov dword [esp + 4], eax
mov dword [esp], 0x405456
call sym._printf
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x464], 0
mov eax, dword [ebp - 0x45c]
cmp eax, dword [ebp - 0x3cc]
jae 0x402db6
lea eax, [ebp - 0x468]
mov dword [esp + 0xc], eax
lea edx, [ebp - 0x458]
mov eax, dword [ebp - 0x45c]
shl eax, 2
lea eax, [edx + eax]
mov dword [esp + 8], eax
mov dword [esp + 4], str._d_d_n
lea eax, [ebp - 0x3c8]
add eax, dword [ebp - 0x464]
mov dword [esp], eax
call sym._sscanf
mov edx, dword [ebp - 0x468]
lea eax, [ebp - 0x464]
add dword [eax], edx
mov eax, dword [ebp - 0x464]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x45c]
mov eax, dword [ebp + eax*4 - 0x458]
mov dword [esp + 4], eax
mov dword [esp], str.uMailSize___d_n_nCurLoc___d_n
call sym._printf
mov eax, dword [ebp - 0x45c]
cmp dword [ebp + eax*4 - 0x458], 0x190
jbe 0x402d08
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._memset
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
lea eax, [ebp - 0x3c8]
mov dword [esp], eax
call sym._memset
mov eax, dword [ebp - 0x45c]
inc eax
mov dword [esp + 8], eax
mov dword [esp + 4], str.dele__d_r_n
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._wsprintfA
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._lstrlenA_4
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x2c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._send_16
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xff
lea eax, [ebp - 0x3c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._recv_16
sub esp, 0x10
jmp 0x402da9
mov eax, dword [ebp - 0x45c]
inc eax
mov dword [esp + 8], eax
mov dword [esp + 4], str.retr__d_r_n
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._wsprintfA
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._lstrlenA_4
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x2c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._send_16
sub esp, 0x10
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._DownloadMail
test eax, eax
jne 0x402da9
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], str.ERROR
mov dword [esp + 4], str.DownloadMail_failed_n
mov dword [esp], 0
call sym._MessageBoxA_16
sub esp, 0x10
mov dword [ebp - 0x46c], 0
jmp 0x402e4f
lea eax, [ebp - 0x45c]
inc dword [eax]
jmp 0x402ba9
mov dword [esp + 4], str.quit_r_n
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._wsprintfA
lea eax, [ebp - 0x2c8]
mov dword [esp], eax
call sym._lstrlenA_4
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x2c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._send_16
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xff
lea eax, [ebp - 0x3c8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._recv_16
sub esp, 0x10
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call sym._closesocket_4
sub esp, 4
call sym._WSACleanup_0
mov dword [ebp - 0x46c], 1
mov eax, dword [ebp - 0x46c]
leave
ret