Function at 0x1400596b0
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 - 0x30]
sub rsp, 0x130
mov rax, qword [0x140346fc0]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov rdi, r9
mov rsi, r8
mov r15, rdx
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], r8
mov r12, qword [rbp + 0x90]
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
mov r8d, 7
lea rdx, str.SELECT
lea rcx, [rbp]
call fcn.140025e20
nop
mov rdx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140059725
mov rdx, qword [rsi]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140059730
lea rcx, [rbp]
call fcn.140048ec0
mov r8d, 6
lea rdx, str._FROM
mov rcx, rax
call fcn.140048ec0
mov rdx, r15
cmp qword [r15 + 0x18], 7
jbe 0x140059766
mov rdx, qword [r15]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140059770
mov rcx, rax
call fcn.140048ec0
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], rbx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], rax
mov dword [rbp + 0x20], ebx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jns 0x1400598cc
mov rdx, qword [rbp + 0x18]
cmp rdx, 7
jbe 0x1400597f7
mov rcx, qword [rbp]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400597f2
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a158
call fcn.140260e60
movdqa xmm0, xmmword [0x1402fcf40]
mov word [rbp], bx
movdqu xmmword [rbp + 0x10], xmm0
mov rdx, qword [r15 + 0x18]
cmp rdx, 7
jbe 0x140059847
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
mov rcx, qword [r15]
jb 0x140059842
mov r8, qword [rcx - 8]
sub rcx, r8
add rdx, 0x27
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14005a18a
mov rcx, r8
call fcn.140260e60
mov qword [r15 + 0x10], rbx
mov qword [r15 + 0x18], 7
mov word [r15], bx
mov rdx, qword [rsi + 0x18]
cmp rdx, 7
jbe 0x140059896
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x140059891
mov r8, qword [rcx - 8]
sub rcx, r8
add rdx, 0x27
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14005a131
mov rcx, r8
call fcn.140260e60
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], 7
mov word [rsi], bx
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.140260e40
mov rbx, qword [rsp + 0x170]
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 - 1]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jns 0x140059907
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1400597b7
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea r9, [0x1402e6dd8]
mov r13d, 1
mov r8d, r13d
xor edx, edx
lea rcx, [0x1402e6de8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14005993e
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1400597b7
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x18]
mov ecx, 0x18
call fcn.140260f98
mov rbx, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140059993
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], rax
mov dword [rbx + 0x10], r13d
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x14005998e
test r12, r12
jne 0x14005a169
xor r12d, r12d
jmp 0x140059999
xor r12d, r12d
mov ebx, r12d
mov qword [rbp - 0x70], rbx
test rbx, rbx
je 0x14005a15e
lea rax, [rbp - 0x48]
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 - 0x40]
call r14
mov r14d, eax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x140059a15
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400599f6
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140059a08
call fcn.140260e60
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.140260e60
test r14d, r14d
jns 0x140059b24
mov rcx, qword [rbp - 0x40]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 7
jbe 0x140059a6f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140059a6a
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a158
call fcn.140260e60
movdqa xmm0, xmmword [0x1402fcf40]
mov word [rbp], r12w
movdqu xmmword [rbp + 0x10], xmm0
mov rdx, qword [r15 + 0x18]
cmp rdx, 7
jbe 0x140059ac0
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
mov rcx, qword [r15]
jb 0x140059abb
mov r8, qword [rcx - 8]
sub rcx, r8
add rdx, 0x27
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14005a18a
mov rcx, r8
call fcn.140260e60
mov word [r15], r12w
mov qword [r15 + 0x18], 7
mov qword [r15 + 0x10], r12
mov rdx, qword [rsi + 0x18]
cmp rdx, 7
jbe 0x140059b0f
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
mov rcx, qword [rsi]
jb 0x140059b0a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14005a131
mov rcx, r8
call fcn.140260e60
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], 7
mov word [rsi], r12w
jmp 0x1400598a5
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
lea edx, [r9 + 0xa]
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x140059b65
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x140059a1e
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax]
mov r13, qword [rcx + 0xa0]
lea r14, [rbp]
cmp qword [rbp + 0x18], 7
cmova r14, qword [rbp]
mov ecx, 0x18
call fcn.140260f98
mov rbx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140059bcb
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r12
mov dword [rbx + 0x10], 1
mov rcx, r14
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x140059bce
test r14, r14
jne 0x14005a137
jmp 0x140059bce
mov rbx, r12
mov qword [rbp - 0x68], rbx
test rbx, rbx
je 0x14005a15e
mov r12, qword [rbx]
mov ecx, 0x18
call fcn.140260f98
mov r14, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140059c2b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], rax
mov qword [r14 + 8], rax
mov dword [r14 + 0x10], 1
lea rcx, [0x1402fcb18]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [r14], rax
test rax, rax
je 0x14005a174
xor ecx, ecx
jmp 0x140059c30
xor ecx, ecx
mov r14d, ecx
mov qword [rbp - 0x60], r14
test r14, r14
je 0x14005a17f
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r9d, 0x30
mov r8, r12
mov rdx, qword [r14]
mov rcx, qword [rbp - 0x48]
call r13
mov r12d, eax
mov ecx, 0xffffffff
lock xadd dword [r14 + 0x10], ecx
cmp ecx, 1
jne 0x140059caa
mov rcx, qword [r14]
test rcx, rcx
je 0x140059c87
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
xor r13d, r13d
mov qword [r14], r13
jmp 0x140059c8a
xor r13d, r13d
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x140059c9c
call fcn.140260e60
mov qword [r14 + 8], r13
mov edx, 0x18
mov rcx, r14
call fcn.140260e60
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140059cf1
mov rcx, qword [rbx]
test rcx, rcx
je 0x140059ccf
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
xor r14d, r14d
mov qword [rbx], r14
jmp 0x140059cd2
xor r14d, r14d
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140059ce4
call fcn.140260e60
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.140260e60
test r12d, r12d
jns 0x140059d58
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x40]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 7
jbe 0x140059d51
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059d4c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a158
call fcn.140260e60
xor ebx, ebx
jmp 0x1400597f7
mov rcx, qword [rbp - 0x38]
mov r12d, 1
test rcx, rcx
je 0x14005a068
xor r13d, r13d
nop
mov rax, qword [rcx]
lea rdx, [rbp + 0x20]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x30]
mov r8d, r12d
mov edx, 0xffffffff
call qword [rax + 0x20]
cmp dword [rbp + 0x20], 0
je 0x14005a068
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
mov rdx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140059da9
mov rdx, qword [rsi]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
lea r9, [rbp - 0x28]
xor r8d, r8d
call qword [rax + 0x20]
lea rdx, [0x14034ca98]
lea rcx, [0x14034d200]
call fcn.140262d18
test eax, eax
je 0x14005a01d
lea rdx, [0x14034b858]
lea rcx, [0x14034d200]
call fcn.140262d18
test eax, eax
je 0x14005a01d
lea rdx, [0x14034d648]
lea rcx, [0x14034d200]
call fcn.140262d18
test eax, eax
jne 0x140059e35
movsx rax, word [rbp - 0x20]
mov qword [rsp + 0x60], rax
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x140059e2b
mov qword [rdx], rax
add qword [rdi + 8], 8
jmp 0x14005a047
lea r8, [rsp + 0x60]
jmp 0x14005a03f
lea rdx, [0x14034b9e8]
lea rcx, [0x14034d200]
call fcn.140262d18
test eax, eax
jne 0x140059e75
mov eax, dword [rbp - 0x20]
mov qword [rsp + 0x68], rax
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x140059e6b
mov qword [rdx], rax
add qword [rdi + 8], 8
jmp 0x14005a047
lea r8, [rsp + 0x68]
jmp 0x14005a03f
lea rdx, [0x14034cf88]
lea rcx, [0x14034d200]
call fcn.140262d18
test eax, eax
jne 0x140059eb6
movzx eax, word [rbp - 0x20]
mov qword [rsp + 0x70], rax
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x140059eac
mov qword [rdx], rax
add qword [rdi + 8], 8
jmp 0x14005a047
lea r8, [rsp + 0x70]
jmp 0x14005a03f
lea rdx, [0x14034cc08]
lea rcx, [0x14034d200]
call fcn.140262d18
test eax, eax
jne 0x140059ef7
mov rax, qword [rbp - 0x20]
mov qword [rsp + 0x78], rax
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x140059eed
mov qword [rdx], rax
add qword [rdi + 8], 8
jmp 0x14005a047
lea r8, [rsp + 0x78]
jmp 0x14005a03f
lea rdx, [0x14034b818]
lea rcx, [0x14034d200]
call fcn.140262d18
test eax, eax
jne 0x140059f36
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x80], rax
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x140059f2d
mov qword [rdx], rax
add qword [rdi + 8], 8
jmp 0x14005a047
lea r8, [rbp - 0x80]
jmp 0x14005a03f
mov r14, qword [rbp - 0x20]
mov ecx, 0x18
call fcn.140260f98
mov rbx, rax
mov qword [rbp - 0x58], rax
test rax, rax
je 0x140059f80
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r13
mov dword [rbx + 0x10], r12d
mov rcx, r14
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x140059f83
test r14, r14
jne 0x14005a142
jmp 0x140059f83
mov rbx, r13
mov qword [rbp - 0x50], rbx
test rbx, rbx
je 0x14005a15e
mov rcx, qword [rbx]
test rcx, rcx
je 0x140059fb4
call qword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
mov edx, eax
mov rcx, qword [rbx]
call qword [sym.imp.OLEAUT32.dll_DllRegisterServer]
test rax, rax
je 0x14005a14d
jmp 0x140059fb7
mov rax, r13
mov qword [rbp - 0x78], rax
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x140059fcf
mov qword [rdx], rax
add qword [rdi + 8], 8
jmp 0x140059fdc
lea r8, [rbp - 0x78]
mov rcx, rdi
call fcn.140085450
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14005a047
mov rcx, qword [rbx]
test rcx, rcx
je 0x140059ffc
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r13
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14005a00e
call fcn.140260e60
mov qword [rbx + 8], r13
mov edx, 0x18
mov rcx, rbx
call fcn.140260e60
jmp 0x14005a047
movsxd rax, dword [rbp - 0x20]
mov qword [rsp + 0x58], rax
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x14005a03a
mov qword [rdx], rax
add qword [rdi + 8], 8
jmp 0x14005a047
lea r8, [rsp + 0x58]
mov rcx, rdi
call fcn.140085450
lea rcx, [rbp - 0x28]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x38]
test rcx, rcx
jne 0x140059d70
mov r14, qword [rdi + 8]
mov rdx, qword [rdi]
mov rcx, r14
sub rcx, rdx
cmp rcx, 8
jae 0x14005a0c8
sar rcx, 3
cmp rcx, 1
jbe 0x14005a08b
lea rax, [rdx + 8]
jmp 0x14005a0c4
jae 0x14005a0c8
mov rax, qword [rdi + 0x10]
sub rax, rdx
sar rax, 3
cmp rax, 1
jae 0x14005a0a8
mov rcx, rdi
call fcn.1400852f0
jmp 0x14005a0c8
sub r12, rcx
lea rbx, [r12*8]
mov r8, rbx
xor edx, edx
mov rcx, r14
call fcn.1402a1980
lea rax, [r14 + rbx]
mov qword [rdi + 8], rax
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x40]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 7
jbe 0x140059d51
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059d4c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a158
jmp 0x140059d4c
call fcn.14027d5c0
nop
mov ecx, 0x8007000e
call fcn.1402608b0
nop
mov ecx, 0x8007000e
call fcn.1402608b0
nop
mov ecx, 0x8007000e
call fcn.1402608b0
nop
call fcn.14027d5c0
nop
mov ecx, 0x8007000e
call fcn.1402608b0
nop
mov ecx, 0x8007000e
call fcn.1402608b0
nop
mov ecx, 0x8007000e
call fcn.1402608b0
nop
mov ecx, 0x8007000e
call fcn.1402608b0
nop
call fcn.14027d5c0
int3