Function at 0x1400b7cf0
Capabilities:
Connect to wmi namespace via wbemlocator
Get common file path
Get disk information via ioctl
Reference sql statements

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x4f0]
sub rsp, 0x5f0
mov rax, qword [0x1404953c0]
xor rax, rsp
mov qword [rbp + 0x4e0], rax
mov r12, rdx
xor edx, edx
mov r8d, 0x204
lea rcx, [rbp + 0xc0]
call fcn.140306610
mov edx, 0x102
lea rcx, [rbp + 0xc0]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
jne 0x1400b7d6e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.14001d6f0
lea rcx, str.Error__lu_calling_GetSystemDirectory
mov r9d, 0x68c
jmp 0x1400b83da
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, [rbp - 0x58]
lea rcx, [rbp + 0xc0]
call fcn.1402d377c
test eax, eax
jne 0x1400b83c0
lea r9, [rbp - 0x58]
lea r8, [0x140429ed0]
mov edx, 0x104
lea rcx, [rbp + 0x2d0]
call fcn.1400711a0
xor eax, eax
mov qword [rbp - 0x68], rax
mov dword [rbp - 0x60], eax
mov dword [rbp - 0x78], edi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x2d0]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x38], rdi
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], ntohl
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov edx, 0x2d1080
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x1400b7e4c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.14001d6f0
lea rcx, str.Error__lu_calling_DeviceIoControl
mov r9d, 0x6a4
jmp 0x1400b83da
mov r9d, dword [rbp - 0x64]
lea r8, str.SELECT_SerialNumber_FROM_Win32_DiskDrive_WHERE_Index_u
mov edx, 0x104
lea rcx, [rbp - 0x50]
call fcn.14002ca40
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 - 1]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
mov esi, eax
mov eax, 0x80000000
lea ecx, [rsi + rax]
test eax, ecx
jne 0x1400b7eff
cmp esi, 0x80010119
je 0x1400b7eff
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.14001d6f0
mov r10, qword [rax]
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], ebx
lea rcx, str.Error__lu_calling_CoInitializeSecurity_hr0x_08X
mov qword [rsp + 0x30], rcx
lea rcx, str.MachineID
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 1
mov r9d, 0x6b8
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonMachineId.cpp
lea rdx, str.mb::common::system::MachineId::GetDiskSerialNumberInternal
mov rcx, rax
call qword [r10 + 0x20]
jmp 0x1400b840f
mov qword [rbp - 0x70], rdi
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
lea r9, [0x1403fd218]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x1403fd228]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
test eax, eax
jns 0x1400b7f87
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 + 0x40], esi
mov dword [rsp + 0x38], ebx
lea rcx, str.Error__lu_calling_CoCreateInstance_hr0x_08X
mov qword [rsp + 0x30], rcx
lea rcx, str.MachineID
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 1
mov r9d, 0x6c2
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonMachineId.cpp
lea rdx, str.mb::common::system::MachineId::GetDiskSerialNumberInternal
mov rcx, rax
call r10
jmp 0x1400b83ac
mov qword [rbp - 0x80], rdi
mov rbx, qword [rbp - 0x70]
mov rax, qword [rbx]
mov r14, qword [rax + 0x18]
mov ecx, 0x18
call fcn.1402b5c5c
mov rsi, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400b7fdf
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], rdi
mov dword [rsi + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsi], rax
test rax, rax
je 0x1400b8447
jmp 0x1400b7fe2
mov rsi, rdi
mov qword [rsp + 0x68], rsi
test rsi, rsi
je 0x1400b8452
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsi]
mov rcx, rbx
call r14
mov esi, eax
lea rcx, [rsp + 0x68]
call fcn.1400ab090
test esi, esi
jns 0x1400b804e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.14001d6f0
mov rcx, qword [rax]
mov r10, qword [rcx + 0x20]
lea rcx, str.Error__lu_calling_ConnectServer_hr0x_08X
mov r9d, 0x6d5
jmp 0x1400b80a2
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov esi, eax
test eax, eax
jns 0x1400b80dc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.14001d6f0
mov rcx, qword [rax]
mov r10, qword [rcx + 0x20]
lea rcx, str.Error__lu_calling_CoSetProxyBlanket_hr0x_08X
mov r9d, 0x6e7
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rcx
lea rcx, str.MachineID
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 1
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonMachineId.cpp
lea rdx, str.mb::common::system::MachineId::GetDiskSerialNumberInternal
mov rcx, rax
call r10
jmp 0x1400b839c
mov qword [rsp + 0x70], rdi
mov rbx, qword [rbp - 0x80]
mov rax, qword [rbx]
mov r15, qword [rax + 0xa0]
mov ecx, 0x18
call fcn.1402b5c5c
mov rsi, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400b812b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], rdi
mov dword [rsi + 0x10], 1
lea rcx, [rbp - 0x50]
call fcn.1402b6df0
mov qword [rsi], rax
jmp 0x1400b812e
mov rsi, rdi
mov qword [rsp + 0x78], rsi
test rsi, rsi
je 0x1400b845d
mov r14, qword [rsi]
mov ecx, 0x18
call fcn.1402b5c5c
mov rsi, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400b817e
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], rdi
mov dword [rsi + 0x10], 1
lea rcx, [0x140429d00]
call fcn.1402b6df0
mov qword [rsi], rax
jmp 0x1400b8181
mov rsi, rdi
mov qword [rsp + 0x68], rsi
test rsi, rsi
je 0x1400b843c
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r9d, 0x30
mov r8, r14
mov rdx, qword [rsi]
mov rcx, rbx
call r15
mov esi, eax
lea rcx, [rsp + 0x68]
call fcn.1400ab090
nop
lea rcx, [rsp + 0x78]
call fcn.1400ab090
test esi, esi
jns 0x1400b822b
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 + 0x40], esi
mov dword [rsp + 0x38], ebx
lea rcx, str.Error__lu_calling_ExecQuery_hr0x_08X
mov qword [rsp + 0x30], rcx
lea rcx, str.MachineID
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 1
mov r9d, 0x6f7
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonMachineId.cpp
lea rdx, str.mb::common::system::MachineId::GetDiskSerialNumberInternal
mov rcx, rax
call r10
mov rdx, qword [rsp + 0x70]
jmp 0x1400b838d
mov word [r12], di
mov qword [rsp + 0x68], rdi
mov dword [rsp + 0x78], edi
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea rdx, [rsp + 0x78]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x68]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + 0x20]
test eax, eax
js 0x1400b8356
mov ebx, 8
nop dword [rax]
cmp dword [rsp + 0x78], 0
je 0x1400b8356
lea rcx, [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x50]
xor r8d, r8d
lea rdx, str.serialNumber
call qword [rax + 0x20]
test eax, eax
js 0x1400b8305
cmp bx, word [rsp + 0x50]
jne 0x1400b8305
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x1400b8305
mov edx, 0x400
mov rcx, r12
mov r8, qword [rsp + 0x58]
sub r8, r12
lea rax, [rdx + 0x7ffffbfe]
test rax, rax
je 0x1400b82f7
movzx eax, word [r8 + rcx]
test ax, ax
je 0x1400b82f7
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400b82d4
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
lea rcx, [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400b8322
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov qword [rsp + 0x68], rdi
mov dword [rsp + 0x78], edi
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea rdx, [rsp + 0x78]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x68]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + 0x20]
test eax, eax
jns 0x1400b8270
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x1400b8373
mov qword [rsp + 0x70], rdi
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov rdx, qword [rsp + 0x70]
mov edi, 1
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400b838d
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x1400b839c
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x1400b83ac
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1400b83bc
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
nop
mov eax, edi
jmp 0x1400b8411
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.14001d6f0
lea rcx, str.Error__lu_calling_wsplitpath_s
mov r9d, 0x699
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rcx
lea rcx, str.MachineID
mov qword [rsp + 0x28], rcx
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::GetDiskSerialNumberInternal
mov rcx, rax
call qword [r10 + 0x20]
xor eax, eax
mov rcx, qword [rbp + 0x4e0]
xor rcx, rsp
call fcn.1402b5c00
lea r11, [rsp + 0x5f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov ecx, 0x8007000e
call fcn.1402b6de0
nop
mov ecx, 0x8007000e
call fcn.1402b6de0
nop
mov ecx, 0x8007000e
call fcn.1402b6de0
nop
mov ecx, 0x8007000e
call fcn.1402b6de0
int3