Function at 0x411de0
Capabilities:
Get disk information
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x42d9a5
mov eax, dword fs:[0]
push eax
sub esp, 0x488
mov eax, dword [0x441028]
xor eax, esp
mov dword [esp + 0x480], eax
push ebx
push esi
push edi
mov eax, dword [0x441028]
xor eax, esp
push eax
lea eax, [esp + 0x498]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x1c], edi
call dword [sym.imp.SolvusoftWMhelper.dll_public_virtual:_int___thiscall_CDlgLeftSideChild::OnInitDialog_void_]
mov ebx, edi
call fcn.00412750
lea eax, [edi + 0x4e8]
push eax
lea eax, [edi + 0x4ec]
push eax
mov esi, 0x441f98
call fcn.00403bb9
mov ecx, esi
call fcn.0040405c
lea ebx, [edi + 0x290]
push 0x4420e8
mov ecx, ebx
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
push 0x4420ec
lea ecx, [edi + 0x294]
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 [ebx]
mov eax, dword [eax - 0xc]
test eax, eax
jne 0x411eb9
push 0x430ef8
push str.IDS_NOT_SCANNED
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call dword [sym.imp.SolvusoftWMhelper.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__]
and dword [esp + 0x4a0], 0
push eax
mov ecx, ebx
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 + 0x4a0], 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]
lea eax, [edi + 0x528]
push eax
call fcn.00404ddf
lea eax, [edi + 0x524]
push eax
call fcn.00405323
lea ecx, [edi + 0x520]
push esi
call fcn.00404fd6
lea eax, [edi + 0x52c]
push eax
call fcn.00405518
push 0x430ef8
push str.IDS_LAST_WIPE
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call dword [sym.imp.SolvusoftWMhelper.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__]
lea ebx, [edi + 0x190]
mov dword [esp + 0x4a0], 1
mov ecx, dword [ebx + 8]
push eax
push ecx
mov ecx, ebx
call sub.mfc90u.dll_CStringArray::SetAtGrow_1
or dword [esp + 0x4a0], 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]
push 0x430ef8
push str.IDS_OPTION_SCANNED
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call dword [sym.imp.SolvusoftWMhelper.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 + 0x4a0], 2
mov ecx, dword [ebx + 8]
push eax
push ecx
mov ecx, ebx
call sub.mfc90u.dll_CStringArray::SetAtGrow_1
or dword [esp + 0x4a0], 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]
push 0x430ef8
push str.IDS_LASTRES
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call dword [sym.imp.SolvusoftWMhelper.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 + 0x4a0], 3
mov ecx, dword [ebx + 8]
push eax
push ecx
mov ecx, ebx
call sub.mfc90u.dll_CStringArray::SetAtGrow_1
or dword [esp + 0x4a0], 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]
push 0x430ef8
push str.IDS_FILES_WIPE_TILLDATE
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call dword [sym.imp.SolvusoftWMhelper.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 + 0x4a0], 4
mov ecx, dword [ebx + 8]
push eax
push ecx
mov ecx, ebx
call sub.mfc90u.dll_CStringArray::SetAtGrow_1
or dword [esp + 0x4a0], 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]
lea ebx, [edi + 0x1a4]
mov eax, dword [ebx + 8]
lea ecx, [edi + 0x528]
push ecx
push eax
mov ecx, ebx
call sub.mfc90u.dll_CStringArray::SetAtGrow_1
mov eax, dword [ebx + 8]
lea ecx, [edi + 0x52c]
push ecx
push eax
mov ecx, ebx
call sub.mfc90u.dll_CStringArray::SetAtGrow_1
mov eax, dword [ebx + 8]
lea ecx, [edi + 0x524]
push ecx
push eax
mov ecx, ebx
call sub.mfc90u.dll_CStringArray::SetAtGrow_1
mov eax, dword [ebx + 8]
lea ecx, [edi + 0x520]
push ecx
push eax
mov ecx, ebx
call sub.mfc90u.dll_CStringArray::SetAtGrow_1
lea eax, [esp + 0x14]
lea ebx, [edi + 0x1b8]
push eax
mov eax, ebx
mov dword [esp + 0x18], 0x5a5148
call fcn.004072b6
lea eax, [esp + 0x14]
push eax
mov eax, ebx
mov dword [esp + 0x18], 0x5a5148
call fcn.004072b6
lea eax, [esp + 0x14]
push eax
mov eax, ebx
mov dword [esp + 0x18], 0x2c8200
call fcn.004072b6
lea eax, [esp + 0x14]
push eax
mov eax, ebx
mov dword [esp + 0x18], 0x2c8200
call fcn.004072b6
push 0x430ef8
push str.IDS_TAB_DRIVE_WELCOME_HEAD
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call dword [sym.imp.SolvusoftWMhelper.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 + 0x4a0], 5
push dword [eax]
mov ecx, edi
call sub.mfc90u.dll_CWnd::SetWindowTextW
or dword [esp + 0x4a0], 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]
lea ebx, [edi + 0x1cc]
push 0x44d
mov ecx, ebx
mov byte [edi + 0x27c], 1
call dword [sym.imp.SolvusoftWMhelper.dll_public:_int___thiscall_CHoverButton::LoadBitmapW_unsigned_int_]
push 0x56a
mov ecx, ebx
call dword [sym.imp.SolvusoftWMhelper.dll_public:_void___thiscall_CHoverButtonTextPng::SetTextImageId_unsigned_int_]
push 0x61b2
mov ecx, edi
call sub.mfc90u.dll_CWnd::GetDlgItem
push 0x61b1
mov ecx, edi
mov dword [edi + 0x560], eax
call sub.mfc90u.dll_CWnd::GetDlgItem
push 0x61b3
mov ecx, edi
mov dword [edi + 0x564], eax
call sub.mfc90u.dll_CWnd::GetDlgItem
push dword [edi + 0x560]
mov dword [edi + 0x568], eax
mov eax, dword [sym.imp.SolvusoftWMhelper.dll_class_CFont_CSystweakApp::m_BaseFontNormal]
call fcn.0040da4b
push dword [edi + 0x564]
mov eax, dword [sym.imp.SolvusoftWMhelper.dll_class_CFont_CSystweakApp::m_BaseFontNormal]
call fcn.0040da4b
push dword [edi + 0x568]
mov eax, dword [sym.imp.SolvusoftWMhelper.dll_class_CFont_CSystweakApp::m_BaseFontNormal]
call fcn.0040da4b
push dword [edi + 0x4e8]
mov esi, edi
call fcn.00411d31
mov ecx, dword [edi + 0x560]
lea esi, [edi + 0x4cc]
push dword [esi]
call sub.mfc90u.dll_CWnd::ShowWindow
push dword [esi]
mov ecx, dword [edi + 0x560]
call sub.mfc90u.dll_CWnd::EnableWindow
cmp byte [0x4420c0], 0
lea esi, [edi + 0x3b4]
mov ecx, esi
je 0x4121af
push 0
call sub.mfc90u.dll_CWnd::ShowWindow
push 0
mov ecx, esi
call sub.mfc90u.dll_CWnd::EnableWindow
push 1
jmp 0x4121db
push 0x462
call dword [sym.imp.SolvusoftWMhelper.dll_public:_int___thiscall_CHoverButton::LoadBitmapW_unsigned_int_]
push 0x431
mov ecx, esi
call dword [sym.imp.SolvusoftWMhelper.dll_public:_void___thiscall_CHoverButtonTextPng::SetTextImageId_unsigned_int_]
push 5
mov ecx, esi
call sub.mfc90u.dll_CWnd::ShowWindow
push 1
mov ecx, esi
call sub.mfc90u.dll_CWnd::EnableWindow
push 0
mov ecx, ebx
call sub.mfc90u.dll_CWnd::EnableWindow
push 0x50e
call fcn.004068af
mov ebx, edi
mov dword [edi + 0x3b0], eax
call fcn.00412a74
mov eax, dword [edi + 0x20]
mov dword [esp + 0x14], eax
call sub.mfc90u.dll_AfxGetModuleState
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x44]
xor esi, esi
push esi
lea ebx, [edi + 0x570]
or dword [ebx + 0xe0], 0xffffffff
or dword [ebx + 0xe4], 0xffffffff
push 0x50000000
push dword [esp + 0x1c]
mov ecx, ebx
push 0x436194
push eax
mov dword [ebx + 0xc8], 1
mov dword [ebx + 0xd0], esi
mov dword [ebx + 0xf0], esi
mov dword [ebx + 0xf4], esi
mov dword [ebx + 0xdc], esi
mov dword [ebx + 0xe8], esi
call fcn.0041c938
test eax, eax
je 0x41272a
call sub.mfc90u.dll_AfxGetModuleState
mov ecx, dword [edi + 0x20]
mov eax, dword [eax + 4]
lea edx, [edi + 0x21868]
mov edi, dword [0x4420b4]
push dword [edi + 0x11f4]
mov edi, dword [eax + 0x44]
push ecx
mov eax, edx
mov dword [esp + 0x28], edx
call fcn.0041db4a
test eax, eax
je 0x41272a
push dword [esp + 0x1c]
mov eax, dword [0x4420b4]
push method.CCCategoryList.virtual_24
push dword [eax + 0x11f4]
call dword [0x441f3c]
add esp, 0xc
xor edi, edi
push edi
call dword [0x441ec8]
pop ecx
test eax, eax
je 0x41236e
mov eax, dword [0x4420b4]
push 1
push edi
push dword [eax + 0x11f4]
call dword [0x441eb8]
add esp, 0xc
test eax, eax
je 0x41236e
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f8], esi
lea eax, [esp + 0x1f4]
push eax
lea eax, [esp + 0x30]
push eax
mov eax, dword [0x4420b4]
push dword [eax + 0x11f4]
call dword [0x441e98]
add esp, 0xc
push 1
push esi
push esi
push esi
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x41234b
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x1f4]
and eax, 0xffff0000
cmp dword [esp + 0x1f8], esi
ja 0x412300
jb 0x41236e
cmp eax, esi
ja 0x412300
inc edi
cmp edi, 0x80
jb 0x4122bb
mov esi, str.Hard_drive
mov edx, ebx
call fcn.0041c0de
mov esi, str.CD_DVD
mov edx, ebx
mov dword [esp + 0x38], eax
call fcn.0041c0de
mov esi, str.Removable
mov edx, ebx
mov dword [esp + 0x3c], eax
call fcn.0041c0de
mov esi, str.Partitions
mov edx, ebx
mov dword [esp + 0x2c], eax
call fcn.0041c0de
mov dword [esp + 0x24], eax
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
and dword [esp + 0x18], 0
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
mov dword [esp + 0x14], eax
test dword [esp + 0x14], 1
je 0x4124fc
mov eax, dword [0x433f74]
mov dword [esp + 0x1f4], eax
mov eax, dword [0x433f78]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x18]
add eax, 0x41
mov word [esp + 0x1f4], ax
lea eax, [esp + 0x1f4]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
dec eax
dec eax
je 0x4124d0
dec eax
je 0x41242d
dec eax
dec eax
je 0x4124b5
dec eax
jne 0x4124fc
movzx eax, word [esp + 0x1f4]
push eax
lea eax, [esp + 0x60]
push str._c:__Unformatted_
push eax
call edi
add esp, 0xc
lea eax, [esp + 0x204]
push eax
mov eax, dword [0x4420b4]
push 1
push dword [esp + 0x1fc]
push dword [eax + 0x11f4]
call dword [0x441e4c]
add esp, 0x10
test eax, eax
je 0x4124af
push 0x104
lea eax, [esp + 0x288]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x210]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [esp + 0x284]
push eax
movzx eax, word [esp + 0x1f8]
push eax
lea eax, [esp + 0x64]
push str._c:___s_
push eax
call edi
add esp, 0x10
mov ecx, dword [esp + 0x38]
jmp 0x4124ec
movzx eax, word [esp + 0x1f4]
push eax
lea eax, [esp + 0x60]
push str._c:__CD_DVD_
push eax
call edi
mov ecx, dword [esp + 0x48]
jmp 0x4124e9
movzx eax, word [esp + 0x1f4]
push eax
lea eax, [esp + 0x60]
push str._c:__Removable_drive_
push eax
call edi
mov ecx, dword [esp + 0x38]
add esp, 0xc
push dword [esp + 0x18]
lea eax, [esp + 0x60]
push eax
mov esi, ebx
call fcn.0041c104
shr dword [esp + 0x14], 1
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x20
jb 0x4123d0
lea eax, [esp + 0x28]
push eax
mov eax, dword [0x4420b4]
push dword [eax + 0x11f4]
call dword [0x441ec0]
pop ecx
pop ecx
test eax, eax
je 0x41258d
xor edi, edi
cmp dword [esp + 0x28], edi
jbe 0x41258d
lea eax, [esp + 0x5c]
push eax
mov eax, dword [0x4420b4]
push edi
push dword [eax + 0x11f4]
call dword [0x441ebc]
add esp, 0xc
test eax, eax
je 0x412586
push 0x104
lea eax, [esp + 0x288]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0xfe]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, dword [esp + 0x24]
push edi
lea eax, [esp + 0x288]
push eax
mov esi, ebx
call fcn.0041c104
inc edi
cmp edi, dword [esp + 0x28]
jb 0x412533
mov edi, dword [esp + 0x1c]
push 0x90
lea esi, [edi + 0x219e4]
push 0
push esi
call sub.MSVCR90.dll_memset
mov eax, dword [esi]
and eax, 0xffeaabff
or eax, 0x2aabf0
lea ecx, [edi + 0x219e0]
mov dword [esi], eax
xor eax, eax
mov edi, ecx
stosd dword es:[edi], eax
lea eax, [esp + 0x200]
add esp, 0xc
mov dword [ecx], 0x401
test eax, eax
je 0x412620
mov ebx, dword [esp + 0x20]
push 1
push 0xc8
push 0x2a8
push 0x12c
push 0x14
push dword [ebx + 0xc4]
call dword [sym.imp.USER32.dll_MoveWindow]
push dword [ebx + 0xc4]
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
test esi, esi
je 0x41261b
mov eax, dword [ebx]
push esi
mov ecx, ebx
call dword [eax + 0x40]
push esi
push dword [ebx + 0xc4]
call dword [sym.imp.USER32.dll_ReleaseDC]
call fcn.0041e8dd
mov eax, dword [esp + 0x1c]
push 0
push dword [eax + 0x2192c]
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [sym.imp.SolvusoftWMhelper.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 edi, 0x430ef8
push edi
push str.IDS_TOOLTIP_RDO_DELFILES
lea eax, [esp + 0x28]
mov ebx, 0x441f98
push eax
mov ecx, ebx
call esi
mov ecx, dword [esp + 0x1c]
push 0
mov dword [esp + 0x4a4], 6
mov eax, dword [eax]
push 0
push eax
lea edx, [ecx + 0x90]
push 0x61b1
mov dword [esp + 0x24], edx
call sub.mfc90u.dll_CWnd::GetDlgItem
mov ecx, dword [esp + 0x20]
push eax
call sub.mfc90u.dll_CToolTipCtrl::AddTool
or dword [esp + 0x4a0], 0xffffffff
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]
push edi
push str.IDS_TOOLTIP_RDO_EXISTINGTOO
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call esi
mov ecx, dword [esp + 0x1c]
push 0
mov dword [esp + 0x4a4], 7
mov eax, dword [eax]
push 0
push eax
push 0x61b3
call sub.mfc90u.dll_CWnd::GetDlgItem
mov ecx, dword [esp + 0x20]
push eax
call sub.mfc90u.dll_CToolTipCtrl::AddTool
or dword [esp + 0x4a0], 0xffffffff
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]
push edi
push str.IDS_TOOLTIP_RDO_WIPEDRIVE
lea eax, [esp + 0x2c]
push eax
mov ecx, ebx
call esi
mov ecx, dword [esp + 0x1c]
push 0
mov dword [esp + 0x4a4], 8
mov eax, dword [eax]
push 0
push eax
push 0x61b2
call sub.mfc90u.dll_CWnd::GetDlgItem
mov ecx, dword [esp + 0x20]
push eax
call sub.mfc90u.dll_CToolTipCtrl::AddTool
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]
xor eax, eax
inc eax
jmp 0x41272c
xor eax, eax
mov ecx, dword [esp + 0x498]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x480]
xor ecx, esp
call fcn.0042918e
mov esp, ebp
pop ebp
ret