Function at 0x42c9fc
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 0x42cd65
push ebx
push ebp
jmp 0x42ca31
mov edi, dword [esp + 0x2c]
mov ebx, dword [sym.imp.KERNEL32.DLL_GetTickCount]
push 0x19
pop esi
call ebx
cmp byte [0x4c49bc], 0
jne 0x42ca4e
call fcn.004616b4
test al, al
je 0x42ca57
push esi
call dword [sym.imp.KERNEL32.DLL_Sleep]
xor esi, esi
push 0
push esi
push 0
push 0x4c47e8
push dword [0x4b5fc8]
call dword [sym.imp.WS2_32.dll_WSAWaitForMultipleEvents]
mov ebp, eax
call fcn.00445744
mov dword [0x4c492c], eax
call ebx
mov ebx, eax
sub eax, edi
test eax, eax
jle 0x42ca89
mov dword [esp + 0x28], eax
jmp 0x42ca8e
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 0x42cac0
add dword [esp + 0x14], eax
mov eax, ebx
sub eax, dword [esp + 0x14]
mov byte [esp + 0x13], 1
cmp eax, 0x7d0
jb 0x42cac0
mov dword [esp + 0x14], ebx
call fcn.00429592
jmp 0x42cc1c
mov ecx, ebp
mov dword [esp + 0x1c], ebp
cmp ebp, dword [0x4c4d58]
jae 0x42cbfa
mov eax, dword [0x4c4d50]
mov esi, dword [eax + ecx*4]
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
je 0x42cbdf
lea ecx, [esp + 0x34]
push ecx
push 0
push eax
call dword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
test eax, eax
je 0x42cb2c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.WSAEnumNetworkEvents_error___d_
call fcn.00488fd1
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 0x42cbdf
mov eax, dword [esp + 0x34]
test al, 0x20
je 0x42cb4d
cmp dword [esp + 0x4c], 0
je 0x42cb4d
push 1
push dword [esp + 0x50]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
jmp 0x42cbdf
test al, 0x10
je 0x42cbd7
mov edi, dword [esp + 0x48]
test edi, edi
je 0x42cbd7
cmp edi, 0x2740
jne 0x42cbcf
movzx eax, word [esi + 0xd3]
test ax, ax
je 0x42cbcf
mov dx, word [0x4c4998]
test dx, dx
je 0x42cbcf
mov ecx, dword [0x4c499c]
test ecx, ecx
je 0x42cbcf
cmp ax, dx
jb 0x42cbcf
movzx eax, ax
cmp eax, ecx
jge 0x42cbcf
lea edi, [esi + 0xe7]
test byte [edi], 2
je 0x42cbac
lea ecx, [esi + 0xc1]
call fcn.00429959
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.0042c753
jmp 0x42cbdf
push 1
push edi
jmp 0x42cb41
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 4]
mov ecx, dword [esp + 0x1c]
mov eax, dword [0x4b5fc8]
add ecx, eax
mov dword [esp + 0x1c], ecx
cmp ecx, dword [0x4c4d58]
jb 0x42cadc
lea ecx, [eax - 1]
cmp ebp, ecx
je 0x42cc29
xor ecx, ecx
push ecx
push ecx
push ecx
lea ecx, [ebp*4 + 0x4c47ec]
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 [0x4b5fc8]
cmp ebp, eax
jb 0x42caca
mov ecx, dword [0x4c5f94]
call fcn.0044a0a1
mov ecx, dword [0x4c5f90]
test ecx, ecx
je 0x42cc43
call fcn.0044a0a1
mov ecx, dword [0x4c5f94]
call fcn.00440b0b
mov edi, ebx
sub edi, dword [esp + 0x24]
cmp edi, 0x32
jb 0x42ccd4
xor ebp, ebp
xor esi, esi
cmp dword [0x4c4d58], ebp
jbe 0x42cc8d
mov eax, dword [0x4c4d50]
mov ecx, dword [eax + esi*4]
mov al, byte [ecx + 0xe]
test al, 0x20
je 0x42cc84
and al, 0x26
cmp al, 0x22
jne 0x42cc84
cmp dword [ecx + 0x35], ebp
je 0x42cc84
call fcn.0042b2f4
inc esi
cmp esi, dword [0x4c4d58]
jb 0x42cc65
mov ecx, ebx
sub ecx, dword [esp + 0x20]
cmp ecx, 0x3e8
jb 0x42ccc2
call fcn.0042ab1d
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x1e
mov dword [esp + 0x20], ebx
jne 0x42ccc2
call fcn.0042af1f
call fcn.00415a15
call fcn.00444529
mov dword [esp + 0x18], ebp
mov ecx, edi
call fcn.00429ccc
mov ecx, edi
call fcn.0042a1cd
mov dword [esp + 0x24], ebx
xor edi, edi
cmp dword [0x4c4d58], edi
jbe 0x42cd28
cmp byte [esp + 0x13], 0
mov eax, dword [0x4c4d50]
mov esi, dword [eax + edi*4]
je 0x42cd0d
movzx eax, word [esi + 0xc]
test ax, ax
je 0x42cd0d
dec eax
mov word [esi + 0xc], ax
test ax, ax
ja 0x42cd0d
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 0x42cd1f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
test al, al
je 0x42cd1f
dec edi
inc edi
cmp edi, dword [0x4c4d58]
jb 0x42ccde
call fcn.0041d3f5
cmp byte [esp + 0x13], 0
je 0x42cd39
call fcn.00447721
movzx edx, byte [esp + 0x13]
mov ecx, dword [esp + 0x28]
call fcn.00414593
call fcn.00422783
call fcn.0042c1c9
call fcn.004295a3
mov eax, dword [esp + 0x30]
cmp byte [eax], 0
jne 0x42ca2d
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x50
ret