Function at 0x42dd59
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 0x42dd93
xor eax, eax
jmp 0x42e10c
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x42ddb3
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42e10c
push 0x10
push 0
lea ecx, [ebp - 0x10]
push ecx
call fcn.0042a88c
add esp, 0xc
mov word [ebp - 0x10], 2
push 0x436483
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 [0x4363c8]
mov byte [edx], 0
lea eax, [ebp - 0x250]
push eax
push 0x4363c8
call fcn.0042ccf1
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 0x42de40
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x42de40
mov eax, dword [ebp - 0x14]
push eax
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42e10c
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 0x42dee3
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 0x42ded2
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0x2733
jne 0x42debd
jmp 0x42de58
mov edx, dword [ebp - 0x14]
push edx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42e10c
cmp dword [ebp - 0x3e4], 0x135
je 0x42dee3
jmp 0x42de58
mov eax, dword [ebp - 0x3ec]
add eax, dword [ebp - 0x3e8]
cmp eax, dword [ebp - 0x3f8]
ja 0x42df0c
mov ecx, dword [ebp - 0x14]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42e10c
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 0x42dfdf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x118], 0
cmp dword [ebp - 0x118], 0x40
jae 0x42df7a
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 0x42df52
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 0x42dfd1
mov eax, dword [ebp - 0x14]
push eax
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42e10c
cmp dword [ebp - 0x3e4], 0
jne 0x42dfdf
jmp 0x42df24
mov ecx, dword [ebp - 0x3ec]
add ecx, dword [ebp - 0x3e8]
cmp ecx, dword [ebp - 0x3f8]
ja 0x42e008
mov edx, dword [ebp - 0x14]
push edx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42e10c
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 0x42e10a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3f8], eax
push 0x125
push 0
lea ecx, [ebp - 0x520]
push ecx
call fcn.0042a88c
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 0x42e089
cmp dword [ebp - 0x3e4], 0
jne 0x42e0b7
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0x2733
jne 0x42e0a5
jmp 0x42e020
mov ecx, dword [ebp - 0x14]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42e10c
cmp dword [ebp - 0x3e4], 0x125
jne 0x42e105
push 0x10
push 0
push 0x4364bd
call fcn.0042a88c
add esp, 0xc
mov word [0x4364bd], 2
mov dx, word [ebp - 0xe]
mov word [0x4364bf], dx
mov eax, dword [ebp - 0xc]
mov dword [0x4364c1], eax
mov ecx, dword [ebp - 0x14]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
mov eax, 1
jmp 0x42e10c
jmp 0x42e020
xor eax, eax
mov esp, ebp
pop ebp
ret