Function at 0x10003b314
Capabilities:
Get disk information

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x1a0
mov qword [rsp + 0xc0], 0xfffffffffffffffe
mov r12, rcx
lea rax, [r11 - 0x68]
mov qword [r11 + 0x20], rax
xor eax, eax
mov byte [r11 + 0x10], al
mov byte [r11 + 0x18], al
lea r8, [r11 + 0x10]
lea rdx, [0x10000e390]
lea rcx, [r11 - 0x68]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rbx, rax
lea r8, [rsp + 0x1e0]
lea rdx, [0x1000034d0]
lea rcx, [rsp + 0x180]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
nop
mov r9, rbx
mov r8d, 0xf3
mov rdx, rax
lea rcx, [rsp + 0x110]
call fcn.1000100ac
nop
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x50], rax
xor eax, eax
mov byte [rsp + 0x1e8], al
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
xor eax, eax
mov byte [rsp + 0x40], al
mov byte [rsp + 0x41], al
lea r8, [rsp + 0x1e8]
lea rdx, [0x10000e3b0]
lea rcx, [rsp + 0xc8]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rdi, rax
lea r8, [rsp + 0x40]
lea rdx, [0x10000e390]
lea rcx, [rsp + 0x58]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rbx, rax
lea r8, [rsp + 0x41]
lea rdx, [0x1000034d0]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rcx, qword [r12 + 8]
xor ebp, ebp
cmp rcx, rbp
cmove rcx, qword [sym.imp.msvcp60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____ptr64___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdi
mov r9, rbx
mov r8d, 0xf5
mov rdx, rax
lea rcx, [rsp + 0x110]
call fcn.10000fdb8
mov rdx, r12
lea rcx, [rsp + 0xa0]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const____ptr64____ptr64]
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.10001e524
nop
mov rdx, rax
mov rcx, r12
call qword [reloc.msvcp60.dll___4__basic_string_GU__char_traits_G_std__V__allocator_G_2__std__QEAAAEAV01_AEBV01__Z]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void____ptr64]
xor r11d, r11d
mov byte [rsp + 0x1e8], r11b
lea r9, [rsp + 0x1e8]
xor r8d, r8d
mov edx, 0x104
lea rcx, [rsp + 0x78]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_long_long_unsigned___int64___unsigned_short_int__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
nop
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0xe8]
call fcn.100010e10
mov rcx, qword [r12 + 8]
cmp rcx, rbp
cmove rcx, qword [sym.imp.msvcp60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____ptr64___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
mov r8d, dword [rsp + 0x88]
mov rdx, qword [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
cmp eax, ebp
sete bl
lea rcx, [rsp + 0xe8]
call fcn.100010ab0
cmp bl, bpl
je 0x10003b5db
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
xor eax, eax
mov byte [rsp + 0x41], al
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x50], rax
xor eax, eax
mov byte [rsp + 0x40], al
mov byte [rsp + 0x42], al
lea rcx, [rsp + 0xa0]
mov rdx, r12
lea r8d, [rbp + 0x20]
call sub.msvcrt.dll_memcpy
lea r8, [rsp + 0x41]
lea rdx, [0x10000e400]
lea rcx, [rsp + 0x58]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rsi, rax
lea r8, [rsp + 0x40]
lea rdx, [0x10000e390]
lea rcx, [rsp + 0xc8]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rdi, rax
lea r8, [rsp + 0x42]
lea rdx, [0x1000034d0]
lea rcx, [rsp + 0xe8]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop
mov dword [rsp + 0x30], eax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov r9, rdi
mov r8d, 0xff
mov rdx, rbx
lea rcx, [rsp + 0x110]
call fcn.10000fdb8
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x110]
call fcn.10001027c
nop
jmp 0x10003b5f8
lea rcx, [rsp + 0x78]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x110]
call fcn.10001027c
nop
mov bpl, 1
mov rcx, r12
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void____ptr64]
mov al, bpl
add rsp, 0x1a0
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret