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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x368
mov eax, dword [0x5b706c]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, ecx
mov dword [ebp - 0x34c], edx
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x348], ebx
xorps xmm0, xmm0
mov dword [ebp - 0x338], ecx
movlpd qword [ebp - 0x364], xmm0
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x340], eax
push esi
push edi
test ebx, ebx
je 0x4439bd
test edx, edx
je 0x4439bd
cmp dword [ebx + eax*8], 0xffffffff
jne 0x4439e1
inc eax
cmp eax, edx
jb 0x4439b2
test ecx, ecx
je 0x4439ce
js 0x443bb2
push ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0051e9d8
mov esp, ebp
pop ebp
ret
test ecx, ecx
jle 0x443a3b
mov dword [ebp - 0x340], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov dword [ebp - 0x360], 0
mov eax, 0x10624dd3
mul esi
shr edx, 6
imul ecx, edx, 0x3e8
mov dword [ebp - 0x364], edx
sub esi, ecx
imul eax, esi, 0x3e8
mov dword [ebp - 0x35c], eax
movups xmm0, xmmword [ebp - 0x364]
movups xmmword [ebp - 0x364], xmm0
mov eax, dword [ebp - 0x35c]
mov dword [ebp - 0x350], eax
xor edi, edi
xor ebx, ebx
xor esi, esi
mov dword [ebp - 0x11c], edi
or edx, 0xffffffff
mov dword [ebp - 0x224], ebx
xor eax, eax
mov dword [ebp - 0x32c], esi
mov dword [ebp - 0x330], edx
mov dword [ebp - 0x334], eax
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [ebp - 0x348]
xor edx, edx
mov word [ecx + eax*8 + 6], dx
mov ecx, dword [ecx + eax*8]
mov edx, dword [ebp - 0x330]
cmp ecx, 0xffffffff
je 0x443b83
mov edx, dword [ebp - 0x348]
movzx edx, word [edx + eax*8 + 4]
test dl, 7
je 0x443b6f
cmp ecx, dword [ebp - 0x330]
mov eax, ecx
cmovbe eax, dword [ebp - 0x330]
mov dword [ebp - 0x330], eax
test dl, 1
je 0x443aee
xor eax, eax
test edi, edi
je 0x443ad1
cmp dword [ebp + eax*4 - 0x118], ecx
je 0x443ad1
inc eax
cmp eax, edi
jb 0x443ac3
cmp eax, edi
jne 0x443aee
cmp edi, 0x40
jae 0x443aee
mov dword [ebp + eax*4 - 0x118], ecx
mov edi, dword [ebp - 0x11c]
inc edi
mov dword [ebp - 0x11c], edi
test dl, 4
je 0x443b2b
xor eax, eax
test ebx, ebx
je 0x443b0e
nop dword [eax]
cmp dword [ebp + eax*4 - 0x220], ecx
je 0x443b0e
inc eax
cmp eax, ebx
jb 0x443b00
cmp eax, ebx
jne 0x443b2b
cmp ebx, 0x40
jae 0x443b2b
mov dword [ebp + eax*4 - 0x220], ecx
mov ebx, dword [ebp - 0x224]
inc ebx
mov dword [ebp - 0x224], ebx
test dl, 2
je 0x443b77
xor eax, eax
test esi, esi
je 0x443b44
cmp dword [ebp + eax*4 - 0x328], ecx
je 0x443b44
inc eax
cmp eax, esi
jb 0x443b36
cmp eax, esi
jne 0x443b61
cmp esi, 0x40
jae 0x443b61
mov dword [ebp + eax*4 - 0x328], ecx
mov esi, dword [ebp - 0x32c]
inc esi
mov dword [ebp - 0x32c], esi
mov edx, dword [ebp - 0x330]
mov dword [ebp - 0x330], edx
jmp 0x443b7d
mov edx, dword [ebp - 0x330]
jmp 0x443b83
mov edx, dword [ebp - 0x330]
mov eax, dword [ebp - 0x334]
inc eax
mov dword [ebp - 0x334], eax
cmp eax, dword [ebp - 0x34c]
jb 0x443a70
test edi, edi
jne 0x443bd7
test ebx, ebx
jne 0x443bd7
test esi, esi
jne 0x443bd7
mov eax, dword [ebp - 0x338]
test eax, eax
je 0x4439ce
jns 0x443bd1
push 0x2726
call dword [sym.imp.WS2_32.dll_WSASetLastError]
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0051e9d8
mov esp, ebp
pop ebp
ret
push eax
jmp 0x4439c8
mov eax, dword [ebp - 0x338]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x334], 0
test eax, eax
cmovs ecx, dword [ebp - 0x334]
mov dword [ebp - 0x334], ecx
lea ecx, [edx + 1]
mov dword [ebp - 0x330], ecx
mov ecx, dword [ebp - 0x340]
test eax, eax
jle 0x443c33
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x10], eax
imul eax, eax, 0x3e8
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [ebp - 0xc], eax
jmp 0x443c43
jne 0x443c43
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
push dword [ebp - 0x334]
xor ecx, ecx
lea eax, [ebp - 0x32c]
test esi, esi
cmove eax, ecx
test ebx, ebx
push eax
lea eax, [ebp - 0x224]
cmove eax, ecx
test edi, edi
push eax
lea eax, [ebp - 0x11c]
cmove eax, ecx
push eax
push dword [ebp - 0x330]
call dword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x443d9e
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x443ca6
cmp dword [0x5bf060], 0
jne 0x443bbd
cmp eax, 0x2714
jne 0x443bbd
mov eax, dword [ebp - 0x338]
test eax, eax
jg 0x443cc7
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x224]
mov esi, dword [ebp - 0x32c]
jmp 0x443c02
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov eax, 0x10624dd3
mul esi
mov edi, edx
shr edi, 6
imul ecx, edi, 0x3e8
sub esi, ecx
xor ecx, ecx
imul edx, esi, 0x3e8
sub edi, dword [ebp - 0x364]
sbb ecx, dword [ebp - 0x360]
cmp ecx, 0x20c49b
jl 0x443d18
jg 0x443d09
cmp edi, 0xa5e353f7
jb 0x443d18
or ebx, 0xffffffff
mov dword [ebp - 0x340], getsockopt
jmp 0x443d6f
cmp ecx, 0xffdf3b64
jg 0x443d3b
jl 0x443d2a
cmp edi, 0x5a1cac09
ja 0x443d3b
mov ebx, 1
mov dword [ebp - 0x340], getsockopt
jmp 0x443d6f
sub edx, dword [ebp - 0x350]
mov eax, 0x10624dd3
imul edx
push 0
sar edx, 6
mov eax, edx
shr eax, 0x1f
push 0x3e8
add eax, edx
cdq
push ecx
push edi
mov ebx, eax
mov esi, edx
call fcn.0051f520
add ebx, eax
adc esi, edx
mov dword [ebp - 0x340], esi
mov eax, dword [ebp - 0x338]
mov ecx, eax
sub ecx, ebx
mov dword [ebp - 0x340], ecx
test ecx, ecx
jle 0x4439ce
mov edi, dword [ebp - 0x11c]
mov ebx, dword [ebp - 0x224]
mov esi, dword [ebp - 0x32c]
jmp 0x443c08
test eax, eax
js 0x443bbd
je 0x4439ce
mov esi, dword [ebp - 0x348]
xor ebx, ebx
mov edi, dword [sym.imp.WS2_32.dll___WSAFDIsSet]
add esi, 6
nop dword [eax]
xor eax, eax
mov word [esi], ax
mov eax, dword [esi - 6]
cmp eax, 0xffffffff
je 0x443e19
lea ecx, [ebp - 0x11c]
push ecx
push eax
call edi
test eax, eax
je 0x443ddf
or word [esi], 1
lea eax, [ebp - 0x224]
push eax
push dword [esi - 6]
call edi
test eax, eax
je 0x443df3
or word [esi], 4
lea eax, [ebp - 0x32c]
push eax
push dword [esi - 6]
call edi
movzx ecx, word [esi]
test eax, eax
je 0x443e11
or ecx, 2
mov word [esi], cx
movzx eax, cx
jmp 0x443e13
mov eax, ecx
test ax, ax
je 0x443e19
inc ebx
add esi, 8
sub dword [ebp - 0x34c], 1
jne 0x443dc0
mov ecx, dword [ebp - 8]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0051e9d8
mov esp, ebp
pop ebp
ret