Function at 0x100a4a5
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x101a094]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov ebx, ecx
mov edi, 0x1001794
push edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x18], ebx
call fcn.01009627
test al, al
jne 0x100a4e6
push 0x10017f8
mov ecx, ebx
call fcn.01009627
test al, al
mov dword [ebp - 0x14], 0x800
je 0x100a4ed
mov dword [ebp - 0x14], 0x104
push esi
call dword [sym.imp.msvcrt.dll_wcslen]
cmp eax, dword [ebp - 0x14]
pop ecx
jae 0x100a79e
push dword [ebx + 0x1c]
call fcn.0100e622
and word [ebp - 8], 0
push edi
mov ecx, ebx
mov word [ebp - 0x10], ax
mov word [ebp - 0xe], 0x2e
mov dword [ebp - 0x14], eax
mov word [ebp - 0xc], 0x2e
mov word [ebp - 0xa], ax
call fcn.01009627
test al, al
mov ebx, dword [sym.imp.msvcrt.dll_wcsncmp]
je 0x100a5a5
push 0x1001ef0
push esi
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
je 0x100a59b
push 3
lea eax, [ebp - 0xe]
push eax
push esi
call ebx
add esp, 0xc
test eax, eax
je 0x100a59b
lea eax, [ebp - 0x10]
push eax
push esi
call dword [sym.imp.msvcrt.dll_wcsstr]
test eax, eax
pop ecx
pop ecx
jne 0x100a59b
push esi
call dword [sym.imp.msvcrt.dll_wcslen]
cmp eax, 3
pop ecx
jb 0x100a594
push 3
lea eax, [ebp - 0x10]
push eax
push esi
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea eax, [esi + eax*2 - 6]
push eax
call ebx
add esp, 0xc
neg eax
sbb eax, eax
neg eax
jmp 0x100a597
xor eax, eax
inc eax
test eax, eax
jne 0x100a5a5
mov ebx, 0xc00d132b
jmp 0x100a7a3
push edi
mov edi, dword [ebp - 0x18]
mov ecx, edi
call fcn.01009627
test al, al
je 0x100a5d7
push esi
call fcn.0100ec9f
test al, al
je 0x100a60c
push 4
push 0x1001ee4
push esi
call ebx
add esp, 0xc
test eax, eax
je 0x100a60c
add esi, 4
jmp 0x100a77d
push 0x10017c0
mov ecx, edi
call fcn.01009627
test al, al
je 0x100a63d
mov edi, dword [sym.imp.msvcrt.dll_iswdigit]
jmp 0x100a5f1
inc esi
inc esi
xor eax, eax
mov ax, word [esi]
push eax
call edi
test eax, eax
pop ecx
jne 0x100a5ef
mov ax, word [esi]
cmp ax, word [ebp - 0x14]
je 0x100a616
test ax, ax
je 0x100a62a
mov ebx, 0xc00d1327
jmp 0x100a7a3
test ax, ax
je 0x100a62a
inc esi
xor eax, eax
inc esi
mov ax, word [esi]
push eax
call edi
test eax, eax
pop ecx
jne 0x100a61b
mov bx, word [esi]
neg bx
sbb ebx, ebx
and ebx, 0xc00d1327
jmp 0x100a786
push 0x10017b8
mov ecx, edi
call fcn.01009627
test al, al
jne 0x100a77d
push 0x10017e8
mov ecx, edi
call fcn.01009627
test al, al
je 0x100a6d8
mov ax, word [esi]
cmp ax, 0x41
mov ebx, 0xc00d1327
jb 0x100a675
cmp ax, 0x5a
jbe 0x100a689
cmp ax, 0x61
jb 0x100a7a3
cmp ax, 0x7a
ja 0x100a7a3
mov ax, word [esi + 2]
cmp ax, word [ebp - 0x14]
jne 0x100a6d3
mov edi, dword [sym.imp.msvcrt.dll_iswdigit]
add esi, 4
jmp 0x100a6a0
inc esi
inc esi
xor eax, eax
mov ax, word [esi]
push eax
call edi
test eax, eax
pop ecx
jne 0x100a69e
mov ax, word [esi]
cmp ax, word [ebp - 0x14]
jne 0x100a6d3
inc esi
xor eax, eax
inc esi
mov ax, word [esi]
push eax
call edi
test eax, eax
pop ecx
jne 0x100a6b6
cmp word [esi], ax
jne 0x100a7a3
jmp 0x100a77d
test ax, ax
jmp 0x100a6c8
push 0x10017f8
mov ecx, edi
call fcn.01009627
test al, al
je 0x100a774
lea ecx, [ebp - 0x30]
mov ebx, 0xc00d1327
call fcn.01008904
push 3
push esi
lea ecx, [ebp - 0x30]
call fcn.01008eee
test eax, eax
jl 0x100a76a
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 5
jne 0x100a76a
push 0x1003068
lea ecx, [ebp - 0x3c]
call fcn.010092ff
push esi
lea ecx, [ebp - 0x24]
call fcn.010092ff
lea ecx, [ebp - 0x3c]
call fcn.010089be
mov edi, eax
inc edi
lea ecx, [ebp - 0x24]
inc edi
call fcn.010089be
cmp eax, edi
jne 0x100a75a
push 2
push 0x1003068
lea ecx, [ebp - 0x24]
call fcn.01008a5e
cmp eax, 2
jne 0x100a75a
xor ebx, ebx
lea ecx, [ebp - 0x24]
call fcn.01008e9a
lea ecx, [ebp - 0x3c]
call fcn.01008e9a
lea ecx, [ebp - 0x30]
call fcn.01008e9a
jmp 0x100a786
mov ax, word [ebp - 0x14]
cmp word [esi], ax
jne 0x100a781
xor ebx, ebx
jmp 0x100a78a
mov ebx, 0xc00d1327
test ebx, ebx
jl 0x100a7a3
mov ecx, dword [ebp - 0x18]
push esi
call fcn.01009a60
test eax, eax
je 0x100a7a3
mov ebx, 0xc00d1325
jmp 0x100a7a3
mov ebx, 0xc00d1355
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
pop ebx
call fcn.0100829a
leave
ret 4