Function at 0x102d435
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.0102b096
test al, al
je 0x102d7c7
lea edi, [ebx + 0x28]
mov eax, dword [edi]
xor ecx, ecx
test eax, eax
je 0x102d46a
cmp word [eax], cx
setne cl
test cl, cl
je 0x102d7c7
push eax
call fcn.01032461
mov dword [ebp - 4], eax
test eax, eax
je 0x102d613
push 0x1002074
push eax
call fcn.0102990a
test al, al
jne 0x102d4a7
push 0x100206c
push dword [ebp - 4]
call fcn.0102990a
test al, al
je 0x102d613
push edi
lea ecx, [ebp - 0x44]
call fcn.0102a54b
lea ecx, [ebp - 0x20]
call fcn.0102994e
mov eax, dword [edi]
movzx edi, word [eax]
push 0x5c
pop eax
cmp ax, di
jne 0x102d4c8
push 0x42
pop edi
lea eax, [ebp - 0x20]
push eax
mov ecx, ebx
call fcn.0102ae9f
mov esi, eax
test esi, esi
jl 0x102d606
push 0x1001878
mov ecx, ebx
call fcn.0102cda3
mov esi, eax
test esi, esi
jl 0x102d606
lea ecx, [ebp - 0x14]
call fcn.0102994e
lea eax, [ebp - 0x14]
push eax
push 0
mov ecx, ebx
call fcn.0102ccf0
mov esi, eax
test esi, esi
jl 0x102d5fe
push dword [ebp - 0x14]
call fcn.0102b394
test eax, eax
je 0x102d547
push dword [ebp - 0x44]
mov ecx, ebx
call fcn.0102c034
lea ecx, [ebp - 0x14]
call fcn.0102a0ff
lea ecx, [ebp - 0x20]
call fcn.0102a0ff
lea ecx, [ebp - 0x44]
call fcn.0102a0ff
xor eax, eax
jmp 0x102d7c9
push 4
push 0x1002060
lea ecx, [ebp - 0x20]
or esi, 0xffffffff
call fcn.01029bf0
test eax, eax
jne 0x102d59e
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 0x102d59e
lea ecx, [ebp - 0x38]
call fcn.0102994e
mov eax, dword [ebp - 0x20]
add eax, 8
push esi
push eax
lea ecx, [ebp - 0x38]
call fcn.0102a151
test eax, eax
jl 0x102d596
lea ecx, [ebp - 0x38]
call fcn.01029ca5
mov esi, eax
lea ecx, [ebp - 0x38]
call fcn.0102a0ff
lea ecx, [ebp - 0x2c]
call fcn.0102994e
push dword [ebp - 0x14]
movzx eax, di
cmp esi, 0xffffffff
je 0x102d5cb
push esi
push eax
push 0x1001a9c
lea eax, [ebp - 0x2c]
push 0x100202c
push eax
call fcn.0102a3c0
add esp, 0x18
jmp 0x102d5e2
push eax
push 0x1001a9c
lea eax, [ebp - 0x2c]
push 0x1002000
push eax
call fcn.0102a3c0
add esp, 0x14
mov esi, eax
test esi, esi
jl 0x102d5f6
push dword [ebp - 0x2c]
mov ecx, ebx
push 1
call fcn.0102d35e
mov esi, eax
lea ecx, [ebp - 0x2c]
call fcn.0102a0ff
lea ecx, [ebp - 0x14]
call fcn.0102a0ff
lea ecx, [ebp - 0x20]
call fcn.0102a0ff
jmp 0x102d7bf
mov ecx, ebx
call fcn.0102becf
cmp eax, 4
jne 0x102d74b
push dword [edi]
call fcn.01031a39
test al, al
je 0x102d74b
lea ecx, [ebp - 0x20]
call fcn.0102994e
lea ecx, [ebp - 0x14]
call fcn.0102994e
mov eax, dword [edi]
push 2
push eax
lea ecx, [ebp - 0x20]
call fcn.0102a151
mov esi, eax
test esi, esi
jl 0x102d73e
mov ebx, 0x104
push ebx
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
call fcn.0102a109
mov esi, eax
test esi, esi
jl 0x102d73e
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x14]
push dword [ebp - 0x20]
call sub.MPR.dll_WNetGetConnectionW
cmp eax, 0xea
jne 0x102d6b0
push dword [ebp - 4]
lea ecx, [ebp - 0x14]
call fcn.0102a109
mov esi, eax
test esi, esi
jl 0x102d73e
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x14]
push dword [ebp - 0x20]
call sub.MPR.dll_WNetGetConnectionW
jmp 0x102d6d5
test eax, eax
je 0x102d717
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 0x102d6e5
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x102d6d7
push 0x57
pop eax
test eax, eax
jle 0x102d70e
and eax, 0xffff
or eax, 0x80070000
jmp 0x102d70e
push 0x1001ff0
lea ecx, [ebp - 0x14]
call fcn.01029aba
test eax, eax
jne 0x102d712
mov eax, dword [ebp - 0x14]
add eax, 0xe
push eax
lea eax, [ebp - 0x14]
push 0x1001fe8
push eax
call fcn.0102a3c0
add esp, 0xc
mov esi, eax
jmp 0x102d717
mov esi, 0xc00d1327
test esi, esi
jl 0x102d73e
mov eax, dword [edi]
add eax, 4
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x14]
call fcn.0102a213
mov esi, eax
test esi, esi
jl 0x102d73e
push dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
call fcn.0102c034
mov esi, eax
lea ecx, [ebp - 0x14]
call fcn.0102a0ff
lea ecx, [ebp - 0x20]
jmp 0x102d7c2
cmp dword [ebp - 4], esi
je 0x102d7c7
push 0x1001fe0
push dword [ebp - 4]
call fcn.0102990a
test al, al
je 0x102d7c7
mov edi, dword [edi]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
push eax
push edi
mov ecx, ebx
call fcn.0102a9c3
mov esi, eax
test esi, esi
jl 0x102d7c7
push 0xffffffffffffffff
push 0x1001a74
lea ecx, [ebx + 0x1c]
call fcn.0102a151
mov esi, eax
test esi, esi
jl 0x102d7c7
lea ecx, [ebp - 0x44]
call fcn.0102994e
push dword [ebp - 8]
lea eax, [ebp - 0x44]
push dword [ebp - 4]
push 0x1001fd4
push eax
call fcn.0102a3c0
mov esi, eax
add esp, 0x10
test esi, esi
jl 0x102d7bf
push dword [ebp - 0x44]
mov ecx, ebx
call fcn.0102c034
mov esi, eax
lea ecx, [ebp - 0x44]
call fcn.0102a0ff
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret