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

Disassembly:
push 0x60
mov eax, 0x10da46a
call fcn.010a0b4c
mov eax, dword [0x10ed030]
mov esi, 0x10ed030
cmp eax, esi
je 0x102fa03
test byte [eax + 0x1c], 1
je 0x102fa03
push 0x1002b50
push 0x8a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027e15
xor ebx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x28], ebx
lea eax, [ebp - 0x2c]
push eax
push 0x1002ea0
push 1
push ebx
push 0x10031d4
mov byte [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x102fa72
test byte [eax + 0x1c], 2
je 0x102fa72
movzx ecx, byte [eax + 0x19]
xor edx, edx
cmp dword [ebp - 0x10], ebx
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x102fa72
push dword [ebp - 0x2c]
push dword [ebp - 0x10]
push 0x1002b50
push 0x8b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cde9
cmp dword [ebp - 0x10], ebx
jl 0x102ff67
push 0x10031c0
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x24], eax
cmp eax, ebx
jne 0x102fac8
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x102ff67
test byte [eax + 0x1c], 2
je 0x102ff67
cmp byte [eax + 0x19], 2
jb 0x102ff67
push 0x1002b50
push 0x8c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027e15
jmp 0x102ff67
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x24]
push eax
call dword [ecx + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x102fb26
test byte [eax + 0x1c], 2
je 0x102fb26
movzx eax, byte [eax + 0x19]
xor ecx, ecx
cmp dword [ebp - 0x10], ebx
setl cl
dec ecx
and ecx, 3
inc ecx
inc ecx
cmp eax, ecx
jl 0x102fb26
push dword [ebp - 0x14]
mov eax, dword [0x10ed030]
push dword [ebp - 0x10]
push 0x1002b50
push 0x8d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cde9
push dword [ebp - 0x24]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x10], ebx
jl 0x102ff67
push ebx
push ebx
push 3
push 3
push 0xffffffffffffffff
push ebx
push 0xffffffffffffffff
push dword [ebp - 0x14]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x102fb94
test byte [eax + 0x1c], 2
je 0x102fb94
movzx eax, byte [eax + 0x19]
xor ecx, ecx
cmp dword [ebp - 0x10], ebx
setl cl
dec ecx
and ecx, 3
inc ecx
inc ecx
cmp eax, ecx
jl 0x102fb94
push dword [ebp - 0x14]
mov eax, dword [0x10ed030]
push dword [ebp - 0x10]
push 0x1002b50
push 0x8e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cde9
cmp dword [ebp - 0x10], ebx
jl 0x102ff67
push 0x10031b8
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push 0x1003170
mov dword [ebp - 0x1c], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x1c], ebx
je 0x102fc23
cmp eax, ebx
je 0x102fc23
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
lea edx, [ebp - 0x28]
push edx
push ebx
push 0x20
push dword [ebp - 0x24]
push dword [ebp - 0x1c]
push eax
call dword [ecx + 0x50]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x102fc54
test byte [eax + 0x1c], 2
je 0x102fc54
movzx ecx, byte [eax + 0x19]
xor edx, edx
cmp dword [ebp - 0x10], ebx
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x102fc54
push dword [ebp - 0x28]
push dword [ebp - 0x24]
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
push 0x1002b50
push 0x90
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0103aeed
jmp 0x102fc54
mov dword [ebp - 0x10], 0x8007000e
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x102fc54
test byte [eax + 0x1c], 2
je 0x102fc54
cmp byte [eax + 0x19], 2
jb 0x102fc54
push 0x1002b50
push 0x8f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027e15
push dword [ebp - 0x1c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 0x24]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x10], ebx
jl 0x102ff67
cmp dword [ebp - 0x18], ebx
jne 0x102ff67
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x30]
push edx
lea edx, [ebp - 0x24]
push edx
push 1
push 0xffffffffffffffff
mov dword [ebp - 0x30], ebx
mov ecx, dword [eax]
push eax
mov byte [ebp - 4], 3
call dword [ecx + 0x10]
cmp dword [ebp - 0x30], ebx
je 0x102ff56
cmp eax, ebx
jl 0x102ff56
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x6c]
push edx
push ebx
push 0x1003144
push eax
mov byte [ebp - 4], 4
call dword [ecx + 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x102fd10
test byte [eax + 0x1c], 2
je 0x102fd10
movzx ecx, byte [eax + 0x19]
xor edx, edx
cmp dword [ebp - 0x10], ebx
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x102fd10
movzx ecx, word [ebp - 0x6c]
push ecx
push dword [ebp - 0x10]
push 0x1002b50
push 0x91
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cde9
cmp dword [ebp - 0x10], ebx
jl 0x102ff32
push 0xd
pop eax
cmp ax, word [ebp - 0x6c]
jne 0x102ff32
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
push 0x1003134
push eax
mov byte [ebp - 4], 5
call dword [ecx]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x102fd81
test byte [eax + 0x1c], 2
je 0x102fd81
movzx ecx, byte [eax + 0x19]
xor edx, edx
cmp dword [ebp - 0x10], ebx
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x102fd81
push dword [ebp - 0x20]
push dword [ebp - 0x10]
push 0x1002b50
push 0x92
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cde9
cmp dword [ebp - 0x10], ebx
jl 0x102ff21
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x5c]
push edx
push ebx
push 0x1003110
push eax
mov byte [ebp - 4], 6
call dword [ecx + 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x102fdf2
test byte [eax + 0x1c], 2
je 0x102fdf2
movzx ecx, byte [eax + 0x19]
xor edx, edx
cmp dword [ebp - 0x10], ebx
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x102fdf2
movzx ecx, word [ebp - 0x5c]
push ecx
push dword [ebp - 0x10]
push 0x1002b50
push 0x93
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cde9
cmp dword [ebp - 0x10], ebx
jl 0x102ff17
push 0xd
pop eax
cmp ax, word [ebp - 0x5c]
jne 0x102ff17
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
lea edx, [ebp - 0x1c]
push edx
push 0x1003134
push eax
mov byte [ebp - 4], 7
call dword [ecx]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x102fe68
test byte [eax + 0x1c], 2
je 0x102fe68
movzx eax, byte [eax + 0x19]
xor ecx, ecx
cmp dword [ebp - 0x10], ebx
setl cl
dec ecx
and ecx, 3
inc ecx
inc ecx
cmp eax, ecx
jl 0x102fe68
push dword [ebp - 0x1c]
mov eax, dword [0x10ed030]
push dword [ebp - 0x10]
push 0x1002b50
push 0x94
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cde9
cmp dword [ebp - 0x10], ebx
jl 0x102ff06
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x4c]
push edx
push ebx
push 0x10030e4
push eax
mov byte [ebp - 4], 8
call dword [ecx + 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x102fee1
test byte [eax + 0x1c], 2
je 0x102fee1
movzx eax, byte [eax + 0x19]
xor ecx, ecx
cmp dword [ebp - 0x10], ebx
setl cl
dec ecx
and ecx, 3
inc ecx
inc ecx
cmp eax, ecx
jl 0x102fee1
push dword [ebp - 0x44]
movzx eax, word [ebp - 0x4c]
push eax
push dword [ebp - 0x10]
mov eax, dword [0x10ed030]
push 0x1002b50
push 0x95
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01047210
cmp dword [ebp - 0x10], ebx
jl 0x102fefc
push 3
pop eax
cmp ax, word [ebp - 0x4c]
jne 0x102fefc
cmp dword [ebp - 0x44], 2
jne 0x102fefc
mov dword [ebp - 0x18], 1
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 6
cmp eax, ebx
je 0x102ff17
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x102ff32
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x102fc6f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x102fc6f
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x102ff67
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0x2011f
push 0x10027a0
push 0x80000002
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
call fcn.010292c5
mov dword [ebp - 0x10], eax
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x102ffcb
test byte [eax + 0x1c], 2
je 0x102ffcb
mov ecx, dword [ebp - 0x10]
movzx edx, byte [eax + 0x19]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffd
add ecx, 5
cmp edx, ecx
jl 0x102ffcb
push dword [ebp - 0x10]
push 0x1002b50
push 0x96
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027ecb
mov eax, dword [0x10ed030]
cmp dword [ebp - 0x10], ebx
jne 0x102ffe5
push dword [ebp - 0x18]
lea ecx, [ebp - 0x3c]
push 0x10030b0
call fcn.0102c68f
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x103000d
test byte [eax + 0x1c], 1
je 0x103000d
cmp byte [eax + 0x19], 5
jb 0x103000d
push dword [ebp - 0x18]
push 0x1002b50
push 0x97
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027ecb
lea ecx, [ebp - 0x3c]
call fcn.010292a7
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x1030026
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x1030036
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x1030047
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
call fcn.010a0c38
ret