Function at 0x42c9e9
Capabilities:
Check for time delay via gettickcount

Disassembly:
sub esp, 0x50
push esi
mov esi, ecx
push edi
mov dword [esp + 0x28], esi
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
and dword [esp + 0x10], 0
cmp byte [esi], 0
mov edi, eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
je 0x42cd52
push ebx
push ebp
jmp 0x42ca1e
mov edi, dword [esp + 0x2c]
mov ebx, dword [sym.imp.KERNEL32.DLL_GetTickCount]
push 0x19
pop esi
call ebx
cmp byte [0x4c59dc], 0
jne 0x42ca3b
call fcn.0046184b
test al, al
je 0x42ca44
push esi
call dword [sym.imp.KERNEL32.DLL_Sleep]
xor esi, esi
push 0
push esi
push 0
push 0x4c5808
push dword [0x4b6fc8]
call dword [sym.imp.WS2_32.dll_WSAWaitForMultipleEvents]
mov ebp, eax
call fcn.004456ef
mov dword [0x4c594c], eax
call ebx
mov ebx, eax
sub eax, edi
test eax, eax
jle 0x42ca76
mov dword [esp + 0x28], eax
jmp 0x42ca7b
and dword [esp + 0x28], 0
mov ecx, ebx
sub ecx, dword [esp + 0x14]
mov eax, 0x3e8
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x13], 0
cmp ecx, eax
jb 0x42caad
add dword [esp + 0x14], eax
mov eax, ebx
sub eax, dword [esp + 0x14]
mov byte [esp + 0x13], 1
cmp eax, 0x7d0
jb 0x42caad
mov dword [esp + 0x14], ebx
call fcn.0042957f
jmp 0x42cc09
mov ecx, ebp
mov dword [esp + 0x1c], ebp
cmp ebp, dword [0x4c5d78]
jae 0x42cbe7
mov eax, dword [0x4c5d70]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
je 0x42cbcc
lea ecx, [esp + 0x34]
push ecx
push 0
push eax
call dword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
test eax, eax
je 0x42cb19
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.WSAEnumNetworkEvents_error___d_
call fcn.00489130
mov edi, dword [esi]
pop ecx
pop ecx
push 0
add edi, 0xc
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
mov ecx, esi
call dword [edi]
jmp 0x42cbcc
mov eax, dword [esp + 0x34]
test al, 0x20
je 0x42cb3a
cmp dword [esp + 0x4c], 0
je 0x42cb3a
push 1
push dword [esp + 0x50]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
jmp 0x42cbcc
test al, 0x10
je 0x42cbc4
mov edi, dword [esp + 0x48]
test edi, edi
je 0x42cbc4
cmp edi, 0x2740
jne 0x42cbbc
movzx eax, word [esi + 0xd3]
test ax, ax
je 0x42cbbc
mov dx, word [0x4c59b8]
test dx, dx
je 0x42cbbc
mov ecx, dword [0x4c59bc]
test ecx, ecx
je 0x42cbbc
cmp ax, dx
jb 0x42cbbc
movzx eax, ax
cmp eax, ecx
jge 0x42cbbc
lea edi, [esi + 0xe7]
test byte [edi], 2
je 0x42cb99
lea ecx, [esi + 0xc1]
call fcn.00429946
and byte [edi], 0xfd
inc word [esi + 0xd3]
movzx eax, word [esi + 0xd3]
push eax
lea eax, [esi + 0xc1]
push eax
mov ecx, esi
mov byte [esi + 0x13], 0
call fcn.0042c740
jmp 0x42cbcc
push 1
push edi
jmp 0x42cb2e
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 4]
mov ecx, dword [esp + 0x1c]
mov eax, dword [0x4b6fc8]
add ecx, eax
mov dword [esp + 0x1c], ecx
cmp ecx, dword [0x4c5d78]
jb 0x42cac9
lea ecx, [eax - 1]
cmp ebp, ecx
je 0x42cc16
xor ecx, ecx
push ecx
push ecx
push ecx
lea ecx, [ebp*4 + 0x4c580c]
sub eax, ebp
push ecx
dec eax
push eax
call dword [sym.imp.WS2_32.dll_WSAWaitForMultipleEvents]
lea ebp, [eax + ebp + 1]
mov eax, dword [0x4b6fc8]
cmp ebp, eax
jb 0x42cab7
mov ecx, dword [0x4c6fb4]
call fcn.0044a082
mov ecx, dword [0x4c6fb0]
test ecx, ecx
je 0x42cc30
call fcn.0044a082
mov ecx, dword [0x4c6fb4]
call fcn.00440ab3
mov edi, ebx
sub edi, dword [esp + 0x24]
cmp edi, 0x32
jb 0x42ccc1
xor ebp, ebp
xor esi, esi
cmp dword [0x4c5d78], ebp
jbe 0x42cc7a
mov eax, dword [0x4c5d70]
mov ecx, dword [eax + esi*4]
mov al, byte [ecx + 0xe]
test al, 0x20
je 0x42cc71
and al, 0x26
cmp al, 0x22
jne 0x42cc71
cmp dword [ecx + 0x35], ebp
je 0x42cc71
call fcn.0042b2e1
inc esi
cmp esi, dword [0x4c5d78]
jb 0x42cc52
mov ecx, ebx
sub ecx, dword [esp + 0x20]
cmp ecx, 0x3e8
jb 0x42ccaf
call fcn.0042ab0a
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x1e
mov dword [esp + 0x20], ebx
jne 0x42ccaf
call fcn.0042af0c
call fcn.004159c8
call fcn.004444d4
mov dword [esp + 0x18], ebp
mov ecx, edi
call fcn.00429cb9
mov ecx, edi
call fcn.0042a1ba
mov dword [esp + 0x24], ebx
xor edi, edi
cmp dword [0x4c5d78], edi
jbe 0x42cd15
cmp byte [esp + 0x13], 0
mov eax, dword [0x4c5d70]
mov esi, dword [eax + edi*4]
je 0x42ccfa
movzx eax, word [esi + 0xc]
test ax, ax
je 0x42ccfa
dec eax
mov word [esi + 0xc], ax
test ax, ax
ja 0x42ccfa
xor eax, eax
mov word [esi + 0xc], ax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14]
test byte [esi + 0xe], 0x10
je 0x42cd0c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
test al, al
je 0x42cd0c
dec edi
inc edi
cmp edi, dword [0x4c5d78]
jb 0x42cccb
call fcn.0041d3e1
cmp byte [esp + 0x13], 0
je 0x42cd26
call fcn.00447703
movzx edx, byte [esp + 0x13]
mov ecx, dword [esp + 0x28]
call fcn.00414545
call fcn.004227ab
call fcn.0042c1b6
call fcn.00429590
mov eax, dword [esp + 0x30]
cmp byte [eax], 0
jne 0x42ca1a
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x50
ret