Function at 0x10d3243
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 0x10d32e6
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, esi
jle 0x10d32a8
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 4], eax
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10d3504
test byte [eax + 0x1c], 1
je 0x10d3504
cmp byte [eax + 0x19], 2
jb 0x10d3504
push dword [ebp - 4]
push edi
push ebx
push 0x26
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01048c37
jmp 0x10d34ff
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 0x10d334c
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x10d3319
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 4], eax
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10d34f4
test byte [eax + 0x1c], 1
je 0x10d34f4
cmp byte [eax + 0x19], 2
jb 0x10d34f4
push dword [ebp - 4]
push edi
push ebx
push 0x27
jmp 0x10d33da
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10d3379
test byte [eax + 0x1c], 1
je 0x10d3379
cmp byte [eax + 0x19], 4
jb 0x10d3379
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push edi
push ebx
push 0x28
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01100308
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 0x10d33ea
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jle 0x10d33aa
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 4], eax
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10d34f4
test byte [eax + 0x1c], 1
je 0x10d34f4
cmp byte [eax + 0x19], 2
jb 0x10d34f4
push dword [ebp - 4]
push dword [ebp + 8]
push ebx
push 0x29
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01048c37
jmp 0x10d34f4
mov esi, dword [0x111024c]
cmp esi, 0x111024c
je 0x10d342d
test byte [esi + 0x1c], 1
je 0x10d342d
cmp byte [esi + 0x19], 4
jb 0x10d342d
push dword [ebp - 0x70]
push dword [ebp - 0x74]
push 0
push dword [ebp - 0x54]
call fcn.0106fb00
push edx
push eax
push dword [ebp + 8]
push ebx
push 0x2a
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.01100308
mov esi, dword [0x111024c]
push dword [ebp - 0x70]
mov edi, dword [ebp - 0x54]
push dword [ebp - 0x74]
xor eax, eax
push eax
push edi
call fcn.0106fb00
cmp edx, dword [ebp - 0x10]
jg 0x10d34f4
jl 0x10d3453
cmp eax, dword [ebp - 0x14]
jae 0x10d34f4
xor eax, eax
push eax
push edi
push dword [ebp - 0x10]
push dword [ebp - 0x14]
call fcn.01103080
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
cmp esi, 0x111024c
je 0x10d3493
test byte [esi + 0x1c], 1
je 0x10d3493
cmp byte [esi + 0x19], 4
jb 0x10d3493
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.01100308
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 0x10d34f4
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x10d34c8
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 4], eax
mov eax, dword [0x111024c]
cmp eax, 0x111024c
je 0x10d34f4
test byte [eax + 0x1c], 1
je 0x10d34f4
cmp byte [eax + 0x19], 2
jb 0x10d34f4
push dword [ebp - 4]
push ebx
push 0x2c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019fa8
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor esi, esi
mov eax, dword [0x111024c]
cmp dword [ebp - 4], esi
jge 0x10d3530
cmp eax, 0x111024c
je 0x10d3530
test byte [eax + 0x1c], 1
je 0x10d3530
cmp byte [eax + 0x19], 2
jb 0x10d3530
push dword [ebp - 4]
push dword [ebp + 8]
push ebx
push 0x2d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01048c37
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 4