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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x320
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
cmp esi, 0xffffffff
jne 0x101f2756
cmp ebx, esi
jne 0x101f2756
cmp dword [ebp + 0x10], esi
jne 0x101f2756
mov eax, dword [ebp + 0x14]
cmp eax, edi
je 0x101f274d
jge 0x101f2746
push 0x2726
call dword [sym.imp.WS2_32.dll_WSASetLastError]
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
cmp eax, edi
jle 0x101f276a
mov edi, eax
call fcn.101fa2d0
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x118], ecx
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x21c], edx
cmp esi, 0xffffffff
je 0x101f27a8
mov edx, 1
mov ecx, edx
mov dword [ebp - 0x218], esi
mov dword [ebp - 0x21c], edx
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x118], ecx
mov dword [ebp - 4], esi
cmp ebx, 0xffffffff
je 0x101f2813
xor eax, eax
test edx, edx
je 0x101f27c1
cmp dword [ebp + eax*4 - 0x218], ebx
je 0x101f27c1
inc eax
cmp eax, edx
jb 0x101f27b3
cmp eax, edx
jne 0x101f27d7
cmp edx, 0x40
jae 0x101f27d7
mov dword [ebp + eax*4 - 0x218], ebx
inc dword [ebp - 0x21c]
xor eax, eax
test ecx, ecx
je 0x101f27ee
lea ecx, [ecx]
cmp dword [ebp + eax*4 - 0x114], ebx
je 0x101f27ee
inc eax
cmp eax, ecx
jb 0x101f27e0
cmp eax, ecx
jne 0x101f280b
cmp ecx, 0x40
jae 0x101f280b
mov dword [ebp + eax*4 - 0x114], ebx
mov ecx, dword [ebp - 0x118]
inc ecx
mov dword [ebp - 0x118], ecx
cmp ebx, dword [ebp - 4]
jbe 0x101f2813
mov dword [ebp - 4], ebx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x320], 0
cmp eax, 0xffffffff
je 0x101f2874
mov dword [ebp - 0x31c], eax
xor eax, eax
mov dword [ebp - 0x320], 1
test ecx, ecx
je 0x101f2853
jmp 0x101f2840
mov edx, dword [ebp + 0x10]
cmp dword [ebp + eax*4 - 0x114], edx
je 0x101f2856
inc eax
cmp eax, ecx
jb 0x101f2840
jmp 0x101f2856
mov edx, dword [ebp + 0x10]
cmp eax, ecx
jne 0x101f286c
cmp ecx, 0x40
jae 0x101f286c
mov dword [ebp + eax*4 - 0x114], edx
inc dword [ebp - 0x118]
cmp edx, dword [ebp - 4]
jbe 0x101f2874
mov dword [ebp - 4], edx
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dword [ebp + 0x14], eax
lea ecx, [ebp - 0x14]
setl al
lea esi, [eax - 1]
and esi, ecx
inc ebx
mov eax, dword [ebp + 0x14]
xor ecx, ecx
cmp eax, ecx
jle 0x101f28ba
mov eax, 0x10624dd3
imul edi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x14], eax
imul eax, eax, 0x3e8
mov edx, edi
sub edx, eax
imul edx, edx, 0x3e8
mov dword [ebp - 0x10], edx
jmp 0x101f28c2
jne 0x101f28c2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
push esi
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x320]
push ecx
lea edx, [ebp - 0x21c]
push edx
push ebx
call dword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x101f293d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x101f2906
cmp dword [0x102de584], 0
jne 0x101f273c
cmp eax, 0x2714
jne 0x101f273c
cmp dword [ebp + 0x14], 0
jle 0x101f2888
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
push eax
push ecx
call fcn.101fa2d0
push edx
push eax
call fcn.101fa300
mov edi, dword [ebp + 0x14]
sub edi, eax
add esp, 0x10
test edi, edi
jg 0x101f2888
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
js 0x101f273c
je 0x101f274d
mov edi, dword [ebp + 8]
xor esi, esi
cmp edi, 0xffffffff
je 0x101f297f
lea edx, [ebp - 0x21c]
push edx
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x101f296b
mov esi, 1
lea eax, [ebp - 0x118]
push eax
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x101f297f
or esi, 4
mov edi, dword [ebp + 0xc]
cmp edi, 0xffffffff
je 0x101f29af
lea ecx, [ebp - 0x21c]
push ecx
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x101f299b
or esi, 8
lea edx, [ebp - 0x118]
push edx
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x101f29af
or esi, 4
mov edi, dword [ebp + 0x10]
cmp edi, 0xffffffff
je 0x101f29df
lea eax, [ebp - 0x320]
push eax
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x101f29cb
or esi, 2
lea ecx, [ebp - 0x118]
push ecx
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x101f29df
or esi, 4
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret