Function at 0x14000e8e4
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc10]
sub rsp, 0xd10
mov rax, qword [0x1400b8288]
xor rax, rsp
mov qword [rbp + 0xc00], rax
mov rsi, rdx
mov rdi, rcx
mov r14d, 0x208
lea rcx, [rbp + 0x9f0]
mov r8d, r14d
xor edx, edx
mov r15, r9
xor ebx, ebx
call sub.msvcrt.dll_memset
xor edx, edx
lea r8d, [rbx + 0x64]
lea rcx, [rsp + 0x30]
call sub.msvcrt.dll_memset
mov r8d, r14d
lea rcx, [rbp - 0x60]
xor edx, edx
call sub.msvcrt.dll_memset
mov r8d, r14d
lea rcx, [rbp + 0x3c0]
xor edx, edx
call sub.msvcrt.dll_memset
mov r8d, r14d
lea rcx, [rbp + 0x1b0]
xor edx, edx
call sub.msvcrt.dll_memset
mov r8d, r14d
lea rcx, [rbp + 0x5d0]
xor edx, edx
call sub.msvcrt.dll_memset
test rdi, rdi
je 0x14000ec98
test rsi, rsi
je 0x14000ec98
mov r12d, 0x104
lea rax, [rbp + 0x1b0]
mov edx, r12d
lea rcx, [rbp + 0x1b0]
sub rdi, rax
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x14000e9d5
movzx eax, word [rdi + rcx]
test ax, ax
je 0x14000e9d5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14000e9b3
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], bx
je 0x14000eca9
mov r8, r14
lea rcx, [rbp + 0x7e0]
xor edx, edx
call sub.msvcrt.dll_memset
mov r8d, r12d
lea rdx, [rbp + 0x9f0]
lea rcx, [rbp + 0x1b0]
call qword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
nop dword [rax + rax]
test eax, eax
je 0x14000eca9
lea r14, [rbp + 0x1b0]
mov r13d, 0x5c
lea rax, [rbp - 0x60]
sub r14, rax
or rdi, 0xffffffffffffffff
mov rdx, r12
lea rcx, [rbp - 0x60]
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x14000ea61
movzx eax, word [r14 + rcx]
test ax, ax
je 0x14000ea61
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14000ea3e
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], bx
je 0x14000eca9
lea r8, [rbp + 0x5d0]
mov rdx, r12
lea rax, [rbp + 0x3c0]
sub r8, rax
lea rcx, [rbp + 0x3c0]
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x14000eab3
movzx eax, word [r8 + rcx]
test ax, ax
je 0x14000eab3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14000ea90
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], bx
je 0x14000eca9
mov edx, r13d
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_wcsrchr
test rax, rax
je 0x14000ebf2
lea rcx, [rbp - 0x60]
mov rdx, r12
sub rax, rcx
lea r8, [rbp - 0x60]
sar rax, 1
lea rcx, [rbp + 0x1b0]
mov r9, rax
call fcn.14000107c
test eax, eax
js 0x14000ec03
mov r8d, r12d
lea rdx, [rbp + 0x7e0]
lea rcx, [rbp - 0x60]
call fcn.14000e870
test eax, eax
je 0x14000ec03
lea rcx, [rbp + 0x3c0]
mov rax, rdi
inc rax
cmp word [rcx + rax*2], bx
jne 0x14000eb29
lea rcx, [rbp + 0x5d0]
mov rdx, r12
test rax, rax
je 0x14000eb62
lea rax, [rbp + 0x3c0]
lea r9, [rbp + 0x7e0]
mov qword [rsp + 0x20], rax
lea r8, [0x14009f488]
call fcn.1400011bc
jmp 0x14000ebb0
lea r8, [rbp + 0x7e0]
lea rax, [rbp + 0x5d0]
sub r8, rax
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x14000eb96
movzx eax, word [r8 + rcx]
test ax, ax
je 0x14000eb96
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14000eb73
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
neg rdx
mov word [rax], bx
sbb eax, eax
not eax
and eax, 0x8007007a
test eax, eax
js 0x14000eca9
xor edx, edx
lea rcx, [rbp + 0x7e0]
mov r8d, 0x208
call sub.msvcrt.dll_memset
mov r8d, r12d
lea rdx, [rbp + 0x9f0]
lea rcx, [rbp + 0x1b0]
call qword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
nop dword [rax + rax]
test eax, eax
je 0x14000ec03
jmp 0x14000ea37
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop dword [rax + rax]
mov r8d, r12d
lea rdx, [rbp + 0x9f0]
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
nop dword [rax + rax]
test eax, eax
je 0x14000eca9
mov r8d, 0x32
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x9f0]
call qword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
nop dword [rax + rax]
test eax, eax
je 0x14000eca9
test r15, r15
je 0x14000ec62
lea r8, [rbp + 0x3c0]
mov rdx, r12
mov rcx, r15
call fcn.140001008
test eax, eax
js 0x14000eca9
lea r8, [rsp + 0x30]
mov rdx, r12
mov rcx, rsi
call fcn.140001008
test eax, eax
js 0x14000eca9
inc rdi
cmp word [rsi + rdi*2], bx
jne 0x14000ec76
test rdi, rdi
je 0x14000ec91
cmp word [rsi + rdi*2 - 2], r13w
jne 0x14000ec91
mov word [rsi + rdi*2 - 2], bx
mov ebx, 1
jmp 0x14000eca9
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop dword [rax + rax]
mov eax, ebx
mov rcx, qword [rbp + 0xc00]
xor rcx, rsp
call fcn.140096bd0
mov rbx, qword [rsp + 0xd50]
add rsp, 0xd10
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret