Function at 0x4016c4
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x444711
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x167c
call fcn.0043d080
mov eax, dword [0x4a3028]
xor eax, esp
mov dword [esp + 0x1678], eax
push ebx
push esi
push edi
mov eax, dword [0x4a3028]
xor eax, esp
push eax
lea eax, [esp + 0x1690]
mov dword fs:[0], eax
push str.PrivacyProtector
mov dword [esp + 0x28], ecx
call dword [sym.imp.K9PCUhelper.dll_public:_void___thiscall_CSystweakApp::SetDefaultINISectionName_wchar_t_const__]
mov ebx, 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__]
mov esi, 0x479624
push esi
push str.IDS_G_APP_PRIVPROTCT_NAME
lea eax, [esp + 0x1c]
mov edi, 0x4a4588
push eax
mov ecx, edi
call ebx
and dword [esp + 0x1698], 0
mov ecx, dword [sym.imp.K9PCUhelper.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_2]
or dword [esp + 0x1698], 0xffffffff
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 ecx, dword [esp + 0x24]
call dword [sym.imp.K9PCUhelper.dll_public_virtual:_int___thiscall_CSystweakApp::InitInstance_void_]
lea ecx, [esp + 0x18]
mov dword [esp + 0x14], eax
call dword [0x474bb4]
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x169c], 1
call dword [sym.imp.K9PCUhelper.dll_void___cdecl_ReturnSystweakRegKey_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____]
lea ecx, [esp + 0x14]
mov dword [esp], str.OneClickCure
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 eax, [esp + 0x10]
push eax
lea eax, [esp + 0x1c]
push eax
mov byte [esp + 0x16a0], 2
call 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__]
pop ecx
pop ecx
lea ecx, [esp + 0x10]
mov byte [esp + 0x1698], 1
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.Privacy_Protector
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 eax, [esp + 0x10]
push eax
lea eax, [esp + 0x1c]
push eax
mov byte [esp + 0x16a0], 3
call 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__]
pop ecx
pop ecx
lea ecx, [esp + 0x10]
mov byte [esp + 0x1698], 1
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
cmp dword [esp + 0x14], 0
jne 0x401950
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x18], VariantClear
call dword [sym.imp.K9PCUhelper.dll_public:_void___thiscall_CRegistry::constructor_struct_HKEY____const_const__]
push 0
push 0
push ecx
mov byte [esp + 0x16a4], 4
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.K9PCU.exe
mov dword [esp + 0x3c], 0x20019
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 ecx, edi
call dword [sym.imp.K9PCUhelper.dll_public:_bool___thiscall_CSystweakApp::IsApplicationRunning_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____unsigned_long_int__bool_]
test al, al
je 0x401939
push 0
push dword [esp + 0x1c]
lea ecx, [esp + 0x30]
push SysReAllocString
call dword [sym.imp.K9PCUhelper.dll_public:_int___thiscall_CRegistry::Open_struct_HKEY_____wchar_t_const___bool_]
test eax, eax
je 0x401939
lea ecx, [esp + 0x10]
call dword [0x474bb4]
push esi
push str.IDS_G_APP_PRIVPROTCT_NAME
lea eax, [esp + 0x28]
push eax
mov ecx, edi
mov byte [esp + 0x16a4], 5
call ebx
mov dword [esp + 0x14], eax
push esi
push str.IDS_SPC_CLEAN_PROCESS_RUNING
lea eax, [esp + 0x2c]
push eax
mov ecx, edi
mov byte [esp + 0x16a4], 6
call ebx
mov byte [esp + 0x1698], 7
mov ecx, dword [esp + 0x14]
push dword [ecx]
mov eax, dword [eax]
push eax
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
add esp, 0xc
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_clas]
lea ecx, [esp + 0x20]
mov byte [esp + 0x1698], 5
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 esi
push str.IDS_G_APP_PRIVPROTCT_NAME
lea eax, [esp + 0x28]
push eax
mov ecx, edi
call ebx
mov eax, dword [eax]
push 0x40
push eax
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
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]
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x28]
call dword [sym.imp.K9PCUhelper.dll_public:_void___thiscall_CRegistry::Close_void_]
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]
lea ecx, [esp + 0x28]
mov byte [esp + 0x1698], 1
call dword [sym.imp.K9PCUhelper.dll_public_virtual:_void___thiscall_CRegistry::destructor_void_]
jmp 0x401a82
call dword [sym.imp.K9PCUhelper.dll_public:_static_bool___cdecl_CSystweakApp::IsRegisteredVersion_void_]
mov edi, dword [esp + 0x24]
mov byte [edi + 0x5d1], al
mov eax, dword [sym.imp.MSVCR90.dll___wargv]
mov eax, dword [eax]
push dword [eax + 4]
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 0x100
push 0
push 0x4aa2e8
mov byte [esp + 0x16a4], 8
call sub.MSVCR90.dll_memset
add esp, 0xc
push esi
push 0x4786f8
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace_1]
push esi
push 0x4786fc
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace_1]
push esi
push 0x478700
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace_1]
push 0x478704
lea ecx, [esp + 0x20]
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 0x4019da
mov byte [0x4a3f00], 1
cmp byte [0x4a3f00], 0
jne 0x4019f2
push dword [esp + 0x18]
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
lea eax, [esp + 0x44]
push eax
call fcn.004010d6
push edi
lea esi, [esp + 0x48]
mov byte [esp + 0x169c], 9
call fcn.00401b35
lea eax, [esp + 0x10c]
push eax
call fcn.00401fdb
lea eax, [esp + 0x10c]
mov byte [esp + 0x1698], 0xa
mov dword [0x4a3f04], eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x124], eax
mov eax, esi
push eax
lea ecx, [esp + 0x110]
call dword [sym.imp.K9PCUhelper.dll_public:_void___thiscall_CDlgBaseAppDlg::IntializeMainAppDlg_struct_MAINAPPDLGINIT__]
lea ecx, [esp + 0x10c]
call sub.mfc90u.dll_CDialog::DoModal
lea ecx, [esp + 0x10c]
mov byte [esp + 0x1698], 9
call fcn.00402191
mov eax, esi
push eax
mov byte [esp + 0x169c], 8
call fcn.00401ab2
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]
xor eax, eax
mov ecx, dword [esp + 0x1690]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1678]
xor ecx, esp
call fcn.0043c4b0
mov esp, ebp
pop ebp
ret