Function at 0x107ed53
Capabilities:
Get disk information

Disassembly:
push 0xe8
mov eax, 0x10d0e62
call fcn.0109883f
mov eax, dword [ebp + 8]
push 0
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x94], esp
push 0xff
push 1
push 0x7f3
mov ebx, 0x101fb18
push ebx
mov edi, 0x101d6ec
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 0xc]
push edi
mov esi, 0x101d680
push esi
mov dword [ebp - 0xb4], eax
call fcn.01099386
lea ecx, [ebp - 0xf4]
call fcn.0109a83a
and dword [ebp - 4], 0
push 0x1a3
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x94], esp
push 0xff
push 1
push 0x7f7
push ebx
push edi
push esi
call fcn.01099386
lea eax, [ebp - 0xf4]
push eax
call fcn.0109d65c
mov ecx, dword [ebp - 0xb4]
xor eax, eax
add esp, 0x60
mov dword [ebp - 0xa8], eax
cmp dword [ecx], eax
jbe 0x107f1b7
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 4]
add eax, dword [ebp - 0xac]
mov dword [ebp - 0x98], eax
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x107f02c
push eax
push 0x101fa88
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x94], esp
push 0xff
push 6
push 0x801
push ebx
push edi
push esi
call fcn.01099386
lea eax, [ebp - 0xf4]
push eax
call fcn.0109a510
mov eax, dword [ebp - 0x98]
mov eax, dword [eax + 0x1c]
add esp, 0x64
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x107ee62
sub eax, ecx
sar eax, 1
add eax, 2
push eax
lea ecx, [ebp - 0xa4]
call fcn.010467f1
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x1c]
mov eax, ecx
lea edx, [eax + 2]
mov byte [ebp - 4], 1
mov dword [ebp - 0x94], edx
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x107ee97
sub eax, dword [ebp - 0x94]
push ecx
sar eax, 1
push 0x1006e10
add eax, 2
push eax
push dword [ebp - 0xa4]
call fcn.01047599
add esp, 0x10
mov dword [ebp - 0xec], eax
test eax, eax
jl 0x107f1ca
push 0x80
lea eax, [ebp - 0x90]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x40
lea eax, [ebp - 0x90]
push eax
push dword [ebp - 0xa4]
call dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
test eax, eax
je 0x107f1fb
lea eax, [ebp - 0x90]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x107ef0b
sub eax, edx
sar eax, 1
cmp word [ebp + eax*2 - 0x92], 0x5c
jne 0x107ef45
lea eax, [ebp - 0x90]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x107ef2d
sub eax, edx
sar eax, 1
xor ecx, ecx
mov word [ebp + eax*2 - 0x92], cx
mov eax, dword [ebp - 0x98]
push dword [eax + 0x1c]
lea eax, [ebp - 0x90]
push eax
push 0x101fa40
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x94], esp
push 0xff
push 6
push 0x819
push ebx
push edi
push esi
call fcn.01099386
lea eax, [ebp - 0xf4]
push eax
call fcn.0109a510
lea eax, [ebp - 0x90]
add esp, 0x68
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x107ef91
sub eax, ecx
push 0x10e4120
sar eax, 1
xor ecx, ecx
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.01098a7b
pop ecx
pop ecx
mov dword [ebp - 0x94], eax
test eax, eax
je 0x107f246
lea eax, [ebp - 0x90]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x107efd2
sub eax, edx
sar eax, 1
lea ecx, [ebp - 0x90]
push ecx
inc eax
push eax
push dword [ebp - 0x94]
call fcn.010474b6
mov dword [ebp - 0xec], eax
test eax, eax
jl 0x107f27b
mov eax, dword [ebp - 0x98]
push dword [eax + 0x1c]
call fcn.0109818c
mov eax, dword [ebp - 0x94]
pop ecx
mov ecx, dword [ebp - 0x98]
push dword [ebp - 0xa4]
mov dword [ecx + 0x1c], eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
and dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax]
lea edx, [ebp - 0xa0]
push edx
push dword [ebp - 0xa8]
mov byte [ebp - 4], 2
push eax
call dword [ecx + 0x38]
push 0x101f9d8
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x94], esp
push 0xff
push 1
push 0x82e
push ebx
push edi
push esi
mov dword [ebp - 0xec], eax
call fcn.01099386
lea eax, [ebp - 0xf4]
push eax
call fcn.01046812
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
add esp, 0x60
push dword [edx + 0x1c]
push eax
call dword [ecx + 0x44]
push 0x101c8e0
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x94], esp
push 0xff
push 1
push 0x830
push ebx
push edi
push esi
mov dword [ebp - 0xec], eax
call fcn.01099386
lea eax, [ebp - 0xf4]
push eax
call fcn.01046812
add esp, 0x60
cmp byte [ebp + 0x10], 0
je 0x107f182
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
lea edx, [ebp - 0xb0]
push edx
push eax
call dword [ecx + 0x20]
push 0x1017a20
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x94], esp
push 0xff
push 1
push 0x836
push ebx
push edi
push esi
mov dword [ebp - 0xec], eax
call fcn.01099386
lea eax, [ebp - 0xf4]
push eax
call fcn.01046812
or dword [ebp - 0xb0], 0x80000
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
add esp, 0x60
push dword [ebp - 0xb0]
push eax
call dword [ecx + 0x24]
push 0x1016b10
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x94], esp
push 0xff
push 1
push 0x839
push ebx
push edi
push esi
mov dword [ebp - 0xec], eax
call fcn.01099386
lea eax, [ebp - 0xf4]
push eax
call fcn.01046812
add esp, 0x60
mov eax, dword [ebp - 0xa0]
mov byte [ebp - 4], 0
test eax, eax
je 0x107f196
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [ebp - 0xa8]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xa8]
add dword [ebp - 0xac], 0x28
cmp ecx, dword [eax]
jb 0x107ee02
lea ecx, [ebp - 0xf4]
call fcn.0109a8f3
call fcn.010988d1
ret 0xc
push 0x1006df0
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x9c], esp
push 0xff
push 1
push 0x80b
push ebx
push edi
push esi
call fcn.01099386
lea eax, [ebp - 0xf4]
push eax
call fcn.0109c3bb
push dword [ebp - 0xa4]
push 0x101a730
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x107f21a
and eax, 0xffff
or eax, 0x80070000
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x9c], esp
push 0xff
push 1
push 0x812
push ebx
push edi
push esi
call fcn.01099386
lea eax, [ebp - 0xf4]
push eax
call fcn.0109c3bb
push 0x101f9a0
push 0x8007000e
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x9c], esp
push 0xff
push 1
push 0x81e
push ebx
push edi
push esi
call fcn.01099386
lea eax, [ebp - 0xf4]
push eax
call fcn.0109b1b1
push 0x1006df0
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x9c], esp
push 0xff
push 1
push 0x824
jmp 0x107f1e7