Function at 0x424c20
Capabilities:
Create a process with modified i/o handles and window
Create process on windows
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x482766
mov eax, dword fs:[0]
push eax
sub esp, 0x698
mov eax, dword [0x4b445c]
xor eax, esp
mov dword [esp + 0x694], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4b445c]
xor eax, esp
push eax
lea eax, [esp + 0x6ac]
mov dword fs:[0], eax
mov eax, dword [esp + 0x6c0]
xor ebx, ebx
cmp eax, ebx
mov esi, ecx
je 0x424c70
mov dword [esi + 0x174], eax
mov ebp, dword [esp + 0x6bc]
xor edi, edi
lea esp, [esp]
push ebp
mov ecx, esi
call fcn.004222c0
test al, al
jne 0x424ca4
call fcn.00432270
push 0x3c
call dword [sym.imp.KERNEL32.dll_Sleep]
add edi, 1
cmp edi, 0x3e8
jl 0x424c80
lea ecx, [esp + 0x94]
mov dword [esi + 0x170], ebp
call fcn.004233e0
mov dword [esp + 0x6b4], ebx
push ebx
push str.RTSServer.ini
lea ecx, [esp + 0x9c]
call fcn.004234b0
push 0x103
lea eax, [esp + 0x3a9]
push ebx
push eax
mov byte [esp + 0x3b0], bl
call fcn.0045eb50
add esp, 0xc
lea ecx, [esp + 0x94]
call fcn.00423230
push eax
lea ecx, [esp + 0x3a8]
push str._sRTSServerTransaction.exe
push ecx
call fcn.0045f1a1
add esp, 8
lea edx, [esp + 0x3a8]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00407010
mov byte [esp + 0x6b8], 1
mov byte [esp + 0x6b8], bl
call fcn.00408fc0
add esp, 4
cmp eax, ebx
jne 0x424d54
mov eax, dword [esi + 0x178]
cmp eax, ebx
je 0x424d54
push str.Cantt_find_RTSServerTransaction.exe
push eax
call fcn.004310b0
add esp, 8
cmp dword [esi + 0x16c], ebx
mov dword [esp + 0x20], ebx
je 0x424db3
mov eax, dword [esi + 0x178]
cmp eax, ebx
je 0x424d78
push str.m_hProcess_RTSServerTransaction.exe__has_already_existed
push eax
call fcn.00430fd0
add esp, 8
mov ecx, dword [esi + 0x16c]
lea eax, [esp + 0x20]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp eax, ebx
je 0x424db3
mov edx, dword [esi + 0x16c]
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov eax, dword [esi + 0x16c]
cmp eax, ebx
je 0x424dad
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x16c], ebx
push 0x44
lea eax, [esp + 0x54]
push ebx
push eax
call fcn.0045eb50
mov ecx, dword [esi + 0x174]
push ecx
push ebp
lea eax, [esi + 0x68]
push eax
lea edx, [esp + 0x4c0]
push str.__sRTSServerTransaction.exe__127.0.0.1::_d__d
push edx
mov dword [esp + 0x9c], 0x101
mov word [esp + 0xa0], bx
mov dword [esp + 0x70], 0x44
call fcn.0045f1a1
add esp, 0x20
lea ecx, [esp + 0x17]
call fcn.0040aea0
push str.RTSServerTransaction.exe
lea ecx, [esp + 0x1b]
call fcn.0040e7d0
test eax, eax
jne 0x424e3a
cmp dword [esi + 0x178], ebx
je 0x424e3a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [esi + 0x178]
push str.KillProcess_RTSServerTransaction.exe__Failed_LastError:_d
push eax
call fcn.004310b0
add esp, 0xc
mov ebp, dword [sym.imp.USER32.dll_PeekMessageA]
or edi, 0xffffffff
mov dword [esp + 0x1c], 3
cmp edi, ebx
je 0x424fc9
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x54]
push edx
lea eax, [esi + 0x68]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0x4c8]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x424f83
mov eax, dword [esi + 0x178]
cmp eax, ebx
je 0x424e95
push str.CreateProcess_RTSServerTransaction.exe__Success
push eax
call fcn.00430fd0
add esp, 8
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
push edx
mov dword [esi + 0x16c], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x24]
cmp eax, ebx
mov dword [esp + 0x18], ebx
je 0x424f2a
lea ecx, [esp + 0x18]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x424ed0
cmp dword [esp + 0x18], 0x103
jne 0x424f49
mov ecx, esi
call fcn.00424b90
test al, al
jne 0x424f67
push 1
push ebx
push ebx
push ebx
lea edx, [esp + 0x44]
push edx
call ebp
test eax, eax
je 0x424f16
nop
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea ecx, [esp + 0x34]
push ecx
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 1
push ebx
push ebx
push ebx
lea edx, [esp + 0x44]
push edx
call ebp
test eax, eax
jne 0x424ef0
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x24]
cmp eax, ebx
mov dword [esp + 0x18], ebx
jne 0x424eb6
mov eax, dword [esi + 0x178]
cmp eax, ebx
je 0x424f42
push str.CreateProcess_RTSServerTransaction.exe__Failed_vncProcessInfo.hProcess_NULL
push eax
call fcn.004310b0
add esp, 8
mov edi, 0xfffffffe
jmp 0x424fab
mov eax, dword [esi + 0x178]
or edi, 0xffffffff
cmp eax, ebx
je 0x424fab
push edi
push str.CreateProcess_RTSServerTransaction.exe__Failed_ErrorCode:_d
push eax
call fcn.004310b0
add esp, 0xc
jmp 0x424fab
mov eax, dword [esi + 0x178]
cmp eax, ebx
je 0x424f7f
push str.RTSServerTransaction.exe_Connected_OK
push eax
call fcn.00430fd0
add esp, 8
xor edi, edi
jmp 0x424fab
cmp dword [esi + 0x178], ebx
je 0x424fa6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [esi + 0x178]
push str.CreateProcess_RTSServerTransaction.exe__Failed_LastErrorCode:_d
push eax
call fcn.004310b0
add esp, 0xc
mov edi, 0xfffffffd
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x1c]
sub eax, 1
cmp eax, ebx
mov dword [esp + 0x1c], eax
jg 0x424e4b
mov dword [esp + 0x6b4], 0xffffffff
lea ecx, [esp + 0x94]
call fcn.00422f00
mov eax, edi
mov ecx, dword [esp + 0x6ac]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x694]
xor ecx, esp
call fcn.0045e17e
add esp, 0x6a4
ret 8