Function at 0x4a84e1
Capabilities:
Check for time delay via gettickcount
Get socket status

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x324
push ebx
mov ebx, dword [ebp + 0x70]
push esi
xor esi, esi
push edi
or edi, 0xffffffff
cmp ebx, edi
mov dword [ebp + 0x58], esi
mov dword [ebp + 0x5c], esi
mov dword [ebp + 0x64], esi
jne 0x4a851c
cmp dword [ebp + 0x74], edi
jne 0x4a851c
cmp dword [ebp + 0x78], edi
jne 0x4a851c
push dword [ebp + 0x7c]
call fcn.004a84be
pop ecx
jmp 0x4a87a1
mov eax, dword [ebp + 0x7c]
cmp eax, esi
jle 0x4a8531
mov dword [ebp + 0x64], eax
call fcn.004b04c1
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x5c], edx
cmp ebx, 0xffffffff
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0x1b8], esi
je 0x4a855f
xor esi, esi
inc esi
mov dword [ebp - 0x1b4], ebx
mov dword [ebp - 0x1b8], esi
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xb4], esi
mov edi, ebx
mov ecx, dword [ebp + 0x74]
cmp ecx, 0xffffffff
je 0x4a85d8
xor eax, eax
test esi, esi
jbe 0x4a857b
cmp dword [ebp + eax*4 - 0x1b4], ecx
je 0x4a857b
inc eax
cmp eax, esi
jb 0x4a856d
cmp eax, esi
jne 0x4a8598
cmp esi, 0x40
jae 0x4a8598
mov dword [ebp + eax*4 - 0x1b4], ecx
mov esi, dword [ebp - 0x1b8]
inc esi
mov dword [ebp - 0x1b8], esi
xor eax, eax
cmp dword [ebp - 0xb4], eax
jbe 0x4a85b4
cmp dword [ebp + eax*4 - 0xb0], ecx
je 0x4a85b4
inc eax
cmp eax, dword [ebp - 0xb4]
jb 0x4a85a2
cmp eax, dword [ebp - 0xb4]
jne 0x4a85d2
cmp dword [ebp - 0xb4], 0x40
jae 0x4a85d2
mov dword [ebp + eax*4 - 0xb0], ecx
inc dword [ebp - 0xb4]
cmp ecx, edi
jbe 0x4a85d8
mov edi, ecx
mov edx, dword [ebp + 0x78]
xor ecx, ecx
cmp edx, 0xffffffff
mov dword [ebp - 0x2bc], ecx
je 0x4a8635
inc ecx
xor eax, eax
cmp dword [ebp - 0xb4], eax
mov dword [ebp - 0x2b8], edx
mov dword [ebp - 0x2bc], ecx
jbe 0x4a8611
cmp dword [ebp + eax*4 - 0xb0], edx
je 0x4a8611
inc eax
cmp eax, dword [ebp - 0xb4]
jb 0x4a85ff
cmp eax, dword [ebp - 0xb4]
jne 0x4a862f
cmp dword [ebp - 0xb4], 0x40
jae 0x4a862f
mov dword [ebp + eax*4 - 0xb0], edx
inc dword [ebp - 0xb4]
cmp edx, edi
jbe 0x4a8635
mov edi, edx
xor eax, eax
cmp dword [ebp + 0x7c], eax
jge 0x4a8641
mov dword [ebp + 0x60], eax
jmp 0x4a8647
lea edx, [ebp + 0x50]
mov dword [ebp + 0x60], edx
inc edi
jmp 0x4a8658
mov esi, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x2bc]
xor eax, eax
cmp dword [ebp + 0x7c], eax
jle 0x4a8676
mov eax, dword [ebp + 0x64]
cdq
mov ebx, 0x3e8
idiv ebx
mov ebx, dword [ebp + 0x70]
imul edx, edx, 0x3e8
mov dword [ebp + 0x54], edx
jmp 0x4a867b
jne 0x4a867e
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x50], eax
push dword [ebp + 0x60]
neg ecx
lea eax, [ebp - 0xb4]
push eax
sbb ecx, ecx
lea eax, [ebp - 0x2bc]
and ecx, eax
neg esi
sbb esi, esi
lea eax, [ebp - 0x1b8]
push ecx
and esi, eax
push esi
push edi
call dword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x4a86f9
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x4a86c8
cmp dword [0x50a2d0], 0
jne 0x4a86fd
cmp eax, 0x2714
jne 0x4a86fd
cmp dword [ebp + 0x7c], 0
jle 0x4a864a
push dword [ebp + 0x5c]
push dword [ebp + 0x58]
call fcn.004b04c1
push edx
push eax
call fcn.004b04d7
mov ecx, dword [ebp + 0x7c]
sub ecx, eax
add esp, 0x10
test ecx, ecx
mov dword [ebp + 0x64], ecx
jg 0x4a864a
xor eax, eax
test eax, eax
jge 0x4a8705
or eax, 0xffffffff
jmp 0x4a87a1
jne 0x4a870e
xor eax, eax
jmp 0x4a87a1
xor esi, esi
cmp ebx, 0xffffffff
je 0x4a873b
lea eax, [ebp - 0x1b8]
push eax
push ebx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4a8727
inc esi
lea eax, [ebp - 0xb4]
push eax
push ebx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4a873b
or esi, 4
cmp dword [ebp + 0x74], 0xffffffff
je 0x4a876d
lea eax, [ebp - 0x1b8]
push eax
push dword [ebp + 0x74]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4a8757
or esi, 8
lea eax, [ebp - 0xb4]
push eax
push dword [ebp + 0x74]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4a876d
or esi, 4
cmp dword [ebp + 0x78], 0xffffffff
je 0x4a879f
lea eax, [ebp - 0x2bc]
push eax
push dword [ebp + 0x78]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4a8789
or esi, 2
lea eax, [ebp - 0xb4]
push eax
push dword [ebp + 0x78]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4a879f
or esi, 4
mov eax, esi
pop edi
pop esi
pop ebx
add ebp, 0x68
leave
ret