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

Disassembly:
push 0x10
mov eax, 0x564df9
call fcn.0054f7b0
mov edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
mov dword [ebp - 0x14], eax
inc ecx
mov eax, dword [edi + 0x2ec]
cmp eax, ecx
je 0x48ecd4
cmp eax, 2
je 0x48ecd4
cmp eax, 3
jne 0x48ef8d
mov esi, dword [edi + 0x290]
mov ecx, esi
push dword [ebp + 0x14]
call fcn.0049a407
mov ebx, eax
mov dword [ebp - 0x10], ebx
test ebx, ebx
js 0x48ef8d
push ebx
mov ecx, esi
call fcn.0049a43a
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
je 0x48ef8d
mov ecx, dword [ebp + 0xc]
mov dword [esi + 0x10], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esi + 0x14], ecx
mov cx, word [ebp + 0x18]
mov word [esi + 0x264], cx
push dword [esi]
mov ecx, dword [edi + 0x608]
call fcn.0049aec7
mov dl, byte [ebp + 0x28]
test eax, eax
je 0x48ed37
movzx ecx, dl
mov dword [eax + 0x14], ecx
movzx eax, dl
xor edx, edx
sub eax, edx
je 0x48ee18
dec eax
je 0x48eddb
dec eax
jne 0x48ef8d
push dword [esi]
push str.Peer__d____
push edi
call fcn.004900aa
add esp, 0xc
cmp byte [esi + 0xe], 0xff
je 0x48ed6e
inc dword [edi + 0x4b8]
xor eax, eax
mov ecx, edi
inc eax
push eax
push esi
call fcn.004921d8
cmp dword [esi + 0x25c], 0
mov ecx, dword [edi + 0x290]
setle bl
test bl, bl
sete al
movzx eax, al
push eax
push dword [ebp - 0x10]
call fcn.0049a463
test bl, bl
je 0x48ef8d
mov dword [esi + 0x258], 0x7530
call dword [sym.imp.KERNEL32.dll_GetTickCount]
test eax, eax
push 1
pop ecx
cmove eax, ecx
lea ecx, [edi + 0x294]
mov dword [esi + 0x254], eax
lea eax, [ebp - 0x18]
inc dword [esi + 0x25c]
push eax
call fcn.00496384
jmp 0x48ef8d
push dword [esi]
push 0x5823e4
push edi
call fcn.004900aa
add esp, 0xc
cmp byte [esi + 0xe], 0xff
je 0x48edf7
inc dword [edi + 0x4bc]
xor eax, eax
mov ecx, edi
inc eax
push eax
push esi
call fcn.004921d8
mov ecx, dword [edi + 0x290]
xor eax, eax
inc eax
push eax
push ebx
call fcn.0049a463
jmp 0x48ef8d
mov eax, dword [ebp + 0x2c]
sub eax, dword [esi + 0x220]
cmp byte [esi + 0xe], 1
mov ebx, dword [ebp + 0x20]
mov dword [esi + 0x224], eax
mov eax, dword [ebp + 0x24]
mov dword [esi + 0x220], edx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], eax
jbe 0x48ee55
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx]
mov dword [esi + 4], eax
mov eax, dword [ecx + 4]
mov dword [esi + 8], eax
mov ax, word [ebp + 8]
mov word [esi + 0xc], ax
mov ecx, dword [edi + 0x290]
mov byte [ebp - 0x10], dl
push dword [ebp - 0x10]
mov edx, dword [ecx + 4]
mov eax, edx
sub eax, dword [ecx]
mov ecx, dword [ecx]
sar eax, 2
push eax
call fcn.0049b6de
pop ecx
pop ecx
mov ecx, dword [edi + 0x61c]
test ecx, ecx
je 0x48ee88
push dword [ebp + 0x24]
push ebx
call fcn.0049be04
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
mov ecx, dword [ebp + 0x24]
jne 0x48eee4
mov eax, ebx
or eax, ecx
je 0x48eee4
push ecx
push ebx
mov ecx, edi
call fcn.004942fd
xor eax, eax
inc eax
mov byte [edi + 0x625], al
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
je 0x48eee1
mov ecx, edi
call fcn.0048e6d5
test eax, eax
je 0x48eee1
push 0
push 0
mov ecx, edi
call fcn.004942fd
mov ecx, edi
call fcn.00493a96
jmp 0x48ef8d
mov ecx, dword [ebp + 0x24]
cmp dword [edi + 0x200], ebx
jne 0x48ef86
cmp dword [edi + 0x204], ecx
jne 0x48ef86
or ebx, ecx
je 0x48ef86
mov ebx, dword [ebp - 0x14]
mov ecx, esi
push ebx
call fcn.0049c7af
inc dword [edi + 0x4c0]
push ebx
push dword [esi + 0x224]
push dword [esi]
push 0x582418
push edi
call fcn.004900aa
add esp, 0x14
cmp dword [edi + 0x59c], 0
je 0x48ef8d
lea esi, [edi + 0x5b0]
mov ecx, esi
mov dword [ebp - 0x14], esi
call fcn.00529310
and dword [ebp - 4], 0
mov edi, dword [edi + 0x59c]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x18]
sub eax, dword [edi + 4]
push dword [ecx]
push eax
mov eax, dword [ebp - 0x1c]
push str._d__d
push 0x5823c8
push dword [eax + 0x59c]
call fcn.0051f43e
or dword [ebp - 4], 0xffffffff
add esp, 0x14
mov ecx, esi
call fcn.00529320
jmp 0x48ef8d
mov dword [esi + 0x40], 4
call fcn.0054f77e
ret 0x2c