Function at 0x14007a5a8
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
call fcn.140017b48
lea rcx, [rsp + 0xd8]
call fcn.1400598f0
mov rbx, qword [rsp + 0xd8]
mov edx, 0x2c
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrChrW]
xor edi, edi
mov bpl, dil
lea r15d, [rdi + 1]
cmp rax, rdi
je 0x14007a65f
mov word [rax], di
add rax, 2
lea rcx, [rsp + 0xe8]
mov qword [rsp + 0xe8], rax
call fcn.1400598f0
mov rcx, qword [rsp + 0xe8]
movzx eax, word [rcx]
mov ecx, 0xffdf
and ax, cx
cmp ax, 0x52
jne 0x14007a634
mov bpl, 2
jmp 0x14007a65f
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0xe8]
mov dword [rsp + 0xe0], edi
call fcn.140066a7c
cmp dword [rsp + 0xe0], edi
movzx ebp, bpl
cmovne ebp, r15d
or r12d, 0xffffffff
cmp word [rbx], 0x43
mov r13w, di
mov r14w, di
movzx esi, di
mov dword [rsp + 0xe0], r12d
jne 0x14007a688
cmp word [rbx + 2], 0x2d
jne 0x14007a688
mov r13d, r15d
jmp 0x14007a6d1
cmp word [rbx], 0x55
jne 0x14007a69a
cmp word [rbx + 2], 0x2d
jne 0x14007a69a
mov r14d, r15d
jmp 0x14007a6d1
cmp word [rbx], di
je 0x14007a6d1
cmp word [rbx + 2], 0x3a
cmove si, word [rbx]
cmp word [rbx], 0x30
jb 0x14007a6d1
cmp word [rbx], 0x39
ja 0x14007a6d1
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0xd8]
call fcn.140066a7c
mov r12d, dword [rsp + 0xe0]
cmp r12d, edi
lea rbx, [0x140000000]
lea rcx, [rsp + 0x40]
mov rax, qword [rbx + 0x121c50]
mov qword [rcx], rax
mov rax, qword [rbx + 0x121c58]
mov qword [rcx + 8], rax
mov eax, dword [rbx + 0x121c60]
mov dword [rcx + 0x10], eax
mov rax, qword [rbx + 0x119e50]
lea rcx, [rsp + 0x20]
mov qword [rcx], rax
mov eax, dword [rbx + 0x119e58]
mov dword [rcx + 8], eax
jl 0x14007a894
mov edx, r12d
movzx ecx, si
call fcn.14007a508
cmp r13w, di
jne 0x14007a73a
cmp r14w, di
je 0x14007a91b
mov bpl, dil
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov byte [rsp + 0x70], dil
mov sil, dil
mov r15d, eax
xor eax, eax
lea r12, [rsp + 0x70]
mov qword [rsp + 0x71], rax
mov qword [rsp + 0x79], rax
mov qword [rsp + 0x81], rax
mov byte [rsp + 0x89], al
movzx eax, sil
bt r15d, eax
jae 0x14007a855
mov rax, qword [rbx + 0x121c50]
lea rcx, [rsp + 0x58]
mov qword [rcx], rax
mov rax, qword [rbx + 0x121c58]
mov qword [rcx + 8], rax
mov eax, dword [rbx + 0x121c60]
mov dword [rcx + 0x10], eax
mov rax, qword [rbx + 0x119e50]
lea rcx, [rsp + 0x30]
mov qword [rcx], rax
mov eax, dword [rbx + 0x119e58]
mov dword [rcx + 8], eax
movsx eax, sil
lea rcx, [rsp + 0x30]
add ax, 0x41
mov word [rsp + 0x60], ax
mov word [rsp + 0x30], ax
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp sil, 2
mov ebx, eax
jge 0x14007a7de
cmp eax, 2
je 0x14007a84e
cmp r14w, di
je 0x14007a7ef
cmp eax, 5
jne 0x14007a7f4
cmp bpl, 2
jne 0x14007a84e
cmp eax, 5
je 0x14007a7fe
cmp eax, 2
je 0x14007a7fe
cmp eax, 3
jne 0x14007a84e
cmp r13w, di
je 0x14007a809
cmp eax, 5
jne 0x14007a84e
lea rcx, [rsp + 0x58]
xor edx, edx
call fcn.140064b20
cmp r14w, di
je 0x14007a830
cmp eax, 7
jne 0x14007a84e
cmp ebx, 5
jne 0x14007a82b
cmp bpl, 2
jne 0x14007a84e
mov byte [r12], 0x45
cmp r13w, di
je 0x14007a84e
cmp ebx, 5
jne 0x14007a84e
cmp bpl, 2
jne 0x14007a848
cmp eax, 7
mov al, 0x45
je 0x14007a84a
mov al, 0x43
mov byte [r12], al
lea rbx, [0x140000000]
inc sil
inc r12
cmp sil, 0x1a
jl 0x14007a76b
mov bl, dil
lea rsi, [rsp + 0x70]
cmp byte [rsi], 0x43
jne 0x14007a8f9
movsx eax, bl
mov edx, edi
add ax, 0x41
cmp bpl, 1
setne dl
mov cl, al
mov word [rsp + 0x48], ax
call fcn.14006d8e0
jmp 0x14007a90d
cmp si, di
je 0x14007a727
movsx eax, sil
lea rcx, [rsp + 0x20]
mov word [rsp + 0x20], si
mov word [rsp + 0x48], ax
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
lea rcx, [rsp + 0x40]
xor edx, edx
mov ebx, eax
call fcn.140064b20
cmp ebx, 5
jne 0x14007a8ec
cmp bpl, 2
jne 0x14007a8d9
cmp eax, 7
jne 0x14007a8d9
or edx, 0xffffffff
jmp 0x14007a8ef
cmp bpl, r15b
mov cl, sil
setne dil
mov edx, edi
call fcn.14006d8e0
jmp 0x14007a91b
mov edx, r12d
movzx ecx, si
call fcn.14007a508
jmp 0x14007a91b
cmp byte [rsi], 0x45
jne 0x14007a90d
movsx ecx, bl
or edx, 0xffffffff
add cx, 0x41
call fcn.14007a508
inc bl
inc rsi
cmp bl, 0x1a
jl 0x14007a86d
xor eax, eax
mov rbx, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret