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

Disassembly:
push 0x60
mov eax, 0x10da6e2
call fcn.010a0c60
mov eax, dword [0x10ed030]
mov esi, 0x10ed030
cmp eax, esi
je 0x102fc25
test byte [eax + 0x1c], 1
je 0x102fc25
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 0x102fc94
test byte [eax + 0x1c], 2
je 0x102fc94
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 0x102fc94
push dword [ebp - 0x2c]
push dword [ebp - 0x10]
push 0x1002b50
push 0x8b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cb22
cmp dword [ebp - 0x10], ebx
jl 0x1030189
push 0x10031c0
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x24], eax
cmp eax, ebx
jne 0x102fcea
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x1030189
test byte [eax + 0x1c], 2
je 0x1030189
cmp byte [eax + 0x19], 2
jb 0x1030189
push 0x1002b50
push 0x8c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01027e15
jmp 0x1030189
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 0x102fd48
test byte [eax + 0x1c], 2
je 0x102fd48
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 0x102fd48
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.0102cb22
push dword [ebp - 0x24]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x10], ebx
jl 0x1030189
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 0x102fdb6
test byte [eax + 0x1c], 2
je 0x102fdb6
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 0x102fdb6
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.0102cb22
cmp dword [ebp - 0x10], ebx
jl 0x1030189
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 0x102fe45
cmp eax, ebx
je 0x102fe45
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 0x102fe76
test byte [eax + 0x1c], 2
je 0x102fe76
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 0x102fe76
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.0102cb54
jmp 0x102fe76
mov dword [ebp - 0x10], 0x8007000e
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x102fe76
test byte [eax + 0x1c], 2
je 0x102fe76
cmp byte [eax + 0x19], 2
jb 0x102fe76
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 0x1030189
cmp dword [ebp - 0x18], ebx
jne 0x1030189
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 0x1030178
cmp eax, ebx
jl 0x1030178
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 0x102ff32
test byte [eax + 0x1c], 2
je 0x102ff32
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 0x102ff32
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.0102cb22
cmp dword [ebp - 0x10], ebx
jl 0x1030154
push 0xd
pop eax
cmp ax, word [ebp - 0x6c]
jne 0x1030154
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 0x102ffa3
test byte [eax + 0x1c], 2
je 0x102ffa3
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 0x102ffa3
push dword [ebp - 0x20]
push dword [ebp - 0x10]
push 0x1002b50
push 0x92
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102cb22
cmp dword [ebp - 0x10], ebx
jl 0x1030143
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 0x1030014
test byte [eax + 0x1c], 2
je 0x1030014
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 0x1030014
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.0102cb22
cmp dword [ebp - 0x10], ebx
jl 0x1030139
push 0xd
pop eax
cmp ax, word [ebp - 0x5c]
jne 0x1030139
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 0x103008a
test byte [eax + 0x1c], 2
je 0x103008a
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 0x103008a
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.0102cb22
cmp dword [ebp - 0x10], ebx
jl 0x1030128
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 0x1030103
test byte [eax + 0x1c], 2
je 0x1030103
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 0x1030103
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.01082845
cmp dword [ebp - 0x10], ebx
jl 0x103011e
push 3
pop eax
cmp ax, word [ebp - 0x4c]
jne 0x103011e
cmp dword [ebp - 0x44], 2
jne 0x103011e
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 0x1030139
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 0x1030154
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 0x102fe91
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x102fe91
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x1030189
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.010292e8
mov dword [ebp - 0x10], eax
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x10301ed
test byte [eax + 0x1c], 2
je 0x10301ed
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 0x10301ed
push dword [ebp - 0x10]
push 0x1002b50
push 0x96
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010294b2
mov eax, dword [0x10ed030]
cmp dword [ebp - 0x10], ebx
jne 0x1030207
push dword [ebp - 0x18]
lea ecx, [ebp - 0x3c]
push 0x10030b0
call fcn.0102c71e
mov eax, dword [0x10ed030]
cmp eax, esi
je 0x103022f
test byte [eax + 0x1c], 1
je 0x103022f
cmp byte [eax + 0x19], 5
jb 0x103022f
push dword [ebp - 0x18]
push 0x1002b50
push 0x97
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010294b2
lea ecx, [ebp - 0x3c]
call fcn.010292ca
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x1030248
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x1030258
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x1030269
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
call fcn.010a0d4c
ret