Function at 0x4ab02b
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 0x4ab066
cmp dword [ebp + 0x74], edi
jne 0x4ab066
cmp dword [ebp + 0x78], edi
jne 0x4ab066
push dword [ebp + 0x7c]
call fcn.004ab008
pop ecx
jmp 0x4ab2eb
mov eax, dword [ebp + 0x7c]
cmp eax, esi
jle 0x4ab07b
mov dword [ebp + 0x64], eax
call fcn.004b300b
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x5c], edx
cmp ebx, 0xffffffff
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0x1b8], esi
je 0x4ab0a9
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 0x4ab122
xor eax, eax
test esi, esi
jbe 0x4ab0c5
cmp dword [ebp + eax*4 - 0x1b4], ecx
je 0x4ab0c5
inc eax
cmp eax, esi
jb 0x4ab0b7
cmp eax, esi
jne 0x4ab0e2
cmp esi, 0x40
jae 0x4ab0e2
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 0x4ab0fe
cmp dword [ebp + eax*4 - 0xb0], ecx
je 0x4ab0fe
inc eax
cmp eax, dword [ebp - 0xb4]
jb 0x4ab0ec
cmp eax, dword [ebp - 0xb4]
jne 0x4ab11c
cmp dword [ebp - 0xb4], 0x40
jae 0x4ab11c
mov dword [ebp + eax*4 - 0xb0], ecx
inc dword [ebp - 0xb4]
cmp ecx, edi
jbe 0x4ab122
mov edi, ecx
mov edx, dword [ebp + 0x78]
xor ecx, ecx
cmp edx, 0xffffffff
mov dword [ebp - 0x2bc], ecx
je 0x4ab17f
inc ecx
xor eax, eax
cmp dword [ebp - 0xb4], eax
mov dword [ebp - 0x2b8], edx
mov dword [ebp - 0x2bc], ecx
jbe 0x4ab15b
cmp dword [ebp + eax*4 - 0xb0], edx
je 0x4ab15b
inc eax
cmp eax, dword [ebp - 0xb4]
jb 0x4ab149
cmp eax, dword [ebp - 0xb4]
jne 0x4ab179
cmp dword [ebp - 0xb4], 0x40
jae 0x4ab179
mov dword [ebp + eax*4 - 0xb0], edx
inc dword [ebp - 0xb4]
cmp edx, edi
jbe 0x4ab17f
mov edi, edx
xor eax, eax
cmp dword [ebp + 0x7c], eax
jge 0x4ab18b
mov dword [ebp + 0x60], eax
jmp 0x4ab191
lea edx, [ebp + 0x50]
mov dword [ebp + 0x60], edx
inc edi
jmp 0x4ab1a2
mov esi, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x2bc]
xor eax, eax
cmp dword [ebp + 0x7c], eax
jle 0x4ab1c0
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 0x4ab1c5
jne 0x4ab1c8
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 0x4ab243
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x4ab212
cmp dword [0x50a364], 0
jne 0x4ab247
cmp eax, 0x2714
jne 0x4ab247
cmp dword [ebp + 0x7c], 0
jle 0x4ab194
push dword [ebp + 0x5c]
push dword [ebp + 0x58]
call fcn.004b300b
push edx
push eax
call fcn.004b3021
mov ecx, dword [ebp + 0x7c]
sub ecx, eax
add esp, 0x10
test ecx, ecx
mov dword [ebp + 0x64], ecx
jg 0x4ab194
xor eax, eax
test eax, eax
jge 0x4ab24f
or eax, 0xffffffff
jmp 0x4ab2eb
jne 0x4ab258
xor eax, eax
jmp 0x4ab2eb
xor esi, esi
cmp ebx, 0xffffffff
je 0x4ab285
lea eax, [ebp - 0x1b8]
push eax
push ebx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4ab271
inc esi
lea eax, [ebp - 0xb4]
push eax
push ebx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4ab285
or esi, 4
cmp dword [ebp + 0x74], 0xffffffff
je 0x4ab2b7
lea eax, [ebp - 0x1b8]
push eax
push dword [ebp + 0x74]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4ab2a1
or esi, 8
lea eax, [ebp - 0xb4]
push eax
push dword [ebp + 0x74]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4ab2b7
or esi, 4
cmp dword [ebp + 0x78], 0xffffffff
je 0x4ab2e9
lea eax, [ebp - 0x2bc]
push eax
push dword [ebp + 0x78]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4ab2d3
or esi, 2
lea eax, [ebp - 0xb4]
push eax
push dword [ebp + 0x78]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4ab2e9
or esi, 4
mov eax, esi
pop edi
pop esi
pop ebx
add ebp, 0x68
leave
ret