Function at 0x14011f8be
Capabilities:
Get system information on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x3b8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x330], 0xfffffffffffffffe
mov qword [rbp + 0x320], rcx
mov word [rbp + 0x328], dx
mov dword [rbp + 0x2f0], edx
mov eax, edx
shr eax, 0x10
mov byte [rbp + 0x32a], al
call fcn.140110dc0
mov r8d, edx
lea rdi, [rbp + 0x110]
mov rcx, rdi
mov edx, eax
call fcn.140110df0
cmp qword [rdi], 0
jne 0x14011f92b
mov rax, qword [rbp + 0x118]
jmp 0x14011f92d
xor eax, eax
mov qword [rbp + 0x268], rax
mov r13d, 0x80000
lea r14, [rbp + 0x2a0]
push 5
pop r15
lea r12, [rbp + 0x31c]
mov rsi, qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
mov rcx, r14
mov rdx, r13
call fcn.140120333
and dword [rbp + 0x31c], 0
mov qword [rbp + 0x2b0], r13
mov rdi, qword [rbp + 0x2a8]
mov ecx, r15d
mov rdx, rdi
mov r8d, r13d
mov r9, r12
call rsi
cmp eax, 0xc0000004
jne 0x14011f9c0
mov ebx, dword [rbp + 0x31c]
test ebx, ebx
je 0x14011f9ac
add ebx, 0x2800
mov rcx, qword [rbp + 0x2a0]
mov rdx, rdi
call fcn.14008660c
mov r13, rbx
jmp 0x14011f953
add r13, r13
mov rcx, qword [rbp + 0x2a0]
mov rdx, rdi
call fcn.14008660c
jmp 0x14011f953
lea r14, [rbp + 0x110]
mov edx, 0x1f4
mov rcx, r14
xor r8d, r8d
call fcn.14011d490
cmp qword [r14], 0
mov rcx, qword [r14 + 8]
jne 0x14011ff7c
mov rax, qword [rbp + 0x120]
lea r14, [rbp + 0x270]
mov qword [r14], rcx
mov qword [r14 + 8], rax
and qword [r14 + 0x10], 0
xor esi, esi
xor ebx, ebx
cmp rsi, qword [rbp + 0x270]
jne 0x14011fa22
mov byte [rbp + 0x32f], 1
mov rcx, r14
call fcn.14011df49
mov rax, qword [rbp + 0x278]
lea rcx, [rdi + rbx]
mov qword [rax + rsi*8], rcx
inc rsi
mov qword [rbp + 0x280], rsi
mov ecx, dword [rcx]
add rbx, rcx
test rcx, rcx
jne 0x14011fa03
mov rcx, qword [rbp + 0x320]
lea rax, [rcx + 0xd8]
mov qword [rbp + 0x2b8], rax
mov qword [rbp + 0x260], rax
cmp byte [rbp + 0x2f0], 0
je 0x14011fa81
mov byte [rbp + 0x32f], 1
xor edx, edx
call fcn.140120376
mov rax, qword [rbp + 0x320]
mov rax, qword [rax + 0x80]
jmp 0x14011fa83
xor eax, eax
lea rcx, [rbp + 0x258]
mov qword [rcx], rax
mov rsi, qword [rbp + 0x280]
mov qword [rbp + 0x120], rsi
movdqu xmm0, xmmword [rbp + 0x270]
movdqa xmmword [rbp + 0x110], xmm0
and qword [rbp + 0x2d8], 0
mov qword [rbp + 0x2e0], 8
and qword [rbp + 0x2e8], 0
lea rax, [rbp + 0x260]
mov qword [rbp + 0x128], rax
lea rax, [rbp + 0x328]
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x138], rcx
lea rax, [rbp + 0x268]
mov qword [rbp + 0x140], rax
lea rax, [rbp + 0x2c0]
mov qword [rbp + 0x2f8], rax
and qword [rbp + 0x300], 0
movdqa xmmword [rax], xmm0
and qword [rax + 0x10], 0
mov qword [rbp + 0x308], rsi
mov qword [rbp + 0x310], rsi
cmp qword [rax], rsi
jb 0x14011ff8a
mov rdi, qword [rbp + 0x2c8]
mov rcx, rsi
call case.0x14010b7e9.301
lea rcx, [rbp + 0x128]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], 1
lea rcx, [rbp + 0x288]
mov rdx, rsi
xor r8d, r8d
mov r9, rax
call fcn.140119f01
lea rcx, [rbp + 0x2f8]
call fcn.14011e0ce
mov rcx, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2c8]
call fcn.1400fdf96
movdqu xmm0, xmmword [rbp + 0x288]
mov rax, qword [rbp + 0x298]
lea rcx, [rbp + 0x110]
movdqu xmmword [rcx], xmm0
mov qword [rcx + 0x10], rax
call fcn.14011d767
mov byte [rbp + 0x32e], 1
lea rcx, [rbp + 0x2d8]
mov rdx, rax
call fcn.14011ddde
mov rax, qword [rbp + 0x298]
lea rsi, [rbp + 0x2c0]
mov qword [rsi + 0x10], rax
movdqu xmm0, xmmword [rbp + 0x288]
movdqa xmmword [rsi], xmm0
lea rdi, [rbp + 0x2f8]
movabs rbx, 0x8000000000000000
lea r12, [rbp + 0x110]
mov rcx, rdi
mov rdx, rsi
call fcn.14011d7dc
cmp qword [rbp + 0x2f8], rbx
je 0x14011fc89
movdqu xmm0, xmmword [rbp + 0x2f8]
movdqa xmmword [rbp + 0x110], xmm0
mov r13, qword [rbp + 0x308]
mov qword [rbp + 0x120], r13
mov r14, qword [rbp + 0x118]
lea rcx, [rbp + 0x2d8]
mov rdx, r13
call fcn.14011ddde
mov r15, qword [rbp + 0x2e8]
imul rcx, r15, 0x148
add rcx, qword [rbp + 0x2e0]
imul r8, r13, 0x148
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
add r15, r13
mov qword [rbp + 0x2e8], r15
and qword [rbp + 0x120], 0
mov rcx, r12
call fcn.1401162a4
jmp 0x14011fbfe
mov byte [rbp + 0x32e], 0
lea rcx, [rbp + 0x2c0]
call fcn.14011670d
mov rcx, qword [rbp + 0x2d8]
mov rdx, qword [rbp + 0x2e0]
imul rax, qword [rbp + 0x2e8], 0x148
add rax, rdx
mov qword [rbp + 0x2f8], rdx
mov qword [rbp + 0x300], rdx
mov qword [rbp + 0x308], rcx
mov qword [rbp + 0x310], rax
mov rcx, qword [rbp + 0x320]
add rcx, 0xf8
mov qword [rbp + 0x2f0], rcx
push 0x10
pop r12
lea r13, [rbp + 0x110]
lea r15, [rbp - 0x38]
cmp rdx, rax
je 0x14011fea6
lea rax, [rdx + 0x148]
mov qword [rbp + 0x300], rax
mov rbx, qword [rdx]
cmp rbx, 2
je 0x14011fea6
lea rsi, [rdx + 0xc8]
mov r14, qword [rdx + 0xc0]
add rdx, 8
mov r8d, 0xb8
lea rcx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r12
lea rdi, [rbp + 0x90]
rep movsq qword [rdi], qword [rsi]
mov qword [rbp - 0x38], rbx
mov qword [rbp + 0x88], r14
mov qword [rbp + 0x288], r14
mov rdi, qword [rbp + 0x320]
mov rcx, qword [rdi + 0xf8]
mov rdx, qword [rdi + 0x100]
mov r8, r14
call fcn.140117d69
mov rsi, rax
lea rax, [rbp + 0x288]
mov qword [rbp + 0x2c0], rax
cmp qword [rdi + 0xe8], 0
mov rbx, qword [rbp + 0x2b8]
jne 0x14011fdaa
mov rcx, rbx
mov rdx, qword [rbp + 0x2f0]
call fcn.14025bb28
lea rax, [rbp + 0x2c0]
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x118], rbx
mov rcx, qword [rdi + 0xd8]
mov rdx, qword [rdi + 0xe0]
lea rax, [0x14011ec57]
mov qword [rsp + 0x20], rax
mov r8, rsi
mov r9, r13
call fcn.1400b9821
mov rcx, qword [rbx]
test rax, rax
je 0x14011fe4a
mov rax, qword [rbp + 0x288]
movzx r8d, byte [rcx + rdx]
and r8d, 1
sub qword [rdi + 0xe8], r8
shr rsi, 0x39
lea r8, [rdx - 0x10]
and r8, qword [rdi + 0xe0]
mov byte [rcx + rdx], sil
mov byte [rcx + r8 + 0x10], sil
inc qword [rdi + 0xf0]
neg rdx
imul rdx, rdx, 0x150
add rcx, rdx
add rcx, 0xfffffffffffffeb8
mov qword [rcx - 8], rax
mov r8d, 0x148
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14011fe93
neg rdx
imul rax, rdx, 0x150
lea rsi, [rcx + rax]
add rsi, 0xfffffffffffffeb8
mov r8d, 0x148
mov rcx, r13
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 0x148
mov rcx, rsi
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
cmp qword [rbp + 0x110], 2
je 0x14011fe93
mov rcx, r13
call fcn.14011617a
mov rdx, qword [rbp + 0x300]
mov rax, qword [rbp + 0x310]
jmp 0x14011fcf8
mov byte [rbp + 0x32f], 0
lea rcx, [rbp + 0x2f8]
call fcn.14011e8de
mov r8, qword [rbp + 0x320]
mov rax, qword [r8 + 0xd8]
mov rcx, qword [r8 + 0xe0]
add rcx, rax
inc rcx
movdqa xmm0, xmmword [rax]
pmovmskb edx, xmm0
not edx
mov r8, qword [r8 + 0xf0]
lea rsi, [rbp + 0x110]
mov qword [rsi], rax
add rax, 0x10
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rcx
mov word [rsi + 0x18], dx
mov qword [rsi + 0x20], r8
mov ebx, 0x150
mov rcx, rsi
call fcn.14011e5bd
test rax, rax
je 0x14011ff54
mov rdi, rax
cmp byte [rax - 4], 0
mov byte [rax - 4], 0
jne 0x14011ff08
mov rcx, qword [rbp + 0x2b8]
mov rax, qword [rcx]
sub rax, rdi
cqo
idiv rbx
mov rdx, rax
call fcn.1400a914b
add rdi, 0xfffffffffffffeb8
mov byte [rbp + 0x32f], 0
mov rcx, rdi
call fcn.14011617a
jmp 0x14011ff08
mov rcx, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x2a8]
call fcn.14008660c
nop
add rsp, 0x3b8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdx, qword [rbp + 0x120]
call fcn.1402567b0
jmp 0x14011ffa0
lea rcx, str.assertion_failed:_vec.capacity_____start___lenC:UsersJOHN_PC.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rayon_1.10.0_src_vec.rs
lea r8, [0x1402a4eb0]
push 0x2f
pop rdx
call fcn.140256d30
ud2