Function at 0x42c9bc
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 0x42cd25
push ebx
push ebp
jmp 0x42c9f1
mov edi, dword [esp + 0x2c]
mov ebx, dword [sym.imp.KERNEL32.DLL_GetTickCount]
push 0x19
pop esi
call ebx
cmp byte [0x4c59bc], 0
jne 0x42ca0e
call fcn.004617d8
test al, al
je 0x42ca17
push esi
call dword [sym.imp.KERNEL32.DLL_Sleep]
xor esi, esi
push 0
push esi
push 0
push 0x4c57e8
push dword [0x4b6fc8]
call dword [sym.imp.WS2_32.dll_WSAWaitForMultipleEvents]
mov ebp, eax
call fcn.00445721
mov dword [0x4c592c], eax
call ebx
mov ebx, eax
sub eax, edi
test eax, eax
jle 0x42ca49
mov dword [esp + 0x28], eax
jmp 0x42ca4e
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 0x42ca80
add dword [esp + 0x14], eax
mov eax, ebx
sub eax, dword [esp + 0x14]
mov byte [esp + 0x13], 1
cmp eax, 0x7d0
jb 0x42ca80
mov dword [esp + 0x14], ebx
call fcn.00429550
jmp 0x42cbdc
mov ecx, ebp
mov dword [esp + 0x1c], ebp
cmp ebp, dword [0x4c5d58]
jae 0x42cbba
mov eax, dword [0x4c5d50]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
je 0x42cb9f
lea ecx, [esp + 0x34]
push ecx
push 0
push eax
call dword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
test eax, eax
je 0x42caec
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.WSAEnumNetworkEvents_error___d_
call fcn.00489227
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 0x42cb9f
mov eax, dword [esp + 0x34]
test al, 0x20
je 0x42cb0d
cmp dword [esp + 0x4c], 0
je 0x42cb0d
push 1
push dword [esp + 0x50]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
jmp 0x42cb9f
test al, 0x10
je 0x42cb97
mov edi, dword [esp + 0x48]
test edi, edi
je 0x42cb97
cmp edi, 0x2740
jne 0x42cb8f
movzx eax, word [esi + 0xd3]
test ax, ax
je 0x42cb8f
mov dx, word [0x4c5998]
test dx, dx
je 0x42cb8f
mov ecx, dword [0x4c599c]
test ecx, ecx
je 0x42cb8f
cmp ax, dx
jb 0x42cb8f
movzx eax, ax
cmp eax, ecx
jge 0x42cb8f
lea edi, [esi + 0xe7]
test byte [edi], 2
je 0x42cb6c
lea ecx, [esi + 0xc1]
call fcn.00429917
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.0042c713
jmp 0x42cb9f
push 1
push edi
jmp 0x42cb01
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 [0x4c5d58]
jb 0x42ca9c
lea ecx, [eax - 1]
cmp ebp, ecx
je 0x42cbe9
xor ecx, ecx
push ecx
push ecx
push ecx
lea ecx, [ebp*4 + 0x4c57ec]
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 0x42ca8a
mov ecx, dword [0x4c6f94]
call fcn.0044a097
mov ecx, dword [0x4c6f90]
test ecx, ecx
je 0x42cc03
call fcn.0044a097
mov ecx, dword [0x4c6f94]
call fcn.00440ad5
mov edi, ebx
sub edi, dword [esp + 0x24]
cmp edi, 0x32
jb 0x42cc94
xor ebp, ebp
xor esi, esi
cmp dword [0x4c5d58], ebp
jbe 0x42cc4d
mov eax, dword [0x4c5d50]
mov ecx, dword [eax + esi*4]
mov al, byte [ecx + 0xe]
test al, 0x20
je 0x42cc44
and al, 0x26
cmp al, 0x22
jne 0x42cc44
cmp dword [ecx + 0x35], ebp
je 0x42cc44
call fcn.0042b2b2
inc esi
cmp esi, dword [0x4c5d58]
jb 0x42cc25
mov ecx, ebx
sub ecx, dword [esp + 0x20]
cmp ecx, 0x3e8
jb 0x42cc82
call fcn.0042aadb
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x1e
mov dword [esp + 0x20], ebx
jne 0x42cc82
call fcn.0042aedd
call fcn.00415a1d
call fcn.00444506
mov dword [esp + 0x18], ebp
mov ecx, edi
call fcn.00429c8a
mov ecx, edi
call fcn.0042a18b
mov dword [esp + 0x24], ebx
xor edi, edi
cmp dword [0x4c5d58], edi
jbe 0x42cce8
cmp byte [esp + 0x13], 0
mov eax, dword [0x4c5d50]
mov esi, dword [eax + edi*4]
je 0x42cccd
movzx eax, word [esi + 0xc]
test ax, ax
je 0x42cccd
dec eax
mov word [esi + 0xc], ax
test ax, ax
ja 0x42cccd
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 0x42ccdf
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
test al, al
je 0x42ccdf
dec edi
inc edi
cmp edi, dword [0x4c5d58]
jb 0x42cc9e
call fcn.0041d432
cmp byte [esp + 0x13], 0
je 0x42ccf9
call fcn.00447735
movzx edx, byte [esp + 0x13]
mov ecx, dword [esp + 0x28]
call fcn.0041459b
call fcn.00422771
call fcn.0042c189
call fcn.00429561
mov eax, dword [esp + 0x30]
cmp byte [eax], 0
jne 0x42c9ed
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x50
ret