Function at 0x1030373
Capabilities:
Get disk size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x84
push ebx
push esi
push edi
mov eax, dword [0x1075318]
cmp eax, 0x1075318
je 0x10303a8
test dword [eax + 0x1c], 0x20000000
je 0x10303a8
push 0x1005330
push 0xb
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01016edb
push 1
push 0x679
push 0x1005958
lea ecx, [ebp - 0x30]
call fcn.01055826
mov edx, dword [ebp + 8]
xor ebx, ebx
xor eax, eax
lea edi, [ebp - 0x78]
mov dword [ebp - 0x7c], ebx
stosd dword es:[edi], eax
lea edi, [ebp - 0x48]
mov dword [ebp - 0x4c], ebx
stosd dword es:[edi], eax
lea edi, [ebp - 0x80]
mov dword [ebp - 0x84], ebx
stosd dword es:[edi], eax
push 0xa
pop ecx
lea edi, [ebp - 0x74]
rep stosd dword es:[edi], eax
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x44], 0x1010420
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov eax, 0x68b
cmp edx, ebx
jne 0x103045c
mov dword [ebp - 0x30], 0x80070057
mov word [ebp - 0x2a], ax
push dword [ebp - 0x6c]
mov esi, dword [sym.imp.ole32.dll_CoTaskMemFree]
call esi
push dword [ebp - 0x68]
mov dword [ebp - 0x6c], ebx
call esi
mov esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x68], ebx
call fcn.010635b3
mov eax, dword [ebp - 8]
cmp eax, ebx
je 0x103043e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 4]
cmp eax, ebx
je 0x103044b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x30]
call fcn.01055a3c
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 8
cmp dword [ebp + 0xc], 0x64
mov word [ebp - 0x2c], ax
mov eax, 0x68c
ja 0x1030405
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x2c], ax
call fcn.0106470b
mov dword [ebp - 0x30], eax
cmp eax, ebx
mov eax, 0x68e
jl 0x103040c
push 0x5c
pop edx
lea ecx, [ebp - 0x44]
mov word [ebp - 0x2c], ax
call fcn.0106469a
mov dword [ebp - 0x30], eax
cmp eax, ebx
mov eax, 0x68f
jl 0x103040c
mov word [ebp - 0x2c], ax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x7c]
push eax
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
jne 0x10304d7
call fcn.0105d3b8
mov dword [ebp - 0x30], eax
mov eax, 0x691
jmp 0x103040c
mov eax, 0x691
mov word [ebp - 0x2c], ax
lea eax, [ebp - 4]
push eax
sub esp, 0x10
mov edi, esp
mov esi, 0x100a514
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
mov esi, 0x1005578
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x30], ebx
movsd dword es:[edi], dword [esi]
call fcn.0102e0a3
mov dword [ebp - 0x30], eax
cmp eax, ebx
mov eax, 0x695
jl 0x103040c
lea edx, [ebp - 8]
push edx
push dword [ebp - 0x44]
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
mov dword [ebp - 0x30], eax
cmp eax, ebx
mov eax, 0x696
jl 0x103040c
mov word [ebp - 0x2c], ax
lea esi, [eax + 0xb]
push dword [ebp - 0x6c]
mov edi, dword [sym.imp.ole32.dll_CoTaskMemFree]
call edi
push dword [ebp - 0x68]
mov dword [ebp - 0x6c], ebx
call edi
push 0xa
pop ecx
lea edx, [ebp - 0xc]
push edx
xor eax, eax
lea edx, [ebp - 0x74]
push edx
lea edi, [ebp - 0x74]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 8]
push 1
mov dword [ebp - 0xc], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
cmp eax, ebx
mov dword [ebp - 0x30], eax
jl 0x1030599
mov ecx, esi
mov word [ebp - 0x2c], cx
cmp eax, 1
je 0x10305a2
cmp dword [ebp - 0xc], 1
jne 0x1030543
cmp dword [ebp - 0x74], 3
jne 0x1030543
inc dword [ebp - 0x34]
jmp 0x1030543
mov word [ebp - 0x2a], si
jmp 0x1030410
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push ebx
push dword [ebp + 0xc]
call fcn.010550a0
push ebx
push 0x64
push edx
push eax
call fcn.010550e0
mov edi, 0x12c00000
cmp edx, ebx
ja 0x10305ce
jb 0x10305ca
cmp eax, edi
jae 0x10305ce
mov eax, edi
xor edx, edx
cmp dword [ebp - 0x34], ebx
jne 0x10305f9
mov ecx, dword [ebp - 4]
mov esi, dword [ecx]
push edx
push eax
push dword [ebp - 0x44]
push dword [ebp - 0x44]
push ecx
call dword [esi + 0xc]
cmp eax, ebx
mov dword [ebp - 0x30], eax
jge 0x10306ad
mov eax, 0x6ba
jmp 0x103040c
push ebx
push dword [ebp - 0x34]
push edx
push eax
call fcn.010550e0
mov esi, edx
mov dword [ebp - 0x38], eax
cmp esi, ebx
ja 0x1030618
jb 0x1030613
cmp eax, edi
jae 0x1030618
mov dword [ebp - 0x38], edi
xor esi, esi
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov dword [ebp - 0x30], eax
cmp eax, ebx
mov eax, 0x6c4
jl 0x103040c
mov word [ebp - 0x2c], ax
push dword [ebp - 0x6c]
mov edi, dword [sym.imp.ole32.dll_CoTaskMemFree]
call edi
push dword [ebp - 0x68]
mov dword [ebp - 0x6c], ebx
call edi
push 0xa
pop ecx
lea edx, [ebp - 0xc]
push edx
xor eax, eax
lea edx, [ebp - 0x74]
push edx
lea edi, [ebp - 0x74]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 8]
push 1
mov dword [ebp - 0xc], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
cmp eax, ebx
mov dword [ebp - 0x30], eax
jl 0x10306a3
mov ecx, 0x6cd
mov word [ebp - 0x2c], cx
cmp eax, 1
je 0x10306ad
cmp dword [ebp - 0x74], 3
jne 0x1030635
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
push ebx
push esi
push dword [ebp - 0x38]
push dword [ebp - 0x6c]
push dword [ebp - 0x44]
push eax
call dword [ecx + 0x24]
mov dword [ebp - 0x30], eax
cmp eax, ebx
mov eax, 0x6d7
jmp 0x103062b
mov eax, 0x6cd
jmp 0x103040c
mov eax, 0x6dc
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x2c], ax
jmp 0x1030410