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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x47c
mov eax, dword [0x517b80]
xor eax, ebp
mov dword [ebp - 4], eax
mov al, byte [ebp + 0x10]
push ebx
movzx ebx, word [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
mov byte [ebp - 0x47c], al
lea eax, [ebp - 0x450]
push eax
mov dword [ebp - 0x464], esi
mov dword [ebp - 0x470], edi
mov dword [ebp - 0x418], ebx
mov dword [ebp - 0x438], 0
mov dword [ebp - 0x434], 0
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x43c], 0
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x474], 0
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x46c], 0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x460]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
cmp dword [esi], 0
jne 0x4033d4
push 0x4dd608
mov dword [ebp - 0x42c], 0
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push 0
push 0
mov ebx, eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
lea eax, [ebp - 0x42c]
push eax
push 0x4f9f94
push 1
push 0
push 0x4f9fa4
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
test edi, edi
jne 0x403399
push dword [ebp - 0x464]
mov ecx, dword [ebp - 0x42c]
push edi
push edi
push edi
mov eax, dword [ecx]
push edi
push edi
push edi
mov esi, dword [eax + 0xc]
push ebx
push ecx
mov ecx, esi
call dword [0x4dc8a4]
call esi
mov edi, eax
test edi, edi
jne 0x403399
push eax
push eax
push 3
push 4
push eax
push eax
mov eax, dword [ebp - 0x464]
push 0xa
push dword [eax]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov edi, eax
push ebx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [ebp - 0x42c]
test ecx, ecx
je 0x4033ba
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4dc8a4]
call esi
test edi, edi
jne 0x403809
mov ebx, dword [ebp - 0x418]
mov esi, dword [ebp - 0x464]
mov edi, dword [ebp - 0x470]
movzx eax, byte [edi + 0xf]
push eax
movzx eax, byte [edi + 0xe]
push eax
movzx eax, byte [edi + 0xd]
push eax
movzx eax, byte [edi + 0xc]
push eax
movzx eax, byte [edi + 0xb]
push eax
movzx eax, byte [edi + 0xa]
push eax
movzx eax, byte [edi + 9]
push eax
movzx eax, byte [edi + 8]
push eax
movzx eax, word [edi + 6]
push eax
movzx eax, word [edi + 4]
push eax
push dword [edi]
lea eax, [ebp - 0x414]
push 0x4dd568
push 0x104
push eax
call fcn.00404e10
add esp, 0x38
push 0x4dd5d0
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push 0x4dd760
mov edi, eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push 0x4dd710
mov dword [ebp - 0x468], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push 0x4dd7cc
mov dword [ebp - 0x474], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edx, dword [esi]
mov dword [ebp - 0x478], eax
lea eax, [ebp - 0x438]
push eax
push 0
mov ecx, dword [edx]
push 0x20001
push edi
push edx
mov esi, dword [ecx + 0x30]
mov ecx, esi
call dword [0x4dc8a4]
call esi
push edi
mov esi, eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test esi, esi
jne 0x403809
mov edi, dword [ebp - 0x468]
mov dword [ebp - 0x418], 1
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [ebp - 0x438]
mov dword [ebp - 0x440], 0
mov eax, dword [ecx]
mov esi, dword [eax + 0x10]
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x440]
push eax
push 1
push 0x1388
push ecx
mov ecx, esi
call dword [0x4dc8a4]
call esi
test eax, eax
jne 0x4037a2
cmp dword [ebp - 0x418], 1
jne 0x4037e5
mov ecx, dword [ebp - 0x440]
push 0
push 0
mov eax, dword [ecx]
mov esi, dword [eax + 0x10]
lea eax, [ebp - 0x450]
push eax
push 0
push edi
push ecx
mov ecx, esi
call dword [0x4dc8a4]
call esi
test eax, eax
jne 0x4037a2
push dword [ebp - 0x448]
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
mov dword [ebp - 0x434], 0
mov eax, dword [ebp - 0x464]
mov ecx, dword [eax]
lea eax, [ebp - 0x434]
push eax
push 0
push 0x20001
mov esi, dword [ecx]
push edi
push ecx
mov esi, dword [esi + 0x30]
mov ecx, esi
call dword [0x4dc8a4]
call esi
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea eax, [ebp - 0x450]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [ebp - 0x42c], 1
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [ebp - 0x434]
mov dword [ebp - 0x430], 0
test ecx, ecx
je 0x4035e6
mov eax, dword [ecx]
mov esi, dword [eax + 0x10]
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebp - 0x430]
push eax
push 1
push 0x1388
push ecx
mov ecx, esi
call dword [0x4dc8a4]
call esi
test eax, eax
jne 0x40376b
cmp dword [ebp - 0x42c], 1
jne 0x403778
mov ecx, dword [ebp - 0x430]
jmp 0x4035fc
mov ecx, dword [ebp - 0x440]
mov dword [ebp - 0x42c], 1
mov dword [ebp - 0x430], ecx
mov eax, dword [ecx]
push 0
push 0
mov esi, dword [eax + 0x10]
lea eax, [ebp - 0x450]
push eax
push 0
push dword [ebp - 0x468]
push ecx
mov ecx, esi
call dword [0x4dc8a4]
call esi
mov esi, eax
lea eax, [ebp - 0x450]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test esi, esi
jne 0x40376b
mov ecx, dword [ebp - 0x43c]
test ecx, ecx
je 0x40365a
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4dc8a4]
call esi
mov dword [ebp - 0x43c], 0
mov eax, dword [ebp - 0x430]
lea edx, [ebp - 0x43c]
push edx
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0xc]
mov ecx, esi
call dword [0x4dc8a4]
call esi
mov ecx, dword [ebp - 0x43c]
push 0
mov eax, dword [ecx]
mov esi, dword [eax + 0xc]
lea eax, [ebp - 0x460]
push eax
push 0
push dword [ebp - 0x474]
push ecx
mov ecx, esi
call dword [0x4dc8a4]
call esi
test eax, eax
jne 0x40376b
push 0xffffffffffffffff
push dword [ebp - 0x458]
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.004aec4e
add esp, 0x10
lea eax, [ebp - 0x460]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x20c]
push 0x4dd7e8
push eax
call fcn.004aa37a
add esp, 8
test eax, eax
jne 0x4036fc
lea eax, [ebp - 0x20c]
push eax
push 0x4dd7ec
push eax
call fcn.00402dc0
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x414]
push eax
call fcn.004aed57
add esp, 8
test eax, eax
jne 0x40376b
mov ecx, dword [ebp - 0x43c]
push 0
mov eax, dword [ecx]
mov esi, dword [eax + 0xc]
lea eax, [ebp - 0x428]
push eax
push 0
push dword [ebp - 0x478]
push ecx
mov ecx, esi
call dword [0x4dc8a4]
call esi
test eax, eax
jne 0x4037bd
push 2
push eax
lea eax, [ebp - 0x428]
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
movzx esi, word [ebp - 0x420]
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp bx, si
je 0x4037b1
cmp dword [ebp - 0x42c], 1
je 0x403590
mov ecx, dword [ebp - 0x434]
test ecx, ecx
je 0x40379c
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4dc8a4]
call esi
mov dword [ebp - 0x434], 0
mov edi, dword [ebp - 0x468]
cmp dword [ebp - 0x418], 1
je 0x4034b0
jmp 0x4037e5
push dword [ebp + 0x14]
push dword [ebp - 0x47c]
push ebx
jmp 0x4037c8
push dword [ebp + 0x14]
push dword [ebp - 0x47c]
push 0xffffffffffffffff
push dword [ebp - 0x470]
mov ecx, dword [ebp - 0x464]
push dword [ebp - 0x430]
call fcn.00403fc0
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x438]
test ecx, ecx
je 0x403809
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4dc8a4]
call esi
mov dword [ebp - 0x438], 0
lea eax, [ebp - 0x460]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [ebp - 0x474]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 0x468]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 0x478]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [ebp - 0x438]
test ecx, ecx
je 0x40386b
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4dc8a4]
call esi
mov dword [ebp - 0x438], 0
mov ecx, dword [ebp - 0x434]
test ecx, ecx
je 0x40388f
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4dc8a4]
call esi
mov dword [ebp - 0x434], 0
mov ecx, dword [ebp - 0x43c]
test ecx, ecx
je 0x4038a9
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4dc8a4]
call esi
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x46c]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 0x10