Function at 0x101c789
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x454
mov eax, dword [0x10253c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
mov dword [ebp - 0x454], ecx
mov dword [ebp - 0x450], eax
mov eax, dword [0x1025318]
mov esi, 0x1025318
cmp eax, esi
je 0x101c7dd
test dword [eax + 0x1c], 0x20000000
je 0x101c7dd
push ecx
push 0x1003ad4
push 0x12
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101a73e
push 1
push 0x1f8
push 0x1003ce8
lea ecx, [ebp - 0x440]
call fcn.0101a2c6
xor eax, eax
xor ebx, ebx
mov edi, 0x208
push edi
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push ebx
push eax
mov dword [ebp - 0x44c], 0x1004590
mov dword [ebp - 0x448], ebx
mov dword [ebp - 0x444], ebx
call sub.msvcrt.dll_memset
xor eax, eax
push edi
mov word [ebp - 0x41c], ax
lea eax, [ebp - 0x41a]
push ebx
push eax
call sub.msvcrt.dll_memset
mov edx, dword [ebp - 0x454]
add esp, 0x18
lea eax, [edi - 0xa]
cmp edx, ebx
jne 0x101c865
mov dword [ebp - 0x440], 0x80070057
mov word [ebp - 0x43a], ax
jmp 0x101ca65
mov word [ebp - 0x43c], ax
mov eax, 0x1ff
cmp dword [ebp - 0x450], ebx
je 0x101c84f
mov word [ebp - 0x43c], ax
inc eax
cmp dword [ebp + 0x10], ebx
jbe 0x101c84f
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x43c], ax
call fcn.010223d2
mov dword [ebp - 0x440], eax
cmp eax, ebx
mov eax, 0x203
jl 0x101c859
mov word [ebp - 0x43c], ax
inc eax
cmp dword [ebp - 0x448], ebx
je 0x101c84f
push 0x5c
pop edx
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x43c], ax
call fcn.0102237c
mov dword [ebp - 0x440], eax
cmp eax, ebx
mov eax, 0x206
jl 0x101c859
mov word [ebp - 0x43c], ax
mov edi, 0x105
push edi
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x44c]
call dword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
test eax, eax
jne 0x101c968
call fcn.0101df25
mov dword [ebp - 0x440], eax
mov eax, 0x20c
mov word [ebp - 0x43a], ax
mov eax, dword [0x1025318]
cmp eax, esi
je 0x101ca65
test dword [eax + 0x1c], 0x2000000
je 0x101ca65
push dword [ebp - 0x440]
push dword [ebp - 0x44c]
push 0x1003ca8
push 0x1003ad4
push 0x13
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090f1
jmp 0x101ca65
mov eax, 0x20c
mov word [ebp - 0x43c], ax
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x210]
push eax
mov dword [ebp - 0x440], ebx
call edi
test eax, eax
jne 0x101c9e4
call fcn.0101df25
mov dword [ebp - 0x440], eax
mov eax, 0x213
mov word [ebp - 0x43a], ax
mov eax, dword [0x1025318]
cmp eax, esi
je 0x101ca65
test dword [eax + 0x1c], 0x2000000
je 0x101ca65
push dword [ebp - 0x440]
lea ecx, [ebp - 0x210]
push ecx
push 0x1003c50
push 0x1003ad4
push 0x14
jmp 0x101c958
push dword [ebp + 0x10]
mov eax, 0x213
push dword [ebp - 0x450]
mov word [ebp - 0x43c], ax
lea eax, [ebp - 0x41c]
push eax
mov dword [ebp - 0x440], ebx
call edi
test eax, eax
jne 0x101ca53
call fcn.0101df25
mov dword [ebp - 0x440], eax
mov eax, 0x219
mov word [ebp - 0x43a], ax
mov eax, dword [0x1025318]
cmp eax, esi
je 0x101ca65
test dword [eax + 0x1c], 0x2000000
je 0x101ca65
push dword [ebp - 0x440]
lea ecx, [ebp - 0x41c]
push ecx
push 0x1003c08
push 0x1003ad4
push 0x15
jmp 0x101c958
mov eax, 0x219
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x43c], ax
mov esi, dword [ebp - 0x440]
lea ecx, [ebp - 0x44c]
call fcn.0102174b
lea ecx, [ebp - 0x440]
call fcn.0101a59c
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.01019b35
leave
ret 0xc