Function at 0x40c4fc
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create raw socket
Create tcp socket
Create udp socket
Initialize winsock library
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x40c504
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00403428
mov eax, dword [ebp - 8]
call fcn.00403428
mov ebx, 0x4117d0
mov esi, 0x411844
xor eax, eax
push ebp
push 0x40c8fc
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
push 0x411630
push 0x101
call sub.wsock32.dll_WSAStartup
push 0
push 1
push 2
call sub.wsock32.dll_socket
mov dword [ebx], eax
mov word [0x4117c0], 2
push 0x19
call sub.wsock32.dll_htons
push 0x19
call sub.wsock32.dll_htons
mov word [0x4117c2], ax
mov eax, dword [ebp - 8]
call fcn.00409a1c
mov dword [0x411840], eax
mov eax, dword [0x411840]
mov dword [0x4117c4], eax
push 0x10
push 0x4117c0
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_connect
push 0
push 0x100
push esi
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_recv
push 0x40c918
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.0040c454
push dword [ebp - 0x14]
push 0x40c928
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00403334
mov eax, dword [ebp - 0x10]
call fcn.00409c84
push 0
push 0x100
push esi
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_recv
push 0x40c934
push dword [ebp - 4]
push 0x40c928
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00403334
mov eax, dword [ebp - 0x18]
call fcn.00409c84
push 0
push 0x100
push esi
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_recv
push 0x40c948
push dword [ebp - 4]
push 0x40c928
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00403334
mov eax, dword [ebp - 0x1c]
call fcn.00409c84
push 0
push 0x100
push esi
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_recv
mov eax, 0x40c95c
call fcn.00409c84
push 0
push 0x100
push esi
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_recv
mov eax, 0x4117d8
mov edx, 0x40c96c
call fcn.00403128
lea eax, [ebp - 0x20]
call fcn.0040bc74
mov edx, dword [ebp - 0x20]
mov eax, 0x411960
call fcn.00403128
lea eax, [ebp - 0x24]
call fcn.0040b734
cmp dword [ebp - 0x24], 0
je 0x40c6c7
push dword [0x411960]
push 0x40c928
push 0x40c928
lea eax, [ebp - 0x28]
call fcn.0040b734
push dword [ebp - 0x28]
mov eax, 0x411960
mov edx, 4
call fcn.00403334
mov eax, 0x40c980
call fcn.0040a800
cmp dword [0x4119e8], 0
je 0x40c6ff
push dword [0x411960]
push 0x40c928
push 0x40c928
push dword [0x4119e8]
mov eax, 0x411960
mov edx, 4
call fcn.00403334
cmp dword [0x4117e0], 0
jne 0x40c719
mov eax, dword [0x4117e0]
mov edx, 0x40c99c
call fcn.00403384
je 0x40c729
mov eax, 0x411960
mov edx, dword [0x4117e0]
call fcn.0040327c
mov eax, 0x4117e0
call fcn.004030d4
push 0x40c9a8
call fcn.004054e8
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x2c]
call fcn.00405984
push dword [ebp - 0x2c]
push 0x40c928
push 0x40c9b8
push 0x40c9c8
push 0x40c928
push 0x40c9e0
push 0x40c928
push 0x40c9fc
push 0x40c9c8
push 0x40c928
push 0x40ca10
push 0x40ca28
push 0x40c928
push 0x40ca38
push 0x40c928
push 0x40ca58
push 0x40c928
push 0x40ca88
push dword [ebp - 4]
push 0x40c928
push 0x40ca98
push 0x40caac
push 0x40c928
push 0x40cabc
push 0x40c928
push 0x40cad8
push dword [0x4117d8]
push 0x40cb0c
push 0x40c928
push 0x40c928
push 0x40cb18
push dword [0x4117d8]
push 0x40c928
push 0x40cb24
push 0x40c928
push 0x40c928
push dword [0x411960]
push 0x40c928
mov eax, 0x4117d4
mov edx, 0x27
call fcn.00403334
push dword [0x4117d4]
push 0x40cb18
push dword [0x4117d8]
push 0x40cb18
push 0x40c928
push 0x40cb5c
push 0x40c928
mov eax, 0x4117d4
mov edx, 7
call fcn.00403334
mov eax, dword [0x4117d4]
call fcn.00409c84
push 0
push 0x100
push esi
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_recv
mov eax, 0x40cb68
call fcn.00409c84
push 0
push 0x100
push esi
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_recv
inc eax
je 0x40c887
mov byte [ebp - 9], 1
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_closesocket
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_closesocket
cmp byte [ebp - 9], 1
je 0x40c8d4
xor eax, eax
push ebp
push 0x40c8ca
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0040c35c
mov edx, dword [0x41194c]
mov eax, dword [0x411948]
call fcn.0040c4fc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x40c8d4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40c903
lea eax, [ebp - 0x2c]
mov edx, 8
call fcn.004030f8
lea eax, [ebp - 8]
mov edx, 2
call fcn.004030f8
ret