Function at 0x40f9b9
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x426a08
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x19234
call fcn.004238d0
mov eax, dword [0x43b028]
xor eax, esp
mov dword [esp + 0x19230], eax
push ebx
push esi
push edi
mov eax, dword [0x43b028]
xor eax, esp
push eax
lea eax, [esp + 0x19248]
mov dword fs:[0], eax
mov esi, dword [0x7b4298]
mov edi, ecx
mov ecx, dword [ebp + 8]
imul ecx, ecx, 0x18f28
lea eax, [esi + 8]
add ecx, eax
push 0x18f28
push ecx
lea eax, [esp + 0x31c]
push eax
mov dword [esp + 0x28], edi
call sub.MSVCR90.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x14]
call dword [0x4299ec]
xor ebx, ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x19250], ebx
call dword [0x4299ec]
push ebx
push ebx
push 0x1009
mov byte [esp + 0x1925c], 1
push dword [edi + 0x1e8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
mov ebx, 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__]
add esi, 0x31e5a0
mov dword [esp + 0x50], 0x100
cmp dword [esi - 0x98], 0xffffffff
je 0x40fd1c
xor ecx, ecx
lea eax, [esi - 0x94]
mov edx, dword [ebp + 8]
cmp dword [eax], edx
je 0x40faaa
inc ecx
add eax, 4
cmp ecx, 0x20
jl 0x40fa95
jmp 0x40fd1c
push esi
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator]
mov eax, dword [esp + 0x28]
mov eax, dword [eax - 0xc]
push 1
dec eax
push eax
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Delete]
push dword [esp + 0x28]
lea eax, [esi + 0x208]
push eax
lea eax, [esp + 0x1c]
push str._s___s_
push eax
call edi
and dword [esp + 0x6c], 0
push 0x2b0
lea eax, [esp + 0x74]
push 0
push eax
call sub.MSVCR90.dll_memset
add esp, 0x1c
push 0x4001
push 0x2b4
lea eax, [esp + 0x64]
push eax
push 0
push esi
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
add eax, 0x1c8
call fcn.00410f3b
xor ecx, ecx
push ecx
push dword [esp + 0x24]
push ecx
push ecx
push dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
push eax
push 3
add ecx, 0x1c8
call sub.mfc90u.dll_CListCtrl::InsertItem
push 0x42a22c
mov dword [esp + 0x24], eax
push str.IDS_MB2
lea eax, [esp + 0x2c]
push eax
mov ecx, 0x43cbb0
call ebx
mov byte [esp + 0x19250], 2
mov ecx, dword [esi - 0x10]
mov edx, dword [esi - 0xc]
mov eax, dword [eax]
shrd ecx, edx, 0x14
shr edx, 0x14
push edx
push ecx
push eax
lea eax, [esp + 0x20]
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0x24]
mov byte [esp + 0x19250], 1
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 [esp + 0x14]
mov ecx, dword [esp + 0x20]
push 1
push dword [esp + 0x28]
add ecx, 0x1c8
call sub.mfc90u.dll_CListCtrl::SetItemText
push 0x42a22c
push str.IDS_MB2
lea eax, [esp + 0x20]
push eax
mov ecx, 0x43cbb0
call ebx
mov byte [esp + 0x19250], 3
mov ecx, dword [esi - 8]
mov edx, dword [esi - 4]
mov eax, dword [eax]
shrd ecx, edx, 0x14
shr edx, 0x14
push edx
push ecx
push eax
lea eax, [esp + 0x20]
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0x18]
mov byte [esp + 0x19250], 1
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 [esp + 0x14]
mov ecx, dword [esp + 0x20]
push 2
push dword [esp + 0x28]
add ecx, 0x1c8
call sub.mfc90u.dll_CListCtrl::SetItemText
mov ecx, dword [esi - 0x10]
mov eax, dword [esi - 0xc]
mov edx, ecx
sub edx, dword [esi - 8]
mov dword [esp + 0x44], ecx
sbb eax, dword [esi - 4]
and dword [esp + 0x34], 0
mov ecx, dword [esi - 0xc]
and dword [esp + 0x2c], 0
mov dword [esp + 0x38], eax
and eax, 0x7fffffff
mov dword [esp + 0x58], eax
mov eax, SysReAllocString
and dword [esp + 0x38], eax
mov dword [esp + 0x54], edx
fild qword [esp + 0x54]
mov dword [esp + 0x30], ecx
fild qword [esp + 0x34]
and dword [esp + 0x30], eax
and ecx, 0x7fffffff
mov dword [esp + 0x48], ecx
fchs
faddp st(1)
fmul qword [0x4322a8]
fild qword [esp + 0x44]
fild qword [esp + 0x2c]
fchs
faddp st(1)
fdivp st(1)
fldz
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x40fcc2
push ecx
push ecx
fstp qword [esp]
lea eax, [esp + 0x1c]
push str._0.0f__
push eax
call edi
mov ecx, dword [esp + 0x2c]
add esp, 0x10
push dword [esp + 0x14]
add ecx, 0x1c8
push 3
push dword [esp + 0x28]
call sub.mfc90u.dll_CListCtrl::SetItemText
jmp 0x40fcc4
fstp st(0)
mov ecx, dword [esp + 0x1c]
lea eax, [esi + 0x490]
push eax
push 4
push dword [esp + 0x28]
add ecx, 0x1c8
call sub.mfc90u.dll_CListCtrl::SetItemText
push dword [esi + 0x4d0]
lea eax, [esp + 0x18]
push str._0.8X
push eax
call edi
add esp, 0xc
push 0x2d
push 4
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Insert]
push dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
push 5
push dword [esp + 0x28]
add ecx, 0x1c8
call sub.mfc90u.dll_CListCtrl::SetItemText
add esi, 0x590
dec dword [esp + 0x50]
jne 0x40fa80
mov eax, dword [esp + 0x348]
mov esi, dword [esp + 0x344]
test eax, eax
ja 0x40fd42
test esi, esi
jbe 0x40fd50
push 0
push 0x3e8
mov dword [esp + 0x40], eax
push eax
jmp 0x40fd7a
push dword [esp + 0x330]
push dword [esp + 0x330]
push 0
push dword [esp + 0x324]
call fcn.00423980
push 0
push 0x3e8
mov esi, eax
mov dword [esp + 0x40], edx
push edx
push esi
call fcn.00423910
and dword [esp + 0x2c], 0
mov dword [esp + 0x30], edx
and dword [esp + 0x30], 0x80000000
and edx, 0x7fffffff
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
fild qword [esp + 0x44]
push 1
fild qword [esp + 0x30]
push dword [esp + 0x3c]
push esi
fchs
faddp st(1)
fld qword [0x4322b8]
fdiv st(1), st(0)
fxch st(1)
fstp qword [esp + 0x48]
fcom qword [esp + 0x48]
fnstsw ax
test ah, 5
lea eax, [esp + 0x30]
push eax
jp 0x40fe07
fdivr qword [esp + 0x4c]
fstp qword [esp + 0x4c]
call fcn.00402fe1
mov esi, eax
push 0x42a22c
push str.IDS_DISK_SIZE_GB
lea eax, [esp + 0x20]
push eax
mov ecx, 0x43cbb0
mov byte [esp + 0x1925c], 4
call ebx
mov byte [esp + 0x19250], 5
jmp 0x40fe36
fstp st(0)
call fcn.00402fe1
mov esi, eax
push 0x42a22c
push str.IDS_DISK_SIZE_MB
lea eax, [esp + 0x20]
push eax
mov ecx, 0x43cbb0
mov byte [esp + 0x1925c], 6
call ebx
mov byte [esp + 0x19250], 7
fld qword [esp + 0x3c]
mov eax, dword [eax]
push ecx
push ecx
fstp qword [esp]
push dword [esi]
push eax
lea eax, [esp + 0x24]
push eax
call edi
add esp, 0x14
lea ecx, [esp + 0x18]
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, [esp + 0x24]
mov byte [esp + 0x19250], 1
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 edi, dword [esp + 0x1c]
lea eax, [esp + 0x5c8]
push eax
push 0x403
mov ecx, edi
call sub.mfc90u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc90u.dll_CWnd::SetWindowTextW
lea eax, [esp + 0x59e]
push eax
push 0x404
mov ecx, edi
call sub.mfc90u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc90u.dll_CWnd::SetWindowTextW
push dword [esp + 0x14]
mov ecx, edi
push 0x405
call sub.mfc90u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc90u.dll_CWnd::SetWindowTextW
lea eax, [esp + 0x61a]
push eax
push 0x406
mov ecx, edi
call sub.mfc90u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc90u.dll_CWnd::SetWindowTextW
lea eax, [esp + 0x660]
push eax
push 0x407
mov ecx, edi
call sub.mfc90u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc90u.dll_CWnd::SetWindowTextW
lea eax, [esp + 0xb64]
push eax
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator]
push 1
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Right]
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x19254], 8
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 + 0x18]
mov byte [esp + 0x19250], 1
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 [esp + 0x14]
mov ebx, dword [sym.imp.MSVCR90.dll__wtoi]
call ebx
pop ecx
push dword [eax*4 + 0x7b43c0]
mov ecx, edi
push 0x408
call sub.mfc90u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc90u.dll_CWnd::SetWindowTextW
lea eax, [esp + 0xc64]
push eax
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator]
push 1
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Right]
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x19254], 9
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 + 0x18]
mov byte [esp + 0x19250], 1
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 [esp + 0x14]
call ebx
pop ecx
push dword [eax*4 + 0x7b43c0]
mov ecx, edi
push 0x409
call sub.mfc90u.dll_CWnd::GetDlgItem
mov ecx, eax
call sub.mfc90u.dll_CWnd::SetWindowTextW
cmp dword [esp + 0x760], 1
jne 0x410137
xor eax, eax
xor esi, esi
cmp dword [esp + 0xda4], esi
mov ecx, edi
setne al
push eax
push 0x3ee
call sub.mfc90u.dll_CWnd::CheckDlgButton
xor eax, eax
cmp dword [esp + 0xd64], esi
mov ecx, edi
setne al
push eax
push 0x3ef
call sub.mfc90u.dll_CWnd::CheckDlgButton
xor eax, eax
cmp dword [esp + 0xe10], esi
mov ecx, edi
setne al
push eax
push 0x3f0
call sub.mfc90u.dll_CWnd::CheckDlgButton
xor eax, eax
cmp dword [esp + 0xe18], esi
mov ecx, edi
setne al
push eax
push 0x3f1
call sub.mfc90u.dll_CWnd::CheckDlgButton
xor eax, eax
cmp dword [esp + 0xd74], esi
mov ecx, edi
setne al
push eax
push 0x3f2
call sub.mfc90u.dll_CWnd::CheckDlgButton
xor eax, eax
cmp dword [esp + 0xe20], esi
mov ecx, edi
setne al
push eax
push 0x3f3
call sub.mfc90u.dll_CWnd::CheckDlgButton
xor eax, eax
cmp dword [esp + 0xe24], esi
mov ecx, edi
setne al
push eax
push 0x3f4
call sub.mfc90u.dll_CWnd::CheckDlgButton
xor eax, eax
cmp dword [esp + 0xd7c], esi
mov ecx, edi
setne al
push eax
push 0x3f5
call sub.mfc90u.dll_CWnd::CheckDlgButton
xor eax, eax
cmp dword [esp + 0xdcc], esi
mov ecx, edi
setne al
push eax
push 0x3f6
call sub.mfc90u.dll_CWnd::CheckDlgButton
xor eax, eax
cmp dword [esp + 0xe2c], esi
mov ecx, edi
setne al
push eax
push 0x3f7
call sub.mfc90u.dll_CWnd::CheckDlgButton
xor eax, eax
cmp dword [esp + 0xdd4], esi
mov ecx, edi
setne al
push eax
push 0x3f8
call sub.mfc90u.dll_CWnd::CheckDlgButton
xor eax, eax
cmp dword [esp + 0xd94], esi
setne al
push eax
push 0x3f9
mov ecx, edi
call sub.mfc90u.dll_CWnd::CheckDlgButton
xor eax, eax
cmp dword [esp + 0xd9c], esi
mov ecx, edi
setne al
push eax
push 0x3fa
call sub.mfc90u.dll_CWnd::CheckDlgButton
xor eax, eax
cmp dword [esp + 0xde4], esi
mov ecx, edi
setne al
push eax
push 0x3fb
call sub.mfc90u.dll_CWnd::CheckDlgButton
lea ecx, [esp + 0x28]
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, [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 ecx, dword [esp + 0x19248]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x19230]
xor ecx, esp
call fcn.00423038
mov esp, ebp
pop ebp
ret 4