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

Disassembly:
push 0xd0
mov eax, 0x10078259
call fcn.1005f56c
mov ebx, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xb0], ecx
lea eax, [ebp - 0xb0]
push eax
push 0x10079e34
push 0x17
push ecx
push 0x100a7940
mov dword [ebp - 4], ecx
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x10003f09
push 0x1007941c
mov ecx, ebx
call fcn.100023ef
mov ecx, dword [ebp - 0xb0]
or dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x10004187
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
jmp 0x10004187
and dword [ebp - 0xb4], 0
mov esi, dword [ebp - 0xb0]
push str.rootcimv2
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 1
call fcn.10003a16
mov ecx, dword [esi]
lea edx, [ebp - 0xb4]
push edx
xor edx, edx
push edx
push edx
push edx
push edx
push edx
push edx
push dword [eax]
mov byte [ebp - 4], 2
push esi
call dword [ecx + 0xc]
push dword [ebp - 0xc0]
mov esi, eax
mov byte [ebp - 4], 1
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test esi, esi
jns 0x10003f84
push 0x1007941c
mov ecx, ebx
call fcn.100023ef
mov eax, dword [ebp - 0xb4]
mov byte [ebp - 4], 0
test eax, eax
je 0x10003f7b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
jmp 0x10004177
and dword [ebp - 0xb8], 0
push str.Select_Name_from_Win32_ComputerSystemProduct
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 3
call fcn.10003a16
mov edi, dword [ebp - 0xb4]
push 0x10079eb8
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 4
call fcn.100039e1
mov esi, dword [ebp - 0xc0]
mov ecx, dword [edi]
lea edx, [ebp - 0xb8]
push edx
push 0
push 0x20
push esi
push dword [eax]
mov byte [ebp - 4], 5
push edi
call dword [ecx + 0x50]
push dword [ebp - 0xc4]
mov edi, eax
mov byte [ebp - 4], 4
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test edi, edi
jns 0x1000401d
push 0x1007941c
mov ecx, ebx
call fcn.100023ef
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0xb8]
mov byte [ebp - 4], 1
test eax, eax
je 0x10003f67
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10003f67
and dword [ebp - 0xc8], 0
and dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xb8]
lea edx, [ebp - 0xc8]
mov ecx, dword [eax]
push edx
lea edx, [ebp - 0xbc]
push edx
push 1
or edi, 0xffffffff
push edi
push eax
mov byte [ebp - 4], 6
call dword [ecx + 0x10]
test eax, eax
jns 0x10004064
push 0x1007941c
mov ecx, ebx
call fcn.100023ef
jmp 0x10004131
push 0x10
lea eax, [ebp - 0xd8]
push 0
push eax
call fcn.1005fb70
add esp, 0xc
lea eax, [ebp - 0xd8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0xbc]
push 0
mov ecx, dword [eax]
push 0
lea edx, [ebp - 0xd8]
push edx
push 0
push 0x10079f2c
push eax
mov byte [ebp - 4], 7
call dword [ecx + 0x10]
test eax, eax
jns 0x100040b8
push 0x1007941c
mov ecx, ebx
call fcn.100023ef
jmp 0x10004124
push 3
push dword [ebp - 0xd0]
lea eax, [ebp - 0xa8]
lea ecx, [ebp - 0xac]
mov dword [ebp - 0xac], eax
call fcn.1000418f
push dword [ebp - 0xac]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
call fcn.100023ef
lea eax, [ebp - 0xa8]
cmp dword [ebp - 0xac], eax
je 0x10004103
push dword [ebp - 0xac]
call fcn.100628ba
pop ecx
and dword [ebx + 0x10], 0
lea eax, [ebp - 0x28]
mov dword [ebx + 0x14], 0xf
push eax
mov ecx, ebx
mov byte [ebx], 0
call fcn.100043e6
lea ecx, [ebp - 0x28]
call fcn.1000241e
lea eax, [ebp - 0xd8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0xbc]
mov byte [ebp - 4], 4
test eax, eax
je 0x10004145
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0xb8]
mov byte [ebp - 4], 1
test eax, eax
je 0x10004160
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xb4]
mov byte [ebp - 4], 0
test eax, eax
je 0x10004174
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x10004187
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, ebx
call fcn.1005f51b
ret