Function at 0x1016034
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x454
mov eax, dword [0x101b2b8]
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 [section..data]
mov esi, section..data
cmp eax, esi
je 0x1016088
test dword [eax + 0x1c], 0x20000000
je 0x1016088
push ecx
push 0x1002fa4
push 0x12
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01014c45
push 1
push 0x1f8
push 0x1003098
lea ecx, [ebp - 0x440]
call fcn.010148a2
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], 0x10032b8
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 0x1016110
mov dword [ebp - 0x440], 0x80070057
mov word [ebp - 0x43a], ax
jmp 0x1016310
mov word [ebp - 0x43c], ax
mov eax, 0x1ff
cmp dword [ebp - 0x450], ebx
je 0x10160fa
mov word [ebp - 0x43c], ax
inc eax
cmp dword [ebp + 0x10], ebx
jbe 0x10160fa
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x43c], ax
call fcn.01017aa3
mov dword [ebp - 0x440], eax
cmp eax, ebx
mov eax, 0x203
jl 0x1016104
mov word [ebp - 0x43c], ax
inc eax
cmp dword [ebp - 0x448], ebx
je 0x10160fa
push 0x5c
pop edx
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x43c], ax
call fcn.01017a4d
mov dword [ebp - 0x440], eax
cmp eax, ebx
mov eax, 0x206
jl 0x1016104
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 0x1016213
call fcn.01015b6b
mov dword [ebp - 0x440], eax
mov eax, 0x20c
mov word [ebp - 0x43a], ax
mov eax, dword [section..data]
cmp eax, esi
je 0x1016310
test dword [eax + 0x1c], 0x2000000
je 0x1016310
push dword [ebp - 0x440]
push dword [ebp - 0x44c]
push 0x1003058
push 0x1002fa4
push 0x13
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01015acc
jmp 0x1016310
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 0x101628f
call fcn.01015b6b
mov dword [ebp - 0x440], eax
mov eax, 0x213
mov word [ebp - 0x43a], ax
mov eax, dword [section..data]
cmp eax, esi
je 0x1016310
test dword [eax + 0x1c], 0x2000000
je 0x1016310
push dword [ebp - 0x440]
lea ecx, [ebp - 0x210]
push ecx
push 0x1003000
push 0x1002fa4
push 0x14
jmp 0x1016203
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 0x10162fe
call fcn.01015b6b
mov dword [ebp - 0x440], eax
mov eax, 0x219
mov word [ebp - 0x43a], ax
mov eax, dword [section..data]
cmp eax, esi
je 0x1016310
test dword [eax + 0x1c], 0x2000000
je 0x1016310
push dword [ebp - 0x440]
lea ecx, [ebp - 0x41c]
push ecx
push 0x1002fb8
push 0x1002fa4
push 0x15
jmp 0x1016203
mov eax, 0x219
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x43c], ax
mov esi, dword [ebp - 0x440]
lea ecx, [ebp - 0x44c]
call fcn.01016fe9
lea ecx, [ebp - 0x440]
call fcn.01014aa3
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.01014215
leave
ret 0xc