Function at 0x10108e70
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1029d02d
mov eax, dword fs:[0]
push eax
sub esp, 0xe0
push ebx
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0xf0]
mov dword fs:[0], eax
mov ebx, ecx
mov edi, edx
xor esi, esi
cmp ebx, esi
jne 0x10108ec1
push esi
push 0x1f0
push 0x102cdd78
push 0x80070057
call fcn.100048f0
cmp dword [ebp + 0xc], esi
jne 0x10108edb
push esi
push 0x1f1
push 0x102cdd78
push 0x80004003
call fcn.100048f0
lea eax, [esp + 0x6c]
lea ecx, [edi + 0x5c]
push eax
call fcn.1007de80
mov dword [esp + 0xf8], esi
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esp + 0xb8]
push edx
mov ecx, ebx
call fcn.1010a9d0
mov byte [esp + 0xf8], 2
lea ecx, [esp + 0x6c]
call fcn.10056b10
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0xb8]
call fcn.101da900
mov byte [esp + 0xf8], 3
lea ecx, [esp + 0x6c]
push ecx
mov ecx, eax
call fcn.10055810
mov byte [esp + 0xf8], 4
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0x98]
call fcn.10055870
mov byte [esp + 0xf8], 5
mov ecx, eax
call fcn.10003840
push eax
lea ecx, [esp + 0x40]
call fcn.100047f0
mov byte [esp + 0xf8], 7
lea ecx, [esp + 0x94]
call fcn.10002d20
mov byte [esp + 0xf8], 8
lea ecx, [esp + 0x6c]
call fcn.10002d20
mov byte [esp + 0xf8], 9
lea ecx, [esp + 0xd0]
call fcn.10056b10
push 0x1fe
push 0x102cdd78
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x58]
push eax
push ecx
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
push eax
call fcn.100556a0
mov edx, dword [ebp + 8]
mov ebx, dword [esp + 0x4c]
imul ebx, dword [esp + 0x50]
add esp, 0xc
push edx
lea ecx, [esp + 0x90]
call fcn.101f5ff0
mov byte [esp + 0xf8], 0xa
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0xb8]
call fcn.101daa80
mov byte [esp + 0xf8], 0xb
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0xb8]
call fcn.101daa00
mov byte [esp + 0xf8], 0xc
mov eax, dword [edi + 0x28]
sub eax, 6
je 0x101091bf
sub eax, 2
je 0x10109069
push str.Unexpected_delete_file_action_encountered_when_trying_to_populate_the_size_entry
push 0x224
push 0x102cdd78
push 0x8000ffff
call fcn.100048f0
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], 0xa
mov byte [esp + 0xf8], 0xe
mov eax, dword [esp + 0x24]
push 0x10
lea edx, [esp + 0x28]
push 0x10
lea ecx, [esp + 0x1c]
mov dword [esp + 0x28], edx
push ecx
lea edx, [esp + 0xa0]
push edx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x24], vtable.CAtlListBuilder_class_CFilePath__class_ATL::CElementTraits_class_CFilePath___class_ATL::CAtlList_class_CFilePath__class_ATL::CElementTraits_class_CFilePath___.0
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], eax
call fcn.101dcdb0
test al, al
je 0x10109232
mov edi, dword [esp + 0x24]
cmp edi, esi
je 0x10109232
xor eax, eax
cmp edi, esi
setne al
cmp eax, esi
je 0x101091aa
mov eax, edi
mov edi, dword [edi]
add eax, 8
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], 0xa
mov byte [esp + 0xf8], 0xf
push 0x102c61dc
lea ecx, [esp + 0xd4]
call fcn.10055a10
mov byte [esp + 0xf8], 0x10
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x54]
push 0xffffffffffffffff
lea edx, [esp + 0x18]
mov dword [esp + 0x24], eax
push edx
lea eax, [esp + 0xd8]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x58]
push eax
mov dword [esp + 0x20], vtable.CAtlListBuilder_class_CFilePath__class_ATL::CElementTraits_class_CFilePath___class_ATL::CAtlList_class_CFilePath__class_ATL::CElementTraits_class_CFilePath___.0
mov dword [esp + 0x24], esi
call fcn.101de590
mov byte [esp + 0xf8], 0xf
lea ecx, [esp + 0xd0]
call fcn.10056b10
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [esp + 0x58]
push edx
xor eax, eax
push eax
mov eax, dword [ebp + 8]
push ebx
push eax
call fcn.10108900
mov byte [esp + 0xf8], 0xe
lea ecx, [esp + 0x54]
call fcn.10091d30
cmp edi, esi
jne 0x101090d7
jmp 0x10109232
push esi
push 0x514
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80004005
call fcn.100048f0
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], 0xa
mov byte [esp + 0xf8], 0xd
mov edx, dword [esp + 0x24]
push esi
lea ecx, [esp + 0x28]
push 0x10
mov dword [esp + 0x28], ecx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0xa0]
push ecx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x24], vtable.CAtlListBuilder_class_CFilePath__class_ATL::CElementTraits_class_CFilePath___class_ATL::CAtlList_class_CFilePath__class_ATL::CElementTraits_class_CFilePath___.0
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edx
call fcn.101dcdb0
test al, al
je 0x10109232
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push edx
lea eax, [esp + 0x28]
push eax
xor eax, eax
push eax
push ebx
push ecx
call fcn.10108900
mov byte [esp + 0xf8], 0xc
lea ecx, [esp + 0x24]
call fcn.10091d30
mov byte [esp + 0xf8], 0xb
lea ecx, [esp + 0x94]
call fcn.10056b10
mov byte [esp + 0xf8], 0xa
lea ecx, [esp + 0x6c]
call fcn.10056b10
mov byte [esp + 0xf8], 9
lea ecx, [esp + 0x8c]
call fcn.101f6080
mov byte [esp + 0xf8], 2
lea ecx, [esp + 0x3c]
call fcn.10004720
mov dword [esp + 0xf8], 0xffffffff
lea ecx, [esp + 0xb4]
call fcn.10056b10
mov ecx, dword [esp + 0xf0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8