Function at 0x1800365f0
Capabilities:
Get storage device properties

Disassembly:
jmp 0x180070660
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x518
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0xd6
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x538]
mov rax, qword [0x1800ea138]
xor rax, rbp
mov qword [rbp + 0x4c0], rax
lea rcx, [0x1800fd3aa]
call fcn.180037c84
mov r8, qword [rbp + 0x4f0]
lea rdx, str.._
lea rcx, [rbp + 0x438]
call fcn.18003613b
mov qword [rbp + 0x4a8], rax
mov rax, qword [rbp + 0x4a8]
mov qword [rbp + 0x4b0], rax
lea r8, [0x1800b61e0]
mov rdx, qword [rbp + 0x4b0]
lea rcx, [rbp + 0x478]
call fcn.1800379fa
mov qword [rbp + 0x4b8], rax
mov rcx, qword [rbp + 0x4b8]
call fcn.180036299
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 3
mov edx, 0x80000000
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rbp + 8], rax
lea rcx, [rbp + 0x478]
call fcn.180036523
nop
lea rcx, [rbp + 0x438]
call fcn.180036523
cmp qword [rbp + 8], 0xffffffffffffffff
jne 0x180070797
lea rdx, str.Error_opening_drive
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180036302
mov rdx, qword [rbp + 0x4f0]
mov rcx, rax
call fcn.18003792d
lea rdx, [0x180036127]
mov rcx, rax
call qword [sym.imp.MSVCP140D.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::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor al, al
jmp 0x1800708be
lea rax, [rbp + 0x28]
mov rdi, rax
xor eax, eax
mov ecx, 0xc
rep stosb byte [rdi], al
mov dword [rbp + 0x28], 0
mov dword [rbp + 0x2c], 0
mov dword [rbp + 0x54], 0
lea rax, [rbp + 0x80]
mov rdi, rax
xor eax, eax
mov ecx, 0x200
rep stosb byte [rdi], al
mov qword [rsp + 0x38], 0
lea rax, [rbp + 0x54]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x200
lea rax, [rbp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 0xc
lea r8, [rbp + 0x28]
mov edx, 0x2d1400
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x180070843
lea rdx, str.Error_querying_drive_properties
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180036302
lea rdx, [0x180036127]
mov rcx, rax
call qword [sym.imp.MSVCP140D.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::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x1800708be
lea rax, [rbp + 0x80]
mov qword [rbp + 0x298], rax
mov rax, qword [rbp + 0x298]
cmp dword [rax + 0x18], 0
je 0x180070881
mov rax, qword [rbp + 0x298]
mov eax, dword [rax + 0x18]
lea rax, [rbp + rax + 0x80]
mov rdx, rax
mov rcx, qword [rbp + 0x4f8]
call fcn.1800360fa
jmp 0x1800708b2
lea rdx, str.Drive_does_not_have_a_serial_number.
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180036302
lea rdx, [0x180036127]
mov rcx, rax
call qword [sym.imp.MSVCP140D.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::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x1800708be
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
mov rdi, rax
lea rcx, [rbp - 0x40]
lea rdx, [0x1800b1c20]
call fcn.1800377a7
mov rax, rdi
mov rcx, qword [rbp + 0x4c0]
xor rcx, rbp
call fcn.180036e4c
lea rsp, [rbp + 0x4d8]
pop rdi
pop rbp
ret