Function at 0x4adddb
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 0x4ade16
cmp dword [ebp + 0x74], edi
jne 0x4ade16
cmp dword [ebp + 0x78], edi
jne 0x4ade16
push dword [ebp + 0x7c]
call fcn.004addb8
pop ecx
jmp 0x4ae09b
mov eax, dword [ebp + 0x7c]
cmp eax, esi
jle 0x4ade2b
mov dword [ebp + 0x64], eax
call fcn.004b5dbb
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x5c], edx
cmp ebx, 0xffffffff
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0x1b8], esi
je 0x4ade59
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 0x4aded2
xor eax, eax
test esi, esi
jbe 0x4ade75
cmp dword [ebp + eax*4 - 0x1b4], ecx
je 0x4ade75
inc eax
cmp eax, esi
jb 0x4ade67
cmp eax, esi
jne 0x4ade92
cmp esi, 0x40
jae 0x4ade92
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 0x4adeae
cmp dword [ebp + eax*4 - 0xb0], ecx
je 0x4adeae
inc eax
cmp eax, dword [ebp - 0xb4]
jb 0x4ade9c
cmp eax, dword [ebp - 0xb4]
jne 0x4adecc
cmp dword [ebp - 0xb4], 0x40
jae 0x4adecc
mov dword [ebp + eax*4 - 0xb0], ecx
inc dword [ebp - 0xb4]
cmp ecx, edi
jbe 0x4aded2
mov edi, ecx
mov edx, dword [ebp + 0x78]
xor ecx, ecx
cmp edx, 0xffffffff
mov dword [ebp - 0x2bc], ecx
je 0x4adf2f
inc ecx
xor eax, eax
cmp dword [ebp - 0xb4], eax
mov dword [ebp - 0x2b8], edx
mov dword [ebp - 0x2bc], ecx
jbe 0x4adf0b
cmp dword [ebp + eax*4 - 0xb0], edx
je 0x4adf0b
inc eax
cmp eax, dword [ebp - 0xb4]
jb 0x4adef9
cmp eax, dword [ebp - 0xb4]
jne 0x4adf29
cmp dword [ebp - 0xb4], 0x40
jae 0x4adf29
mov dword [ebp + eax*4 - 0xb0], edx
inc dword [ebp - 0xb4]
cmp edx, edi
jbe 0x4adf2f
mov edi, edx
xor eax, eax
cmp dword [ebp + 0x7c], eax
jge 0x4adf3b
mov dword [ebp + 0x60], eax
jmp 0x4adf41
lea edx, [ebp + 0x50]
mov dword [ebp + 0x60], edx
inc edi
jmp 0x4adf52
mov esi, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x2bc]
xor eax, eax
cmp dword [ebp + 0x7c], eax
jle 0x4adf70
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 0x4adf75
jne 0x4adf78
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 0x4adff3
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x4adfc2
cmp dword [0x50f40c], 0
jne 0x4adff7
cmp eax, 0x2714
jne 0x4adff7
cmp dword [ebp + 0x7c], 0
jle 0x4adf44
push dword [ebp + 0x5c]
push dword [ebp + 0x58]
call fcn.004b5dbb
push edx
push eax
call fcn.004b5dd1
mov ecx, dword [ebp + 0x7c]
sub ecx, eax
add esp, 0x10
test ecx, ecx
mov dword [ebp + 0x64], ecx
jg 0x4adf44
xor eax, eax
test eax, eax
jge 0x4adfff
or eax, 0xffffffff
jmp 0x4ae09b
jne 0x4ae008
xor eax, eax
jmp 0x4ae09b
xor esi, esi
cmp ebx, 0xffffffff
je 0x4ae035
lea eax, [ebp - 0x1b8]
push eax
push ebx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4ae021
inc esi
lea eax, [ebp - 0xb4]
push eax
push ebx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4ae035
or esi, 4
cmp dword [ebp + 0x74], 0xffffffff
je 0x4ae067
lea eax, [ebp - 0x1b8]
push eax
push dword [ebp + 0x74]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4ae051
or esi, 8
lea eax, [ebp - 0xb4]
push eax
push dword [ebp + 0x74]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4ae067
or esi, 4
cmp dword [ebp + 0x78], 0xffffffff
je 0x4ae099
lea eax, [ebp - 0x2bc]
push eax
push dword [ebp + 0x78]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4ae083
or esi, 2
lea eax, [ebp - 0xb4]
push eax
push dword [ebp + 0x78]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4ae099
or esi, 4
mov eax, esi
pop edi
pop esi
pop ebx
add ebp, 0x68
leave
ret