Function at 0x409f64
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4184c6
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x42d028]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [0x42de4c]
mov eax, dword [eax + 0x1520]
xor ebx, ebx
sub eax, ebx
je 0x40a56e
dec eax
je 0x40a28e
dec eax
jne 0x40a59f
lea ecx, [esi + 0x6ac]
call sub.mfc90u.dll_CWnd::SetFocus
mov edi, 0x3e8
push edi
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
cmp dword [esi + 0x674], ebx
jne 0x40a053
push ebx
push 0xf4240
push 0x402
push dword [esi + 0x774]
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
lea ecx, [esi + 0x7a8]
call sub.mfc90u.dll_CWnd::ShowWindow
push ebx
lea ecx, [esi + 0x754]
call sub.mfc90u.dll_CWnd::ShowWindow
lea edi, [esi + 0xaa4]
push ebx
mov ecx, edi
call sub.mfc90u.dll_CWnd::ShowWindow
push ebx
mov ecx, edi
call sub.mfc90u.dll_CWnd::EnableWindow
push ebx
lea ecx, [esi + 0x700]
call sub.mfc90u.dll_CWnd::ShowWindow
cmp byte [0x42de89], bl
jne 0x40a04d
mov eax, dword [0x42de4c]
mov ecx, dword [eax + 0x14e8]
call fcn.0040e42c
push 0x4b1
mov ecx, esi
call dword [sym.imp.ASOHelper.dll_public:_void___thiscall_CDlgLeftSideChild::ChangeTheRightSideStep_enum_DLG_BTN_STEPS_]
push ebx
jmp 0x40a599
cmp byte [0x42de8a], bl
jne 0x40a271
cmp byte [0x42de90], bl
je 0x40a099
cmp dword [esi + 0x1c8], 1
mov eax, dword [0x42de4c]
jae 0x40a084
mov ebx, dword [eax + 0x14ec]
call fcn.0041022a
xor ebx, ebx
jmp 0x40a08f
mov ecx, dword [eax + 0x14ec]
call fcn.0040fca8
push 1
push esi
call fcn.0040aa11
jmp 0x40a0db
cmp dword [esi + 0x1c8], 1
jne 0x40a0db
mov eax, dword [0x42de4c]
mov ecx, dword [eax + 0x1454]
push 1
push 1
push 1
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ASOHelper.dll_public:_void___thiscall_CDlgLeftDlgBase::EnableLeftButtons_bool__bool__bool__bool__bool__bool__bool_]
call fcn.0040a5b2
test al, al
je 0x40a0db
push 1
push esi
call fcn.0040aa11
push 0x4b3
mov ecx, esi
call dword [sym.imp.ASOHelper.dll_public:_void___thiscall_CDlgLeftSideChild::ChangeTheRightSideStep_enum_DLG_BTN_STEPS_]
push ebx
cmp dword [esi + 0x670], ebx
je 0x40a136
lea edi, [esi + 0xaa4]
mov ecx, edi
call sub.mfc90u.dll_CWnd::ShowWindow
push ebx
mov ecx, edi
call sub.mfc90u.dll_CWnd::EnableWindow
lea edi, [esi + 0x754]
push ebx
mov ecx, edi
call sub.mfc90u.dll_CWnd::ShowWindow
push ebx
mov ecx, edi
call sub.mfc90u.dll_CWnd::EnableWindow
lea edi, [esi + 0x920]
push ebx
mov ecx, edi
call sub.mfc90u.dll_CWnd::ShowWindow
push ebx
mov ecx, edi
call sub.mfc90u.dll_CWnd::EnableWindow
push ebx
lea ecx, [esi + 0x700]
call sub.mfc90u.dll_CWnd::ShowWindow
jmp 0x40a267
mov eax, dword [esi + 0x1c8]
cmp eax, 1
jae 0x40a1b9
inc eax
mov dword [esi + 0x1c8], eax
movzx eax, word [0x42de48]
push eax
push 5
mov eax, esi
call fcn.0040c875
push ebx
push 1
push edi
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
movzx eax, word [0x42de48]
push 1
push eax
push 1
mov eax, esi
call fcn.0040c875
push 0x7e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ax, word [0x42dc48]
cmp ax, word [0x42de48]
jne 0x40a59f
cmp dword [0x42dc4c], ebx
je 0x40a59f
cmp dword [0x42dc50], ebx
je 0x40a59f
call fcn.00401095
jmp 0x40a59f
lea edi, [esi + 0xaa4]
mov ecx, edi
call sub.mfc90u.dll_CWnd::ShowWindow
push ebx
mov ecx, edi
call sub.mfc90u.dll_CWnd::EnableWindow
lea edi, [esi + 0x754]
push ebx
mov ecx, edi
call sub.mfc90u.dll_CWnd::ShowWindow
push ebx
mov ecx, edi
call sub.mfc90u.dll_CWnd::EnableWindow
lea edi, [esi + 0x920]
push ebx
mov ecx, edi
call sub.mfc90u.dll_CWnd::ShowWindow
push ebx
mov ecx, edi
call sub.mfc90u.dll_CWnd::EnableWindow
push ebx
lea ecx, [esi + 0x700]
call sub.mfc90u.dll_CWnd::ShowWindow
cmp byte [0x42de8b], bl
je 0x40a214
mov byte [0x42de8b], bl
mov eax, dword [sym.imp.ASOHelper.dll_bool_CSystweakApp::bShutDown]
cmp byte [eax], bl
je 0x40a267
push ebx
push ebx
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push 0x4209a0
push str.IDS_DONE_PROCESS
push eax
mov ecx, 0x42dce0
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 dword [esp + 0x44], 8
call sub.mfc90u.dll_AfxGetThread
cmp eax, ebx
je 0x40a256
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x7c]
jmp 0x40a258
xor eax, eax
or dword [esp + 0x44], 0xffffffff
push eax
call dword [sym.imp.ASOHelper.dll_public:_static_void___cdecl_CSystweakApp::ShowShutDownDlg_class_CDialog___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____class_CRect___bool_]
add esp, 0x10
call fcn.0040c901
jmp 0x40a59f
push 1
push esi
call fcn.0040aa11
push edi
mov byte [0x42de8a], bl
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
jmp 0x40a59f
push 5
lea ecx, [esi + 0x754]
mov byte [esi + 0xafc], bl
call sub.mfc90u.dll_CWnd::ShowWindow
push 5
lea ecx, [esi + 0x700]
call sub.mfc90u.dll_CWnd::ShowWindow
push 5
lea edi, [esi + 0x7a8]
cmp dword [esi + 0x674], ebx
je 0x40a2c4
lea edi, [esi + 0x920]
mov ecx, edi
call sub.mfc90u.dll_CWnd::ShowWindow
push 1
mov ecx, edi
call sub.mfc90u.dll_CWnd::EnableWindow
mov ecx, edi
call sub.mfc90u.dll_CWnd::SetFocus
mov edi, 0x4209a0
cmp byte [0x42de89], bl
je 0x40a466
cmp byte [0x42de8a], bl
jne 0x40a472
mov eax, dword [0x42de4c]
cmp dword [eax + 0x153c], 7
mov dword [0x42df04], ebx
jne 0x40a311
call fcn.00405370
lea ecx, [esp + 0x14]
call dword [0x41a85c]
push ebx
push ebx
push 0x408
mov dword [esp + 0x44], ebx
push dword [esi + 0x774]
call dword [sym.imp.USER32.dll_SendMessageW]
imul eax, eax, 0x64
cdq
mov ecx, 0xf4240
idiv ecx
push edi
push str.IDS_ANALYZE_DRIVE_DONE
mov ecx, 0x42dce0
mov dword [esp + 0x20], eax
lea eax, [esp + 0x24]
push eax
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 + 0x38], 1
push dword [esp + 0x18]
mov eax, dword [eax]
push dword [0x42de14]
push eax
lea eax, [esp + 0x20]
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, 0x10
lea ecx, [esp + 0x1c]
mov byte [esp + 0x38], 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]
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edi
call dword [0x41a924]
push 0xffffffffffffffff
push ebx
push 1
push ebx
push ebx
push ebx
push ecx
mov byte [esp + 0x5c], 2
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x4c], esp
push eax
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 eax, dword [0x42de4c]
mov eax, dword [eax + 0x1540]
xor ecx, ecx
cmp byte [0x42de8a], bl
mov byte [esp + 0x5c], bl
setne cl
lea ecx, [ecx*8 + 6]
push ecx
push eax
call fcn.0041319c
or dword [esp + 0x38], 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 al, byte [0x42de89]
cmp al, bl
jne 0x40a3ff
cmp byte [0x42de8a], bl
je 0x40a59f
mov ecx, dword [esi + 0x680]
mov dword [esp + 0x18], ecx
cmp al, bl
je 0x40a466
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
call dword [0x41a924]
push 0xffffffffffffffff
push 1
push ebx
push ebx
push ebx
mov dword [esp + 0x54], 3
push dword [esp + 0x34]
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push edi
call dword [0x41a924]
mov eax, dword [0x42de4c]
mov eax, dword [eax + 0x1540]
xor ecx, ecx
cmp byte [0x42de8a], bl
setne cl
or dword [esp + 0x5c], 0xffffffff
lea ecx, [ecx*8 + 6]
push ecx
push eax
call fcn.0041319c
cmp byte [0x42de8a], bl
je 0x40a59f
lea ecx, [esp + 0x14]
call dword [0x41a85c]
push ebx
push ebx
push 0x408
mov dword [esp + 0x44], 4
push dword [esi + 0x774]
call dword [sym.imp.USER32.dll_SendMessageW]
imul eax, eax, 0x64
cdq
mov ecx, 0xf4240
idiv ecx
push edi
mov ecx, 0x42dce0
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xb00]
cmp dword [eax - 0xc], ebx
je 0x40a4ed
push str.IDS_DEFRAGGING_DRIVE_DONE
lea eax, [esp + 0x28]
push eax
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 + 0x38], 5
push dword [esp + 0x18]
mov eax, dword [eax]
push dword [0x42de14]
push eax
lea eax, [esp + 0x20]
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, 0x10
lea ecx, [esp + 0x20]
jmp 0x40a511
push str.IDS_CLEAN_MSG
lea eax, [esp + 0x2c]
push eax
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__]
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], 6
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [esp + 0x24]
mov byte [esp + 0x38], 4
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
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
call dword [0x41a924]
push 0xffffffffffffffff
push ebx
push 1
push ebx
push ebx
push ebx
push ecx
mov byte [esp + 0x5c], 7
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
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 eax, dword [0x42de4c]
mov eax, dword [eax + 0x1540]
push 0xe
push eax
mov byte [esp + 0x64], 4
call fcn.0041319c
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]
jmp 0x40a59f
cmp dword [esi + 0x674], ebx
jne 0x40a58f
push ebx
lea ecx, [esi + 0x7a8]
call sub.mfc90u.dll_CWnd::ShowWindow
cmp byte [0x42de89], bl
je 0x40a59f
jmp 0x40a04d
cmp byte [0x42de8a], bl
je 0x40a59f
push 1
push esi
call fcn.0040aa11
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret