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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x360
mov eax, dword [0x5b706c]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
mov eax, ecx
xorps xmm0, xmm0
mov dword [ebp - 0x340], eax
xor ebx, ebx
movlpd qword [ebp - 0x35c], xmm0
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x330], esi
push edi
test esi, esi
jl 0x4435ae
jg 0x44359f
mov edi, dword [ebp + 0xc]
cmp edi, 0x7fffffff
jb 0x4435b1
xor esi, esi
mov edi, closesocket
mov dword [ebp - 0x330], esi
jmp 0x4435b1
mov edi, dword [ebp + 0xc]
cmp eax, 0xffffffff
jne 0x4435fa
cmp dword [ebp + 8], eax
jne 0x4435fa
test edi, edi
je 0x4435e7
jns 0x4435e0
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 edi
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 esi, esi
jl 0x443662
jg 0x443604
test edi, edi
je 0x443662
mov ebx, edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov dword [ebp - 0x358], 0
mov eax, 0x10624dd3
mul esi
shr edx, 6
imul ecx, edx, 0x3e8
mov dword [ebp - 0x35c], edx
sub esi, ecx
imul eax, esi, 0x3e8
mov esi, dword [ebp - 0x330]
mov dword [ebp - 0x354], eax
movups xmm0, xmmword [ebp - 0x35c]
movups xmmword [ebp - 0x35c], xmm0
mov eax, dword [ebp - 0x354]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x340]
xor ecx, ecx
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x224], ecx
cmp eax, 0xffffffff
je 0x4436a0
mov ecx, 1
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x224], 1
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x11c], ecx
nop word [eax + eax]
mov edx, eax
mov dword [ebp - 0x33c], 0xffffffff
cmove edx, dword [ebp - 0x33c]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x32c], 0
cmp eax, 0xffffffff
je 0x443714
mov dword [ebp - 0x328], eax
xor eax, eax
mov dword [ebp - 0x32c], 1
test ecx, ecx
je 0x4436f4
mov esi, dword [ebp + 8]
nop
cmp dword [ebp + eax*4 - 0x118], esi
je 0x4436ee
inc eax
cmp eax, ecx
jb 0x4436e0
mov esi, dword [ebp - 0x330]
cmp eax, ecx
jne 0x44370d
cmp ecx, 0x40
jae 0x44370d
mov ecx, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x118], ecx
inc dword [ebp - 0x11c]
cmp dword [ebp + 8], edx
cmova edx, dword [ebp + 8]
test esi, esi
jg 0x44372a
jl 0x44371e
test edi, edi
jae 0x44372a
mov dword [ebp - 0x334], 0
jmp 0x443733
lea eax, [ebp - 0x10]
mov dword [ebp - 0x334], eax
lea eax, [edx + 1]
mov dword [ebp - 0x360], eax
nop dword [eax]
test esi, esi
jl 0x443773
jg 0x44374a
test edi, edi
je 0x443773
mov eax, 0x10624dd3
mov ecx, ebx
imul ebx
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 0x44377f
mov eax, edi
or eax, esi
jne 0x44377f
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
push dword [ebp - 0x334]
xor ecx, ecx
lea eax, [ebp - 0x11c]
cmp dword [ebp - 0x32c], ecx
push eax
lea eax, [ebp - 0x32c]
cmove eax, ecx
cmp dword [ebp - 0x224], ecx
push eax
lea eax, [ebp - 0x224]
cmove eax, ecx
push eax
push dword [ebp - 0x360]
call dword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
jne 0x4438bc
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x4437e5
cmp dword [0x5bf060], 0
jne 0x4438c0
cmp eax, 0x2714
jne 0x4438c0
test esi, esi
jl 0x443773
jg 0x4437f3
test edi, edi
je 0x443740
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov eax, 0x10624dd3
mul esi
mov ebx, edx
shr ebx, 6
imul ecx, ebx, 0x3e8
sub esi, ecx
xor ecx, ecx
imul edx, esi, 0x3e8
sub ebx, dword [ebp - 0x35c]
sbb ecx, dword [ebp - 0x358]
cmp ecx, 0x20c49b
jl 0x443844
jg 0x443835
cmp ebx, 0xa5e353f7
jb 0x443844
or ecx, 0xffffffff
mov dword [ebp - 0x348], getsockopt
jmp 0x4438a5
cmp ecx, 0xffdf3b64
jg 0x443867
jl 0x443856
cmp ebx, 0x5a1cac09
ja 0x443867
mov ecx, 1
mov dword [ebp - 0x348], getsockopt
jmp 0x4438a5
sub edx, dword [ebp - 0x338]
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 ebx
mov dword [ebp - 0x348], eax
mov esi, edx
call fcn.0051f520
mov ecx, dword [ebp - 0x348]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x348], esi
mov ebx, edi
sub ebx, ecx
test ebx, ebx
jle 0x4435e7
mov esi, dword [ebp - 0x330]
jmp 0x443740
test eax, eax
jns 0x4438d7
mov eax, dword [ebp - 0x33c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0051e9d8
mov esp, ebp
pop ebp
ret
je 0x4435e7
mov ebx, dword [ebp - 0x340]
xor esi, esi
mov edi, dword [sym.imp.WS2_32.dll___WSAFDIsSet]
cmp ebx, 0xffffffff
je 0x443915
lea eax, [ebp - 0x224]
push eax
push ebx
call edi
test eax, eax
mov ecx, 1
lea eax, [ebp - 0x11c]
push eax
push ebx
cmovne esi, ecx
call edi
test eax, eax
je 0x443915
or esi, 4
mov ebx, dword [ebp + 8]
cmp ebx, 0xffffffff
je 0x44393f
lea eax, [ebp - 0x32c]
push eax
push ebx
call edi
test eax, eax
je 0x44392e
or esi, 2
lea eax, [ebp - 0x11c]
push eax
push ebx
call edi
test eax, eax
je 0x44393f
or esi, 4
mov ecx, dword [ebp - 8]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0051e9d8
mov esp, ebp
pop ebp
ret