Function at 0x100e9ea0
Capabilities:
Get disk size

Disassembly:
push 0xffffffffffffffff
push 0x1029d341
mov eax, dword fs:[0]
push eax
sub esp, 0x198
push ebx
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0x1a8]
mov dword fs:[0], eax
mov edi, ecx
mov esi, edx
xor ebx, ebx
cmp esi, ebx
jne 0x100e9eeb
push ebx
push 0x2d2
push 0x102c8bc4
push 0x80070057
call fcn.100048f0
cmp edi, ebx
jne 0x100e9f04
push ebx
push 0x2d3
push 0x102c8bc4
push 0x80004003
call fcn.100048f0
mov dword [edi], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1b0], 1
mov eax, dword [esi]
mov edx, dword [eax + 0x28]
lea ecx, [esp + 0x10]
push ecx
push esi
call edx
cmp eax, ebx
jge 0x100e9f37
push ebx
push 0x2d7
push 0x102c8bc4
push eax
call fcn.100048f0
mov eax, dword [esp + 0x10]
push edi
push 2
push 1
push eax
call fcn.100e6740
mov eax, dword [edi]
lea edx, [esp + 0x34]
mov dword [esp + 0x34], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
cmp eax, ebx
jge 0x100e9f6e
push ebx
push 0x2dc
push 0x102c8bc4
push eax
call fcn.100048f0
cmp dword [esp + 0x34], ebx
jne 0x100e9f89
mov dword [esp + 0x1b0], 0xffffffff
lea ecx, [esp + 0x10]
push ecx
jmp 0x100ea5c7
mov dword [esp + 0x14], ebx
mov byte [esp + 0x1b0], 3
mov edx, dword [esi]
mov ecx, dword [edx + 0x24]
lea eax, [esp + 0x14]
push eax
push esi
call ecx
cmp eax, ebx
jge 0x100e9fb7
push ebx
push 0x2e8
push 0x102c8bc4
push eax
call fcn.100048f0
cmp dword [esp + 0x14], ebx
jne 0x100e9fe4
mov byte [esp + 0x1b0], 1
lea edx, [esp + 0x14]
push edx
call fcn.100409e0
mov dword [esp + 0x1b0], 0xffffffff
lea eax, [esp + 0x10]
push eax
jmp 0x100ea5c7
mov ecx, dword [esi]
mov eax, dword [ecx + 0x30]
lea edx, [esp + 0x40]
push edx
push esi
call eax
cmp eax, ebx
jge 0x100ea006
push ebx
push 0x2ef
push 0x102c8bc4
push eax
call fcn.100048f0
mov ecx, dword [esp + 0x40]
shr ecx, 1
test cl, 1
jne 0x100e9fbd
mov ecx, dword [esp + 0x14]
push ecx
lea edx, [esp + 0x3c]
push edx
call fcn.100d6850
mov byte [esp + 0x1b0], 4
lea eax, [esp + 0x1c]
push eax
call fcn.100d5e10
mov byte [esp + 0x1b0], 5
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push eax
mov eax, dword [ecx + 0xa4]
call eax
cmp eax, ebx
jge 0x100ea063
push ebx
push 0x2fb
push 0x102c8bc4
push eax
call fcn.100048f0
mov edi, dword [edi]
lea ecx, [esp + 0x30]
push ecx
call fcn.100faad0
mov byte [esp + 0x1b0], 6
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x7c]
push edx
call fcn.100bef40
mov byte [esp + 0x1b0], 7
lea ecx, [ecx]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0x84]
push eax
call edi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x20], ebx
cmp eax, ebx
je 0x100ea0cb
mov ecx, dword [eax]
lea edx, [esp + 0x20]
push edx
lea edx, [esp + 0x88]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
cmp eax, ebx
jl 0x100ea4f5
cmp dword [esp + 0x20], ebx
seta al
cmp al, bl
je 0x100ea55d
lea ecx, [esp + 0x18]
push ecx
lea esi, [esp + 0x80]
call fcn.100f36a0
mov byte [esp + 0x1b0], 8
lea ecx, [esp + 0x5c]
call fcn.10002dd0
mov byte [esp + 0x1b0], 9
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x5c]
mov dword [esp + 0x74], ebx
call fcn.100041b0
lea edx, [esp + 0x64]
push edx
call edi
cmp eax, ebx
jl 0x100ea4f5
mov eax, 8
mov word [esp + 0x64], ax
lea edx, [esp + 0x6c]
mov dword [esp + 0x74], 2
mov dword [esp + 0x6c], ebx
mov ecx, dword [esi]
mov eax, dword [ecx + 0x28]
push edx
push esi
call eax
cmp eax, ebx
jl 0x100ea502
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0xac]
call fcn.100555b0
mov byte [esp + 0x1b0], 0xa
lea edx, [esp + 0x4c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [esp + 0x1b0], 0xb
lea eax, [esp + 0x10c]
push eax
lea ecx, [esp + 0xac]
call fcn.101daa00
mov byte [esp + 0x1b0], 0xc
lea ecx, [esp + 0xcc]
push ecx
mov ecx, eax
call fcn.10055810
mov byte [esp + 0x1b0], 0xd
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0xcc]
push edx
lea ecx, [esp + 0x168]
call fcn.10055870
mov edi, eax
mov byte [esp + 0x1b0], 0xe
mov ecx, edi
call fcn.10003840
cmp dword [edi + 0x18], 3
jne 0x100ea1f6
lea eax, [edi + 8]
push eax
mov dword [edi + 0x18], 1
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, ebx
jl 0x100ea4f5
cmp dword [edi + 0x18], ebx
jne 0x100ea202
mov dword [edi + 0x18], 1
call fcn.1008ee70
push eax
lea ecx, [esp + 0x148]
call fcn.100023b0
mov byte [esp + 0x1b0], 0xf
cmp dword [eax + 0x18], ebx
je 0x100ea24a
mov ecx, eax
call fcn.100039a0
movzx ecx, word [eax]
cmp cx, bx
je 0x100ea24a
cmp cx, 1
je 0x100ea24a
cmp cx, 8
sete cl
cmp cl, bl
je 0x100ea513
mov eax, dword [eax + 8]
jmp 0x100ea24c
xor eax, eax
mov ecx, dword [esi]
lea edx, [esp + 0x4c]
push edx
push eax
mov eax, dword [ecx + 0x1c]
push esi
call eax
cmp eax, ebx
jl 0x100ea528
mov byte [esp + 0x1b0], 0xe
lea ecx, [esp + 0x144]
call fcn.10002d20
mov byte [esp + 0x1b0], 0xd
lea ecx, [esp + 0x164]
call fcn.10002d20
mov byte [esp + 0x1b0], 0xc
lea ecx, [esp + 0xcc]
call fcn.10002d20
mov byte [esp + 0x1b0], 0xb
lea ecx, [esp + 0x10c]
call fcn.10056b10
cmp word [esp + 0x4c], bx
jne 0x100ea308
mov byte [esp + 0x1b0], 0xa
lea ecx, [esp + 0x4c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [esp + 0x1b0], 9
lea ecx, [esp + 0xa8]
call fcn.10056b10
mov byte [esp + 0x1b0], 8
lea ecx, [esp + 0x5c]
call fcn.10002d20
mov byte [esp + 0x1b0], 7
lea edx, [esp + 0x18]
push edx
call fcn.100409e0
jmp 0x100ea090
lea eax, [esp + 0x94]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
push 0x15
push ebx
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0xa0]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
cmp eax, ebx
jl 0x100ea4f5
lea eax, [esp + 0x128]
push eax
lea ecx, [esp + 0xac]
call fcn.101da900
mov byte [esp + 0x1b0], 0x10
lea ecx, [esp + 0xec]
push ecx
mov ecx, eax
call fcn.10055810
mov byte [esp + 0x1b0], 0x11
lea edx, [esp + 0xec]
push edx
lea ecx, [esp + 0x188]
call fcn.10055870
mov byte [esp + 0x1b0], 0x12
mov ecx, eax
call fcn.10003840
push eax
lea ecx, [esp + 0x2c]
call fcn.100047f0
mov byte [esp + 0x1b0], 0x14
lea ecx, [esp + 0x184]
call fcn.10002d20
mov byte [esp + 0x1b0], 0x15
lea ecx, [esp + 0xec]
call fcn.10002d20
mov byte [esp + 0x1b0], 0x16
lea ecx, [esp + 0x128]
call fcn.10056b10
push 0x317
push 0x102c8bc4
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x38]
push eax
push ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x60], ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
push eax
call fcn.100556a0
mov esi, dword [esp + 0x38]
imul esi, dword [esp + 0x30]
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
add esp, 0xc
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.10234f30
mov dword [esp + 0xc8], edx
test ebx, ebx
ja 0x100ea443
test ecx, ecx
jbe 0x100ea444
inc eax
push edi
push esi
push 0
push eax
call fcn.10233430
mov esi, eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
shrd esi, edx, 0xa
shr edx, 0xa
lea edx, [esp + 0x48]
push edx
push eax
mov eax, dword [ecx + 0x38]
call eax
test eax, eax
jl 0x100ea539
mov eax, dword [esp + 0x48]
xor ecx, ecx
cmp eax, esi
jbe 0x100ea47e
sub eax, esi
mov ecx, eax
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x34]
call eax
test eax, eax
jl 0x100ea54b
mov byte [esp + 0x1b0], 0xb
lea ecx, [esp + 0x28]
call fcn.10004720
mov byte [esp + 0x1b0], 0xa
lea ecx, [esp + 0x4c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [esp + 0x1b0], 9
lea ecx, [esp + 0xa8]
call fcn.10056b10
mov byte [esp + 0x1b0], 8
lea ecx, [esp + 0x5c]
call fcn.10002d20
mov byte [esp + 0x1b0], 7
lea edx, [esp + 0x18]
push edx
call fcn.100409e0
xor ebx, ebx
jmp 0x100ea090
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
push ebx
push 0x302
push 0x102c8bc4
push eax
call fcn.100048f0
push ebx
push 0xb7
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincAutoString.h
push 0xe0e00000
call fcn.100048f0
push ebx
push 0x307
push 0x102c8bc4
push eax
call fcn.100048f0
push 0
push 0x31d
push 0x102c8bc4
push eax
call fcn.100048f0
push 0
push 0x323
push 0x102c8bc4
push eax
call fcn.100048f0
mov byte [esp + 0x1b0], 6
lea eax, [esp + 0x7c]
push eax
call fcn.10085de0
mov byte [esp + 0x1b0], 5
lea ecx, [esp + 0x30]
push ecx
call fcn.100b9200
mov byte [esp + 0x1b0], 4
lea edx, [esp + 0x1c]
push edx
call fcn.100409e0
mov byte [esp + 0x1b0], 3
lea eax, [esp + 0x38]
push eax
call fcn.1005b8c0
mov byte [esp + 0x1b0], 1
lea ecx, [esp + 0x14]
push ecx
call fcn.100409e0
mov dword [esp + 0x1b0], 0xffffffff
lea edx, [esp + 0x10]
push edx
call fcn.100409e0
mov ecx, dword [esp + 0x1a8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0x1a4
ret