Function at 0x4022a0
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
Send http request
Terminate process

Disassembly:
sub esp, 0xe5c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0xe58], eax
push ebx
mov ebx, dword [esp + 0xe64]
lea eax, [esp + 0x1a4]
push ebp
mov ebp, dword [esp + 0xe6c]
push esi
push edi
push 0x5dc
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x80
lea eax, [esp + 0x79c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x80
lea eax, [esp + 0x828]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x24
lea eax, [esp + 0x20]
push eax
push 0x202
call sub.WS2_32.dll_WSAStartup
xorps xmm0, xmm0
mov eax, 2
movups xmmword [esp + 0x10], xmm0
push 0x19
mov word [esp + 0x14], ax
call sub.WS2_32.dll_htons
push str.https:__email.cnnp.com.cn_
mov word [esp + 0x16], ax
call sub.WS2_32.dll_gethostbyname
movsx ecx, word [eax + 0xa]
mov eax, dword [eax + 0xc]
push ecx
push dword [eax]
lea eax, [esp + 0x1c]
push eax
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [esp + 0x23]
push eax
movzx eax, byte [esp + 0x26]
push eax
movzx eax, byte [esp + 0x29]
push eax
movzx eax, byte [esp + 0x2c]
push eax
push str.IP_of_smpt.163.com_is_:__d:_d:_d:_d_n
call fcn.00402b90
lea eax, [esp + 0x30]
push eax
call fcn.00402240
push 0x5dc
mov esi, eax
lea eax, [esp + 0x8b4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x30
lea eax, [esp + 0x88c]
push 0
push 0x5dc
push eax
push esi
call sub.WS2_32.dll_recv
test eax, eax
jne 0x40243e
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
nop dword [eax + eax]
push str.reconnect...
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401bf0
add esp, 8
mov ecx, eax
push 0x401dd0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 2
call edi
push 0
push 1
push 2
call sub.WS2_32.dll_socket
mov esi, eax
test esi, esi
js 0x402b73
push 0x10
lea eax, [esp + 0x14]
push eax
push esi
call sub.WS2_32.dll_connect
test eax, eax
js 0x402b4b
push 0x5dc
lea eax, [esp + 0x890]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x88c]
push 0
push 0x5dc
push eax
push esi
call sub.WS2_32.dll_recv
test eax, eax
je 0x4023c0
lea eax, [esp + 0x88c]
push eax
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401bf0
add esp, 8
mov ecx, eax
push 0x401dd0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push str.EHLO_HYL_PC_r_n
lea eax, [esp + 0x1b4]
push 0x5dc
push eax
call fcn.00402bc0
lea ecx, [esp + 0x1bc]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402485
push 0
sub ecx, edx
lea eax, [esp + 0x1b4]
push ecx
push eax
push esi
call sub.WS2_32.dll_send
push 0x5dc
lea eax, [esp + 0x890]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x88c]
push 0
push 0x5dc
push eax
push esi
call sub.WS2_32.dll_recv
lea eax, [esp + 0x88c]
push eax
push str.EHLO_REceive:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401bf0
add esp, 8
push eax
call fcn.00401bf0
add esp, 8
mov ecx, eax
push 0x401dd0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0x5dc
lea eax, [esp + 0x1b4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push str.AUTH_LOGIN_r_n
lea eax, [esp + 0x1c0]
push 0x5dc
push eax
call fcn.00402bc0
lea ecx, [esp + 0x1c8]
add esp, 0x18
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402534
push 0
sub ecx, edx
lea eax, [esp + 0x1b4]
push ecx
push eax
push esi
call sub.WS2_32.dll_send
push 0x5dc
lea eax, [esp + 0x890]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x88c]
push 0
push 0x5dc
push eax
push esi
call sub.WS2_32.dll_recv
lea eax, [esp + 0x88c]
push eax
push str.Auth_Login_Receive:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401bf0
add esp, 8
push eax
call fcn.00401bf0
add esp, 8
mov ecx, eax
push 0x401dd0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0x5dc
lea eax, [esp + 0x1b4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push str.caoyh03_cnnp.com.cn
lea eax, [esp + 0x1c0]
push 0x5dc
push eax
call fcn.00402bc0
lea ecx, [esp + 0x1c8]
add esp, 0x18
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4025e3
sub ecx, edx
lea eax, [esp + 0x1b0]
push ecx
push eax
lea eax, [esp + 0x794]
push eax
call fcn.00401f60
lea eax, [esp + 0x798]
push eax
push str._s_r_n
lea eax, [esp + 0x1c4]
push 0x5dc
push eax
call fcn.00402bc0
lea ecx, [esp + 0x1cc]
add esp, 0x1c
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402630
push 0
sub ecx, edx
lea eax, [esp + 0x1b4]
push ecx
push eax
push esi
call sub.WS2_32.dll_send
lea eax, [esp + 0x1b0]
push eax
push str.Base64_UserName:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401bf0
add esp, 8
push eax
call fcn.00401bf0
add esp, 8
mov ecx, eax
push 0x401dd0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0x5dc
lea eax, [esp + 0x890]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x88c]
push 0
push 0x5dc
push eax
push esi
call sub.WS2_32.dll_recv
lea eax, [esp + 0x88c]
push eax
push str.User_Login_Receive:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401bf0
add esp, 8
push eax
call fcn.00401bf0
add esp, 8
mov ecx, eax
push 0x401dd0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push str.Cao_18163070792
lea eax, [esp + 0x1b4]
push 0x5dc
push eax
call fcn.00402bc0
lea ecx, [esp + 0x1bc]
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402700
sub ecx, edx
lea eax, [esp + 0x1b0]
push ecx
push eax
lea eax, [esp + 0x814]
push eax
call fcn.00401f60
lea eax, [esp + 0x818]
push eax
push str._s_r_n
lea eax, [esp + 0x1c4]
push 0x5dc
push eax
call fcn.00402bc0
lea ecx, [esp + 0x1cc]
add esp, 0x1c
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402750
push 0
sub ecx, edx
lea eax, [esp + 0x1b4]
push ecx
push eax
push esi
call sub.WS2_32.dll_send
lea eax, [esp + 0x1b0]
push eax
push str.Base64_Password:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401bf0
add esp, 8
push eax
call fcn.00401bf0
add esp, 8
mov ecx, eax
push 0x401dd0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0x5dc
lea eax, [esp + 0x890]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x88c]
push 0
push 0x5dc
push eax
push esi
call sub.WS2_32.dll_recv
lea eax, [esp + 0x88c]
push eax
push str.Send_Password_Receive:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401bf0
add esp, 8
push eax
call fcn.00401bf0
add esp, 8
mov ecx, eax
push 0x401dd0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0x5dc
lea eax, [esp + 0x1b4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push str.MAIL_FROM:__caoyh03_cnnp.com.cn__r_n
lea eax, [esp + 0x1c0]
push 0x5dc
push eax
call fcn.00402bc0
lea ecx, [esp + 0x1c8]
add esp, 0x18
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402830
push 0
sub ecx, edx
lea eax, [esp + 0x1b4]
push ecx
push eax
push esi
call sub.WS2_32.dll_send
push 0x5dc
lea eax, [esp + 0x890]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x88c]
push 0
push 0x5dc
push eax
push esi
call sub.WS2_32.dll_recv
lea eax, [esp + 0x88c]
push eax
push str.set_Mail_From_Receive:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401bf0
add esp, 8
push eax
call fcn.00401bf0
add esp, 8
mov ecx, eax
push 0x401dd0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push ebx
push str.RCPT_TO:__s__r_n
lea eax, [esp + 0x1b8]
push 0x5dc
push eax
call fcn.00402bc0
lea ecx, [esp + 0x1c0]
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4028d0
push 0
sub ecx, edx
lea eax, [esp + 0x1b4]
push ecx
push eax
push esi
call sub.WS2_32.dll_send
push 0x5dc
lea eax, [esp + 0x890]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x88c]
push 0
push 0x5dc
push eax
push esi
call sub.WS2_32.dll_recv
lea eax, [esp + 0x88c]
push eax
push str.Tell_Sendto_Receive:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401bf0
add esp, 8
push eax
call fcn.00401bf0
add esp, 8
mov ecx, eax
push 0x401dd0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push str.DATA_r_n
lea eax, [esp + 0x1b4]
push 0x5dc
push eax
call fcn.00402bc0
lea ecx, [esp + 0x1bc]
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402970
push 0
sub ecx, edx
lea eax, [esp + 0x1b4]
push ecx
push eax
push esi
call sub.WS2_32.dll_send
push 0x5dc
lea eax, [esp + 0x890]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x88c]
push 0
push 0x5dc
push eax
push esi
call sub.WS2_32.dll_recv
lea eax, [esp + 0x88c]
push eax
push str.Send_Mail_Prepare_Receive:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401bf0
add esp, 8
push eax
call fcn.00401bf0
add esp, 8
mov ecx, eax
push 0x401dd0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push ebp
push str._s_r_n._r_n
lea eax, [esp + 0x1b8]
push 0x5dc
push eax
call fcn.00402bc0
lea ecx, [esp + 0x1c0]
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402a10
push 0
sub ecx, edx
lea eax, [esp + 0x1b4]
push ecx
push eax
push esi
call sub.WS2_32.dll_send
push 0x5dc
lea eax, [esp + 0x890]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x88c]
push 0
push 0x5dc
push eax
push esi
call sub.WS2_32.dll_recv
lea eax, [esp + 0x88c]
push eax
push str.Send_Mail_Receive:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401bf0
add esp, 8
push eax
call fcn.00401bf0
add esp, 8
mov ecx, eax
push 0x401dd0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push str.QUIT_r_n
lea eax, [esp + 0x1b4]
push 0x5dc
push eax
call fcn.00402bc0
lea ecx, [esp + 0x1bc]
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402ab0
push 0
sub ecx, edx
lea eax, [esp + 0x1b4]
push ecx
push eax
push esi
call sub.WS2_32.dll_send
push 0x5dc
lea eax, [esp + 0x890]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x88c]
push 0
push 0x5dc
push eax
push esi
call sub.WS2_32.dll_recv
lea eax, [esp + 0x88c]
push eax
push str.Quit_Receive:
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401bf0
add esp, 8
push eax
call fcn.00401bf0
add esp, 8
mov ecx, eax
push 0x401dd0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push esi
call sub.WS2_32.dll_closesocket
call sub.WS2_32.dll_WSACleanup
mov ecx, dword [esp + 0xe68]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00402c3f
add esp, 0xe5c
ret
push str.Connect_sockfd_TCP__error_
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401bf0
add esp, 8
mov ecx, eax
push 0x401dd0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0xffffffffffffffff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push str.Open_sockfd_TCP__error_
jmp 0x402b50