Function at 0x1400427c0
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov rsi, rcx
mov dword [rbp + 0x77], 1
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
xor r12d, r12d
mov qword [rcx + 0x10], 7
mov qword [rcx + 0x18], 0xf
mov rax, qword [str.Unknown]
mov dword [rcx], eax
movzx eax, word [0x1400d4164]
mov word [rcx + 4], ax
movzx eax, byte [0x1400d4166]
mov byte [rcx + 6], al
mov byte [rcx + 7], r12b
mov dword [rbp + 0x77], 1
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
mov edx, 0xffffffff
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
mov qword [rbp - 0x11], r12
lea rax, [rbp - 0x11]
mov qword [rsp + 0x20], rax
lea r9, [0x1400d3800]
xor edx, edx
mov r8d, 1
lea rcx, [0x1400d3810]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x1400428b5
lea rdx, str.Failed_to_create_IWbemLocator_object.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400496b0
lea rdx, [0x140049890]
mov rcx, rax
call qword [sym.imp.MSVCP140.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]
jmp 0x1400429ca
mov qword [rbp - 0x19], r12
mov rax, qword [rbp - 0x11]
mov rcx, qword [rax]
mov rdi, qword [rcx + 0x18]
mov ecx, 0x18
call fcn.1400b401c
mov rbx, rax
mov qword [rbp + 0x7f], rax
test rax, rax
je 0x140042900
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x140042c6a
jmp 0x140042903
mov rbx, r12
mov qword [rbp + 0x7f], rbx
test rbx, rbx
je 0x140042c75
lea rax, [rbp - 0x19]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbx]
mov rcx, qword [rbp - 0x11]
call rdi
mov edi, eax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x14004297d
mov rcx, qword [rbx]
test rcx, rcx
je 0x14004295e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140042970
call fcn.1400b4298
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.1400b4298
test edi, edi
jns 0x1400429df
lea rdx, str.Could_not_connect._Error_code__0x
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400496b0
lea rdx, [0x1400427a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.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::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov edx, edi
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
lea rdx, [0x140049890]
mov rcx, rax
call qword [sym.imp.MSVCP140.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 - 0x11]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rax, rsi
add rsp, 0x90
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0xa
mov rcx, qword [rbp - 0x19]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov qword [rbp - 9], r12
mov rax, qword [rbp - 0x19]
mov rcx, qword [rax]
mov r15, qword [rcx + 0xa0]
mov ecx, 0x18
call fcn.1400b401c
mov rbx, rax
mov qword [rbp + 0x7f], rax
test rax, rax
je 0x140042a52
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.SELECT_SerialNumber_FROM_Win32_BaseBoard
call fcn.1400b5110
mov qword [rbx], rax
jmp 0x140042a55
mov rbx, r12
mov qword [rbp + 0x7f], rbx
test rbx, rbx
je 0x140042c75
mov r14, qword [rbx]
mov ecx, 0x18
call fcn.1400b401c
mov rdi, rax
mov qword [rbp + 7], rax
test rax, rax
je 0x140042a97
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x1400e069c]
call fcn.1400b5110
mov qword [rdi], rax
jmp 0x140042a9a
mov rdi, r12
mov qword [rbp + 7], rdi
test rdi, rdi
je 0x140042c5f
lea rax, [rbp - 9]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r9d, 0x30
mov r8, r14
mov rdx, qword [rdi]
mov rcx, qword [rbp - 0x19]
call r15
mov r14d, eax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x140042b0b
mov rcx, qword [rdi]
test rcx, rcx
je 0x140042aeb
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r12
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140042afd
call fcn.1400b4298
mov qword [rdi + 8], r12
mov edx, 0x18
mov rcx, rdi
call fcn.1400b4298
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140042b4a
mov rcx, qword [rbx]
test rcx, rcx
je 0x140042b2b
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140042b3d
call fcn.1400b4298
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.1400b4298
test r14d, r14d
jns 0x140042b81
lea rdx, str.Query_for_serial_number_failed.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400496b0
lea rdx, [0x140049890]
mov rcx, rax
call qword [sym.imp.MSVCP140.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 - 0x19]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x1400429bf
mov qword [rbp - 1], r12
mov dword [rbp + 0x6f], r12d
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x140042c36
nop word [rax + rax]
mov rax, qword [rcx]
lea rdx, [rbp + 0x6f]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 1]
mov edx, 0xffffffff
mov r8d, 1
call qword [rax + 0x20]
cmp dword [rbp + 0x6f], 0
je 0x140042c36
mov rcx, qword [rbp - 1]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0xf]
xor r8d, r8d
lea rdx, str.SerialNumber
call qword [rax + 0x20]
test eax, eax
js 0x140042c15
mov rcx, qword [rbp + 0x17]
call fcn.1400b4ff0
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140042c00
mov rdx, rax
mov rcx, rsi
call fcn.140049380
lea rcx, [rbp + 0xf]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 1]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 9]
test rcx, rcx
jne 0x140042ba0
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x11]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 9]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1400429ca
mov ecx, 0x8007000e
call fcn.1400b4fe0
nop
mov ecx, 0x8007000e
call fcn.1400b4fe0
nop
mov ecx, 0x8007000e
call fcn.1400b4fe0
int3