Function at 0x413e58
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create raw 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
add esp, 0xfffffbd8
push ebx
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004041a8
mov eax, dword [ebp - 8]
call fcn.004041a8
mov eax, dword [ebp - 0xc]
call fcn.004041a8
mov eax, dword [ebp + 8]
call fcn.004041a8
xor eax, eax
push ebp
push 0x4140e3
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 1
push 2
call sub.wsock32.dll_socket
mov ebx, eax
mov eax, dword [0x41ffdc]
mov eax, dword [eax + 0x214]
call fcn.004041b8
push eax
call sub.wsock32.dll_gethostbyname
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
lea edx, [ebp - 0x14]
mov ecx, 4
call fcn.004026dc
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov word [ebp - 0x24], 2
push 0x19
call sub.wsock32.dll_htons
mov word [ebp - 0x22], ax
push 0x10
lea eax, [ebp - 0x24]
push eax
push ebx
call sub.wsock32.dll_connect
lea eax, [ebp - 0x10]
mov edx, 0x4140fc
call fcn.00403ea8
push 0
mov eax, dword [ebp - 0x10]
call fcn.00403fb8
push eax
lea eax, [ebp - 0x10]
call fcn.00404210
push eax
push ebx
call sub.wsock32.dll_send
push 0
push 0x400
lea eax, [ebp - 0x425]
push eax
push ebx
call sub.wsock32.dll_recv
push 0x41410c
push dword [ebp - 8]
push 0x414120
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00404078
push 0
mov eax, dword [ebp - 0x10]
call fcn.00403fb8
push eax
lea eax, [ebp - 0x10]
call fcn.00404210
push eax
push ebx
call sub.wsock32.dll_send
push 0
push 0x400
lea eax, [ebp - 0x425]
push eax
push ebx
call sub.wsock32.dll_recv
push 0x41412c
push dword [ebp - 4]
push 0x414120
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00404078
push 0
mov eax, dword [ebp - 0x10]
call fcn.00403fb8
push eax
lea eax, [ebp - 0x10]
call fcn.00404210
push eax
push ebx
call sub.wsock32.dll_send
push 0
push 0x400
lea eax, [ebp - 0x425]
push eax
push ebx
call sub.wsock32.dll_recv
lea eax, [ebp - 0x10]
mov edx, 0x414140
call fcn.00403ea8
push 0
mov eax, dword [ebp - 0x10]
call fcn.00403fb8
push eax
lea eax, [ebp - 0x10]
call fcn.00404210
push eax
push ebx
call sub.wsock32.dll_send
push 0
push 0x400
lea eax, [ebp - 0x425]
push eax
push ebx
call sub.wsock32.dll_recv
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov edx, 0x414150
call fcn.00404004
push dword [ebp - 0x10]
push 0x414164
push dword [ebp + 8]
push 0x414164
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00404078
push 0
mov eax, dword [ebp - 0x10]
call fcn.00403fb8
push eax
lea eax, [ebp - 0x10]
call fcn.00404210
push eax
push ebx
call sub.wsock32.dll_send
lea eax, [ebp - 0x10]
mov edx, 0x414170
call fcn.00403ea8
push 0
mov eax, dword [ebp - 0x10]
call fcn.00403fb8
push eax
lea eax, [ebp - 0x10]
call fcn.00404210
push eax
push ebx
call sub.wsock32.dll_send
lea eax, [ebp - 0x10]
mov edx, 0x41417c
call fcn.00403ea8
push 0
mov eax, dword [ebp - 0x10]
call fcn.00403fb8
push eax
lea eax, [ebp - 0x10]
call fcn.00404210
push eax
push ebx
call sub.wsock32.dll_send
push 0
push 0x400
lea eax, [ebp - 0x425]
push eax
push ebx
call sub.wsock32.dll_recv
mov eax, dword [0x41d610]
add eax, 4
mov edx, dword [0x41d610]
mov edx, dword [edx]
call fcn.00403e64
push ebx
call sub.wsock32.dll_closesocket
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4140ea
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00403e34
lea eax, [ebp + 8]
call fcn.00403e10
ret