Function at 0x1400649e0
Capabilities:
Get system information on windows

Disassembly:
sub rsp, 0x468
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rcx
and dl, 1
mov byte [rsp + 0x9e], dl
and r8b, 1
mov byte [rsp + 0x9f], r8b
mov byte [rsp + 0x357], 0
mov byte [rsp + 0x356], 0
mov byte [rsp + 0x355], 0
mov byte [rsp + 0x354], 0
mov byte [rsp + 0x3a7], 0
mov qword [rsp + 0x3a8], 1
mov byte [rsp + 0x3b7], 0
mov qword [rsp + 0x3b8], 1
lea rcx, [rsp + 0x3f0]
mov qword [rsp + 0x458], rcx
mov qword [rsp + 0x460], rcx
mov edx, 8
call sym.core::intrinsics::write_bytes::precondition_check::h08411bef1bec6ba2
xorps xmm0, xmm0
movaps xmmword [rsp + 0x410], xmm0
movaps xmmword [rsp + 0x400], xmm0
movaps xmmword [rsp + 0x3f0], xmm0
movaps xmm0, xmmword [rsp + 0x3f0]
movaps xmm1, xmmword [rsp + 0x400]
movaps xmm2, xmmword [rsp + 0x410]
movaps xmmword [rsp + 0x3e0], xmm2
movaps xmmword [rsp + 0x3d0], xmm1
movaps xmmword [rsp + 0x3c0], xmm0
movaps xmm0, xmmword [rsp + 0x3c0]
movaps xmm1, xmmword [rsp + 0x3d0]
movaps xmm2, xmmword [rsp + 0x3e0]
movaps xmmword [rsp + 0x440], xmm2
movaps xmmword [rsp + 0x430], xmm1
movaps xmmword [rsp + 0x420], xmm0
movaps xmm0, xmmword [rsp + 0x420]
movaps xmm1, xmmword [rsp + 0x430]
movaps xmm2, xmmword [rsp + 0x440]
movaps xmmword [rsp + 0xc0], xmm2
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x88], rcx
call sub.KERNEL32.dll_GetSystemInfo
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x108]
call dbg.get_vendor_id_and_brand
mov byte [rsp + 0x357], 1
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xd0], xmm0
mov byte [rsp + 0x356], 1
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0xf0], xmm0
mov eax, dword [rsp + 0xc0]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x358], rax
lea rcx, [rsp + 0x9e]
call dbg.sysinfo::common::CpuRefreshKind::frequency::h57bbe9602dd6e2b2
mov byte [rsp + 0x9d], al
jmp 0x140064bef
mov al, byte [rsp + 0x9d]
test al, 1
jne 0x140064c17
jmp 0x140064bfc
mov r8, qword [rsp + 0x90]
xor eax, eax
mov edx, eax
lea rcx, [rsp + 0x138]
call dbg.from_elem<u64>
jmp 0x140064c2e
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0x138]
call dbg.get_frequencies
jmp 0x140064c48
jmp 0x140064c30
mov rax, qword [rsp + 0x90]
add rax, 1
mov qword [rsp + 0x70], rax
setb al
jb 0x140064c5e
jmp 0x140064c4a
jmp 0x140064c30
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x150]
call dbg.alloc::vec::Vec<T>::with_capacity::hd1631aceaf014f19
jmp 0x140064c96
lea rcx, [0x14015adb8]
call dbg.panic_const_add_overflow
jmp 0x140064c94
ud2
lea rcx, [rsp + 0x138]
call dbg.deref<u64, alloc::alloc::Global>
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rax
jmp 0x140064cd4
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
call dbg.iter<u64>
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rax
jmp 0x140064cef
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x180]
call dbg.enumerate<core::slice::iter::Iter<u64>>
jmp 0x140064d08
lea rcx, [rsp + 0x168]
lea rdx, [rsp + 0x180]
call dbg.into_iter<core::iter::adapters::enumerate::Enumerate<core::slice::iter::Iter<u64>>>
jmp 0x140064d1f
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x1a8], rax
lea rcx, [rsp + 0x198]
call dbg.next<core::slice::iter::Iter<u64>>
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rax
jmp 0x140064d68
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1b8], rax
mov rdx, qword [rsp + 0x1b8]
mov eax, 1
xor ecx, ecx
cmp rdx, 0
cmove rax, rcx
cmp rax, 0
jne 0x140064e6e
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x160]
mov qword [rsp + 0x300], rcx
movups xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x2f0], xmm0
mov byte [rsp + 0x357], 0
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x320], rcx
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x310], xmm0
mov byte [rsp + 0x356], 0
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x340], rcx
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x330], xmm0
mov rcx, qword [rsp + 0x300]
mov qword [rax + 0x10], rcx
movaps xmm0, xmmword [rsp + 0x2f0]
movups xmmword [rax], xmm0
mov rcx, qword [rsp + 0x320]
mov qword [rax + 0x28], rcx
movaps xmm0, xmmword [rsp + 0x310]
movups xmmword [rax + 0x18], xmm0
mov rcx, qword [rsp + 0x340]
mov qword [rax + 0x40], rcx
movaps xmm0, xmmword [rsp + 0x330]
movups xmmword [rax + 0x30], xmm0
lea rcx, [rsp + 0x138]
call dbg.drop_in_place<alloc::vec::Vec<u64, alloc::alloc::Global>>
jmp 0x140064ea7
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x370], rax
mov rcx, qword [rsp + 0x1b8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x378], rcx
add rax, 1
mov qword [rsp + 0x38], rax
setb al
jb 0x140064f34
jmp 0x140064ec7
mov rax, qword [rsp + 0x80]
mov byte [rsp + 0x356], 0
mov byte [rsp + 0x357], 0
add rsp, 0x468
ret
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x2b8], rax
lea rax, [rsp + 0x2b8]
mov qword [rsp + 0x390], rax
lea rax, [sym.core::fmt::num::imp::__impl_core::fmt::Display_for_u64_::fmt::habbd8e64303c6dcd]
mov qword [rsp + 0x398], rax
lea rax, [rsp + 0x2b8]
mov qword [rsp + 0x380], rax
lea rax, [sym.core::fmt::num::imp::__impl_core::fmt::Display_for_u64_::fmt::habbd8e64303c6dcd]
mov qword [rsp + 0x388], rax
mov rax, qword [rsp + 0x380]
mov qword [rsp + 0x2a8], rax
mov rax, qword [rsp + 0x388]
mov qword [rsp + 0x2b0], rax
jmp 0x140064f45
lea rcx, [0x14015ade8]
call dbg.panic_const_add_overflow
jmp 0x140064c94
movups xmm0, xmmword [rsp + 0x2a8]
movaps xmmword [rsp + 0x290], xmm0
lea rdx, str.CPU
lea rcx, [rsp + 0x260]
lea r8, [rsp + 0x290]
call dbg.core::fmt::Arguments::new_v1::h731dc8287683d1d5
jmp 0x140064f73
lea rcx, [rsp + 0x248]
lea rdx, [rsp + 0x260]
call sym.alloc::fmt::format::hc8f551d8ce8f7a1a
jmp 0x140064f8a
mov byte [rsp + 0x355], 1
mov rax, qword [rsp + 0x258]
mov qword [rsp + 0x240], rax
movups xmm0, xmmword [rsp + 0x248]
movaps xmmword [rsp + 0x230], xmm0
lea rcx, [rsp + 0x2c0]
lea rdx, [rsp + 0xd0]
call dbg.clone
jmp 0x140064ff2
mov byte [rsp + 0x354], 1
lea rcx, [rsp + 0x2d8]
lea rdx, [rsp + 0xf0]
call dbg.clone
jmp 0x140065037
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
mov byte [rsp + 0x355], 0
mov byte [rsp + 0x354], 0
mov rax, rsp
mov qword [rax + 0x20], rcx
lea rcx, [rsp + 0x1c0]
lea rdx, [rsp + 0x230]
lea r8, [rsp + 0x2c0]
lea r9, [rsp + 0x2d8]
call dbg.sysinfo::windows::cpu::Cpu::new_with_values::hc0b9f0db38f5b164
jmp 0x14006507d
mov byte [rsp + 0x354], 0
mov byte [rsp + 0x355], 0
lea rcx, [rsp + 0x150]
lea rdx, [rsp + 0x1c0]
call dbg.alloc::vec::Vec<T,A>::push::hb1eea06fe47e5138
jmp 0x1400650a4
jmp 0x140064d4f