Function at 0x140047130
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, 0xb0
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 0x1400471e0
lea rdx, str.Failed_to_initialize_COM_library._Error_code__0x
lea rcx, [0x1400ce240]
call fcn.14004ed70
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.14004bda0
mov rcx, rax
call fcn.14004ecd0
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 + 0xf0]
add rsp, 0xb0
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 0x140047263
lea rdx, str.Failed_to_initialize_security._Error_code__0x
lea rcx, [0x1400ce240]
call fcn.14004ed70
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.14004bda0
mov rcx, rax
call fcn.14004ecd0
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1400471a0
mov qword [rbp - 0x39], r13
lea rax, [rbp - 0x39]
mov qword [rsp + 0x20], rax
lea r9, [0x140087ca0]
xor edx, edx
mov r8d, 1
lea rcx, [0x140087cb0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
test eax, eax
jns 0x1400472b4
lea rdx, str.Failed_to_create_IWbemLocator_object.
lea rcx, [0x1400ce240]
call fcn.14004ed70
mov rcx, rax
lea rdx, str._Err_code__0x
jmp 0x140047228
mov qword [rbp + 0x7f], r13
mov rax, qword [rbp - 0x39]
mov rcx, qword [rax]
mov rdi, qword [rcx + 0x18]
mov ecx, 0x18
call fcn.140052b14
mov rbx, rax
mov qword [rbp + 0x77], rax
test rax, rax
je 0x1400472ff
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 0x1400477cc
jmp 0x140047302
mov rbx, r13
mov qword [rbp + 0x77], rbx
test rbx, rbx
je 0x1400477d7
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 - 0x39]
call rdi
mov edi, eax
mov ecx, r14d
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x14004737a
mov rcx, qword [rbx]
test rcx, rcx
je 0x14004735b
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r13
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14004736d
call fcn.140052a9c
mov qword [rbx + 8], r13
mov edx, 0x18
mov rcx, rbx
call fcn.140052a9c
test edi, edi
jns 0x1400473f3
lea rdx, str.Could_not_connect._Error_code__0x
lea rcx, [0x1400ce240]
call fcn.14004ed70
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.14004bda0
mov rcx, rax
call fcn.14004ecd0
mov rcx, qword [rbp - 0x39]
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 0x1400471c2
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
mov edx, 0xa
mov rcx, qword [rbp + 0x7f]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov ebx, eax
test eax, eax
jns 0x140047475
lea rdx, str.Could_not_set_proxy_blanket._Error_code__0x
lea rcx, [0x1400ce240]
call fcn.14004ed70
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.14004bda0
mov rcx, rax
call fcn.14004ecd0
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x1400473bc
mov qword [rbp - 0x31], r13
mov rax, qword [rbp + 0x7f]
mov rcx, qword [rax]
mov r12, qword [rcx + 0xa0]
mov ecx, 0x18
call fcn.140052b14
mov rbx, rax
mov qword [rbp + 0x77], rax
test rax, rax
je 0x1400474b9
mov qword [rax + 8], r13
mov dword [rax + 0x10], 1
lea rcx, str.SELECT__FROM_Win32_OperatingSystem
call fcn.1400546e0
mov qword [rbx], rax
jmp 0x1400474bc
mov rbx, r13
mov qword [rbp + 0x77], rbx
test rbx, rbx
je 0x1400477d7
mov r15, qword [rbx]
mov ecx, 0x18
call fcn.140052b14
mov rdi, rax
mov qword [rbp + 7], rax
test rax, rax
je 0x1400474fe
mov qword [rax + 8], r13
mov dword [rax + 0x10], 1
lea rcx, [0x140096944]
call fcn.1400546e0
mov qword [rdi], rax
jmp 0x140047501
mov rdi, r13
mov qword [rbp + 7], rdi
test rdi, rdi
je 0x1400477e2
lea rax, [rbp - 0x31]
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 0x140047570
mov rcx, qword [rdi]
test rcx, rcx
je 0x140047550
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r13
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140047562
call fcn.140052a9c
mov qword [rdi + 8], r13
mov edx, 0x18
mov rcx, rdi
call fcn.140052a9c
nop
mov eax, r14d
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x1400475ad
mov rcx, qword [rbx]
test rcx, rcx
je 0x14004758e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r13
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400475a0
call fcn.140052a9c
mov qword [rbx + 8], r13
mov edx, 0x18
mov rcx, rbx
call fcn.140052a9c
test r15d, r15d
jns 0x14004760f
lea rdx, str.Query_for_operating_system_failed.
lea rcx, [0x1400ce240]
call fcn.14004ed70
mov rcx, rax
lea rdx, str._Error_code__0x
call fcn.14004ed70
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.14004bda0
mov rcx, rax
call fcn.14004ecd0
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x1400473bc
mov qword [rbp - 0x29], r13
mov dword [rbp + 0x6f], r13d
lea rbx, str.NULL
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x140047695
nop word [rax + rax]
mov rax, qword [rcx]
lea rdx, [rbp + 0x6f]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x29]
mov r8d, 1
mov edx, r14d
call qword [rax + 0x20]
cmp dword [rbp + 0x6f], 0
je 0x140047695
mov rcx, qword [rbp - 0x29]
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 - 0x29]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x31]
test rcx, rcx
jne 0x140047630
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x39]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x31]
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 - 0x21], xmm0
mov qword [rbp - 0x11], r13
mov qword [rbp - 9], r13
mov rdx, rbx
lea rcx, [rbp - 0x21]
call fcn.14004f6a0
nop
mov edi, dword [rbp - 0x11]
lea r8, [rbp - 0x21]
cmp qword [rbp - 9], 7
cmova r8, qword [rbp - 0x21]
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.140052b50
mov r15, rax
lea r8, [rbp - 0x21]
cmp qword [rbp - 9], 7
cmova r8, qword [rbp - 0x21]
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 0x140047760
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.14004fad0
mov rcx, r15
call fcn.140052a9c
nop
mov rdx, qword [rbp - 9]
cmp rdx, 7
jbe 0x1400471c2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400477bc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400477c6
call fcn.140052a9c
jmp 0x1400471c2
call fcn.1400667d0
nop
mov ecx, 0x8007000e
call fcn.1400546d0
nop
mov ecx, 0x8007000e
call fcn.1400546d0
nop
mov ecx, 0x8007000e
call fcn.1400546d0
int3