Function at 0x1400212d0
Capabilities:
Get cpu information
Get system information on windows
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x1c8
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x130], xmm6
mov qword [rbp + 0x128], 0xfffffffffffffffe
mov rsi, rcx
lea rcx, [rbp + 0xc0]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea rcx, [rbp + 0x108]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_void____ptr64]
lea rdx, str.___________________CPU____________________n
lea rcx, [rbp - 0x40]
mov r8d, 0xffffffff
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromUtf8_char_const____ptr64__int_]
lea rcx, [rbp + 0x108]
lea rdx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64]
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, dword [rbp + 0xe0]
lea rcx, [rbp + 0x110]
mov r8d, 0xa
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::number_unsigned_long_int__int_]
lea rdx, str.CPU:
lea rcx, [rbp + 0x118]
mov r8d, 0xffffffff
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromUtf8_char_const____ptr64__int_]
lea rcx, [rbp + 0x118]
lea rdx, [rbp + 0x110]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64]
lea rcx, [rbp + 0x120]
lea rdx, [rbp + 0x118]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_class_QString_const____ptr64____ptr64]
lea rdx, [0x14004aa4a]
lea rcx, [rbp - 0x40]
mov r8d, 0xffffffff
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromUtf8_char_const____ptr64__int_]
lea rcx, [rbp + 0x120]
lea rdx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64]
lea rdi, [rbp - 0x40]
mov rcx, rdi
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rbp + 0x108]
lea rdx, [rbp + 0x120]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64]
mov rbx, qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rbp + 0x120]
call rbx
lea rcx, [rbp + 0x118]
call rbx
lea rcx, [rbp + 0x110]
call rbx
mov dword [rbp + 0xfc], 0x100
lea rax, [rbp + 0xfc]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 0
lea rdx, str.HARDWAREDESCRIPTIONSystemCentralProcessor0
lea r8, str.ProcessorNameString
mov rcx, 0xffffffff80000002
mov r9d, 2
call qword [sym.imp.ADVAPI32.dll_RegGetValueA]
test eax, eax
je 0x140021494
lea rdx, str.CPU._n
lea rcx, [rbp + 0x120]
mov r8d, 0xffffffff
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromUtf8_char_const____ptr64__int_]
lea rcx, [rbp + 0x108]
lea rdx, [rbp + 0x120]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64]
lea rcx, [rbp + 0x120]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
jmp 0x140021557
lea rcx, [rbp + 0x100]
lea rdx, [rbp - 0x40]
mov r8d, 0xffffffff
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromUtf8_char_const____ptr64__int_]
lea rdx, [0x14004a2db]
lea rcx, [rbp + 0x110]
mov r8d, 0xffffffff
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromUtf8_char_const____ptr64__int_]
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x100]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64]
lea rcx, [rbp + 0x118]
lea rdx, [rbp + 0x110]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_class_QString_const____ptr64____ptr64]
lea rdx, [0x14004aa4a]
lea rcx, [rbp + 0x120]
mov r8d, 0xffffffff
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromUtf8_char_const____ptr64__int_]
lea rcx, [rbp + 0x118]
lea rdx, [rbp + 0x120]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64]
lea rcx, [rbp + 0x120]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rbp + 0x108]
lea rdx, [rbp + 0x118]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64]
lea rcx, [rbp + 0x118]
call rbx
lea rcx, [rbp + 0x110]
call rbx
lea rcx, [rbp + 0x100]
call rbx
mov dword [rbp + 0x110], 0
lea rdx, [rbp + 0x110]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetLogicalProcessorInformation]
test eax, eax
jne 0x14002171f
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14002171f
mov ecx, dword [rbp + 0x110]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x14002171f
mov rdi, rax
lea rdx, [rbp + 0x110]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetLogicalProcessorInformation]
test eax, eax
je 0x140021716
mov ecx, dword [rbp + 0x110]
xor edx, edx
cmp rcx, 0x20
jb 0x1400216af
mov eax, ecx
shr eax, 5
cmp ecx, 0x120
jae 0x1400215df
xor ecx, ecx
xor edx, edx
jmp 0x14002168f
mov ecx, eax
and ecx, 7
mov edx, 8
cmovne rdx, rcx
mov rcx, rax
sub rcx, rdx
lea rdx, [rdi + 0xe8]
pxor xmm1, xmm1
mov r8, rcx
pxor xmm2, xmm2
pxor xmm0, xmm0
nop dword [rax]
movd xmm3, dword [rdx - 0x80]
movd xmm4, dword [rdx - 0xa0]
punpckldq xmm4, xmm3
movd xmm3, dword [rdx - 0xc0]
movd xmm5, dword [rdx - 0xe0]
punpckldq xmm5, xmm3
punpcklqdq xmm5, xmm4
movd xmm3, dword [rdx]
movd xmm4, dword [rdx - 0x20]
punpckldq xmm4, xmm3
movd xmm3, dword [rdx - 0x40]
movd xmm6, dword [rdx - 0x60]
punpckldq xmm6, xmm3
punpcklqdq xmm6, xmm4
pcmpeqd xmm5, xmm1
psubd xmm2, xmm5
pcmpeqd xmm6, xmm1
psubd xmm0, xmm6
add rdx, 0x100
add r8, 0xfffffffffffffff8
jne 0x140021610
paddd xmm0, xmm2
pshufd xmm1, xmm0, 0xee
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0x55
paddd xmm0, xmm1
movd edx, xmm0
sub rax, rcx
shl rcx, 5
add rcx, rdi
add rcx, 8
nop dword [rax]
cmp dword [rcx], 1
adc edx, 0
add rcx, 0x20
dec rax
jne 0x1400216a0
lea rcx, [rbp + 0x118]
mov r8d, 0xa
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::number_int__int_]
lea rdx, str.CPU:
lea rcx, [rbp + 0x120]
mov r8d, 0xffffffff
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromUtf8_char_const____ptr64__int_]
lea rcx, [rbp + 0x120]
lea rdx, [rbp + 0x118]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64]
lea rcx, [rbp + 0x108]
lea rdx, [rbp + 0x120]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64]
lea rcx, [rbp + 0x120]
call rbx
lea rcx, [rbp + 0x118]
call rbx
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rdi, [rbp + 0xf0]
lea rdx, [rbp + 0x108]
mov rcx, rdi
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_class_QString_const____ptr64____ptr64]
mov rcx, rsi
mov rdx, rdi
call fcn.14003a8f0
lea rcx, [rbp + 0x108]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
movaps xmm6, xmmword [rbp + 0x130]
add rsp, 0x1c8
pop rbx
pop rdi
pop rsi
pop rbp
ret