Function at 0x45da78
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 9
push 0
push 0
dec ecx
jne 0x45da80
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x45df14
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x45df34
call fcn.0045d1f8
xor eax, eax
push ebp
push 0x45dee5
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [0x7e0048], ebx
mov eax, dword [sym.imp.rtl120.bpl__Sysutils_Win32MajorVersion]
cmp dword [eax], 5
jg 0x45db2f
push 0x45df50
push 0xffffffffffffffff
push 0
call fcn.00401a00
mov dword [0x7e004c], eax
call sub.kernel32.dll_GetLastError
cmp eax, 0xb7
jne 0x45db17
mov eax, 0x45dfac
call sub.rtl120.bpl__Sysutils_FindCmdLineSwitch_qqrx20System_UnicodeString
test al, al
jne 0x45daff
push 0
push 0
push ebx
call fcn.0045d280
push eax
call sub.user32.dll_PostMessageW
mov eax, 0x45dfc8
call fcn.0045d1f8
mov byte [ebp - 9], 0
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x45deec
mov eax, 0x45e004
call fcn.0045d1f8
mov byte [ebp - 9], 1
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x45deec
push 0x45df50
push 0xffffffffffffffff
push 0
call fcn.00401a00
mov dword [0x7e004c], eax
call sub.kernel32.dll_GetLastError
cmp eax, 0xb7
jne 0x45dbe1
mov eax, 0x45e048
call fcn.0045d1f8
mov eax, 0x45dfac
call sub.rtl120.bpl__Sysutils_FindCmdLineSwitch_qqrx20System_UnicodeString
test al, al
jne 0x45db8d
mov edx, 0x45e080
mov eax, 0x45e0a0
call fcn.0045d144
test al, al
jne 0x45db8d
push 0
push 0
push ebx
call fcn.0045d280
push eax
call sub.user32.dll_PostMessageW
mov eax, 0x45e0fc
call sub.rtl120.bpl__Sysutils_FindCmdLineSwitch_qqrx20System_UnicodeString
test al, al
je 0x45dbb1
push 0
push 0
push 0x2b23
call fcn.0045d280
push eax
call sub.user32.dll_PostMessageW
jmp 0x45dbd3
mov eax, 0x45e11c
call sub.rtl120.bpl__Sysutils_FindCmdLineSwitch_qqrx20System_UnicodeString
test al, al
je 0x45dbd3
push 0
push 0
push 0x2b22
call fcn.0045d280
push eax
call sub.user32.dll_PostMessageW
mov byte [ebp - 9], 0
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x45deec
lea eax, [ebp - 4]
call fcn.0045d834
call fcn.0045d1fc
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, 0x45e13c
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x1c]
call fcn.0045d1f8
mov eax, 0x45e168
call sub.rtl120.bpl__Sysutils_FindCmdLineSwitch_qqrx20System_UnicodeString
test al, al
jne 0x45dc2b
call fcn.0045d4e8
test al, al
je 0x45dcaf
mov eax, 0x45e184
call fcn.0045d1f8
xor eax, eax
push ebp
push 0x45dc97
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x45d628
push 0x45df50
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, 0x45e1ac
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.0045d1f8
mov byte [0x7e0054], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45dca1
mov byte [ebp - 9], 1
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x45deec
cmp dword [0x7e004c], 0
je 0x45dcca
mov eax, dword [0x7e004c]
push eax
call sub.kernel32.dll_CloseHandle
xor eax, eax
mov dword [0x7e004c], eax
mov eax, dword [ebp - 4]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
mov edx, 0x45e1cc
call fcn.0045ce58
call fcn.00402544
test eax, eax
je 0x45dd12
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 4]
mov edx, 0x45e1dc
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x30]
call fcn.0045d1f8
mov al, 1
call fcn.0045d988
mov byte [ebp - 9], 0
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x45deec
push 0x45e210
push dword [ebp - 4]
push 0x45e24c
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, 0x45e25c
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x34]
call fcn.0045d1f8
xor eax, eax
push ebp
push 0x45ddce
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 0x45e27c
push 0x45e28c
push 0
call sub.shell32.dll_ShellExecuteW
cmp eax, 0x20
jbe 0x45dd81
mov eax, 0x45e2a4
call fcn.0045d1f8
jmp 0x45ddc4
push 0x45e2d4
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 0x45e30c
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.0045d1f8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45dde2
call sub.rtl120.bpl__Sysutils_Now_qqrv
fstp qword [ebp - 0x18]
wait
jmp 0x45de64
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, 0x45e0a0
mov edx, 0x45e080
call fcn.0045d144
test al, al
je 0x45de64
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, 0x45e350
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x44]
call fcn.0045d1f8
mov eax, 0x45e36c
call fcn.0045d1f8
mov byte [ebp - 9], 0
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x45deec
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 0x45de8d
cmp eax, 0x1388
jb 0x45dded
jmp 0x45de93
jl 0x45dded
mov eax, 0x45e0a0
mov edx, 0x45e080
call fcn.0045d144
test al, al
jne 0x45dec2
mov eax, 0x45e394
call fcn.0045d1f8
mov al, 1
call fcn.0045d988
mov byte [ebp - 9], 0
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x45deec
mov eax, 0x45e3bc
call fcn.0045d1f8
mov byte [ebp - 9], 0
call sub.rtl120.bpl__System__TryFinallyExit_qqrv
jmp 0x45deec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45df1b
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