Function at 0x1400025f0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
push rbx
push rdi
push r12
push r14
sub rsp, 0xb8
xor r14d, r14d
mov r12, r8
mov rdi, rdx
mov rbx, rcx
test r8, r8
je 0x14000384b
mov qword [rax + 8], rsi
movabs rdx, 0x8618618618618619
mov qword [rax + 0x10], r13
lea rsi, [rcx + 0xc8]
mov qword [rax - 0x28], r15
lea r13d, [r14 + 0x1f]
vmovaps xmmword [rax - 0x38], xmm6
mov r10d, 0xfffffff8
vmovaps xmmword [rax - 0x48], xmm7
vmovaps xmmword [rax - 0x58], xmm8
vmovaps xmmword [rax - 0x68], xmm9
vmovaps xmmword [rax - 0x78], xmm10
vmovaps xmmword [rsp + 0x50], xmm11
vmovaps xmmword [rsp + 0x40], xmm12
movzx ecx, byte [rsi]
test cl, cl
jne 0x14000356d
lea rax, [r14 + 0xa8]
cmp r12, rax
jb 0x14000356d
kmovb k1, r13d
vmovdqu64 zmm4 {k1} {z}, zmmword [rbx]
mov r8, r12
lea r9, [rbx + 0x28]
vmovdqu64 zmm5 {k1} {z}, zmmword [r9]
sub r8, r14
lea r10, [rbx + 0x50]
lea r11, [rbx + 0x78]
lea r15, [rbx + 0xa0]
vmovdqu64 zmm16 {k1} {z}, zmmword [r10]
vmovdqu64 zmm3 {k1} {z}, zmmword [r11]
vmovdqu64 zmm1 {k1} {z}, zmmword [r15]
cmp r8, 0xa8
jb 0x14000353f
vmovdqu32 zmm22, zmmword [0x140030cc0]
vmovdqu32 zmm23, zmmword [0x140031300]
vmovdqu32 zmm24, zmmword [0x140030f40]
vmovdqu32 zmm25, zmmword [0x140030d00]
vmovdqu32 zmm26, zmmword [0x140031700]
vmovdqu32 zmm27, zmmword [0x140031500]
vmovdqu32 zmm28, zmmword [0x140031840]
vmovdqu32 zmm29, zmmword [0x140031640]
vmovdqu32 zmm30, zmmword [0x1400311c0]
vmovdqu32 zmm31, zmmword [0x140030e40]
vmovdqu32 zmm6, zmmword [0x140031340]
vmovdqu32 zmm7, zmmword [0x140031680]
vmovdqu32 zmm8, zmmword [0x140031800]
vmovdqu32 zmm9, zmmword [0x140031400]
vmovdqu32 zmm10, zmmword [0x140030d80]
vmovdqu32 zmm11, zmmword [0x140030d40]
vmovdqu32 zmm12, zmmword [0x140031580]
mov rax, rdx
mov rcx, r8
mul r8
sub rcx, rdx
shr rcx, 1
add rcx, rdx
mov edx, 1
shr rcx, 7
imul rax, rcx, 0xffffffffffffff58
lea esi, [rdx + 0xf]
add r8, rax
nop dword [rax + rax]
kmovb k1, r13d
vmovdqu64 zmm0 {k1} {z}, zmmword [rdi]
vpxord zmm19, zmm4, zmm0
lea rax, [rdi + 0x28]
vmovdqu64 zmm0 {k1} {z}, zmmword [rax]
vpxord zmm17, zmm5, zmm0
lea rax, [rdi + 0x50]
vmovdqu64 zmm0 {k1} {z}, zmmword [rax]
vpxord zmm2, zmm16, zmm0
lea rax, [rdi + 0x78]
vmovdqu64 zmm0 {k1} {z}, zmmword [rax]
vpxord zmm4, zmm3, zmm0
kmovb k1, edx
lea rax, [rdi + 0xa0]
vmovdqu64 zmm0 {k1} {z}, zmmword [rax]
vpxord zmm5, zmm1, zmm0
vmovdqu32 zmm1, zmm19
vpternlogq zmm1, zmm17, zmm2, 0x96
vpternlogq zmm1, zmm4, zmm5, 0x96
vpermq zmm16, zmm24, zmm1
vpermq zmm0, zmm25, zmm1
vprolq zmm3, zmm0, 1
vpternlogq zmm2, zmm3, zmm16, 0x96
vpternlogq zmm4, zmm3, zmm16, 0x96
vpternlogq zmm17, zmm3, zmm16, 0x96
vpternlogq zmm5, zmm3, zmm16, 0x96
vpternlogq zmm19, zmm3, zmm16, 0x96
vprolvq zmm0, zmm2, zmm26
vpermq zmm20, zmm27, zmm0
vprolvq zmm0, zmm4, zmm28
vpermq zmm18, zmm29, zmm0
vprolvq zmm0, zmm5, zmm30
vpermq zmm21, zmm31, zmm0
vprolvq zmm0, zmm17, zmm6
vpermq zmm4, zmm7, zmm0
vprolvq zmm0, zmm19, zmm8
vpermq zmm2, zmm9, zmm0
vmovdqu32 zmm1, zmm2
vpternlogq zmm1, zmm4, zmm20, 0xd2
vpxord zmm3, zmm1, zmmword [0x140031540]
vmovdqu32 zmm0, zmm4
vpternlogq zmm0, zmm20, zmm18, 0xd2
vpunpckhqdq zmm16, zmm3, zmm0
vpternlogq zmm20, zmm18, zmm21, 0xd2
vpternlogq zmm18, zmm21, zmm2, 0xd2
vpternlogq zmm21, zmm2, zmm4, 0xd2
vpunpcklqdq zmm2, zmm3, zmm0
vpermt2q zmm2, zmm10, zmm21
vpunpcklqdq zmm1, zmm20, zmm18
vpermt2q zmm16, zmm11, zmm21
vmovdqu32 zmm17, zmm2
vpunpckhqdq zmm0, zmm20, zmm18
vmovdqu32 zmm3, zmm2
vmovdqu32 zmm4, zmm16
vpermt2q zmm4, zmm22, zmm0
vpermt2q zmm16, zmm23, zmm0
vpermt2q zmm17, zmm22, zmm1
vpermt2q zmm3, zmm23, zmm1
vpermt2q zmm2, zmm12, zmm1
vmovdqu32 zmm0, zmm17
vpternlogq zmm0, zmm4, zmm3, 0x96
kmovb k1, esi
vpblendmq zmm2 {k1}, zmm2, zmm21
vpternlogq zmm0, zmm16, zmm2, 0x96
vpermq zmm5, zmm24, zmm0
vpermq zmm0, zmm25, zmm0
vprolq zmm1, zmm0, 1
vpternlogq zmm4, zmm1, zmm5, 0x96
vpternlogq zmm3, zmm1, zmm5, 0x96
vprolvq zmm0, zmm3, zmm26
vpermq zmm19, zmm27, zmm0
vpternlogq zmm16, zmm1, zmm5, 0x96
vprolvq zmm0, zmm16, zmm28
vpermq zmm18, zmm29, zmm0
vpternlogq zmm2, zmm1, zmm5, 0x96
vprolvq zmm0, zmm2, zmm30
vpermq zmm21, zmm31, zmm0
vprolvq zmm0, zmm4, zmm6
vpternlogq zmm17, zmm1, zmm5, 0x96
vpermq zmm4, zmm7, zmm0
vprolvq zmm0, zmm17, zmm8
vpermq zmm2, zmm9, zmm0
vmovdqu32 zmm1, zmm2
vpternlogq zmm1, zmm4, zmm19, 0xd2
vpxord zmm3, zmm1, zmmword [0x140031480]
vmovdqu32 zmm0, zmm4
vpternlogq zmm0, zmm19, zmm18, 0xd2
vpunpckhqdq zmm17, zmm3, zmm0
vpternlogq zmm19, zmm18, zmm21, 0xd2
vpternlogq zmm18, zmm21, zmm2, 0xd2
vpternlogq zmm21, zmm2, zmm4, 0xd2
vpunpcklqdq zmm4, zmm3, zmm0
vpunpcklqdq zmm1, zmm19, zmm18
vpermt2q zmm4, zmm10, zmm21
vpermt2q zmm17, zmm11, zmm21
vpunpckhqdq zmm0, zmm19, zmm18
vmovdqu32 zmm16, zmm17
vpermt2q zmm17, zmm23, zmm0
vpermt2q zmm16, zmm22, zmm0
vmovdqu32 zmm20, zmm4
vpermt2q zmm20, zmm22, zmm1
vmovdqu32 zmm2, zmm4
vpermt2q zmm2, zmm23, zmm1
vpermt2q zmm4, zmm12, zmm1
vpblendmq zmm3 {k1}, zmm4, zmm21
vmovdqu32 zmm0, zmm20
vpternlogq zmm0, zmm16, zmm2, 0x96
vpternlogq zmm0, zmm17, zmm3, 0x96
vpermq zmm5, zmm24, zmm0
vpermq zmm0, zmm25, zmm0
vprolq zmm1, zmm0, 1
vpternlogq zmm2, zmm1, zmm5, 0x96
vpternlogq zmm17, zmm1, zmm5, 0x96
vpternlogq zmm3, zmm1, zmm5, 0x96
vpternlogq zmm16, zmm1, zmm5, 0x96
vpternlogq zmm20, zmm1, zmm5, 0x96
vprolvq zmm0, zmm2, zmm26
vpermq zmm19, zmm27, zmm0
vprolvq zmm0, zmm17, zmm28
vpermq zmm18, zmm29, zmm0
vprolvq zmm0, zmm3, zmm30
vpermq zmm21, zmm31, zmm0
vprolvq zmm0, zmm16, zmm6
vpermq zmm4, zmm7, zmm0
vprolvq zmm0, zmm20, zmm8
vpermq zmm2, zmm9, zmm0
vmovdqu32 zmm1, zmm2
vpternlogq zmm1, zmm4, zmm19, 0xd2
vpxord zmm3, zmm1, zmmword [0x1400317c0]
vmovdqu32 zmm0, zmm4
vpternlogq zmm0, zmm19, zmm18, 0xd2
vpunpckhqdq zmm17, zmm3, zmm0
vpternlogq zmm19, zmm18, zmm21, 0xd2
vpternlogq zmm18, zmm21, zmm2, 0xd2
vpternlogq zmm21, zmm2, zmm4, 0xd2
vpunpcklqdq zmm4, zmm3, zmm0
vpunpcklqdq zmm1, zmm19, zmm18
vpunpckhqdq zmm0, zmm19, zmm18
vpermt2q zmm4, zmm10, zmm21
vpermt2q zmm17, zmm11, zmm21
vmovdqu32 zmm16, zmm17
vpermt2q zmm17, zmm23, zmm0
vpermt2q zmm16, zmm22, zmm0
vmovdqu32 zmm20, zmm4
vpermt2q zmm20, zmm22, zmm1
vmovdqu32 zmm2, zmm4
vpermt2q zmm2, zmm23, zmm1
vpermt2q zmm4, zmm12, zmm1
vpblendmq zmm3 {k1}, zmm4, zmm21
vmovdqu32 zmm0, zmm20
vpternlogq zmm0, zmm16, zmm2, 0x96
vpternlogq zmm0, zmm17, zmm3, 0x96
vpermq zmm5, zmm24, zmm0
vpermq zmm0, zmm25, zmm0
vprolq zmm1, zmm0, 1
vpternlogq zmm2, zmm1, zmm5, 0x96
vprolvq zmm0, zmm2, zmm26
vpternlogq zmm17, zmm1, zmm5, 0x96
vpermq zmm19, zmm27, zmm0
vprolvq zmm0, zmm17, zmm28
vpermq zmm18, zmm29, zmm0
vpternlogq zmm3, zmm1, zmm5, 0x96
vpternlogq zmm16, zmm1, zmm5, 0x96
vpternlogq zmm20, zmm1, zmm5, 0x96
vprolvq zmm0, zmm3, zmm30
vpermq zmm21, zmm31, zmm0
vprolvq zmm0, zmm16, zmm6
vpermq zmm4, zmm7, zmm0
vprolvq zmm0, zmm20, zmm8
vpermq zmm2, zmm9, zmm0
vmovdqu32 zmm0, zmm4
vpternlogq zmm0, zmm19, zmm18, 0xd2
vmovdqu32 zmm1, zmm2
vpternlogq zmm1, zmm4, zmm19, 0xd2
vpxord zmm3, zmm1, zmmword [0x140030c80]
vpunpckhqdq zmm17, zmm3, zmm0
vpternlogq zmm19, zmm18, zmm21, 0xd2
vpternlogq zmm18, zmm21, zmm2, 0xd2
vpternlogq zmm21, zmm2, zmm4, 0xd2
vpunpcklqdq zmm4, zmm3, zmm0
vpermt2q zmm4, zmm10, zmm21
vpermt2q zmm17, zmm11, zmm21
vpunpcklqdq zmm1, zmm19, zmm18
vpunpckhqdq zmm0, zmm19, zmm18
vmovdqu32 zmm20, zmm4
vpermt2q zmm20, zmm22, zmm1
vmovdqu32 zmm16, zmm17
vpermt2q zmm17, zmm23, zmm0
vpermt2q zmm16, zmm22, zmm0
vmovdqu32 zmm2, zmm4
vpermt2q zmm2, zmm23, zmm1
vpermt2q zmm4, zmm12, zmm1
vpblendmq zmm3 {k1}, zmm4, zmm21
vmovdqu32 zmm0, zmm20
vpternlogq zmm0, zmm16, zmm2, 0x96
vpternlogq zmm0, zmm17, zmm3, 0x96
vpermq zmm5, zmm24, zmm0
vpermq zmm0, zmm25, zmm0
vprolq zmm1, zmm0, 1
vpternlogq zmm2, zmm1, zmm5, 0x96
vpternlogq zmm17, zmm1, zmm5, 0x96
vpternlogq zmm3, zmm1, zmm5, 0x96
vpternlogq zmm16, zmm1, zmm5, 0x96
vpternlogq zmm20, zmm1, zmm5, 0x96
vprolvq zmm0, zmm2, zmm26
vpermq zmm19, zmm27, zmm0
vprolvq zmm0, zmm17, zmm28
vpermq zmm18, zmm29, zmm0
vprolvq zmm0, zmm3, zmm30
vpermq zmm21, zmm31, zmm0
vprolvq zmm0, zmm16, zmm6
vpermq zmm4, zmm7, zmm0
vprolvq zmm0, zmm20, zmm8
vpermq zmm2, zmm9, zmm0
vmovdqu32 zmm0, zmm4
vpternlogq zmm0, zmm19, zmm18, 0xd2
vmovdqu32 zmm1, zmm2
vpternlogq zmm1, zmm4, zmm19, 0xd2
vpxord zmm3, zmm1, zmmword [0x140030f00]
vpunpckhqdq zmm17, zmm3, zmm0
vpternlogq zmm19, zmm18, zmm21, 0xd2
vpternlogq zmm18, zmm21, zmm2, 0xd2
vpternlogq zmm21, zmm2, zmm4, 0xd2
vpunpcklqdq zmm4, zmm3, zmm0
vpunpcklqdq zmm1, zmm19, zmm18
vpermt2q zmm4, zmm10, zmm21
vpunpckhqdq zmm0, zmm19, zmm18
vpermt2q zmm17, zmm11, zmm21
vmovdqu32 zmm20, zmm4
vmovdqu32 zmm16, zmm17
vpermt2q zmm16, zmm22, zmm0
vpermt2q zmm17, zmm23, zmm0
vpermt2q zmm20, zmm22, zmm1
vmovdqu32 zmm2, zmm4
vpermt2q zmm2, zmm23, zmm1
vpermt2q zmm4, zmm12, zmm1
vmovdqu32 zmm0, zmm20
vpternlogq zmm0, zmm16, zmm2, 0x96
vpblendmq zmm3 {k1}, zmm4, zmm21
vpternlogq zmm0, zmm17, zmm3, 0x96
vpermq zmm5, zmm24, zmm0
vpermq zmm0, zmm25, zmm0
vprolq zmm1, zmm0, 1
vpternlogq zmm2, zmm1, zmm5, 0x96
vpternlogq zmm17, zmm1, zmm5, 0x96
vpternlogq zmm16, zmm1, zmm5, 0x96
vpternlogq zmm20, zmm1, zmm5, 0x96
vpternlogq zmm3, zmm1, zmm5, 0x96
vprolvq zmm0, zmm2, zmm26
vpermq zmm19, zmm27, zmm0
vprolvq zmm0, zmm17, zmm28
vpermq zmm18, zmm29, zmm0
vprolvq zmm0, zmm3, zmm30
vpermq zmm21, zmm31, zmm0
vprolvq zmm0, zmm16, zmm6
vpermq zmm4, zmm7, zmm0
vprolvq zmm0, zmm20, zmm8
vpermq zmm2, zmm9, zmm0
vmovdqu32 zmm0, zmm4
vpternlogq zmm0, zmm19, zmm18, 0xd2
vmovdqu32 zmm1, zmm2
vpternlogq zmm1, zmm4, zmm19, 0xd2
vpxord zmm3, zmm1, zmmword [0x140031440]
vpunpckhqdq zmm17, zmm3, zmm0
vpternlogq zmm19, zmm18, zmm21, 0xd2
vpternlogq zmm18, zmm21, zmm2, 0xd2
vpternlogq zmm21, zmm2, zmm4, 0xd2
vpunpcklqdq zmm4, zmm3, zmm0
vpermt2q zmm4, zmm10, zmm21
vpermt2q zmm17, zmm11, zmm21
vpunpcklqdq zmm1, zmm19, zmm18
vpunpckhqdq zmm0, zmm19, zmm18
vmovdqu32 zmm20, zmm4
vpermt2q zmm20, zmm22, zmm1
vmovdqu32 zmm16, zmm17
vpermt2q zmm17, zmm23, zmm0
vpermt2q zmm16, zmm22, zmm0
vmovdqu32 zmm2, zmm4
vpermt2q zmm2, zmm23, zmm1
vpermt2q zmm4, zmm12, zmm1
vpblendmq zmm3 {k1}, zmm4, zmm21
vmovdqu32 zmm0, zmm20
vpternlogq zmm0, zmm16, zmm2, 0x96
vpternlogq zmm0, zmm17, zmm3, 0x96
vpermq zmm5, zmm24, zmm0
vpermq zmm0, zmm25, zmm0
vprolq zmm1, zmm0, 1
vpternlogq zmm2, zmm1, zmm5, 0x96
vpternlogq zmm17, zmm1, zmm5, 0x96
vpternlogq zmm16, zmm1, zmm5, 0x96
vpternlogq zmm20, zmm1, zmm5, 0x96
vprolvq zmm0, zmm2, zmm26
vpermq zmm19, zmm27, zmm0
vprolvq zmm0, zmm17, zmm28
vpermq zmm18, zmm29, zmm0
vpternlogq zmm3, zmm1, zmm5, 0x96
vprolvq zmm0, zmm3, zmm30
vpermq zmm21, zmm31, zmm0
vprolvq zmm0, zmm16, zmm6
vpermq zmm4, zmm7, zmm0
vprolvq zmm0, zmm20, zmm8
vpermq zmm2, zmm9, zmm0
vmovdqu32 zmm0, zmm4
vpternlogq zmm0, zmm19, zmm18, 0xd2
vmovdqu32 zmm1, zmm2
vpternlogq zmm1, zmm4, zmm19, 0xd2
vpxord zmm3, zmm1, zmmword [0x1400312c0]
vpternlogq zmm19, zmm18, zmm21, 0xd2
vpternlogq zmm18, zmm21, zmm2, 0xd2
vpternlogq zmm21, zmm2, zmm4, 0xd2
vpunpcklqdq zmm1, zmm19, zmm18
vpunpcklqdq zmm4, zmm3, zmm0
vpermt2q zmm4, zmm10, zmm21
vpunpckhqdq zmm17, zmm3, zmm0
vpermt2q zmm17, zmm11, zmm21
vmovdqu32 zmm20, zmm4
vmovdqu32 zmm16, zmm17
vmovdqu32 zmm2, zmm4
vpunpckhqdq zmm0, zmm19, zmm18
vpermt2q zmm20, zmm22, zmm1
vpermt2q zmm16, zmm22, zmm0
vpermt2q zmm2, zmm23, zmm1
vpermt2q zmm17, zmm23, zmm0
vpermt2q zmm4, zmm12, zmm1
vpblendmq zmm3 {k1}, zmm4, zmm21
vmovdqu32 zmm0, zmm20
vpternlogq zmm0, zmm16, zmm2, 0x96
vpternlogq zmm0, zmm17, zmm3, 0x96
vpermq zmm5, zmm24, zmm0
vpermq zmm0, zmm25, zmm0
vprolq zmm1, zmm0, 1
vpternlogq zmm17, zmm1, zmm5, 0x96
vpternlogq zmm2, zmm1, zmm5, 0x96
vpternlogq zmm3, zmm1, zmm5, 0x96
vpternlogq zmm20, zmm1, zmm5, 0x96
vpternlogq zmm16, zmm1, zmm5, 0x96
vprolvq zmm0, zmm2, zmm26
vpermq zmm19, zmm27, zmm0
vprolvq zmm0, zmm17, zmm28
vpermq zmm18, zmm29, zmm0
vprolvq zmm0, zmm3, zmm30
vpermq zmm21, zmm31, zmm0
vprolvq zmm0, zmm16, zmm6
vpermq zmm4, zmm7, zmm0
vprolvq zmm0, zmm20, zmm8
vpermq zmm2, zmm9, zmm0
vmovdqu32 zmm0, zmm4
vpternlogq zmm0, zmm19, zmm18, 0xd2
vmovdqu32 zmm1, zmm2
vpternlogq zmm1, zmm4, zmm19, 0xd2
vpxord zmm3, zmm1, zmmword [0x140030e80]
vpunpckhqdq zmm17, zmm3, zmm0
vpternlogq zmm19, zmm18, zmm21, 0xd2
vpternlogq zmm18, zmm21, zmm2, 0xd2
vpternlogq zmm21, zmm2, zmm4, 0xd2
vpunpcklqdq zmm4, zmm3, zmm0
vpermt2q zmm4, zmm10, zmm21
vpunpcklqdq zmm1, zmm19, zmm18
vpermt2q zmm17, zmm11, zmm21
vpunpckhqdq zmm0, zmm19, zmm18
vmovdqu32 zmm20, zmm4
vpermt2q zmm20, zmm22, zmm1
vmovdqu32 zmm16, zmm17
vpermt2q zmm17, zmm23, zmm0
vpermt2q zmm16, zmm22, zmm0
vmovdqu32 zmm2, zmm4
vpermt2q zmm4, zmm12, zmm1
vpermt2q zmm2, zmm23, zmm1
vpblendmq zmm3 {k1}, zmm4, zmm21
vmovdqu32 zmm0, zmm20
vpternlogq zmm0, zmm16, zmm2, 0x96
vpternlogq zmm0, zmm17, zmm3, 0x96
vpermq zmm5, zmm24, zmm0
vpermq zmm0, zmm25, zmm0
vprolq zmm1, zmm0, 1
vpternlogq zmm17, zmm1, zmm5, 0x96
vpternlogq zmm2, zmm1, zmm5, 0x96
vpternlogq zmm3, zmm1, zmm5, 0x96
vpternlogq zmm20, zmm1, zmm5, 0x96
vpternlogq zmm16, zmm1, zmm5, 0x96
vprolvq zmm0, zmm2, zmm26
vpermq zmm19, zmm27, zmm0
vprolvq zmm0, zmm17, zmm28
vpermq zmm18, zmm29, zmm0
vprolvq zmm0, zmm3, zmm30
vpermq zmm21, zmm31, zmm0
vprolvq zmm0, zmm16, zmm6
vpermq zmm4, zmm7, zmm0
vprolvq zmm0, zmm20, zmm8
vpermq zmm2, zmm9, zmm0
vmovdqu32 zmm0, zmm4
vpternlogq zmm0, zmm19, zmm18, 0xd2
vmovdqu32 zmm1, zmm2
vpternlogq zmm1, zmm4, zmm19, 0xd2
vpxord zmm3, zmm1, zmmword [0x140031600]
vpternlogq zmm19, zmm18, zmm21, 0xd2
vpternlogq zmm18, zmm21, zmm2, 0xd2
vpternlogq zmm21, zmm2, zmm4, 0xd2
vpunpcklqdq zmm4, zmm3, zmm0
vpunpckhqdq zmm17, zmm3, zmm0
vpermt2q zmm4, zmm10, zmm21
vmovdqu32 zmm20, zmm4
vpermt2q zmm17, zmm11, zmm21
vpunpcklqdq zmm1, zmm19, zmm18
vpunpckhqdq zmm0, zmm19, zmm18
vpermt2q zmm20, zmm22, zmm1
vmovdqu32 zmm16, zmm17
vpermt2q zmm17, zmm23, zmm0
vpermt2q zmm16, zmm22, zmm0
vmovdqu32 zmm2, zmm4
vpermt2q zmm2, zmm23, zmm1
vpermt2q zmm4, zmm12, zmm1
vpblendmq zmm3 {k1}, zmm4, zmm21
vmovdqu32 zmm0, zmm20
vpternlogq zmm0, zmm16, zmm2, 0x96
vpternlogq zmm0, zmm17, zmm3, 0x96
vpermq zmm5, zmm24, zmm0
vpermq zmm0, zmm25, zmm0
vprolq zmm1, zmm0, 1
vpternlogq zmm2, zmm1, zmm5, 0x96
vpternlogq zmm17, zmm1, zmm5, 0x96
vpternlogq zmm3, zmm1, zmm5, 0x96
vpternlogq zmm16, zmm1, zmm5, 0x96
vpternlogq zmm20, zmm1, zmm5, 0x96
vprolvq zmm0, zmm2, zmm26
vpermq zmm19, zmm27, zmm0
vprolvq zmm0, zmm17, zmm28
vpermq zmm18, zmm29, zmm0
vprolvq zmm0, zmm3, zmm30
vpermq zmm21, zmm31, zmm0
vprolvq zmm0, zmm16, zmm6
vpermq zmm4, zmm7, zmm0
vprolvq zmm0, zmm20, zmm8
vpermq zmm2, zmm9, zmm0
vmovdqu32 zmm1, zmm2
vpternlogq zmm1, zmm4, zmm19, 0xd2
vpxord zmm3, zmm1, zmmword [0x140031280]
vmovdqu32 zmm0, zmm4
vpternlogq zmm0, zmm19, zmm18, 0xd2
vpunpckhqdq zmm17, zmm3, zmm0
vpternlogq zmm19, zmm18, zmm21, 0xd2
vpternlogq zmm18, zmm21, zmm2, 0xd2
vpternlogq zmm21, zmm2, zmm4, 0xd2
vpunpcklqdq zmm4, zmm3, zmm0
vpunpcklqdq zmm1, zmm19, zmm18
vpunpckhqdq zmm0, zmm19, zmm18
vpermt2q zmm4, zmm10, zmm21
vpermt2q zmm17, zmm11, zmm21
vmovdqu32 zmm20, zmm4
vpermt2q zmm20, zmm22, zmm1
vmovdqu32 zmm16, zmm17
vpermt2q zmm16, zmm22, zmm0
vpermt2q zmm17, zmm23, zmm0
vmovdqu32 zmm2, zmm4
vpermt2q zmm2, zmm23, zmm1
vpermt2q zmm4, zmm12, zmm1
vpblendmq zmm3 {k1}, zmm4, zmm21
vmovdqu32 zmm0, zmm20
vpternlogq zmm0, zmm16, zmm2, 0x96
vpternlogq zmm0, zmm17, zmm3, 0x96
vpermq zmm5, zmm24, zmm0
vpermq zmm0, zmm25, zmm0
vprolq zmm1, zmm0, 1
vpternlogq zmm2, zmm1, zmm5, 0x96
vpternlogq zmm3, zmm1, zmm5, 0x96
vprolvq zmm0, zmm2, zmm26
vpermq zmm19, zmm27, zmm0
vpternlogq zmm17, zmm1, zmm5, 0x96
vpternlogq zmm16, zmm1, zmm5, 0x96
vpternlogq zmm20, zmm1, zmm5, 0x96
vprolvq zmm0, zmm17, zmm28
vpermq zmm18, zmm29, zmm0
vprolvq zmm0, zmm3, zmm30
vpermq zmm21, zmm31, zmm0
vprolvq zmm0, zmm16, zmm6
vpermq zmm4, zmm7, zmm0
vprolvq zmm0, zmm20, zmm8
vpermq zmm2, zmm9, zmm0
vmovdqu32 zmm1, zmm2
vpternlogq zmm1, zmm4, zmm19, 0xd2
vpxord zmm3, zmm1, zmmword [0x140031040]
vmovdqu32 zmm0, zmm4
vpternlogq zmm0, zmm19, zmm18, 0xd2
vpternlogq zmm19, zmm18, zmm21, 0xd2
vpternlogq zmm18, zmm21, zmm2, 0xd2
vpternlogq zmm21, zmm2, zmm4, 0xd2
vpunpcklqdq zmm4, zmm3, zmm0
vpunpckhqdq zmm17, zmm3, zmm0
vpunpcklqdq zmm1, zmm19, zmm18
vpunpckhqdq zmm0, zmm19, zmm18
vpermt2q zmm4, zmm10, zmm21
vpermt2q zmm17, zmm11, zmm21
vmovdqu32 zmm20, zmm4
vpermt2q zmm20, zmm22, zmm1
vmovdqu32 zmm16, zmm17
vpermt2q zmm16, zmm22, zmm0
vpermt2q zmm17, zmm23, zmm0
vmovdqu32 zmm2, zmm4
vpermt2q zmm2, zmm23, zmm1
vpermt2q zmm4, zmm12, zmm1
vpblendmq zmm3 {k1}, zmm4, zmm21
vmovdqu32 zmm0, zmm20
vpternlogq zmm0, zmm16, zmm2, 0x96
vpternlogq zmm0, zmm17, zmm3, 0x96
vpermq zmm5, zmm24, zmm0
vpermq zmm0, zmm25, zmm0
vprolq zmm1, zmm0, 1
vpternlogq zmm2, zmm1, zmm5, 0x96
vpternlogq zmm3, zmm1, zmm5, 0x96
vpternlogq zmm17, zmm1, zmm5, 0x96
vpternlogq zmm16, zmm1, zmm5, 0x96
vpternlogq zmm20, zmm1, zmm5, 0x96
vprolvq zmm0, zmm2, zmm26
vpermq zmm19, zmm27, zmm0
vprolvq zmm0, zmm17, zmm28
vpermq zmm18, zmm29, zmm0
vprolvq zmm0, zmm3, zmm30
vpermq zmm17, zmm31, zmm0
vprolvq zmm0, zmm16, zmm6
vpermq zmm4, zmm7, zmm0
vprolvq zmm0, zmm20, zmm8
vpermq zmm2, zmm9, zmm0
vmovdqu32 zmm1, zmm2
vpternlogq zmm1, zmm4, zmm19, 0xd2
vpxord zmm3, zmm1, zmmword [0x140031240]
vmovdqu32 zmm0, zmm4
vpternlogq zmm0, zmm19, zmm18, 0xd2
vpternlogq zmm19, zmm18, zmm17, 0xd2
vpternlogq zmm18, zmm17, zmm2, 0xd2
vpternlogq zmm17, zmm2, zmm4, 0xd2
vpunpcklqdq zmm2, zmm3, zmm0
vpunpcklqdq zmm1, zmm19, zmm18
vpunpckhqdq zmm3, zmm3, zmm0
vpermt2q zmm2, zmm10, zmm17
vpermt2q zmm3, zmm11, zmm17
vmovdqu32 zmm4, zmm2
vmovdqu32 zmm16, zmm2
vmovdqu32 zmm5, zmm3
vpunpckhqdq zmm0, zmm19, zmm18
add rdi, 0xa8
vpermt2q zmm2, zmm12, zmm1
vpermt2q zmm4, zmm22, zmm1
vpermt2q zmm16, zmm23, zmm1
vpermt2q zmm5, zmm22, zmm0
vpblendmq zmm1 {k1}, zmm2, zmm17
vpermt2q zmm3, zmm23, zmm0
sub rcx, rdx
jne 0x1400027a0
lea rsi, [rbx + 0xc8]
kmovb k1, r13d
vmovdqu64 zmmword [rbx] {k1}, zmm4
vmovdqu64 zmmword [r9] {k1}, zmm5
vmovdqu64 zmmword [r10] {k1}, zmm16
mov r14, r12
vmovdqu64 zmmword [r11] {k1}, zmm3
vmovdqu64 zmmword [r15] {k1}, zmm1
sub r14, r8
jmp 0x1400037e7
mov rax, rcx
sub rax, r14
add rax, r12
cmp rax, 0xa8
jbe 0x140003589
mov r9d, 0xa8
sub r9b, cl
jmp 0x140003590
movzx r9d, r12b
sub r9b, r14b
movzx r15d, r9b
add r14, r15
mov dword [rsp + 0xf8], r9d
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], r14
movzx esi, r9b
test cl, cl
jne 0x140003734
xor edx, edx
shr esi, 3
cmp esi, 8
jb 0x14000364c
mov r8d, 2
nop dword [rax]
mov rax, qword [rdi + rdx*8]
lea rcx, [rbx + rdx*8]
xor qword [rcx], rax
add edx, 8
lea eax, [r8 - 1]
mov ecx, eax
mov rax, qword [rdi + rax*8]
xor qword [rbx + rcx*8], rax
mov eax, r8d
lea rcx, [rbx + rax*8]
mov rax, qword [rdi + rax*8]
xor qword [rcx], rax
lea eax, [r8 + 1]
mov ecx, eax
mov rax, qword [rdi + rax*8]
xor qword [rbx + rcx*8], rax
lea eax, [r8 + 2]
mov ecx, eax
mov rax, qword [rdi + rax*8]
xor qword [rbx + rcx*8], rax
lea eax, [r8 + 3]
mov ecx, eax
mov rax, qword [rdi + rax*8]
xor qword [rbx + rcx*8], rax
lea eax, [r8 + 4]
mov ecx, eax
mov rax, qword [rdi + rax*8]
xor qword [rbx + rcx*8], rax
lea eax, [r8 + 5]
mov ecx, eax
add r8d, 8
mov rax, qword [rdi + rax*8]
xor qword [rbx + rcx*8], rax
lea eax, [r8 + 6]
cmp eax, esi
jbe 0x1400035d0
lea eax, [rdx + 4]
cmp eax, esi
ja 0x1400036a1
lea r8d, [rdx + 2]
nop word [rax + rax]
mov rax, qword [rdi + rdx*8]
lea rcx, [rbx + rdx*8]
xor qword [rcx], rax
add edx, 4
lea eax, [r8 - 1]
mov ecx, eax
mov rax, qword [rdi + rax*8]
xor qword [rbx + rcx*8], rax
lea rcx, [rbx + r8*8]
mov rax, qword [rdi + r8*8]
xor qword [rcx], rax
lea eax, [r8 + 1]
mov ecx, eax
lea r8d, [r8 + 4]
mov rax, qword [rdi + rax*8]
xor qword [rbx + rcx*8], rax
lea eax, [r8 + 2]
cmp eax, esi
jbe 0x140003660
lea r8d, [rdx + 2]
cmp r8d, esi
ja 0x1400036d5
nop word [rax + rax]
mov rax, qword [rdi + rdx*8]
lea rcx, [rbx + rdx*8]
xor qword [rcx], rax
add edx, 2
lea eax, [r8 - 1]
add r8d, 2
mov ecx, eax
mov rax, qword [rdi + rax*8]
xor qword [rbx + rcx*8], rax
cmp r8d, esi
jbe 0x1400036b0
cmp edx, esi
jae 0x1400036e4
mov rax, qword [rdi + rdx*8]
lea rcx, [rbx + rdx*8]
xor qword [rcx], rax
test r9b, 7
je 0x1400037c7
mov rdx, r15
mov qword [rsp + 0x20], 0
and rdx, r10
lea rcx, [rsp + 0x20]
mov r8, r15
add rdx, rdi
and r8d, 7
vzeroupper
call fcn.140010830
mov r9d, dword [rsp + 0xf8]
mov rax, r15
shr rax, 3
lea rcx, [rbx + rax*8]
mov rax, qword [rsp + 0x20]
xor qword [rcx], rax
jmp 0x1400037c7
mov r15d, ecx
mov r12d, ecx
shr r12d, 3
and r15d, 7
mov r13, rdi
test r9b, r9b
je 0x1400037b4
nop word [rax + rax]
mov ecx, 8
mov eax, esi
sub ecx, r15d
cmp ecx, esi
cmovbe eax, ecx
mov r14d, eax
test eax, eax
je 0x140003799
mov qword [rsp + 0x20], 0
lea rcx, [rsp + 0x20]
mov r8d, r14d
mov rdx, r13
vzeroupper
call fcn.140010830
lea ecx, [r15*8]
shlx rax, qword [rsp + 0x20], rcx
xor qword [rbx + r12*8], rax
lea rdx, [rbx + r12*8]
inc r12d
xor r15d, r15d
add r13, r14
sub esi, r14d
jne 0x140003750
mov r14, qword [rsp + 0x30]
mov r9d, dword [rsp + 0xf8]
mov r12, qword [rsp + 0xf0]
mov r13d, 0x1f
mov r15, qword [rsp + 0x28]
lea rsi, [rbx + 0xc8]
add rdi, r15
add byte [rsi], r9b
cmp byte [rsi], 0xa8
jne 0x1400037e7
mov rcx, rbx
vzeroupper
call fcn.140001750
mov byte [rsi], 0
movabs rdx, 0x8618618618618619
mov r10d, 0xfffffff8
cmp r14, r12
jb 0x140002665
vmovaps xmm12, xmmword [rsp + 0x40]
vmovaps xmm11, xmmword [rsp + 0x50]
vmovaps xmm10, xmmword [rsp + 0x60]
vmovaps xmm9, xmmword [rsp + 0x70]
vmovaps xmm8, xmmword [rsp + 0x80]
vmovaps xmm7, xmmword [rsp + 0x90]
vmovaps xmm6, xmmword [rsp + 0xa0]
mov r15, qword [rsp + 0xb0]
mov r13, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xe0]
vzeroupper
add rsp, 0xb8
pop r14
pop r12
pop rdi
pop rbx
ret