Function at 0x1400b6654
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, 0x3a8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x320], 0xfffffffffffffffe
mov rsi, rcx
mov word [rbp + 0x318], dx
mov dword [rbp + 0x2d8], edx
mov eax, edx
shr eax, 0x10
mov byte [rbp + 0x31a], al
mov r14d, 0x80000
mov ecx, 0x80000
xor edx, edx
call fcn.1400814b3
lea r15, [rbp + 0x2a8]
mov qword [r15], rax
mov qword [r15 + 8], rdx
and qword [r15 + 0x10], 0
push 5
pop r12
lea r13, [rbp + 0x110]
mov rbx, qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
and dword [rbp + 0x110], 0
mov rcx, r15
mov rdx, r14
call fcn.14007e795
mov rdi, qword [rbp + 0x2a8]
mov ecx, r12d
mov rdx, rdi
mov r8d, r14d
mov r9, r13
call rbx
cmp eax, 0xc0000004
jne 0x1400b6711
mov eax, dword [rbp + 0x110]
add r14, r14
lea ecx, [rax + 0x2800]
test eax, eax
cmovne r14, rcx
jmp 0x1400b66cc
test eax, eax
jne 0x1400b67cd
mov qword [rbp + 0x2b8], r14
push 8
pop rcx
mov edx, 0xfa0
call fcn.14007ef1d
test rax, rax
je 0x1400b6ce1
lea r14, [rbp + 0x2c0]
mov qword [r14], rax
mov qword [r14 + 8], 0x1f4
and qword [r14 + 0x10], 0
xor edx, edx
xor r15d, r15d
cmp rdx, qword [rbp + 0x2c8]
jne 0x1400b6778
mov byte [rbp + 0x31f], 1
mov rcx, r14
call fcn.140073617
mov rax, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2d0]
lea rcx, [rdi + r15]
mov qword [rax + rdx*8], rcx
mov rdx, qword [rbp + 0x2d0]
inc rdx
mov qword [rbp + 0x2d0], rdx
mov ecx, dword [rcx]
add r15, rcx
test rcx, rcx
jne 0x1400b6752
lea rdi, [rsi + 0x40]
mov qword [rbp + 0x288], rdi
cmp byte [rbp + 0x2d8], 0
je 0x1400b67dc
lea rcx, [rsi + 0x110]
mov byte [rbp + 0x31f], 1
xor edx, edx
call fcn.1400b7200
mov rax, qword [rsi + 0x190]
jmp 0x1400b67de
mov rdx, qword [rbp + 0x2b0]
mov rcx, rdi
jmp 0x1400b6cc7
xor eax, eax
mov qword [rbp + 0x280], rax
mov byte [rbp + 0x31f], 1
call fcn.1400a7c10
shl rdx, 0x20
mov eax, eax
or rax, rdx
movabs rcx, 0x19db1ded53e8000
cmp rax, rcx
jge 0x1400b680d
xor eax, eax
jmp 0x1400b6824
movabs rcx, 0xfe624e212ac18000
add rax, rcx
mov ecx, 0x989680
xor edx, edx
div rcx
lea rcx, [rbp + 0x268]
mov qword [rcx], rax
mov r14, qword [rbp + 0x2d0]
mov qword [rbp + 0x120], r14
movdqu xmm0, xmmword [rbp + 0x2c0]
movdqa xmmword [rbp + 0x110], xmm0
mov qword [rbp + 0x300], 8
xorps xmm1, xmm1
movups xmmword [rbp + 0x308], xmm1
lea rax, [rbp + 0x288]
mov qword [rbp + 0x128], rax
lea rax, [rbp + 0x318]
mov qword [rbp + 0x130], rax
lea rax, [rbp + 0x280]
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], rcx
lea rax, [rbp + 0x2e0]
mov qword [rbp - 0x40], rax
and qword [rbp - 0x38], 0
movdqa xmmword [rax], xmm0
and qword [rax + 0x10], 0
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r14
cmp qword [rax + 8], r14
jb 0x1400b6cf0
mov rbx, qword [rbp + 0x2e0]
mov qword [rbp + 0x270], rbx
mov qword [rbp + 0x278], r14
mov byte [rbp + 0x31d], 1
mov rcx, r14
call fcn.1400b47b8
lea rcx, [rbp + 0x128]
mov byte [rbp + 0x31d], 0
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], 1
lea rbx, [rbp + 0x290]
mov rcx, rbx
mov rdx, r14
xor r8d, r8d
mov r9, rax
call fcn.1400b140d
lea rcx, [rbp - 0x40]
call fcn.1400b4d77
mov rcx, qword [rbp + 0x2e0]
mov rdx, qword [rbp + 0x2e8]
call fcn.1400ca034
xor edx, edx
mov rax, qword [rbp + 0x2a0]
sub rax, 1
jb 0x1400b695c
mov rbx, qword [rbx]
test rbx, rbx
je 0x1400b695c
add rdx, qword [rbx + 0x10]
add rbx, 0x18
jmp 0x1400b6944
mov byte [rbp + 0x31e], 1
lea rcx, [rbp + 0x300]
call fcn.1400b4a74
mov rax, qword [rbp + 0x2a0]
lea r14, [rbp + 0x2e0]
mov qword [r14 + 0x10], rax
movdqu xmm0, xmmword [rbp + 0x290]
movdqa xmmword [r14], xmm0
lea r15, [rbp + 0x110]
mov rcx, r14
call fcn.1400adeb2
test rax, rax
je 0x1400b6a37
mov rcx, qword [rax + 0x10]
mov qword [rbp - 0x30], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rbp - 0x40], xmm0
mov rcx, rax
call fcn.14006d950
cmp qword [rbp - 0x40], 0
je 0x1400b6a37
movdqa xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp + 0x110], xmm0
mov r12, qword [rbp - 0x30]
mov qword [rbp + 0x120], r12
mov r13, qword [rbp + 0x110]
lea rcx, [rbp + 0x300]
mov rdx, r12
call fcn.1400b4a74
mov rbx, qword [rbp + 0x310]
imul rcx, rbx, 0x150
add rcx, qword [rbp + 0x300]
imul r8, r12, 0x150
mov rdx, r13
call sub.msvcrt.dll_memcpy
add rbx, r12
mov qword [rbp + 0x310], rbx
and qword [rbp + 0x120], 0
mov rcx, r15
call fcn.1400ada0f
jmp 0x1400b6995
mov byte [rbp + 0x31e], 0
lea rcx, [rbp + 0x2e0]
call fcn.1400ade5b
mov rdx, qword [rbp + 0x300]
mov rax, qword [rbp + 0x308]
imul r12, qword [rbp + 0x310], 0x150
add r12, rdx
mov qword [rbp + 0x2e0], rdx
mov qword [rbp + 0x2e8], rax
mov qword [rbp + 0x2f0], rdx
mov qword [rbp + 0x2f8], r12
lea rax, [rsi + 0x60]
mov qword [rbp + 0x2d8], rax
cmp rdx, r12
je 0x1400b6c1e
lea rbx, [rdx + 0x150]
mov qword [rbp + 0x2f0], rbx
mov r13, qword [rdx]
cmp r13, 2
je 0x1400b6c1e
lea r14, [rdx + 0xc8]
mov r15, qword [rdx + 0xc0]
add rdx, 8
mov r8d, 0xb8
lea rcx, [rbp + 0x118]
call sub.msvcrt.dll_memcpy
mov r8d, 0x88
lea rcx, [rbp + 0x1d8]
mov rdx, r14
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x110], r13
mov qword [rbp + 0x1d0], r15
mov qword [rbp + 0x300], r15
mov rcx, qword [rsi + 0x60]
mov rdx, qword [rsi + 0x68]
mov r8, r15
call fcn.1400af322
mov r14, rax
lea rax, [rbp + 0x300]
mov qword [rbp + 0x290], rax
cmp qword [rsi + 0x50], 0
jne 0x1400b6b36
mov rcx, rdi
mov rdx, qword [rbp + 0x2d8]
call fcn.14011defd
lea rax, [rbp + 0x290]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rdi
mov rcx, qword [rsi + 0x40]
mov rdx, qword [rsi + 0x48]
lea rax, [0x1400b58dd]
mov qword [rsp + 0x20], rax
mov r8, r14
lea r9, [rbp - 0x40]
call fcn.1400f18a2
test rax, rax
je 0x1400b6bc7
mov rax, qword [rbp + 0x300]
mov rcx, qword [rsi + 0x40]
movzx r8d, byte [rcx + rdx]
and r8d, 1
sub qword [rsi + 0x50], r8
shr r14, 0x39
lea r8, [rdx - 0x10]
and r8, qword [rsi + 0x48]
mov byte [rcx + rdx], r14b
mov byte [r8 + rcx + 0x10], r14b
inc qword [rsi + 0x58]
neg rdx
imul rdx, rdx, 0x158
add rcx, rdx
add rcx, 0xfffffffffffffeb0
mov qword [rcx - 8], rax
mov r8d, 0x150
lea rdx, [rbp + 0x110]
call sub.msvcrt.dll_memcpy
jmp 0x1400b6c16
mov rax, qword [rdi]
neg rdx
imul rcx, rdx, 0x158
lea r14, [rax + rcx]
add r14, 0xfffffffffffffeb0
mov r8d, 0x150
lea rcx, [rbp - 0x40]
mov rdx, r14
call sub.msvcrt.dll_memcpy
mov r8d, 0x150
mov rcx, r14
lea rdx, [rbp + 0x110]
call sub.msvcrt.dll_memcpy
cmp qword [rbp - 0x40], 2
je 0x1400b6c16
lea rcx, [rbp - 0x40]
call fcn.1400ad98c
mov rdx, rbx
jmp 0x1400b6a8d
mov byte [rbp + 0x31f], 0
lea rcx, [rbp + 0x2e0]
call fcn.1400b5529
mov rax, qword [rsi + 0x40]
mov rcx, qword [rsi + 0x48]
add rcx, rax
inc rcx
movdqa xmm0, xmmword [rax]
pmovmskb edx, xmm0
not edx
mov r8, qword [rsi + 0x58]
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 r14d, 0x158
mov rcx, rsi
call fcn.1400b53ed
test rax, rax
je 0x1400b6cb9
mov rbx, rax
cmp byte [rax - 4], 0
mov byte [rax - 4], 0
jne 0x1400b6c71
mov rax, qword [rdi]
sub rax, rbx
cqo
idiv r14
mov rcx, rdi
mov rdx, rax
call fcn.1400f2153
add rbx, 0xfffffffffffffeb0
mov byte [rbp + 0x31f], 0
mov rcx, rbx
call fcn.1400ad98c
jmp 0x1400b6c71
mov rcx, qword [rbp + 0x2a8]
mov rdx, qword [rbp + 0x2b0]
call fcn.14000e02a
nop
add rsp, 0x3a8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
push 8
pop rcx
mov edx, 0xfa0
call fcn.14011a0d0
jmp 0x1400b6d06
lea rcx, str.assertion_failed:_vec.capacity_____start___lenC:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rayon_1.7.0_src_vec.rs
lea r8, [0x140162ef8]
push 0x2f
pop rdx
call fcn.14011a470
ud2