Function at 0x40b590
Capabilities:
Enumerate processes via ntquerysysteminformation
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x348
mov ebp, edx
mov rbx, rcx
mov word [rsp + 0x28], bp
mov eax, edx
shr eax, 0x10
mov byte [rsp + 0x2a], al
call sym.std::time::SystemTime::now::h917c4859312cb920
mov dword [rsp + 0x1f0], eax
mov dword [rsp + 0x1f4], edx
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x1f0]
mov r8d, 0xd53e8000
mov r9d, 0x19db1de
call sym.std::time::SystemTime::duration_since::h0568ea37f582335e
cmp qword [rsp + 0xa0], 0
je 0x40b5f9
xor eax, eax
jmp 0x40b601
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x88], rax
mov r12d, 0x80000
lea r14, [rsp + 0x2c]
mov r15, qword [0x005757d8]
jmp 0x40b640
mov r12d, 0
test rsi, rsi
je 0x40b640
lea r12, [rsi + rsi]
mov r8d, 1
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
mov rsi, r12
mov edi, 1
test r12, r12
je 0x40b670
js 0x40b93a
movzx eax, byte [r15]
mov edx, 1
mov rcx, rsi
call sym.__rust_alloc
mov rdi, rax
test rax, rax
je 0x40b941
mov dword [rsp + 0x2c], 0
mov ecx, 5
mov rdx, rdi
mov r8d, esi
mov r9, r14
call sub.ntdll.dll_NtQuerySystemInformation
cmp eax, 0xc0000004
jne 0x40b6aa
mov r12d, dword [rsp + 0x2c]
test r12d, r12d
je 0x40b620
add r12d, 0x2800
test rsi, rsi
jne 0x40b62f
jmp 0x40b640
movzx eax, byte [r15]
mov ecx, 0xfa0
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x40b950
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0x1f4
mov qword [rsp + 0x40], 0
xor edx, edx
lea r14, [rsp + 0x30]
xor r15d, r15d
jmp 0x40b714
lea rax, [rdi + r15]
mov rcx, qword [rsp + 0x30]
mov qword [rcx + rdx*8], rax
mov rdx, qword [rsp + 0x40]
inc rdx
mov qword [rsp + 0x40], rdx
mov eax, dword [rax]
add r15, rax
test rax, rax
je 0x40b72a
cmp rdx, qword [rsp + 0x38]
jne 0x40b6f0
mov rcx, r14
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h7ca410dfe73febe7
mov rdx, qword [rsp + 0x40]
jmp 0x40b6f0
lea rax, [rbx + 0x40]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x90], rax
test bpl, bpl
je 0x40b75a
lea rcx, [rbx + 0x110]
xor edx, edx
xor r8d, r8d
call sym._ZN7sysinfo7windows3cpu11CpusWrapper14init_if_needed17h2e4323b141eb0b77E.llvm.1870238330525876280
mov rax, qword [rbx + 0x190]
jmp 0x40b75c
xor eax, eax
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x50], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov r9, qword [rsp + 0x40]
mov qword [rsp + 0xb0], r9
movups xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xa0], xmm0
lea r8, [rsp + 0xb8]
lea rax, [rsp + 0x90]
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0xd0], rax
movaps xmmword [rsp + 0x1f0], xmm0
mov qword [rsp + 0x200], r9
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x1f0]
call sym.__rayon::vec::IntoIter_T__as_rayon::iter::IndexedParallelIterator_::with_producer::h56308ba306332e6b
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x68]
call sym.rayon::iter::extend::vec_append::hf79e1a87fd9b4981
mov r15, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
imul r13, rcx, 0x150
lea rdx, [r15 + r13]
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x80], rdx
test rcx, rcx
je 0x40b8fb
add r15, 0x150
lea r12, [rsp + 0x1f0]
jmp 0x40b864
add r15, 0x150
add r13, 0xfffffffffffffeb0
je 0x40b8fb
mov qword [rsp + 0x78], r15
mov r14, qword [r15 - 0x150]
cmp r14, 2
je 0x40b8fb
lea rbp, [r15 - 0x88]
mov rbx, qword [r15 - 0x90]
lea rdx, [r15 - 0x148]
mov r8d, 0xb8
lea rcx, [rsp + 0xa8]
call sym.memcpy
mov r8d, 0x88
lea rcx, [rsp + 0x168]
mov rdx, rbp
call sym.memcpy
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0x160], rbx
mov rcx, r12
mov rdx, qword [rsp + 0x48]
mov r8, rbx
lea r9, [rsp + 0xa0]
call sym.hashbrown::map::HashMap_K_V_S_A_::insert::hc6317f30c674bf61
cmp dword [rsp + 0x1f0], 2
je 0x40b850
mov rcx, r12
call fcn.004095b0
jmp 0x40b850
lea rcx, [rsp + 0x68]
call sym.__alloc::vec::into_iter::IntoIter_T_A__as_core::ops::drop::Drop_::drop::h657eb43239fecc96
mov rcx, qword [rsp + 0x48]
call sym.hashbrown::map::HashMap_K_V_S_A_::retain::h3ba3f42809c84397
test rsi, rsi
je 0x40b925
mov r8d, 1
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
nop
add rsp, 0x348
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call dbg.capacity_overflow
ud2
mov ecx, 1
mov rdx, rsi
call dbg.handle_alloc_error
ud2
mov ecx, 8
mov edx, 0xfa0
call dbg.handle_alloc_error
ud2