Function at 0x14005b540
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 - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x1400e8010]
xor rax, rsp
mov qword [rbp + 0x98], rax
mov r15, rcx
mov qword [rsp + 0x60], rcx
xor r13d, r13d
mov dword [rsp + 0x58], r13d
mov qword [rsp + 0x68], r13
mov byte [rsp + 0x40], 0x23
mov al, 0x70
mov cl, 0x5a
mov dl, 0x50
mov r8b, 0x57
mov r9b, 0x46
mov r10b, 0x4e
mov r11b, 0x67
mov bl, 0x51
mov dil, 0x4a
mov sil, 0x55
movzx r14d, r9b
xor r12d, r12d
xor al, 0x23
mov byte [rsp + 0x41], al
xor cl, 0x23
mov byte [rsp + 0x42], cl
xor dl, 0x23
mov byte [rsp + 0x43], dl
xor r8b, 0x23
mov byte [rsp + 0x44], r8b
xor r9b, 0x23
mov byte [rsp + 0x45], r9b
xor r10b, 0x23
mov byte [rsp + 0x46], r10b
xor r11b, 0x23
mov byte [rsp + 0x47], r11b
xor bl, 0x23
mov byte [rsp + 0x48], bl
xor dil, 0x23
mov byte [rsp + 0x49], dil
xor sil, 0x23
mov byte [rsp + 0x4a], sil
xor r14b, 0x23
mov byte [rsp + 0x4b], r14b
mov byte [rsp + 0x4c], r12b
lea r8, [rsp + 0x41]
lea rdx, [rbp + 0x90]
lea rcx, [rsp + 0x68]
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__dupenv_s]
test eax, eax
jne 0x14005b8d5
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x14005b8d5
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x70], r13
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], r12b
jne 0x14005b656
lea rcx, [rsp + 0x78]
call fcn.140062b90
nop
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x70]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x14005b69d
lea rax, [rcx + 1]
mov qword [rbp - 0x78], rax
lea rax, [rsp + 0x78]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x78]
mov word [rax + rcx], 0x5c
jmp 0x14005b6bc
mov qword [rsp + 0x20], 1
lea r9, [0x1400dd2a4]
mov edx, 1
lea rcx, [rsp + 0x78]
call fcn.140062e00
xor edx, edx
mov r8d, 0xe8
lea rcx, [rbp - 0x60]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x1400dd418]
mov qword [rbp - 0x60], rax
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x58], 2
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x60]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rdi, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx - 0x60], rdi
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x58]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rbx, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp - 0x58], rbx
mov qword [rbp + 0x10], r13
mov dword [rbp + 0x18], 4
mov dword [rsp + 0x70], r13d
lea rcx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rcx, qword [rsp + 0x78]
mov dword [rsp + 0x38], r13d
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x70]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
lea rdx, [0x14005afe0]
lea rcx, [rbp - 0x60]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov edx, dword [rsp + 0x70]
shr edx, 0x10
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_short_int____ptr64]
movzx edx, word [rsp + 0x70]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_short_int____ptr64]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], r13
mov qword [r15 + 0x18], 0xf
mov byte [r15], 0
mov dword [rsp + 0x58], 0xa
movups xmmword [rsp + 0x40], xmm0
mov ecx, dword [rbp + 0x18]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x14005b80a
mov rax, qword [rbp - 0x18]
mov r8, qword [rax]
test r8, r8
je 0x14005b80a
mov rax, qword [rbp - 0x38]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x10]
cmovb r8, qword [rbp + 0x10]
sub r8, rdx
jmp 0x14005b83b
test cl, 4
jne 0x14005b831
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax]
test rcx, rcx
je 0x14005b831
mov rax, qword [rbp - 0x40]
mov rdx, qword [rax]
mov rax, qword [rbp - 8]
movsxd r8, dword [rax]
add r8, rcx
sub r8, rdx
jmp 0x14005b83b
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x14005b849
mov rcx, r15
call fcn.140062580
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x60], rdi
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx - 0x64], edx
mov qword [rbp - 0x58], rbx
lea rcx, [rbp - 0x58]
call fcn.1400622f0
lea rcx, [rbp - 0x58]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x14005b8f6
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005b8ce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005b8ce
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140063b68
jmp 0x14005b8f6
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], r13
mov qword [r15 + 0x18], r13
xor r8d, r8d
lea rdx, [0x140066ac6]
mov rcx, r15
call fcn.140062b90
mov rax, r15
mov rcx, qword [rbp + 0x98]
xor rcx, rsp
call fcn.140063590
lea r11, [rsp + 0x1a0]
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