Function at 0x401cf0
Capabilities:
Connect to wmi namespace via wbemlocator
Execute command

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x404a75
mov eax, dword fs:[0]
push eax
sub esp, 0x54
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
mov dword [ebp - 0x1c], 0
lea eax, [ebp - 0x1c]
push eax
push 0x405200
push 1
push 0
push 0x4051f0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x401d8d
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 0x401ea6
push 0xc
mov dword [ebp - 0x18], 0
call fcn.00403bcb
mov esi, eax
add esp, 4
mov dword [ebp - 0x5c], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x401de1
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 0x40220f
jmp 0x401de3
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x5c], esi
test esi, esi
je 0x40220f
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 0x401e62
mov ecx, dword [esi]
test ecx, ecx
je 0x401e40
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x401e57
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 0x401ec8
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 0x401f28
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 0x401e9d
push 0xc
mov dword [ebp - 0x24], 0
call fcn.00403bcb
mov esi, eax
add esp, 4
mov dword [ebp - 0x5c], esi
mov dword [ebp - 4], 2
test esi, esi
je 0x401f73
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
push str.SELECT_SerialNumber__Model__Manufacturer_FROM_Win32_DiskDrive
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call fcn.004038e0
mov dword [esi], eax
jmp 0x401f75
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x5c], esi
test esi, esi
je 0x40220f
push 0xc
mov dword [ebp - 4], 3
call fcn.00403bcb
mov edi, eax
add esp, 4
mov dword [ebp - 0x60], edi
mov byte [ebp - 4], 4
test edi, edi
je 0x401fcf
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 0x401fd1
xor edi, edi
mov byte [ebp - 4], 3
mov dword [ebp - 0x60], edi
test edi, edi
je 0x402219
lea edx, [ebp - 0x24]
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 - 0x5c], eax
mov ecx, ebx
lock xadd dword [edi + 8], ecx
dec ecx
jne 0x40203b
mov ecx, dword [edi]
test ecx, ecx
je 0x402019
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x402030
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 0x40207f
mov eax, dword [esi]
test eax, eax
je 0x40205d
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x402074
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 - 0x5c]
test eax, eax
jns 0x402090
mov edx, str.Wczytanie_informacji_o_Dysku_twardym_nieudane:
jmp 0x401ee8
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x14], 0
test ecx, ecx
je 0x4021bb
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov eax, dword [ecx]
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x20]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
cmp dword [ebp - 0x14], 0
je 0x4021bb
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x38]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.SerialNumber
push eax
call dword [ecx + 0x10]
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x48]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.Model
push eax
call dword [ecx + 0x10]
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x58]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.Manufacturer
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.Disk_Serial_Number:
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_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
mov edx, str.Disk_Model:
push 0x403700
call fcn.004031f0
mov edx, dword [ebp - 0x40]
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_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
mov edx, str.Disk_Manufacturer:
push 0x403700
call fcn.004031f0
mov edx, dword [ebp - 0x50]
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
lea eax, [ebp - 0x48]
push eax
call esi
lea eax, [ebp - 0x58]
push eax
call esi
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x4020b0
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 - 0x24]
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 0x401eac
push 0x8007000e
call fcn.004038c0
push 0x8007000e
call fcn.004038c0
int3