Function at 0x670e9ce0
Capabilities:
Create process on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov qword [rbp], 0xfffffffffffffffe
mov rdi, rcx
xor r15d, r15d
mov dword [rbp + 0x70], r15d
mov r12, qword [rcx + 8]
mov rcx, qword [rcx + 0x100]
test rcx, rcx
je 0x670e9d48
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rdi + 0x100]
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rdi + 0x100]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rdi + 0x100], r15
mov ecx, 0x18
call sub.MSVCR100.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rdi + 0x100], rax
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
lea edx, [rcx + 1]
mov rcx, r12
call sym.QtCoreVBox4.dll_protected:_void___cdecl_QProcess::setProcessState_enum_QProcess::ProcessState____ptr64
lea rdx, [rdi + 0x110]
mov rcx, rdi
call fcn.670e7cc0
test al, al
je 0x670ea1fe
lea rdx, [rdi + 0x140]
mov rcx, rdi
call fcn.670e7cc0
test al, al
je 0x670ea1fe
lea rdx, [rdi + 0x170]
mov rcx, rdi
call fcn.670e7cc0
test al, al
je 0x670ea1fe
lea r8, [rdi + 0x1a8]
lea rdx, [rdi + 0x1a0]
lea rcx, [rsp + 0x50]
call fcn.670e8e20
nop
lea rax, sym.QtCoreVBox4.dll_struct_QByteArray::Data_QByteArray::shared_null
mov qword [rbp + 0x78], rax
lock inc dword [sym.QtCoreVBox4.dll_struct_QByteArray::Data_QByteArray::shared_null]
lea r13, [rdi + 0x1b8]
mov rdx, qword [r13]
or rsi, 0xffffffffffffffff
test rdx, rdx
je 0x670e9e25
add rdx, 8
lea rcx, [rsp + 0x78]
call fcn.670e9340
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rax]
mov qword [rbp + 0x78], rcx
mov qword [rax], rdx
mov rax, qword [rsp + 0x78]
lock dec dword [rax]
jne 0x670e9e25
mov rcx, qword [rsp + 0x78]
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
mov rax, qword [rdi + 0x1b0]
mov ecx, 0x20
cmp dword [rax + 8], 0
je 0x670e9e64
mov rax, qword [rsp + 0x50]
cmp dword [rax + 8], 0
je 0x670e9e53
mov word [rbp + 0x68], cx
movzx edx, cx
lea rcx, [rsp + 0x50]
call sym.QtCoreVBox4.dll_public:_class_QString____ptr64___cdecl_QString::operator_class_QChar____ptr64
lea rdx, [rdi + 0x1b0]
lea rcx, [rsp + 0x50]
call sym.QtCoreVBox4.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64
mov dword [rbp - 0x70], 0x68
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x50], 0x80000000
mov dword [rbp - 0x4c], 0x80000000
mov dword [rbp - 0x48], 0x80000000
mov dword [rbp - 0x44], 0x80000000
mov qword [rbp - 0x40], r15
mov dword [rbp - 0x38], r15d
mov qword [rbp - 0x34], 0x100
mov qword [rbp - 0x28], r15
mov rax, qword [rdi + 0x128]
mov qword [rbp - 0x20], rax
mov rax, qword [rdi + 0x160]
mov qword [rbp - 0x18], rax
mov rax, qword [rdi + 0x190]
mov qword [rbp - 0x10], rax
lea rdx, [rdi + 0xf8]
mov rax, qword [rdx]
cmp dword [rax + 8], 0
jne 0x670e9edd
mov r14, r15
jmp 0x670e9efa
lea rcx, [rsp + 0x68]
call sym.QtCoreVBox4.dll_public:_static_class_QString___cdecl_QDir::toNativeSeparators_class_QString_const____ptr64_
nop
mov dword [rbp + 0x70], 1
mov rcx, rax
call sym.QtCoreVBox4.dll_public:_unsigned_short_int_const____ptr64___cdecl_QString::utf16_void_const___ptr64
mov r14, rax
mov rcx, r13
call sym.QtCoreVBox4.dll_public:_bool___cdecl_QProcessEnvironment::isEmpty_void_const___ptr64
test al, al
je 0x670e9f0b
mov rbx, r15
jmp 0x670e9f38
mov rax, qword [rbp + 0x78]
mov ecx, dword [rax]
mov rax, qword [rbp + 0x78]
cmp ecx, 1
jne 0x670e9f24
lea rcx, [rax + 0x18]
cmp qword [rax + 0x10], rcx
je 0x670e9f34
mov edx, dword [rax + 8]
lea rcx, [rbp + 0x78]
call sym.QtCoreVBox4.dll_private:_void___cdecl_QByteArray::realloc_int____ptr64
mov rax, qword [rbp + 0x78]
mov rbx, qword [rax + 0x10]
lea rcx, [rsp + 0x50]
call sym.QtCoreVBox4.dll_public:_unsigned_short_int_const____ptr64___cdecl_QString::utf16_void_const___ptr64
mov rdx, rax
mov rax, qword [rdi + 0x100]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x8000400
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
setne r13b
test byte [rbp + 0x70], 1
je 0x670e9fa2
mov rax, qword [rsp + 0x68]
lock dec dword [rax]
jne 0x670e9fa2
mov rcx, qword [rsp + 0x68]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
mov r14d, 0x20
test r13b, r13b
jne 0x670ea041
mov word [rbp + 0x60], r14w
mov edx, esi
lea rcx, [rsp + 0x60]
call sym.QtCoreVBox4.dll_class_QString___cdecl_qt_error_string_int_
mov rbx, rax
xor r8d, r8d
lea rdx, str.Process_failed_to_start:__1
lea rcx, [rsp + 0x58]
call sym.QtCoreVBox4.dll_public:_static_class_QString___cdecl_QProcess::tr_char_const____ptr64__char_const____ptr64_
nop
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, rbx
lea rdx, [rsp + 0x70]
mov rcx, rax
call sym.QtCoreVBox4.dll_public:_class_QString___cdecl_QString::arg_class_QString_const____ptr64__int__class_QChar_const____ptr64____ptr64
nop
mov rdx, rax
mov rcx, r12
call sym.QtCoreVBox4.dll_protected:_void___cdecl_QIODevice::setErrorString_class_QString_const____ptr64____ptr64
nop
mov rax, qword [rsp + 0x70]
lock dec dword [rax]
jne 0x670ea018
mov rcx, qword [rsp + 0x70]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
nop
mov rax, qword [rsp + 0x58]
lock dec dword [rax]
jne 0x670ea02d
mov rcx, qword [rsp + 0x58]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
nop
mov rax, qword [rsp + 0x60]
lock dec dword [rax]
jne 0x670ea041
mov rcx, qword [rsp + 0x60]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
mov rcx, qword [rdi + 0x128]
cmp rcx, 0xffffffffffffffff
je 0x670ea05b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x128], rsi
mov rcx, qword [rdi + 0x160]
cmp rcx, 0xffffffffffffffff
je 0x670ea075
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x160], rsi
mov rcx, qword [rdi + 0x190]
cmp rcx, 0xffffffffffffffff
je 0x670ea08f
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x190], rsi
test r13b, r13b
jne 0x670ea0d0
mov rcx, rdi
call fcn.670b3f80
mov dword [rdi + 0xf0], r15d
xor edx, edx
mov rcx, r12
call sym.QtCoreVBox4.dll_protected:_void___cdecl_QProcess::error_enum_QProcess::ProcessError____ptr64
xor edx, edx
mov rcx, r12
call sym.QtCoreVBox4.dll_protected:_void___cdecl_QProcess::setProcessState_enum_QProcess::ProcessState____ptr64
nop
mov rax, qword [rbp + 0x78]
lock dec dword [rax]
jne 0x670ea0cb
mov rcx, qword [rbp + 0x78]
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
nop
jmp 0x670ea1ea
mov edx, 2
mov rcx, r12
call sym.QtCoreVBox4.dll_protected:_void___cdecl_QProcess::setProcessState_enum_QProcess::ProcessState____ptr64
cmp qword [rdi + 0x100], 0
jne 0x670ea0ff
mov rax, qword [rbp + 0x78]
lock dec dword [rax]
jne 0x670ea0fa
mov rcx, qword [rbp + 0x78]
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
nop
jmp 0x670ea1ea
mov rax, qword [rdi + 0x40]
cmp qword [rax + 0x20], 0
je 0x670ea1c3
mov rcx, r14
call sub.MSVCR100.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rbp - 0x80], rax
test rax, rax
je 0x670ea136
mov rdx, qword [rdi + 0x100]
mov r8, r12
mov rdx, qword [rdx]
mov rcx, rax
call sym.QtCoreVBox4.dll_public:_void___cdecl_QWinEventNotifier::constructor_void____ptr64__class_QObject____ptr64____ptr64
jmp 0x670ea139
mov rax, r15
mov qword [rdi + 0x260], rax
mov dword [rsp + 0x20], r15d
lea r9, str.1_q_processDied__
mov r8, r12
lea rdx, str.2activated_HANDLE_
mov rcx, rax
call sym.QtCoreVBox4.dll_public:_static_bool___cdecl_QObject::connect_class_QObject_const____ptr64__char_const____ptr64__class_QObject_const____ptr64__char_const____ptr64__enum_Qt::ConnectionType_
mov dl, 1
mov rcx, qword [rdi + 0x260]
call sym.QtCoreVBox4.dll_public:_void___cdecl_QWinEventNotifier::setEnabled_bool____ptr64
mov rcx, r14
call sub.MSVCR100.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rbp - 0x80], rax
test rax, rax
je 0x670ea18a
mov rdx, r12
mov rcx, rax
call sym.QtCoreVBox4.dll_public:_void___cdecl_QTimer::constructor_class_QObject____ptr64____ptr64
jmp 0x670ea18d
mov rax, r15
mov qword [rdi + 0x250], rax
mov dword [rsp + 0x20], r15d
lea r9, str.1_q_notified__
mov r8, r12
lea rdx, str.2timeout__
mov rcx, rax
call sym.QtCoreVBox4.dll_public:_static_bool___cdecl_QObject::connect_class_QObject_const____ptr64__char_const____ptr64__class_QObject_const____ptr64__char_const____ptr64__enum_Qt::ConnectionType_
mov edx, WSAAsyncSelect
mov rcx, qword [rdi + 0x250]
call sym.QtCoreVBox4.dll_public:_void___cdecl_QTimer::start_int____ptr64
mov ecx, 0x14
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, rdi
call fcn.670b4170
nop
mov rax, qword [rbp + 0x78]
lock dec dword [rax]
jne 0x670ea1ea
mov rcx, qword [rbp + 0x78]
call sym.QtCoreVBox4.dll_void___cdecl_qFree_void____ptr64_
nop
mov rax, qword [rsp + 0x50]
lock dec dword [rax]
jne 0x670ea1fe
mov rcx, qword [rsp + 0x50]
call sym.QtCoreVBox4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data____ptr64_
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret