Function at 0x102b728
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x1034060]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov ebx, 0x1001a3c
push ebx
mov dword [ebp - 0x18], edi
call fcn.0102b0a6
test al, al
jne 0x102b76b
push 0x1001aac
mov ecx, edi
call fcn.0102b0a6
mov dword [ebp - 0x14], 0x800
test al, al
je 0x102b772
mov dword [ebp - 0x14], 0x104
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x102b777
sub eax, edx
sar eax, 1
cmp eax, dword [ebp - 0x14]
jae 0x102baa3
push dword [edi + 0x1c]
call fcn.010319c5
mov ecx, dword [ebp - 0x18]
movzx edi, ax
push 0x2e
pop eax
mov word [ebp - 0xe], ax
mov word [ebp - 0xc], ax
xor eax, eax
push ebx
mov dword [ebp - 0x14], edi
mov word [ebp - 0x10], di
mov word [ebp - 0xa], di
mov word [ebp - 8], ax
call fcn.0102b0a6
mov ebx, dword [sym.imp.msvcrt.dll_wcsncmp]
test al, al
je 0x102b877
mov ecx, 0x1001dd0
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x102b7f9
test dx, dx
je 0x102b7f5
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x102b7f9
add eax, 4
add ecx, 4
test dx, dx
jne 0x102b7d3
xor eax, eax
jmp 0x102b7fe
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x102b86d
push 3
lea eax, [ebp - 0xe]
push eax
push esi
call ebx
add esp, 0xc
test eax, eax
je 0x102b86d
lea eax, [ebp - 0x10]
push eax
push esi
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
jne 0x102b86d
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x102b828
sub eax, edx
sar eax, 1
cmp eax, 3
jb 0x102b866
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x102b840
sub eax, edx
sar eax, 1
push 3
lea ecx, [ebp - 0x10]
push ecx
lea eax, [esi + eax*2 - 6]
push eax
call ebx
add esp, 0xc
neg eax
sbb eax, eax
neg eax
jmp 0x102b869
xor eax, eax
inc eax
test eax, eax
jne 0x102b877
mov ebx, 0xc00d132b
jmp 0x102baa8
mov ecx, dword [ebp - 0x18]
push 0x1001a3c
call fcn.0102b0a6
test al, al
je 0x102b8ad
push esi
call fcn.01031ec8
test al, al
je 0x102b8e2
push 4
push 0x1001dc4
push esi
call ebx
add esp, 0xc
test eax, eax
je 0x102b8e2
add esi, 4
xor ebx, ebx
jmp 0x102ba8f
mov ebx, dword [ebp - 0x18]
push 0x1001a74
mov ecx, ebx
call fcn.0102b0a6
test al, al
je 0x102b910
mov ebx, dword [sym.imp.msvcrt.dll_iswdigit]
jmp 0x102b8ca
inc esi
inc esi
movzx eax, word [esi]
push eax
call ebx
pop ecx
test eax, eax
jne 0x102b8c8
movzx eax, word [esi]
cmp ax, di
je 0x102b8ec
test ax, ax
je 0x102b8fe
mov ebx, 0xc00d1327
jmp 0x102baa8
test ax, ax
je 0x102b8fe
inc esi
inc esi
movzx eax, word [esi]
push eax
call ebx
pop ecx
test eax, eax
jne 0x102b8f1
movzx ebx, word [esi]
neg ebx
sbb ebx, ebx
and ebx, 0xc00d1327
jmp 0x102ba8b
push 0x1001a6c
mov ecx, ebx
call fcn.0102b0a6
test al, al
jne 0x102b8a6
push 0x1001a9c
mov ecx, ebx
call fcn.0102b0a6
test al, al
je 0x102b9a3
movzx eax, word [esi]
mov ebx, 0xc00d1327
cmp ax, 0x41
jb 0x102b944
cmp ax, 0x5a
jbe 0x102b958
cmp ax, 0x61
jb 0x102baa8
cmp ax, 0x7a
ja 0x102baa8
movzx eax, word [esi + 2]
cmp ax, di
jne 0x102b99e
mov edi, dword [sym.imp.msvcrt.dll_iswdigit]
add esi, 4
jmp 0x102b96e
inc esi
inc esi
movzx eax, word [esi]
push eax
call edi
pop ecx
test eax, eax
jne 0x102b96c
movzx eax, word [esi]
cmp ax, word [ebp - 0x14]
jne 0x102b99e
inc esi
inc esi
movzx eax, word [esi]
push eax
call edi
pop ecx
test eax, eax
jne 0x102b982
cmp word [esi], 0
jne 0x102baa8
jmp 0x102b8a6
test ax, ax
jmp 0x102b993
push 0x1001aac
mov ecx, ebx
call fcn.0102b0a6
test al, al
je 0x102ba3f
lea ecx, [ebp - 0x30]
mov ebx, 0xc00d1327
call fcn.0102995e
push 3
push esi
lea ecx, [ebp - 0x30]
call fcn.0102a161
test eax, eax
jl 0x102ba35
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 5
jne 0x102ba35
mov edi, 0x10038b0
push edi
lea ecx, [ebp - 0x3c]
call fcn.0102a4e2
push esi
lea ecx, [ebp - 0x24]
call fcn.0102a4e2
lea ecx, [ebp - 0x3c]
call fcn.01029a29
add eax, 2
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x14], eax
call fcn.01029a29
cmp eax, dword [ebp - 0x14]
jne 0x102ba25
push 2
push edi
lea ecx, [ebp - 0x24]
call fcn.01029b83
cmp eax, 2
jne 0x102ba25
xor ebx, ebx
lea ecx, [ebp - 0x24]
call fcn.0102a10f
lea ecx, [ebp - 0x3c]
call fcn.0102a10f
lea ecx, [ebp - 0x30]
call fcn.0102a10f
jmp 0x102ba8b
push 0x1001ae8
mov ecx, ebx
call fcn.0102b0a6
test al, al
jne 0x102ba6d
push 0x1001b08
mov ecx, ebx
call fcn.0102b0a6
test al, al
jne 0x102ba6d
cmp word [esi], di
jne 0x102b8e2
jmp 0x102b8a6
push 4
push 0x1001db8
push esi
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
je 0x102b8a6
mov ebx, 0xc00d1327
test ebx, ebx
jl 0x102baa8
mov ecx, dword [ebp - 0x18]
push esi
call fcn.0102b6a0
test eax, eax
je 0x102baa8
mov ebx, 0xc00d1325
jmp 0x102baa8
mov ebx, 0xc00d1331
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.0102907f
leave
ret 4