Function at 0x102d445
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
push esi
push edi
mov ebx, ecx
push 0x1001a3c
mov dword [ebp - 8], ebx
xor esi, esi
call fcn.0102b0a6
test al, al
je 0x102d7d7
lea edi, [ebx + 0x28]
mov eax, dword [edi]
xor ecx, ecx
test eax, eax
je 0x102d47a
cmp word [eax], cx
setne cl
test cl, cl
je 0x102d7d7
push eax
call fcn.01032471
mov dword [ebp - 4], eax
test eax, eax
je 0x102d623
push 0x1002074
push eax
call fcn.0102991a
test al, al
jne 0x102d4b7
push 0x100206c
push dword [ebp - 4]
call fcn.0102991a
test al, al
je 0x102d623
push edi
lea ecx, [ebp - 0x44]
call fcn.0102a55b
lea ecx, [ebp - 0x20]
call fcn.0102995e
mov eax, dword [edi]
movzx edi, word [eax]
push 0x5c
pop eax
cmp ax, di
jne 0x102d4d8
push 0x42
pop edi
lea eax, [ebp - 0x20]
push eax
mov ecx, ebx
call fcn.0102aeaf
mov esi, eax
test esi, esi
jl 0x102d616
push 0x1001878
mov ecx, ebx
call fcn.0102cdb3
mov esi, eax
test esi, esi
jl 0x102d616
lea ecx, [ebp - 0x14]
call fcn.0102995e
lea eax, [ebp - 0x14]
push eax
push 0
mov ecx, ebx
call fcn.0102cd00
mov esi, eax
test esi, esi
jl 0x102d60e
push dword [ebp - 0x14]
call fcn.0102b3a4
test eax, eax
je 0x102d557
push dword [ebp - 0x44]
mov ecx, ebx
call fcn.0102c044
lea ecx, [ebp - 0x14]
call fcn.0102a10f
lea ecx, [ebp - 0x20]
call fcn.0102a10f
lea ecx, [ebp - 0x44]
call fcn.0102a10f
xor eax, eax
jmp 0x102d7d9
push 4
push 0x1002060
lea ecx, [ebp - 0x20]
or esi, 0xffffffff
call fcn.01029c00
test eax, eax
jne 0x102d5ae
mov eax, dword [ebp - 0x20]
movzx eax, word [eax + 8]
push eax
call dword [sym.imp.msvcrt.dll_iswdigit]
pop ecx
test eax, eax
je 0x102d5ae
lea ecx, [ebp - 0x38]
call fcn.0102995e
mov eax, dword [ebp - 0x20]
add eax, 8
push esi
push eax
lea ecx, [ebp - 0x38]
call fcn.0102a161
test eax, eax
jl 0x102d5a6
lea ecx, [ebp - 0x38]
call fcn.01029cb5
mov esi, eax
lea ecx, [ebp - 0x38]
call fcn.0102a10f
lea ecx, [ebp - 0x2c]
call fcn.0102995e
push dword [ebp - 0x14]
movzx eax, di
cmp esi, 0xffffffff
je 0x102d5db
push esi
push eax
push 0x1001a9c
lea eax, [ebp - 0x2c]
push 0x100202c
push eax
call fcn.0102a3d0
add esp, 0x18
jmp 0x102d5f2
push eax
push 0x1001a9c
lea eax, [ebp - 0x2c]
push 0x1002000
push eax
call fcn.0102a3d0
add esp, 0x14
mov esi, eax
test esi, esi
jl 0x102d606
push dword [ebp - 0x2c]
mov ecx, ebx
push 1
call fcn.0102d36e
mov esi, eax
lea ecx, [ebp - 0x2c]
call fcn.0102a10f
lea ecx, [ebp - 0x14]
call fcn.0102a10f
lea ecx, [ebp - 0x20]
call fcn.0102a10f
jmp 0x102d7cf
mov ecx, ebx
call fcn.0102bedf
cmp eax, 4
jne 0x102d75b
push dword [edi]
call fcn.01031a49
test al, al
je 0x102d75b
lea ecx, [ebp - 0x20]
call fcn.0102995e
lea ecx, [ebp - 0x14]
call fcn.0102995e
mov eax, dword [edi]
push 2
push eax
lea ecx, [ebp - 0x20]
call fcn.0102a161
mov esi, eax
test esi, esi
jl 0x102d74e
mov ebx, 0x104
push ebx
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call fcn.0102a119
mov esi, eax
test esi, esi
jl 0x102d74e
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x14]
push dword [ebp - 0x20]
call sub.MPR.dll_WNetGetConnectionW
cmp eax, 0xea
jne 0x102d6c0
push dword [ebp - 4]
lea ecx, [ebp - 0x14]
call fcn.0102a119
mov esi, eax
test esi, esi
jl 0x102d74e
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x14]
push dword [ebp - 0x20]
call sub.MPR.dll_WNetGetConnectionW
jmp 0x102d6e5
test eax, eax
je 0x102d727
push ebx
push dword [ebp - 0x14]
mov dword [ebp - 4], ebx
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
jne 0x102d6f5
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x102d6e7
push 0x57
pop eax
test eax, eax
jle 0x102d71e
and eax, 0xffff
or eax, 0x80070000
jmp 0x102d71e
push 0x1001ff0
lea ecx, [ebp - 0x14]
call fcn.01029aca
test eax, eax
jne 0x102d722
mov eax, dword [ebp - 0x14]
add eax, 0xe
push eax
lea eax, [ebp - 0x14]
push 0x1001fe8
push eax
call fcn.0102a3d0
add esp, 0xc
mov esi, eax
jmp 0x102d727
mov esi, 0xc00d1327
test esi, esi
jl 0x102d74e
mov eax, dword [edi]
add eax, 4
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x14]
call fcn.0102a223
mov esi, eax
test esi, esi
jl 0x102d74e
push dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
call fcn.0102c044
mov esi, eax
lea ecx, [ebp - 0x14]
call fcn.0102a10f
lea ecx, [ebp - 0x20]
jmp 0x102d7d2
cmp dword [ebp - 4], esi
je 0x102d7d7
push 0x1001fe0
push dword [ebp - 4]
call fcn.0102991a
test al, al
je 0x102d7d7
mov edi, dword [edi]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
push eax
push edi
mov ecx, ebx
call fcn.0102a9d3
mov esi, eax
test esi, esi
jl 0x102d7d7
push 0xffffffffffffffff
push 0x1001a74
lea ecx, [ebx + 0x1c]
call fcn.0102a161
mov esi, eax
test esi, esi
jl 0x102d7d7
lea ecx, [ebp - 0x44]
call fcn.0102995e
push dword [ebp - 8]
lea eax, [ebp - 0x44]
push dword [ebp - 4]
push 0x1001fd4
push eax
call fcn.0102a3d0
mov esi, eax
add esp, 0x10
test esi, esi
jl 0x102d7cf
push dword [ebp - 0x44]
mov ecx, ebx
call fcn.0102c044
mov esi, eax
lea ecx, [ebp - 0x44]
call fcn.0102a10f
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret