Function at 0x424f30
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
Resolve dns
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
mov eax, dword [0x5a7634]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x98], ecx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WSOCK32.dll_gethostbyname]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x424fce
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx]
movsx ecx, byte [eax + 3]
and ecx, 0xff
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
movsx edx, byte [ecx + 2]
and edx, 0xff
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
movsx eax, byte [edx + 1]
and eax, 0xff
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx]
movsx ecx, byte [eax]
and ecx, 0xff
push ecx
push 0x559730
lea edx, [ebp - 0x88]
push edx
call fcn.0052cc44
add esp, 0x18
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x98]
call fcn.00422f70
jmp 0x424fd5
xor al, al
jmp 0x425133
mov ecx, dword [ebp - 0x98]
mov dword [ecx + 0x20], 0
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp + 0xc]
mov dword [edx + 0x1c], eax
mov ecx, dword [ebp - 0x98]
mov byte [ecx + 0x24], 0
mov edx, dword [ebp - 0x98]
mov dword [edx + 0x28], 0xffffffff
cmp dword [ebp + 8], 0
je 0x425011
cmp dword [ebp + 0xc], 0
jge 0x425018
xor al, al
jmp 0x425133
push 0
push 1
push 2
call dword [sym.imp.WSOCK32.dll_socket]
mov ecx, dword [ebp - 0x98]
mov dword [ecx + 0x28], eax
mov edx, dword [ebp - 0x98]
cmp dword [edx + 0x28], 0xffffffff
jne 0x425040
xor al, al
jmp 0x425133
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov ecx, 2
mov word [ebp - 0x20], cx
mov ecx, dword [ebp - 0x98]
call fcn.00422f90
push eax
call dword [sym.imp.WSOCK32.dll_inet_addr]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x98]
movzx eax, word [edx + 0x1c]
push eax
call dword [sym.imp.WSOCK32.dll_htons]
mov word [ebp - 0x1e], ax
mov byte [ebp - 5], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 4], eax
movzx ecx, byte [ebp + 0x10]
test ecx, ecx
jne 0x4250cf
mov dword [ebp - 0x8c], 1
lea edx, [ebp - 0x8c]
push edx
push 0x8004667e
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x28]
push ecx
call dword [sym.imp.WSOCK32.dll_ioctlsocket]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0xffffffff
jne 0x4250cf
xor al, al
jmp 0x425133
push 0x10
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x28]
push ecx
call dword [sym.imp.WSOCK32.dll_connect]
cmp eax, 0xffffffff
je 0x4250f6
mov edx, dword [ebp - 0x98]
mov byte [edx + 0x24], 1
jmp 0x425100
mov eax, dword [ebp - 0x98]
mov byte [eax + 0x24], 0
movzx ecx, byte [ebp + 0x10]
test ecx, ecx
je 0x425131
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x94], eax
mov edx, dword [ebp - 0x94]
sub edx, dword [ebp - 4]
mov eax, dword [ebp - 0x98]
mov dword [eax + 0x20], edx
mov ecx, dword [ebp - 0x98]
call fcn.00425150
mov al, 1
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052c40e
mov esp, ebp
pop ebp
ret 0xc