Function at 0x403a8d
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x41c
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x41c], eax
mov word [ebp - 0x10], 2
push 0x19
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xe], ax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x403ad4
xor eax, eax
jmp 0x403ec2
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [ebp - 0xc], ecx
push 0x10
lea edx, [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x41c]
push eax
call dword [sym.imp.WS2_32.dll_connect]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x403b07
mov eax, 1
jmp 0x403ec2
push 0
push 0x400
lea ecx, [ebp - 0x418]
push ecx
mov edx, dword [ebp - 0x41c]
push edx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x14], eax
push str.HELO_yahoo.com_r_n
lea eax, [ebp - 0x418]
push eax
call fcn.00404960
add esp, 8
push 0
lea ecx, [ebp - 0x418]
push ecx
call fcn.00404540
add esp, 4
push eax
lea edx, [ebp - 0x418]
push edx
mov eax, dword [ebp - 0x41c]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x14], eax
push 0
push 0x400
lea ecx, [ebp - 0x418]
push ecx
mov edx, dword [ebp - 0x41c]
push edx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x10]
push eax
push str.MAIL_FROM:_s_r_n
lea ecx, [ebp - 0x418]
push ecx
call fcn.00404900
add esp, 0xc
push 0
lea edx, [ebp - 0x418]
push edx
call fcn.00404540
add esp, 4
push eax
lea eax, [ebp - 0x418]
push eax
mov ecx, dword [ebp - 0x41c]
push ecx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp + 0xc]
push edx
push str.RCPT_TO:_s_r_n
lea eax, [ebp - 0x418]
push eax
call fcn.00404900
add esp, 0xc
push 0
lea ecx, [ebp - 0x418]
push ecx
call fcn.00404540
add esp, 4
push eax
lea edx, [ebp - 0x418]
push edx
mov eax, dword [ebp - 0x41c]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x14], eax
push 0
push 3
lea ecx, [ebp - 0x418]
push ecx
mov edx, dword [ebp - 0x41c]
push edx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x14], eax
movsx eax, byte [ebp - 0x418]
cmp eax, 0x32
jne 0x403c43
movsx ecx, byte [ebp - 0x417]
cmp ecx, 0x35
jne 0x403c43
movsx edx, byte [ebp - 0x416]
cmp edx, 0x30
jne 0x403c43
jmp 0x403c4d
mov eax, 2
jmp 0x403ec2
push 0
lea eax, [ebp - 0x418]
push eax
call fcn.00404540
add esp, 4
push eax
lea ecx, [ebp - 0x418]
push ecx
mov edx, dword [ebp - 0x41c]
push edx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x14], eax
push 0
push 0x400
lea eax, [ebp - 0x418]
push eax
mov ecx, dword [ebp - 0x41c]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x14], eax
push str.DATA_r_n
lea edx, [ebp - 0x418]
push edx
call fcn.00404960
add esp, 8
push 0
lea eax, [ebp - 0x418]
push eax
call fcn.00404540
add esp, 4
push eax
lea ecx, [ebp - 0x418]
push ecx
mov edx, dword [ebp - 0x41c]
push edx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x14]
push eax
push str.FROM:__s__r_n
lea ecx, [ebp - 0x418]
push ecx
call fcn.00404900
add esp, 0xc
push 0
lea edx, [ebp - 0x418]
push edx
call fcn.00404540
add esp, 4
push eax
lea eax, [ebp - 0x418]
push eax
mov ecx, dword [ebp - 0x41c]
push ecx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp + 0xc]
push edx
push str.TO:_s_r_n
lea eax, [ebp - 0x418]
push eax
call fcn.00404900
add esp, 0xc
push 0
lea ecx, [ebp - 0x418]
push ecx
call fcn.00404540
add esp, 4
push eax
lea edx, [ebp - 0x418]
push edx
mov eax, dword [ebp - 0x41c]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 0x1c]
push ecx
push str.MESSAGE_ID:_zzz___r_nSUBJECT:__s_r_n
lea edx, [ebp - 0x418]
push edx
call fcn.00404900
add esp, 0xc
push 0
lea eax, [ebp - 0x418]
push eax
call fcn.00404540
add esp, 4
push eax
lea ecx, [ebp - 0x418]
push ecx
mov edx, dword [ebp - 0x41c]
push edx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0x418]
push ecx
call fcn.00404960
add esp, 8
push 0
lea edx, [ebp - 0x418]
push edx
call fcn.00404540
add esp, 4
push eax
lea eax, [ebp - 0x418]
push eax
mov ecx, dword [ebp - 0x41c]
push ecx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x14], eax
push str._r_n._r_n
lea edx, [ebp - 0x418]
push edx
call fcn.00404960
add esp, 8
push 0
lea eax, [ebp - 0x418]
push eax
call fcn.00404540
add esp, 4
push eax
lea ecx, [ebp - 0x418]
push ecx
mov edx, dword [ebp - 0x41c]
push edx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x14], eax
push 0
push 3
lea eax, [ebp - 0x418]
push eax
mov ecx, dword [ebp - 0x41c]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x14], eax
movsx edx, byte [ebp - 0x418]
cmp edx, 0x32
jne 0x403e4e
movsx eax, byte [ebp - 0x417]
cmp eax, 0x35
jne 0x403e4e
movsx ecx, byte [ebp - 0x416]
cmp ecx, 0x30
jne 0x403e4e
jmp 0x403e55
mov eax, 3
jmp 0x403ec2
push str.QUIT_r_n
lea edx, [ebp - 0x418]
push edx
call fcn.00404960
add esp, 8
push 0
lea eax, [ebp - 0x418]
push eax
call fcn.00404540
add esp, 4
push eax
lea ecx, [ebp - 0x418]
push ecx
mov edx, dword [ebp - 0x41c]
push edx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x14], eax
push 0
push 0x400
lea eax, [ebp - 0x418]
push eax
mov ecx, dword [ebp - 0x41c]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x41c]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, 4
mov esp, ebp
pop ebp
ret