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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x65d939
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x6d5ec0]
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 0x458285
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 0x4582d5
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.00620e40
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 0x4582e5
push edi
push edx
push dword [ebp - 0x54]
lea ecx, [ebp - 0x28]
push edi
call fcn.0045de70
mov esi, eax
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [esi + 0x10]
sub eax, ecx
cmp eax, 6
jb 0x458324
lea eax, [ecx + 6]
mov edi, esi
mov dword [ebp - 0x54], eax
mov dword [esi + 0x10], eax
cmp edx, 7
jbe 0x458306
mov edi, dword [esi]
push 0xc
lea eax, [edi + ecx*2]
push str._FROM
push eax
call fcn.00620e40
mov eax, dword [ebp - 0x54]
add esp, 0xc
xor ecx, ecx
mov word [edi + eax*2], cx
jmp 0x458339
push 6
push str._FROM
push dword [ebp - 0x54]
mov ecx, esi
push 6
call fcn.0045de70
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 0x458350
mov eax, dword [esi + 0x14]
sub edx, ecx
mov ecx, dword [esi + 0x10]
sub eax, ecx
sar edx, 1
cmp edx, eax
ja 0x458398
cmp dword [esi + 0x14], 7
lea eax, [ecx + edx]
mov dword [ebp - 0x54], eax
mov dword [esi + 0x10], eax
jbe 0x45837c
mov esi, dword [esi]
lea eax, [edx + edx]
push eax
lea ecx, [esi + ecx*2]
push edi
push ecx
call fcn.00620e40
mov eax, dword [ebp - 0x54]
add esp, 0xc
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x4583a5
push edx
push edi
push dword [ebp - 0x54]
mov ecx, esi
push edx
call fcn.0045de70
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 0x4586a4
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 0x45869e
lea eax, [ebp - 0x34]
push eax
push 0x698d2c
push 1
push 0
push 0x698d3c
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x45869e
mov eax, dword [ebp - 0x34]
push 0xc
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
call fcn.0061ec07
mov esi, eax
add esp, 4
mov dword [ebp - 0x54], esi
mov byte [ebp - 4], 3
test esi, esi
je 0x458476
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 0x458478
cmp dword [ebp - 0x58], eax
jne 0x458a17
jmp 0x458478
xor esi, esi
mov byte [ebp - 4], 2
mov dword [ebp - 0x54], esi
test esi, esi
je 0x458a17
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 0x4584e8
mov ecx, dword [esi]
test ecx, ecx
je 0x4584c6
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4584dd
push eax
call fcn.0061eb16
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0061ef9d
add esp, 8
test edi, edi
js 0x458695
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 0x45868f
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.0061ec07
mov esi, eax
add esp, 4
mov dword [ebp - 0x54], esi
mov byte [ebp - 4], 5
test esi, esi
je 0x45856f
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 0x458571
test edi, edi
jne 0x458a21
jmp 0x458571
xor esi, esi
mov byte [ebp - 4], 2
mov dword [ebp - 0x64], esi
test esi, esi
je 0x458a17
mov byte [ebp - 4], 6
mov eax, dword [esi]
push 0xc
mov dword [ebp - 0x54], eax
call fcn.0061ec07
mov edi, eax
add esp, 4
mov dword [ebp - 0x5c], edi
mov byte [ebp - 4], 7
test edi, edi
je 0x4585d3
xorps xmm0, xmm0
movq qword [edi], xmm0
mov dword [edi + 8], 0
push 0x6af490
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 0x458a2b
jmp 0x4585d5
xor edi, edi
mov byte [ebp - 4], 6
mov dword [ebp - 0x5c], edi
test edi, edi
je 0x458a35
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 0x45863e
mov ecx, dword [edi]
test ecx, ecx
je 0x45861c
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x458633
push eax
call fcn.0061eb16
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.0061ef9d
add esp, 8
mov byte [ebp - 4], 2
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x458682
mov eax, dword [esi]
test eax, eax
je 0x458660
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x458677
push eax
call fcn.0061eb16
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0061ef9d
add esp, 8
cmp dword [ebp - 0x54], 0
jge 0x45877d
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 0x4586de
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4586d4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458a3f
push ecx
push edx
call fcn.0061ef9d
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 0x45872c
mov edx, dword [ebp + 8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x458722
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458a3f
push ecx
push edx
call fcn.0061ef9d
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 0x4589fa
mov edx, dword [ebp + 0x20]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4589f0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458a3f
jmp 0x4589f0
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x4589c2
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 0x4589c2
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 0x6daaa8
push 0x6dbad8
call fcn.0062076a
add esp, 8
test eax, eax
je 0x458991
push 0x6da0b8
push 0x6dbad8
call fcn.0062076a
add esp, 8
test eax, eax
je 0x458991
push 0x6dbad8
push 0x6dbad8
call fcn.0062076a
add esp, 8
test eax, eax
jne 0x458820
cmp word [ebp - 0x44], ax
jmp 0x458995
push 0x6da1b8
push 0x6dbad8
call fcn.0062076a
add esp, 8
test eax, eax
je 0x458991
push 0x6db668
push 0x6dbad8
call fcn.0062076a
add esp, 8
test eax, eax
jne 0x458859
cmp word [ebp - 0x44], ax
jmp 0x458995
push 0x6daf6c
push 0x6dbad8
call fcn.0062076a
add esp, 8
test eax, eax
jne 0x45888b
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x40]
je 0x458881
mov al, 1
mov byte [ebp - 0x4d], al
jmp 0x458999
xor al, al
mov byte [ebp - 0x4d], al
jmp 0x458999
push 0x6d9f04
push 0x6dbad8
call fcn.0062076a
add esp, 8
test eax, eax
mov eax, dword [ebp - 0x44]
jne 0x4588b3
or eax, dword [ebp - 0x40]
je 0x458881
mov al, 1
mov byte [ebp - 0x4d], al
jmp 0x458999
push 0xc
mov dword [ebp - 0x58], eax
call fcn.0061ec07
mov esi, eax
add esp, 4
mov dword [ebp - 0x5c], esi
mov byte [ebp - 4], 9
test esi, esi
je 0x458903
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 0x458905
cmp dword [ebp - 0x58], eax
jne 0x458a17
jmp 0x458905
xor esi, esi
mov byte [ebp - 4], 2
mov dword [ebp - 0x64], esi
test esi, esi
je 0x458a17
mov byte [ebp - 4], 0xa
mov eax, dword [esi]
test eax, eax
je 0x458938
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 0x458a17
jmp 0x45893a
xor eax, eax
test eax, eax
mov ecx, edi
lea eax, [ebp - 0x4d]
push eax
setne byte [ebp - 0x4d]
call fcn.0044f9b0
mov byte [ebp - 4], 2
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x4589a4
mov eax, dword [esi]
test eax, eax
je 0x45896d
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x458984
push eax
call fcn.0061eb16
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0061ef9d
add esp, 8
jmp 0x4589a4
cmp dword [ebp - 0x44], 0
setne byte [ebp - 0x4d]
lea eax, [ebp - 0x4d]
mov ecx, edi
push eax
call fcn.0044f9b0
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 0x458790
mov eax, dword [ebp - 0x60]
cmp dword [eax + 0xc], 0
jne 0x4589d6
push 0
push 1
mov ecx, eax
call fcn.00466340
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 0x458698
push ecx
push edx
call fcn.0061ef9d
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.0061eb08
mov esp, ebp
pop ebp
ret 0x38
push 0x8007000e
call fcn.0061e580
push 0x8007000e
call fcn.0061e580
push 0x8007000e
call fcn.0061e580
push 0x8007000e
call fcn.0061e580
call fcn.0063629b
int3