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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0x100
mov rax, qword [0x140021040]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rdi, rcx
mov qword [rbp - 0x59], rcx
xor r15d, r15d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x14000480f
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
mov edx, 0xffffffff
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jns 0x140004829
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], recv
mov byte [rdi], r15b
jmp 0x14000500a
mov qword [rbp - 0x41], r15
lea rax, [rbp - 0x41]
mov qword [rsp + 0x20], rax
lea r9, [0x14001a6a8]
xor edx, edx
mov r8d, 1
lea rcx, [0x14001a6b8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140004809
mov qword [rbp - 0x49], r15
mov ecx, 0x18
call fcn.1400179b8
mov rbx, rax
mov qword [rbp - 0x59], rax
test rax, rax
je 0x1400048a2
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x140005041
jmp 0x1400048a5
mov rbx, r15
mov qword [rbp - 0x59], rbx
test rbx, rbx
je 0x140005062
mov rcx, qword [rbp - 0x41]
mov rax, qword [rcx]
lea rdx, [rbp - 0x49]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbx]
call qword [rax + 0x18]
mov esi, eax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x140004923
mov rcx, qword [rbx]
test rcx, rcx
je 0x140004904
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140004916
call fcn.140017710
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140017710
test esi, esi
js 0x140004964
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0xa
mov rcx, qword [rbp - 0x49]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x14000498e
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x41]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], recv
mov byte [rdi], 0
jmp 0x14000500a
xorps xmm0, xmm0
movups xmmword [rbp + 0x17], xmm0
movdqa xmm1, xmmword [0x14001cb50]
movdqu xmmword [rbp + 0x27], xmm1
mov byte [rbp + 0x17], 0
mov qword [rbp - 0x51], r15
mov ecx, 0x18
call fcn.1400179b8
mov rbx, rax
mov qword [rbp - 0x59], rax
test rax, rax
je 0x1400049e8
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], 1
lea rcx, str.SELECT__FROM_Win32_Processor
call fcn.140018750
mov qword [rbx], rax
jmp 0x1400049eb
mov rbx, r15
mov qword [rbp - 0x59], rbx
test rbx, rbx
je 0x14000506d
mov ecx, 0x18
call fcn.1400179b8
mov rsi, rax
mov qword [rbp - 0x31], rax
test rax, rax
je 0x140004a36
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], r15
mov dword [rsi + 0x10], 1
lea rcx, [0x14001a8c8]
call fcn.140018750
mov qword [rsi], rax
jmp 0x140004a39
mov rsi, r15
mov qword [rbp - 0x31], rsi
test rsi, rsi
je 0x140005078
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx]
lea rdx, [rbp - 0x51]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r15
mov r9d, 0x30
mov r8, qword [rbx]
mov rdx, qword [rsi]
call qword [rax + 0xa0]
mov r14d, eax
mov ecx, 0xffffffff
lock xadd dword [rsi + 0x10], ecx
cmp ecx, 1
jne 0x140004ab0
mov rcx, qword [rsi]
test rcx, rcx
je 0x140004a90
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], r15
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x140004aa2
call fcn.140017710
mov qword [rsi + 8], r15
mov edx, 0x18
mov rcx, rsi
call fcn.140017710
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140004aef
mov rcx, qword [rbx]
test rcx, rcx
je 0x140004ad0
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140004ae2
call fcn.140017710
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140017710
test r14d, r14d
js 0x140004c63
mov qword [rbp - 0x59], r15
mov dword [rbp - 0x39], r15d
mov rcx, qword [rbp - 0x51]
test rcx, rcx
je 0x140004c5d
nop dword [rax]
mov rax, qword [rcx]
lea rdx, [rbp - 0x39]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x59]
mov edx, 0xffffffff
mov r8d, 1
call qword [rax + 0x20]
cmp dword [rbp - 0x39], 0
je 0x140004c59
mov rcx, qword [rbp - 0x59]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x29]
xor r8d, r8d
lea rdx, str.ProcessorId
call qword [rax + 0x20]
test eax, eax
js 0x140004c40
mov rsi, qword [rbp - 0x21]
mov ecx, 0x18
call fcn.1400179b8
mov rbx, rax
mov qword [rbp - 0x69], rax
test rax, rax
je 0x140004baf
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], 1
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x140004bb2
test rsi, rsi
jne 0x14000504c
jmp 0x140004bb2
mov rbx, r15
mov qword [rbp - 0x31], rbx
test rbx, rbx
je 0x140005083
mov rax, qword [rbx + 8]
test rax, rax
jne 0x140004bd4
mov rcx, qword [rbx]
call fcn.140018630
mov qword [rbx + 8], rax
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140004be0
mov rdx, rax
lea rcx, [rbp + 0x17]
call fcn.14000da40
lea rcx, [rbp - 0x29]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140004c40
mov rcx, qword [rbx]
test rcx, rcx
je 0x140004c21
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140004c33
call fcn.140017710
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140017710
mov rcx, qword [rbp - 0x59]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x51]
test rcx, rcx
jne 0x140004b10
jmp 0x140004c5d
mov rcx, qword [rbp - 0x51]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
movdqa xmm1, xmmword [0x14001cb50]
movdqu xmmword [rbp + 7], xmm1
mov byte [rbp - 9], 0
mov qword [rbp - 0x51], r15
mov ecx, 0x18
call fcn.1400179b8
mov rbx, rax
mov qword [rbp - 0x69], rax
test rax, rax
je 0x140004cbd
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], 1
lea rcx, str.SELECT__FROM_Win32_BIOS
call fcn.140018750
mov qword [rbx], rax
jmp 0x140004cc0
mov rbx, r15
mov qword [rbp - 0x69], rbx
test rbx, rbx
je 0x14000508e
mov ecx, 0x18
call fcn.1400179b8
mov rsi, rax
mov qword [rbp - 0x59], rax
test rax, rax
je 0x140004d0b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], r15
mov dword [rsi + 0x10], 1
lea rcx, [0x14001a8c8]
call fcn.140018750
mov qword [rsi], rax
jmp 0x140004d0e
mov rsi, r15
mov qword [rbp - 0x59], rsi
test rsi, rsi
je 0x140005099
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx]
lea rdx, [rbp - 0x51]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r15
mov r9d, 0x30
mov r8, qword [rbx]
mov rdx, qword [rsi]
call qword [rax + 0xa0]
mov r14d, eax
mov ecx, 0xffffffff
lock xadd dword [rsi + 0x10], ecx
cmp ecx, 1
jne 0x140004d85
mov rcx, qword [rsi]
test rcx, rcx
je 0x140004d65
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], r15
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x140004d77
call fcn.140017710
mov qword [rsi + 8], r15
mov edx, 0x18
mov rcx, rsi
call fcn.140017710
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140004dc4
mov rcx, qword [rbx]
test rcx, rcx
je 0x140004da5
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140004db7
call fcn.140017710
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140017710
test r14d, r14d
js 0x140004f43
mov qword [rbp - 0x59], r15
mov dword [rbp - 0x39], r15d
mov rcx, qword [rbp - 0x51]
test rcx, rcx
je 0x140004f3d
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx]
lea rdx, [rbp - 0x39]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x59]
mov edx, 0xffffffff
mov r8d, 1
call qword [rax + 0x20]
cmp dword [rbp - 0x39], 0
je 0x140004f39
mov rcx, qword [rbp - 0x59]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x29]
xor r8d, r8d
lea rdx, str.SerialNumber
call qword [rax + 0x20]
test eax, eax
js 0x140004f20
mov rsi, qword [rbp - 0x21]
mov ecx, 0x18
call fcn.1400179b8
mov rbx, rax
mov qword [rbp - 0x69], rax
test rax, rax
je 0x140004e8f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], 1
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x140004e92
test rsi, rsi
jne 0x140005057
jmp 0x140004e92
mov rbx, r15
mov qword [rbp - 0x31], rbx
test rbx, rbx
je 0x140005036
mov rax, qword [rbx + 8]
test rax, rax
jne 0x140004eb4
mov rcx, qword [rbx]
call fcn.140018630
mov qword [rbx + 8], rax
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140004ec0
mov rdx, rax
lea rcx, [rbp - 9]
call fcn.14000da40
lea rcx, [rbp - 0x29]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140004f20
mov rcx, qword [rbx]
test rcx, rcx
je 0x140004f01
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140004f13
call fcn.140017710
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140017710
mov rcx, qword [rbp - 0x59]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x51]
test rcx, rcx
jne 0x140004df0
jmp 0x140004f3d
mov rcx, qword [rbp - 0x51]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x41]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
lea r8, [rbp - 9]
lea rdx, [rbp + 0x17]
lea rcx, [rbp - 0x29]
call fcn.14000e080
movups xmm0, xmmword [rbp - 0x29]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp - 0x19]
movups xmmword [rdi + 0x10], xmm1
mov rdx, qword [rbp + 0xf]
cmp rdx, 0xf
jbe 0x140004fbb
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004fb6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004fb6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140017710
movdqa xmm0, xmmword [0x14001cb50]
movdqu xmmword [rbp + 7], xmm0
mov byte [rbp - 9], 0
mov rdx, qword [rbp + 0x2f]
cmp rdx, 0xf
jbe 0x14000500a
inc rdx
mov rcx, qword [rbp + 0x17]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005005
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005005
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140017710
mov rax, rdi
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1400176f0
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov ecx, 0x8007000e
call fcn.140018620
nop
mov ecx, 0x8007000e
call fcn.140018620
nop
mov ecx, 0x8007000e
call fcn.140018620
nop
mov ecx, 0x8007000e
call fcn.140018620
nop
mov ecx, 0x8007000e
call fcn.140018620
nop
mov ecx, 0x8007000e
call fcn.140018620
nop
mov ecx, 0x8007000e
call fcn.140018620
nop
mov ecx, 0x8007000e
call fcn.140018620
nop
mov ecx, 0x8007000e
call fcn.140018620
nop
mov ecx, 0x8007000e
call fcn.140018620
int3