Function at 0x4011c0
Capabilities:
Check if file exists

Disassembly:
push 0xffffffffffffffff
push 0x420da4
mov eax, dword fs:[0]
push eax
mov eax, 0x12d4
call fcn.0041d6a0
mov eax, dword [0x433028]
xor eax, esp
mov dword [esp + 0x12d0], eax
push ebp
push esi
push edi
mov eax, dword [0x433028]
xor eax, esp
push eax
lea eax, [esp + 0x12e4]
mov dword fs:[0], eax
mov edi, ecx
lea esi, [edi + 0x118]
mov ecx, esi
call dword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::Empty]
mov eax, dword [sym.imp.MSVCR90.dll___wargv]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push edx
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
lea ecx, [esp + 0x10]
mov dword [esp + 0x12ec], 0
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Trim]
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::MakeLower]
push str._filefolder
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CompareNoCase]
test eax, eax
jne 0x4013eb
mov eax, dword [sym.imp.MSVCR90.dll___wargv]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push edx
mov ecx, esi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
mov eax, dword [esi]
mov ecx, dword [eax - 0xc]
test ecx, ecx
je 0x401289
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x401289
mov byte [edi + 0x116], 1
jmp 0x401298
mov ecx, esi
mov byte [edi + 0x116], 0
call dword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::Empty]
mov eax, dword [sym.imp.SolvusoftWMhelper.dll_bool_CSystweakApp::m_bIsMuliInstncHandlBySysApp]
mov ecx, edi
mov byte [eax], 0
call dword [sym.imp.SolvusoftWMhelper.dll_public:_bool___thiscall_CSystweakApp::AlreadyRunning_void_]
test al, al
je 0x4013eb
cmp byte [edi + 0x116], 0
je 0x4013eb
lea ecx, [esp + 0x14]
call dword [0x422924]
mov byte [esp + 0x12ec], 1
mov ecx, dword [sym.imp.SolvusoftWMhelper.dll_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____CSystweakApp::m_ProgramName]
push ecx
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
mov edx, dword [esp + 0x14]
push edx
push str.32770
call dword [sym.imp.USER32.dll_FindWindowW]
mov ebp, eax
mov eax, dword [sym.imp.MSVCR90.dll___wargv]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push edx
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
push ebp
mov byte [esp + 0x12f0], 2
xor edi, edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4013c6
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.SolvusoftWMhelper.dll_public:_static_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______cdecl_CSystweakApp::GetRegAppPath_void_]
add esp, 4
lea ecx, [esp + 0x1c]
push ecx
mov byte [esp + 0x12f0], 3
lea ecx, [esp + 0x28]
mov dword [esp + 0x20], 0x80000001
call dword [sym.imp.SolvusoftWMhelper.dll_public:_void___thiscall_CRegistry::constructor_struct_HKEY____const_const__]
mov byte [esp + 0x12ec], 4
mov edx, dword [esp + 0x18]
push 1
push edx
push 0x80000001
lea ecx, [esp + 0x30]
mov dword [esp + 0x34], 0x2001f
call dword [sym.imp.SolvusoftWMhelper.dll_public:_int___thiscall_CRegistry::Open_struct_HKEY_____wchar_t_const___bool_]
test eax, eax
je 0x40138a
mov esi, dword [esi]
push edi
push esi
push str.ShellExtReadPath
lea ecx, [esp + 0x30]
call dword [sym.imp.SolvusoftWMhelper.dll_public:_int___thiscall_CRegistry::WriteString_wchar_t_const___wchar_t_const___bool_]
lea ecx, [esp + 0x24]
call dword [sym.imp.SolvusoftWMhelper.dll_public:_void___thiscall_CRegistry::Close_void_]
mov eax, dword [0x43d784]
push str.ShellAdding
push 0
push eax
push ebp
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esp + 0x24]
mov edi, eax
mov byte [esp + 0x12ec], 3
call dword [sym.imp.SolvusoftWMhelper.dll_public_virtual:_void___thiscall_CRegistry::destructor_void_]
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov eax, edi
jmp 0x4014bb
mov ecx, edi
call dword [sym.imp.SolvusoftWMhelper.dll_public_virtual:_int___thiscall_CSystweakApp::InitInstance_void_]
test eax, eax
je 0x4014af
call dword [sym.imp.SolvusoftWMhelper.dll_public:_static_bool___cdecl_CSystweakApp::IsRegisteredVersion_void_]
push str.SecureEncryptor
mov ecx, edi
mov byte [edi + 0x115], al
call dword [sym.imp.SolvusoftWMhelper.dll_public:_void___thiscall_CSystweakApp::SetDefaultINISectionName_wchar_t_const__]
lea ecx, [esp + 0x40]
push ecx
call fcn.00401000
lea esi, [esp + 0x40]
mov byte [esp + 0x12ec], 5
call fcn.004015a0
lea edx, [esp + 0x104]
push edx
call fcn.00401db0
lea eax, [esp + 0x104]
mov byte [esp + 0x12ec], 6
mov ecx, eax
mov edx, eax
mov dword [0x43d420], eax
mov eax, esi
push eax
mov dword [edi + 0x20], ecx
mov dword [edi + 0x110], edx
call dword [sym.imp.SolvusoftWMhelper.dll_public:_void___thiscall_CDlgBaseAppDlg::IntializeMainAppDlg_struct_MAINAPPDLGINIT__]
lea ecx, [esp + 0x104]
call sub.mfc90u.dll_CDialog::DoModal
mov byte [esp + 0x12ec], 5
lea ecx, [esp + 0x12dc]
mov dword [esp + method.CSecureEncryptorDlg.virtual_0], vtable.CSecureEncryptorDlg.0
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [esp + 0x104]
call dword [sym.imp.SolvusoftWMhelper.dll_public_virtual:_void___thiscall_CDlgBaseAppDlg::destructor_void_]
mov ecx, esi
push ecx
mov byte [esp + 0x12f0], 0
call fcn.004014f0
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
xor eax, eax
mov ecx, dword [esp + 0x12e4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x12d0]
xor ecx, esp
call fcn.0041cef2
add esp, 0x12e0
ret