Function at 0x1400bd960
Capabilities:
Get disk information

Disassembly:
push rbp
push rbx
push r14
lea rbp, [rsp - 0x2b0]
sub rsp, 0x3b0
movdqa xmm1, xmmword [0x1400f0c40]
xorps xmm0, xmm0
mov rbx, rcx
xor r14d, r14d
movups xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x60]
mov word [rsp + 0x60], r14w
movdqu xmmword [rsp + 0x70], xmm1
call fcn.1400b75b0
test eax, eax
jne 0x1400bdced
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x78], 8
mov qword [rsp + 0x3a8], rsi
lea rsi, [rsp + 0x60]
cmovae rsi, qword [rsp + 0x60]
mov qword [rsp + 0x3a0], rdi
mov rcx, rsi
lea rdi, [rsi + rax*2]
mov rdx, rdi
call fcn.140026b40
cmp rax, rdi
je 0x1400bd9fa
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1400bd9f1
cmp cx, 0x2f
jne 0x1400bd9fa
add rax, 2
cmp rax, rdi
jne 0x1400bd9e2
sub rax, rsi
lea rcx, [rsp + 0x40]
sar rax, 1
xorps xmm0, xmm0
xorps xmm1, xmm1
mov r8, rax
mov rdx, rsi
movups xmmword [rsp + 0x40], xmm0
movdqu xmmword [rsp + 0x50], xmm1
call fcn.1400222b0
mov rdx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x3a8]
cmp rdx, 8
jb 0x1400bda6b
mov rcx, qword [rsp + 0x60]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400bda66
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400bdcfc
call fcn.1400e2cd8
cmp qword [rsp + 0x58], 8
lea rax, [rbp + 0xa0]
movdqa xmm0, xmmword [0x1400f0c40]
lea rcx, [rsp + 0x40]
cmovae rcx, qword [rsp + 0x40]
lea r9, [rbp + 0x2d8]
mov dword [rsp + 0x38], 0x100
lea rdx, [rbp + 0x1a0]
mov qword [rsp + 0x30], rax
mov r8d, 0x100
lea rax, [rbp + 0x2e0]
mov word [rsp + 0x60], r14w
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2e8]
mov qword [rsp + 0x20], rax
movdqu xmmword [rsp + 0x70], xmm0
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
mov rdx, qword [rsp + 0x58]
mov edi, eax
cmp rdx, 8
jb 0x1400bdb1a
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400bdb15
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400bdce7
call fcn.1400e2cd8
xorps xmm0, xmm0
test edi, edi
jne 0x1400bdb38
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], send
mov byte [rbx], r14b
jmp 0x1400bdcd0
lea rcx, [0x140000000]
mov qword [rbp + 0x40], r14
lea rax, [rcx + 0xf1838]
mov qword [rbp + 0x68], r14
mov qword [rbp - 0x60], rax
lea rdx, [rbp - 0x48]
lea rax, [rcx + 0xf1840]
movdqa xmmword [rbp + 0x70], xmm0
mov qword [rbp - 0x50], rax
lea rcx, [rbp - 0x60]
lea rax, vtable.std::basic_ios_char__struct_std::char_traits_char__.0
xor r9d, r9d
xor r8d, r8d
mov qword [rbp + 0x38], rax
call fcn.1400a9250
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x50], rax
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x54], edx
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], rax
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rbp + rcx - 0x64], edx
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx - 0x60], rax
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x48]
call fcn.1400b2300
mov qword [rbp + 0x20], r14
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x50]
mov dword [rbp + 0x28], r14d
movsxd rcx, dword [rax + 4]
and dword [rbp + rcx - 0x38], 0xfffff9ff
or dword [rbp + rcx - 0x38], 0x800
lea rcx, [rbp - 0x50]
mov edx, dword [rbp + 0x2d8]
call fcn.1400b2be0
mov ecx, dword [rbp + 0x28]
xorps xmm0, xmm0
movdqa xmm1, xmmword [0x1400f0c50]
mov eax, ecx
and al, 0x22
movups xmmword [rbp - 0x80], xmm0
mov byte [rbp - 0x80], r14b
movdqu xmmword [rbp - 0x70], xmm1
movups xmmword [rsp + 0x40], xmm0
cmp al, 2
je 0x1400bdc78
mov rax, qword [rbp - 8]
mov r8, qword [rax]
test r8, r8
je 0x1400bdc78
cmp r8, qword [rbp + 0x20]
mov rax, qword [rbp - 0x28]
cmovb r8, qword [rbp + 0x20]
mov rdx, qword [rax]
sub r8, rdx
jmp 0x1400bdca9
test cl, 4
jne 0x1400bdc9f
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax]
test rcx, rcx
je 0x1400bdc9f
mov rax, qword [rbp - 0x30]
mov rdx, qword [rax]
mov rax, qword [rbp + 8]
movsxd r8, dword [rax]
sub r8, rdx
add r8, rcx
jmp 0x1400bdca9
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x1400bdcbc
lea rcx, [rbp - 0x80]
call fcn.140032d50
movdqu xmm1, xmmword [rbp - 0x70]
movups xmm0, xmmword [rbp - 0x80]
lea rcx, [rbp - 0x60]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm1
call fcn.1400a9800
mov rdi, qword [rsp + 0x3a0]
mov rax, rbx
add rsp, 0x3b0
pop r14
pop rbx
pop rbp
ret
call fcn.1400c4dc4
int3
mov edx, eax
lea rcx, str.current_path__
call fcn.140027910
int3
call fcn.1400c4dc4
int3