Function at 0x415c70
Capabilities:
Connect to wmi namespace via wbemlocator
Reference wmi statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42cae9
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push esi
push edi
mov eax, dword [0x43c010]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [eax], ebx
lea eax, [ebp - 0x1c]
push eax
push 0x432b78
push 1
push ebx
push 0x432c48
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x415d85
push 0xc
mov dword [ebp - 0x18], ebx
call sub.mfc140.dll_Ordinal_1507
mov esi, eax
add esp, 4
mov dword [ebp - 0x34], esi
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 4], ebx
test esi, esi
je 0x415d07
push 0x432968
mov dword [esi + 4], ebx
mov dword [esi + 8], 1
call edi
mov dword [esi], eax
test eax, eax
jne 0x415d09
push 0x8007000e
call fcn.00417140
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x24], esi
test esi, esi
jne 0x415d21
push 0x8007000e
call fcn.00417140
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
push edx
push 0
push 0
mov ecx, dword [eax]
push 0
push 0
push 0
push 0
push dword [esi]
mov dword [ebp - 4], 1
push eax
call dword [ecx + 0xc]
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
mov esi, eax
call fcn.00416700
test esi, esi
js 0x415d7c
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
jns 0x415d9b
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.SELECT__FROM_Win32_NetworkAdapter
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x28], 0
call fcn.004156a0
mov esi, eax
push 0x4329a4
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 2
call fcn.004156a0
mov ecx, dword [esi]
mov byte [ebp - 4], 3
test ecx, ecx
je 0x415dd3
mov esi, dword [ecx]
jmp 0x415dd5
xor esi, esi
mov eax, dword [eax]
test eax, eax
je 0x415ddf
mov edx, dword [eax]
jmp 0x415de1
xor edx, edx
mov eax, dword [ebp - 0x18]
lea ebx, [ebp - 0x28]
push ebx
push 0
push 0x30
mov ecx, dword [eax]
push esi
push edx
push eax
call dword [ecx + 0x50]
lea ecx, [ebp - 0x30]
mov esi, eax
call fcn.00416700
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
call fcn.00416700
mov ebx, dword [ebp - 0x20]
test esi, esi
js 0x415d73
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ebx
test ecx, ecx
je 0x415ffe
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
nop dword [eax]
mov eax, dword [ecx]
lea edx, [ebp - 0x2c]
push edx
lea edx, [ebp - 0x10]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
cmp dword [ebp - 0x2c], 0
je 0x415ffb
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0x48]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x4329a8
push eax
call dword [ecx + 0x10]
test eax, eax
jns 0x415e76
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x415ff0
mov eax, dword [ebp - 0x40]
test eax, eax
jne 0x415e84
xor edi, edi
mov dword [ebp - 0x34], edi
jmp 0x415e94
push eax
call edi
mov edi, eax
mov dword [ebp - 0x34], edi
test edi, edi
je 0x416034
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 4
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push edi
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140.dll_Ordinal_286]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call dword [sym.imp.mfc140.dll_Ordinal_8678]
push eax
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140.dll_Ordinal_1519]
push 0
push str.BLUETOOTH
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140.dll_Ordinal_4654]
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
jne 0x415fd3
push 0
push 0
lea edx, [ebp - 0x48]
push edx
push 0
push str.AdapterTypeID
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x415fce
mov ax, word [ebp - 0x48]
test ax, ax
je 0x415fce
cmp ax, 1
je 0x415fce
movzx esi, word [ebp - 0x40]
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test si, si
jne 0x415fce
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0x48]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.MACAddress
push eax
call dword [ecx + 0x10]
test eax, eax
js 0x415fce
mov ax, word [ebp - 0x48]
test ax, ax
je 0x415fce
cmp ax, 1
je 0x415fce
push dword [ebp - 0x40]
lea ecx, [ebp - 0x30]
call fcn.00415640
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x24]
push esi
call dword [sym.imp.mfc140.dll_Ordinal_306]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 7
push dword [eax - 0xc]
push 0
call dword [sym.imp.mfc140.dll_Ordinal_5095]
push eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 8]
call fcn.00412ca0
push 0xffffffffffffffff
lea ecx, [ebp - 0x24]
mov ebx, eax
call dword [sym.imp.mfc140.dll_Ordinal_12503]
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x24]
inc dword [ebp - 0x20]
add dword [eax], ebx
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push esi
mov byte [ebp - 4], 5
call ebx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc140.dll_Ordinal_1043]
push edi
mov dword [ebp - 4], 0xffffffff
call ebx
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [ebp - 0x28]
test ecx, ecx
jne 0x415e30
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
xor eax, eax
test ebx, ebx
setg al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x8007000e
call fcn.00412509
int3