Function at 0x101c769
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 0x101c7bd
test dword [eax + 0x1c], 0x20000000
je 0x101c7bd
push ecx
push 0x1003ad4
push 0x12
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101a71e
push 1
push 0x1f8
push 0x1003ce8
lea ecx, [ebp - 0x440]
call fcn.0101a2a6
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 0x101c845
mov dword [ebp - 0x440], 0x80070057
mov word [ebp - 0x43a], ax
jmp 0x101ca45
mov word [ebp - 0x43c], ax
mov eax, 0x1ff
cmp dword [ebp - 0x450], ebx
je 0x101c82f
mov word [ebp - 0x43c], ax
inc eax
cmp dword [ebp + 0x10], ebx
jbe 0x101c82f
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x43c], ax
call fcn.010223b2
mov dword [ebp - 0x440], eax
cmp eax, ebx
mov eax, 0x203
jl 0x101c839
mov word [ebp - 0x43c], ax
inc eax
cmp dword [ebp - 0x448], ebx
je 0x101c82f
push 0x5c
pop edx
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x43c], ax
call fcn.0102235c
mov dword [ebp - 0x440], eax
cmp eax, ebx
mov eax, 0x206
jl 0x101c839
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 0x101c948
call fcn.0101df05
mov dword [ebp - 0x440], eax
mov eax, 0x20c
mov word [ebp - 0x43a], ax
mov eax, dword [0x1025318]
cmp eax, esi
je 0x101ca45
test dword [eax + 0x1c], 0x2000000
je 0x101ca45
push dword [ebp - 0x440]
push dword [ebp - 0x44c]
push 0x1003ca8
push 0x1003ad4
push 0x13
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090d1
jmp 0x101ca45
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 0x101c9c4
call fcn.0101df05
mov dword [ebp - 0x440], eax
mov eax, 0x213
mov word [ebp - 0x43a], ax
mov eax, dword [0x1025318]
cmp eax, esi
je 0x101ca45
test dword [eax + 0x1c], 0x2000000
je 0x101ca45
push dword [ebp - 0x440]
lea ecx, [ebp - 0x210]
push ecx
push 0x1003c50
push 0x1003ad4
push 0x14
jmp 0x101c938
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 0x101ca33
call fcn.0101df05
mov dword [ebp - 0x440], eax
mov eax, 0x219
mov word [ebp - 0x43a], ax
mov eax, dword [0x1025318]
cmp eax, esi
je 0x101ca45
test dword [eax + 0x1c], 0x2000000
je 0x101ca45
push dword [ebp - 0x440]
lea ecx, [ebp - 0x41c]
push ecx
push 0x1003c08
push 0x1003ad4
push 0x15
jmp 0x101c938
mov eax, 0x219
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x43c], ax
mov esi, dword [ebp - 0x440]
lea ecx, [ebp - 0x44c]
call fcn.0102172b
lea ecx, [ebp - 0x440]
call fcn.0101a57c
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.01019b13
leave
ret 0xc