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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x55652b
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 1
cmp byte [ebx + 0x5c], 0
jne 0x556510
cmp byte [ebx + 0x7c], 0
jne 0x556510
call sub.kernel32.dll_GetTickCount
sub eax, dword [ebx + 0x64]
xor edx, edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
push edx
push eax
mov eax, dword [ebx + 0x50]
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 0
jne 0x556344
cmp dword [ebp - 0x10], 0
jae 0x55634a
jmp 0x556510
jl 0x556510
mov byte [ebp - 0x21], 1
mov byte [ebp - 0x22], 1
mov esi, dword [ebx + 0x68]
mov eax, dword [ebx + 0x6c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
sub eax, esi
jl 0x5563ba
inc eax
mov dword [ebp - 0x28], eax
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [ebp - 0x2c]
mov edx, esi
mov eax, dword [ebx + 0x6c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2c]
call sub.rtl120.bpl__Sysutils_StrToInt64Def_qqrx20System_UnicodeStringxj
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0xc]
jne 0x556397
cmp eax, dword [ebp - 0x10]
ja 0x5563a8
jmp 0x556399
jg 0x5563a8
push dword [ebp - 0x14]
push dword [ebp - 0x18]
mov eax, ebx
call fcn.00555404
jmp 0x5563ae
mov byte [ebp - 0x21], 0
jmp 0x5563ba
lea eax, [esi + 1]
mov dword [ebx + 0x68], eax
inc esi
dec dword [ebp - 0x28]
jne 0x556366
mov eax, dword [ebx + 0x70]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x55646c
inc eax
mov dword [ebp - 0x28], eax
xor esi, esi
push 0
push 0
lea ecx, [ebp - 0x30]
mov edx, esi
mov eax, dword [ebx + 0x70]
call sub.rtl120.bpl__Classes_TStrings_GetName_qqri
mov eax, dword [ebp - 0x30]
call sub.rtl120.bpl__Sysutils_StrToInt64Def_qqrx20System_UnicodeStringxj
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
push 0
push 0xffffffffffffffff
lea ecx, [ebp - 0x34]
mov edx, esi
mov eax, dword [ebx + 0x70]
call sub.rtl120.bpl__Classes_TStrings_GetValueFromIndex_qqri
mov eax, dword [ebp - 0x34]
call sub.rtl120.bpl__Sysutils_StrToInt64Def_qqrx20System_UnicodeStringxj
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x14]
jne 0x556421
cmp eax, dword [ebp - 0x18]
jb 0x55644a
jmp 0x556423
jl 0x55644a
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x1c]
jne 0x556435
cmp eax, dword [ebp - 0x20]
ja 0x55644a
jmp 0x556437
jg 0x55644a
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
mov eax, ebx
call fcn.00555480
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x1c]
jne 0x55645c
cmp eax, dword [ebp - 0x20]
ja 0x556462
jmp 0x55645e
jg 0x556462
mov byte [ebp - 0x22], 0
inc esi
dec dword [ebp - 0x28]
jne 0x5563d1
movzx edx, byte [ebp - 0x21]
and dl, byte [ebp - 0x22]
mov byte [ebx + 0x5c], dl
movzx eax, byte [ebx + 0x5d]
cmp al, 1
jne 0x556488
mov ecx, edx
xor cl, 1
mov byte [ebp - 1], cl
jmp 0x55648c
mov byte [ebp - 1], 1
cmp al, 2
jne 0x5564dd
test dl, dl
je 0x5564dd
call sub.kernel32.dll_GetTickCount
mov dword [ebx + 0x64], eax
inc dword [ebx + 0x60]
xor eax, eax
mov dword [ebx + 0x68], eax
mov byte [ebx + 0x5c], 0
mov byte [ebp - 1], 1
mov byte [ebp - 0x23], 0
cmp word [ebx + 0x8a], 0
je 0x5564cf
lea eax, [ebp - 0x23]
push eax
mov ecx, dword [ebx + 0x60]
mov edx, ebx
mov eax, dword [ebx + 0x8c]
call dword [ebx + 0x88]
cmp byte [ebp - 0x23], 0
je 0x5564dd
mov byte [ebx + 0x5c], 1
mov byte [ebp - 1], 0
cmp byte [ebp - 1], 0
jne 0x556510
cmp word [ebx + 0x82], 0
je 0x5564fb
mov edx, ebx
mov eax, dword [ebx + 0x84]
call dword [ebx + 0x80]
cmp byte [ebx + 0x5d], 1
jne 0x55650c
movzx eax, byte [ebx + 0x5c]
xor al, 1
mov byte [ebp - 1], al
jmp 0x556510
mov byte [ebp - 1], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x556532
lea eax, [ebp - 0x34]
mov edx, 3
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
ret