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

Disassembly:
push 0x624
mov eax, 0x47b498
call fcn.0046436b
xor ecx, ecx
cmp edi, ecx
je 0x42d50a
lea esi, [ebx + 0x3c]
mov dword [ebp - 0x41c], ecx
mov eax, esi
mov dword [ebp - 0x414], 4
mov edx, dword [eax]
add ecx, edx
adc dword [ebp - 0x41c], 0
add eax, 4
dec dword [ebp - 0x414]
jne 0x42d0ee
mov eax, dword [ebx + 0x34]
add ecx, eax
mov eax, dword [ebx + 0x38]
adc dword [ebp - 0x41c], eax
push dword [ebp - 0x41c]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 4]
and dword [ebp - 0x41c], 0
lea eax, [ebp - 0x410]
mov dword [ebp - 0x414], eax
mov eax, dword [ebp - 0x41c]
movzx eax, byte [esi + eax]
push eax
push 0x489c1c
push dword [ebp - 0x414]
call fcn.0045c670
add dword [ebp - 0x414], 2
add esp, 0xc
inc dword [ebp - 0x41c]
cmp dword [ebp - 0x41c], 0x10
jl 0x42d133
lea eax, [ebp - 0x410]
push eax
lea esi, [ebp - 0x52c]
call fcn.00417d0e
and dword [ebp - 4], 0
mov eax, dword [eax]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 8]
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x528]
cmp dword [ebp - 0x52c], eax
je 0x42d1a5
push dword [ebp - 0x52c]
call fcn.0045cc72
pop ecx
lea eax, [ebx + 0x4c]
push eax
lea esi, [ebp - 0x52c]
call fcn.00417d0e
mov dword [ebp - 4], 1
mov eax, dword [eax]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 8]
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x528]
cmp dword [ebp - 0x52c], eax
je 0x42d1e3
push dword [ebp - 0x52c]
call fcn.0045cc72
pop ecx
push dword [ebx + 0x38]
mov eax, dword [edi]
push dword [ebx + 0x34]
mov ecx, edi
call dword [eax + connect]
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [ebp - 0x410]
push 0x489c5c
push eax
call fcn.0045c670
add esp, 0xc
lea eax, [ebp - 0x410]
push eax
lea esi, [ebp - 0x52c]
call fcn.00417d0e
mov dword [ebp - 4], 2
mov eax, dword [eax]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 8]
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x528]
cmp dword [ebp - 0x52c], eax
je 0x42d24f
push dword [ebp - 0x52c]
call fcn.0045cc72
pop ecx
movzx ecx, word [ebx + 0x156]
mov eax, dword [ebx + 0x152]
push ecx
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [ebp - 0x410]
push 0x489c78
push eax
call fcn.0045c670
add esp, 0x10
lea eax, [ebp - 0x410]
push eax
lea esi, [ebp - 0x52c]
call fcn.00417d0e
mov dword [ebp - 4], 3
mov eax, dword [eax]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 8]
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x528]
cmp dword [ebp - 0x52c], eax
je 0x42d2ba
push dword [ebp - 0x52c]
call fcn.0045cc72
pop ecx
movzx eax, byte [ebx + 0x150]
mov esi, dword [edi]
cdq
push edx
push eax
mov ecx, edi
call dword [esi + connect]
movzx eax, byte [ebx + 0x151]
mov esi, dword [edi]
cdq
push edx
push eax
mov ecx, edi
call dword [esi + connect]
mov eax, dword [edi]
xor esi, esi
push esi
push dword [ebx + 0x178]
mov ecx, edi
call dword [eax + connect]
mov eax, dword [edi]
push esi
push dword [ebx + 0x188]
mov ecx, edi
call dword [eax + connect]
mov eax, dword [edi]
push esi
push dword [ebx + 0x15c]
mov ecx, edi
call dword [eax + connect]
mov eax, dword [edi]
push esi
add eax, 0xc
push 0xa
lea esi, [ebx + 0xf98]
mov dword [ebp - 0x414], eax
call fcn.0043069c
push edx
push eax
mov eax, dword [ebp - 0x414]
mov ecx, edi
call dword [eax]
mov eax, dword [edi]
push 0
add eax, 0xc
push 0xa
lea esi, [ebx + 0x1658]
mov dword [ebp - 0x414], eax
call fcn.0043069c
push edx
push eax
mov eax, dword [ebp - 0x414]
mov ecx, edi
call dword [eax]
mov eax, dword [edi]
push 0
add eax, 0xc
push 0xa
lea esi, [ebx + 0x12f8]
mov dword [ebp - 0x414], eax
call fcn.0043069c
push edx
push eax
mov eax, dword [ebp - 0x414]
mov ecx, edi
call dword [eax]
mov eax, dword [edi]
push 0
add eax, 0xc
push 0xa
lea esi, [ebx + 0x19b8]
mov dword [ebp - 0x414], eax
call fcn.0043069c
push edx
push eax
mov eax, dword [ebp - 0x414]
mov ecx, edi
call dword [eax]
push 0
call fcn.0045ca5f
pop ecx
mov esi, eax
mov dword [ebp - 0x414], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 0x164]
xor edx, edx
mov ecx, 0x3e8
div ecx
xor ecx, ecx
sub esi, eax
mov eax, dword [ebp - 0x414]
sbb eax, ecx
mov dword [ebp - 0x424], eax
lea eax, [ebp - 0x428]
push eax
mov dword [ebp - 0x428], esi
call fcn.004603ce
pop ecx
push dword [eax]
mov ecx, dword [eax + 0x10]
push dword [eax + 4]
inc ecx
push dword [eax + 8]
push dword [eax + 0xc]
mov eax, dword [eax + 0x14]
push ecx
add eax, 0x76c
push eax
lea eax, [ebp - 0x410]
push 0x48b6a8
push eax
call fcn.0045c670
add esp, 0x20
lea eax, [ebp - 0x410]
push eax
lea esi, [ebp - 0x52c]
call fcn.00417d0e
mov dword [ebp - 4], 4
mov eax, dword [eax]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 8]
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x528]
cmp dword [ebp - 0x52c], eax
je 0x42d457
push dword [ebp - 0x52c]
call fcn.0045cc72
pop ecx
push 0
call fcn.0045ca5f
pop ecx
mov esi, eax
mov dword [ebp - 0x414], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 0x160]
xor edx, edx
mov ecx, 0x3e8
div ecx
xor ecx, ecx
sub esi, eax
mov eax, dword [ebp - 0x414]
sbb eax, ecx
mov dword [ebp - 0x424], eax
lea eax, [ebp - 0x428]
push eax
mov dword [ebp - 0x428], esi
call fcn.004603ce
pop ecx
push dword [eax]
mov ecx, dword [eax + 0x10]
push dword [eax + 4]
inc ecx
push dword [eax + 8]
push dword [eax + 0xc]
mov eax, dword [eax + 0x14]
push ecx
add eax, 0x76c
push eax
lea eax, [ebp - 0x410]
push 0x48b6a8
push eax
call fcn.0045c670
add esp, 0x20
lea eax, [ebp - 0x410]
push eax
lea esi, [ebp - 0x630]
call fcn.00417d0e
mov dword [ebp - 4], 5
push dword [eax]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 8]
lea eax, [ebp - 0x62c]
cmp dword [ebp - 0x630], eax
je 0x42d50a
push dword [ebp - 0x630]
call fcn.0045cc72
pop ecx
call fcn.004643ee
ret