Function at 0x1400ac850
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, 0x368
movdqa xmmword [rsp + 0x350], xmm6
mov rbx, rdx
mov rsi, rcx
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x1400ac89d
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400ad272
mov rcx, rax
mov qword [0x1401d2138], rax
mov r13d, 0x80000
mov r8d, 0x80000
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400ad272
mov rdi, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x80000
mov qword [rsp + 0x60], 0
xor edx, edx
lea r14, [rsp + 0x50]
lea r15, [rsp + 0x140]
mov r12d, 0x80000
jmp 0x1400ac8fa
mov r13, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov dword [rsp + 0x140], 0
sub r13, rdx
cmp r13, r12
jb 0x1400ac966
mov ecx, 5
mov rdx, rdi
mov r8d, r12d
mov r9, r15
call sub.ntdll.dll_NtQuerySystemInformation
test eax, eax
jns 0x1400ac978
or eax, 0x10000000
mov ecx, eax
call fcn.1400edfa0
cmp edx, 0xd0000004
jne 0x1400aca57
mov ecx, dword [rsp + 0x140]
mov rdx, r12
add rdx, r12
lea r12d, [rcx + 0x2800]
test ecx, ecx
cmove r12, rdx
test rax, rax
je 0x1400ac8f0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x10]
jmp 0x1400ac8f0
mov rcx, r14
mov r8, r12
call fcn.140042f30
mov rdi, qword [rsp + 0x50]
jmp 0x1400ac90d
mov qword [rsp + 0x60], r12
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x1400ac9a8
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400ad283
mov rcx, rax
mov qword [0x1401d2138], rax
mov r8d, 0xfa0
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400ad283
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 0x1f4
mov qword [rsp + 0x78], 0
xor edx, edx
lea r14, [rsp + 0x68]
xor r15d, r15d
jmp 0x1400aca08
lea rcx, [rdi + r15]
mov qword [rax + rdx*8], rcx
inc rdx
mov qword [rsp + 0x78], rdx
add r15, r12
test r12, r12
je 0x1400aca27
mov r12d, dword [rdi + r15]
cmp rdx, qword [rsp + 0x70]
jne 0x1400ac9f0
mov rcx, r14
call fcn.1400ad2e0
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
jmp 0x1400ac9f0
lea rax, [rsi + 0x40]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xa0], rax
cmp byte [rbx], 0
je 0x1400aca82
lea rcx, [rsi + 0x90]
xor edx, edx
call fcn.1400ad3b0
mov rax, qword [rsi + 0x110]
jmp 0x1400aca84
test rax, rax
je 0x1400aca65
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x10]
cmp qword [rsp + 0x58], 0
je 0x1400ad239
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, rdi
jmp 0x1400ad234
xor eax, eax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x140], 0
mov rax, qword [0x140130058]
lea rcx, [rsp + 0x140]
call rax
mov rax, qword [rsp + 0x140]
movabs rcx, 0x19db1ded53e8000
cmp rax, rcx
jge 0x1400acac4
xor edx, edx
jmp 0x1400acae2
movabs rcx, 0xfe624e212ac18000
add rax, rcx
movabs rcx, 0xd6bf94d5e57a42bd
mul rcx
shr rdx, 0x17
mov qword [rsp + 0xb0], rdx
mov rdi, qword [rsp + 0x78]
mov qword [rsp + 0x150], rdi
movdqu xmm0, xmmword [rsp + 0x68]
movdqa xmmword [rsp + 0x140], xmm0
mov qword [rsp + 0xb8], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xc0], xmm0
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rbx
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x168], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x170], rax
mov r14, qword [rsp + 0x148]
cmp r14, rdi
jb 0x1400ad294
mov rbx, qword [rsp + 0x140]
call fcn.140024230
test rax, rax
je 0x1400ad2ae
lea r15, [rsp + 0x158]
mov rax, qword [rax]
test rax, rax
je 0x1400acb96
add rax, 0x110
jmp 0x1400acb9b
call fcn.140024e30
mov rax, qword [rax]
mov r9, qword [rax + 0x210]
xor eax, eax
cmp rdi, 0xffffffffffffffff
sete al
cmp rax, r9
cmova r9, rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], 1
lea rcx, [rsp + 0x298]
mov rdx, rdi
xor r8d, r8d
call fcn.1400adea0
test r14, r14
je 0x1400acbf6
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
mov r14, qword [rsp + 0x298]
mov rax, qword [rsp + 0x2a8]
test rax, rax
je 0x1400acc3b
test r14, r14
je 0x1400acd0f
xor r8d, r8d
mov rcx, r14
nop word [rax + rax]
add r8, qword [rcx + 0x10]
dec rax
je 0x1400acc32
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1400acc20
test r8, r8
jne 0x1400ad255
test r14, r14
je 0x1400acd0f
lea rbx, [rsp + 0xb8]
jmp 0x1400acc5c
mov r14, rdi
test rdi, rdi
je 0x1400acd0f
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x1400acc6d
mov qword [rdi + 0x20], 0
mov r15, qword [r14]
mov r13, qword [r14 + 8]
mov r12, qword [r14 + 0x10]
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
test r15, r15
je 0x1400acd06
mov rax, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xc8]
sub rax, r14
cmp rax, r12
jb 0x1400accee
imul rcx, r14, 0x150
add rcx, qword [rsp + 0xb8]
imul r8, r12, 0x150
mov rdx, r15
call sub.msvcrt.dll_memcpy
add r14, r12
mov qword [rsp + 0xc8], r14
test r13, r13
je 0x1400acc50
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
jmp 0x1400acc50
mov rcx, rbx
mov rdx, r14
mov r8, r12
call fcn.1400aeae0
mov r14, qword [rsp + 0xc8]
jmp 0x1400acca6
test rdi, rdi
jne 0x1400acd9d
mov r14, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0xc8]
imul rcx, rax, 0x150
add rcx, r14
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x80], r14
test rax, rax
je 0x1400ad083
lea r12, [rsp + 0xb8]
lea rax, [rsi + 0x60]
mov qword [rsp + 0x88], rax
pcmpeqd xmm6, xmm6
mov r14, qword [rsp + 0x80]
jmp 0x1400ace7b
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
mov rdi, r15
test r15, r15
je 0x1400acd0f
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x1400acdae
mov qword [r15 + 0x20], 0
mov rbx, qword [rdi]
mov r12, qword [rdi + 0x10]
test r12, r12
je 0x1400acdd4
mov r14, rbx
nop dword [rax]
mov rcx, r14
call fcn.1400aebb0
add r14, 0x150
dec r12
jne 0x1400acdc0
cmp qword [rdi + 8], 0
je 0x1400acd80
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
jmp 0x1400acd80
and r8b, 1
movzx r8d, r8b
sub qword [rsi + 0x50], r8
lea r8, [rdx - 0x10]
and rax, r8
mov byte [r13 + rdx], cl
mov byte [rax + r13 + 0x10], cl
inc qword [rsi + 0x58]
neg rdx
imul rbx, rdx, 0x158
mov qword [r13 + rbx - 0x158], rdi
mov qword [r13 + rbx - 0x150], r15
lea rcx, [rbx + r13]
add rcx, 0xfffffffffffffeb8
mov r8d, 0xb8
lea rdx, [rsp + 0x298]
call sub.msvcrt.dll_memcpy
mov qword [r13 + rbx - 0x90], rdi
lea rcx, [rbx + r13]
add rcx, 0xffffffffffffff78
mov r8d, 0x88
mov r12, rbp
mov rdx, rbp
call sub.msvcrt.dll_memcpy
nop dword [rax + rax]
cmp r14, qword [rsp + 0x48]
je 0x1400ad0c4
mov rdx, r14
add r14, 0x150
mov r15, qword [rdx]
cmp r15, 2
je 0x1400ad083
lea rbx, [rdx + 0xc8]
mov rdi, qword [rdx + 0xc0]
add rdx, 8
mov r8d, 0xb8
lea rcx, [rsp + 0x298]
call sub.msvcrt.dll_memcpy
mov r8d, 0x88
mov rbp, r12
mov rcx, r12
mov rdx, rbx
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsi + 0x60]
mov rdx, qword [rsi + 0x68]
mov r8, rdi
call fcn.1400aed50
mov rbx, rax
cmp qword [rsi + 0x50], 0
je 0x1400ad041
mov r13, qword [rsi + 0x40]
mov rax, qword [rsi + 0x48]
mov rcx, rbx
shr rcx, 0x39
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor r8d, r8d
xor r9d, r9d
and rbx, rax
movdqu xmm1, xmmword [r13 + rbx]
movdqa xmm2, xmm0
pcmpeqb xmm2, xmm1
pmovmskb r10d, xmm2
nop word [rax + rax]
test r10w, r10w
je 0x1400acf70
lea r12d, [r10 - 1]
and r12d, r10d
tzcnt r10d, r10d
add r10, rbx
and r10, rax
neg r10
imul r11, r10, 0x158
mov r10d, r12d
cmp qword [r13 + r11 - 0x158], rdi
jne 0x1400acf30
jmp 0x1400acfc0
cmp r9, 1
mov r9d, 1
je 0x1400acf93
pmovmskb edx, xmm1
xor r9d, r9d
test edx, edx
setne r9b
tzcnt edx, edx
add rdx, rbx
and rdx, rax
pcmpeqb xmm1, xmm6
pmovmskb r10d, xmm1
test r10d, r10d
jne 0x1400ad05b
add rbx, r8
add rbx, 0x10
add r8, 0x10
jmp 0x1400acf10
add r13, r11
lea rdx, [r13 - 0x150]
mov r8d, 0x150
lea rcx, [rsp + 0x140]
call sub.msvcrt.dll_memcpy
mov qword [r13 - 0x150], r15
lea rcx, [r13 - 0x148]
mov r8d, 0xb8
lea rdx, [rsp + 0x298]
call sub.msvcrt.dll_memcpy
mov qword [r13 - 0x90], rdi
add r13, 0xffffffffffffff78
mov r8d, 0x88
mov rcx, r13
mov r12, rbp
mov rdx, rbp
call sub.msvcrt.dll_memcpy
cmp qword [rsp + 0x140], 2
je 0x1400ace70
lea rcx, [rsp + 0x140]
call fcn.1400aebb0
jmp 0x1400ace70
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x88]
call fcn.1400aeed0
jmp 0x1400acee9
movzx r8d, byte [r13 + rdx]
test r8b, r8b
js 0x1400acdee
movdqa xmm0, xmmword [r13]
pmovmskb edx, xmm0
tzcnt edx, edx
movzx r8d, byte [r13 + rdx]
jmp 0x1400acdee
mov r8, qword [rsp + 0x48]
mov rax, r8
sub rax, r14
shr rax, 4
movabs rcx, 0xc30c30c30c30c31
mul rcx
cmp r8, r14
je 0x1400ad0c4
mov rdi, rdx
nop word [rax + rax]
mov rcx, r14
call fcn.1400aebb0
add r14, 0x150
dec rdi
jne 0x1400ad0b0
cmp qword [rsp + 0x98], 0
je 0x1400ad0e5
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, qword [rsp + 0x80]
call sub.KERNEL32.dll_HeapFree
mov rdi, qword [rsi + 0x58]
test rdi, rdi
je 0x1400ad21e
mov r14, qword [rsi + 0x40]
mov rax, qword [rsi + 0x48]
mov qword [rsp + 0x48], rax
lea r15, [r14 + 0x10]
movdqa xmm0, xmmword [r14]
pmovmskb r13d, xmm0
not r13d
mov r12, qword [rsi + 0x50]
pcmpeqd xmm6, xmm6
mov rbp, rdi
mov rbx, r14
jmp 0x1400ad153
lea rcx, [rbx + rax]
add rcx, 0xfffffffffffffeb0
mov byte [r14 + rdx], r9b
mov byte [r8 + r14 + 0x10], r9b
dec rdi
mov qword [rsi + 0x58], rdi
call fcn.1400aebb0
lea eax, [r13 - 1]
and eax, r13d
mov r13d, eax
dec rbp
je 0x1400ad21e
test r13w, r13w
jne 0x1400ad181
nop dword [rax]
movdqa xmm0, xmmword [r15]
pmovmskb r13d, xmm0
add rbx, 0xffffffffffffea80
add r15, 0x10
cmp r13d, 0xffff
je 0x1400ad160
not r13d
tzcnt eax, r13d
neg rax
imul rax, rax, 0x158
cmp byte [rbx + rax - 4], 0
mov byte [rbx + rax - 4], 0
jne 0x1400ad140
mov rdx, r14
sub rdx, rbx
sub rdx, rax
sar rdx, 3
movabs rcx, 0x82fa0be82fa0be83
imul rdx, rcx
lea r8, [rdx - 0x10]
and r8, qword [rsp + 0x48]
movdqu xmm0, xmmword [r14 + r8]
pcmpeqb xmm0, xmm6
psllw xmm0, 7
pmovmskb ecx, xmm0
test ecx, ecx
je 0x1400ad1e0
bsr cx, cx
xor ecx, 0xf
jmp 0x1400ad1e4
mov cx, 0x10
movdqu xmm0, xmmword [r14 + rdx]
pcmpeqb xmm0, xmm6
pmovmskb r9d, xmm0
or r9d, 0x10000
tzcnt r9d, r9d
add ecx, r9d
mov r9b, pe_nt_image_headers64
cmp cx, 0xf
ja 0x1400ad120
inc r12
mov qword [rsi + 0x50], r12
mov r9b, 0xff
jmp 0x1400ad120
cmp qword [rsp + 0x58], 0
je 0x1400ad239
mov r8, qword [rsp + 0x50]
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
movaps xmm6, xmmword [rsp + 0x350]
add rsp, 0x368
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0xb8]
xor edx, edx
call fcn.1400aeae0
test r14, r14
jne 0x1400acc44
jmp 0x1400acd0f
mov ecx, 1
mov edx, 0x80000
call fcn.1400034d0
ud2
mov ecx, 8
mov edx, 0xfa0
call fcn.1400034d0
ud2
lea rcx, str.assertion_failed:_vec.capacity_____start___len_Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rayon_1.10.0_src_vec.rs
lea r8, [0x14015ae68]
mov edx, 0x2f
call fcn.140006a00
ud2
lea rax, [0x14017fb38]
mov qword [rsp + 0x20], rax
lea rcx, [0x14017fa9e]
lea r9, [0x14014e898]
lea r8, [rsp + 0x298]
mov edx, 0x46
call fcn.140008040
ud2