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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
movaps xmmword [rsp + 0xf0], xmm6
mov rbx, rcx
xor r13d, r13d
lea edx, [r13 + 2]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jns 0x14003c40f
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r13
lea ecx, [r13 + 0x20]
call fcn.1400abf3c
mov qword [rbx], rax
mov qword [rbx + 0x10], 0x19
mov qword [rbx + 0x18], 0x1f
movups xmm0, xmmword [str.COM_initialization_failed]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x1400d7da0]
movsd qword [rax + 0x10], xmm0
movzx ecx, byte [0x1400d7da8]
mov byte [rax + 0x18], cl
mov byte [rax + 0x19], r13b
mov rax, rbx
mov rbx, qword [rsp + 0x140]
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x38], r13d
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
mov r14d, 0xffffffff
mov edx, r14d
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jns 0x14003c4ad
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r13
lea ecx, [r14 + 0x21]
call fcn.1400abf3c
mov rdx, rax
mov qword [rbx], rax
mov qword [rbx + 0x10], 0x1e
mov qword [rbx + 0x18], 0x1f
movups xmm0, xmmword [str.Security_initialization_failed]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x1400d7b50]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x1400d7b58]
mov dword [rax + 0x18], ecx
movzx eax, word [0x1400d7b5c]
mov word [rdx + 0x1c], ax
mov byte [rdx + 0x1e], r13b
jmp 0x14003c3e9
mov qword [rsp + 0x50], r13
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [0x1400cb820]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x1400cb830]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14003c543
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r13
mov ecx, 0x20
call fcn.1400abf3c
mov rdx, rax
mov qword [rbx], rax
mov qword [rbx + 0x10], 0x1b
mov qword [rbx + 0x18], 0x1f
movups xmm0, xmmword [str.WMI_Locator_creation_failed]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x1400d7b70]
movsd qword [rax + 0x10], xmm0
movzx ecx, word [0x1400d7b78]
mov word [rax + 0x18], cx
movzx eax, byte [0x1400d7b7a]
mov byte [rdx + 0x1a], al
mov byte [rdx + 0x1b], r13b
jmp 0x14003c3e9
mov qword [rbp + 0x7f], r13
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
mov rsi, qword [rcx + 0x18]
mov ecx, 0x18
call fcn.1400abf3c
mov rdi, rax
mov qword [rbp + 0x77], rax
test rax, rax
je 0x14003c58f
mov qword [rax + 8], r13
mov dword [rax + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rdi], rax
test rax, rax
je 0x14003caa4
jmp 0x14003c592
mov rdi, r13
mov qword [rbp - 0x31], rdi
test rdi, rdi
je 0x14003caba
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rdi]
mov rcx, qword [rsp + 0x50]
call rsi
mov esi, eax
mov ecx, r14d
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x14003c60b
mov rcx, qword [rdi]
test rcx, rcx
je 0x14003c5ec
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r13
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14003c5fe
call fcn.1400ac290
mov qword [rdi + 8], r13
mov edx, 0x18
mov rcx, rdi
call fcn.1400ac290
test esi, esi
jns 0x14003c671
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r13
mov ecx, 0x20
call fcn.1400abf3c
mov qword [rbx], rax
mov qword [rbx + 0x10], 0x15
mov qword [rbx + 0x18], 0x1f
movups xmm0, xmmword [str.WMI_connection_failed]
movups xmmword [rax], xmm0
mov ecx, dword [0x1400d7ba8]
mov dword [rax + 0x10], ecx
movzx ecx, byte [0x1400d7bac]
mov byte [rax + 0x14], cl
mov byte [rax + 0x15], 0
jmp 0x14003c3e9
mov dword [rsp + 0x38], r13d
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [rbp + 0x7f]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x14003c721
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r13
mov ecx, 0x20
call fcn.1400abf3c
mov rdx, rax
mov qword [rbx], rax
mov qword [rbx + 0x10], 0x1b
mov qword [rbx + 0x18], 0x1f
movups xmm0, xmmword [str.Proxy_security_setup_failed]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x1400d7bc0]
movsd qword [rax + 0x10], xmm0
movzx ecx, word [0x1400d7bc8]
mov word [rax + 0x18], cx
movzx eax, byte [0x1400d7bca]
mov byte [rdx + 0x1a], al
mov byte [rdx + 0x1b], 0
jmp 0x14003c3e9
mov qword [rbp - 0x79], r13
mov rax, qword [rbp + 0x7f]
mov rcx, qword [rax]
mov r12, qword [rcx + 0xa0]
mov ecx, 0x18
call fcn.1400abf3c
mov rdi, rax
mov qword [rbp + 0x77], rax
test rax, rax
je 0x14003c765
mov qword [rax + 8], r13
mov dword [rax + 0x10], 1
lea rcx, str.SELECT_SerialNumber_FROM_Win32_BaseBoard
call fcn.1400ad050
mov qword [rdi], rax
jmp 0x14003c768
mov rdi, r13
mov qword [rbp - 0x29], rdi
test rdi, rdi
je 0x14003caba
mov r15, qword [rdi]
mov ecx, 0x18
call fcn.1400abf3c
mov rsi, rax
mov qword [rbp + 0x77], rax
test rax, rax
je 0x14003c7aa
mov qword [rax + 8], r13
mov dword [rax + 0x10], 1
lea rcx, [0x1400d7bf8]
call fcn.1400ad050
mov qword [rsi], rax
jmp 0x14003c7ad
mov rsi, r13
mov qword [rbp - 0x21], rsi
test rsi, rsi
je 0x14003cac5
lea rax, [rbp - 0x79]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
mov r9d, 0x30
mov r8, r15
mov rdx, qword [rsi]
mov rcx, qword [rbp + 0x7f]
call r12
mov r15d, eax
mov ecx, r14d
lock xadd dword [rsi + 0x10], ecx
cmp ecx, 1
jne 0x14003c81c
mov rcx, qword [rsi]
test rcx, rcx
je 0x14003c7fc
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], r13
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14003c80e
call fcn.1400ac290
mov qword [rsi + 8], r13
mov edx, 0x18
mov rcx, rsi
call fcn.1400ac290
nop
mov eax, r14d
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x14003c859
mov rcx, qword [rdi]
test rcx, rcx
je 0x14003c83a
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r13
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14003c84c
call fcn.1400ac290
mov qword [rdi + 8], r13
mov edx, 0x18
mov rcx, rdi
call fcn.1400ac290
test r15d, r15d
jns 0x14003c8cf
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r13
mov ecx, 0x20
call fcn.1400abf3c
mov qword [rbx], rax
mov qword [rbx + 0x10], 0x1a
mov qword [rbx + 0x18], 0x1f
movups xmm0, xmmword [str.WMI_query_execution_failed]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x1400d7c10]
movsd qword [rax + 0x10], xmm0
movzx ecx, word [0x1400d7c18]
mov word [rax + 0x18], cx
mov byte [rax + 0x1a], 0
jmp 0x14003c3e9
xorps xmm0, xmm0
movups xmmword [rbp - 0x69], xmm0
mov ecx, 0x20
call fcn.1400abf3c
mov r15, rax
mov qword [rbp - 0x69], rax
movdqa xmm6, xmmword [0x1400d85d0]
movdqu xmmword [rbp - 0x59], xmm6
movups xmm0, xmmword [str.Serial_number_not_found]
movups xmmword [rax], xmm0
mov ecx, dword [0x1400d7e38]
mov dword [rax + 0x10], ecx
movzx ecx, word [0x1400d7e3c]
mov word [rax + 0x14], cx
movzx eax, byte [0x1400d7e3e]
mov byte [r15 + 0x16], al
mov byte [r15 + 0x17], 0
mov qword [rsp + 0x58], r13
mov dword [rbp + 0x6f], r13d
mov rcx, qword [rbp - 0x79]
mov rax, qword [rcx]
lea rdx, [rbp + 0x6f]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x58]
mov r8d, 1
mov edx, r14d
call qword [rax + 0x20]
test eax, eax
jne 0x14003ca64
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
lea r9, [rbp - 0x49]
xor r8d, r8d
lea rdx, str.SerialNumber
call qword [rax + 0x20]
cmp word [rbp - 0x49], 8
jne 0x14003ca4f
mov rsi, qword [rbp - 0x41]
mov ecx, 0x18
call fcn.1400abf3c
mov rdi, rax
mov qword [rbp + 0x77], rax
test rax, rax
je 0x14003c9c3
mov qword [rax + 8], r13
mov dword [rax + 0x10], 1
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rdi], rax
test rax, rax
jne 0x14003c9c6
test rsi, rsi
jne 0x14003caaf
jmp 0x14003c9c6
mov rdi, r13
mov qword [rbp - 0x19], rdi
test rdi, rdi
je 0x14003ca99
mov rax, qword [rdi + 8]
test rax, rax
jne 0x14003c9e8
mov rcx, qword [rdi]
call fcn.1400acf30
mov qword [rdi + 8], rax
mov rdx, rax
lea rcx, [rbp - 0x11]
call fcn.140039e40
nop
lock xadd dword [rdi + 0x10], r14d
cmp r14d, 1
jne 0x14003ca31
mov rcx, qword [rdi]
test rcx, rcx
je 0x14003ca12
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r13
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14003ca24
call fcn.1400ac290
mov qword [rdi + 8], r13
mov edx, 0x18
mov rcx, rdi
call fcn.1400ac290
mov edx, 0x20
mov rcx, r15
call fcn.1400ac290
movups xmm0, xmmword [rbp - 0x11]
movups xmmword [rbp - 0x69], xmm0
movups xmm6, xmmword [rbp - 1]
movdqu xmmword [rbp - 0x59], xmm6
lea rcx, [rbp - 0x49]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x79]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
movups xmm0, xmmword [rbp - 0x69]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm6
jmp 0x14003c3e9
mov ecx, 0x8007000e
call fcn.1400acf20
nop
mov ecx, 0x8007000e
call fcn.1400acf20
nop
mov ecx, 0x8007000e
call fcn.1400acf20
nop
mov ecx, 0x8007000e
call fcn.1400acf20
nop
mov ecx, 0x8007000e
call fcn.1400acf20
int3