Function at 0x140042600
Capabilities:
Connect to wmi namespace via wbemlocator
Reference wmi statements

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, 0xc0
mov rsi, rcx
xor r13d, r13d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov ebx, eax
test eax, eax
jns 0x1400426b0
lea rdx, str.Failed_to_initialize_COM_library._Error_code__0x
lea rcx, [0x1400e8810]
call fcn.14004a450
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov ecx, dword [rdx + rax + 0x18]
and ecx, 0xfffff9ff
bts ecx, 0xb
mov dword [rdx + rax + 0x18], ecx
mov edx, ebx
mov rcx, rax
call fcn.140046b60
mov rcx, rax
call fcn.14004a700
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 4
mov qword [rsi + 0x18], 0xf
mov eax, dword [str.NULL]
mov dword [rsi], eax
mov byte [rsi + 4], r13b
mov rax, rsi
mov rbx, qword [rsp + 0x100]
add rsp, 0xc0
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 r14, 0xffffffffffffffff
mov edx, r14d
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
mov ebx, eax
test eax, eax
jns 0x140042733
lea rdx, str.Failed_to_initialize_security._Error_code__0x
lea rcx, [0x1400e8810]
call fcn.14004a450
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov ecx, dword [rdx + rax + 0x18]
and ecx, 0xfffff9ff
bts ecx, 0xb
mov dword [rdx + rax + 0x18], ecx
mov edx, ebx
mov rcx, rax
call fcn.140046b60
mov rcx, rax
call fcn.14004a700
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x140042670
mov qword [rbp - 0x49], r13
lea rax, [rbp - 0x49]
mov qword [rsp + 0x20], rax
lea r9, [0x1400a18e8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x1400a18f8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
test eax, eax
jns 0x140042782
lea rdx, str.Failed_to_create_IWbemLocator_object.
lea rcx, [0x1400e8810]
call fcn.14004a450
mov rcx, rax
lea rdx, str._Err_code__0x
jmp 0x1400426f8
mov qword [rbp + 0x7f], r13
mov rax, qword [rbp - 0x49]
mov rcx, qword [rax]
mov rdi, qword [rcx + 0x18]
mov ecx, 0x18
call fcn.14004dcc4
mov rbx, rax
mov qword [rbp + 0x77], rax
test rax, rax
je 0x1400427cd
mov qword [rax + 8], r13
mov dword [rax + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x140042c9c
jmp 0x1400427d0
mov rbx, r13
mov qword [rbp - 9], rbx
test rbx, rbx
je 0x140042ca7
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 [rbx]
mov rcx, qword [rbp - 0x49]
call rdi
mov edi, eax
mov ecx, r14d
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x140042848
mov rcx, qword [rbx]
test rcx, rcx
je 0x140042829
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r13
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14004283b
call fcn.14004dc4c
mov qword [rbx + 8], r13
mov edx, 0x18
mov rcx, rbx
call fcn.14004dc4c
test edi, edi
jns 0x1400428c1
lea rdx, str.Could_not_connect._Error_code__0x
lea rcx, [0x1400e8810]
call fcn.14004a450
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov ecx, dword [rdx + rax + 0x18]
and ecx, 0xfffff9ff
bts ecx, 0xb
mov dword [rdx + rax + 0x18], ecx
mov edx, edi
mov rcx, rax
call fcn.140046b60
mov rcx, rax
call fcn.14004a700
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 4
mov qword [rsi + 0x18], 0xf
mov eax, dword [str.NULL]
mov dword [rsi], eax
mov byte [rsi + 4], 0
jmp 0x140042692
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]
mov ebx, eax
test eax, eax
jns 0x140042942
lea rdx, str.Could_not_set_proxy_blanket._Error_code__0x
lea rcx, [0x1400e8810]
call fcn.14004a450
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov ecx, dword [rdx + rax + 0x18]
and ecx, 0xfffff9ff
bts ecx, 0xb
mov dword [rdx + rax + 0x18], ecx
mov edx, ebx
mov rcx, rax
call fcn.140046b60
mov rcx, rax
call fcn.14004a700
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14004288a
mov qword [rbp - 0x41], r13
mov rax, qword [rbp + 0x7f]
mov rcx, qword [rax]
mov r12, qword [rcx + 0xa0]
mov ecx, 0x18
call fcn.14004dcc4
mov rbx, rax
mov qword [rbp + 0x77], rax
test rax, rax
je 0x140042986
mov qword [rax + 8], r13
mov dword [rax + 0x10], 1
lea rcx, str.SELECT__FROM_Win32_OperatingSystem
call fcn.14004ff70
mov qword [rbx], rax
jmp 0x140042989
mov rbx, r13
mov qword [rbp - 1], rbx
test rbx, rbx
je 0x140042ca7
mov r15, qword [rbx]
mov ecx, 0x18
call fcn.14004dcc4
mov rdi, rax
mov qword [rbp + 0x77], rax
test rax, rax
je 0x1400429cb
mov qword [rax + 8], r13
mov dword [rax + 0x10], 1
lea rcx, [0x1400b3294]
call fcn.14004ff70
mov qword [rdi], rax
jmp 0x1400429ce
mov rdi, r13
mov qword [rbp + 7], rdi
test rdi, rdi
je 0x140042cb2
lea rax, [rbp - 0x41]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
mov r9d, 0x30
mov r8, r15
mov rdx, qword [rdi]
mov rcx, qword [rbp + 0x7f]
call r12
mov r15d, eax
mov ecx, r14d
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x140042a3d
mov rcx, qword [rdi]
test rcx, rcx
je 0x140042a1d
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r13
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140042a2f
call fcn.14004dc4c
mov qword [rdi + 8], r13
mov edx, 0x18
mov rcx, rdi
call fcn.14004dc4c
nop
mov eax, r14d
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140042a7a
mov rcx, qword [rbx]
test rcx, rcx
je 0x140042a5b
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r13
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140042a6d
call fcn.14004dc4c
mov qword [rbx + 8], r13
mov edx, 0x18
mov rcx, rbx
call fcn.14004dc4c
test r15d, r15d
jns 0x140042adc
lea rdx, str.Query_for_operating_system_failed.
lea rcx, [0x1400e8810]
call fcn.14004a450
mov rcx, rax
lea rdx, str._Error_code__0x
call fcn.14004a450
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov ecx, dword [rdx + rax + 0x18]
and ecx, 0xfffff9ff
bts ecx, 0xb
mov dword [rdx + rax + 0x18], ecx
mov edx, r15d
mov rcx, rax
call fcn.140046b60
mov rcx, rax
call fcn.14004a700
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14004288a
mov qword [rbp - 0x39], r13
mov dword [rbp + 0x6f], r13d
lea rbx, str.NULL
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x140042b65
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rcx]
lea rdx, [rbp + 0x6f]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x39]
mov r8d, 1
mov edx, r14d
call qword [rax + 0x20]
cmp dword [rbp + 0x6f], 0
je 0x140042b65
mov rcx, qword [rbp - 0x39]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0xf]
xor r8d, r8d
lea rdx, str.SerialNumber
call qword [rax + 0x20]
mov rbx, qword [rbp + 0x17]
lea rcx, [rbp + 0xf]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x39]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x41]
test rcx, rcx
jne 0x140042b00
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x41]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov r8d, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x31], xmm0
mov qword [rbp - 0x21], r13
mov qword [rbp - 0x19], r13
mov rdx, rbx
lea rcx, [rbp - 0x31]
call fcn.14004ae10
nop
mov edi, dword [rbp - 0x21]
lea r8, [rbp - 0x31]
cmp qword [rbp - 0x19], 8
cmovae r8, qword [rbp - 0x31]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
lea r9d, [rdi + 1]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rbx, eax
mov rcx, rbx
call fcn.14004dd00
mov r15, rax
lea r8, [rbp - 0x31]
cmp qword [rbp - 0x19], 8
cmovae r8, qword [rbp - 0x31]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
lea r9d, [rdi + 1]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], r13
nop
inc r14
cmp byte [r15 + r14], 0
jne 0x140042c30
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.14004b1a0
mov rcx, r15
call fcn.14004dc4c
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x140042692
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042c8c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042c96
call fcn.14004dc4c
jmp 0x140042692
call fcn.140062cd0
nop
mov ecx, 0x8007000e
call fcn.14004ff60
nop
mov ecx, 0x8007000e
call fcn.14004ff60
nop
mov ecx, 0x8007000e
call fcn.14004ff60
int3