Function at 0x107ec8d
Capabilities:
Get disk information

Disassembly:
push 0xe8
mov eax, 0x10d1093
call fcn.01098a33
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, 0x101fc48
push ebx
mov edi, 0x101d81c
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 0xc]
push edi
mov esi, 0x101d7b0
push esi
mov dword [ebp - 0xb4], eax
call fcn.0109958e
lea ecx, [ebp - 0xf4]
call fcn.0109aa5f
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.0109958e
lea eax, [ebp - 0xf4]
push eax
call fcn.0109d881
mov ecx, dword [ebp - 0xb4]
xor eax, eax
add esp, 0x60
mov dword [ebp - 0xa8], eax
cmp dword [ecx], eax
jbe 0x107f0f1
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 0x107ef66
push eax
push 0x101fbb8
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.0109958e
lea eax, [ebp - 0xf4]
push eax
call fcn.0109a735
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 0x107ed9c
sub eax, ecx
sar eax, 1
add eax, 2
push eax
lea ecx, [ebp - 0xa4]
call fcn.010468b8
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 0x107edd1
sub eax, dword [ebp - 0x94]
push ecx
sar eax, 1
push 0x1006e08
add eax, 2
push eax
push dword [ebp - 0xa4]
call fcn.010475bf
add esp, 0x10
mov dword [ebp - 0xec], eax
test eax, eax
jl 0x107f104
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 0x107f135
lea eax, [ebp - 0x90]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x107ee45
sub eax, edx
sar eax, 1
cmp word [ebp + eax*2 - 0x92], 0x5c
jne 0x107ee7f
lea eax, [ebp - 0x90]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x107ee67
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 0x101fb70
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.0109958e
lea eax, [ebp - 0xf4]
push eax
call fcn.0109a735
lea eax, [ebp - 0x90]
add esp, 0x68
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x107eecb
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.01098c7b
pop ecx
pop ecx
mov dword [ebp - 0x94], eax
test eax, eax
je 0x107f180
lea eax, [ebp - 0x90]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x107ef0c
sub eax, edx
sar eax, 1
lea ecx, [ebp - 0x90]
push ecx
inc eax
push eax
push dword [ebp - 0x94]
call fcn.010474dc
mov dword [ebp - 0xec], eax
test eax, eax
jl 0x107f1b5
mov eax, dword [ebp - 0x98]
push dword [eax + 0x1c]
call fcn.01098380
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 0x101fb08
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.0109958e
lea eax, [ebp - 0xf4]
push eax
call fcn.010468d9
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 0x101ca10
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.0109958e
lea eax, [ebp - 0xf4]
push eax
call fcn.010468d9
add esp, 0x60
cmp byte [ebp + 0x10], 0
je 0x107f0bc
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
lea edx, [ebp - 0xb0]
push edx
push eax
call dword [ecx + 0x20]
push 0x1017b50
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.0109958e
lea eax, [ebp - 0xf4]
push eax
call fcn.010468d9
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 0x1016c40
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.0109958e
lea eax, [ebp - 0xf4]
push eax
call fcn.010468d9
add esp, 0x60
mov eax, dword [ebp - 0xa0]
mov byte [ebp - 4], 0
test eax, eax
je 0x107f0d0
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 0x107ed3c
lea ecx, [ebp - 0xf4]
call fcn.0109ab18
call fcn.01098ac5
ret 0xc
push 0x1006de8
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.0109958e
lea eax, [ebp - 0xf4]
push eax
call fcn.0109c5e0
push dword [ebp - 0xa4]
push 0x101a860
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x107f154
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.0109958e
lea eax, [ebp - 0xf4]
push eax
call fcn.0109c5e0
push 0x101fad0
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.0109958e
lea eax, [ebp - 0xf4]
push eax
call fcn.0109b3d6
push 0x1006de8
push eax
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x9c], esp
push 0xff
push 1
push 0x824
jmp 0x107f121