Function at 0x14014cd80
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf60]
mov eax, 0x1060
call fcn.1400da8e0
sub rsp, rax
mov rax, qword [0x140425440]
xor rax, rsp
mov qword [rbp + 0xf50], rax
mov r12, rcx
xor edx, edx
mov r8d, 0x1000
lea rcx, [rsp + 0x50]
call fcn.1402a2d50
lea rdx, [rsp + 0x50]
mov ecx, 0x800
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
lea rbx, [rsp + 0x50]
xor r15d, r15d
mov edi, r15d
mov qword [rsp + 0x28], r15
mov r14d, r15d
mov qword [rsp + 0x30], r15
mov esi, r15d
lea r13, [0x140379908]
cmp word [rsp + 0x50], r15w
je 0x14014cec4
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.14001a140
lea ecx, [rsi + 1]
cmp ecx, r14d
jle 0x14014ce4c
mov eax, ecx
test ecx, ecx
jns 0x14014ce2f
lea eax, [rcx + 1]
sar eax, 1
lea edx, [rax + 8]
add edx, ecx
and edx, 0xfffffff8
lea rcx, [rsp + 0x28]
call fcn.1400042c0
mov esi, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x28]
lea eax, [rsi + 1]
mov dword [rsp + 0x34], eax
movsxd rax, esi
lea rcx, [rdi + rax*8]
mov rax, qword [rsp + 0x38]
mov qword [rcx], rax
mov qword [rsp + 0x38], r13
mov eax, dword [0x1403798f8]
nop
test eax, 0x30000000
jne 0x14014cea0
mov eax, 0xffffffff
lock xadd dword [0x1403798f8], eax
dec eax
cmp eax, 0xffffffff
jne 0x14014cea0
lea rcx, [0x1403798f8]
call fcn.1400da0f0
nop word [rax + rax]
movzx eax, word [rbx]
add rbx, 2
test ax, ax
jne 0x14014cea0
mov esi, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x28]
cmp word [rbx], ax
je 0x14014cec4
mov r14d, dword [rsp + 0x30]
jmp 0x14014ce11
movsxd r8, esi
lea rdx, [rdi + r8*8]
movzx r9d, byte [rsp + 0x20]
mov rcx, rdi
call fcn.14001cfc0
test esi, esi
jle 0x14014cfb3
mov r14d, 4
lea rbx, [0x140426100]
cmp r15d, esi
jae 0x14014cef8
mov rdx, rdi
jmp 0x14014cf17
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [r14 + rcx]
cmp dword [0x14044b104], eax
jg 0x14014d02d
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.140178d10
mov eax, dword [r12 + 0xc]
inc eax
cmp eax, dword [r12 + 8]
jle 0x14014cf4a
mov ecx, eax
test eax, eax
jns 0x14014cf38
lea ecx, [rax + 1]
sar ecx, 1
lea edx, [rax + 8]
add edx, ecx
and edx, 0xfffffff8
mov rcx, r12
call fcn.1400042c0
movsxd rcx, dword [r12 + 0xc]
lea eax, [rcx + 1]
mov dword [r12 + 0xc], eax
mov rax, qword [r12]
lea rdx, [rax + rcx*8]
mov rax, qword [rsp + 0x38]
mov qword [rdx], rax
mov qword [rsp + 0x38], r13
mov eax, dword [0x1403798f8]
nop
test eax, 0x30000000
jne 0x14014cf9a
mov eax, 0xffffffff
lock xadd dword [0x1403798f8], eax
dec eax
cmp eax, 0xffffffff
jne 0x14014cf9a
lea rcx, [0x1403798f8]
call fcn.1400da0f0
inc r15d
add rdi, 8
mov esi, dword [rsp + 0x34]
cmp r15d, esi
jl 0x14014cef1
mov rdi, qword [rsp + 0x28]
test esi, esi
jle 0x14014cff5
mov ebx, esi
nop dword [rax]
mov rcx, qword [rdi]
sub rcx, 0x10
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x14014cfe6
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14014cfe6
call fcn.1400da0f0
add rdi, 8
sub rbx, 1
jne 0x14014cfc0
mov rdi, qword [rsp + 0x28]
mov rcx, rdi
call fcn.1400e0818
mov rcx, qword [rbp + 0xf50]
xor rcx, rsp
call fcn.1400d9d70
lea r11, [rsp + 0x1060]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, [0x14044b104]
call fcn.1400d9e38
cmp dword [0x14044b104], 0xffffffff
jne 0x14014cf14
mov qword [0x140426100], r13
lea rcx, [0x1402b8540]
call fcn.1400da0d8
lea rcx, [0x14044b104]
call fcn.1400d9dcc
jmp 0x14014cf14