Function at 0x423923
Capabilities:
Set current directory

Disassembly:
push 0x28
mov eax, 0x4295ac
call fcn.00427592
lea eax, [ebp - 0x28]
push eax
push 0x438638
push 3
push 0
push 0x42ecfc
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
test esi, esi
jl 0x423f37
push str.HighestAvailable.exe
lea ecx, [ebp - 0x30]
call dword [0x42e8c8]
and dword [ebp - 4], 0
push str.RequireAdministrator.exe
lea ecx, [ebp - 0x2c]
call dword [0x42e8c8]
lea ecx, [ebp - 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]
mov byte [ebp - 4], 2
call sub.mfc90u.dll_AfxGetModuleState
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x24]
push ecx
push eax
call dword [sym.imp.K9PCUhelper.dll_wchar_t_const____cdecl_GetAppPath_struct_HINSTANCE_____class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____]
pop ecx
pop ecx
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x10]
call dword [0x42e8d8]
mov ebx, 0x4385b4
push ebx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call dword [0x42e8c8]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 4
mov esi, dword [sym.imp.K9PCUhelper.dll_enum_PCO_ERROR_CODES___cdecl_STPathAppend_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
push eax
call esi
pop ecx
pop ecx
lea ecx, [ebp - 0x34]
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, [ebp - 0x1c]
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 0x436e2c
mov byte [ebp - 4], 5
push dword [ebp - 0x10]
mov edi, dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
lea eax, [ebp - 0x1c]
push str._s__s
push eax
call edi
add esp, 0x10
lea ecx, [ebp - 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]
push 0x42fde8
push str.IDS_PNG_TEXT_STRT_SPC
lea eax, [ebp - 0x34]
push eax
mov ecx, 0x446fa0
mov byte [ebp - 4], 6
call dword [sym.imp.K9PCUhelper.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__]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 7
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push ebx
lea ecx, [ebp - 0x20]
call dword [0x42e8c8]
mov byte [ebp - 4], 8
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x2c]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.0042371a
test eax, eax
jl 0x423a81
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
push str.K9PCUDiskOptimizer.exe
lea ecx, [ebp - 0x34]
call dword [0x42e8c8]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], 9
call esi
pop ecx
pop ecx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push 0x438600
push eax
call edi
mov ebx, dword [sym.imp.K9PCUhelper.dll_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______cdecl_STLoadStringFromMainINI_wchar_t_const___wchar_t_const__]
add esp, 0xc
push 0x434158
lea eax, [ebp - 0x34]
push str.IDS_G_APP_DISKOPT_NAME
push eax
call ebx
add esp, 0xc
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xa
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push str.K9PCUDiskOptimizer.exe
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x2c]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.0042371a
test eax, eax
jl 0x423b3a
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
push str.K9PCUDriverUpdater.exe
lea ecx, [ebp - 0x34]
call dword [0x42e8c8]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], 0xb
call esi
pop ecx
pop ecx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push 0x438600
push eax
call edi
add esp, 0xc
push 0x434158
lea eax, [ebp - 0x34]
push str.IDS_G_APP_DRIVOPT_NAME
push eax
call ebx
add esp, 0xc
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xc
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push str.K9PCUDriverUpdater.exe
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x2c]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.0042371a
test eax, eax
jl 0x423bed
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
push str.K9PCUPrivacyProtector.exe
lea ecx, [ebp - 0x34]
call dword [0x42e8c8]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], 0xd
call esi
pop ecx
pop ecx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push 0x438600
push eax
call edi
add esp, 0xc
push 0x434158
lea eax, [ebp - 0x34]
push str.IDS_G_APP_PRIVPROTCT_NAME
push eax
call ebx
add esp, 0xc
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xe
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push str.K9PCUPrivacyProtector.exe
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x30]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.0042371a
test eax, eax
jl 0x423ca0
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
push str.K9PCURegClean.exe
lea ecx, [ebp - 0x34]
call dword [0x42e8c8]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], 0xf
call esi
pop ecx
pop ecx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push 0x438600
push eax
call edi
add esp, 0xc
push 0x434158
lea eax, [ebp - 0x34]
push str.IDS_G_APP_REGCLN_NAME
push eax
call ebx
add esp, 0xc
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x10
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push str.K9PCURegClean.exe
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x2c]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.0042371a
test eax, eax
jl 0x423d53
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
push str.K9PCURegistryOptimizer.exe
lea ecx, [ebp - 0x34]
call dword [0x42e8c8]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], 0x11
call esi
pop ecx
pop ecx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push 0x438600
push eax
call edi
add esp, 0xc
push 0x434158
lea eax, [ebp - 0x34]
push str.IDS_G_APP_REGOPT_NAME
push eax
call ebx
add esp, 0xc
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x12
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push str.K9PCURegistryOptimizer.exe
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x2c]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.0042371a
test eax, eax
jl 0x423e06
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
push str.K9PCUSystemCleaner.exe
lea ecx, [ebp - 0x34]
call dword [0x42e8c8]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], 0x13
call esi
pop ecx
pop ecx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push 0x438600
push eax
call edi
add esp, 0xc
push 0x434158
lea eax, [ebp - 0x34]
push str.IDS_G_APP_SYSCLEANER_NAME
push eax
call ebx
add esp, 0xc
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x14
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push str.K9PCUSystemCleaner.exe
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x30]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.0042371a
mov esi, eax
test esi, esi
jl 0x423eef
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov esi, eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
test esi, esi
jl 0x423eef
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
lea edx, [ebp - 0x34]
push edx
push str._V
push eax
call dword [ecx]
mov esi, eax
test esi, esi
jl 0x423eef
mov eax, dword [ebp + 8]
push dword [ebp - 0x34]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov esi, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 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, [ebp - 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, [ebp - 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, [ebp - 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]
lea ecx, [ebp - 0x24]
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, [ebp - 0x2c]
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, [ebp - 0x30]
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, esi
call fcn.00427631
ret 4