Function at 0x1007b12
Capabilities:
Get disk information

Disassembly:
push 0x24
mov eax, 0x104325e
call fcn.010030e2
mov dword [ebp - 0x18], ecx
mov edi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 4], eax
mov eax, dword [edi]
mov eax, dword [eax - 0xc]
cmp eax, 1
mov dword [ebp - 0x20], edi
jl 0x101e69c
mov eax, dword [0x104a2b8]
push dword [eax - 0xc]
lea eax, [ebp - 0x2c]
push eax
mov ecx, edi
call fcn.01007a54
push dword [0x104a2b8]
mov ecx, eax
call fcn.01003222
mov ecx, dword [ebp - 0x2c]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
inc bl
call fcn.01002400
test bl, bl
jne 0x10087aa
mov eax, dword [0x104a2bc]
push dword [eax - 0xc]
lea eax, [ebp - 0x2c]
push eax
mov ecx, edi
call fcn.01007a54
push dword [0x104a2bc]
mov ecx, eax
call fcn.01003222
mov ecx, dword [ebp - 0x2c]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
inc bl
call fcn.01002400
test bl, bl
jne 0x101e6a8
mov eax, dword [edi]
mov ecx, dword [eax - 0xc]
push 3
pop esi
cmp ecx, esi
jle 0x1007bdb
cmp ecx, 1
jl 0x101e6e6
movzx edx, word [eax + 2]
cmp dx, 0x3a
je 0x101235e
cmp ecx, esi
je 0x101e6f0
xor ebx, ebx
inc ebx
push ebx
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call fcn.01007c9d
push 0x1002de8
push eax
mov byte [ebp - 4], 2
mov dword [ebp - 0x2c], ebx
call fcn.01007c7e
test al, al
je 0x1007e67
push ebx
lea eax, [ebp - 0x18]
push eax
mov ecx, edi
call fcn.01007c9d
push 0x1012248
push eax
mov ebx, esi
call fcn.01007c7e
test al, al
je 0x1007e67
push edi
call fcn.010050a3
mov byte [ebp - 0x21], 1
test eax, eax
jne 0x1007e67
test bl, 2
je 0x1007c50
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
and ebx, 0xfffffffd
call fcn.01002400
and dword [ebp - 4], 0
test bl, 1
je 0x1007c64
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.01002400
cmp byte [ebp - 0x21], 0
jne 0x10122b2
mov eax, dword [ebp - 0x28]
call fcn.01003122
ret 8
mov byte [ebp - 0x21], 0
jmp 0x1007c3d
mov eax, dword [0x104a2b8]
mov esi, dword [eax - 0xc]
mov eax, dword [edi]
mov eax, dword [eax - 0xc]
lea ebx, [esi + 1]
cmp eax, ebx
jl 0x101e6c0
push esi
mov ecx, edi
call fcn.0100323e
movzx eax, ax
push eax
call dword [sym.imp.msvcrt.dll_towupper]
movzx edi, ax
pop ecx
cmp di, 0x2a
je 0x10125e4
cmp di, 0x3f
je 0x10125e4
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx]
mov eax, dword [eax - 0xc]
add esi, 2
cmp eax, esi
jl 0x101e6cc
cmp di, 0x5a
ja 0x10125d8
cmp di, 0x41
jb 0x10125d8
xor esi, esi
cmp dword [ebp - 0x28], esi
jl 0x10125e4
push ebx
call fcn.0100323e
movzx eax, ax
cmp ax, 0x3a
jne 0x101e6da
cmp dword [ebp - 0x28], esi
jl 0x10125e4
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x5c], 0
jne 0x10125e4
cmp dword [ebp + 0xc], esi
je 0x10125e4
mov eax, dword [0x1008880]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x1008884]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
mov word [ebp - 0x1c], di
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov edi, dword [ebp - 0x20]
cmp eax, 3
je 0x1007bb6
jmp 0x101e6c0
push 0
push 0x5c
mov ecx, edi
mov dword [ebp - 0x20], 0x2f
call fcn.01012274
cmp eax, 0xffffffff
je 0x10122d0
push 0x5c
pop eax
mov word [ebp - 0x20], ax
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call fcn.010122e5
jmp 0x1007c6e
cmp ecx, 2
jl 0x101e6e6
movzx edx, word [eax + 4]
cmp dx, 0x5c
jne 0x1007bd9
cmp ecx, esi
jl 0x101e6e6
movzx edx, word [eax + 6]
cmp dx, 0x5c
je 0x1007bd9
test ecx, ecx
jl 0x101e6e6
movzx eax, word [eax]
push eax
call dword [sym.imp.msvcrt.dll_towupper]
movzx eax, ax
add eax, 0xffffffbf
pop ecx
cmp ax, 0x19
ja 0x1007be1
push edi
push 0x104a2b8
lea eax, [ebp - 0x18]
push eax
call fcn.01003909
push eax
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.01003fdf
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0
call fcn.01002400
jmp 0x1007be1
mov dword [ebp - 0x28], 0x80070057
jmp 0x1008813
mov edi, dword [ebp - 0x20]
jmp 0x1007bb6
mov dword [ebp - 0x28], 0x80070057
jmp 0x1007b40
push dword [0x104a2b8]
mov ecx, edi
push dword [0x104a2bc]
call fcn.0103970a
jmp 0x10087aa
mov dword [ebp - 0x28], 0x80070057
jmp 0x1007bb6
mov dword [ebp - 0x28], 0x80070057
mov edi, ecx
jmp 0x1007bb6
mov dword [ebp - 0x28], 0x80070057
jmp 0x1008831
push 0x80070057
call fcn.010244b5
cmp ecx, 1
jl 0x101e6e6
movzx edx, word [eax + 2]
cmp dx, 0x3a
jne 0x1007be1
cmp ecx, 2
jl 0x101e6e6
movzx edx, word [eax + 4]
cmp dx, 0x5c
je 0x101238b
jmp 0x1007be1