Function at 0x41a7c0
Capabilities:
Connect to wmi namespace via wbemlocator
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
push ebx
push esi
push edi
push 0
push 0
mov dword [ebp - 0xc], edx
mov ebx, ecx
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 7
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x41a8f2
push 0
push 0
push 0
push 3
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
js 0x41a8ec
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
push 0x43b678
push 1
push 0
push 0x43b688
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x41a8ec
mov eax, dword [0x44682c]
xor esi, esi
movups xmm0, xmmword [0x44681c]
mov dword [ebp - 0x1a], eax
mov ax, word [0x446830]
mov dword [ebp - 8], 0
movups xmmword [ebp - 0x2a], xmm0
mov word [ebp - 0x16], ax
mov eax, 0x2f684bdb
mov ecx, esi
mul esi
mov eax, esi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
imul eax, eax, 0x36
sub ecx, eax
add ecx, 0x34
xor word [ebp + esi*2 - 0x2a], cx
inc esi
cmp esi, 0xb
jl 0x41a865
lea eax, [ebp - 0x2a]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [ebp - 0x30]
mov edi, eax
lea eax, [ebp - 8]
push eax
push 0
mov edx, dword [ecx]
push 0
push 0
push 0
push 0
push 0
push edi
push ecx
call dword [edx + 0xc]
push edi
mov esi, eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
js 0x41a8ec
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [ebp - 8]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x41a90c
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
movups xmm0, xmmword [ebp - 0x50]
mov eax, ebx
movups xmmword [ebx], xmm0
movq xmm0, qword [ebp - 0x40]
movq qword [ebx + 0x10], xmm0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movups xmm0, xmmword [0x446834]
mov eax, dword [0x44684c]
xor esi, esi
mov edi, dword [0x44b508]
mov dword [ebp - 0x6e], eax
mov ax, word [0x446850]
mov word [ebp - 0x6a], ax
lea eax, [esi + 4]
lea ecx, [esi + 0x1f]
movups xmmword [ebp - 0x86], xmm0
movq xmm0, qword [0x446844]
movq qword [ebp - 0x76], xmm0
cmp edi, 2
jl 0x41aa33
movaps xmm2, xmmword [0x446860]
mov esi, 8
movaps xmm3, xmmword [0x446920]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
movd xmm4, eax
mov eax, 0x446834
psrad xmm1, xmm4
movd xmm5, ecx
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x4468b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x446870]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
paddw xmm1, xmmword [0x4468d0]
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x86], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm4
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x4468b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [ebp - 0x7e]
paddw xmm1, xmmword [0x4468d0]
pxor xmm1, xmm0
movq qword [ebp - 0x7e], xmm1
mov eax, 0x4bda12f7
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x36
sub ecx, eax
add ecx, 0x34
xor word [ebp + esi*2 - 0x86], cx
inc esi
cmp esi, 0xf
jl 0x41aa33
lea ecx, [ebp - 0x86]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 2]
mov dword [ebp - 0x18], 7
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41aa80
sub ecx, edx
lea eax, [ebp - 0x86]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.00403b90
push dword [ebp - 0xc]
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0xa0]
call fcn.00414200
mov edx, dword [ebp - 0x18]
add esp, 4
cmp edx, 8
jb 0x41aaed
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41aae3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41ae80
push edx
push ecx
call fcn.0041c138
add esp, 8
cmp dword [ebp - 0x8c], 8
lea eax, [ebp - 0xa0]
cmovae eax, dword [ebp - 0xa0]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
cmp word [0x44681a], 0
mov esi, eax
mov ecx, dword [0x446814]
mov edx, dword [0x446818]
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edx
je 0x41abea
xor esi, esi
cmp edi, 2
jl 0x41abc0
movaps xmm3, xmmword [0x446860]
mov eax, 4
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x446920]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x446920]
shufps xmm2, xmm0, 0xdd
movd xmm0, eax
mov eax, 0x1f
psrad xmm2, xmm0
movaps xmm1, xmm2
movd xmm0, eax
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x4468b0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [ebp - 0x1c]
paddw xmm1, xmmword [0x4468d0]
pxor xmm1, xmm0
movq qword [ebp - 0x1c], xmm1
jmp 0x41abe7
mov eax, 0x2f684bdb
mov ecx, esi
mul esi
mov eax, esi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
imul eax, eax, 0x36
sub ecx, eax
add ecx, 0x34
xor word [ebp + esi*2 - 0x1c], cx
inc esi
cmp esi, 4
jl 0x41abc0
mov esi, dword [ebp - 0xc]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x58], 0
lea edx, [ecx + 2]
mov dword [ebp - 0x54], 7
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41ac05
sub ecx, edx
lea eax, [ebp - 0x1c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x68]
call fcn.00403b90
cmp dword [ebp - 0x54], 8
lea eax, [ebp - 0x68]
cmovae eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [ebp - 8]
mov edi, eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
push 0
mov edx, dword [ecx]
push 0x30
push esi
push edi
push ecx
call dword [edx + 0x50]
push edi
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, eax
call edi
push dword [ebp - 0xc]
call edi
test esi, esi
jns 0x41ad1e
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
movups xmm0, xmmword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
movups xmmword [ebx], xmm0
movq xmm0, qword [ebp - 0x40]
movq qword [ebx + 0x10], xmm0
cmp edx, 8
jb 0x41acc1
mov ecx, dword [ebp - 0x68]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41acb7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41ae7b
push edx
push ecx
call fcn.0041c138
add esp, 8
mov edx, dword [ebp - 0x8c]
xor eax, eax
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
cmp edx, 8
jb 0x41ad15
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41ad0b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41ae7b
push edx
push ecx
call fcn.0041c138
add esp, 8
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
test ecx, ecx
je 0x41adca
mov esi, dword [ebp + 8]
nop word [eax + eax]
mov eax, dword [ecx]
lea edx, [ebp - 0x38]
push edx
lea edx, [ebp - 0x34]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
cmp dword [ebp - 0x38], 0
je 0x41adca
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
cmp dword [esi + 0x14], 8
mov edx, esi
jb 0x41ad6c
mov edx, dword [esi]
mov eax, dword [ebp - 0x34]
lea edi, [ebp - 0x24]
push 0
push 0
push edi
mov ecx, dword [eax]
push 0
push edx
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x41adb6
cmp word [ebp - 0x24], 8
jne 0x41adac
mov edx, dword [ebp - 0x1c]
mov eax, edx
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41ad93
sub eax, edi
lea ecx, [ebp - 0x50]
sar eax, 1
push eax
push edx
call fcn.00403b90
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jne 0x41ad40
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
movups xmm0, xmmword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
movups xmmword [ebx], xmm0
movq xmm0, qword [ebp - 0x40]
movq qword [ebx + 0x10], xmm0
cmp edx, 8
jb 0x41ae29
mov ecx, dword [ebp - 0x68]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41ae1f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41ae7b
push edx
push ecx
call fcn.0041c138
add esp, 8
mov edx, dword [ebp - 0x8c]
xor eax, eax
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
cmp edx, 8
jb 0x41ad15
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41ad0b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x41ad0b
call fcn.00421c52
call fcn.00421c52
int3