Function at 0x795c28
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xc
push 0
push 0
dec ecx
jne 0x795c30
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x796500
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x18]
xor edx, edx
call sub.rtl120.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x79651c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x79652c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x79653c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x79654c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x79655c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x79656c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x79657c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x79658c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x79656c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x79653c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x79658c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x79659c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x7965ac
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x7965bc
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x79656c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x7965cc
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x7965dc
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x79658c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x18]
mov edx, 0x7965ec
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
xor edx, edx
push ebp
push 0x7964c1
push dword fs:[edx]
mov dword fs:[edx], esp
cmp dword [ebp - 0x20], 0
jne 0x795d71
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x7964cb
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x90]
test eax, eax
jne 0x795e24
call sub.kernel32.dll_GetCurrentProcessId
lea edx, [ebp - 0x28]
call fcn.00783abc
mov eax, dword [ebp - 0x28]
mov edx, 0x7965fc
call sub.rtl120.bpl__Sysutils_SameText_qqrx20System_UnicodeStringt1
test al, al
je 0x795dc4
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x20]
lea eax, [ebp - 0x2c]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + 0x24]
call fcn.0079512c
jmp 0x795e12
push 1
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
call sub.rtl120.bpl__Sysutils_ExcludeTrailingPathDelimiter_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x30]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x24]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x20]
lea eax, [ebp - 0x34]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x34]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
push 0x79660c
push 0
call sub.shell32.dll_ShellExecuteW
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x8c], 2
jmp 0x796495
cmp eax, 1
jne 0x795ee9
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x20]
lea eax, [ebp - 0x38]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x38]
call sub.rtl120.bpl__Sysutils_FileExists_qqrx20System_UnicodeString
test al, al
je 0x795e94
push 1
push 0x796618
push 0x796618
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x20]
lea eax, [ebp - 0x3c]
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
mov eax, dword [ebp - 0x3c]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push eax
push 0x79660c
push 0
call sub.shell32.dll_ShellExecuteW
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x8c], 2
jmp 0x796495
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x18], 0
je 0x795ec3
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x98], 1
jne 0x795ec3
push 0
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x18]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
call fcn.00794f74
jmp 0x795ed7
push 0
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00794f74
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x8c], 2
jmp 0x796495
cmp eax, 2
jne 0x795f8d
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00797a18
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Classes_TStringList_]
call sub.rtl120.bpl__Classes_TStringList__bctr_qqrv
mov dword [ebp - 0x24], eax
xor eax, eax
push ebp
push 0x795f74
push dword fs:[eax]
mov dword fs:[eax], esp
mov dx, 0x3d
mov eax, dword [ebp - 0x24]
call sub.rtl120.bpl__Classes_TStrings_SetDelimiter_qqrxb
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0xc4]
mov eax, dword [ebp - 0x24]
call sub.rtl120.bpl__Classes_TStrings_SetDelimitedText_qqrx20System_UnicodeString
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, 2
jne 0x795f5e
lea ecx, [ebp - 0x40]
mov edx, 1
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x40]
xor edx, edx
call fcn.005465f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x795f7b
mov eax, dword [ebp - 0x24]
call sub.rtl120.bpl__System_TObject_Free_qqrv
ret
cmp eax, 3
jne 0x796495
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x98], 1
jne 0x796071
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x9c], 1
jne 0x795ff2
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0xa4], 0
je 0x795ff2
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0xa0]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x48], 0x11
lea edx, [ebp - 0x4c]
xor ecx, ecx
mov eax, 0x796628
call fcn.00411984
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0xa4]
call fcn.0040f904
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x28], 0
je 0x79600a
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00796b54
jmp 0x796041
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x18], 0
je 0x79602d
push 0
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x18]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
call fcn.00794f74
jmp 0x796041
push 0
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00794f74
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x8c], 2
mov eax, dword [ebp - 0x1c]
cmp word [eax + 0x3a], 0
je 0x796064
mov ebx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebx + 0x3c]
call dword [ebx + 0x38]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x7964cb
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x28], 0
je 0x79608c
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
call fcn.00796b54
jmp 0x796488
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x1c]
call fcn.00792568
mov eax, dword [ebp - 0x1c]
call fcn.00799d98
test al, al
je 0x7960c2
lea eax, [ebp - 0xc]
mov edx, 0x796650
call sub.rtl120.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov edx, 0x79666c
call sub.rtl120.bpl__System__UStrCat3_qqrr20System_UnicodeStringx20System_UnicodeStringt2
jmp 0x7960cc
lea eax, [ebp - 0xc]
xor edx, edx
call sub.rtl120.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
lea edx, [ebp - 0x54]
xor eax, eax
call sub.rtl120.bpl__System_ParamStr_qqri
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call sub.rtl120.bpl__Sysutils_ExtractFilePath_qqrx20System_UnicodeString
lea eax, [ebp - 0x50]
mov edx, dword [ebp - 8]
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
mov eax, dword [ebp - 0x50]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
mov ebx, eax
push 0x796684
mov eax, dword [ebp - 0x20]
push dword [eax + 4]
push 0x796684
push 0x796694
push dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 4]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x58]
call sub.rtl120.bpl__Sysutils_IntToStr_qqrj
push dword [ebp - 0x58]
push dword [ebp - 0xc]
lea eax, [ebp - 4]
mov edx, 7
call sub.rtl120.bpl__System__UStrCatN_qqrv
lea eax, [ebp - 0x14]
xor edx, edx
call sub.rtl120.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x7966a4
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79658c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x7966b4
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x796694
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79657c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79655c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x7966c4
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x7966d4
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x7965bc
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79656c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79654c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79655c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79656c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x14]
call sub.rtl120.bpl__Sysutils_SameText_qqrx20System_UnicodeStringt1
test al, al
je 0x79625a
lea ecx, [ebp - 0x10]
mov edx, 0x7966e4
mov eax, dword [0x77fcbc]
call fcn.0078035c
mov edx, 0x7966fc
mov eax, dword [ebp - 0x10]
call sub.rtl120.bpl__Sysutils_SameText_qqrx20System_UnicodeStringt1
test al, al
je 0x79625a
push 0x796684
push dword [ebp - 0x14]
push 0x796718
push 0x796684
push 0x796694
push dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 4]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5c]
call sub.rtl120.bpl__Sysutils_IntToStr_qqrj
push dword [ebp - 0x5c]
push dword [ebp - 0xc]
lea eax, [ebp - 4]
mov edx, 8
call sub.rtl120.bpl__System__UStrCatN_qqrv
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 4]
mov edx, 0x796734
call sub.rtl120.bpl__Sysutils_SameText_qqrx20System_UnicodeStringt1
test al, al
je 0x79646b
lea ecx, [ebp - 0x10]
mov edx, 0x7966e4
mov eax, dword [0x77fcbc]
call fcn.0078035c
mov edx, 0x79674c
mov eax, dword [ebp - 0x10]
call sub.rtl120.bpl__Sysutils_SameText_qqrx20System_UnicodeStringt1
test al, al
jne 0x7962bb
mov edx, 0x796760
mov eax, dword [ebp - 0x10]
call sub.rtl120.bpl__Sysutils_SameText_qqrx20System_UnicodeStringt1
test al, al
jne 0x7962bb
mov edx, 0x796778
mov eax, dword [ebp - 0x10]
call sub.rtl120.bpl__Sysutils_SameText_qqrx20System_UnicodeStringt1
test al, al
je 0x79646b
lea eax, [ebp - 0x14]
xor edx, edx
call sub.rtl120.bpl__System__UStrLAsg_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79654c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79655c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x7966b4
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79654c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79653c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x796794
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x7965bc
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79652c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79653c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79654c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79655c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79656c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79652c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79658c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79656c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79653c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79658c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79659c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x796794
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79658c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x7965cc
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x7967a4
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79658c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x796794
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79654c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
lea eax, [ebp - 0x14]
mov edx, 0x79658c
call sub.rtl120.bpl__System__UStrCat_qqrr20System_UnicodeStringx20System_UnicodeString
push dword [ebp - 4]
push 0x7967b4
push 0x7967d4
push dword [ebp - 0x14]
push 0x796878
lea eax, [ebp - 0x64]
mov edx, 3
call sub.rtl120.bpl__System__UStrCatN_qqrv
mov eax, dword [ebp - 0x64]
push eax
push 1
lea eax, [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 4]
mov ecx, 0x7968b4
mov eax, dword [ebp - 0x1c]
call fcn.007957ec
push dword [ebp - 0x60]
push 0x796684
lea eax, [ebp - 4]
mov edx, 4
call sub.rtl120.bpl__System__UStrCatN_qqrv
mov eax, dword [ebp - 4]
call sub.rtl120.bpl__System__UStrToPWChar_qqrx20System_UnicodeString
push 1
push 0x796618
push eax
push ebx
push 0x79660c
push 0
call sub.shell32.dll_ShellExecuteW
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x8c], 1
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x90], 0
je 0x7964b7
mov eax, dword [ebp - 0x1c]
cmp word [eax + 0x3a], 0
je 0x7964b7
mov ebx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebx + 0x3c]
call dword [ebx + 0x38]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x7964cb
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x796507
lea eax, [ebp - 0x64]
mov edx, 6
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x44]
mov edx, 8
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
lea eax, [ebp - 0x18]
mov edx, 6
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
ret