Function at 0x4101a0
Capabilities:
Get disk information

Disassembly:
push 0x7ac
mov eax, 0x416d8b
call fcn.0041536b
push 0x10140
call sub.mfc90u.dll_new
xor esi, esi
pop ecx
cmp eax, esi
je 0x4101cb
mov ecx, eax
call fcn.004016e4
mov edi, eax
jmp 0x4101cd
xor edi, edi
push edi
call fcn.00401121
mov eax, dword [0x41fa74]
push dword [0x42bde0]
mov dword [ebp - 0x18], eax
mov eax, dword [0x41fa78]
mov dword [ebp - 0x14], eax
mov ax, word [0x42bddc]
mov word [ebp - 0x18], ax
call fcn.00403cd6
movzx eax, word [0x42bddc]
push 1
push eax
lea ecx, [ebp - 0x79c]
call dword [0x4195fc]
lea ecx, [ebp - 0x7b4]
mov dword [ebp - 4], esi
call dword [0x419844]
mov eax, 0x100
push eax
lea ecx, [ebp - 0x718]
push ecx
push esi
push esi
push esi
push eax
lea eax, [ebp - 0x518]
push eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
lea ecx, [ebp - 0x780]
call dword [0x419844]
lea eax, [ebp - 0x518]
push eax
lea ecx, [ebp - 0x780]
mov byte [ebp - 4], 2
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 [ebp - 0x780]
mov esi, dword [eax - 0xc]
test esi, esi
jne 0x4102ac
push 0x41f998
push str.IDS_LOCAL_DISK
lea eax, [ebp - 0x76c]
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__]
push eax
lea ecx, [ebp - 0x780]
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_____::operator_1]
lea ecx, [ebp - 0x76c]
mov byte [ebp - 4], 2
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 esi, 8
jle 0x41031f
push 8
push 0
lea eax, [ebp - 0x76c]
push eax
lea ecx, [ebp - 0x780]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Mid]
push eax
lea ecx, [ebp - 0x780]
mov byte [ebp - 4], 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 - 0x76c]
mov byte [ebp - 4], 2
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, [ebp - 0x76c]
push 0x41a718
push eax
lea esi, [ebp - 0x780]
call fcn.004063b3
pop ecx
pop ecx
push eax
mov ecx, esi
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 - 0x76c]
mov byte [ebp - 4], 2
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 - 0x79c]
mov eax, dword [0x42bde0]
push dword [ebp - 0x780]
mov esi, dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
add eax, 0x14d8
push str._s___s:_
push eax
call esi
mov eax, dword [0x42bde0]
add esp, 0x10
add eax, 0x14d8
push eax
lea ecx, [ebx + 0x4f8]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
mov ecx, dword [0x42bde0]
call fcn.00403ee7
lea eax, [ebp - 0x218]
push eax
push dword [edi + 0x24]
push dword [edi + 0x20]
call fcn.00402427
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x7ac]
call dword [0x419724]
lea eax, [ebp - 0x218]
push eax
mov byte [ebp - 4], 6
push dword [edi + 0x2c]
push dword [edi + 0x28]
call fcn.00402427
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x7b8]
call dword [0x419724]
lea eax, [ebp - 0x218]
push eax
mov byte [ebp - 4], 7
push dword [edi + 0x3c]
push dword [edi + 0x38]
call fcn.00402427
mov eax, dword [edi + 0x38]
mov ecx, dword [0x42bde0]
mov dword [ecx + 0x14e8], eax
mov eax, dword [edi + 0x3c]
mov ecx, dword [0x42bde0]
mov dword [ecx + 0x14ec], eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x7b0]
call dword [0x419724]
lea eax, [ebp - 0x218]
push eax
mov byte [ebp - 4], 8
push dword [edi + 0x4c]
push dword [edi + 0x48]
call fcn.00402427
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x7a4]
call dword [0x419724]
lea eax, [ebp - 0x794]
push eax
mov byte [ebp - 4], 9
call fcn.00401166
xor edx, edx
mov dword [ebp - 0x768], edx
mov dword [ebp - 0x764], edx
mov dword [ebp - 0x778], edx
mov dword [ebp - 0x774], edx
mov dword [ebp - 0x76c], edx
cmp dword [ebp - 0x794], edx
jbe 0x4104ef
lea esi, [ebp - 0x760]
call fcn.004016b9
mov byte [ebp - 4], 0xa
push dword [ebp - 0x76c]
mov ecx, esi
call fcn.004011a0
cmp dword [ebp - 0x740], 1
mov ecx, dword [ebp - 0x734]
mov eax, dword [ebp - 0x738]
ja 0x41049e
cmp dword [ebp - 0x73c], 1
jbe 0x4104bf
jmp 0x4104aa
add dword [ebp - 0x768], eax
adc dword [ebp - 0x764], ecx
cmp dword [ebp - 0x73c], 1
jbe 0x4104bf
add dword [ebp - 0x778], eax
adc dword [ebp - 0x774], ecx
lea ecx, [ebp - 0x760]
mov byte [ebp - 4], 9
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
inc dword [ebp - 0x76c]
mov eax, dword [ebp - 0x76c]
cmp eax, dword [ebp - 0x794]
jb 0x410462
mov esi, dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
xor edx, edx
fldz
fst qword [ebx + 0x510]
fst qword [ebx + 0x520]
fst qword [ebx + 0x518]
fstp qword [ebx + 0x528]
cmp dword [edi + 0x64], edx
ja 0x410517
cmp dword [edi + 0x60], edx
jbe 0x4106ba
cmp dword [edi + 0x6c], edx
ja 0x410525
cmp dword [edi + 0x68], edx
jbe 0x4106ba
mov eax, dword [ebp - 0x768]
mov esi, dword [edi + 0x60]
mov dword [ebp - 0x768], edx
mov edx, dword [edi + 0x64]
mov dword [ebp - 0x770], eax
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x764], eax
mov ecx, SysReAllocString
and eax, ecx
mov dword [ebp - 0x76c], eax
fild qword [ebp - 0x770]
mov eax, SysReAllocString
and dword [ebp - 0x764], eax
fild qword [ebp - 0x768]
and dword [ebp - 0x768], 0
mov dword [ebp - 0x764], edx
and dword [ebp - 0x764], eax
fchs
and edx, ecx
faddp st(1)
mov dword [ebp - 0x76c], edx
fld qword [0x4231e8]
mov dword [ebp - 0x770], esi
fmul st(1), st(0)
fild qword [ebp - 0x770]
fild qword [ebp - 0x768]
and dword [ebp - 0x768], 0
fchs
faddp st(1)
fld st(2)
fdivrp st(1)
fstp qword [ebx + 0x510]
mov edx, dword [edi + 0x6c]
mov esi, dword [edi + 0x68]
mov dword [ebp - 0x764], edx
and dword [ebp - 0x764], eax
and edx, ecx
mov dword [ebp - 0x76c], edx
mov dword [ebp - 0x770], esi
fild qword [ebp - 0x770]
fild qword [ebp - 0x768]
mov edx, dword [ebp - 0x778]
and dword [ebp - 0x778], 0
mov dword [ebp - 0x768], edx
fchs
mov edx, dword [ebp - 0x774]
faddp st(1)
mov dword [ebp - 0x774], edx
and dword [ebp - 0x774], eax
and edx, ecx
fdivp st(2)
mov dword [ebp - 0x764], edx
fxch st(1)
fstp qword [ebx + 0x520]
fild qword [ebp - 0x768]
fild qword [ebp - 0x778]
mov edx, dword [edi + 0x64]
mov esi, dword [edi + 0x60]
and dword [ebp - 0x778], 0
mov dword [ebp - 0x774], edx
and dword [ebp - 0x774], eax
fchs
and edx, ecx
faddp st(1)
mov dword [ebp - 0x764], edx
mov dword [ebp - 0x768], esi
fmulp st(1)
fild qword [ebp - 0x768]
fild qword [ebp - 0x778]
fchs
faddp st(1)
fld st(1)
fdivrp st(1)
fstp qword [ebx + 0x518]
mov edx, dword [edi + 0x6c]
mov esi, dword [edi + 0x68]
mov dword [ebp - 0x774], edx
and edx, ecx
mov dword [ebp - 0x768], esi
mov dword [ebp - 0x764], edx
fild qword [ebp - 0x768]
and dword [ebp - 0x774], eax
and dword [ebp - 0x778], 0
fild qword [ebp - 0x778]
mov esi, dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
fchs
faddp st(1)
fdivp st(1)
fstp qword [ebx + 0x528]
lea ecx, [ebp - 0x77c]
call dword [0x419844]
push ecx
mov byte [ebp - 4], 0xb
fld qword [ebx + 0x510]
push ecx
fstp qword [esp]
lea eax, [ebp - 0x77c]
push str._0.2f__
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x77c]
push eax
lea ecx, [ebp - 0x78c]
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 ecx
mov byte [ebp - 4], 0xc
fld qword [ebx + 0x518]
push ecx
fstp qword [esp]
lea eax, [ebp - 0x77c]
push str._0.2f__
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x77c]
push eax
lea ecx, [ebp - 0x7a0]
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 ecx, [ebp - 0x784]
call dword [0x419844]
push 0x41f998
push str.IDS_FRAGMENTATION_RES
lea eax, [ebp - 0x76c]
push eax
mov ecx, 0x42bc88
mov byte [ebp - 4], 0xe
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 [ebp - 4], 0xf
push dword [ebp - 0x7a0]
mov eax, dword [eax]
push dword [ebp - 0x78c]
push eax
lea eax, [ebp - 0x784]
push eax
call esi
add esp, 0x10
lea ecx, [ebp - 0x76c]
mov byte [ebp - 4], 0xe
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 [0x42bde0]
lea eax, [ebp - 0x784]
push eax
add ecx, 0x14dc
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
mov ecx, dword [0x42bde0]
call fcn.004040d9
fld qword [ebx + 0x520]
push ecx
push ecx
fstp qword [esp]
lea eax, [ebp - 0x77c]
push str._0.2f__
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x77c]
push eax
lea ecx, [ebp - 0x798]
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 ecx
mov byte [ebp - 4], 0x10
fld qword [ebx + 0x528]
push ecx
fstp qword [esp]
lea eax, [ebp - 0x77c]
push str._0.2f__
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x77c]
push eax
lea ecx, [ebp - 0x790]
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 ecx, [ebp - 0x788]
call dword [0x419844]
push 0x41f998
push str.IDS_FRAGMENTATION_RES
lea eax, [ebp - 0x76c]
push eax
mov ecx, 0x42bc88
mov byte [ebp - 4], 0x12
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 [ebp - 4], 0x13
push dword [ebp - 0x790]
mov eax, dword [eax]
push dword [ebp - 0x798]
push eax
lea eax, [ebp - 0x788]
push eax
call esi
add esp, 0x10
lea ecx, [ebp - 0x76c]
mov byte [ebp - 4], 0x12
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 [0x42bde0]
lea eax, [ebp - 0x788]
push eax
add ecx, 0x14e0
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
mov ecx, dword [0x42bde0]
call fcn.004042cb
push 0x80
lea eax, [ebp - 0x318]
push eax
mov eax, dword [edi + 0x8c]
mul dword [edi + 0x88]
push 0x400
push dword [edi + 0xac]
push dword [edi + 0xa8]
push edx
push eax
call fcn.00415520
push edx
push eax
call dword [sym.imp.K9PCUhelper.dll_int___cdecl_BytesToString_unsigned_long_long_unsigned___int64___unsigned_int__wchar_t___unsigned_int_]
add esp, 0x14
lea eax, [ebp - 0x318]
push eax
lea ecx, [ebp - 0x7a8]
call dword [0x419724]
push edi
call sub.mfc90u.dll_delete
pop ecx
lea ecx, [ebp - 0x7a8]
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 - 0x788]
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 - 0x790]
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 - 0x798]
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 - 0x784]
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 - 0x7a0]
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 - 0x78c]
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 - 0x77c]
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 - 0x7a4]
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 - 0x7b0]
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 - 0x7b8]
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 - 0x7ac]
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 - 0x780]
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 - 0x7b4]
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 - 0x79c]
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 fcn.004153ee
ret