Function at 0x1400d59d0
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov qword [rsp + 0xb0], rbx
mov dword [rbp - 0x3c], 0x104
lea r9, [rbp - 0x3c]
xor r8d, r8d
xor edx, edx
mov r12, qword [rbp + 0x40]
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameW]
xor edx, edx
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rdx
mov ecx, dword [rbp - 0x3c]
mov eax, 2
mul rcx
mov r14, 0xffffffffffffffff
cmovo rax, r14
mov rcx, rax
call fcn.140057728
mov qword [rbp - 0x20], rax
xor ecx, ecx
mov byte [rbp - 0x40], cl
movzx r8d, cl
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.140024ed0
mov r15, qword [rbp - 0x20]
mov qword [rbp - 0x10], r15
mov rax, qword [rbp - 0x18]
mov qword [rbp - 8], rax
lea r9, [rbp - 0x3c]
mov r8d, dword [rbp - 0x3c]
mov rdx, r15
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameW]
mov esi, eax
mov dword [rbp - 0x38], eax
lea rcx, section..data
mov rdx, qword [section..data]
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x30], rbx
lea rax, [0x14011cbcc]
test rax, 0xffffffffffff0000
jne 0x1400d5ad1
movzx edi, ax
mov ecx, edi
call fcn.14001df50
test rax, rax
je 0x1400d5b2b
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.14001e130
mov rbx, qword [rbp - 0x30]
jmp 0x1400d5b2b
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x1400d5b2b
cmp dword [rdx + 0x10], 0
jge 0x1400d5aff
cmp dword [rbx - 0xc], 0
jge 0x1400d5af5
mov ecx, 0x80070057
call fcn.14001e940
int3
xor edx, edx
mov dword [rbx - 0x10], edx
mov word [rbx], dx
jmp 0x1400d5b2d
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400d5b16
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x30], rbx
mov r15, qword [rbp - 0x20]
xor edx, edx
mov r13d, edx
cmp dword [rbp - 0x3c], 0
jbe 0x1400d5c58
nop word [rax + rax]
movzx esi, word [r15]
test si, si
jne 0x1400d5bd9
xor eax, eax
lea rdi, [0x14011ccd4]
mov rsi, rbx
mov ecx, 1
repe cmpsw word [rsi], word [rdi]
je 0x1400d5b68
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x1400d5c1c
lea rdx, [rbp - 0x30]
mov rcx, qword [rbp + 0x48]
call fcn.14000b7a0
mov rbx, qword [rbp - 0x30]
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x1400d5bd5
cmp dword [rdx + 0x10], 0
jge 0x1400d5bad
cmp dword [rbx - 0xc], 0
jl 0x1400d5c2e
xor edx, edx
mov dword [rbx - 0x10], edx
mov word [rbx], dx
jmp 0x1400d5c1c
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400d5bc4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x30], rbx
xor edx, edx
jmp 0x1400d5c1c
mov r12d, dword [rbx - 0x10]
lea edi, [r12 + 1]
test edi, edi
js 0x1400d5c4d
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x1400d5c08
mov edx, edi
lea rcx, [rbp - 0x30]
call fcn.14001e8d0
mov rbx, qword [rbp - 0x30]
xor edx, edx
mov word [rbx + r12*2], si
cmp edi, dword [rbx - 0xc]
jg 0x1400d5c42
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov word [rbx + rax*2], dx
inc r13d
add r15, 2
cmp r13d, dword [rbp - 0x3c]
jae 0x1400d5c39
jmp 0x1400d5b40
mov ecx, 0x80070057
call fcn.14001e940
int3
mov esi, dword [rbp - 0x38]
mov r12, qword [rbp + 0x40]
jmp 0x1400d5c58
mov ecx, 0x80070057
call fcn.14001e940
int3
mov ecx, 0x80070057
call fcn.14001e940
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400d5c74
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x1400d5ca1
lock dec dword [rcx + 8]
jne 0x1400d5ca1
mov rdi, qword [rbp - 0x18]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
lock dec dword [rdi + 0xc]
jne 0x1400d5ca1
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rdx, qword [r12]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], r14d
dec r14d
test r14d, r14d
jg 0x1400d5cc0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, esi
mov rbx, qword [rsp + 0xb0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret