Function at 0x409ed7
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x417e3b
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x42b028]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [0x42bde0]
mov eax, dword [eax + 0x1500]
xor ebx, ebx
sub eax, ebx
je 0x40a4e1
dec eax
je 0x40a201
dec eax
jne 0x40a512
lea ecx, [esi + 0x67c]
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 + 0x648], ebx
jne 0x409fc6
push ebx
push 0xf4240
push 0x402
push dword [esi + 0x744]
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
lea ecx, [esi + 0x778]
call sub.mfc90u.dll_CWnd::ShowWindow
push ebx
lea ecx, [esi + 0x724]
call sub.mfc90u.dll_CWnd::ShowWindow
lea edi, [esi + 0xa74]
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 + 0x6d0]
call sub.mfc90u.dll_CWnd::ShowWindow
cmp byte [0x42be1d], bl
jne 0x409fc0
mov eax, dword [0x42bde0]
mov ecx, dword [eax + 0x14c4]
call fcn.0040e32e
push 0x4b1
mov ecx, esi
call dword [sym.imp.K9PCUhelper.dll_public:_void___thiscall_CDlgLeftSideChild::ChangeTheRightSideStep_enum_DLG_BTN_STEPS_]
push ebx
jmp 0x40a50c
cmp byte [0x42be1e], bl
jne 0x40a1e4
cmp byte [0x42be24], bl
je 0x40a00c
cmp dword [esi + 0x19c], 1
mov eax, dword [0x42bde0]
jae 0x409ff7
mov ebx, dword [eax + 0x14c8]
call fcn.004101a0
xor ebx, ebx
jmp 0x40a002
mov ecx, dword [eax + 0x14c8]
call fcn.0040fc1e
push 1
push esi
call fcn.0040a984
jmp 0x40a04e
cmp dword [esi + 0x19c], 1
jne 0x40a04e
mov eax, dword [0x42bde0]
mov ecx, dword [eax + 0x1430]
push 1
push 1
push 1
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.K9PCUhelper.dll_public:_void___thiscall_CDlgLeftDlgBase::EnableLeftButtons_bool__bool__bool__bool__bool__bool__bool_]
call fcn.0040a525
test al, al
je 0x40a04e
push 1
push esi
call fcn.0040a984
push 0x4b3
mov ecx, esi
call dword [sym.imp.K9PCUhelper.dll_public:_void___thiscall_CDlgLeftSideChild::ChangeTheRightSideStep_enum_DLG_BTN_STEPS_]
push ebx
cmp dword [esi + 0x644], ebx
je 0x40a0a9
lea edi, [esi + 0xa74]
mov ecx, edi
call sub.mfc90u.dll_CWnd::ShowWindow
push ebx
mov ecx, edi
call sub.mfc90u.dll_CWnd::EnableWindow
lea edi, [esi + 0x724]
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 + 0x8f0]
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 + 0x6d0]
call sub.mfc90u.dll_CWnd::ShowWindow
jmp 0x40a1da
mov eax, dword [esi + 0x19c]
cmp eax, 1
jae 0x40a12c
inc eax
mov dword [esi + 0x19c], eax
movzx eax, word [0x42bddc]
push eax
push 5
mov eax, esi
call fcn.0040c7fb
push ebx
push 1
push edi
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
movzx eax, word [0x42bddc]
push 1
push eax
push 1
mov eax, esi
call fcn.0040c7fb
push 0x7e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ax, word [0x42bbf8]
cmp ax, word [0x42bddc]
jne 0x40a512
cmp dword [0x42bbfc], ebx
je 0x40a512
cmp dword [0x42bc00], ebx
je 0x40a512
call fcn.00401095
jmp 0x40a512
lea edi, [esi + 0xa74]
mov ecx, edi
call sub.mfc90u.dll_CWnd::ShowWindow
push ebx
mov ecx, edi
call sub.mfc90u.dll_CWnd::EnableWindow
lea edi, [esi + 0x724]
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 + 0x8f0]
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 + 0x6d0]
call sub.mfc90u.dll_CWnd::ShowWindow
cmp byte [0x42be1f], bl
je 0x40a187
mov byte [0x42be1f], bl
mov eax, dword [sym.imp.K9PCUhelper.dll_bool_CMainApp::bShutDown]
cmp byte [eax], bl
je 0x40a1da
push ebx
push ebx
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push 0x41f998
push str.IDS_DONE_PROCESS
push eax
mov ecx, 0x42bc88
call dword [sym.imp.K9PCUhelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CMainApp::LoadStringW_wchar_t_const___wchar_t_const__]
mov dword [esp + 0x44], 8
call sub.mfc90u.dll_AfxGetThread
cmp eax, ebx
je 0x40a1c9
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x7c]
jmp 0x40a1cb
xor eax, eax
or dword [esp + 0x44], 0xffffffff
push eax
call dword [sym.imp.K9PCUhelper.dll_public:_static_void___cdecl_CMainApp::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.0040c887
jmp 0x40a512
push 1
push esi
call fcn.0040a984
push edi
mov byte [0x42be1e], bl
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
jmp 0x40a512
push 5
lea ecx, [esi + 0x724]
mov byte [esi + 0xacc], bl
call sub.mfc90u.dll_CWnd::ShowWindow
push 5
lea ecx, [esi + 0x6d0]
call sub.mfc90u.dll_CWnd::ShowWindow
push 5
lea edi, [esi + 0x778]
cmp dword [esi + 0x648], ebx
je 0x40a237
lea edi, [esi + 0x8f0]
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, 0x41f998
cmp byte [0x42be1d], bl
je 0x40a3d9
cmp byte [0x42be1e], bl
jne 0x40a3e5
mov eax, dword [0x42bde0]
cmp dword [eax + 0x151c], 7
mov dword [0x42be64], ebx
jne 0x40a284
call fcn.0040538e
lea ecx, [esp + 0x14]
call dword [0x419844]
push ebx
push ebx
push 0x408
mov dword [esp + 0x44], ebx
push dword [esi + 0x744]
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, 0x42bc88
mov dword [esp + 0x20], eax
lea eax, [esp + 0x24]
push eax
call dword [sym.imp.K9PCUhelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CMainApp::LoadStringW_wchar_t_const___wchar_t_const__]
mov byte [esp + 0x38], 1
push dword [esp + 0x18]
mov eax, dword [eax]
push dword [0x42bdbc]
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 [0x419724]
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 [0x42bde0]
mov eax, dword [eax + 0x1520]
xor ecx, ecx
cmp byte [0x42be1e], bl
mov byte [esp + 0x5c], bl
setne cl
lea ecx, [ecx*8 + 6]
push ecx
push eax
call fcn.00413115
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 [0x42be1d]
cmp al, bl
jne 0x40a372
cmp byte [0x42be1e], bl
je 0x40a512
mov ecx, dword [esi + 0x650]
mov dword [esp + 0x18], ecx
cmp al, bl
je 0x40a3d9
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
call dword [0x419724]
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 [0x419724]
mov eax, dword [0x42bde0]
mov eax, dword [eax + 0x1520]
xor ecx, ecx
cmp byte [0x42be1e], bl
setne cl
or dword [esp + 0x5c], 0xffffffff
lea ecx, [ecx*8 + 6]
push ecx
push eax
call fcn.00413115
cmp byte [0x42be1e], bl
je 0x40a512
lea ecx, [esp + 0x14]
call dword [0x419844]
push ebx
push ebx
push 0x408
mov dword [esp + 0x44], 4
push dword [esi + 0x744]
call dword [sym.imp.USER32.dll_SendMessageW]
imul eax, eax, 0x64
cdq
mov ecx, 0xf4240
idiv ecx
push edi
mov ecx, 0x42bc88
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xad0]
cmp dword [eax - 0xc], ebx
je 0x40a460
push str.IDS_DEFRAGGING_DRIVE_DONE
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.K9PCUhelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CMainApp::LoadStringW_wchar_t_const___wchar_t_const__]
mov byte [esp + 0x38], 5
push dword [esp + 0x18]
mov eax, dword [eax]
push dword [0x42bdbc]
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 0x40a484
push str.IDS_CLEAN_MSG
lea eax, [esp + 0x2c]
push eax
call dword [sym.imp.K9PCUhelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CMainApp::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 [0x419724]
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 [0x42bde0]
mov eax, dword [eax + 0x1520]
push 0xe
push eax
mov byte [esp + 0x64], 4
call fcn.00413115
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 0x40a512
cmp dword [esi + 0x648], ebx
jne 0x40a502
push ebx
lea ecx, [esi + 0x778]
call sub.mfc90u.dll_CWnd::ShowWindow
cmp byte [0x42be1d], bl
je 0x40a512
jmp 0x409fc0
cmp byte [0x42be1e], bl
je 0x40a512
push 1
push esi
call fcn.0040a984
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret