Function at 0x14004be08
Capabilities:
Get memory capacity
Get system information on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x418
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x380], xmm6
mov qword [rbp + 0x378], 0xfffffffffffffffe
mov r15, rdx
mov rsi, rcx
mov al, byte [rdx + 9]
cmp al, 2
mov qword [rbp + 0x368], rcx
je 0x14004bf47
mov bl, byte [r15 + 0xa]
test al, 1
je 0x14004beb1
xorps xmm0, xmm0
lea rcx, [rbp + 0x130]
movaps xmmword [rcx], xmm0
movaps xmmword [rcx + 0x30], xmm0
movaps xmmword [rcx + 0x20], xmm0
movaps xmmword [rcx + 0x10], xmm0
mov dword [rcx], 0x40
call qword [sym.imp.kernel32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x14004be82
xor edi, edi
jmp 0x14004be8a
push 1
pop rdi
call fcn.14005dae6
mov rax, qword [rbp + 0x138]
mov rcx, qword [rbp + 0x368]
mov qword [rcx + 0x70], rax
mov rax, qword [rbp + 0x140]
mov qword [rcx + 0x78], rax
mov rcx, rdi
xor edx, edx
call fcn.140048585
test bl, 1
mov rsi, qword [rbp + 0x368]
je 0x14004bf47
xorps xmm0, xmm0
lea rcx, [rbp + 0x130]
movaps xmmword [rcx + 0x50], xmm0
movaps xmmword [rcx + 0x40], xmm0
movaps xmmword [rcx + 0x30], xmm0
movaps xmmword [rcx + 0x20], xmm0
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
and qword [rcx + 0x60], 0
push 0x68
pop rdx
call qword [sym.imp.kernel32.dll_K32GetPerformanceInfo]
test eax, eax
je 0x14004bf47
mov r8, qword [rbp + 0x150]
mov rdx, qword [rbp + 0x140]
xor r9d, r9d
sub rdx, r8
cmovb rdx, r9
mov rcx, qword [rbp + 0x180]
mov rax, rcx
mul rdx
push 0xffffffffffffffff
pop r10
cmovo rax, r10
mov rdx, qword [rbp + 0x138]
sub rdx, r8
cmovb rdx, r9
mov qword [rsi + 0x80], rax
mov rax, rcx
mul rdx
cmovo rax, r10
mov qword [rsi + 0x88], rax
cmp byte [r15 + 0xb], 2
je 0x14004c307
mov r12b, byte [r15 + 0xc]
lea rdi, [rsi + 0x90]
cmp qword [rsi + 0x90], 0
jne 0x14004c202
lea r8, [rbp + 0x130]
and qword [r8], 0
xor esi, esi
xor ecx, ecx
xor edx, edx
call qword [sym.imp.pdh.dll_PdhOpenQueryA]
mov ebx, eax
test ebx, ebx
jne 0x14004bfc0
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0x360], rax
xor ecx, ecx
call fcn.140052037
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x330], rcx
mov qword [rbp + 0x2d8], rdx
lea rcx, [rdx + 1]
mov qword [rax], rcx
lea rsi, [0x14006b370]
mov qword [rbp + 0x338], rsi
mov rcx, rdi
call fcn.140003a4b
mov rax, qword [rbp + 0x368]
and qword [rax + 0xa8], 0
and qword [rax + 0xc8], 0
mov rdx, qword [rbp + 0x338]
mov qword [rax + 0x90], rdx
xorps xmm0, xmm0
movups xmmword [rax + 0x98], xmm0
mov rcx, qword [rbp + 0x2d8]
mov qword [rax + 0xb0], rcx
mov rcx, qword [rbp + 0x330]
mov qword [rax + 0xb8], rcx
mov rcx, qword [rbp + 0x360]
mov qword [rax + 0xc0], rcx
test ebx, ebx
jne 0x14004c1f2
mov qword [rbp + 0x360], r15
lea rdx, str.Processor__Total___Idle_Timetot_0Processor____Idle_Time
lea rcx, [rbp + 0x340]
push 0x1e
pop r8
call fcn.140001c23
mov byte [rbp + 0x375], 1
lea rdx, [0x14006b0ee]
lea rcx, [rbp + 0x130]
push 5
pop r8
call fcn.140001c23
mov rsi, qword [rbp + 0x368]
lea r8, [rsi + 0x18]
mov byte [rbp + 0x375], 0
lea rcx, [rbp + 0x340]
lea r9, [rbp + 0x130]
mov rdx, rdi
call fcn.14004dade
mov byte [rbp + 0x330], r12b
mov edx, r12d
and dl, 1
mov rcx, rsi
call fcn.14004df6a
mov rbx, rax
mov qword [rbp + 0x338], rdx
xor eax, eax
lea r12, [rbp + 0x2e0]
lea rsi, [rbp + 0x130]
push 1
pop r13
cmp rbx, qword [rbp + 0x338]
je 0x14004c1e1
mov r15, rax
mov qword [rbp + 0x318], rax
lea rax, [0x14006b110]
mov qword [rbp + 0x130], rax
push 2
pop rax
mov qword [rbp + 0x138], rax
and qword [rbp + 0x150], 0
lea r14, [rbp + 0x318]
mov qword [rbp + 0x300], r14
lea rax, [fcn.140014110]
mov qword [rbp + 0x308], rax
lea rax, [rbp + 0x300]
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x148], r13
mov rcx, r12
mov rdx, rsi
call fcn.140045f33
mov qword [rbp + 0x300], r14
lea rax, [0x14006b138]
mov qword [rbp + 0x130], rax
push 2
pop rax
mov qword [rbp + 0x138], rax
and qword [rbp + 0x150], 0
lea rax, [fcn.140014110]
mov qword [rbp + 0x308], rax
lea rax, [rbp + 0x300]
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x148], r13
mov byte [rbp + 0x374], 1
lea rcx, [rbp + 0x340]
mov rdx, rsi
call fcn.140045f33
add rbx, 0x48
movups xmm0, xmmword [rbp + 0x340]
movaps xmmword [rbp + 0x130], xmm0
mov rax, qword [rbp + 0x350]
mov qword [rbp + 0x140], rax
mov byte [rbp + 0x374], 0
mov rcx, r12
mov rdx, rdi
mov r8, rbx
mov r9, rsi
call fcn.14004dade
add rbx, 0x28
mov rax, r15
inc rax
jmp 0x14004c0c7
mov rdx, qword [rdi]
mov r15, qword [rbp + 0x360]
mov r12b, byte [rbp + 0x330]
test rdx, rdx
mov rsi, qword [rbp + 0x368]
je 0x14004c307
mov rcx, qword [rsi + 0xc0]
call qword [sym.imp.pdh.dll_PdhCollectQueryData]
xor eax, eax
cmp rax, qword [rsi + 0x18]
jo 0x14004c23c
lea rdx, [rsi + 0x18]
mov rcx, rdi
call fcn.14004df89
test al, 1
je 0x14004ca0d
movss xmm1, dword [0x140063770]
subss xmm1, xmm0
movss dword [rsi + 0x30], xmm1
mov edx, r12d
and dl, 1
mov rcx, rsi
call fcn.14004df6a
mov rbx, rax
mov r14, rdx
add rbx, 0x48
xor esi, esi
movss xmm6, dword [0x140063770]
lea rax, [rbx - 0x48]
cmp rax, r14
je 0x14004c291
cmp rsi, qword [rbx]
jo 0x14004c28b
mov rcx, rdi
mov rdx, rbx
call fcn.14004df89
test al, 1
je 0x14004c9df
movaps xmm1, xmm6
subss xmm1, xmm0
movss dword [rbx + 0x18], xmm1
add rbx, 0x70
jmp 0x14004c25e
test r12b, 1
mov rax, qword [rbp + 0x368]
je 0x14004c307
cmp byte [rax + 0x38], 0
jne 0x14004c307
mov rdi, qword [rax + 0x10]
mov rsi, rax
lea rbx, [rbp + 0x130]
mov rcx, rbx
mov rdx, rdi
call fcn.14004d8cf
mov rax, qword [rsi + 8]
mov rcx, qword [rbx]
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
shl r8, 3
imul r9, rdi, 0x70
xor r10d, r10d
test r9, r9
je 0x14004c2f7
cmp r8, r10
je 0x14004c2f7
mov r11, qword [rdx + r10]
mov qword [rax + 0x68], r11
add rax, 0x70
add r10, 8
add r9, 0xffffffffffffff90
jmp 0x14004c2d7
call fcn.14004b1df
mov rax, qword [rbp + 0x368]
mov byte [rax + 0x38], 1
mov cl, byte [r15]
cmp cl, 2
jne 0x14004c32a
movaps xmm6, xmmword [rbp + 0x380]
add rsp, 0x418
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [r15 + 1]
mov byte [rbp + 0x360], cl
mov byte [rbp + 0x29f], cl
mov qword [rbp + 0x2a0], rax
lea rbx, [rbp + 0x2a8]
mov edi, 0x80000
mov edx, 0x80000
mov rcx, rbx
call fcn.14004cf42
push 5
pop r14
lea r15, [rbp + 0x340]
mov r13, qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
lea r12, [rbp + 0x130]
and dword [rbp + 0x340], 0
mov rcx, rbx
mov rdx, rdi
call fcn.14005db03
mov rsi, qword [rbp + 0x2b0]
mov ecx, r14d
mov rdx, rsi
mov r8d, edi
mov r9, r15
call r13
mov rcx, r12
mov edx, eax
call fcn.140048485
test byte [rbp + 0x130], 1
je 0x14004c3e7
cmp dword [rbp + 0x140], 0xd0000004
mov rcx, qword [rbp + 0x138]
jne 0x14004c498
mov esi, dword [rbp + 0x340]
test rcx, rcx
je 0x14004c3d6
mov rax, qword [rcx]
call qword [rax + 0x10]
add rdi, rdi
lea eax, [rsi + 0x2800]
test esi, esi
cmovne rdi, rax
jmp 0x14004c373
mov qword [rbp + 0x2b8], rdi
and qword [rbp + 0x290], 0
push 8
pop rdx
mov ecx, 0x1f4
mov r8, rdx
call fcn.14001ef63
lea rdi, [rbp + 0x2c0]
mov qword [rdi], rax
mov qword [rdi + 8], rdx
and qword [rdi + 0x10], 0
xor ebx, ebx
xor r14d, r14d
mov r15d, dword [rsi + r14]
cmp rbx, qword [rbp + 0x2c0]
jne 0x14004c441
mov byte [rbp + 0x377], 1
mov rcx, rdi
call fcn.14004b125
mov rdx, qword [rbp + 0x2c8]
lea rax, [rsi + r14]
mov qword [rdx + rbx*8], rax
inc rbx
mov qword [rbp + 0x2d0], rbx
add r14, r15
test r15d, r15d
jne 0x14004c41e
mov rcx, qword [rbp + 0x368]
lea rax, [rcx + 0x40]
mov qword [rbp + 0x338], rax
mov qword [rbp + 0x288], rax
test byte [rbp + 0x360], 1
je 0x14004c4b2
mov byte [rbp + 0x377], 1
xor edx, edx
call fcn.14004cf72
mov rax, qword [rbp + 0x368]
mov rax, qword [rax + 0x10]
jmp 0x14004c4b4
test rcx, rcx
je 0x14004c4a3
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x2a8]
mov rdx, rsi
jmp 0x14004c964
xor eax, eax
lea rbx, [rbp + 0x128]
mov qword [rbx], rax
lea rdi, [rbp + 0x130]
and qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.kernel32.dll_GetSystemTimePreciseAsFileTime]
mov rcx, qword [rdi]
movabs r8, 0x19db1ded53e8000
mov rdx, rcx
sub rdx, r8
neg rdx
movabs rax, 0xfe624e212ac18000
add rax, rcx
cmp rcx, r8
cmovl rax, rdx
xor r9d, r9d
mov r10d, 0x989680
xor edx, edx
div r10
cmp rcx, r8
cmovl rax, r9
lea rcx, [rbp + 0x120]
mov qword [rcx], rax
mov rsi, qword [rbp + 0x2d0]
mov qword [rdi + 0x10], rsi
and qword [rbp + 0x318], 0
mov qword [rbp + 0x320], 8
and qword [rbp + 0x328], 0
movups xmm0, xmmword [rbp + 0x2c0]
movaps xmmword [rdi], xmm0
lea rax, [rbp + 0x290]
mov qword [rdi + 0x18], rax
lea rax, [rbp + 0x288]
mov qword [rdi + 0x20], rax
lea rax, [rbp + 0x29f]
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x30], rbx
mov qword [rdi + 0x38], rcx
movups xmm0, xmmword [rbp + 0x2c0]
lea rax, [rbp + 0x2e0]
mov qword [rbp + 0x340], rax
and qword [rbp + 0x348], 0
movaps xmmword [rax], xmm0
and qword [rax + 0x10], 0
mov qword [rbp + 0x350], rsi
mov qword [rbp + 0x358], rsi
cmp qword [rax], rsi
jb 0x14004c9f5
mov rdi, qword [rbp + 0x2e8]
call fcn.14002310c
lea rcx, [rbp + 0x148]
xor edx, edx
cmp rsi, 0xffffffffffffffff
sete dl
cmp rdx, rax
cmova rax, rdx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 1
lea rdi, [rbp + 0x300]
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9, rax
call fcn.14004908d
lea rcx, [rbp + 0x340]
call fcn.14004b1f0
mov rcx, qword [rbp + 0x2e0]
mov rdx, qword [rbp + 0x2e8]
call fcn.14004b1df
xor edx, edx
mov rax, qword [rbp + 0x310]
sub rax, 1
jb 0x14004c643
mov rdi, qword [rdi]
test rdi, rdi
je 0x14004c643
add rdx, qword [rdi + 0x10]
add rdi, 0x18
jmp 0x14004c62b
mov byte [rbp + 0x376], 1
lea rcx, [rbp + 0x318]
call fcn.14004b09c
movups xmm0, xmmword [rbp + 0x300]
lea r12, [rbp + 0x348]
movaps xmmword [r12 - 8], xmm0
mov rax, qword [rbp + 0x310]
mov qword [r12 + 8], rax
mov rcx, qword [r12 - 8]
lea rsi, [rbp + 0x318]
lea rdi, [rbp + 0x130]
test rcx, rcx
je 0x14004c745
mov rbx, qword [rcx + 0x18]
lea rax, [rbx + 0x20]
test rbx, rbx
cmove rax, r12
mov qword [rbp + 0x340], rbx
and qword [rax], 0
dec qword [rbp + 0x350]
mov r14, qword [rcx]
movups xmm0, xmmword [rcx + 8]
movaps xmmword [rbp + 0x2e0], xmm0
call fcn.14001f417
mov rax, r14
neg rax
jo 0x14004c745
mov qword [rbp + 0x130], r14
movaps xmm0, xmmword [rbp + 0x2e0]
lea rax, [rbp + 0x138]
movups xmmword [rax], xmm0
mov r15, qword [rbp + 0x138]
mov r14, qword [rbp + 0x140]
mov rcx, rsi
mov rdx, r14
call fcn.14004b09c
mov r13, qword [rbp + 0x328]
imul rcx, r13, 0x158
add rcx, qword [rbp + 0x320]
imul r8, r14, 0x158
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
add r13, r14
mov qword [rbp + 0x328], r13
and qword [rbp + 0x140], 0
mov rcx, rdi
call fcn.140045a44
mov rcx, rbx
jmp 0x14004c689
mov byte [rbp + 0x376], 0
lea rcx, [rbp + 0x340]
call fcn.140045c55
mov rcx, qword [rbp + 0x318]
mov rdx, qword [rbp + 0x320]
imul rax, qword [rbp + 0x328], 0x158
add rax, rdx
mov qword [rbp + 0x340], rdx
mov qword [rbp + 0x348], rdx
mov qword [rbp + 0x350], rcx
mov qword [rbp + 0x358], rax
mov rcx, qword [rbp + 0x368]
add rcx, 0x60
mov qword [rbp + 0x360], rcx
lea r13, [0x14004bdb2]
lea r12, [rbp + 0x130]
lea r14, [rbp - 0x38]
cmp rdx, rax
je 0x14004c943
lea rax, [rdx + 0x158]
mov qword [rbp + 0x348], rax
mov rbx, qword [rdx]
cmp rbx, 2
je 0x14004c943
lea rsi, [rdx + 0xe8]
mov r15, qword [rdx + 0xe0]
add rdx, 8
mov r8d, 0xd8
lea rcx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memcpy
push 0xe
pop rcx
lea rdi, [rbp + 0xb0]
rep movsq qword [rdi], qword [rsi]
mov qword [rbp - 0x38], rbx
mov qword [rbp + 0xa8], r15
mov qword [rbp + 0x300], r15
mov rdi, qword [rbp + 0x368]
mov rcx, qword [rdi + 0x60]
mov rdx, qword [rdi + 0x68]
mov r8, r15
call fcn.1400485c1
mov rsi, rax
lea rax, [rbp + 0x300]
mov qword [rbp + 0x2e0], rax
cmp qword [rdi + 0x50], 0
mov rbx, qword [rbp + 0x338]
jne 0x14004c85d
mov rcx, rbx
mov rdx, qword [rbp + 0x360]
call fcn.14006197f
lea rax, [rbp + 0x2e0]
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x138], rbx
mov rcx, qword [rdi + 0x40]
mov rdx, qword [rdi + 0x48]
mov qword [rsp + 0x20], r13
mov r8, rsi
mov r9, r12
call fcn.14004bc11
mov rcx, qword [rbx]
test rax, rax
je 0x14004c8e7
mov rax, qword [rbp + 0x300]
movzx r8d, byte [rcx + rdx]
and r8d, 1
sub qword [rdi + 0x50], r8
shr rsi, 0x39
lea r8, [rdx - 0x10]
and r8, qword [rdi + 0x48]
mov byte [rcx + rdx], sil
mov byte [rcx + r8 + 0x10], sil
inc qword [rdi + 0x58]
neg rdx
imul rdx, rdx, 0x160
add rcx, rdx
add rcx, 0xfffffffffffffea8
mov qword [rcx - 8], rax
mov r8d, 0x158
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14004c930
neg rdx
imul rax, rdx, 0x160
lea rsi, [rcx + rax]
add rsi, 0xfffffffffffffea8
mov r8d, 0x158
mov rcx, r12
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x158
mov rcx, rsi
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
cmp qword [rbp + 0x130], 2
je 0x14004c930
mov rcx, r12
call fcn.140045914
mov rdx, qword [rbp + 0x348]
mov rax, qword [rbp + 0x358]
jmp 0x14004c7b4
mov byte [rbp + 0x377], 0
lea rcx, [rbp + 0x340]
call fcn.14004b5ad
mov rcx, qword [rbp + 0x2a8]
mov rdx, qword [rbp + 0x2b0]
call fcn.14004e59d
mov r9, qword [rbp + 0x368]
mov rax, qword [r9 + 0x40]
mov rcx, qword [r9 + 0x48]
lea rdx, [rax + rcx]
inc rdx
movdqa xmm0, xmmword [rax]
pmovmskb r8d, xmm0
not r8d
mov rcx, qword [r9 + 0x58]
lea rsi, [rbp + 0x130]
mov qword [rsi], rax
add rax, 0x10
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rdx
mov word [rsi + 0x18], r8w
mov qword [rsi + 0x20], rcx
test rcx, rcx
je 0x14004c30f
mov rcx, rsi
call fcn.14004b449
mov rcx, qword [rbp + 0x150]
dec rcx
mov qword [rbp + 0x150], rcx
test rax, rax
je 0x14004c30f
mov byte [rax - 4], 0
jmp 0x14004c9ae
lea rcx, str.key_used_disappeared
lea r8, [0x14006b210]
push 0x14
pop rdx
call fcn.14005f750
lea rcx, str.assertion_failed:_vec.capacity_____start___lenC:Usersdiddy.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rayon_1.10.0_src_vec.rs
lea r8, [0x14006ad80]
push 0x2f
pop rdx
call fcn.14005f3b0
ud2
lea rcx, str.global_key_idle_disappearedC:Usersdiddy.cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.32.0_srcwindows_system.rs
lea r8, [0x14006b1e0]
push 0x1b
jmp 0x14004c9ef