Function at 0x100866f
Capabilities:
Get disk information

Disassembly:
push 0x18
mov eax, 0x1044e41
call fcn.01001630
push dword [ebp + 8]
lea ecx, [ebp - 0x14]
call fcn.01003e4b
mov eax, dword [0x104a2bc]
push dword [eax - 0xc]
and dword [ebp - 4], 0
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x14]
call fcn.01007a54
push dword [0x104a2bc]
mov ecx, eax
call fcn.01003222
mov ecx, dword [ebp - 0x20]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
inc bl
call fcn.01002400
test bl, bl
jne 0x100891f
mov edi, dword [ebp - 0x14]
mov eax, dword [edi - 0xc]
test eax, eax
jle 0x10086dd
movzx eax, word [edi]
cmp ax, 0x2f
je 0x100894e
push edi
call dword [sym.imp.SHLWAPI.dll_PathIsUNCW]
test eax, eax
jne 0x1008941
push edi
call dword [sym.imp.SHLWAPI.dll_PathIsUNCServerW]
test eax, eax
jne 0x1008941
push edi
call dword [sym.imp.SHLWAPI.dll_PathIsUNCServerShareW]
test eax, eax
jne 0x1008941
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x18]
call fcn.01003e4b
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.01008759
mov ebx, dword [ebp - 0x18]
push ebx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 4
je 0x101ffab
mov byte [ebp + 0xb], 0
lea ecx, [ebx - 0x10]
call fcn.01002400
lea ecx, [edi - 0x10]
call fcn.01002400
mov al, byte [ebp + 0xb]
call fcn.01001600
ret 4
mov eax, dword [ebp - 0x14]
mov eax, dword [eax - 0xc]
mov ecx, dword [0x104a2bc]
sub eax, dword [ecx - 0xc]
lea ecx, [ebp - 0x14]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.01007c9d
mov byte [ebp - 4], 1
jmp 0x1008963
lea ecx, [edi - 0x10]
call fcn.01002400
jmp 0x1020053
mov edi, dword [edi - 0xc]
dec edi
push edi
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x14]
call fcn.01007c9d
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x14]
call fcn.01003ffb
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0
call fcn.01002400
jmp 0x10086c6
push 1
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
call fcn.01007c9d
mov esi, 0x1002de8
push esi
push eax
call fcn.01004551
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov byte [ebp - 0xd], al
call fcn.01002400
cmp byte [ebp - 0xd], 0
je 0x102002f
mov eax, dword [ebx - 0xc]
dec eax
push eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x18]
call fcn.01007a54
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 4
call fcn.01003ffb
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
mov byte [ebp - 4], 3
call fcn.01002400
push 1
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x18]
call fcn.01007c9d
push esi
push eax
call fcn.01004551
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov bl, al
call fcn.01002400
test bl, bl
mov ebx, dword [ebp - 0x18]
jne 0x101ffd9
and dword [ebp - 0x20], 0
lea eax, [ebp - 0x20]
push eax
push 0
push ebx
call sub.MPR.dll_WNetGetConnectionW
cmp eax, 0xea
je 0x102005a
lea ecx, [ebx - 0x10]
call fcn.01002400
jmp 0x1008941
xor al, al
jmp 0x100874c
push 0x104a154
lea ecx, [ebp - 0x1c]
call fcn.010038e0
mov eax, dword [ebp - 0x20]
inc eax
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.01003d77
lea ecx, [ebp - 0x20]
push ecx
push eax
push ebx
call sub.MPR.dll_WNetGetConnectionW
test eax, eax
je 0x102009b
mov byte [ebp + 0xb], 0
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.01002400
jmp 0x1008739
push 0xffffffffffffffff
lea ecx, [ebp - 0x1c]
call fcn.01008785
push edi
call dword [sym.imp.SHLWAPI.dll_PathSkipRootW]
sub eax, edi
sar eax, 1
push eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x14]
call fcn.010398ea
push dword [eax]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 6
call fcn.0103c9e3
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
mov byte [ebp - 4], 5
call fcn.01002400
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x1c]
push eax
call fcn.01003ffb
mov byte [ebp + 0xb], 1
jmp 0x102008b