Function at 0x101da15
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x10570e4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov ebx, 0x1004078
push ebx
mov dword [ebp - 0x18], edi
call fcn.0101d677
test al, al
jne 0x101da58
push 0x10040dc
mov ecx, edi
call fcn.0101d677
test al, al
mov dword [ebp - 0x14], 0x800
je 0x101da5f
mov dword [ebp - 0x14], 0x104
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x101da64
sub eax, edx
sar eax, 1
cmp eax, dword [ebp - 0x14]
jae 0x101dd53
push dword [edi + 0x1c]
call fcn.0103d66d
mov ecx, dword [ebp - 0x18]
and word [ebp - 8], 0
movzx edi, ax
push ebx
mov dword [ebp - 0x14], edi
mov word [ebp - 0x10], di
mov word [ebp - 0xe], 0x2e
mov word [ebp - 0xc], 0x2e
mov word [ebp - 0xa], di
call fcn.0101d677
test al, al
mov ebx, dword [sym.imp.msvcrt.dll_wcsncmp]
je 0x101db64
mov ecx, 0x1004188
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x101dae6
test dx, dx
je 0x101dae2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x101dae6
add eax, 4
add ecx, 4
test dx, dx
jne 0x101dac0
xor eax, eax
jmp 0x101daeb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x101db5a
push 3
lea eax, [ebp - 0xe]
push eax
push esi
call ebx
add esp, 0xc
test eax, eax
je 0x101db5a
lea eax, [ebp - 0x10]
push eax
push esi
call dword [sym.imp.msvcrt.dll_wcsstr]
test eax, eax
pop ecx
pop ecx
jne 0x101db5a
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x101db15
sub eax, edx
sar eax, 1
cmp eax, 3
jb 0x101db53
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x101db2d
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 0x101db56
xor eax, eax
inc eax
test eax, eax
jne 0x101db64
mov ebx, 0xc00d132b
jmp 0x101dd58
mov ecx, dword [ebp - 0x18]
push 0x1004078
call fcn.0101d677
test al, al
je 0x101db9a
push esi
call fcn.0103db66
test al, al
je 0x101dbcf
push 4
push 0x100417c
push esi
call ebx
add esp, 0xc
test eax, eax
je 0x101dbcf
add esi, 4
xor ebx, ebx
jmp 0x101dd3f
mov ebx, dword [ebp - 0x18]
push 0x10040a4
mov ecx, ebx
call fcn.0101d677
test al, al
je 0x101dbfe
mov ebx, dword [sym.imp.msvcrt.dll_iswdigit]
jmp 0x101dbb7
inc esi
inc esi
movzx eax, word [esi]
push eax
call ebx
test eax, eax
pop ecx
jne 0x101dbb5
movzx eax, word [esi]
cmp ax, di
je 0x101dbd9
test ax, ax
je 0x101dbeb
mov ebx, 0xc00d1327
jmp 0x101dd58
test ax, ax
je 0x101dbeb
inc esi
inc esi
movzx eax, word [esi]
push eax
call ebx
test eax, eax
pop ecx
jne 0x101dbde
mov bx, word [esi]
neg bx
sbb ebx, ebx
and ebx, 0xc00d1327
jmp 0x101dd3b
push 0x100409c
mov ecx, ebx
call fcn.0101d677
test al, al
jne 0x101db93
push 0x10040cc
mov ecx, ebx
call fcn.0101d677
test al, al
je 0x101dc91
movzx eax, word [esi]
cmp ax, 0x41
mov ebx, 0xc00d1327
jb 0x101dc32
cmp ax, 0x5a
jbe 0x101dc46
cmp ax, 0x61
jb 0x101dd58
cmp ax, 0x7a
ja 0x101dd58
movzx eax, word [esi + 2]
cmp ax, di
jne 0x101dc8c
mov edi, dword [sym.imp.msvcrt.dll_iswdigit]
add esi, 4
jmp 0x101dc5c
inc esi
inc esi
movzx eax, word [esi]
push eax
call edi
test eax, eax
pop ecx
jne 0x101dc5a
movzx eax, word [esi]
cmp ax, word [ebp - 0x14]
jne 0x101dc8c
inc esi
inc esi
movzx eax, word [esi]
push eax
call edi
test eax, eax
pop ecx
jne 0x101dc70
cmp word [esi], 0
jne 0x101dd58
jmp 0x101db93
test ax, ax
jmp 0x101dc81
push 0x10040dc
mov ecx, ebx
call fcn.0101d677
test al, al
je 0x101dd2d
lea ecx, [ebp - 0x30]
mov ebx, 0xc00d1327
call fcn.01019631
push 3
push esi
lea ecx, [ebp - 0x30]
call fcn.01019f85
test eax, eax
jl 0x101dd23
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 5
jne 0x101dd23
mov edi, 0x1005e10
push edi
lea ecx, [ebp - 0x3c]
call fcn.0101a516
push esi
lea ecx, [ebp - 0x24]
call fcn.0101a516
lea ecx, [ebp - 0x3c]
call fcn.010196f9
add eax, 2
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x14], eax
call fcn.010196f9
cmp eax, dword [ebp - 0x14]
jne 0x101dd13
push 2
push edi
lea ecx, [ebp - 0x24]
call fcn.010198b0
cmp eax, 2
jne 0x101dd13
xor ebx, ebx
lea ecx, [ebp - 0x24]
call fcn.01019f33
lea ecx, [ebp - 0x3c]
call fcn.01019f33
lea ecx, [ebp - 0x30]
call fcn.01019f33
jmp 0x101dd3b
cmp word [esi], di
je 0x101db93
mov ebx, 0xc00d1327
test ebx, ebx
jl 0x101dd58
mov ecx, dword [ebp - 0x18]
push esi
call fcn.0101d98d
test eax, eax
je 0x101dd58
mov ebx, 0xc00d1325
jmp 0x101dd58
mov ebx, 0xc00d1331
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.0101897b
leave
ret 4