Function at 0x14000fba0
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 [0x14011b8b0]
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 0x14000fc10
call fcn.14000fa20
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, [0x140104a5c]
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
mov ebx, dword [rsp + 0x50]
shr ebx, 6
call fcn.14000f8b0
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.14009e810
lea rcx, [0x140000000]
lea rax, [rcx + 0x104b50]
mov qword [rsp + 0x60], rax
lea rax, [rcx + 0x104b28]
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.14000bf30
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.14000bea0
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.14001a070
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
mov ecx, dword [rbp - 0x18]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x14000fdeb
mov rbx, qword [rbp - 0x48]
mov rbx, qword [rbx]
test rbx, rbx
je 0x14000fdeb
mov rax, qword [rbp - 0x68]
mov r9, qword [rax]
cmp rbx, qword [rbp - 0x20]
cmovb rbx, qword [rbp - 0x20]
jmp 0x14000fe0d
test cl, 4
jne 0x14000fe40
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax]
test rcx, rcx
je 0x14000fe40
mov rax, qword [rbp - 0x70]
mov r9, qword [rax]
mov rax, qword [rbp - 0x38]
movsxd rbx, dword [rax]
add rbx, rcx
mov rax, r9
sub rbx, r9
test rax, rax
je 0x14000fe40
mov rcx, r14
cmp rbx, 0xf
ja 0x14000fe37
mov qword [r14 + 0x10], rbx
mov r8, rbx
mov rdx, r9
call fcn.14009e160
mov byte [r14 + rbx], 0
jmp 0x14000fe40
mov rdx, rbx
call fcn.14000d8c0
nop
lea rcx, [rsp + 0x60]
call fcn.14000fe80
mov rax, r14
mov rcx, qword [rbp + 0x78]
xor rcx, rsp
call fcn.14009bc50
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