Function at 0x1400b8580
Capabilities:
Get common file path
Get storage device properties

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x4d0
mov rax, qword [0x1404953c0]
xor rax, rsp
mov qword [rsp + 0x4c0], rax
mov r15, rdx
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0xa0]
call fcn.140306610
test r15, r15
jne 0x1400b8610
call fcn.14001d6f0
lea rcx, str.Error:_NULL_buffer
lea rsi, str.MachineID
mov r9d, 0x734
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 1
mov r10, qword [rax]
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonMachineId.cpp
lea rdx, str.mb::common::system::MachineId::GetDiskSerialNumberInternal2
mov rcx, rax
call qword [r10 + 0x18]
jmp 0x1400b89ab
xor edx, edx
mov r8d, 0x204
lea rcx, [rsp + 0x2b0]
call fcn.140306610
mov edx, 0x102
lea rcx, [rsp + 0x2b0]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
jne 0x1400b865b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.14001d6f0
lea rcx, str.Error__lu_calling_GetSystemDirectory
mov r9d, 0x73d
jmp 0x1400b8976
xor edi, edi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
lea r8d, [rdi + 3]
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x2b0]
call fcn.1402d377c
test eax, eax
jne 0x1400b895c
lea r9, [rsp + 0x98]
lea r8, [0x140429ed0]
mov edx, 0x104
lea rcx, [rsp + 0xa0]
call fcn.1400711a0
call fcn.14001d6f0
mov rcx, qword [rax]
mov r10, qword [rcx + 0x20]
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x38], rcx
lea rcx, str.Calling_CreateFileW_with_path___ls_.
mov qword [rsp + 0x30], rcx
lea rsi, str.MachineID
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x1000003
mov r9d, 0x751
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonMachineId.cpp
lea rdx, str.mb::common::system::MachineId::GetDiskSerialNumberInternal2
mov rcx, rax
call r10
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
jne 0x1400b8761
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.14001d6f0
lea rcx, str.Error__lu_calling_CreateFileW
mov r9d, 0x756
jmp 0x1400b897d
mov qword [rsp + 0x5c], rdi
mov dword [rsp + 0x58], edi
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x50], edi
mov qword [rsp + 0x38], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 8
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, ntohl
lea r8, [rsp + 0x58]
mov edx, 0x2d1400
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x1400b87e5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.14001d6f0
lea rcx, str.Error__lu_calling_DeviceIoControl_to_get_buffer_size.
mov r9d, 0x768
jmp 0x1400b897d
mov r14d, dword [rsp + 0x74]
test r14d, r14d
jne 0x1400b8806
call fcn.14001d6f0
lea rcx, str.Error:_zero_size_descriptor
mov r9d, 0x76e
jmp 0x1400b85e1
mov rcx, r14
call fcn.1402b6274
mov rbp, rax
mov r8, r14
xor edx, edx
mov rcx, rax
call fcn.140306610
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x38], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rbp
mov r9d, ntohl
lea r8, [rsp + 0x58]
mov edx, 0x2d1400
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x1400b88a9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.14001d6f0
mov rcx, qword [rax]
mov r10, qword [rcx + 0x20]
mov dword [rsp + 0x38], ebx
lea rcx, str.Error__lu_calling_DeviceIoControl_to_get_buffer.
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 1
mov r9d, 0x77a
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonMachineId.cpp
lea rdx, str.mb::common::system::MachineId::GetDiskSerialNumberInternal2
mov rcx, rax
call r10
jmp 0x1400b8950
mov eax, dword [rbp + 0x18]
test eax, eax
jne 0x1400b88f1
call fcn.14001d6f0
mov rcx, qword [rax]
mov r10, qword [rcx + 0x18]
lea rcx, str.DeviceIoControl_didnt_return_a_serial_number.
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 4
mov r9d, 0x789
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonMachineId.cpp
lea rdx, str.mb::common::system::MachineId::GetDiskSerialNumberInternal2
mov rcx, rax
call r10
jmp 0x1400b8950
mov r8, rax
add r8, rbp
jne 0x1400b893a
call fcn.14001d6f0
mov rcx, qword [rax]
mov r10, qword [rcx + 0x18]
lea rcx, str.Error:_NULL_serial_number
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 1
mov r9d, 0x791
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonMachineId.cpp
lea rdx, str.mb::common::system::MachineId::GetDiskSerialNumberInternal2
mov rcx, rax
call r10
jmp 0x1400b8950
mov rcx, r15
call fcn.1400b8470
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, 1
mov rcx, rbp
call fcn.1402b5c4c
mov eax, edi
jmp 0x1400b89ad
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.14001d6f0
lea rcx, str.Error__lu_calling_wsplitpath_s
mov r9d, 0x74a
lea rsi, str.MachineID
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 1
mov r10, qword [rax]
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonMachineId.cpp
lea rdx, str.mb::common::system::MachineId::GetDiskSerialNumberInternal2
mov rcx, rax
call qword [r10 + 0x20]
xor eax, eax
mov rcx, qword [rsp + 0x4c0]
xor rcx, rsp
call fcn.1402b5c00
lea r11, [rsp + 0x4d0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret