Function at 0x40c2b5
Capabilities:
Get disk size

Disassembly:
push 0x25c
mov eax, 0x418b3c
call fcn.004159bb
mov ebx, ecx
xor edi, edi
mov dword [ebp - 4], edi
movzx eax, word [0x42de48]
push edi
push eax
push 5
mov eax, ebx
call fcn.0040c875
cmp byte [0x42de89], 0
je 0x40c2fa
mov eax, dword [0x42de4c]
cmp byte [eax + 0x1538], 0
je 0x40c2fa
push eax
call fcn.0040559a
lea ecx, [ebx + 0xa98]
push 0x4216b0
mov dword [ebx + 0x670], edi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
mov esi, 0x4209dc
push esi
lea ecx, [ebx + 0x698]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
push esi
lea ecx, [ebx + 0x69c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
push esi
lea ecx, [ebx + 0x6a0]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
push edi
push edi
push 0x402
push dword [ebx + 0x774]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebx + 0x1c8], edi
cmp byte [0x42de89], 0
je 0x40c36d
mov eax, dword [0x42de4c]
cmp byte [eax + 0x1538], 0
jne 0x40c2f4
mov ax, word [ebp + 8]
mov esi, 0x4209a0
push esi
mov word [0x42de48], ax
push str.IDS_NOWSCANNING
lea eax, [ebp - 0x254]
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__]
lea ecx, [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x22c]
push ecx
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.00408a2d
pop ecx
pop ecx
lea ecx, [ebp - 0x254]
mov byte [ebp - 4], 3
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 - 0x22c]
lea ecx, [ebx + 0x6ac]
call sub.mfc90u.dll_CWnd::SetWindowTextW
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebx + 0x678]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
push edi
push 1
push 0x3e8
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [0x420a7c]
mov dword [ebp - 0x24], eax
mov eax, dword [0x420a80]
mov dword [ebp - 0x20], eax
xor eax, eax
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov ax, word [ebp + 8]
mov word [ebp - 0x24], ax
xor edi, edi
push edi
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
push edi
push 0x64
push dword [ebp - 0x238]
push dword [ebp - 0x23c]
call fcn.00415b70
push dword [ebp - 0x230]
push dword [ebp - 0x234]
push edx
push eax
call fcn.00415c90
cmp edx, edi
ja 0x40c538
jb 0x40c462
cmp eax, 8
jae 0x40c538
cmp dword [ebp - 0x238], edi
ja 0x40c538
jb 0x40c480
cmp dword [ebp - 0x23c], 0x40000000
jae 0x40c538
push 0x3e8
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
push esi
lea ecx, [ebx + 0x700]
call sub.mfc90u.dll_CWnd::SetWindowTextW
push edi
push edi
push 0x402
push dword [ebx + 0x774]
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
push str.IDS_WARNING_LOW_FREESPACE
lea eax, [ebp - 0x244]
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__]
push eax
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 4
call fcn.00408a2d
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 5
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 - 0x24c]
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 - 0x244]
mov byte [ebp - 4], 3
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 1
push edi
push edi
push edi
push dword [ebp - 0x22c]
call dword [sym.imp.ASOHelper.dll_public:_static_int___cdecl_CSystweakApp::AfxMessageBox_wchar_t_const___unsigned_int__class_CDialog___class_CRect___bool_]
add esp, 0x14
lea ecx, [ebp - 0x22c]
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 + 0xc]
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
jmp 0x40c86d
cmp byte [0x42de89], 0
je 0x40c553
mov eax, dword [0x42de4c]
cmp byte [eax + 0x1538], 0
jne 0x40c2f4
xor eax, eax
push 0x1fe
mov word [ebp - 0x224], ax
lea eax, [ebp - 0x222]
push edi
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x100
lea eax, [ebp - 0x224]
push eax
mov edi, 0x400
push edi
push dword [ebp - 0x230]
push dword [ebp - 0x234]
call dword [sym.imp.ASOHelper.dll_int___cdecl_BytesToString_unsigned_long_long_unsigned___int64___unsigned_int__wchar_t___unsigned_int_]
add esp, 0x14
lea eax, [ebp - 0x240]
push 0x421d58
push eax
lea esi, [ebp + 0xc]
call fcn.00406396
lea ecx, [ebp - 0x224]
push ecx
lea ecx, [ebp - 0x250]
push ecx
mov esi, eax
mov byte [ebp - 4], 6
call fcn.00406396
add esp, 0x10
push eax
lea ecx, [ebx + 0xa98]
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 - 0x250]
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 - 0x240]
mov byte [ebp - 4], 3
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 0
call dword [sym.imp.MSVCR90.dll__time64]
fldz
and dword [ebp - 0x258], 0
fstp qword [ebp - 0x260]
pop ecx
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x268]
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x264], edx
call fcn.0040d1d7
mov esi, dword [0x42de7c]
and dword [ebp - 0x228], 0
test esi, esi
jle 0x40c666
mov eax, dword [ebp - 0x228]
mov ecx, 0x42de74
call fcn.0040d021
mov cx, word [ebp + 8]
cmp cx, word [eax]
je 0x40c7a4
inc dword [ebp - 0x228]
cmp dword [ebp - 0x228], esi
jl 0x40c63b
or dword [ebp - 0x228], 0xffffffff
mov esi, dword [ebp - 0x228]
cmp esi, 0xffffffff
je 0x40c70f
test esi, esi
jl 0x40c7b5
cmp esi, dword [0x42de7c]
jge 0x40c7b5
mov eax, dword [0x42de78]
imul esi, esi, 0x50
add eax, esi
add eax, 0x28
push eax
lea eax, [ebp - 0x260]
call fcn.00406359
lea eax, [ebp - 0x260]
push eax
lea edi, [ebp - 0x248]
call fcn.0040d03f
mov edi, dword [ebp - 0x228]
mov byte [ebp - 4], 8
cmp edi, dword [0x42de7c]
jge 0x40c7b5
mov ecx, dword [0x42de78]
add ecx, esi
push eax
add ecx, 4
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 - 0x248]
mov byte [ebp - 4], 3
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 edi, dword [0x42de7c]
jge 0x40c7b5
mov eax, dword [0x42de78]
add esi, eax
mov byte [esi + 0x38], 1
mov edi, 0x400
cmp byte [0x42de89], 0
je 0x40c72a
mov eax, dword [0x42de4c]
cmp byte [eax + 0x1538], 0
jne 0x40c2f4
movzx eax, word [0x42de48]
push 0
push eax
push 5
mov eax, ebx
call fcn.0040c875
call sub.mfc90u.dll_AfxGetModuleState
mov ecx, dword [eax + 4]
call sub.mfc90u.dll_CCmdTarget::BeginWaitCursor
mov byte [ebp - 4], 9
cmp dword [ebx + 0x674], 0
jne 0x40c7f2
cmp byte [0x42de89], 0
je 0x40c776
mov eax, dword [0x42de4c]
cmp byte [eax + 0x1538], 0
jne 0x40c2f4
mov esi, dword [ebp + 8]
push 0
push esi
push 6
mov eax, ebx
call fcn.0040c875
mov dword [ebp - 0x228], eax
test eax, eax
je 0x40c7ba
cmp byte [0x42de89], 0
je 0x40c7d5
mov dword [0x42dc3c], 1
jmp 0x40c7d5
mov esi, dword [ebp - 0x228]
mov dword [ebp - 0x228], esi
jmp 0x40c673
call sub.mfc90u.dll_AfxThrowInvalidArgException
cmp byte [0x42de89], 0
je 0x40c7d5
mov eax, dword [0x42de4c]
cmp byte [eax + 0x1538], 0
jne 0x40c2f4
cmp word [0x42dc48], si
je 0x40c7e5
mov word [0x42dc48], si
push 0x800
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40c849
push 1
push dword [ebp + 8]
mov eax, ebx
push 1
call fcn.0040c875
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push edi
mov dword [ebp - 0x228], eax
call ebx
mov esi, 0x42dce0
mov ecx, esi
call sub.mfc90u.dll_CWinThread::PumpMessage
push edi
call ebx
mov ecx, esi
call sub.mfc90u.dll_CWinThread::PumpMessage
mov ax, word [ebp + 8]
cmp word [0x42dc48], ax
jne 0x40c849
cmp dword [0x42dc4c], 0
je 0x40c849
cmp dword [0x42dc50], 0
je 0x40c849
call fcn.00401095
mov byte [ebp - 4], 3
call fcn.00408c01
lea ecx, [ebp - 0x22c]
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 + 0xc]
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, dword [ebp - 0x228]
call fcn.00415a3e
ret 8