Function at 0x42cd59
Capabilities:
Act as tcp client
Check for time delay via gettickcount
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get socket status
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x520
mov dword [ebp - 0x3e8], 0x190
lea eax, [ebp - 0x3e0]
push eax
push 0x101
call sub.WSOCK32.dll_WSAStartup
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0
je 0x42cd93
xor eax, eax
jmp 0x42d10c
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x42cdb3
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42d10c
push 0x10
push 0
lea ecx, [ebp - 0x10]
push ecx
call fcn.0042988c
add esp, 0xc
mov word [ebp - 0x10], 2
push 0x434483
call sub.WSOCK32.dll_inet_addr
mov dword [ebp - 0xc], eax
push 0x11eb
call sub.WSOCK32.dll_htons
mov word [ebp - 0xe], ax
mov edx, dword [0x4343c8]
mov byte [edx], 0
lea eax, [ebp - 0x250]
push eax
push 0x4343c8
call fcn.0042bcf1
add esp, 8
push 0x10
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call sub.WSOCK32.dll_connect
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0xffffffff
jne 0x42ce40
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x42ce40
mov eax, dword [ebp - 0x14]
push eax
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42d10c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3f8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3ec], eax
mov ecx, dword [ebp - 0x3ec]
add ecx, dword [ebp - 0x3e8]
cmp ecx, dword [ebp - 0x3f8]
jbe 0x42cee3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3f8], eax
push 0x10
lea edx, [ebp - 0x10]
push edx
push 0
push 0x135
lea eax, [ebp - 0x250]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call sub.WSOCK32.dll_sendto
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0xffffffff
jne 0x42ced2
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0x2733
jne 0x42cebd
jmp 0x42ce58
mov edx, dword [ebp - 0x14]
push edx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42d10c
cmp dword [ebp - 0x3e4], 0x135
je 0x42cee3
jmp 0x42ce58
mov eax, dword [ebp - 0x3ec]
add eax, dword [ebp - 0x3e8]
cmp eax, dword [ebp - 0x3f8]
ja 0x42cf0c
mov ecx, dword [ebp - 0x14]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42d10c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3f8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3ec], eax
mov edx, dword [ebp - 0x3ec]
add edx, dword [ebp - 0x3e8]
cmp edx, dword [ebp - 0x3f8]
jbe 0x42cfdf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x118], 0
cmp dword [ebp - 0x118], 0x40
jae 0x42cf7a
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x114], ecx
mov edx, dword [ebp - 0x118]
add edx, 1
mov dword [ebp - 0x118], edx
xor eax, eax
test eax, eax
jne 0x42cf52
mov dword [ebp - 0x3f4], 2
mov dword [ebp - 0x3f0], 0
lea ecx, [ebp - 0x3f4]
push ecx
push 0
push 0
lea edx, [ebp - 0x118]
push edx
push 0x40
call sub.WSOCK32.dll_select
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0xffffffff
jne 0x42cfd1
mov eax, dword [ebp - 0x14]
push eax
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42d10c
cmp dword [ebp - 0x3e4], 0
jne 0x42cfdf
jmp 0x42cf24
mov ecx, dword [ebp - 0x3ec]
add ecx, dword [ebp - 0x3e8]
cmp ecx, dword [ebp - 0x3f8]
ja 0x42d008
mov edx, dword [ebp - 0x14]
push edx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42d10c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3f8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3ec], eax
mov eax, dword [ebp - 0x3ec]
add eax, dword [ebp - 0x3e8]
cmp eax, dword [ebp - 0x3f8]
jbe 0x42d10a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3f8], eax
push 0x125
push 0
lea ecx, [ebp - 0x520]
push ecx
call fcn.0042988c
add esp, 0xc
push 0
push 0x125
lea edx, [ebp - 0x520]
push edx
mov eax, dword [ebp - 0x14]
push eax
call sub.WSOCK32.dll_recv
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0xffffffff
je 0x42d089
cmp dword [ebp - 0x3e4], 0
jne 0x42d0b7
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0x2733
jne 0x42d0a5
jmp 0x42d020
mov ecx, dword [ebp - 0x14]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42d10c
cmp dword [ebp - 0x3e4], 0x125
jne 0x42d105
push 0x10
push 0
push 0x4344bd
call fcn.0042988c
add esp, 0xc
mov word [0x4344bd], 2
mov dx, word [ebp - 0xe]
mov word [0x4344bf], dx
mov eax, dword [ebp - 0xc]
mov dword [0x4344c1], eax
mov ecx, dword [ebp - 0x14]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
mov eax, 1
jmp 0x42d10c
jmp 0x42d020
xor eax, eax
mov esp, ebp
pop ebp
ret