Function at 0x140066160
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x168
movdqa xmmword [rsp + 0x150], xmm6
mov r14, r8
mov r15, rcx
movzx eax, byte [0x1402ae001]
cmp al, 1
jne 0x14006620f
test r14, r14
je 0x140066db5
shl r14, 4
lea rbx, [rsp + 0x70]
pxor xmm6, xmm6
nop word [rax + rax]
lea rsi, [rdx + 0x10]
mov rcx, rbx
call sym.generic_array::functional::FunctionalSequence::map::he6a9c9b82c88e9c1
movdqa xmm0, xmmword [rsp + 0x70]
movdqa xmm1, xmm0
punpcklbw xmm1, xmm6
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpckhbw xmm0, xmm6
pshufd xmm0, xmm0, 0x4e
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
movdqa xmmword [rsp + 0x70], xmm0
mov rcx, r15
mov rdx, rbx
call sym.polyval::backend::clmul::Polyval::mul::h8d8efcdd95851bbe
mov rdx, rsi
add r14, 0xfffffffffffffff0
jne 0x1400661b0
jmp 0x140066db5
test r14, r14
je 0x140066db5
movabs r8, 0x4444444444444444
movabs r9, 0x2222222222222222
movabs r10, 0x1111111111111111
mov r11, qword [r15]
mov rax, r11
bswap rax
mov rsi, qword [r15 + 8]
mov rcx, rax
shr rcx, 4
movabs rdi, 0xf0f0f0f0f0f0f0f
and rcx, rdi
and rax, rdi
shl rax, 4
or rax, rcx
movabs rbx, 0x3333333333333333
mov rcx, rax
and rcx, rbx
shr rax, 2
and rax, rbx
lea rax, [rax + rcx*4]
movabs r12, 0x5555555555555555
mov rcx, rax
and rcx, r12
shr rax, 1
and rax, r12
lea r13, [rax + rcx*2]
mov rax, rsi
bswap rax
mov rcx, rax
shr rcx, 4
and rcx, rdi
and rax, rdi
shl rax, 4
or rax, rcx
mov rcx, rax
and rcx, rbx
shr rax, 2
and rax, rbx
lea rax, [rax + rcx*4]
mov rcx, rax
and rcx, r12
shr rax, 1
and rax, r12
lea rax, [rax + rcx*2]
mov rcx, rsi
xor rcx, r11
mov rdi, rax
xor rdi, r13
mov rbx, r11
and rbx, r10
mov qword [rsp + 0xf0], rbx
mov rbx, r11
and rbx, r9
mov qword [rsp + 0xe8], rbx
mov rbx, r11
and rbx, r8
mov qword [rsp + 0xe0], rbx
movabs rbx, 0x8888888888888888
and r11, rbx
mov qword [rsp + 0x118], r11
mov r11, rsi
and r11, r10
mov qword [rsp + 0xd8], r11
mov r11, rsi
and r11, r9
mov qword [rsp + 0xd0], r11
mov r11, rsi
and r11, r8
mov qword [rsp + 0xc8], r11
and rsi, rbx
mov qword [rsp + 0x110], rsi
mov r11, rcx
and r11, r10
mov qword [rsp + 0x48], r11
mov r11, rcx
and r11, r9
mov qword [rsp + 0xc0], r11
mov r11, rcx
and r11, r8
mov qword [rsp + 0x60], r11
and rcx, rbx
mov qword [rsp + 0x68], rcx
mov rcx, r13
and rcx, r10
mov qword [rsp + 0xb8], rcx
mov rcx, r13
and rcx, r9
mov qword [rsp + 0xb0], rcx
mov rcx, r13
and rcx, r8
mov qword [rsp + 0xa8], rcx
and r13, rbx
mov qword [rsp + 0x108], r13
mov rcx, rax
and rcx, r10
mov qword [rsp + 0xa0], rcx
mov rcx, rax
and rcx, r9
mov qword [rsp + 0x98], rcx
mov rcx, rax
and rcx, r8
mov qword [rsp + 0x90], rcx
and rax, rbx
mov qword [rsp + 0x100], rax
mov rax, rdi
and rax, r10
mov qword [rsp + 0x88], rax
mov rax, rdi
and rax, r9
mov qword [rsp + 0x58], rax
mov rax, rdi
and rax, r8
mov qword [rsp + 0x80], rax
and rdi, rbx
mov qword [rsp + 0xf8], rdi
shl r14, 4
pxor xmm6, xmm6
mov rdi, qword [r15 + 0x10]
mov rbx, qword [r15 + 0x18]
mov qword [rsp + 0x120], r15
nop word cs:[rax + rax]
mov qword [rsp + 0x148], r14
lea rax, [rdx + 0x10]
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x70]
call sym.generic_array::functional::FunctionalSequence::map::he6a9c9b82c88e9c1
movdqa xmm0, xmmword [rsp + 0x70]
movdqa xmm1, xmm0
punpcklbw xmm1, xmm6
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
punpckhbw xmm0, xmm6
pshufhw xmm1, xmm1, 0x1b
pshufd xmm0, xmm0, 0x4e
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm1, xmm1
packuswb xmm0, xmm0
movq rdx, xmm0
movq rbp, xmm1
xor rdx, rdi
xor rbp, rbx
mov r8, rdx
bswap r8
mov rcx, r8
shr rcx, 4
movabs rax, 0xf0f0f0f0f0f0f0f
and r8, rax
shl r8, 4
mov rbx, r8
mov r9, rbp
bswap r9
mov r8, r9
mov r10, r9
mov r9, rbp
xor r9, rdx
mov qword [rsp + 0x40], r9
mov r11, rdx
mov r9, rax
and r10, rax
mov rdi, r10
movabs rax, 0x1111111111111111
and r11, rax
mov r10, rdx
movabs rax, 0x2222222222222222
and r10, rax
and rcx, r9
mov r14, rdx
movabs rax, 0x4444444444444444
and r14, rax
movabs rax, 0x8888888888888888
and rdx, rax
shr r8, 4
mov r13, qword [rsp + 0xe0]
mov rsi, r13
imul rsi, r14
mov r15, qword [rsp + 0x118]
mov rax, r15
shl rdi, 4
mov qword [rsp + 0x28], rdi
imul rax, r10
mov r12, qword [rsp + 0xf0]
mov rdi, r12
imul rdi, r10
xor rax, rsi
mov rsi, qword [rsp + 0xe8]
mov r9, rsi
imul r9, r11
xor r9, rdi
or rbx, rcx
mov qword [rsp + 0x38], rbx
mov rcx, r13
imul rcx, rdx
mov rbx, r15
movabs rdi, 0xf0f0f0f0f0f0f0f
and r8, rdi
imul rbx, r14
mov rdi, r12
imul rdi, r14
xor rbx, rcx
mov qword [rsp + 0x30], rbx
mov rcx, rsi
imul rcx, r10
xor rcx, rdi
add qword [rsp + 0x28], r8
mov r8, r13
imul r8, r11
mov rdi, r15
imul rdi, rdx
xor rdi, r8
mov rbx, rsi
imul rbx, rdx
imul rdx, r12
imul r14, rsi
xor r14, rdx
imul r12, r11
mov qword [rsp + 0x138], r12
xor rbx, r12
imul r10, r13
imul r11, r15
xor rbx, rax
xor r11, r10
mov r13, rbp
movabs rax, 0x1111111111111111
and r13, rax
xor qword [rsp + 0x30], r9
mov rsi, rbp
mov r10, rbp
movabs rax, 0x8888888888888888
and rbp, rax
xor rdi, rcx
mov r9, qword [rsp + 0xd0]
mov rax, r9
imul rax, rbp
mov r8, qword [rsp + 0xd8]
mov rcx, r8
imul rcx, r13
xor rax, rcx
movabs rcx, 0x2222222222222222
and rsi, rcx
movabs rcx, 0x4444444444444444
and r10, rcx
xor r11, r14
mov qword [rsp + 0x50], r11
mov r11, qword [rsp + 0xc8]
mov rcx, r11
imul rcx, r10
mov rdx, qword [rsp + 0x110]
mov r15, rdx
imul r15, rsi
xor r15, rcx
mov rcx, r8
imul rcx, rsi
mov r12, r9
imul r12, r13
xor r12, rcx
mov rcx, r11
imul rcx, rbp
mov r14, rdx
imul r14, r10
xor r14, rcx
xor r15, rax
xor r14, r12
mov rax, r8
imul rax, r10
mov rcx, r9
imul rcx, rsi
xor rcx, rax
mov r12, r11
imul r12, r13
mov rax, rdx
imul rax, rbp
xor rax, r12
xor rax, rcx
imul rbp, r8
imul r10, r9
xor r10, rbp
imul rsi, r11
imul r13, rdx
xor r13, rsi
mov r8, qword [rsp + 0x38]
mov rcx, r8
movabs rdx, 0x3333333333333333
and rcx, rdx
shr r8, 2
and r8, rdx
mov rbp, r8
movabs r11, 0x1111111111111111
and rbx, r11
mov rdx, qword [rsp + 0x30]
movabs r9, 0x2222222222222222
and rdx, r9
movabs rsi, 0x4444444444444444
and rdi, rsi
mov r8, qword [rsp + 0x50]
movabs r12, 0x8888888888888888
and r8, r12
xor r13, r10
and r15, r11
mov r10, r11
and r14, r9
and rax, rsi
and r13, r12
mov r12, r13
lea rbp, [rbp + rcx*4]
mov r11, qword [rsp + 0x40]
mov r13, r11
and r13, r10
mov r10, r11
or rdx, rbx
mov qword [rsp + 0x30], rdx
movabs rcx, 0x2222222222222222
and r10, rcx
mov rbx, r11
and rbx, rsi
or r8, rdi
mov qword [rsp + 0x50], r8
movabs rcx, 0x8888888888888888
and r11, rcx
mov r8, qword [rsp + 0x48]
mov rcx, r8
imul rcx, r13
or r14, r15
mov r9, qword [rsp + 0xc0]
mov rsi, r9
imul rsi, r11
mov r15, r11
xor rsi, rcx
mov rdx, r12
or rdx, rax
mov rax, qword [rsp + 0x60]
imul rax, rbx
mov rdi, qword [rsp + 0x68]
imul rdi, r10
xor rdi, rax
imul r8, r10
xor rdi, rsi
mov rsi, r9
imul rsi, r13
xor rsi, r8
mov r11, qword [rsp + 0x28]
mov rax, r11
movabs rcx, 0x3333333333333333
and rax, rcx
shr r11, 2
and r11, rcx
lea r12, [r11 + rax*4]
mov r8, qword [rsp + 0x60]
mov r11, r8
imul r11, r15
mov rcx, qword [rsp + 0x68]
mov rax, rcx
imul rax, rbx
xor rax, r11
xor rax, rsi
mov r11, qword [rsp + 0x48]
imul r11, rbx
mov rsi, r9
imul rsi, r10
xor rsi, r11
or rdx, r14
mov qword [rsp + 0x40], rdx
mov r11, rcx
imul r11, r15
mov r14, r8
imul r14, r13
xor r11, r14
xor r11, rsi
mov rsi, rbp
movabs rdx, 0x5555555555555555
and rsi, rdx
shr rbp, 1
imul r15, qword [rsp + 0x48]
imul rbx, r9
and rbp, rdx
xor rbx, r15
mov r14, r12
shr r12, 1
lea rbp, [rbp + rsi*2]
imul r10, r8
imul r13, rcx
xor r13, r10
and r14, rdx
xor r13, rbx
movabs rbx, 0x1111111111111111
and rdi, rbx
movabs r15, 0x2222222222222222
and rax, r15
and r12, rdx
or rax, rdi
movabs rdx, 0x4444444444444444
and r11, rdx
movabs r8, 0x8888888888888888
and r13, r8
lea rsi, [r12 + r14*2]
or r13, r11
or r13, rax
mov qword [rsp + 0x38], r13
mov r10, rbp
mov rax, rsi
and r10, rbx
mov r11, rbp
and r11, r15
xor rax, rbp
mov qword [rsp + 0x130], rax
mov r15, rbp
and r15, rdx
mov rbx, qword [rsp + 0xb8]
mov rax, rbx
and rbp, r8
mov r14, r8
imul rax, r10
mov r13, qword [rsp + 0xb0]
mov rdi, r13
imul rdi, rbp
xor rdi, rax
mov r8, qword [rsp + 0xa8]
mov rax, r8
imul rax, r15
mov r9, qword [rsp + 0x108]
mov rdx, r9
imul rdx, r11
xor rdx, rax
mov rax, rbx
imul rax, r11
mov r12, r13
imul r12, r10
xor r12, rax
mov rax, r8
imul rax, rbp
mov rcx, r9
imul rcx, r15
xor rcx, rax
xor rdx, rdi
mov qword [rsp + 0x128], rdx
xor rcx, r12
mov qword [rsp + 0x28], rcx
mov rdi, rbx
imul rdi, r15
mov rcx, r13
imul rcx, r11
xor rcx, rdi
mov rdi, r8
imul rdi, r10
mov r12, r9
imul r12, rbp
xor r12, rdi
imul rbp, rbx
imul r15, r13
xor r15, rbp
imul r11, r8
imul r10, r9
xor r10, r11
mov rbp, rsi
movabs rax, 0x1111111111111111
and rbp, rax
mov rdi, rsi
mov r11, rsi
and rsi, r14
mov r14, qword [rsp + 0xa0]
mov r13, r14
imul r13, rbp
mov rbx, qword [rsp + 0x98]
mov rax, rbx
imul rax, rsi
xor rax, r13
xor r12, rcx
movabs rcx, 0x2222222222222222
and rdi, rcx
movabs rcx, 0x4444444444444444
and r11, rcx
mov r9, qword [rsp + 0x90]
mov rcx, r9
imul rcx, r11
mov r8, qword [rsp + 0x100]
mov r13, r8
imul r13, rdi
xor r13, rcx
xor r10, r15
xor r13, rax
mov rax, r14
imul rax, rdi
mov rcx, rbx
imul rcx, rbp
xor rcx, rax
mov rax, r9
imul rax, rsi
mov r15, r8
imul r15, r11
xor r15, rax
xor r15, rcx
mov rax, r14
imul rax, r11
mov rcx, rbx
imul rcx, rdi
xor rcx, rax
mov rax, r9
imul rax, rbp
mov rdx, r8
imul rdx, rsi
xor rdx, rax
xor rdx, rcx
imul rsi, r14
imul r11, rbx
xor r11, rsi
imul rdi, r9
imul rbp, r8
xor rbp, rdi
movabs rcx, 0x1111111111111111
mov r8, qword [rsp + 0x128]
and r8, rcx
movabs rax, 0x2222222222222222
mov r9, qword [rsp + 0x28]
and r9, rax
or r9, r8
mov qword [rsp + 0x28], r9
movabs rsi, 0x4444444444444444
and r12, rsi
movabs r9, 0x8888888888888888
and r10, r9
xor rbp, r11
or r10, r12
and r13, rcx
and r15, rax
mov rsi, rax
mov rax, qword [rsp + 0x130]
mov r11, rax
or r15, r13
mov r12, rax
mov r14, rax
and rax, r9
and r11, rcx
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
imul rcx, rax
mov r8, rax
mov rbx, qword [rsp + 0x88]
mov rax, rbx
imul rax, r11
xor rcx, rax
movabs rax, 0x4444444444444444
and rdx, rax
and rbp, r9
or rbp, rdx
and r12, rsi
and r14, rax
mov r13, qword [rsp + 0x80]
mov rdx, r13
imul rdx, r14
mov r9, qword [rsp + 0xf8]
mov rax, r9
imul rax, r12
xor rax, rdx
xor rax, rcx
mov rcx, rbx
imul rcx, r12
mov rdx, rdi
imul rdx, r11
xor rdx, rcx
mov rcx, r13
imul rcx, r8
mov rsi, r9
imul rsi, r14
xor rsi, rcx
xor rsi, rdx
or r10, qword [rsp + 0x28]
mov rcx, rbx
imul rcx, r14
mov rdx, rdi
imul rdx, r12
xor rdx, rcx
mov rcx, r13
imul rcx, r11
mov rdi, r9
imul rdi, r8
xor rdi, rcx
xor rdi, rdx
or rbp, r15
mov r15, qword [rsp + 0x120]
imul r8, rbx
imul r14, qword [rsp + 0x58]
xor r14, r8
imul r12, r13
imul r11, r9
xor r11, r12
xor r11, r14
mov r14, qword [rsp + 0x148]
movabs rcx, 0x1111111111111111
and rax, rcx
movabs rcx, 0x2222222222222222
and rsi, rcx
or rsi, rax
movabs rax, 0x4444444444444444
and rdi, rax
movabs rax, 0x8888888888888888
and r11, rax
or r11, rdi
or r11, rsi
mov rdi, r10
xor rdi, rbp
xor rdi, r11
bswap r10
mov rax, r10
shr rax, 4
movabs r9, 0xf0f0f0f0f0f0f0f
and r10, r9
shl r10, 4
and rax, r9
or r10, rax
mov rax, r10
shr r10, 2
movabs r11, 0x3333333333333333
and rax, r11
and r10, r11
bswap rbp
lea rax, [r10 + rax*4]
mov rcx, rbp
shr rcx, 4
and rbp, r9
and rcx, r9
shl rbp, 4
or rbp, rcx
mov rcx, rbp
and rcx, r11
shr rbp, 2
and rbp, r11
lea rcx, [rcx*4]
add rcx, rbp
mov rdx, rax
movabs rsi, 0x5555555555555555
and rdx, rsi
shr rax, 1
movabs r8, 0x5555555555555554
and rax, r8
lea r10, [rax + rdx*2]
mov rax, rcx
and rax, rsi
shr rcx, 1
and rcx, r8
lea rbx, [rcx + rax*2]
bswap rdi
mov rax, rdi
shr rax, 4
and rdi, r9
shl rdi, 4
and rax, r9
or rdi, rax
mov rax, rdi
shr rdi, 2
and rax, r11
and rdi, r11
lea rax, [rdi + rax*4]
mov r9, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
or r9, rcx
mov rdx, qword [rsp + 0x138]
shl rdx, 0x3f
shl rcx, 0x3e
xor rcx, rdx
mov rdi, r9
shr r10, 1
shl rdi, 0x39
xor rdi, rcx
mov rdx, rax
and rdx, rsi
shr rax, 1
xor rdi, qword [rsp + 0x38]
mov rcx, r9
and rax, r8
xor rdi, r9
mov r11, qword [rsp + 0x40]
xor rdi, r11
xor rdi, r10
lea rax, [rax + rdx*2]
mov rdx, rdi
shr rdx, 2
mov r8, rdi
shr r8, 7
xor r8, rdx
mov rdx, r9
shr rcx, 2
shr rdx, 1
xor rbx, rdi
shr rbx, 1
xor rbx, r8
xor rcx, rdx
xor rbx, rdi
mov rdx, rdi
mov r8, rdi
shl rdi, 0x39
xor rdi, r9
shr r9, 7
xor r9, rcx
shr rax, 1
xor r9, rax
shl rdx, 0x3f
shl r8, 0x3e
xor r8, rdx
xor r8, r9
xor rdi, r11
xor rdi, r8
mov qword [r15 + 0x10], rdi
mov qword [r15 + 0x18], rbx
mov rdx, qword [rsp + 0x140]
add r14, 0xfffffffffffffff0
jne 0x140066440
movaps xmm6, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret