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

Disassembly:
mov eax, 0x1120
call fcn.0043ae00
mov al, byte [0x473aa0]
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov byte [esp + 0x12c], al
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x12d]
xor ebx, ebx
mov dword [esp + 0x18], esi
rep stosd dword es:[edi], eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 0x1000
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1134]
mov ecx, dword [0x51a850]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea ebp, [eax + eax*4]
shl ebp, 2
mov eax, dword [ecx + ebp + 0x20]
cmp eax, 0xffffffff
je 0x417d2f
mov edx, eax
shl edx, 5
add edx, eax
mov eax, dword [0x4f4398]
mov ebx, dword [eax + edx*4 + 0x80]
lea eax, [eax + edx*4]
add ebx, dword [eax + 0x7c]
cmp dword [ecx + ebp + 0x18], 2
jne 0x418011
mov ecx, dword [esp + 0x1138]
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], ecx
xor eax, eax
lea ecx, [esp + 0x2c]
mov edi, dword [esp + 0x113c]
mov edx, dword [ecx]
cmp edx, edi
je 0x417d69
inc eax
add ecx, 4
cmp eax, 1
jb 0x417d53
cmp eax, 1
jne 0x417d7a
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], 2
lea edx, [esp + 0x20]
lea eax, [esp + 0x28]
push edx
push 0
push 0
push eax
push 0xffffffffffffffff
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jne 0x417dc1
mov eax, dword [0x502140]
cmp eax, 0xffffffff
je 0x418001
mov ecx, dword [esp + 0x14]
lea eax, [eax + eax*2]
inc ecx
lea edx, [eax + eax*4]
mov dword [esp + 0x14], ecx
shl edx, 2
cmp ecx, edx
jg 0x4180ed
jmp 0x418001
test eax, eax
mov dword [esp + 0x14], 0
jl 0x418023
mov eax, dword [0x51a850]
mov eax, dword [eax + ebp + 0x20]
cmp eax, 0xffffffff
je 0x417e85
mov edx, dword [0x4f4398]
mov ecx, eax
shl ecx, 5
add ecx, eax
mov eax, dword [edx + ecx*4 + 0x70]
cmp eax, 0xffffffff
jle 0x417e85
test eax, eax
je 0x418035
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov eax, dword [0x51a850]
mov edx, dword [0x4f4398]
mov eax, dword [eax + ebp + 0x20]
mov ecx, eax
shl ecx, 5
add ecx, eax
mov esi, dword [edx + ecx*4 + 0x80]
lea ecx, [edx + ecx*4]
add esi, dword [ecx + 0x7c]
cmp esi, ebx
jae 0x417e36
xor ebx, ebx
mov eax, esi
mov edx, ebx
shl eax, 5
shl edx, 5
sub eax, esi
sub edx, ebx
lea eax, [esi + eax*4]
lea edx, [ebx + edx*4]
shl eax, 3
shl edx, 3
sub eax, edx
xor edx, edx
div dword [ecx + 0x70]
mov ecx, dword [esp + 0x1c]
mov edx, edi
sub edx, ecx
cmp edx, eax
jae 0x417e7a
sub eax, edi
add eax, ecx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x1c], eax
mov ebx, esi
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x113c]
mov ecx, dword [esp + 0x1138]
lea eax, [esp + 0x28]
push eax
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x417f4b
mov ecx, dword [esp + 0x1138]
lea edx, [esp + 0x10]
push 0
lea eax, [esp + 0x130]
push edx
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x20], 0x1000
mov byte [esp + 0x13c], 0
call fcn.004112c0
test eax, eax
mov eax, dword [esp + 0x10]
je 0x418047
test eax, eax
jle 0x4180ed
mov eax, dword [esp + 0x1140]
test eax, eax
je 0x417f04
lea edx, [esp + 0x12c]
push eax
push edx
mov ecx, esi
call fcn.00419cb0
test eax, eax
jne 0x41805b
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x12c]
push eax
push ecx
push edi
mov ecx, esi
call fcn.00411190
test eax, eax
je 0x418194
mov edx, dword [0x51a850]
mov eax, dword [edx + ebp + 0x20]
cmp eax, 0xffffffff
je 0x418001
mov ecx, dword [esp + 0x10]
push 0
push ecx
push eax
mov ecx, 0x4f4398
call fcn.00423400
jmp 0x418001
lea edx, [esp + 0x28]
push edx
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x418001
lea eax, [esp + 0x10]
push 0
lea ecx, [esp + 0x130]
push eax
push ecx
push edi
mov ecx, esi
mov dword [esp + 0x20], 0x1000
mov byte [esp + 0x13c], 0
call fcn.004112c0
test eax, eax
je 0x4180fc
mov edx, dword [0x51a850]
cmp dword [edx + ebp + 0x20], 0xffffffff
je 0x417fd9
mov eax, dword [esp + 0x1140]
test eax, eax
je 0x417fbd
push eax
lea eax, [esp + 0x130]
push eax
mov ecx, esi
call fcn.00419cb0
test eax, eax
jne 0x418114
mov edx, dword [0x51a850]
mov ecx, dword [esp + 0x10]
push 1
push ecx
mov eax, dword [edx + ebp + 0x20]
mov ecx, 0x4f4398
push eax
call fcn.00423400
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x418001
mov edx, dword [esp + 0x1138]
lea ecx, [esp + 0x12c]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00411190
test eax, eax
je 0x4181a6
mov eax, dword [0x51a850]
cmp dword [eax + ebp + 0x18], 2
je 0x417d3a
pop edi
pop esi
pop ebp
mov eax, 0x10
pop ebx
add esp, 0x1120
ret 0x10
pop edi
pop esi
pop ebp
mov eax, 0xa
pop ebx
add esp, 0x1120
ret 0x10
pop edi
pop esi
pop ebp
mov eax, 0xd
pop ebx
add esp, 0x1120
ret 0x10
neg eax
pop edi
pop esi
sbb eax, eax
pop ebp
and eax, 0xd
pop ebx
add esp, 0x1120
ret 0x10
mov edx, dword [0x4f9850]
test edx, edx
jne 0x4180be
push 0x4f9450
lea ecx, [esp + 0x130]
push 0x46f188
push ecx
call fcn.0043afc4
lea edi, [esp + 0x138]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x113c]
lea edx, [esp + 0x12c]
not ecx
dec ecx
push ecx
mov dword [esp + 0x14], ecx
push edx
push eax
mov ecx, esi
call fcn.00411190
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x1120
ret 0x10
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x1140]
push edx
push ecx
mov ecx, esi
call fcn.00411190
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x1120
ret 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1120
ret 0x10
mov eax, dword [esp + 0x10]
pop edi
neg eax
sbb eax, eax
pop esi
pop ebp
and eax, 0xe
pop ebx
add esp, 0x1120
ret 0x10
mov edx, dword [0x4f9850]
test edx, edx
jne 0x418177
push 0x4f9450
lea edx, [esp + 0x130]
push 0x46f188
push edx
call fcn.0043afc4
lea edi, [esp + 0x138]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x12c]
mov dword [esp + 0x10], ecx
push ecx
mov ecx, dword [esp + 0x1140]
push eax
push ecx
mov ecx, esi
call fcn.00411190
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x1120
ret 0x10
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
mov edx, dword [esp + 0x1144]
mov ecx, esi
push edx
call fcn.00411190
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x1120
ret 0x10
pop edi
pop esi
pop ebp
mov eax, 0xf
pop ebx
add esp, 0x1120
ret 0x10