Function at 0x140094133
Capabilities:
Enumerate processes via ntquerysysteminformation
Get memory capacity
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3a8
movaps xmmword [rsp + 0x390], xmm6
mov r12, rdx
mov rbx, rcx
mov al, byte [rdx + 9]
cmp al, 2
je 0x14009425f
mov sil, byte [r12 + 0xa]
test al, al
je 0x1400941c5
xorps xmm0, xmm0
lea rcx, [rsp + 0x170]
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 0x140094196
xor ecx, ecx
jmp 0x1400941a0
call fcn.1400a6f94
mov ecx, 1
mov rax, qword [rsp + 0x178]
mov qword [rbx + 0xc0], rax
mov rax, qword [rsp + 0x180]
mov qword [rbx + 0xc8], rax
xor edx, edx
call fcn.14008ffa5
test sil, 1
je 0x14009425f
xorps xmm0, xmm0
lea rcx, [rsp + 0x170]
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
mov edx, 0x68
call qword [sym.imp.kernel32.dll_K32GetPerformanceInfo]
test eax, eax
je 0x14009425f
mov r8, qword [rsp + 0x190]
mov rdx, qword [rsp + 0x180]
xor r9d, r9d
sub rdx, r8
cmovb rdx, r9
mov rcx, qword [rsp + 0x1c0]
mov rax, rcx
mul rdx
mov r10, 0xffffffffffffffff
cmovo rax, r10
mov rdx, qword [rsp + 0x178]
sub rdx, r8
cmovb rdx, r9
mov qword [rbx + 0xd0], rax
mov rax, rcx
mul rdx
cmovo rax, r10
mov qword [rbx + 0xd8], rax
cmp byte [r12 + 0xb], 2
movabs rbp, 0x8000000000000000
je 0x1400945cd
mov r13b, byte [r12 + 0xc]
lea rdi, [rbx + 0xe0]
cmp qword [rbx + 0xe0], 0
jne 0x1400944be
lea r8, [rsp + 0x2c0]
and qword [r8], 0
xor esi, esi
xor ecx, ecx
xor edx, edx
call qword [sym.imp.pdh.dll_PdhOpenQueryA]
mov ebp, eax
test ebp, ebp
jne 0x1400942d4
mov r15, qword [rsp + 0x2c0]
lea r14, [rsp + 0x170]
mov rcx, r14
call fcn.14009408b
mov rcx, r14
call fcn.1400940f2
lea rsi, [0x1400fe490]
and qword [rbx + 0xf8], 0
and qword [rbx + 0x118], 0
mov qword [rbx + 0xe0], rsi
xorps xmm0, xmm0
movups xmmword [rbx + 0xe8], xmm0
mov qword [rbx + 0x100], rax
mov qword [rbx + 0x108], rdx
mov qword [rbx + 0x110], r15
test ebp, ebp
jne 0x1400944ab
mov qword [rsp + 0x78], r12
mov byte [rsp + 0x70], r13b
mov ebp, r13d
and bpl, 1
lea rdx, str.Processor__Total___Idle_Timetot_0Processor____Idle_Time
lea rsi, [rsp + 0x2c0]
mov r8d, 0x1e
mov rcx, rsi
call fcn.14000cbcb
lea r12, [rbx + 0x48]
lea rdx, [0x1400fe266]
lea r14, [rsp + 0x170]
mov r8d, 5
mov rcx, r14
call fcn.14008fae9
mov rcx, rsi
mov qword [rsp + 0x58], rdi
mov rdx, rdi
mov r8, r12
mov r9, r14
call fcn.1400956d0
mov rcx, rbx
mov edx, ebp
call fcn.140095a50
mov r12, rax
mov qword [rsp + 0x60], rdx
xor eax, eax
mov qword [rsp + 0x68], rax
mov ebp, 2
mov esi, 1
cmp r12, qword [rsp + 0x60]
je 0x140094499
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x40], rax
inc rax
mov qword [rsp + 0x68], rax
lea rax, [0x1400fe288]
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], rbp
and qword [rsp + 0x190], 0
lea r14, [rsp + 0x40]
mov qword [rsp + 0x80], r14
lea r15, [fcn.14000dba0]
mov qword [rsp + 0x88], r15
lea rdi, [rsp + 0x80]
mov qword [rsp + 0x180], rdi
mov qword [rsp + 0x188], rsi
lea rcx, [rsp + 0xf0]
lea r13, [rsp + 0x170]
mov rdx, r13
call fcn.14008faa2
lea rax, str._rustc_2f090c30ddd6b3bbe5c81c087579a5166e7c7278librarycore_srccharmethods.rsXZ
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], rbp
and qword [rsp + 0x190], 0
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x180], rdi
mov qword [rsp + 0x188], rsi
lea r14, [rsp + 0x2c0]
mov rcx, r14
mov rdx, r13
call fcn.14008faa2
lea r8, [r12 + 0x48]
lea rcx, [rsp + 0xf0]
mov rdx, qword [rsp + 0x58]
mov r9, r14
call fcn.1400956d0
add r12, 0x70
jmp 0x14009439a
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rdi]
mov r12, qword [rsp + 0x78]
mov r13b, byte [rsp + 0x70]
test rsi, rsi
movabs rbp, 0x8000000000000000
je 0x1400945cd
mov rcx, qword [rbx + 0x110]
call qword [sym.imp.pdh.dll_PdhCollectQueryData]
cmp qword [rbx + 0x48], rbp
je 0x1400944f6
lea rdx, [rbx + 0x48]
mov rcx, rdi
call fcn.140095a72
test eax, eax
je case.0x140013ee2.1936
movss xmm1, dword [0x1400ad918]
subss xmm1, xmm0
movss dword [rbx + 0x68], xmm1
mov edx, r13d
and dl, 1
mov rcx, rbx
call fcn.140095a50
mov r14, rax
mov r15, rdx
add r14, 0x48
movss xmm6, dword [0x1400ad918]
lea rax, [r14 - 0x48]
cmp rax, r15
je 0x14009454a
cmp qword [r14], rbp
je 0x140094544
mov rcx, rdi
mov rdx, r14
call fcn.140095a72
test eax, eax
je 0x140094dfa
movaps xmm1, xmm6
subss xmm1, xmm0
movss dword [r14 + 0x20], xmm1
add r14, 0x70
jmp 0x140094516
test r13b, 1
je 0x1400945cd
cmp byte [rbx + 0x88], 0
jne 0x1400945cd
mov rdi, qword [rbx + 0x80]
lea r14, [rsp + 0x170]
mov rcx, r14
mov rdx, rdi
call fcn.14009550b
mov rsi, qword [rbx + 0x78]
mov rcx, qword [r14]
mov rdx, qword [r14 + 8]
mov rax, qword [r14 + 0x10]
shl rax, 3
imul r8, rdi, 0x70
xor r9d, r9d
mov r10, rsi
test r8, r8
je 0x1400945b0
cmp rax, r9
je 0x1400945b0
mov r11, qword [rdx + r9]
mov qword [r10 + 0x60], r11
add r10, 0x70
add r9, 8
add r8, 0xffffffffffffff90
jmp 0x140094590
call fcn.140072fba
test rdi, rdi
je 0x1400945c0
mov rax, qword [rsi + 0x60]
jmp 0x1400945c2
xor eax, eax
mov qword [rbx + 0x60], rax
mov byte [rbx + 0x88], 1
mov al, byte [r12]
cmp al, 2
je 0x140094dde
mov rcx, qword [r12 + 1]
mov byte [rsp + 0x9f], al
mov qword [rsp + 0xa0], rcx
lea rdi, [rsp + 0xd0]
mov r14d, 0x80000
mov edx, 0x80000
mov rcx, rdi
call fcn.140094e52
lea r15, [rsp + 0x2c0]
mov r13, qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
lea r12, [rsp + 0x170]
and dword [rsp + 0x2c0], 0
mov rcx, rdi
mov rdx, r14
call fcn.140039b23
mov rsi, qword [rsp + 0xd8]
mov ecx, 5
mov rdx, rsi
mov r8d, r14d
mov r9, r15
call r13
mov rcx, r12
mov edx, eax
call fcn.140091e04
cmp qword [rsp + 0x170], 0
je 0x1400946a3
cmp dword [rsp + 0x180], 0xd0000004
mov rcx, qword [rsp + 0x178]
jne 0x14009475a
mov eax, dword [rsp + 0x2c0]
mov rdx, r14
add rdx, r14
lea r14d, [rax + 0x2800]
test eax, eax
cmove r14, rdx
test rcx, rcx
je 0x14009461f
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14009461f
mov qword [rsp + 0xe0], r14
mov ecx, 8
mov edx, 0xfa0
call fcn.14000cc25
test rax, rax
je 0x140094e12
lea rdi, [rsp + 0xa8]
mov qword [rdi], 0x1f4
mov qword [rdi + 8], rax
and qword [rdi + 0x10], 0
xor edx, edx
xor r14d, r14d
mov r15d, dword [rsi + r14]
cmp rdx, qword [rsp + 0xa8]
jne 0x140094706
mov rcx, rdi
call fcn.140098af8
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
lea rcx, [rsi + r14]
mov qword [rax + rdx*8], rcx
mov rdx, qword [rsp + 0xb8]
inc rdx
mov qword [rsp + 0xb8], rdx
add r14, r15
test r15d, r15d
jne 0x1400946e0
lea rax, [rbx + 0x90]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0xe8], rax
cmp byte [rsp + 0x9f], 0
je 0x140094775
mov rcx, rbx
xor edx, edx
call fcn.140094e86
mov rax, qword [rbx + 0x80]
jmp 0x140094777
test rcx, rcx
je 0x140094765
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0xd0]
mov rdx, rsi
jmp 0x140094dd9
xor eax, eax
lea r14, [rsp + 0x160]
mov qword [r14], rax
lea rsi, [rsp + 0x170]
and qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.kernel32.dll_GetSystemTimePreciseAsFileTime]
mov rcx, qword [rsi]
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, [rsp + 0x168]
mov qword [rcx], rax
mov rdi, qword [rsp + 0xb8]
mov qword [rsi + 0x10], rdi
movups xmm0, xmmword [rsp + 0xa8]
movaps xmmword [rsi], xmm0
and qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 8
and qword [rsp + 0x50], 0
lea rax, [rsp + 0xe8]
mov qword [rsi + 0x18], rax
lea rax, [rsp + 0x9f]
mov qword [rsi + 0x20], rax
movups xmm0, xmmword [rsp + 0xa8]
movaps xmmword [rsp + 0xf0], xmm0
and qword [rsp + 0x100], 0
mov qword [rsi + 0x28], r14
mov qword [rsi + 0x30], rcx
cmp qword [rsp + 0xf0], rdi
jb 0x140094e21
lea rsi, [rsp + 0x188]
mov r14, qword [rsp + 0xf8]
call fcn.14003c987
xor r9d, r9d
cmp rdi, 0xffffffffffffffff
sete r9b
cmp r9, rax
cmovbe r9, rax
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], 1
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, rdi
xor r8d, r8d
call fcn.1400926c9
cmp qword [rsp + 0x100], rdi
jne 0x1400948ea
lea rax, [rsp + 0xf0]
and qword [rax + 0x10], 0
lea rcx, [rsp + 0x2c0]
mov qword [rcx + 0x18], rdi
and qword [rcx + 0x20], 0
mov qword [rcx + 0x10], rax
lea rax, str._rustc_2f090c30ddd6b3bbe5c81c087579a5166e7c7278librarycore_srccharmethods.rsXZ
mov qword [rcx], rax
mov qword [rcx + 8], rax
call fcn.140096b63
jmp 0x1400948f8
test rdi, rdi
jne 0x1400948f8
and qword [rsp + 0x100], 0
mov r8, qword [rsp + 0xf0]
test r8, r8
je 0x14009491b
shl r8, 3
mov rcx, qword [rsp + 0xf8]
mov edx, 8
call fcn.1400025ad
mov rax, qword [rsp + 0x90]
xor edx, edx
sub rax, 1
jb 0x14009493d
mov rsi, qword [rsi]
test rsi, rsi
je 0x14009493d
add rdx, qword [rsi + 0x10]
add rsi, 0x18
jmp 0x140094925
lea rcx, [rsp + 0x40]
call fcn.140093932
mov rax, qword [rsp + 0x90]
lea rsi, [rsp + 0x2c0]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsi], xmm0
lea r12, [rsp + 0x178]
lea rdi, [rsp + 0x170]
mov rcx, rsi
call fcn.14009269b
test rax, rax
je 0x140094a23
mov r14, qword [rax]
movups xmm0, xmmword [rax + 8]
movaps xmmword [rsp + 0x170], xmm0
mov rcx, rax
call fcn.14000ca9c
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0xf0], xmm0
cmp r14, rbp
je 0x140094a23
mov qword [rsp + 0x170], r14
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [r12], xmm0
mov r14, qword [rsp + 0x178]
mov r15, qword [rsp + 0x180]
lea rcx, [rsp + 0x40]
mov rdx, r15
call fcn.140093932
mov r13, qword [rsp + 0x50]
imul rcx, r13, 0x150
add rcx, qword [rsp + 0x48]
imul r8, r15, 0x150
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
add r13, r15
mov qword [rsp + 0x50], r13
and qword [rsp + 0x180], 0
mov rcx, rdi
call fcn.14008fc37
jmp 0x140094976
lea rcx, [rsp + 0x2c0]
call fcn.140092669
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x78], rax
imul rcx, qword [rsp + 0x50], 0x150
mov r13, qword [rsp + 0x48]
lea rax, [rcx + r13]
mov qword [rsp + 0xc8], rax
lea rax, [rbx + 0xb0]
mov qword [rsp + 0xc0], rax
lea rbp, [rsp + 0xf0]
lea r14, [rsp + 0x170]
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x58], rbx
test rcx, rcx
je 0x140094c95
mov r12, qword [r13]
cmp r12, 2
je 0x140094c8e
mov qword [rsp + 0x68], rcx
lea rsi, [r13 + 0xe0]
mov r15, qword [r13 + 0xd8]
lea rdx, [r13 + 8]
mov r8d, 0xd0
lea rcx, [rsp + 0x2c0]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, 0xe
mov rdi, rbp
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x40], r15
mov rcx, qword [rbx + 0xb0]
mov rdx, qword [rbx + 0xb8]
mov r8, r15
call fcn.1400920be
mov rsi, rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x80], rax
cmp qword [rbx + 0xa0], 0
je 0x140094c77
lea rax, [rsp + 0x80]
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x178], rax
mov rcx, qword [rbx + 0x90]
mov rdx, qword [rbx + 0x98]
lea rax, [0x140093feb]
mov qword [rsp + 0x20], rax
mov r8, rsi
mov r9, r14
call fcn.14004ff14
mov rdi, qword [rbx + 0x90]
test rax, rax
je 0x140094bdc
movzx eax, byte [rdi + rdx]
and eax, 1
sub qword [rbx + 0xa0], rax
mov rax, qword [rsp + 0x40]
shr rsi, 0x39
lea rcx, [rdx - 0x10]
and rcx, qword [rbx + 0x98]
mov byte [rdi + rdx], sil
mov byte [rdi + rcx + 0x10], sil
inc qword [rbx + 0xa8]
neg rdx
imul rbp, rdx, 0x158
lea rsi, [rdi + rbp]
add rsi, 0xfffffffffffffeb8
mov qword [rsi - 0x10], rax
mov qword [rsi - 8], r12
mov r8d, 0xd0
mov rcx, rsi
lea rdx, [rsp + 0x2c0]
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + 0xd0], r15
add rdi, rbp
add rdi, 0xffffffffffffff90
mov ecx, 0xe
lea rbp, [rsp + 0xf0]
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
jmp 0x140094c5a
neg rdx
imul rbp, rdx, 0x158
lea rsi, [rdi + rbp]
add rsi, 0xfffffffffffffeb0
mov r8d, 0x150
mov rcx, r14
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi], r12
lea rsi, [rdi + rbp]
add rsi, 0xfffffffffffffeb8
mov r8d, 0xd0
mov rcx, rsi
lea rdx, [rsp + 0x2c0]
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + 0xd0], r15
add rdi, rbp
add rdi, 0xffffffffffffff90
mov ecx, 0xe
lea rbp, [rsp + 0xf0]
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
cmp qword [rsp + 0x170], 2
je 0x140094c5a
mov rcx, r14
call fcn.14008fca8
add r13, 0x150
mov rcx, qword [rsp + 0x68]
add rcx, 0xfffffffffffffeb0
mov rbx, qword [rsp + 0x58]
jmp 0x140094a7d
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xc0]
call fcn.1400abcaa
jmp 0x140094b02
add r13, 0x150
mov rax, qword [rsp + 0xc8]
sub rax, r13
mov ecx, 0x150
xor edx, edx
div rcx
mov rcx, r13
mov rdx, rax
call fcn.14008fc7e
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
call fcn.14008fc61
mov rdi, qword [rbx + 0x90]
mov r14, qword [rbx + 0x98]
lea rax, [rdi + r14]
inc rax
movdqa xmm0, xmmword [rdi]
pmovmskb ecx, xmm0
not ecx
lea rdx, [rdi + 0x10]
mov r15, qword [rbx + 0xa8]
lea rsi, [rsp + 0x170]
mov qword [rsi], rdi
mov qword [rsi + 8], rdx
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], cx
mov qword [rsi + 0x20], r15
and byte [rbx + rcx*4 - 0x5d], cl
invalid
add byte [rax], al
invalid
lea rcx, str.key_used_disappeared
lea r8, [0x1400fe378]
mov edx, 0x14
call fcn.1400a84d0
mov ecx, 8
mov edx, 0xfa0
call fcn.1400a7da0
lea rcx, str.assertion_failed:_vec.capacity_____start___len.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rayon_1.10.0_src_vec.rs