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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
mov ebx, ecx
push esi
cmp dword [ebx + 0x10], 0
mov esi, dword [0x49aa34]
mov dword [ebp - 4], ebx
jne 0x40931a
xor edx, edx
mov eax, esi
mov dword [0x49aa38], eax
mov dword [0x49aa4c], edx
jmp 0x409325
mov edx, dword [0x49b4e8]
mov eax, dword [0x49aa38]
inc edx
cmp dword [ebx + 8], 0
mov dword [0x49b4e8], edx
jle 0x40957b
mov ecx, 0xffffffec
sub ecx, ebx
push edi
lea edi, [ebx + 0x14]
mov dword [ebp - 8], ecx
cmp edi, eax
jae 0x4093bd
cmp esi, edi
ja 0x4093bd
mov edx, dword [0x49aa3c]
mov ebx, edi
sub ebx, esi
cmp eax, edx
jne 0x4093a4
mov ecx, edx
sub ecx, eax
cmp ecx, 1
jae 0x4093a4
mov ecx, esi
sub ecx, eax
dec ecx
cmp ecx, 1
jb 0x409581
sub eax, esi
sub edx, esi
mov esi, edx
shr esi, 1
or ecx, 0xffffffff
sub ecx, esi
inc eax
cmp ecx, edx
jae 0x409387
xor edx, edx
jmp 0x409389
add edx, esi
cmp edx, eax
cmovb edx, eax
push edx
mov ecx, 0x49aa34
call fcn.00409b00
mov eax, dword [0x49aa38]
mov esi, dword [0x49aa34]
test eax, eax
je 0x4093b8
mov cl, byte [esi + ebx]
mov byte [eax], cl
mov eax, dword [0x49aa38]
mov esi, dword [0x49aa34]
mov ebx, dword [ebp - 4]
jmp 0x409424
mov edx, dword [0x49aa3c]
cmp eax, edx
jne 0x409411
mov ecx, edx
sub ecx, eax
cmp ecx, 1
jae 0x409411
mov ecx, esi
sub ecx, eax
dec ecx
cmp ecx, 1
jb 0x409581
sub eax, esi
sub edx, esi
mov esi, edx
shr esi, 1
or ecx, 0xffffffff
sub ecx, esi
inc eax
cmp ecx, edx
jae 0x4093f4
xor edx, edx
jmp 0x4093f6
add edx, esi
cmp edx, eax
cmovb edx, eax
push edx
mov ecx, 0x49aa34
call fcn.00409b00
mov eax, dword [0x49aa38]
mov esi, dword [0x49aa34]
test eax, eax
je 0x409424
mov cl, byte [edi]
mov byte [eax], cl
mov eax, dword [0x49aa38]
mov esi, dword [0x49aa34]
inc dword [0x49aa4c]
inc eax
mov ecx, eax
mov dword [0x49aa38], eax
mov edx, dword [ebx + 0xc]
sub ecx, esi
cmp ecx, edx
jne 0x40954f
mov eax, dword [0x49aa40]
push 0x49aa34
mov ecx, 0x49aa40
mov dword [0x49aa44], eax
call fcn.004099c0
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov byte [0x49aa60], 1
call esi
sub eax, dword [0x49aa78]
cmp eax, 0x3e8
jae 0x40947f
inc dword [0x49aa70]
jmp 0x409560
call esi
mov dword [0x49aa78], eax
mov eax, dword [0x49aa70]
mov dword [0x49aa74], eax
mov dword [0x49aa70], 0
cmp eax, 0x14
jge 0x4094f8
mov eax, dword [0x49aa7c]
cmp eax, 0x1e
jle 0x409560
mov esi, dword [0x49aa64]
sub eax, 0xa
mov dword [0x49aa7c], eax
mov word [ebp - 0x14], 0xcc1
call fcn.0040e343
and eax, 0x800000ff
jns 0x4094d4
dec eax
or eax, 0xffffff00
inc eax
mov byte [ebp - 0x12], al
mov eax, dword [0x49aa7c]
mov dword [ebp - 0xc], eax
push 0xc
lea eax, [ebp - 0x14]
push eax
push esi
mov byte [ebp - 0x11], 0x10
mov dword [ebp - 0x10], 1
call fcn.0040be70
jmp 0x409560
jle 0x409560
mov eax, dword [0x49aa7c]
cmp eax, 0x64
jge 0x409560
mov esi, dword [0x49aa64]
add eax, 0xa
mov dword [0x49aa7c], eax
mov word [ebp - 0x20], 0xcc1
call fcn.0040e343
and eax, 0x800000ff
jns 0x40952b
dec eax
or eax, 0xffffff00
inc eax
mov byte [ebp - 0x1e], al
mov eax, dword [0x49aa7c]
mov dword [ebp - 0x18], eax
push 0xc
lea eax, [ebp - 0x20]
push eax
push esi
mov byte [ebp - 0x1d], 0x10
mov dword [ebp - 0x1c], 1
call fcn.0040be70
jmp 0x409560
jb 0x40956b
push str.ERROR__Buffer_length_bigger_then_expected_size_
push 2
call fcn.0040c860
add esp, 8
mov eax, dword [0x49aa38]
mov esi, dword [0x49aa34]
mov ecx, dword [ebp - 8]
inc edi
add ecx, edi
cmp ecx, dword [ebx + 8]
jl 0x409344
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.vector_T__too_long
call fcn.0040ce17
int3