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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b8cb8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, dword [0x509318]
cmp byte [eax + 0x54], 0
jne 0x47fba5
mov byte [eax + 0x54], 1
mov ecx, dword [0x509318]
lea ecx, [ecx + 0x10]
call fcn.004769e0
mov dword [ebp - 4], 0
mov esi, dword [0x509318]
lea eax, [esi + 0x2c]
cmp dword [eax], 0
je 0x47f85a
cmp dword [esi + 0x40], 0
jl 0x47f85a
mov dword [esi + 0x40], 1
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 2
push str.._rootwmi
lea ecx, [ebp - 0x14]
call fcn.00402a40
mov byte [ebp - 4], 3
mov esi, dword [0x509318]
cmp dword [esi + 0x40], 0
jl 0x47f8f1
lea edx, [esi + 0x30]
cmp dword [edx], 0
jne 0x47f8f1
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x47f8ea
mov eax, dword [ecx]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x14]
push ecx
call dword [eax + 0xc]
mov dword [esi + 0x44], eax
mov esi, dword [0x509318]
cmp dword [esi + 0x44], 0
jl 0x47f8f1
call fcn.0047fda0
test al, al
jne 0x47f8c1
mov esi, dword [0x509318]
push 0
push 0
push 3
push 3
push 0
push 0
push 0xffffffffffffffff
push dword [esi + 0x30]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov dword [esi + 0x44], eax
jmp 0x47f8cd
push eax
push 0x4be8c0
push 1
push 0
push 0x4be8b0
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [esi + 0x40], eax
mov esi, dword [0x509318]
cmp dword [esi + 0x40], 0
jl 0x47f7bc
lea eax, [esi + 0x2c]
push eax
call fcn.0047fdd0
add esp, 4
mov dword [esi + 0x40], eax
jmp 0x47f7bc
mov eax, dword [0x509318]
mov dword [eax + 0x44], 1
mov esi, dword [0x509318]
cmp dword [esi + 0x44], 0
jl 0x47f8f1
lea eax, [esi + 0x30]
push eax
call fcn.0047fe10
add esp, 4
mov dword [esi + 0x44], eax
jmp 0x47f8f1
mov dword [esi + 0x44], 1
mov byte [ebp - 4], 2
push dword [ebp - 0x14]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 5
push str.._rootcimv2
lea ecx, [ebp - 0x14]
call fcn.00402a40
mov byte [ebp - 4], 6
mov esi, dword [0x509318]
cmp dword [esi + 0x40], 0
jl 0x47f9f3
lea edx, [esi + 0x34]
cmp dword [edx], 0
jne 0x47f9f3
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x47f9ec
mov eax, dword [ecx]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x14]
push ecx
call dword [eax + 0xc]
mov dword [esi + 0x48], eax
mov esi, dword [0x509318]
cmp dword [esi + 0x48], 0
jl 0x47f9f3
call fcn.0047fda0
test al, al
jne 0x47f9c3
mov esi, dword [0x509318]
push 0
push 0
push 3
push 3
push 0
push 0
push 0xffffffffffffffff
push dword [esi + 0x34]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov dword [esi + 0x48], eax
jmp 0x47f9cf
mov eax, dword [0x509318]
mov dword [eax + 0x48], 1
mov esi, dword [0x509318]
cmp dword [esi + 0x48], 0
jl 0x47f9f3
lea eax, [esi + 0x34]
push eax
call fcn.0047fdf0
add esp, 4
mov dword [esi + 0x48], eax
jmp 0x47f9f3
mov dword [esi + 0x48], 1
mov byte [ebp - 4], 5
push dword [ebp - 0x14]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 8
push str.._roothpinstrumentedbios
lea ecx, [ebp - 0x14]
call fcn.00402a40
mov byte [ebp - 4], 9
mov esi, dword [0x509318]
cmp dword [esi + 0x40], 0
jl 0x47fae6
lea edx, [esi + 0x38]
cmp dword [edx], 0
jne 0x47fae6
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x47fadf
cmp dword [esi + 0x50], 0xa
jge 0x47fadf
mov eax, dword [ecx]
push edx
push 0
push 0
push 0x80
push 0
push 0
push 0
push dword [ebp - 0x14]
push ecx
call dword [eax + 0xc]
mov dword [esi + 0x4c], eax
mov esi, dword [0x509318]
cmp dword [esi + 0x4c], 0
jl 0x47fada
push 0
push 0
push 3
push 3
push 0
push 0
push 0xffffffffffffffff
push dword [esi + 0x38]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov dword [esi + 0x4c], eax
mov esi, dword [0x509318]
cmp dword [esi + 0x4c], 0
jl 0x47fae6
lea eax, [esi + 0x38]
push eax
call fcn.0047fe30
add esp, 4
mov dword [esi + 0x4c], eax
jmp 0x47fae6
inc dword [esi + 0x50]
jmp 0x47fae6
mov dword [esi + 0x4c], 1
mov byte [ebp - 4], 8
push dword [ebp - 0x14]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x509318]
lea ecx, [ecx + 0x10]
call fcn.00476a30
mov eax, dword [0x509318]
mov edx, dword [eax + 0x4c]
or edx, dword [eax + 0x48]
or edx, dword [eax + 0x44]
or edx, dword [eax + 0x40]
setge cl
mov byte [eax + 0x54], cl
mov eax, dword [0x509318]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x47fb92
mov edx, dword [eax + 0x48]
test edx, edx
jns 0x47fb7f
mov esi, dword [eax + 0x44]
test esi, esi
jns 0x47fb7f
mov eax, dword [eax + 0x4c]
test eax, eax
jns 0x47fb7f
or ecx, esi
or ecx, edx
or eax, ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret