Function at 0x42c660
Capabilities:
Check for time delay via gettickcount
Create tcp socket
Create udp socket
Get socket status
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5417d1
mov eax, dword fs:[0]
push eax
sub esp, 0xa80
mov eax, dword [0x5a5784]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov esi, ecx
lea ecx, [ebp - 0xa70]
mov dword [ebp - 0xa6c], eax
mov dword [ebp - 0xa84], 1
call fcn.0042fbd0
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x624], eax
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x61c], eax
push eax
push 2
push 2
mov byte [ebp - 4], 1
call dword [sym.imp.WS2_32.dll_socket]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x42c71e
mov eax, dword [ebp - 0x624]
xor esi, esi
cmp eax, esi
je 0x42c6f3
push eax
call fcn.00430e1b
add esp, 4
mov dword [ebp - 0x624], esi
mov dword [ebp - 0x620], esi
mov dword [ebp - 0x61c], esi
lea ecx, [ebp - 0xa70]
mov dword [ebp - 4], 0xffffffff
call fcn.0042fbe0
xor eax, eax
jmp 0x42c90a
mov ecx, 2
push edi
mov edi, dword [sym.imp.WS2_32.dll_inet_addr]
mov word [ebp - 0x64c], cx
call edi
push 0
mov dword [ebp - 0x648], eax
call dword [sym.imp.WS2_32.dll_htons]
push 0x10
lea edx, [ebp - 0x64c]
mov word [ebp - 0x64a], ax
xor eax, eax
push edx
push ebx
mov dword [ebp - 0x644], eax
mov dword [ebp - 0x640], eax
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x42c777
push ebx
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x42c6de
lea eax, [ebp - 0xa80]
push eax
push 0x8004667e
push ebx
mov dword [ebp - 0xa80], 1
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x42c76b
push 4
lea ecx, [ebp - 0xa84]
push ecx
push 0x20
push 0xffff
push ebx
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x42c7cc
push ebx
call dword [sym.imp.WS2_32.dll_closesocket]
lea ecx, [ebp - 0x63c]
call fcn.0042bc10
jmp 0x42c705
mov eax, dword [ebp - 0xa6c]
mov edx, 2
push eax
mov word [ebp - 0xa68], dx
call edi
push 0xa1
mov dword [ebp - 0xa64], eax
call dword [sym.imp.WS2_32.dll_htons]
lea ecx, [ebp - 0xa78]
mov word [ebp - 0xa66], ax
call fcn.004304d0
lea ecx, [ebp - 0xa74]
push ecx
lea edx, [ebp - 0x610]
push edx
push esi
lea ecx, [ebp - 0xa78]
mov byte [ebp - 4], 2
call fcn.004308f0
movzx eax, word [ebp - 0xa74]
push 0x10
lea ecx, [ebp - 0xa68]
push ecx
push 0
push eax
lea edx, [ebp - 0x610]
push edx
push ebx
call dword [sym.imp.WS2_32.dll_sendto]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa6c], eax
nop
push 0xfc
lea eax, [ebp - 0x748]
push 0
push eax
mov dword [ebp - 0x750], 1
mov dword [ebp - 0x74c], ebx
call fcn.00526710
add esp, 0xc
lea ecx, [ebp - 0xa8c]
push ecx
push 0
push 0
lea edx, [ebp - 0x750]
push edx
push 0
mov dword [ebp - 0xa8c], 0
mov dword [ebp - 0xa88], 0xa
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jne 0x42c928
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0xa6c]
cmp eax, dword [ebp + 0x10]
jb 0x42c850
lea ecx, [ebp - 0xa78]
mov byte [ebp - 4], 1
call fcn.004304e0
mov eax, dword [ebp - 0x624]
xor esi, esi
cmp eax, esi
je 0x42c8e1
push eax
call fcn.00430e1b
add esp, 4
lea ecx, [ebp - 0xa70]
mov dword [ebp - 0x624], esi
mov dword [ebp - 0x620], esi
mov dword [ebp - 0x61c], esi
mov dword [ebp - 4], 0xffffffff
call fcn.0042fbe0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052442d
mov esp, ebp
pop ebp
ret 0xc
lea eax, [ebp - 0xa7c]
push eax
lea ecx, [ebp - 0xa68]
push ecx
push 0
push 0x5dc
lea edi, [esi + 0x658]
push edi
push ebx
mov dword [ebp - 0xa7c], 0x10
call dword [sym.imp.WS2_32.dll_recvfrom]
cmp eax, 0xffffffff
je 0x42c8ac
push eax
push edi
push esi
lea ecx, [ebp - 0xa70]
call fcn.00430070
test eax, eax
jne 0x42c8ac
cmp dword [esi + 0x10], eax
jne 0x42c8ac
mov edx, dword [ebp - 0xa64]
push edx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [ebp - 0x63c]
push 0x15
push eax
call fcn.00525bd2
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x4c]
sub eax, ecx
sar eax, 2
add esp, 0xc
xor edi, edi
test eax, eax
je 0x42ca0e
cmp eax, edi
jbe 0x42ca39
mov ecx, dword [ecx + edi*4]
cmp dword [ecx + 4], 4
jne 0x42c9e0
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x2c]
mov ax, word [eax + 2]
cmp ax, word [edx]
jae 0x42c9e0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0xa6c]
cmp eax, dword [ebp + 0x10]
jae 0x42ca0e
jmp 0x42c9fe
lea edx, [ebp - 0xa58]
push edx
call fcn.0042dcf0
lea eax, [ebp - 0xa58]
push eax
lea ecx, [ebp - 0x624]
call fcn.0042bc40
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x4c]
sub eax, ecx
inc edi
sar eax, 2
cmp eax, edi
ja 0x42c9b5
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x63c]
mov dword [ebp - 0x614], ecx
push edx
lea ecx, [esi + 0xc60]
call fcn.0042c5a0
lea ecx, [ebp - 0x624]
call fcn.0042b910
jmp 0x42c8ac
push str.invalid_vector_T__subscript
call fcn.005414fa
int3