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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
push 0
push 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x4898ee
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
jns 0x489906
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp + 8]
movups xmm0, xmmword [ebp - 0x28]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x18]
movq qword [eax + 0x10], xmm0
mov esp, ebp
pop ebp
ret
push esi
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], 0
push eax
push 0x4cb8c0
push 1
push 0
push 0x4cb8d0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x489983
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x28]
push eax
mov ecx, esi
call fcn.004897a0
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x489a85
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x489972
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489f4b
push edx
push ecx
call fcn.004a06de
add esp, 8
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4c9410]
xor ecx, ecx
movups xmm0, xmmword [str.azbkpwm]
mov dword [ebp - 0x2e], eax
mov ax, word [0x4c9414]
mov dword [ebp - 4], 0
movups xmmword [ebp - 0x3e], xmm0
mov word [ebp - 0x2a], ax
nop dword [eax]
mov eax, 0xa0a0a0a1
mul ecx
mov eax, 1
shr edx, 5
sub eax, edx
imul eax, eax, 0x33
add eax, ecx
xor word [ebp + ecx*2 - 0x3e], ax
inc ecx
cmp ecx, 0xb
jl 0x4899b0
push ebx
push edi
lea eax, [ebp - 0x3e]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edx, dword [ebp - 0xc]
mov edi, eax
lea eax, [ebp - 4]
push eax
push 0
mov ecx, dword [edx]
push 0
push 0
push 0
push 0
push 0
push edi
push edx
call dword [ecx + 0xc]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, eax
push edi
call ebx
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
js 0x489a35
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [ebp - 4]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x489a8c
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x28]
push eax
mov ecx, esi
call fcn.004897a0
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x489a83
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x489a79
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489f4b
push edx
push ecx
call fcn.004a06de
add esp, 8
pop edi
pop ebx
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
movups xmm0, xmmword [0x4c9418]
mov eax, dword [0x4c9430]
xor esi, esi
mov edi, dword [0x4dcc20]
mov dword [ebp - 0x66], eax
mov ax, word [0x4c9434]
mov word [ebp - 0x62], ax
lea eax, [esi + 5]
lea ecx, [esi + 0x1f]
movups xmmword [ebp - 0x7e], xmm0
movq xmm0, qword [str.ezoqr_A]
movq qword [ebp - 0x6e], xmm0
cmp edi, 2
jl 0x489bc0
movaps xmm2, xmmword [0x4c0630]
mov esi, 8
movaps xmm3, xmmword [0x4c9450]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm4, eax
psrad xmm1, xmm4
movd xmm5, ecx
mov eax, 0x4c9418
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x4c9440]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x4c07c0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
paddw xmm1, xmmword [0x4c0650]
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0x7e], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm4
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x4c9440]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [ebp - 0x76]
paddw xmm1, xmmword [0x4c0650]
pxor xmm1, xmm0
movq qword [ebp - 0x76], xmm1
nop word [eax + eax]
mov eax, 0xa0a0a0a1
imul esi
mov eax, 1
add edx, esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
imul eax, eax, 0x33
add eax, esi
xor word [ebp + esi*2 - 0x7e], ax
inc esi
cmp esi, 0xf
jl 0x489bc0
lea eax, [ebp - 0x7e]
push eax
lea ecx, [ebp - 0x40]
call fcn.004897f0
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x14], 8
mov edx, dword [ecx + 0x10]
jb 0x489c04
mov ecx, dword [ecx]
push edx
push ecx
mov ecx, eax
call fcn.00489f60
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x60], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x50], xmm0
mov word [eax], cx
lea ecx, [ebp - 0x40]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
call fcn.00489840
cmp dword [ebp - 0x4c], 8
lea eax, [ebp - 0x60]
mov esi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
cmovae eax, dword [ebp - 0x60]
push eax
call esi
cmp word [0x4c943e], 0
mov ecx, dword [str.dey63]
mov edx, dword [0x4c943c]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
je 0x489d21
xor ecx, ecx
cmp edi, 2
jl 0x489d00
movaps xmm3, xmmword [0x4c0630]
mov eax, 5
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x4c9450]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x4c9450]
shufps xmm2, xmm0, 0xdd
movd xmm0, eax
paddd xmm2, xmm3
psrad xmm2, xmm0
mov eax, 0x1f
movaps xmm1, xmm2
movd xmm0, eax
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x4c9440]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [ebp - 0x30]
paddw xmm1, xmmword [0x4c0650]
pxor xmm1, xmm0
movq qword [ebp - 0x30], xmm1
jmp 0x489d21
mov eax, 0xa0a0a0a1
mul ecx
mov eax, 1
shr edx, 5
sub eax, edx
imul eax, eax, 0x33
add eax, ecx
xor word [ebp + ecx*2 - 0x30], ax
inc ecx
cmp ecx, 4
jl 0x489d00
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x98]
call fcn.004897f0
cmp dword [ebp - 0x84], 8
lea eax, [ebp - 0x98]
cmovae eax, dword [ebp - 0x98]
push eax
call esi
mov edx, dword [ebp - 4]
mov edi, eax
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0
mov ecx, dword [edx]
push 0x30
push dword [ebp - 0x44]
push edi
push edx
call dword [ecx + 0x50]
push edi
mov esi, eax
call ebx
push dword [ebp - 0x44]
call ebx
test esi, esi
jns 0x489dee
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x28]
push eax
mov ecx, esi
call fcn.004897a0
lea ecx, [ebp - 0x98]
call fcn.00489840
mov edx, dword [ebp - 0x4c]
cmp edx, 8
jb 0x489dd5
mov ecx, dword [ebp - 0x60]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x489dcb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489f4b
push edx
push ecx
call fcn.004a06de
add esp, 8
xor eax, eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
jmp 0x489a49
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x48], 0
test ecx, ecx
je 0x489e98
mov esi, dword [ebp + 0x10]
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ecx]
lea edx, [ebp - 0x48]
push edx
lea edx, [ebp - 0x10]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
cmp dword [ebp - 0x48], 0
je 0x489e98
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
cmp dword [esi + 0x14], 8
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov eax, esi
jb 0x489e44
mov eax, dword [esi]
push 0
push 0
lea edi, [ebp - 0x38]
push edi
push 0
push eax
push ecx
call edx
test eax, eax
js 0x489e84
cmp word [ebp - 0x38], 8
jne 0x489e7e
mov edx, dword [ebp - 0x30]
mov eax, edx
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x489e65
sub eax, edi
lea ecx, [ebp - 0x28]
sar eax, 1
push eax
push edx
call fcn.004032f0
lea eax, [ebp - 0x38]
push eax
call ebx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 8]
test ecx, ecx
jne 0x489e10
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x28]
push eax
mov ecx, esi
call fcn.004897a0
lea ecx, [ebp - 0x98]
call fcn.00489840
mov edx, dword [ebp - 0x4c]
cmp edx, 8
jb 0x489eff
mov ecx, dword [ebp - 0x60]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x489ef5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489f4b
push edx
push ecx
call fcn.004a06de
add esp, 8
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
cmp edx, 8
jb 0x489a83
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x489a79
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x489a79
call fcn.004a514f
int3