Function at 0x10d32dd
Capabilities:
Get disk size
Get volume information via ioctl

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x7c
push ebx
push esi
push edi
xor eax, eax
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
xor esi, esi
push 0x60
stosd dword es:[edi], eax
lea eax, [ebp - 0x7c]
push esi
push eax
mov dword [ebp - 4], esi
mov dword [ebp - 8], esi
call sub.msvcrt.dll_memset
mov edi, dword [ebp + 8]
add esp, 0xc
push 0xffffffffffffffff
push 0x80
push 3
push esi
push 3
push 0xc0000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xc], eax
mov ebx, 0x100ffa4
cmp eax, 0xffffffff
jne 0x10d3380
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, esi
jle 0x10d3342
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 4], eax
mov eax, dword [0x111124c]
cmp eax, 0x111124c
je 0x10d359e
test byte [eax + 0x1c], 1
je 0x10d359e
cmp byte [eax + 0x19], 2
jb 0x10d359e
push dword [ebp - 4]
push edi
push ebx
push 0x26
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010196ed
jmp 0x10d3599
push esi
lea ecx, [ebp - 8]
push ecx
push 8
lea ecx, [ebp - 0x14]
push ecx
push esi
push esi
mov esi, dword [sym.imp.KERNEL32.dll_DeviceIoControl]
push 0x7405c
push eax
call esi
test eax, eax
jne 0x10d33e6
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x10d33b3
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 4], eax
mov eax, dword [0x111124c]
cmp eax, 0x111124c
je 0x10d358e
test byte [eax + 0x1c], 1
je 0x10d358e
cmp byte [eax + 0x19], 2
jb 0x10d358e
push dword [ebp - 4]
push edi
push ebx
push 0x27
jmp 0x10d3474
mov eax, dword [0x111124c]
cmp eax, 0x111124c
je 0x10d3413
test byte [eax + 0x1c], 1
je 0x10d3413
cmp byte [eax + 0x19], 4
jb 0x10d3413
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push edi
push ebx
push 0x28
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019e9a
xor edi, edi
push edi
lea eax, [ebp - 8]
push eax
push 0x60
lea eax, [ebp - 0x7c]
push eax
push edi
push edi
push 0x90064
push dword [ebp - 0xc]
call esi
test eax, eax
jne 0x10d3484
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jle 0x10d3444
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 4], eax
mov eax, dword [0x111124c]
cmp eax, 0x111124c
je 0x10d358e
test byte [eax + 0x1c], 1
je 0x10d358e
cmp byte [eax + 0x19], 2
jb 0x10d358e
push dword [ebp - 4]
push dword [ebp + 8]
push ebx
push 0x29
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010196ed
jmp 0x10d358e
mov esi, dword [0x111124c]
cmp esi, 0x111124c
je 0x10d34c7
test byte [esi + 0x1c], 1
je 0x10d34c7
cmp byte [esi + 0x19], 4
jb 0x10d34c7
push dword [ebp - 0x70]
push dword [ebp - 0x74]
push 0
push dword [ebp - 0x54]
call fcn.0106f960
push edx
push eax
push dword [ebp + 8]
push ebx
push 0x2a
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.01019e9a
mov esi, dword [0x111124c]
push dword [ebp - 0x70]
mov edi, dword [ebp - 0x54]
push dword [ebp - 0x74]
xor eax, eax
push eax
push edi
call fcn.0106f960
cmp edx, dword [ebp - 0x10]
jg 0x10d358e
jl 0x10d34ed
cmp eax, dword [ebp - 0x14]
jae 0x10d358e
xor eax, eax
push eax
push edi
push dword [ebp - 0x10]
push dword [ebp - 0x14]
call fcn.01103260
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
cmp esi, 0x111124c
je 0x10d352d
test byte [esi + 0x1c], 1
je 0x10d352d
cmp byte [esi + 0x19], 4
jb 0x10d352d
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp + 8]
push ebx
push 0x2b
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.01019e9a
xor eax, eax
push eax
lea ecx, [ebp - 8]
push ecx
push eax
push eax
push 8
lea eax, [ebp - 0x1c]
push eax
push 0x900f0
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x10d358e
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x10d3562
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 4], eax
mov eax, dword [0x111124c]
cmp eax, 0x111124c
je 0x10d358e
test byte [eax + 0x1c], 1
je 0x10d358e
cmp byte [eax + 0x19], 2
jb 0x10d358e
push dword [ebp - 4]
push ebx
push 0x2c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010189f6
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor esi, esi
mov eax, dword [0x111124c]
cmp dword [ebp - 4], esi
jge 0x10d35ca
cmp eax, 0x111124c
je 0x10d35ca
test byte [eax + 0x1c], 1
je 0x10d35ca
cmp byte [eax + 0x19], 2
jb 0x10d35ca
push dword [ebp - 4]
push dword [ebp + 8]
push ebx
push 0x2d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010196ed
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 4