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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffc8c
xor eax, eax
mov dword [ebp - 4], eax
xor edx, edx
mov dword [ebp - 8], edx
xor ecx, ecx
mov dword [ebp - 0xc], ecx
xor eax, eax
mov dword [ebp - 0x20], eax
mov edx, dword [ebp + 0x10]
cmp edx, 0x3e8
jae 0x40c6d2
imul ecx, dword [ebp + 0x10], 0x3e8
mov dword [ebp + 0x10], ecx
xor eax, eax
mov dword [ebp - 0x14], eax
xor edx, edx
mov dword [ebp - 0x10], edx
call sub.KERNEL32.DLL_GetTickCount
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ecx
jmp 0x40cc3e
push 0xa
call sub.KERNEL32.DLL_Sleep
xor eax, eax
mov dword [ebp - 0x150], eax
xor edx, edx
mov dword [ebp - 0x254], edx
xor ecx, ecx
mov dword [ebp - 0x358], ecx
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x40c7c6
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x18]
movsx eax, byte [edx + ecx]
cmp eax, 0x72
jne 0x40c751
mov edx, dword [ebp - 0x150]
cmp edx, 0x40
jae 0x40c748
mov ecx, dword [ebp - 0x150]
inc dword [ebp - 0x150]
mov eax, dword [ebp + 8]
mov dword [ebp + ecx*4 - 0x14c], eax
lea edx, [ebp - 0x150]
mov dword [ebp - 4], edx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x18]
movsx edx, byte [ecx + eax]
cmp edx, 0x77
jne 0x40c78a
mov ecx, dword [ebp - 0x254]
cmp ecx, 0x40
jae 0x40c781
mov eax, dword [ebp - 0x254]
inc dword [ebp - 0x254]
mov edx, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x250], edx
lea ecx, [ebp - 0x254]
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x18]
movsx ecx, byte [eax + edx]
cmp ecx, 0x65
jne 0x40c7c3
mov eax, dword [ebp - 0x358]
cmp eax, 0x40
jae 0x40c7ba
mov edx, dword [ebp - 0x358]
inc dword [ebp - 0x358]
mov ecx, dword [ebp + 8]
mov dword [ebp + edx*4 - 0x354], ecx
lea eax, [ebp - 0x358]
mov dword [ebp - 0xc], eax
inc dword [ebp - 0x18]
push dword [ebp + 0xc]
call fcn.0049daf8
pop ecx
mov edx, dword [ebp - 0x18]
cmp eax, edx
jg 0x40c718
lea ecx, [ebp - 0x14]
push ecx
push dword [ebp - 0xc]
push dword [ebp - 8]
push dword [ebp - 4]
push 0xffffffffffffffff
call sub.WSOCK32.DLL_select
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
inc eax
jne 0x40c801
call sub.WSOCK32.DLL_WSAGetLastError
mov dword [ebp - 0x20], eax
jmp 0x40c806
xor edx, edx
mov dword [ebp - 0x20], edx
call sub.KERNEL32.DLL_GetTickCount
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x40c99d
push 1
push 0
push 0
push 0
lea eax, [ebp - 0x374]
push eax
call sub.USER32.DLL_PeekMessageA
test eax, eax
je 0x40c85c
lea edx, [ebp - 0x374]
push edx
call sub.USER32.DLL_TranslateMessage
lea ecx, [ebp - 0x374]
push ecx
call sub.USER32.DLL_DispatchMessageA
mov eax, dword [ebp - 0x370]
cmp eax, 0x12
jne 0x40c85c
or eax, 0xffffffff
jmp 0x40cc53
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
sub edx, ecx
mov eax, dword [ebp + 0x10]
cmp edx, eax
jb 0x40cc3e
mov edx, dword [ebp - 4]
test edx, edx
je 0x40c8cd
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
jmp 0x40c8c0
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp + eax*4 - 0x14c]
mov ecx, dword [ebp + 8]
cmp edx, ecx
jne 0x40c8bd
jmp 0x40c8a7
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp + eax*4 - 0x148]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp + ecx*4 - 0x14c], edx
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x150]
dec eax
mov edx, dword [ebp - 0x2c]
cmp eax, edx
ja 0x40c890
dec dword [ebp - 0x150]
jmp 0x40c8cd
inc dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x150]
cmp ecx, eax
jb 0x40c87d
mov edx, dword [ebp - 8]
test edx, edx
je 0x40c92b
xor ecx, ecx
mov dword [ebp - 0x30], ecx
jmp 0x40c91e
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp + eax*4 - 0x250]
mov ecx, dword [ebp + 8]
cmp edx, ecx
jne 0x40c91b
jmp 0x40c905
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp + eax*4 - 0x24c]
mov ecx, dword [ebp - 0x30]
mov dword [ebp + ecx*4 - 0x250], edx
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x254]
dec eax
mov edx, dword [ebp - 0x30]
cmp eax, edx
ja 0x40c8ee
dec dword [ebp - 0x254]
jmp 0x40c92b
inc dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x254]
cmp ecx, eax
jb 0x40c8db
mov edx, dword [ebp - 0xc]
test edx, edx
je 0x40c989
xor ecx, ecx
mov dword [ebp - 0x34], ecx
jmp 0x40c97c
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp + eax*4 - 0x354]
mov ecx, dword [ebp + 8]
cmp edx, ecx
jne 0x40c979
jmp 0x40c963
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp + eax*4 - 0x350]
mov ecx, dword [ebp - 0x34]
mov dword [ebp + ecx*4 - 0x354], edx
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x358]
dec eax
mov edx, dword [ebp - 0x34]
cmp eax, edx
ja 0x40c94c
dec dword [ebp - 0x358]
jmp 0x40c989
inc dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x358]
cmp ecx, eax
jb 0x40c939
push 0x274c
call sub.KERNEL32.DLL_SetLastError
mov eax, 0xfffffff6
jmp 0x40cc53
mov edx, dword [ebp - 0xc]
test edx, edx
je 0x40cadd
push dword [ebp - 0xc]
push dword [ebp + 8]
call sub.WSOCK32.DLL___WSAFDIsSet
test eax, eax
je 0x40cadd
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x40ca19
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x40ca0c
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp + edx*4 - 0x14c]
mov eax, dword [ebp + 8]
cmp ecx, eax
jne 0x40ca09
jmp 0x40c9f3
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp + edx*4 - 0x148]
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x14c], ecx
inc dword [ebp - 0x38]
mov edx, dword [ebp - 0x150]
dec edx
mov ecx, dword [ebp - 0x38]
cmp edx, ecx
ja 0x40c9dc
dec dword [ebp - 0x150]
jmp 0x40ca19
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x150]
cmp eax, edx
jb 0x40c9c9
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x40ca77
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x40ca6a
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp + edx*4 - 0x250]
mov eax, dword [ebp + 8]
cmp ecx, eax
jne 0x40ca67
jmp 0x40ca51
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp + edx*4 - 0x24c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x250], ecx
inc dword [ebp - 0x3c]
mov edx, dword [ebp - 0x254]
dec edx
mov ecx, dword [ebp - 0x3c]
cmp edx, ecx
ja 0x40ca3a
dec dword [ebp - 0x254]
jmp 0x40ca77
inc dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x254]
cmp eax, edx
jb 0x40ca27
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x40cad5
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x40cac8
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp + edx*4 - 0x354]
mov eax, dword [ebp + 8]
cmp ecx, eax
jne 0x40cac5
jmp 0x40caaf
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp + edx*4 - 0x350]
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x354], ecx
inc dword [ebp - 0x40]
mov edx, dword [ebp - 0x358]
dec edx
mov ecx, dword [ebp - 0x40]
cmp edx, ecx
ja 0x40ca98
dec dword [ebp - 0x358]
jmp 0x40cad5
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x358]
cmp eax, edx
jb 0x40ca85
or eax, 0xffffffff
jmp 0x40cc53
mov edx, dword [ebp - 4]
test edx, edx
je 0x40caf3
push dword [ebp - 4]
push dword [ebp + 8]
call sub.WSOCK32.DLL___WSAFDIsSet
test eax, eax
jne 0x40cb07
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x40cb07
push dword [ebp - 8]
push dword [ebp + 8]
call sub.WSOCK32.DLL___WSAFDIsSet
test eax, eax
mov eax, dword [ebp - 4]
test eax, eax
je 0x40cb65
xor edx, edx
mov dword [ebp - 0x44], edx
jmp 0x40cb58
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp + ecx*4 - 0x14c]
mov edx, dword [ebp + 8]
cmp eax, edx
jne 0x40cb55
jmp 0x40cb3f
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp + ecx*4 - 0x148]
mov edx, dword [ebp - 0x44]
mov dword [ebp + edx*4 - 0x14c], eax
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x150]
dec ecx
mov eax, dword [ebp - 0x44]
cmp ecx, eax
ja 0x40cb28
dec dword [ebp - 0x150]
jmp 0x40cb65
inc dword [ebp - 0x44]
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x150]
cmp edx, ecx
jb 0x40cb15
mov eax, dword [ebp - 8]
test eax, eax
je 0x40cbc3
xor edx, edx
mov dword [ebp - 0x48], edx
jmp 0x40cbb6
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp + ecx*4 - 0x250]
mov edx, dword [ebp + 8]
cmp eax, edx
jne 0x40cbb3
jmp 0x40cb9d
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp + ecx*4 - 0x24c]
mov edx, dword [ebp - 0x48]
mov dword [ebp + edx*4 - 0x250], eax
inc dword [ebp - 0x48]
mov ecx, dword [ebp - 0x254]
dec ecx
mov eax, dword [ebp - 0x48]
cmp ecx, eax
ja 0x40cb86
dec dword [ebp - 0x254]
jmp 0x40cbc3
inc dword [ebp - 0x48]
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x254]
cmp edx, ecx
jb 0x40cb73
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x40cc21
xor edx, edx
mov dword [ebp - 0x4c], edx
jmp 0x40cc14
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp + ecx*4 - 0x354]
mov edx, dword [ebp + 8]
cmp eax, edx
jne 0x40cc11
jmp 0x40cbfb
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp + ecx*4 - 0x350]
mov edx, dword [ebp - 0x4c]
mov dword [ebp + edx*4 - 0x354], eax
inc dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x358]
dec ecx
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
ja 0x40cbe4
dec dword [ebp - 0x358]
jmp 0x40cc21
inc dword [ebp - 0x4c]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x358]
cmp edx, ecx
jb 0x40cbd1
mov eax, dword [ebp - 0x20]
cmp eax, 0x2714
jne 0x40cc32
mov eax, 0x2714
jmp 0x40cc53
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x40cc51
or eax, 0xffffffff
jmp 0x40cc53
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
sub edx, ecx
mov eax, dword [ebp + 0x10]
cmp edx, eax
jbe 0x40c6ef
xor eax, eax
mov esp, ebp
pop ebp
ret