Function at 0x140005410
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x14016d8a0]
xor rax, rsp
mov qword [rbp + 0x78], rax
mov r14, rcx
mov qword [rsp + 0x48], rcx
xor r15d, r15d
mov dword [rsp + 0x40], r15d
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x60], xmm0
xor eax, eax
xor ecx, ecx
cpuid
mov dword [rbp + 0x60], eax
mov dword [rbp + 0x64], ebx
mov dword [rbp + 0x68], ecx
mov dword [rbp + 0x6c], edx
movzx esi, r15w
lea rax, [rbp + 0x60]
mov ecx, 8
nop word [rax + rax]
add si, word [rax]
lea rax, [rax + 2]
sub rcx, 1
jne 0x140005480
call fcn.1400042a0
movzx edi, ax
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x50]
xor r8d, r8d
xor edx, edx
lea rcx, [0x1401484cc]
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
mov ebx, dword [rsp + 0x50]
shr ebx, 6
call fcn.1400041f0
movzx edx, si
movzx eax, ax
imul eax, edx
movzx ecx, bx
imul eax, ecx
imul eax, edi
cdq
mov ebx, eax
xor ebx, edx
sub ebx, edx
xor edx, edx
mov r8d, 0xf8
lea rcx, [rsp + 0x60]
call fcn.1400e0700
lea rcx, [0x140000000]
lea rax, [rcx + 0x1485b8]
mov qword [rsp + 0x60], rax
lea rax, [rcx + 0x148560]
mov qword [rsp + 0x70], rax
mov qword [rbp], r15
mov qword [rbp + 0x28], r15
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x30], xmm0
mov dword [rsp + 0x40], 2
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp - 8], rax
mov dword [rbp - 0xc], 0x80
mov qword [rsp + 0x68], r15
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 8]
call fcn.140008d50
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x70], rax
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x6c], edx
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rsp + rcx + 0x5c], edx
mov rax, qword [rsp + 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 [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x78]
call fcn.140008c60
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x20], r15
mov dword [rbp - 0x18], r15d
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov eax, dword [rbp + rcx - 0x78]
and eax, 0xfffff9ff
bts eax, 0xb
mov dword [rbp + rcx - 0x78], eax
mov edx, ebx
lea rcx, [rsp + 0x70]
call fcn.140005ea0
nop
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], r15
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r14], 0
mov dword [rsp + 0x40], 0x42
movups xmmword [rbp + 0x60], xmm0
mov ecx, dword [rbp - 0x18]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x140005662
mov rax, qword [rbp - 0x48]
mov r8, qword [rax]
test r8, r8
je 0x140005662
mov rax, qword [rbp - 0x68]
mov rdx, qword [rax]
cmp r8, qword [rbp - 0x20]
cmovb r8, qword [rbp - 0x20]
sub r8, rdx
jmp 0x140005691
test cl, 4
jne 0x140005689
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax]
test rcx, rcx
je 0x140005689
mov rax, qword [rbp - 0x70]
mov rdx, qword [rax]
mov rax, qword [rbp - 0x38]
movsxd r8, dword [rax]
add r8, rcx
sub r8, rdx
jmp 0x140005691
mov r8, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x60]
test rdx, rdx
je 0x14000569f
mov rcx, r14
call fcn.140007a60
nop
lea rcx, [rsp + 0x60]
call fcn.1400056e0
mov rax, r14
mov rcx, qword [rbp + 0x78]
xor rcx, rsp
call fcn.1400ddaa0
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret