Function at 0x4603a0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 9
push 0
push 0
dec ecx
jne 0x4603a8
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x4607f2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x460810
call fcn.0045f9c0
xor eax, eax
push ebp
push 0x4607c3
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [0x781060], ebx
mov eax, dword [sym.imp.rtl120.bpl__Sysutils_Win32MajorVersion]
cmp dword [eax], 5
jg 0x460457
push 0x46082c
push 0xffffffffffffffff
push 0
call fcn.004019b8
mov dword [0x781064], eax
call sub.kernel32.dll_GetLastError
cmp eax, 0xb7
jne 0x46043f
mov eax, 0x460888
call sub.rtl120.bpl__Sysutils_FindCmdLineSwitch_qqrx20System_UnicodeString
test al, al
jne 0x460427
push 0
push 0
push ebx
call fcn.0045fa48
push eax
call sub.user32.dll_PostMessageW
mov eax, 0x4608a4
call fcn.0045f9c0
mov byte [ebp - 9], 0
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x4607ca
mov eax, 0x4608e0
call fcn.0045f9c0
mov byte [ebp - 9], 1
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x4607ca
push 0x46082c
push 0xffffffffffffffff
push 0
call fcn.004019b8
mov dword [0x781064], eax
call sub.kernel32.dll_GetLastError
cmp eax, 0xb7
jne 0x4604bf
mov eax, 0x460924
call fcn.0045f9c0
mov eax, 0x460888
call sub.rtl120.bpl__Sysutils_FindCmdLineSwitch_qqrx20System_UnicodeString
test al, al
jne 0x4604b1
mov edx, 0x46095c
mov eax, 0x46097c
call fcn.004354d0
test al, al
jne 0x4604b1
push 0
push 0
push ebx
call fcn.0045fa48
push eax
call sub.user32.dll_PostMessageW
mov byte [ebp - 9], 0
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x4607ca
lea eax, [ebp - 4]
call fcn.0045fffc
call fcn.0045f9c4
lea ecx, [ebp - 0x20]
mov dl, 1
call sub.rtl120.bpl__Sysutils_BoolToStr_qqroo
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x1c]
mov edx, 0x4609d8
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x1c]
call fcn.0045f9c0
mov eax, 0x460a04
call sub.rtl120.bpl__Sysutils_FindCmdLineSwitch_qqrx20System_UnicodeString
test al, al
jne 0x460509
call fcn.0045fcb0
test al, al
je 0x46058d
mov eax, 0x460a20
call fcn.0045f9c0
xor eax, eax
push ebp
push 0x460575
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x45fdf0
push 0x46082c
call sub.datastate.dll_Server
lea ecx, [ebp - 0x2c]
mov dl, 1
call sub.rtl120.bpl__Sysutils_BoolToStr_qqroo
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
mov edx, 0x460a48
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x28]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
mov edx, eax
lea eax, [ebp - 0x24]
call sub.rtl120.bpl__System__UStrFromPWChar_qqrr20System_UnicodeStringpb
mov eax, dword [ebp - 0x24]
call fcn.0045f9c0
mov byte [0x78106c], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46057f
mov byte [ebp - 9], 1
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x4607ca
cmp dword [0x781064], 0
je 0x4605a8
mov eax, dword [0x781064]
push eax
call sub.kernel32.dll_CloseHandle
xor eax, eax
mov dword [0x781064], eax
mov eax, dword [ebp - 4]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
mov edx, 0x460a68
call fcn.0045f114
call fcn.004024e0
test eax, eax
je 0x4605f0
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 4]
mov edx, 0x460a78
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x30]
call fcn.0045f9c0
mov al, 1
call fcn.00460150
mov byte [ebp - 9], 0
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x4607ca
push 0x460aac
push dword [ebp - 4]
push 0x460ae8
lea eax, [ebp - 8]
mov edx, 3
call sub.rtl120.bpl__System__UStrCatN_qqrv
lea eax, [ebp - 0x34]
mov ecx, dword [ebp - 8]
mov edx, 0x460af8
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x34]
call fcn.0045f9c0
xor eax, eax
push ebp
push 0x4606ac
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
mov eax, dword [ebp - 8]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
push 0x460b18
push 0x460b28
push 0
call sub.shell32.dll_ShellExecuteW
cmp eax, 0x20
jbe 0x46065f
mov eax, 0x460b40
call fcn.0045f9c0
jmp 0x4606a2
push 0x460b70
call sub.kernel32.dll_GetLastError
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x3c]
call sub.rtl120.bpl__Sysutils_IntToStr_qqrj
push dword [ebp - 0x3c]
push 0x460ba8
call sub.kernel32.dll_GetLastError
lea edx, [ebp - 0x40]
call sub.rtl120.bpl__Sysutils_SysErrorMessage_qqrui
push dword [ebp - 0x40]
lea eax, [ebp - 0x38]
mov edx, 4
call sub.rtl120.bpl__System__UStrCatN_qqrv
mov eax, dword [ebp - 0x38]
call fcn.0045f9c0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4606c0
call sub.rtl120.bpl__Sysutils_Now_qqrv
fstp qword [ebp - 0x18]
wait
jmp 0x460742
push 0x32
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 eax, 0x46097c
mov edx, 0x46095c
call fcn.004354d0
test al, al
je 0x460742
call sub.rtl120.bpl__Sysutils_Now_qqrv
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call sub.rtl120.bpl__Dateutils_MilliSecondsBetween_qqrx16System_TDateTimet1
push edx
push eax
lea eax, [ebp - 0x48]
call sub.rtl120.bpl__Sysutils_IntToStr_qqrj
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x44]
mov edx, 0x460bec
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x44]
call fcn.0045f9c0
mov eax, 0x460c08
call fcn.0045f9c0
mov byte [ebp - 9], 0
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x4607ca
call sub.rtl120.bpl__Sysutils_Now_qqrv
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call sub.rtl120.bpl__Dateutils_MilliSecondsBetween_qqrx16System_TDateTimet1
cmp edx, 0
jne 0x46076b
cmp eax, 0x1388
jb 0x4606cb
jmp 0x460771
jl 0x4606cb
mov eax, 0x46097c
mov edx, 0x46095c
call fcn.004354d0
test al, al
jne 0x4607a0
mov eax, 0x460c30
call fcn.0045f9c0
mov al, 1
call fcn.00460150
mov byte [ebp - 9], 0
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x4607ca
mov eax, 0x460c58
call fcn.0045f9c0
mov byte [ebp - 9], 0
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x4607ca
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4607f9
lea eax, [ebp - 0x48]
mov edx, 0xc
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 8]
mov edx, 2
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
ret