Function at 0x458820
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x65e359
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x6d6ec0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x3c]
mov dword [ebp - 0x58], eax
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x28]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push str.SELECT
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0
call fcn.00423ce0
mov byte [ebp - 4], 2
lea edx, [ebp + 0x20]
cmp dword [ebp + 0x34], 7
cmova edx, dword [ebp + 0x20]
mov edi, edx
lea ecx, [edi + 2]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x458895
mov eax, dword [ebp - 0x14]
sub edi, ecx
mov ecx, dword [ebp - 0x18]
sub eax, ecx
sar edi, 1
mov dword [ebp - 0x54], ecx
cmp edi, eax
ja 0x4588e5
cmp dword [ebp - 0x14], 7
lea eax, [ecx + edi]
lea esi, [ebp - 0x28]
mov dword [ebp - 0x18], eax
cmova esi, dword [ebp - 0x28]
lea eax, [edi + edi]
push eax
push edx
lea ecx, [esi + ecx*2]
push ecx
call fcn.006217b0
mov eax, dword [ebp - 0x54]
add esp, 0xc
add eax, edi
xor ecx, ecx
mov word [esi + eax*2], cx
lea esi, [ebp - 0x28]
jmp 0x4588f5
push edi
push edx
push dword [ebp - 0x54]
lea ecx, [ebp - 0x28]
push edi
call fcn.0045e610
mov esi, eax
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [esi + 0x10]
sub eax, ecx
cmp eax, 6
jb 0x458934
lea eax, [ecx + 6]
mov edi, esi
mov dword [ebp - 0x54], eax
mov dword [esi + 0x10], eax
cmp edx, 7
jbe 0x458916
mov edi, dword [esi]
push 0xc
lea eax, [edi + ecx*2]
push str._FROM
push eax
call fcn.006217b0
mov eax, dword [ebp - 0x54]
add esp, 0xc
xor ecx, ecx
mov word [edi + eax*2], cx
jmp 0x458949
push 6
push str._FROM
push dword [ebp - 0x54]
mov ecx, esi
push 6
call fcn.0045e610
mov esi, eax
cmp dword [ebp + 0x1c], 7
lea edi, [ebp + 8]
cmova edi, dword [ebp + 8]
mov edx, edi
lea ecx, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x458960
mov eax, dword [esi + 0x14]
sub edx, ecx
mov ecx, dword [esi + 0x10]
sub eax, ecx
sar edx, 1
cmp edx, eax
ja 0x4589a8
cmp dword [esi + 0x14], 7
lea eax, [ecx + edx]
mov dword [ebp - 0x54], eax
mov dword [esi + 0x10], eax
jbe 0x45898c
mov esi, dword [esi]
lea eax, [edx + edx]
push eax
lea ecx, [esi + ecx*2]
push edi
push ecx
call fcn.006217b0
mov eax, dword [ebp - 0x54]
add esp, 0xc
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x4589b5
push edx
push edi
push dword [ebp - 0x54]
mov ecx, esi
push edx
call fcn.0045e610
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0
push 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x2c], 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x458cb4
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 0x458cae
lea eax, [ebp - 0x34]
push eax
push 0x699d6c
push 1
push 0
push 0x699d7c
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x458cae
mov eax, dword [ebp - 0x34]
push 0xc
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
call fcn.0061f577
mov esi, eax
add esp, 4
mov dword [ebp - 0x54], esi
mov byte [ebp - 4], 3
test esi, esi
je 0x458a86
push dword [ebp - 0x58]
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
jne 0x458a88
cmp dword [ebp - 0x58], eax
jne 0x459027
jmp 0x458a88
xor esi, esi
mov byte [ebp - 4], 2
mov dword [ebp - 0x54], esi
test esi, esi
je 0x459027
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 4
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esi]
push dword [ebp - 0x34]
call edi
mov edi, eax
mov byte [ebp - 4], 2
or ecx, 0xffffffff
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x458af8
mov ecx, dword [esi]
test ecx, ecx
je 0x458ad6
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x458aed
push eax
call fcn.0061f486
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0061f90d
add esp, 8
test edi, edi
js 0x458ca5
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [ebp - 0x30]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
mov eax, dword [ebp - 0x30]
js 0x458c9f
mov eax, dword [eax]
lea edi, [ebp - 0x28]
cmp dword [ebp - 0x14], 7
push 0xc
cmova edi, dword [ebp - 0x28]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x58], eax
call fcn.0061f577
mov esi, eax
add esp, 4
mov dword [ebp - 0x54], esi
mov byte [ebp - 4], 5
test esi, esi
je 0x458b7f
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
push edi
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
jne 0x458b81
test edi, edi
jne 0x459031
jmp 0x458b81
xor esi, esi
mov byte [ebp - 4], 2
mov dword [ebp - 0x64], esi
test esi, esi
je 0x459027
mov byte [ebp - 4], 6
mov eax, dword [esi]
push 0xc
mov dword [ebp - 0x54], eax
call fcn.0061f577
mov edi, eax
add esp, 4
mov dword [ebp - 0x5c], edi
mov byte [ebp - 4], 7
test edi, edi
je 0x458be3
xorps xmm0, xmm0
movq qword [edi], xmm0
mov dword [edi + 8], 0
push 0x6b0790
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
je 0x45903b
jmp 0x458be5
xor edi, edi
mov byte [ebp - 4], 6
mov dword [ebp - 0x5c], edi
test edi, edi
je 0x459045
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 8
push eax
push 0
push 0x30
push dword [ebp - 0x54]
push dword [edi]
push dword [ebp - 0x30]
call dword [ebp - 0x58]
mov dword [ebp - 0x54], eax
or ecx, 0xffffffff
lock xadd dword [edi + 8], ecx
dec ecx
jne 0x458c4e
mov ecx, dword [edi]
test ecx, ecx
je 0x458c2c
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x458c43
push eax
call fcn.0061f486
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.0061f90d
add esp, 8
mov byte [ebp - 4], 2
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x458c92
mov eax, dword [esi]
test eax, eax
je 0x458c70
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x458c87
push eax
call fcn.0061f486
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0061f90d
add esp, 8
cmp dword [ebp - 0x54], 0
jge 0x458d8d
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x14]
cmp ecx, 7
jbe 0x458cee
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x458ce4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45904f
push ecx
push edx
call fcn.0061f90d
add esp, 8
mov ecx, dword [ebp + 0x1c]
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp ecx, 7
jbe 0x458d3c
mov edx, dword [ebp + 8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x458d32
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45904f
push ecx
push edx
call fcn.0061f90d
add esp, 8
mov ecx, dword [ebp + 0x34]
xor eax, eax
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 7
mov word [ebp + 8], ax
cmp ecx, 7
jbe 0x45900a
mov edx, dword [ebp + 0x20]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x459000
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45904f
jmp 0x459000
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x458fd2
mov edi, dword [ebp - 0x60]
nop dword [eax + eax]
mov eax, dword [ecx]
lea edx, [ebp - 0x2c]
push edx
lea edx, [ebp - 0x3c]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
cmp dword [ebp - 0x2c], 0
je 0x458fd2
mov edx, dword [ebp - 0x3c]
lea esi, [ebp - 0x4c]
cmp dword [ebp + 0x34], 7
push 0
push 0
mov eax, dword [edx]
push esi
push 0
mov ecx, dword [eax + 0x10]
lea eax, [ebp + 0x20]
cmova eax, dword [ebp + 0x20]
push eax
push edx
call ecx
push 0x6dbaa8
push 0x6dcad8
call fcn.006210da
add esp, 8
test eax, eax
je 0x458fa1
push 0x6db0b8
push 0x6dcad8
call fcn.006210da
add esp, 8
test eax, eax
je 0x458fa1
push 0x6dcad8
push 0x6dcad8
call fcn.006210da
add esp, 8
test eax, eax
jne 0x458e30
cmp word [ebp - 0x44], ax
jmp 0x458fa5
push 0x6db1b8
push 0x6dcad8
call fcn.006210da
add esp, 8
test eax, eax
je 0x458fa1
push 0x6dc668
push 0x6dcad8
call fcn.006210da
add esp, 8
test eax, eax
jne 0x458e69
cmp word [ebp - 0x44], ax
jmp 0x458fa5
push 0x6dbf6c
push 0x6dcad8
call fcn.006210da
add esp, 8
test eax, eax
jne 0x458e9b
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x40]
je 0x458e91
mov al, 1
mov byte [ebp - 0x4d], al
jmp 0x458fa9
xor al, al
mov byte [ebp - 0x4d], al
jmp 0x458fa9
push 0x6daf04
push 0x6dcad8
call fcn.006210da
add esp, 8
test eax, eax
mov eax, dword [ebp - 0x44]
jne 0x458ec3
or eax, dword [ebp - 0x40]
je 0x458e91
mov al, 1
mov byte [ebp - 0x4d], al
jmp 0x458fa9
push 0xc
mov dword [ebp - 0x58], eax
call fcn.0061f577
mov esi, eax
add esp, 4
mov dword [ebp - 0x5c], esi
mov byte [ebp - 4], 9
test esi, esi
je 0x458f13
push dword [ebp - 0x58]
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
jne 0x458f15
cmp dword [ebp - 0x58], eax
jne 0x459027
jmp 0x458f15
xor esi, esi
mov byte [ebp - 4], 2
mov dword [ebp - 0x64], esi
test esi, esi
je 0x459027
mov byte [ebp - 4], 0xa
mov eax, dword [esi]
test eax, eax
je 0x458f48
push eax
call dword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
push eax
push dword [esi]
call dword [sym.imp.OLEAUT32.dll_DllRegisterServer]
test eax, eax
je 0x459027
jmp 0x458f4a
xor eax, eax
test eax, eax
mov ecx, edi
lea eax, [ebp - 0x4d]
push eax
setne byte [ebp - 0x4d]
call fcn.0044ff70
mov byte [ebp - 4], 2
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x458fb4
mov eax, dword [esi]
test eax, eax
je 0x458f7d
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x458f94
push eax
call fcn.0061f486
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0061f90d
add esp, 8
jmp 0x458fb4
cmp dword [ebp - 0x44], 0
setne byte [ebp - 0x4d]
lea eax, [ebp - 0x4d]
mov ecx, edi
push eax
call fcn.0044ff70
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 0x38]
test ecx, ecx
jne 0x458da0
mov eax, dword [ebp - 0x60]
cmp dword [eax + 0xc], 0
jne 0x458fe6
push 0
push 1
mov ecx, eax
call fcn.00466bd0
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x38]
jmp 0x458ca8
push ecx
push edx
call fcn.0061f90d
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0061f478
mov esp, ebp
pop ebp
ret 0x38
push 0x8007000e
call fcn.0061eef0
push 0x8007000e
call fcn.0061eef0
push 0x8007000e
call fcn.0061eef0
push 0x8007000e
call fcn.0061eef0
call fcn.00636c1b
int3