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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43881c
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x448080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x5c], edi
push 0
push 0
mov dword [ebp - 0x5c], edi
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov esi, eax
test esi, esi
jns 0x40c610
push 0x2f
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x442358
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.0040a2f0
push ecx
lea edx, [ebp - 0x28]
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.004029f0
mov byte [ebp - 4], 1
lea edx, [ebp - 0x48]
cmp dword [ebp - 0x34], 7
mov ecx, 0x4493f0
push dword [ebp - 0x38]
cmova edx, dword [ebp - 0x48]
call fcn.0040bb30
add esp, 8
mov ecx, eax
push esi
call fcn.00412d00
push eax
call fcn.00409b30
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x34]
cmp ecx, 7
jbe 0x40c52b
mov edx, dword [ebp - 0x48]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c521
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ce55
push ecx
push edx
call fcn.0041936d
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 7
mov word [ebp - 0x48], ax
cmp ecx, 7
jbe 0x40c580
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c576
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ce55
push ecx
push edx
call fcn.0041936d
add esp, 8
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x4423b8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.0040a2f0
mov dword [ebp - 4], 2
push ecx
lea edx, [ebp - 0x28]
mov ecx, edi
call fcn.004029f0
mov ecx, dword [ebp - 0x14]
add esp, 4
cmp ecx, 7
jbe 0x40c5f3
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c5e9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ce50
push ecx
push edx
call fcn.0041936d
add esp, 8
mov eax, edi
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.00419325
mov esp, ebp
pop ebp
ret
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]
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
push 0x43b430
push 1
push 0
push 0x43b440
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0x28]
movups xmmword [ebp - 0x28], xmm0
test esi, esi
jns 0x40c781
push 0x33
push 0x4423c0
call fcn.0040a2f0
push ecx
lea edx, [ebp - 0x28]
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x48]
call fcn.004029f0
mov byte [ebp - 4], 4
lea edx, [ebp - 0x48]
cmp dword [ebp - 0x34], 7
mov ecx, 0x4493f0
push dword [ebp - 0x38]
cmova edx, dword [ebp - 0x48]
call fcn.0040bb30
add esp, 8
mov ecx, eax
push esi
call fcn.00412d00
push eax
call fcn.00409b30
mov byte [ebp - 4], 3
add esp, 4
mov ecx, dword [ebp - 0x34]
cmp ecx, 7
jbe 0x40c6f6
mov edx, dword [ebp - 0x48]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c6ec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ce5a
push ecx
push edx
call fcn.0041936d
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 7
mov word [ebp - 0x48], ax
cmp ecx, 7
jbe 0x40c74b
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c741
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ce5a
push ecx
push edx
call fcn.0041936d
add esp, 8
call dword [sym.imp.ole32.dll_CoUninitialize]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x4423b8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.0040a2f0
mov dword [ebp - 4], 5
jmp 0x40c5ab
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x4c], 0
push 0x15
push 0x442428
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x58], eax
call fcn.0040a2f0
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 6
call fcn.0040c070
push 0xc
mov dword [ebp - 0x60], eax
call fcn.00419338
mov esi, eax
add esp, 4
mov dword [ebp - 0x5c], esi
mov byte [ebp - 4], 7
test esi, esi
je 0x40c7fe
push dword [ebp - 0x60]
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 0x40c800
cmp dword [ebp - 0x60], eax
jne 0x40ce5f
jmp 0x40c800
xor esi, esi
mov byte [ebp - 4], 6
mov dword [ebp - 0x5c], esi
test esi, esi
je 0x40ce69
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 8
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esi]
push dword [ebp - 0x30]
call dword [ebp - 0x58]
mov dword [ebp - 0x58], eax
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x40c86e
mov eax, dword [esi]
test eax, eax
je 0x40c84c
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x40c863
push eax
call fcn.00419333
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041936d
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
cmp ecx, 7
jbe 0x40c8af
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c8a5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ce50
push ecx
push edx
call fcn.0041936d
add esp, 8
mov esi, dword [ebp - 0x58]
test esi, esi
jns 0x40c9f3
push 0x20
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x442458
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.0040a2f0
push ecx
lea edx, [ebp - 0x28]
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x48]
call fcn.004029f0
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x48]
cmp dword [ebp - 0x34], 7
mov ecx, 0x4493f0
push dword [ebp - 0x38]
cmova edx, dword [ebp - 0x48]
call fcn.0040bb30
add esp, 8
mov ecx, eax
push esi
call fcn.00412d00
push eax
call fcn.00409b30
mov byte [ebp - 4], 9
add esp, 4
mov ecx, dword [ebp - 0x34]
cmp ecx, 7
jbe 0x40c95f
mov edx, dword [ebp - 0x48]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c955
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ce73
push ecx
push edx
call fcn.0041936d
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 7
mov word [ebp - 0x48], ax
cmp ecx, 7
jbe 0x40c9b4
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c9aa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ce73
push ecx
push edx
call fcn.0041936d
add esp, 8
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x4423b8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.0040a2f0
mov dword [ebp - 4], 0xb
jmp 0x40c5ab
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x50], 0
push str.SELECT__FROM_AntivirusProduct
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x58], eax
call fcn.0040bf70
mov dword [ebp - 4], 0xc
mov esi, dword [eax]
test esi, esi
je 0x40ca23
mov esi, dword [esi]
jmp 0x40ca25
xor esi, esi
push 0x4424bc
lea ecx, [ebp - 0x60]
call fcn.0040bf70
mov byte [ebp - 4], 0xd
mov eax, dword [eax]
test eax, eax
je 0x40ca40
mov eax, dword [eax]
jmp 0x40ca42
xor eax, eax
lea ecx, [ebp - 0x50]
push ecx
push 0
push 0x30
push esi
push eax
push dword [ebp - 0x4c]
call dword [ebp - 0x58]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x58], eax
test esi, esi
je 0x40caa7
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x40caa0
test esi, esi
je 0x40caa0
mov eax, dword [esi]
test eax, eax
je 0x40ca7e
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x40ca95
push eax
call fcn.00419333
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041936d
add esp, 8
mov dword [ebp - 0x60], 0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x5c]
test esi, esi
je 0x40caf9
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x40caf9
test esi, esi
je 0x40caf9
mov eax, dword [esi]
test eax, eax
je 0x40cad7
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x40caee
push eax
call fcn.00419333
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041936d
add esp, 8
mov esi, dword [ebp - 0x58]
test esi, esi
jns 0x40cc46
push 0x2e
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x4424c0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.0040a2f0
push ecx
lea edx, [ebp - 0x28]
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x48]
call fcn.004029f0
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x48]
cmp dword [ebp - 0x34], 7
mov ecx, 0x4493f0
push dword [ebp - 0x38]
cmova edx, dword [ebp - 0x48]
call fcn.0040bb30
add esp, 8
mov ecx, eax
push esi
call fcn.00412d00
push eax
call fcn.00409b30
mov byte [ebp - 4], 0xe
add esp, 4
mov ecx, dword [ebp - 0x34]
cmp ecx, 7
jbe 0x40cba9
mov edx, dword [ebp - 0x48]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40cb9f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ce78
push ecx
push edx
call fcn.0041936d
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 7
mov word [ebp - 0x48], ax
cmp ecx, 7
jbe 0x40cbfe
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40cbf4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ce78
push ecx
push edx
call fcn.0041936d
add esp, 8
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x4423b8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.0040a2f0
mov dword [ebp - 4], 0x10
jmp 0x40c5ab
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x2c], 0
test ecx, ecx
je 0x40cdc1
nop
mov eax, dword [ecx]
lea edx, [ebp - 0x2c]
push edx
lea edx, [ebp - 0x54]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
cmp dword [ebp - 0x2c], 0
je 0x40cdbe
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x28]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x442520
mov eax, dword [eax]
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0
mov esi, dword [eax + 0x10]
call fcn.0040a2f0
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x11
call fcn.0040c070
push 0
push 0
lea ecx, [ebp - 0x40]
push ecx
push 0
push eax
push dword [ebp - 0x54]
call esi
mov dword [ebp - 4], 0xffffffff
mov esi, eax
mov ecx, dword [ebp - 0x14]
cmp ecx, 7
jbe 0x40cd0a
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40cd00
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ce55
push ecx
push edx
call fcn.0041936d
add esp, 8
test esi, esi
jns 0x40cd1e
mov ecx, dword [ebp - 0x50]
test ecx, ecx
jne 0x40cc60
jmp 0x40cdc1
mov edx, dword [ebp - 0x38]
xorps xmm0, xmm0
mov ecx, edx
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cd40
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.0040a2f0
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0x12
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
movups xmm0, xmmword [ebp - 0x28]
mov dword [edi + 0x14], 0
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0x18]
movq qword [edi + 0x10], xmm0
jmp 0x40c5f3
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x442538
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.0040a2f0
push ecx
lea edx, [ebp - 0x28]
mov dword [ebp - 4], 0x13
mov ecx, edi
call fcn.004029f0
mov ecx, dword [ebp - 0x14]
add esp, 4
cmp ecx, 7
jbe 0x40c5f3
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c5e9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40c5e9
call fcn.00421825
call fcn.00421825
call fcn.00421825
push 0x8007000e
call fcn.00418fc0
push 0x8007000e
call fcn.00418fc0
call fcn.00421825
call fcn.00421825
int3