Function at 0x6e1ac0d0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xcc
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebx + 0xa4]
test eax, eax
je 0x6e1ac127
mov eax, dword [eax + 4]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
push ecx
mov eax, dword [ebx + 0xa4]
mov eax, dword [eax]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
push edx
mov eax, dword [ebx + 0xa4]
mov dword [esp], eax
call fcn.6e254744
mov dword [ebx + 0xa4], 0
mov dword [esp], 0x10
call fcn.6e25496c
mov edx, eax
mov dword [ebx + 0xa4], eax
mov ecx, 0x10
xor eax, eax
mov edi, edx
rep stosb byte es:[edi], al
mov dword [esp + 4], 1
mov edx, dword [ebp - 0x8c]
mov dword [esp], edx
call method.QProcess.setProcessState_QProcess::ProcessState_
lea eax, [ebx + 0xb0]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.6e1aa830
test al, al
jne 0x6e1ac17c
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret
lea eax, [ebx + 0xc8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.6e1aa830
test al, al
je 0x6e1ac172
lea eax, [ebx + 0xe0]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.6e1aa830
test al, al
je 0x6e1ac172
lea ecx, [ebx + 0xfc]
lea edx, [ebx + 0xf8]
lea eax, [ebp - 0x20]
call fcn.6e1aaefc
mov dword [ebp - 0x24], sym.QtCore4.dll_QByteArray::shared_null
lock inc dword [sym.QtCore4.dll_QByteArray::shared_null]
setne al
mov eax, dword [ebx + 0x104]
test eax, eax
je 0x6e1ac20a
lea edi, [ebp - 0x28]
add eax, 4
mov dword [esp + 4], eax
mov dword [esp], edi
lea esi, [ebp - 0x24]
call fcn.6e1aba24
push eax
mov dword [esp + 4], edi
mov dword [esp], esi
call method.QByteArray.operator_QByteArray_const_
mov eax, dword [ebp - 0x28]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e1ac700
mov eax, dword [ebx + 0x100]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x6e1ac276
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 8]
test edx, edx
je 0x6e1ac25e
mov ecx, dword [eax]
dec ecx
je 0x6e1ac744
inc edx
mov dword [esp], edx
lea esi, [ebp - 0x24]
call method.QString.grow_int_
mov dword [esp + 4], eax
lea eax, [ebp - 0x20]
mov dword [esp], eax
call method.QString.realloc_int_
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov word [ecx + edx*2], 0x20
inc edx
mov dword [eax + 8], edx
mov word [ecx + edx*2], 0
lea eax, [ebx + 0x100]
mov dword [esp + 4], eax
lea edx, [ebp - 0x20]
mov dword [esp], edx
lea esi, [ebp - 0x24]
call method.QString.append_QString_const_
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x9c], eax
mov ecx, 0x44
xor eax, eax
mov edi, dword [ebp - 0x9c]
rep stosb byte es:[edi], al
mov dword [ebp - 0x7c], 0x44
mov dword [ebp - 0x6c], 0x80000000
mov dword [ebp - 0x68], 0x80000000
mov dword [ebp - 0x64], 0x80000000
mov dword [ebp - 0x60], 0x80000000
mov dword [ebp - 0x50], 0x100
mov eax, dword [ebx + 0xbc]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0xd8]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0xf0]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebx + 0xa4]
mov dword [ebp - 0x94], edx
mov byte [ebp - 0x8d], 0
mov eax, dword [ebx + 0xa0]
mov edx, dword [eax + 8]
test edx, edx
jne 0x6e1ac4ac
mov dword [ebp - 0x98], 0
lea eax, [ebx + 0x104]
mov dword [esp], eax
lea esi, [ebp - 0x24]
call method.QProcessEnvironment.isEmpty___const
test al, al
je 0x6e1ac480
xor edi, edi
lea eax, [ebp - 0x20]
mov dword [esp], eax
lea esi, [ebp - 0x24]
call method.QString.utf16___const
mov edx, dword [ebp - 0x94]
mov dword [esp + 0x24], edx
lea edx, [ebp - 0x7c]
mov dword [esp + 0x20], edx
mov edx, dword [ebp - 0x98]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], 0x8000400
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0
call sub.KERNEL32.dll_CreateProcessW
sub esp, 0x28
mov edi, eax
cmp byte [ebp - 0x8d], 0
jne 0x6e1ac6dc
test edi, edi
setne byte [ebp - 0x8d]
je 0x6e1ac620
mov eax, dword [ebx + 0xbc]
cmp eax, 0xffffffff
je 0x6e1ac3bb
mov dword [esp], eax
lea esi, [ebp - 0x24]
call sub.KERNEL32.dll_CloseHandle
push esi
mov dword [ebx + 0xbc], 0xffffffff
mov eax, dword [ebx + 0xd8]
cmp eax, 0xffffffff
je 0x6e1ac3dc
mov dword [esp], eax
lea esi, [ebp - 0x24]
call sub.KERNEL32.dll_CloseHandle
push ecx
mov dword [ebx + 0xd8], 0xffffffff
mov eax, dword [ebx + 0xf0]
cmp eax, 0xffffffff
je 0x6e1ac3fd
mov dword [esp], eax
lea esi, [ebp - 0x24]
call sub.KERNEL32.dll_CloseHandle
push edx
mov dword [ebx + 0xf0], 0xffffffff
cmp byte [ebp - 0x8d], 0
jne 0x6e1ac4e0
mov dword [esp], ebx
lea esi, [ebp - 0x24]
call fcn.6e16d82c
mov dword [ebx + 0x98], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call fcn.6e16d2bc
mov dword [esp + 4], 0
mov edx, dword [ebp - 0x8c]
mov dword [esp], edx
call method.QProcess.setProcessState_QProcess::ProcessState_
mov eax, dword [ebp - 0x24]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e1ac610
mov eax, dword [ebp - 0x20]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x6e1ac172
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call method.QString.free_QString::Data_
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
dec edx
je 0x6e1ac710
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
lea esi, [ebp - 0x24]
mov dword [esp], esi
call method.QByteArray.realloc_int_
mov eax, dword [ebp - 0x24]
mov edi, dword [eax + 0xc]
jmp 0x6e1ac31c
lea edi, [ebp - 0x2c]
lea eax, [ebx + 0xa0]
mov dword [esp + 4], eax
mov dword [esp], edi
lea esi, [ebp - 0x24]
call method.QDir.toNativeSeparators_QString_const_
push eax
mov byte [ebp - 0x8d], 1
mov dword [esp], edi
call method.QString.utf16___const
mov dword [ebp - 0x98], eax
jmp 0x6e1ac301
mov dword [esp + 4], 2
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
lea esi, [ebp - 0x24]
call method.QProcess.setProcessState_QProcess::ProcessState_
mov eax, dword [ebx + 0xa4]
test eax, eax
je 0x6e1ac44b
mov eax, dword [ebx + 0x24]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x6e1ac5f3
mov dword [esp], 0x10
call fcn.6e25496c
mov esi, eax
mov edx, dword [ebp - 0x8c]
mov dword [esp + 8], edx
mov eax, dword [ebx + 0xa4]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov dword [esp], esi
call method.QWinEventNotifier.QWinEventNotifier_void__QObject_
mov dword [ebx + 0x170], esi
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], str.1_q_processDied__
mov eax, dword [ebp - 0x8c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.2activated_HANDLE_
mov dword [esp], esi
lea esi, [ebp - 0x24]
call method.QObject.connect_QObject_const__char_const__QObject_const__char_const__Qt::ConnectionType_
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x170]
mov dword [esp], eax
call method.QWinEventNotifier.setEnabled_bool_
mov dword [esp], 0x18
call fcn.6e25496c
mov esi, eax
mov edx, dword [ebp - 0x8c]
mov dword [esp + 4], edx
mov dword [esp], eax
call method.QTimer.QTimer_QObject_
mov dword [ebx + 0x168], esi
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], str.1_q_notified__
mov eax, dword [ebp - 0x8c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6e2f6508
mov dword [esp], esi
lea esi, [ebp - 0x24]
call method.QObject.connect_QObject_const__char_const__QObject_const__char_const__Qt::ConnectionType_
mov dword [esp + 4], 0x64
mov eax, dword [ebx + 0x168]
mov dword [esp], eax
call fcn.6e1e8184
mov dword [esp], 0x14
lea esi, [ebp - 0x24]
call sub.KERNEL32.dll_Sleep
push ecx
mov dword [esp], ebx
call fcn.6e16dba4
jmp 0x6e1ac44b
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym.QtCore4.dll_qFree_void_
jmp 0x6e1ac45c
mov word [ebp - 0x1a], 0x20
mov dword [esp + 4], 0xffffffff
lea eax, [ebp - 0x34]
mov dword [esp], eax
lea esi, [ebp - 0x24]
call sym.QtCore4.dll_qt_error_string_int_
push ecx
lea edi, [ebp - 0x30]
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Process_failed_to_start:__1
mov dword [esp + 4], sym.QtCore4.dll_QProcess::staticMetaObject
mov dword [esp], edi
call method.QMetaObject.tr_char_const__char_const__const
push edx
lea esi, [ebp - 0x38]
lea eax, [ebp - 0x1a]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
lea edx, [ebp - 0x34]
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], esi
call method.QString.arg_QString_const__int__QChar_const__const
push eax
mov dword [esp + 4], esi
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call method.QIODevice.setErrorString_QString_const_
mov eax, dword [ebp - 0x38]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e1ac734
mov eax, dword [ebp - 0x30]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e1ac724
mov eax, dword [ebp - 0x34]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x6e1ac39a
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
lea esi, [ebp - 0x24]
call method.QString.free_QString::Data_
jmp 0x6e1ac39a
mov eax, dword [ebp - 0x2c]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x6e1ac38b
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
lea esi, [ebp - 0x24]
call method.QString.free_QString::Data_
jmp 0x6e1ac38b
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sym.QtCore4.dll_qFree_void_
jmp 0x6e1ac20a
mov edi, dword [eax + 0xc]
lea edx, [eax + 0x10]
cmp edi, edx
jne 0x6e1ac48c
jmp 0x6e1ac31c
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e1ac6b7
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e1ac6aa
cmp edx, dword [eax + 4]
jl 0x6e1ac24b
jmp 0x6e1ac22a