Function at 0x4017e0
Capabilities:
Connect to wmi namespace via wbemlocator
Execute command
Reference wmi statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x404ae5
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x408024]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.004011e0
push 0x4052c4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
lea edi, [ebp - 0x50]
xor eax, eax
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
mov dword [edi], eax
mov dword [edi + 4], esi
mov dword [edi + 8], ecx
push 0x4031c0
mov dword [edi + 0xc], edx
mov edx, str.Processor_ID:
push dword [ebp - 0x48]
push dword [ebp - 0x44]
push dword [ebp - 0x4c]
push 0x401160
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00402f80
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
push 0x405200
push 1
push 0
push 0x4051f0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x4018e4
push 0x4031c0
push eax
push 0x401160
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
mov edx, str.Nie_udalo_sie_utworzyc_obiektu_IWbemLocator.
call fcn.00402f80
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int_]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
jmp 0x4019fd
push 0xc
mov dword [ebp - 0x18], 0
call fcn.00403bcb
mov esi, eax
add esp, 4
mov dword [ebp - 0x3c], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x401938
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
push str.ROOTCIMV2
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
je 0x401cc7
jmp 0x40193a
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x3c], esi
test esi, esi
je 0x401cc7
lea edx, [ebp - 0x18]
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x1c]
push edx
push 0
push 0
mov ecx, dword [eax]
push 0
push 0
push 0
push 0
push dword [esi]
push eax
call dword [ecx + 0xc]
or ebx, 0xffffffff
mov dword [ebp - 4], 0xffffffff
mov edi, eax
mov ecx, ebx
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x4019b9
mov ecx, dword [esi]
test ecx, ecx
je 0x401997
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4019ae
push eax
call fcn.00403bc6
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.00403bfb
add esp, 8
test edi, edi
jns 0x401a1f
push 0x4031c0
push edi
push 0x401160
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
mov edx, str.Polaczenie_nieudane:
call fcn.00402f80
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int_]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00403bb5
mov esp, ebp
pop ebp
ret
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 0x401a7f
mov edx, str.CoSetProxyBlanket_nie_powiodlo_sie:
push 0x4031c0
push eax
push 0x401160
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.00402f80
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int_]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x4019f4
push 0xc
mov dword [ebp - 0x20], 0
call fcn.00403bcb
mov esi, eax
add esp, 4
mov dword [ebp - 0x3c], esi
mov dword [ebp - 4], 2
test esi, esi
je 0x401aca
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
push str.SELECT__FROM_Win32_Processor
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call fcn.004038e0
mov dword [esi], eax
jmp 0x401acc
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x3c], esi
test esi, esi
je 0x401cc7
push 0xc
mov dword [ebp - 4], 3
call fcn.00403bcb
mov edi, eax
add esp, 4
mov dword [ebp - 0x40], edi
mov byte [ebp - 4], 4
test edi, edi
je 0x401b26
xorps xmm0, xmm0
movq qword [edi], xmm0
mov dword [edi + 8], 0
push 0x405390
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call fcn.004038e0
mov dword [edi], eax
jmp 0x401b28
xor edi, edi
mov byte [ebp - 4], 3
mov dword [ebp - 0x40], edi
test edi, edi
je 0x401cd1
lea edx, [ebp - 0x20]
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x18]
push edx
push 0
push 0x30
push dword [esi]
mov ecx, dword [eax]
push dword [edi]
push eax
call dword [ecx + 0x50]
mov dword [ebp - 0x3c], eax
mov ecx, ebx
lock xadd dword [edi + 8], ecx
dec ecx
jne 0x401b92
mov ecx, dword [edi]
test ecx, ecx
je 0x401b70
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x401b87
push eax
call fcn.00403bc6
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.00403bfb
add esp, 8
mov dword [ebp - 4], 0xffffffff
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x401bd6
mov eax, dword [esi]
test eax, eax
je 0x401bb4
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x401bcb
push eax
call fcn.00403bc6
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.00403bfb
add esp, 8
mov eax, dword [ebp - 0x3c]
test eax, eax
jns 0x401be7
mov edx, str.Wczytanie_informacji_o_Procesorze_nieudane:
jmp 0x401a3f
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x14], 0
test ecx, ecx
je 0x401c73
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ecx]
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x24]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
cmp dword [ebp - 0x14], 0
je 0x401c73
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x38]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.Name
push eax
call dword [ecx + 0x10]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
mov edx, str.Processor_Name:
push 0x403700
call fcn.004031f0
mov edx, dword [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.004034c0
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_______cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____]
lea eax, [ebp - 0x38]
push eax
call esi
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x401c02
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 - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Wcisnij_dowolny_klawisz__aby_powrocic_do_menu...
call fcn.00402f80
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xffffffffffffffff
push 0
push 1
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::ignore_long_long___int64___int_]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call dword [sym.imp.MSVCP140.dll_public:_int___thiscall_std::basic_istream_char__struct_std::char_traits_char__::get_void_]
jmp 0x401a03
push 0x8007000e
call fcn.004038c0
push 0x8007000e
call fcn.004038c0
int3