Function at 0x6fbc84
Capabilities:
Check for time delay via gettickcount
Create process on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff2c
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x6fc3a4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x294]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x305], 1
push 0xffffffffffffffff
xor ecx, ecx
mov edx, 1
mov eax, 0x47b
call fcn.0040f2ac
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x294]
xor edx, edx
call sub.vcl120.bpl__Controls_TControl_SetVisible_qqro
xor edx, edx
push ebp
push 0x6fc351
push dword fs:[edx]
mov dword fs:[edx], esp
mov dl, 3
mov eax, dword [ebp - 0x10]
call fcn.006fdbc8
lea edx, [ebp - 0x8c]
xor eax, eax
call sub.rtl120.bpl__System_ParamStr_qqri
mov eax, dword [ebp - 0x8c]
lea edx, [ebp - 0x88]
call sub.rtl120.bpl__Sysutils_ExtractFilePath_qqrx20System_UnicodeString
mov edx, dword [ebp - 0x88]
lea eax, [ebp - 8]
mov ecx, 0x6fc3c0
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
lea edx, [ebp - 0x90]
mov eax, 0x7530
call sub.rtl120.bpl__Sysutils_IntToStr_qqri
mov ecx, dword [ebp - 0x90]
lea eax, [ebp - 0xc]
mov edx, 0x6fc3e0
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c8]
mov eax, dword [eax + 0xc]
dec eax
je 0x6fbd8d
dec eax
je 0x6fbdce
jmp 0x6fbe08
push dword [ebp - 0xc]
push 0x6fc400
push 0x6fc410
lea eax, [ebp - 0xc]
mov edx, 3
call sub.rtl120.bpl__System__UStrCatN_qqrv
xor edx, edx
mov eax, 0x6fc42c
call fcn.0051a518
mov edx, 7
mov eax, 0x6fc444
call fcn.0051a518
mov eax, 0x6fc45c
call fcn.00579b68
jmp 0x6fbe08
push dword [ebp - 0xc]
push 0x6fc400
push 0x6fc478
lea eax, [ebp - 0xc]
mov edx, 3
call sub.rtl120.bpl__System__UStrCatN_qqrv
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x28c]
xor edx, edx
call sub.vcl120.bpl__Controls_TControl_SetVisible_qqro
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x290]
xor edx, edx
call sub.vcl120.bpl__Controls_TControl_SetVisible_qqro
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0x11
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x98], eax
mov byte [ebp - 0x94], 0x11
lea edx, [ebp - 0xa0]
mov ecx, 1
mov eax, 0x6fc498
call fcn.0040fdb0
mov eax, dword [ebp - 4]
call sub.rtl120.bpl__System__UStrLen_qqrx20System_UnicodeString
mov ebx, eax
inc ebx
mov eax, ebx
call sub.rtl120.bpl__Sysutils_StrAlloc_qqrui
mov dword [ebp - 0x14], eax
mov edx, ebx
add edx, edx
mov eax, dword [ebp - 0x14]
call fcn.004024a4
mov ecx, ebx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
call sub.rtl120.bpl__Sysutils_StrPLCopy_qqrpbx20System_UnicodeStringui
lea eax, [ebp - 0x74]
mov edx, 0x44
call fcn.004024a4
lea eax, [ebp - 0x84]
mov edx, 0x10
call fcn.004024a4
mov dword [ebp - 0x74], 0x44
mov dword [ebp - 0x48], 1
mov word [ebp - 0x44], 0
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x74]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x14]
push eax
push 0
call sub.kernel32.dll_CreateProcessW
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
call sub.kernel32.dll_GetTickCount
mov edi, eax
push 0
mov eax, dword [ebp - 0x84]
push eax
call sub.kernel32.dll_WaitForSingleObject
mov esi, eax
call sub.kernel32.dll_GetTickCount
mov ebx, eax
sub ebx, edi
cmp ebx, 0x7530
jae 0x6fc007
push 0xa
call sub.kernel32.dll_Sleep_1
mov eax, dword [sym.imp.vcl120.bpl__Forms_Application]
mov eax, dword [eax]
call sub.vcl120.bpl__Forms_TApplication_ProcessMessages_qqrv
mov dword [ebp - 0xa8], ebx
xor eax, eax
mov dword [ebp - 0xa4], eax
fild qword [ebp - 0xa8]
fdiv dword [0x6fc4a8]
add esp, 0xfffffff4
fstp xword [esp]
wait
push 0x3fff
push 0x80000000
push 0
call sub.rtl120.bpl__Math_Min_qqrxgxg
fstp qword [ebp - 0x20]
wait
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
mov eax, dword [0x7a0808]
mov cl, 1
mov edx, 3
call fcn.0047962c
fstp qword [ebp - 0x28]
wait
lea eax, [ebp - 0xac]
push eax
fld qword [ebp - 0x20]
fstp xword [ebp - 0xb8]
wait
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 3
fld qword [ebp - 0x28]
fstp xword [ebp - 0xc4]
wait
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x98], eax
mov byte [ebp - 0x94], 3
lea edx, [ebp - 0xa0]
mov ecx, 1
mov eax, 0x6fc4b8
call fcn.0040fdb0
mov eax, dword [ebp - 0xac]
call fcn.006faee0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c8]
mov eax, dword [eax + 0xc]
dec eax
je 0x6fbfcf
dec eax
je 0x6fbfe3
jmp 0x6fbffb
fld qword [ebp - 0x28]
add esp, 0xfffffffc
fstp dword [esp]
wait
mov eax, dword [ebp - 0x10]
call fcn.006fd82c
jmp 0x6fbffb
fld dword [0x6fc4d4]
fsub qword [ebp - 0x28]
add esp, 0xfffffffc
fstp dword [esp]
wait
mov eax, dword [ebp - 0x10]
call fcn.006fd82c
cmp esi, 0x102
je 0x6fbed1
mov bl, 1
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c8]
mov eax, dword [eax + 0xc]
dec eax
je 0x6fc01d
dec eax
je 0x6fc05b
jmp 0x6fc097
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2f4]
fld dword [eax + 0xac]
fcomp dword [0x6fc4d8]
wait
fnstsw ax
sahf
jne 0x6fc057
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2f8]
fld dword [eax + 0x9c]
fcomp dword [0x6fc4d8]
wait
fnstsw ax
sahf
jne 0x6fc057
xor ebx, ebx
jmp 0x6fc097
mov bl, 1
jmp 0x6fc097
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2f4]
fld dword [eax + 0xac]
fcomp dword [0x6fc4dc]
wait
fnstsw ax
sahf
jne 0x6fc095
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2f8]
fld dword [eax + 0x9c]
fcomp dword [0x6fc4dc]
wait
fnstsw ax
sahf
jne 0x6fc095
xor ebx, ebx
jmp 0x6fc097
mov bl, 1
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2f4]
fld dword [eax + 0xac]
fstp xword [ebp - 0xb8]
wait
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2f8]
fld dword [eax + 0x9c]
fstp xword [ebp - 0xc4]
wait
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x98], eax
mov byte [ebp - 0x94], 3
lea edx, [ebp - 0xa0]
mov ecx, 1
mov eax, 0x6fc4ec
call fcn.0040fdb0
mov eax, dword [ebp - 0xc8]
call fcn.006faee0
test bl, bl
je 0x6fc270
fld qword [ebp - 0x28]
fcomp dword [0x6fc4d4]
wait
fnstsw ax
sahf
jae 0x6fc270
mov esi, 0x7d0
call sub.kernel32.dll_GetTickCount
mov edi, eax
call sub.kernel32.dll_GetTickCount
mov ebx, eax
sub ebx, edi
push 0xa
call sub.kernel32.dll_Sleep_1
mov eax, dword [sym.imp.vcl120.bpl__Forms_Application]
mov eax, dword [eax]
call sub.vcl120.bpl__Forms_TApplication_ProcessMessages_qqrv
mov dword [ebp - 0xa8], ebx
xor eax, eax
mov dword [ebp - 0xa4], eax
fild qword [ebp - 0xa8]
mov dword [ebp - 0xd0], esi
xor eax, eax
mov dword [ebp - 0xcc], eax
fild qword [ebp - 0xd0]
fdivp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
push 0x3fff
push 0x80000000
push 0
call sub.rtl120.bpl__Math_Min_qqrxgxg
fstp qword [ebp - 0x20]
wait
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
mov eax, dword [0x7a1024]
mov cl, 1
mov edx, 3
call fcn.0047962c
fstp qword [ebp - 0x30]
wait
fld dword [0x6fc4d4]
fsub qword [ebp - 0x28]
fmul qword [ebp - 0x30]
fadd qword [ebp - 0x28]
fstp qword [ebp - 0x30]
wait
lea eax, [ebp - 0xd4]
push eax
fld qword [ebp - 0x20]
fstp xword [ebp - 0xb8]
wait
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 3
fld qword [ebp - 0x30]
fstp xword [ebp - 0xc4]
wait
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x98], eax
mov byte [ebp - 0x94], 3
lea edx, [ebp - 0xa0]
mov ecx, 1
mov eax, 0x6fc52c
call fcn.0040fdb0
mov eax, dword [ebp - 0xd4]
call fcn.006faee0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c8]
mov eax, dword [eax + 0xc]
dec eax
je 0x6fc23c
dec eax
je 0x6fc250
jmp 0x6fc268
fld qword [ebp - 0x30]
add esp, 0xfffffffc
fstp dword [esp]
wait
mov eax, dword [ebp - 0x10]
call fcn.006fd82c
jmp 0x6fc268
fld dword [0x6fc4d4]
fsub qword [ebp - 0x30]
add esp, 0xfffffffc
fstp dword [esp]
wait
mov eax, dword [ebp - 0x10]
call fcn.006fd82c
cmp esi, ebx
ja 0x6fc137
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c8]
mov eax, dword [eax + 0xc]
dec eax
je 0x6fc284
dec eax
je 0x6fc2db
jmp 0x6fc2e5
call fcn.006efaf4
test al, al
je 0x6fc2b4
mov dl, 2
mov eax, dword [ebp - 0x10]
call fcn.006fdbc8
xor edx, edx
mov eax, 0x6fc554
call fcn.0051a518
mov edx, 7
mov eax, 0x6fc56c
call fcn.0051a518
jmp 0x6fc2e5
mov dl, 4
mov eax, dword [ebp - 0x10]
call fcn.006fdbc8
xor edx, edx
mov eax, 0x6fc584
call fcn.0051a518
mov edx, 7
mov eax, 0x6fc59c
call fcn.0051a518
jmp 0x6fc2e5
mov dl, 1
mov eax, dword [ebp - 0x10]
call fcn.006fdbc8
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x6fc2f5
push eax
call sub.kernel32.dll_CloseHandle
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x6fc302
push eax
call sub.kernel32.dll_CloseHandle
mov eax, dword [ebp - 0x14]
call sub.rtl120.bpl__Sysutils_StrDispose_qqrpb
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6fc358
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x304], 0
jne 0x6fc336
push 0xffffffffffffffff
xor ecx, ecx
mov edx, 2
mov eax, 0x47b
call fcn.0040f2ac
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x294]
mov dl, 1
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x305], 0
ret