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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4694d2
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x488540]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x30], ecx
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x4296fd
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
push str.Select__from_Win32_OperatingSystem
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0
call fcn.00402800
test al, al
jne 0x42927f
push 0x23
push str.Select__from_Win32_OperatingSystem
lea ecx, [ebp - 0x24]
call fcn.004029e0
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 1
push eax
push 0x470518
push 1
push 0
push 0x470528
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x2c], 0
mov byte [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x42966f
xor edx, edx
push ecx
lea ecx, [edx + 6]
call fcn.00427dd0
neg eax
push 0xc
sbb edi, edi
and edi, 0x80
call fcn.00431648
mov esi, eax
add esp, 8
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 3
test esi, esi
je 0x42931e
push str.rootcimv2
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
je 0x429707
jmp 0x429320
xor esi, esi
mov byte [ebp - 4], 2
mov dword [ebp - 0x28], esi
test esi, esi
je 0x429711
lea edx, [ebp - 0x18]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x20]
push edx
push 0
push 0
mov ecx, dword [eax]
push edi
push 0
push 0
push 0
push dword [esi]
push eax
call dword [ecx + 0xc]
shr eax, 0x1f
or ebx, 0xffffffff
xor al, 1
mov byte [ebp - 4], 2
mov dword [ebp - 0x28], eax
mov ecx, ebx
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x42939e
mov eax, dword [esi]
test eax, eax
je 0x429379
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x429390
push eax
call fcn.00440bf3
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0044c711
mov eax, dword [ebp - 0x28]
add esp, 8
test al, al
je 0x429655
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [ebp - 0x18]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
js 0x429655
push 0xc
call fcn.00431648
mov edi, eax
add esp, 4
mov dword [ebp - 0x34], edi
mov byte [ebp - 4], 5
test edi, edi
je 0x429404
mov esi, dword [ebp - 0x24]
push esi
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
jne 0x429406
test esi, esi
jne 0x42971b
jmp 0x429406
xor edi, edi
mov byte [ebp - 4], 2
mov dword [ebp - 0x34], edi
test edi, edi
je 0x429725
push 0xc
mov byte [ebp - 4], 6
call fcn.00431648
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 7
test esi, esi
je 0x429455
push 0x47b250
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
je 0x42972f
jmp 0x429457
xor esi, esi
mov byte [ebp - 4], 6
mov dword [ebp - 0x28], esi
test esi, esi
je 0x429739
lea edx, [ebp - 0x14]
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x18]
push edx
push 0
push 0x30
push dword [edi]
mov ecx, dword [eax]
push dword [esi]
push eax
call dword [ecx + 0x50]
shr eax, 0x1f
mov ecx, ebx
xor al, 1
mov dword [ebp - 0x28], eax
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x4294c6
mov eax, dword [esi]
test eax, eax
je 0x4294a4
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4294bb
push eax
call fcn.00440bf3
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0044c711
add esp, 8
mov byte [ebp - 4], 2
mov eax, ebx
lock xadd dword [edi + 8], eax
dec eax
jne 0x429509
mov eax, dword [edi]
test eax, eax
je 0x4294e7
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x4294fe
push eax
call fcn.00440bf3
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.0044c711
add esp, 8
cmp byte [ebp - 0x28], 0
je 0x429655
mov ecx, dword [ebp - 0x14]
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantClear]
test ecx, ecx
je 0x429672
mov eax, dword [ecx]
lea edx, [ebp - 0x2c]
push edx
lea edx, [ebp - 0x1c]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x429652
cmp dword [ebp - 0x2c], 1
jne 0x429652
call fcn.00431d31
mov ecx, eax
test ecx, ecx
je 0x429743
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x28], esi
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 9
push eax
call ebx
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x44]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.Caption
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x4295da
cmp word [ebp - 0x44], 1
jbe 0x4295da
mov edx, dword [ebp - 0x3c]
test edx, edx
jne 0x42959d
xor ecx, ecx
jmp 0x4295b1
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4295a2
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.004029e0
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0x4753f0
push str.Microsoft
lea ecx, [ebp - 0x28]
call fcn.0041a010
mov esi, dword [ebp - 0x28]
lea eax, [ebp - 0x44]
push eax
call ebx
mov ecx, dword [ebp - 0x30]
lea ebx, [esi - 0x10]
mov edi, dword [ecx]
sub edi, 0x10
cmp ebx, edi
je 0x429630
cmp dword [edi + 0xc], 0
jl 0x429627
mov eax, dword [ebx]
cmp eax, dword [edi]
jne 0x429627
push ebx
call fcn.00402510
add esp, 4
lea edx, [edi + 0xc]
mov esi, eax
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42961d
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x30]
lea eax, [esi + 0x10]
mov dword [ecx], eax
jmp 0x429630
push dword [esi - 0xc]
push esi
call fcn.004029e0
mov byte [ebp - 4], 2
or eax, 0xffffffff
lock xadd dword [ebx + 0xc], eax
dec eax
test eax, eax
jg 0x429513
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x429513
or ebx, 0xffffffff
mov ecx, dword [ebp - 0x14]
jmp 0x429675
mov ecx, dword [ebp - 0x14]
or ebx, 0xffffffff
mov dword [ebp - 4], 1
mov edx, dword [ebp - 0x1c]
test edx, edx
je 0x429693
mov eax, dword [edx]
push edx
call dword [eax + 8]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], 0
test ecx, ecx
je 0x4296a4
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x4296b8
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x4296cc
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x20], 0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x4296eb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00402eb0
push 0x8007000e
call fcn.0044d3b0
push 0x8007000e
call fcn.0044d3b0
push 0x8007000e
call fcn.0044d3b0
push 0x8007000e
call fcn.0044d3b0
push 0x8007000e
call fcn.0044d3b0
push 0x8007000e
call fcn.0044d3b0
push 0x80004005
call fcn.00402eb0
int3