Function at 0x429d59
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 0x429d93
xor eax, eax
jmp 0x42a10c
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x429db3
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42a10c
push 0x10
push 0
lea ecx, [ebp - 0x10]
push ecx
call fcn.0042688c
add esp, 0xc
mov word [ebp - 0x10], 2
push 0x431483
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 [0x4313c8]
mov byte [edx], 0
lea eax, [ebp - 0x250]
push eax
push 0x4313c8
call fcn.00428cf1
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 0x429e40
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x429e40
mov eax, dword [ebp - 0x14]
push eax
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42a10c
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 0x429ee3
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 0x429ed2
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0x2733
jne 0x429ebd
jmp 0x429e58
mov edx, dword [ebp - 0x14]
push edx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42a10c
cmp dword [ebp - 0x3e4], 0x135
je 0x429ee3
jmp 0x429e58
mov eax, dword [ebp - 0x3ec]
add eax, dword [ebp - 0x3e8]
cmp eax, dword [ebp - 0x3f8]
ja 0x429f0c
mov ecx, dword [ebp - 0x14]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42a10c
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 0x429fdf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x118], 0
cmp dword [ebp - 0x118], 0x40
jae 0x429f7a
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 0x429f52
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 0x429fd1
mov eax, dword [ebp - 0x14]
push eax
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42a10c
cmp dword [ebp - 0x3e4], 0
jne 0x429fdf
jmp 0x429f24
mov ecx, dword [ebp - 0x3ec]
add ecx, dword [ebp - 0x3e8]
cmp ecx, dword [ebp - 0x3f8]
ja 0x42a008
mov edx, dword [ebp - 0x14]
push edx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42a10c
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 0x42a10a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3f8], eax
push 0x125
push 0
lea ecx, [ebp - 0x520]
push ecx
call fcn.0042688c
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 0x42a089
cmp dword [ebp - 0x3e4], 0
jne 0x42a0b7
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x3e4], eax
cmp dword [ebp - 0x3e4], 0x2733
jne 0x42a0a5
jmp 0x42a020
mov ecx, dword [ebp - 0x14]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
xor eax, eax
jmp 0x42a10c
cmp dword [ebp - 0x3e4], 0x125
jne 0x42a105
push 0x10
push 0
push 0x4314bd
call fcn.0042688c
add esp, 0xc
mov word [0x4314bd], 2
mov dx, word [ebp - 0xe]
mov word [0x4314bf], dx
mov eax, dword [ebp - 0xc]
mov dword [0x4314c1], eax
mov ecx, dword [ebp - 0x14]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
mov eax, 1
jmp 0x42a10c
jmp 0x42a020
xor eax, eax
mov esp, ebp
pop ebp
ret