Function at 0x140059c00
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 - 0x1d0]
sub rsp, 0x2d0
mov rax, qword [0x140342fc0]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov r14, r9
mov rdi, r8
mov rsi, rdx
mov qword [rbp + 0x188], rdx
mov qword [rbp + 0x190], r8
xorps xmm0, xmm0
movups xmmword [rbp + 0x198], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1a8], xmm1
mov r8d, 7
lea rdx, str.SELECT
lea rcx, [rbp + 0x198]
call fcn.140039770
nop
mov rdx, rdi
cmp qword [rdi + 0x18], 7
jbe 0x140059c83
mov rdx, qword [rdi]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140059c90
lea rcx, [rbp + 0x198]
call fcn.140046ad0
mov r8d, 6
lea rdx, str._FROM
mov rcx, rax
call fcn.140046ad0
mov rdx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140059cc9
mov rdx, qword [rsi]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x140059cd0
mov rcx, rax
call fcn.140046ad0
xor r12d, r12d
mov qword [rbp + 0x158], r12
mov qword [rbp + 0x150], r12
mov qword [rbp + 0x160], r12
mov qword [rbp + 0x168], r12
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x170], xmm0
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x1b8], r12d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jns 0x140059e54
mov rdx, qword [rbp + 0x1b0]
cmp rdx, 7
jbe 0x140059d74
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x198]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140059d6f
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a7d5
call fcn.14025e770
movdqa xmm0, xmmword [0x1402f99c0]
movdqu xmmword [rbp + 0x1a8], xmm0
mov word [rbp + 0x198], r12w
mov rdx, qword [rsi + 0x18]
cmp rdx, 7
jbe 0x140059dcb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x140059dc6
mov r8, qword [rcx - 8]
sub rcx, r8
add rdx, 0x27
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14005a7f1
mov rcx, r8
call fcn.14025e770
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], 7
mov word [rsi], r12w
mov rdx, qword [rdi + 0x18]
cmp rdx, 7
jbe 0x140059e1a
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
mov rcx, qword [rdi]
jb 0x140059e15
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14005a798
mov rcx, r8
call fcn.14025e770
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], 7
mov word [rdi], r12w
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.14025e750
mov rbx, qword [rsp + 0x310]
add rsp, 0x2d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 - 1]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jns 0x140059e91
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x140059d2e
lea rax, [rbp + 0x158]
mov qword [rsp + 0x20], rax
lea r9, [0x1402e3d98]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x1402e3da8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x140059ec6
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x140059d2e
mov rax, qword [rbp + 0x158]
mov rcx, qword [rax]
mov r15, qword [rcx + 0x18]
mov ecx, 0x18
call fcn.14025e8a8
mov rbx, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140059f1d
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
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x14005a79e
jmp 0x140059f20
mov rbx, r12
mov qword [rbp + 0x30], rbx
test rbx, rbx
je 0x14005a7db
lea rax, [rbp + 0x150]
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 + 0x158]
call r15
mov r15d, eax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x140059fa2
mov rcx, qword [rbx]
test rcx, rcx
je 0x140059f83
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140059f95
call fcn.14025e770
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14025e770
test r15d, r15d
jns 0x140059fbf
mov rcx, qword [rbp + 0x158]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x140059d2e
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 + 0x150]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x14005a003
mov rcx, qword [rbp + 0x150]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x140059fa7
mov rax, qword [rbp + 0x150]
mov rcx, qword [rax]
mov r13, qword [rcx + 0xa0]
lea r15, [rbp + 0x198]
cmp qword [rbp + 0x1b0], 7
cmova r15, qword [rbp + 0x198]
mov ecx, 0x18
call fcn.14025e8a8
mov rbx, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14005a075
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, r15
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x14005a078
test r15, r15
jne 0x14005a7a9
jmp 0x14005a078
mov rbx, r12
mov qword [rbp + 0x38], rbx
test rbx, rbx
je 0x14005a7db
mov r12, qword [rbx]
mov ecx, 0x18
call fcn.14025e8a8
mov r15, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14005a0d3
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], rax
mov qword [r15 + 8], rax
mov dword [r15 + 0x10], 1
lea rcx, [0x1402f95a8]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [r15], rax
test rax, rax
je 0x14005a7b4
jmp 0x14005a0d6
xor r15d, r15d
mov qword [rbp + 0x40], r15
test r15, r15
je 0x14005a7e6
lea rax, [rbp + 0x160]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
mov r9d, 0x30
mov r8, r12
mov rdx, qword [r15]
mov rcx, qword [rbp + 0x150]
call r13
mov r12d, eax
mov ecx, 0xffffffff
lock xadd dword [r15 + 0x10], ecx
cmp ecx, 1
jne 0x14005a15a
mov rcx, qword [r15]
test rcx, rcx
je 0x14005a136
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [r15], 0
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x14005a14c
call fcn.14025e770
mov qword [r15 + 8], 0
mov edx, 0x18
mov rcx, r15
call fcn.14025e770
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14005a1a1
mov rcx, qword [rbx]
test rcx, rcx
je 0x14005a17e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], 0
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14005a194
call fcn.14025e770
mov qword [rbx + 8], 0
mov edx, 0x18
mov rcx, rbx
call fcn.14025e770
test r12d, r12d
jns 0x14005a2cb
mov rcx, qword [rbp + 0x150]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp + 0x158]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
mov rdx, qword [rbp + 0x1b0]
cmp rdx, 7
jbe 0x14005a211
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x198]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005a20c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a7d5
call fcn.14025e770
xor ebx, ebx
movdqa xmm0, xmmword [0x1402f99c0]
mov word [rbp + 0x198], bx
movdqu xmmword [rbp + 0x1a8], xmm0
mov rdx, qword [rsi + 0x18]
cmp rdx, 7
jbe 0x14005a269
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
mov rcx, qword [rsi]
jb 0x14005a264
mov r8, qword [rcx - 8]
sub rcx, r8
add rdx, 0x27
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14005a7f1
mov rcx, r8
call fcn.14025e770
mov word [rsi], bx
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
mov rdx, qword [rdi + 0x18]
cmp rdx, 7
jbe 0x14005a2b7
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
mov rcx, qword [rdi]
jb 0x14005a2b2
mov r8, qword [rcx - 8]
sub rcx, r8
add rdx, 0x27
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14005a798
mov rcx, r8
call fcn.14025e770
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 7
mov word [rdi], bx
jmp 0x140059e2a
mov rcx, qword [rbp + 0x160]
test rcx, rcx
je 0x14005a70a
xor r12d, r12d
nop
mov rax, qword [rcx]
lea rdx, [rbp + 0x1b8]
mov qword [rsp + 0x20], rdx
lea r9, [rbp + 0x168]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + 0x20]
cmp dword [rbp + 0x1b8], 0
je 0x14005a70a
mov rcx, qword [rbp + 0x168]
mov rax, qword [rcx]
mov rdx, rdi
cmp qword [rdi + 0x18], 7
jbe 0x14005a326
mov rdx, qword [rdi]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x170]
xor r8d, r8d
call qword [rax + 0x20]
lea rdx, [0x140348a98]
lea rcx, [0x140349648]
call fcn.140260628
test eax, eax
je 0x14005a68c
lea rdx, [0x140347858]
lea rcx, [0x140349648]
call fcn.140260628
test eax, eax
je 0x14005a68c
lea rdx, [0x140349648]
lea rcx, [0x140349648]
call fcn.140260628
test eax, eax
jne 0x14005a3d0
cmp word [rbp + 0x178], ax
setne byte [rsp + 0x50]
mov rax, qword [r14]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], r12
mov r8, qword [r14 + 0x18]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x50]
call fcn.140051bd0
movaps xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rbp + 0x70], xmm0
lea rax, [rsp + 0x50]
lea r8, [rbp + 0x70]
lea rdx, [rbp + 0xe0]
jmp 0x14005a6cd
lea rdx, [0x1403479e8]
lea rcx, [0x140349648]
call fcn.140260628
test eax, eax
jne 0x14005a43b
cmp dword [rbp + 0x178], eax
setne byte [rsp + 0x51]
mov rax, qword [r14]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], r12
mov r8, qword [r14 + 0x18]
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x60]
call fcn.140051bd0
movaps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x90], xmm0
lea rax, [rsp + 0x51]
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0xf0]
jmp 0x14005a6cd
lea rdx, [0x140348f88]
lea rcx, [0x140349648]
call fcn.140260628
test eax, eax
jne 0x14005a4a7
cmp word [rbp + 0x178], ax
setne byte [rsp + 0x52]
mov rax, qword [r14]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r12
mov r8, qword [r14 + 0x18]
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x70]
call fcn.140051bd0
movaps xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0xb0], xmm0
lea rax, [rsp + 0x52]
lea r8, [rbp + 0xb0]
lea rdx, [rbp + 0x100]
jmp 0x14005a6cd
lea rdx, [0x140348c08]
lea rcx, [0x140349648]
call fcn.140260628
test eax, eax
jne 0x14005a511
cmp qword [rbp + 0x178], 0
setne byte [rsp + 0x53]
mov rax, qword [r14]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], r12
mov r8, qword [r14 + 0x18]
lea rdx, [rbp + 0xc0]
lea rcx, [rbp - 0x80]
call fcn.140051bd0
movaps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0xd0], xmm0
lea rax, [rsp + 0x53]
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0x110]
jmp 0x14005a6cd
lea rdx, [0x140347818]
lea rcx, [0x140349648]
call fcn.140260628
test eax, eax
jne 0x14005a56f
cmp qword [rbp + 0x178], 0
setne byte [rsp + 0x54]
mov rax, qword [r14]
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], r12
mov r8, qword [r14 + 0x18]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x70]
call fcn.140051bd0
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x20], xmm0
lea rax, [rsp + 0x54]
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x120]
jmp 0x14005a6cd
mov r15, qword [rbp + 0x178]
mov ecx, 0x18
call fcn.14025e8a8
mov rbx, rax
mov qword [rbp + 0x48], rax
test rax, rax
je 0x14005a5bf
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, r15
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x14005a5c2
test r15, r15
jne 0x14005a7bf
jmp 0x14005a5c2
mov rbx, r12
mov qword [rbp + 0x50], rbx
test rbx, rbx
je 0x14005a7db
mov rcx, qword [rbx]
test rcx, rcx
je 0x14005a5f3
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 0x14005a7ca
jmp 0x14005a5f6
mov rax, r12
test rax, rax
setne byte [rsp + 0x55]
mov rax, qword [r14]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], r12
mov r8, qword [r14 + 0x18]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x60]
call fcn.140051bd0
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp], xmm0
lea rax, [rsp + 0x55]
mov qword [rsp + 0x20], rax
mov r9d, 1
lea r8, [rbp]
lea rdx, [rbp + 0x130]
mov rcx, r14
call fcn.140051c40
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14005a6e0
mov rcx, qword [rbx]
test rcx, rcx
je 0x14005a66b
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14005a67d
call fcn.14025e770
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14025e770
jmp 0x14005a6e0
cmp dword [rbp + 0x178], 0
setne byte [rsp + 0x56]
mov rax, qword [r14]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], r12
mov r8, qword [r14 + 0x18]
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x40]
call fcn.140051bd0
movaps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0x20], xmm0
lea rax, [rsp + 0x56]
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x140]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov rcx, r14
call fcn.140051c40
lea rcx, [rbp + 0x170]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp + 0x168]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp + 0x160]
test rcx, rcx
jne 0x14005a2e0
cmp qword [r14 + 0x18], 0
jne 0x14005a720
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, r14
call fcn.140069990
mov rcx, qword [rbp + 0x150]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp + 0x158]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbp + 0x160]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
mov rdx, qword [rbp + 0x1b0]
cmp rdx, 7
jbe 0x14005a211
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x198]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005a20c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005a7d5
jmp 0x14005a20c
call fcn.14027aed0
nop
mov ecx, 0x8007000e
call fcn.14025e1c0
nop
mov ecx, 0x8007000e
call fcn.14025e1c0
nop
mov ecx, 0x8007000e
call fcn.14025e1c0
nop
mov ecx, 0x8007000e
call fcn.14025e1c0
nop
mov ecx, 0x8007000e
call fcn.14025e1c0
nop
call fcn.14027aed0
nop
mov ecx, 0x8007000e
call fcn.14025e1c0
nop
mov ecx, 0x8007000e
call fcn.14025e1c0
nop
call fcn.14027aed0
int3