Function at 0x424c00
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x9c
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
mov eax, dword [eax + 4]
test eax, eax
je 0x424c24
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jne 0x424c32
xor ebx, ebx
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret 8
lea eax, [ebp - 0x2c]
mov dword [esp + 4], ebx
mov esi, dword [method.QDir.toNativeSeparators_QString_const_]
mov dword [esp], eax
call esi
lea eax, [ebp - 0x2c]
mov edi, dword [method.QFileInfo.exists_QString_const_]
mov dword [esp], eax
call edi
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
test ecx, ecx
je 0x424e80
cmp ecx, 0xffffffff
je 0x424c73
lock sub dword [edx], 1
setne cl
test cl, cl
je 0x424e79
test al, al
je 0x424c24
lea eax, [ebp - 0x34]
mov dword [esp], eax
call dword [method.QCoreApplication.applicationDirPath__]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
mov dword [ebp - 0x30], eax
lea edx, [ecx + 1]
cmp edx, 1
jbe 0x424c9a
lock add dword [eax], 1
setne dl
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x30]
mov dword [esp + 8], 8
mov dword [esp + 4], str._7za.exe
mov dword [esp], eax
mov eax, dword [method.QString.fromUtf8_helper_char_const__int_]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x84], eax
call eax
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x7c], eax
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [method.QString.append_QString_const_]
mov dword [ebp - 0x80], eax
call eax
mov eax, dword [ebp - 0x2c]
sub esp, 4
mov edx, dword [eax]
test edx, edx
jne 0x424ee5
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp], eax
call esi
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
test edx, edx
jne 0x424ec5
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
test edx, edx
jne 0x424ea5
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
lea eax, [ebp - 0x70]
mov dword [esp], eax
call edi
test al, al
je 0x424e4c
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
lea eax, [ebp - 0x6c]
mov dword [esp], eax
call esi
lea eax, [ebp - 0x6c]
mov dword [esp], eax
call edi
mov edi, eax
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax]
test edx, edx
je 0x424f30
cmp edx, 0xffffffff
je 0x424da9
lock sub dword [eax], 1
setne dl
test dl, dl
je 0x424f25
mov eax, edi
test al, al
jne 0x424f56
mov eax, dword [sym.imp.Qt5Core.dll_QArrayData::shared_null]
lea edi, [ebp - 0x68]
lea ecx, [ebp - 0x2c]
mov dword [esp], edi
mov dword [ebp - 0x68], eax
call dword [method.QDir.QDir_QString_const_]
mov eax, dword [ebp - 0x68]
sub esp, 4
mov edx, dword [eax]
test edx, edx
jne 0x425590
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp + 0xc]
lea edi, [ebp - 0x64]
mov dword [esp], edi
mov dword [esp + 4], eax
call esi
mov dword [esp], edi
lea ecx, [ebp - 0x2c]
call dword [method.QDir.mkpath_QString_const__const]
mov edi, eax
mov eax, dword [ebp - 0x64]
sub esp, 4
mov edx, dword [eax]
test edx, edx
jne 0x4255b0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, edi
lea ecx, [ebp - 0x2c]
test al, al
jne 0x424f50
call dword [method.QDir.QDir__]
xor ebx, ebx
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
test edx, edx
jne 0x424f05
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x424c26
mov edx, dword [ebp - 0x2c]
lea esi, [esi]
mov byte [ebp - 0x7c], al
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], edx
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
movzx eax, byte [ebp - 0x7c]
jmp 0x424c73
cmp edx, 0xffffffff
je 0x424d5f
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x424d5f
mov eax, dword [ebp - 0x34]
jmp 0x424d46
cmp edx, 0xffffffff
je 0x424d39
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x424d39
mov eax, dword [ebp - 0x30]
jmp 0x424d20
cmp edx, 0xffffffff
je 0x424d04
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x424d04
mov eax, dword [ebp - 0x2c]
jmp 0x424ceb
cmp edx, 0xffffffff
je 0x424c26
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x424c26
mov eax, dword [ebp - 0x70]
jmp 0x424e5b
mov eax, dword [ebp - 0x6c]
nop
lea esi, [esi]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x424da9
call dword [method.QDir.QDir__]
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
lea eax, [ebp - 0x50]
mov dword [esp], eax
call esi
lea edi, [ebp - 0x5c]
mov dword [esp + 4], ebx
mov dword [esp], edi
call esi
lea esi, [ebp - 0x58]
mov dword [esp + 8], 4
mov dword [esp + 4], str._x__
mov eax, dword [ebp - 0x84]
mov dword [esp], esi
call eax
mov dword [esp], edi
mov ecx, esi
call dword [ebp - 0x80]
mov eax, dword [ebp - 0x58]
sub esp, 4
mov ecx, dword [eax]
mov dword [ebp - 0x54], eax
lea edx, [ecx + 1]
cmp edx, 1
jbe 0x424fb1
lock add dword [eax], 1
setne dl
lea eax, [ebp - 0x34]
mov dword [esp + 8], 5
mov dword [esp + 4], str.___o_
lea ebx, [ebp - 0x54]
mov dword [esp], eax
mov eax, dword [ebp - 0x84]
call eax
lea eax, [ebp - 0x34]
mov ecx, ebx
mov dword [esp], eax
call dword [ebp - 0x80]
mov eax, dword [ebp - 0x34]
sub esp, 4
mov edx, dword [eax]
test edx, edx
jne 0x425570
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov dword [ebp - 0x4c], eax
lea edx, [ecx + 1]
cmp edx, 1
jbe 0x42501d
lock add dword [eax], 1
setne dl
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x4c]
mov dword [esp], eax
call dword [ebp - 0x80]
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov ecx, dword [eax]
mov dword [ebp - 0x60], eax
lea edx, [ecx + 1]
cmp edx, 1
jbe 0x425043
lock add dword [eax], 1
setne dl
lea eax, [ebp - 0x2c]
mov dword [esp + 8], 6
mov dword [esp + 4], str.___aoa
mov dword [esp], eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x84]
call eax
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x88], eax
mov dword [esp], ecx
mov ecx, eax
call dword [ebp - 0x80]
mov eax, dword [ebp - 0x2c]
sub esp, 4
mov edx, dword [eax]
test edx, edx
jne 0x425550
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
test edx, edx
jne 0x425530
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x54]
mov edx, dword [eax]
test edx, edx
jne 0x425510
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
test edx, edx
jne 0x4254f0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
test edx, edx
jne 0x4254d0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x50]
mov edx, dword [eax]
test edx, edx
jne 0x4254b0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
lea eax, [ebp - 0x72]
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], eax
call fcn.00435ce0
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x60]
lea ecx, [ebp - 0x44]
mov dword [esp + 4], 0
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00435ce8
mov ecx, dword [ebp - 0x44]
sub esp, 8
mov edi, dword [ecx - 4]
test edi, edi
js 0x4251b4
lea ecx, [ebp - 0x44]
call fcn.00435cf0
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x60]
mov esi, dword [eax + 4]
add eax, dword [eax + 0xc]
mov dword [esp], ecx
lea edx, [esi + esi]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x60]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x44]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00435ce8
lea eax, [ebp - 0x71]
sub esp, 8
mov ebx, dword [ebp - 0x44]
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], eax
call fcn.00435ce0
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x70]
lea ecx, [ebp - 0x48]
mov dword [esp + 4], 0
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00435ce8
mov ecx, dword [ebp - 0x48]
sub esp, 8
mov esi, dword [ecx - 4]
test esi, esi
js 0x42523e
lea ecx, [ebp - 0x48]
call fcn.00435cf0
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x70]
mov esi, dword [eax + 4]
add eax, dword [eax + 0xc]
mov dword [esp], ecx
lea edx, [esi + esi]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x70]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x48]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00435ce8
mov eax, dword [ebp - 0x48]
sub esp, 8
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x44224e
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str.open
mov dword [esp + 8], eax
mov dword [esp], 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov ebx, eax
mov eax, dword [ebp - 0x48]
sub esp, 0x18
mov edx, 0xffffffff
lock xadd dword [eax - 4], edx
test edx, edx
jle 0x425640
mov eax, dword [ebp - 0x44]
mov edx, 0xffffffff
lock xadd dword [eax - 4], edx
test edx, edx
jle 0x425660
cmp ebx, 0x20
jg 0x425440
lea esi, [ebp - 0x3c]
mov dword [esp + 8], 0xa
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [method.QString.number_int__int_]
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x1c], str.default
mov dword [esp], eax
call dword [method.QMessageLogger.debug___const]
mov edi, dword [ebp - 0x7c]
sub esp, 4
mov eax, dword [ebp - 0x84]
mov dword [esp + 8], 0x1d
mov dword [esp + 4], str.extract_process_start_failed:
mov dword [esp], edi
call eax
mov dword [esp], edi
mov ecx, dword [ebp - 0x40]
mov ebx, dword [method.QTextStream.operator___QString_const_]
call ebx
mov eax, dword [ebp - 0x30]
sub esp, 4
mov edx, dword [eax]
test edx, edx
jne 0x4255f0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov ecx, dword [ebp - 0x40]
cmp byte [ecx + 0x14], 0
jne 0x425625
cmp dword [ecx + 0x18], 1
jle 0x425399
test byte [ecx + 0x2c], 1
jne 0x4253ac
mov dword [esp], 0x22
call dword [method.QTextStream.operator___char_]
mov ecx, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], esi
call ebx
mov ecx, dword [ebp - 0x40]
sub esp, 4
cmp dword [ecx + 0x18], 1
jle 0x4253c3
test byte [ecx + 0x2c], 1
jne 0x4253d6
mov dword [esp], 0x22
call dword [method.QTextStream.operator___char_]
mov ecx, dword [ebp - 0x40]
sub esp, 4
cmp byte [ecx + 0x14], 0
jne 0x425610
lea ecx, [ebp - 0x40]
call dword [method.QDebug.QDebug__]
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax]
test edx, edx
jne 0x4255d0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
xor ebx, ebx
mov eax, dword [ebp - 0x60]
mov edx, dword [eax]
test edx, edx
jne 0x425490
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x424e4e
lea edi, [ebp - 0x38]
mov dword [esp], ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov dword [esp + 4], edi
call esi
jmp 0x42547c
mov dword [esp + 4], 0x32
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
cmp eax, 0x102
je 0x425473
test eax, eax
jne 0x425488
mov dword [esp + 4], edi
mov dword [esp], ebx
call esi
sub esp, 8
cmp dword [ebp - 0x38], 0x103
je 0x425454
mov ebx, 1
jmp 0x425411
cmp edx, 0xffffffff
je 0x424e4e
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x424e4e
mov eax, dword [ebp - 0x60]
jmp 0x42541a
cmp edx, 0xffffffff
je 0x425165
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x425165
mov eax, dword [ebp - 0x50]
jmp 0x42514c
cmp edx, 0xffffffff
je 0x42513f
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x42513f
mov eax, dword [ebp - 0x5c]
jmp 0x425126
cmp edx, 0xffffffff
je 0x425119
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x425119
mov eax, dword [ebp - 0x58]
jmp 0x425100
cmp edx, 0xffffffff
je 0x4250f3
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x4250f3
mov eax, dword [ebp - 0x54]
jmp 0x4250da
cmp edx, 0xffffffff
je 0x4250cd
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x4250cd
mov eax, dword [ebp - 0x4c]
jmp 0x4250b4
cmp edx, 0xffffffff
je 0x4250a7
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x4250a7
mov eax, dword [ebp - 0x2c]
jmp 0x42508e
cmp edx, 0xffffffff
je 0x425006
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x425006
mov eax, dword [ebp - 0x34]
jmp 0x424fed
cmp edx, 0xffffffff
je 0x424df3
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x424df3
mov eax, dword [ebp - 0x68]
jmp 0x424dda
cmp edx, 0xffffffff
je 0x424e39
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x424e39
mov eax, dword [ebp - 0x64]
jmp 0x424e20
cmp edx, 0xffffffff
je 0x42540f
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x42540f
mov eax, dword [ebp - 0x3c]
jmp 0x4253f6
cmp edx, 0xffffffff
je 0x425380
lock sub dword [eax], 1
setne dl
test dl, dl
jne 0x425380
mov eax, dword [ebp - 0x30]
jmp 0x425367
mov dword [esp], 0x20
call dword [method.QTextStream.operator___char_]
sub esp, 4
jmp 0x4253e0
mov dword [esp], 0x20
call dword [method.QTextStream.operator___char_]
sub esp, 4
mov ecx, dword [ebp - 0x40]
jmp 0x42538d
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x2c]
mov dword [esp], eax
call fcn.00435d00
sub esp, 4
jmp 0x4252c0
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x2c]
mov dword [esp], eax
call fcn.00435d00
sub esp, 4
jmp 0x4252d5