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

Disassembly:
push 0xffffffffffffffff
push 0x454ee8
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x4668f0]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4668f0]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x88]
xor ebx, ebx
mov dword [esp + 0x24], ebx
push ebx
push ebx
mov dword [esp + 0x88], ebx
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov esi, eax
cmp esi, ebx
jge 0x408910
push str.Error_code__0x
push ecx
push str.Failed_to_initialize_COM_library.
push 0x467f08
call fcn.0042f550
add esp, 0xc
push eax
call fcn.0042f550
add esp, 8
cmp eax, ebx
jne 0x4088a1
xor ecx, ecx
jmp 0x4088a8
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
mov edx, dword [ecx + 0x10]
and edx, 0xfffff9ff
push esi
or edx, 0x800
push eax
mov dword [ecx + 0x10], edx
call fcn.0042b740
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0042b8c0
mov ecx, esi
call fcn.0042b9e0
push ebx
mov dword [ebp + 0x18], 0xf
mov dword [ebp + 0x14], ebx
push 0x45b404
mov ecx, ebp
mov byte [ebp + 4], bl
call fcn.0042d2b0
cmp dword [esp + 0xa4], 8
jb 0x408b99
mov eax, dword [esp + 0x90]
push eax
call fcn.00434321
add esp, 4
jmp 0x408b99
push ebx
push ebx
push ebx
push 3
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push ebx
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
mov esi, eax
cmp esi, ebx
jge 0x40898d
push str.Error_code__0x
push ecx
push str.Failed_to_initialize_security.
push 0x467f08
call fcn.0042f550
add esp, 0xc
push eax
call fcn.0042f550
add esp, 8
cmp eax, ebx
jne 0x408950
xor ecx, ecx
jmp 0x408957
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
mov edx, dword [ecx + 0x10]
and edx, 0xfffff9ff
push esi
or edx, 0x800
push eax
mov dword [ecx + 0x10], edx
call fcn.0042b740
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0042b8c0
mov ecx, esi
call fcn.0042b9e0
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x4088d3
lea ecx, [esp + 0x1c]
push ecx
push 0x45883c
push 1
push ebx
push 0x45890c
mov dword [esp + 0x30], ebx
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebx
jge 0x408a22
push eax
push ecx
push str.Error_code__0x
push ecx
push str.Failed_to_create_IWbemLocator_object.
push 0x467f08
call fcn.0042f550
add esp, 0xc
push eax
call fcn.0042f550
add esp, 0xc
call fcn.0042b700
push eax
call fcn.0042b740
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0042b8c0
mov ecx, esi
call fcn.0042b9e0
call dword [sym.imp.ole32.dll_CoUninitialize]
push 0x45b404
mov ecx, ebp
call fcn.0042b4b0
cmp dword [esp + 0xa4], 8
jb 0x408b99
mov edx, dword [esp + 0x90]
push edx
call fcn.00434321
add esp, 4
jmp 0x408b99
mov eax, dword [esp + 0xa0]
push 0x45b3f8
xor edi, edi
lea ecx, [esp + 0x90]
mov dword [esp + 0x24], ebx
call fcn.00430060
test eax, eax
jne 0x408a7c
lea eax, [esp + 0x18]
push eax
mov edi, str.ROOTSecurityCenter
call fcn.00408310
mov byte [esp + 0x80], 1
mov eax, dword [eax]
cmp eax, ebx
je 0x408a65
mov eax, dword [eax]
jmp 0x408a67
xor eax, eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
lea esi, [esp + 0x20]
push esi
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
push ecx
jmp 0x408ab2
lea ecx, [esp + 0x18]
push ecx
mov edi, str.ROOTSecurityCenter2
call fcn.00408310
mov byte [esp + 0x80], 2
mov eax, dword [eax]
cmp eax, ebx
je 0x408a9d
mov ecx, dword [eax]
jmp 0x408a9f
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
lea esi, [esp + 0x20]
push esi
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ecx
push eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [esp + 0x18]
mov esi, eax
mov byte [esp + 0x80], bl
call fcn.004083b0
cmp esi, ebx
jge 0x408b00
push esi
push ecx
push str.Could_not_connect._Error_code__0x
push 0x467f08
call fcn.0042f550
add esp, 0xc
call fcn.0042b700
push eax
call fcn.0042b740
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0042b8c0
mov ecx, esi
call fcn.0042b9e0
jmp 0x408b6f
push str.Connected_to_ROOTSecurityCenter_WMI_namespace
push 0x467f08
call fcn.0042f550
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0042b8c0
mov ecx, esi
call fcn.0042b9e0
mov eax, dword [esp + 0x20]
push ebx
push ebx
push 3
push 3
push ebx
push ebx
push 0xa
push eax
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
cmp eax, ebx
jge 0x408bba
push eax
push ecx
push str.Could_not_set_proxy_blanket._Error_code__0x
push 0x467f08
call fcn.0042f550
add esp, 0xc
call fcn.0042b700
push eax
call fcn.0042b740
mov esi, eax
call fcn.0042b6e0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
push 0x45b404
mov ecx, ebp
call fcn.0042b4b0
lea ecx, [esp + 0x8c]
call fcn.0042bc90
mov eax, ebp
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0043432c
add esp, 0x70
ret
mov dword [esp + 0x28], ebx
push str.SELECT__FROM_AntiVirusProduct
lea ebx, [esp + 0x28]
call fcn.00408280
mov esi, eax
push 0x45bdf0
lea ebx, [esp + 0x1c]
mov byte [esp + 0x84], 3
call fcn.00408280
mov byte [esp + 0x80], 4
mov ecx, dword [esi]
xor ebx, ebx
cmp ecx, ebx
je 0x408bf8
mov ecx, dword [ecx]
jmp 0x408bfa
xor ecx, ecx
mov eax, dword [eax]
cmp eax, ebx
je 0x408c04
mov edx, dword [eax]
jmp 0x408c06
xor edx, edx
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
lea edi, [esp + 0x28]
push edi
push ebx
push 0x30
push ecx
push edx
push eax
mov eax, dword [esi + 0x50]
call eax
lea edi, [esp + 0x18]
mov esi, eax
call fcn.004083b0
lea edi, [esp + 0x24]
mov byte [esp + 0x80], bl
call fcn.004083b0
cmp esi, ebx
jge 0x408c5b
push esi
push ecx
push str.Error_code__0x
push ecx
push str.Query_for_processes_failed.
push 0x467f08
call fcn.0042f550
add esp, 0xc
push eax
jmp 0x408b49
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], ebx
cmp eax, ebx
je 0x408b63
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
lea edx, [esp + 0x28]
push edx
push 1
push 0xffffffffffffffff
push eax
mov eax, dword [ecx + 0x10]
call eax
cmp dword [esp + 0x18], ebx
je 0x408b63
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [esp + 0x34]
push edx
push ebx
push str.displayName
push eax
mov eax, dword [ecx + 0x10]
call eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x3c]
call fcn.0042bc20
lea ecx, [esp + 0x3c]
push ecx
lea esi, [esp + 0x5c]
mov byte [esp + 0x84], 5
call fcn.00402ae0
add esp, 4
lea ecx, [esp + 0x3c]
mov byte [esp + 0x80], 7
call fcn.0042bc90
mov edx, esi
push edx
mov ecx, ebp
call fcn.0042b4f0
mov ecx, esi
call fcn.0042b520
jmp 0x408b8d