Function at 0x411cc0
Capabilities:
Create process on windows
Create process suspended

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x444f4c
push eax
mov dword fs:[0], esp
sub esp, 0x10c
push ebx
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
push eax
mov eax, dword [esi + 0xc]
push ecx
mov ecx, dword [esi + 8]
push edx
mov edx, dword [esi + 4]
push eax
push ecx
push edx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
mov dword [esi + 0x2c], eax
ja 0x41235e
lea ecx, [esp + 0xc]
call sub.MFC42u.DLL_CString::CString_3
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x120], 0
cdq
test edx, edx
ja case.0x411d46.13
jb 0x411d35
cmp eax, 0x20
ja case.0x411d46.13
cmp eax, 0x20
ja case.0x411d46.13
xor ecx, ecx
mov cl, byte [eax + 0x4123b4]
jmp dword [ecx*4 + 0x41237c]
push str.The_operating_system_is_out_of_memory_or_resources.
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::operator_1
jmp 0x411e49
push 0x45a1b0
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::operator_1
jmp 0x411e49
push str.The_specified_path_was_not_found.
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::operator_1
jmp 0x411e49
push str.The_.EXE_file_is_invalid__non_Win32_.EXE_or_error_in_.EXE_image_.
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::operator_1
jmp 0x411e49
push str.The_operating_system_denied_access_to_the_specified_file.
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::operator_1
jmp 0x411e49
push str.The_filename_association_is_incomplete_or_invalid.
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::operator_1
jmp 0x411e49
push str.The_DDE_transaction_could_not_be_completed_because_other_DDE_transactions_were_being_processed.
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::operator_1
jmp 0x411e49
push str.The_DDE_transaction_failed.
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::operator_1
jmp 0x411e49
push str.The_DDE_transaction_could_not_be_completed_because_the_request_timed_out.
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::operator_1
jmp 0x411e49
push str.The_specified_dynamic_link_library_was_not_found.
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::operator_1
jmp 0x411e49
push 0x459ddc
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::operator_1
jmp 0x411e49
push str.There_was_not_enough_memory_to_complete_the_operation.
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::operator_1
jmp 0x411e49
push str.A_sharing_violation_occurred.
lea ecx, [esp + 0x10]
call sub.MFC42u.DLL_CString::operator_1
jmp 0x411e49
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
push edx
push eax
lea ecx, [esp + 0x14]
push str.Error__s__s__n
push ecx
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
lea edi, [esi + 0x1c]
push ebp
push edi
lea edx, [esp + 0x1c]
push str._nFile_
push edx
call sub.MFC42u.DLL_operator_3
push 0x459b9c
push eax
lea eax, [esp + 0x28]
mov byte [esp + 0x12c], 1
push eax
call sub.MFC42u.DLL_operator_4
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x128], 2
call fcn.0044299c
lea ecx, [esp + 0x20]
mov byte [esp + 0x124], 1
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x124], 0
call sub.MFC42u.DLL_CString::CString
lea ebp, [esi + 0x20]
lea ecx, [esp + 0x20]
push ebp
push 0x459ce8
push ecx
call sub.MFC42u.DLL_operator_3
push 0x459b9c
lea edx, [esp + 0x1c]
mov bl, 3
push eax
push edx
mov byte [esp + 0x130], bl
call sub.MFC42u.DLL_operator_4
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x128], 4
call fcn.0044299c
lea ecx, [esp + 0x18]
mov byte [esp + 0x124], bl
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x124], 0
call sub.MFC42u.DLL_CString::CString
push 0x459a7c
lea eax, [esp + 0x1c]
push edi
push eax
call sub.MFC42u.DLL_operator_4
push ebp
lea ecx, [esp + 0x20]
push eax
push ecx
mov byte [esp + 0x130], 5
call sub.MFC42u.DLL_operator_2
lea ecx, [esp + 0x18]
mov byte [esp + 0x124], 7
call sub.MFC42u.DLL_CString::CString
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0xd8]
lea edx, [esp + 0x78]
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x14]
lea eax, [esp + 0xd8]
push edx
push eax
push ecx
push 0
push 0x20
mov dword [esp + 0xec], 0x44
push 0
mov edx, dword [esp + 0x34]
push 0
push 0
push edx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
pop ebp
jne 0x412325
mov ebx, dword [esp + 0xc]
mov edi, 1
call sub.MFC42u.DLL_AfxGetThread
test eax, eax
je 0x411fb2
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x7c]
test eax, eax
je 0x411fb2
push 0
push 0
push ebx
call sub.MFC42u.DLL_AfxMessageBox
mov edi, eax
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x38]
mov byte [esp + 0x38], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov esi, dword [sym.imp.MSVCRT.dll_wcslen]
push 0x459a70
call esi
add esp, 4
lea ecx, [esp + 0x34]
push eax
push 0x459a70
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_unsigned_short_int_const___unsigned_int_]
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x48], cl
lea ecx, [esp + 0x48]
mov byte [esp + 0x124], 8
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
push 0x459a4c
call esi
add esp, 4
lea ecx, [esp + 0x44]
push eax
push 0x459a4c
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_unsigned_short_int_const___unsigned_int_]
lea edx, [esp + 0x13]
lea ecx, [esp + 0x64]
push edx
push 0x459a38
mov byte [esp + 0x128], 9
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___class_std::allocator_unsigned_short_int__const__]
lea eax, [esp + 0x23]
lea ecx, [esp + 0x24]
push eax
push str._________t
mov byte [esp + 0x128], 0xa
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___class_std::allocator_unsigned_short_int__const__]
push 0x4599e8
mov byte [esp + 0x124], 0xb
call esi
add esp, 4
lea ecx, [esp + 0x34]
push eax
push 0x4599e8
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_unsigned_short_int_const___unsigned_int_]
push str.OK
call esi
add esp, 4
lea ecx, [esp + 0x44]
push eax
push str.OK
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_unsigned_short_int_const___unsigned_int_]
push str.Button1
call esi
add esp, 4
lea ecx, [esp + 0x64]
push eax
push str.Button1
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_unsigned_short_int_const___unsigned_int_]
lea eax, [edi - 1]
cmp eax, 6
ja case.default.0x4120b6
jmp dword [eax*4 + 0x4123d8]
push str._Abort___t
call esi
add esp, 4
push eax
push str._Abort___t
jmp 0x41214b
push str._CANCEL__t
call esi
add esp, 4
push eax
push str._CANCEL__t
jmp 0x41214b
push str._Innore__t
call esi
add esp, 4
push eax
push str._Innore__t
jmp 0x41214b
push str._No______t
call esi
add esp, 4
push eax
push str._No______t
jmp 0x41214b
push str._OK______t
call esi
add esp, 4
push eax
push str._OK______t
jmp 0x41214b
push str._Retry___t
call esi
add esp, 4
push eax
push str._Retry___t
jmp 0x41214b
push str._Yes_____t
call esi
add esp, 4
push eax
push str._Yes_____t
jmp 0x41214b
push str.Bug...___t
call esi
add esp, 4
push eax
push str.Bug...___t
lea ecx, [esp + 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::assign_unsigned_short_int_const___unsigned_int_]
lea ecx, [esp + 0x44]
lea edx, [esp + 0x34]
push ecx
lea eax, [esp + 0xc8]
push edx
push eax
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
lea ecx, [esp + 0x70]
lea edx, [esp + 0xb0]
push ecx
push eax
push edx
mov byte [esp + 0x138], 0xc
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x9c]
push ecx
push eax
push edx
mov byte [esp + 0x144], 0xd
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
push 0x459818
push eax
lea eax, [esp + 0x80]
mov byte [esp + 0x14c], 0xe
push eax
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__
add esp, 0x30
push 1
lea ecx, [esp + 0x88]
mov byte [esp + 0x124], 0x12
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x124], 0x11
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
push 1
lea ecx, [esp + 0xc8]
mov byte [esp + 0x124], 0x10
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
lea ecx, [esp + 0x22]
push ecx
push ebx
lea ecx, [esp + 0xbc]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___class_std::allocator_unsigned_short_int__const__]
push 0x459818
lea edx, [esp + 0x98]
mov bl, 0x13
push eax
push edx
mov byte [esp + 0x12c], bl
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__
add esp, 0xc
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::npos]
mov byte [esp + 0x120], 0x14
mov edx, dword [ecx]
lea ecx, [esp + 0x54]
push edx
push 0
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::append_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [esp + 0x98]
mov byte [esp + 0x124], bl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
push 1
lea ecx, [esp + 0xb8]
mov byte [esp + 0x124], 0x10
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x41228f
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
push eax
call fcn.00412400
add esp, 4
lea ecx, [esp + 0x54]
mov byte [esp + 0x120], 0xb
push 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x28]
mov byte [esp + 0x124], 0xa
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x124], 9
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x48]
mov byte [esp + 0x124], 8
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x38]
mov byte [esp + 0x124], 7
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Tidy_bool_]
lea ecx, [esp + 0x18]
mov byte [esp + 0x120], 0
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x120], 0xffffffff
call sub.MFC42u.DLL_CString::CString
xor eax, eax
jmp 0x412363
mov eax, dword [esp + 0x78]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call esi
mov ecx, dword [esp + 0x74]
push ecx
call esi
lea ecx, [esp + 0x18]
mov byte [esp + 0x120], 0
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x120], 0xffffffff
call sub.MFC42u.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0x118]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x118
ret