Function at 0x4011c0
Capabilities:
Check if file exists

Disassembly:
push 0xffffffffffffffff
push 0x422500
mov eax, dword fs:[0]
push eax
mov eax, 0x1604
call fcn.0041eaa0
mov eax, dword [0x436028]
xor eax, esp
mov dword [esp + 0x1600], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x436028]
xor eax, esp
push eax
lea eax, [esp + 0x1618]
mov dword fs:[0], eax
mov esi, dword [sym.imp.ASOHelper.dll_public:_static_int___cdecl_CSystweakApp::ChangeWindowMessageFilter__unsigned_int__unsigned_long_int_]
push 1
push 0x233
mov edi, ecx
call esi
push 1
push 0x4a
call esi
push 1
push 0x49
call esi
lea esi, [edi + 0x12c]
add esp, 0x18
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 + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
xor ebx, ebx
lea ecx, [esp + 0x14]
mov dword [esp + 0x1620], ebx
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Trim]
lea ecx, [esp + 0x14]
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 + 0x18]
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 0x401402
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]
cmp dword [eax - 0xc], ebx
je 0x4012a4
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4012a4
mov byte [edi + 0x12a], 1
jmp 0x4012b2
mov ecx, esi
mov byte [edi + 0x12a], bl
call dword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::Empty]
mov eax, dword [sym.imp.ASOHelper.dll_bool_CSystweakApp::m_bIsMuliInstncHandlBySysApp]
mov ecx, edi
mov byte [eax], bl
call dword [sym.imp.ASOHelper.dll_public:_bool___thiscall_CSystweakApp::AlreadyRunning_void_]
test al, al
je 0x401402
cmp byte [edi + 0x12a], bl
je 0x401402
lea ecx, [esp + 0x18]
call dword [0x42497c]
mov byte [esp + 0x1620], 1
mov ecx, dword [sym.imp.ASOHelper.dll_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____CSystweakApp::m_ProgramName]
push ecx
lea ecx, [esp + 0x1c]
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 + 0x18]
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 + 0x20]
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 + 0x1624], 2
xor edi, edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4013dd
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.ASOHelper.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 + 0x24]
push ecx
mov byte [esp + 0x1624], 3
lea ecx, [esp + 0x2c]
mov dword [esp + 0x28], 0x80000001
call dword [sym.imp.ASOHelper.dll_public:_void___thiscall_CRegistry::constructor_struct_HKEY____const_const__]
mov byte [esp + 0x1620], 4
mov edx, dword [esp + 0x20]
push 1
push edx
push 0x80000001
lea ecx, [esp + 0x34]
mov dword [esp + 0x38], 0x2001f
call dword [sym.imp.ASOHelper.dll_public:_int___thiscall_CRegistry::Open_struct_HKEY_____wchar_t_const___bool_]
test eax, eax
je 0x4013a2
mov esi, dword [esi]
push ebx
push esi
push str.ShellExtReadPath
lea ecx, [esp + 0x34]
call dword [sym.imp.ASOHelper.dll_public:_int___thiscall_CRegistry::WriteString_wchar_t_const___wchar_t_const___bool_]
lea ecx, [esp + 0x28]
call dword [sym.imp.ASOHelper.dll_public:_void___thiscall_CRegistry::Close_void_]
mov eax, dword [0x44066c]
push str.ShellAdding
push ebx
push eax
push ebp
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esp + 0x28]
mov edi, eax
mov byte [esp + 0x1620], 3
call dword [sym.imp.ASOHelper.dll_public_virtual:_void___thiscall_CRegistry::destructor_void_]
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 + 0x1c]
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 + 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 + 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]
mov eax, edi
jmp 0x401521
push str.SecureEncryptor
mov ecx, edi
call dword [sym.imp.ASOHelper.dll_public:_void___thiscall_CSystweakApp::SetDefaultINISectionName_wchar_t_const__]
push 0x42508c
push str.IDS_G_APP_SECENCRYPT_NAME
lea ecx, [esp + 0x24]
push ecx
mov ecx, 0x440670
call dword [sym.imp.ASOHelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CSystweakApp::LoadStringW_wchar_t_const___wchar_t_const__]
mov byte [esp + 0x1620], 5
mov ecx, dword [sym.imp.ASOHelper.dll_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____CSystweakApp::m_LocalizedProgramName]
push eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1620], bl
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 ecx, edi
call dword [sym.imp.ASOHelper.dll_public_virtual:_int___thiscall_CSystweakApp::InitInstance_void_]
cmp eax, ebx
je 0x401515
call dword [sym.imp.ASOHelper.dll_public:_static_bool___cdecl_CSystweakApp::IsRegisteredVersion_void_]
lea edx, [esp + 0x44]
push edx
mov byte [edi + 0x129], al
call fcn.00401000
lea esi, [esp + 0x44]
mov byte [esp + 0x1620], 6
call fcn.00401600
lea eax, [esp + 0x108]
push eax
call fcn.00401db0
lea ecx, [esp + 0x108]
mov byte [esp + 0x1620], 7
mov edx, ecx
mov eax, ecx
mov dword [0x440420], ecx
mov ecx, esi
push ecx
mov ecx, eax
mov dword [edi + 0x20], edx
mov dword [edi + 0x124], eax
call dword [sym.imp.ASOHelper.dll_public:_void___thiscall_CDlgBaseAppDlg::IntializeMainAppDlg_struct_MAINAPPDLGINIT__]
lea ecx, [esp + 0x108]
call sub.mfc90u.dll_CDialog::DoModal
mov byte [esp + 0x1620], 6
lea ecx, [esp + 0x1610]
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 + 0x160c]
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 + 0x108]
call dword [sym.imp.ASOHelper.dll_public_virtual:_void___thiscall_CDlgBaseAppDlg::destructor_void_]
mov edx, esi
push edx
mov byte [esp + 0x1624], bl
call fcn.00401550
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]
xor eax, eax
mov ecx, dword [esp + 0x1618]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1600]
xor ecx, esp
call fcn.0041e2f2
add esp, 0x1610
ret