Function at 0x424d59
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 0x424d93
xor eax, eax
jmp 0x42510c
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x424db3
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42510c
push 0x10
push 0
lea ecx, [ebp - 0x10]
push ecx
call fcn.0042188c
add esp, 0xc
mov word [ebp - 0x10], 2
push 0x42b483
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 [0x42b3c8]
mov byte [edx], 0
lea eax, [ebp - 0x250]
push eax
push 0x42b3c8
call fcn.00423cf1
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 0x424e40
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x424e40
mov eax, dword [ebp - 0x14]
push eax
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42510c
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 0x424ee3
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 0x424ed2
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0x2733
jne 0x424ebd
jmp 0x424e58
mov edx, dword [ebp - 0x14]
push edx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42510c
cmp dword [ebp - 0x3e4], 0x135
je 0x424ee3
jmp 0x424e58
mov eax, dword [ebp - 0x3ec]
add eax, dword [ebp - 0x3e8]
cmp eax, dword [ebp - 0x3f8]
ja 0x424f0c
mov ecx, dword [ebp - 0x14]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42510c
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 0x424fdf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x118], 0
cmp dword [ebp - 0x118], 0x40
jae 0x424f7a
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 0x424f52
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 0x424fd1
mov eax, dword [ebp - 0x14]
push eax
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42510c
cmp dword [ebp - 0x3e4], 0
jne 0x424fdf
jmp 0x424f24
mov ecx, dword [ebp - 0x3ec]
add ecx, dword [ebp - 0x3e8]
cmp ecx, dword [ebp - 0x3f8]
ja 0x425008
mov edx, dword [ebp - 0x14]
push edx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42510c
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 0x42510a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3f8], eax
push 0x125
push 0
lea ecx, [ebp - 0x520]
push ecx
call fcn.0042188c
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 0x425089
cmp dword [ebp - 0x3e4], 0
jne 0x4250b7
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0x2733
jne 0x4250a5
jmp 0x425020
mov ecx, dword [ebp - 0x14]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42510c
cmp dword [ebp - 0x3e4], 0x125
jne 0x425105
push 0x10
push 0
push 0x42b4bd
call fcn.0042188c
add esp, 0xc
mov word [0x42b4bd], 2
mov dx, word [ebp - 0xe]
mov word [0x42b4bf], dx
mov eax, dword [ebp - 0xc]
mov dword [0x42b4c1], eax
mov ecx, dword [ebp - 0x14]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
mov eax, 1
jmp 0x42510c
jmp 0x425020
xor eax, eax
mov esp, ebp
pop ebp
ret