Function at 0x1400ff870
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x90
movaps xmmword [rsp + 0x80], xmm12
movaps xmmword [rsp + 0x70], xmm11
movdqa xmmword [rsp + 0x60], xmm10
movdqa xmmword [rsp + 0x50], xmm9
movdqa xmmword [rsp + 0x40], xmm8
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmmword [rsp + 0x20], xmm6
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
movaps xmm0, xmmword [r8]
movaps xmm1, xmmword [r8 + 0x10]
movaps xmm2, xmmword [r8 + 0x20]
xorps xmm0, xmmword [rcx]
movaps xmm3, xmmword [r8 + 0x30]
movaps xmmword [r8], xmm0
xorps xmm1, xmmword [rcx + 0x10]
movaps xmmword [r8 + 0x10], xmm1
xorps xmm2, xmmword [rcx + 0x20]
movaps xmmword [r8 + 0x20], xmm2
xorps xmm3, xmmword [rcx + 0x30]
movaps xmmword [r8 + 0x30], xmm3
movaps xmm0, xmmword [r8 + 0x40]
xorps xmm0, xmmword [rcx + 0x40]
movaps xmmword [r8 + 0x40], xmm0
movaps xmm0, xmmword [r8 + 0x50]
xorps xmm0, xmmword [rcx + 0x50]
movaps xmmword [r8 + 0x50], xmm0
movaps xmm0, xmmword [r8 + 0x60]
xorps xmm0, xmmword [rcx + 0x60]
movaps xmmword [r8 + 0x60], xmm0
movaps xmm0, xmmword [r8 + 0x70]
xorps xmm0, xmmword [rcx + 0x70]
movaps xmmword [r8 + 0x70], xmm0
cmp rdx, 2
jb 0x1400ffc1e
lea r14, [rdi - 1]
lea r15, [rbx + 0xf0]
movdqa xmm6, xmmword [0x1401253a0]
movdqa xmm7, xmmword [0x1401253b0]
movdqa xmm8, xmmword [0x1401253c0]
movdqa xmm9, xmmword [0x1401253d0]
mov rcx, rsi
call fcn.1401004d0
movdqa xmm3, xmmword [rsi]
movdqa xmm2, xmmword [rsi + 0x10]
movdqa xmm1, xmmword [rsi + 0x20]
movdqa xmm0, xmmword [rsi + 0x30]
movdqa xmm4, xmm3
pand xmm4, xmm6
pshufd xmm5, xmm3, 0x39
pand xmm5, xmm7
por xmm5, xmm4
pshufd xmm4, xmm3, 0x4e
pand xmm3, xmm8
movdqa xmm10, xmm3
pslldq xmm10, 4
psrldq xmm3, 0xc
pand xmm4, xmm9
por xmm4, xmm10
por xmm4, xmm3
por xmm4, xmm5
movdqa xmmword [rsi], xmm4
movdqa xmm3, xmm2
pand xmm3, xmm6
pshufd xmm4, xmm2, 0x39
pand xmm4, xmm7
por xmm4, xmm3
pshufd xmm3, xmm2, 0x4e
pand xmm2, xmm8
movdqa xmm5, xmm2
pslldq xmm5, 4
psrldq xmm2, 0xc
pand xmm3, xmm9
por xmm3, xmm5
por xmm3, xmm2
por xmm3, xmm4
movdqa xmmword [rsi + 0x10], xmm3
movdqa xmm2, xmm1
pand xmm2, xmm6
pshufd xmm3, xmm1, 0x39
pand xmm3, xmm7
por xmm3, xmm2
pshufd xmm2, xmm1, 0x4e
pand xmm1, xmm8
movdqa xmm4, xmm1
pslldq xmm4, 4
psrldq xmm1, 0xc
pand xmm2, xmm9
por xmm2, xmm4
por xmm2, xmm1
por xmm2, xmm3
movdqa xmmword [rsi + 0x20], xmm2
movdqa xmm1, xmm0
pand xmm1, xmm6
pshufd xmm2, xmm0, 0x39
pand xmm2, xmm7
por xmm2, xmm1
pshufd xmm1, xmm0, 0x4e
pand xmm0, xmm8
movdqa xmm3, xmm0
pslldq xmm3, 4
psrldq xmm0, 0xc
pand xmm1, xmm9
por xmm1, xmm3
por xmm1, xmm0
por xmm1, xmm2
movdqa xmmword [rsi + 0x30], xmm1
movdqa xmm0, xmmword [rsi + 0x40]
movdqa xmm1, xmm0
pand xmm1, xmm6
pshufd xmm2, xmm0, 0x39
pand xmm2, xmm7
por xmm2, xmm1
pshufd xmm1, xmm0, 0x4e
pand xmm0, xmm8
movdqa xmm3, xmm0
pslldq xmm3, 4
psrldq xmm0, 0xc
pand xmm1, xmm9
por xmm1, xmm3
por xmm1, xmm0
por xmm1, xmm2
movdqa xmmword [rsi + 0x40], xmm1
movdqa xmm0, xmmword [rsi + 0x50]
movdqa xmm1, xmm0
pand xmm1, xmm6
pshufd xmm2, xmm0, 0x39
pand xmm2, xmm7
por xmm2, xmm1
pshufd xmm1, xmm0, 0x4e
pand xmm0, xmm8
movdqa xmm3, xmm0
pslldq xmm3, 4
psrldq xmm0, 0xc
pand xmm1, xmm9
por xmm1, xmm3
por xmm1, xmm0
por xmm1, xmm2
movdqa xmmword [rsi + 0x50], xmm1
movdqa xmm0, xmmword [rsi + 0x60]
movdqa xmm1, xmm0
pand xmm1, xmm6
pshufd xmm2, xmm0, 0x39
pand xmm2, xmm7
por xmm2, xmm1
pshufd xmm1, xmm0, 0x4e
pand xmm0, xmm8
movdqa xmm3, xmm0
pslldq xmm3, 4
psrldq xmm0, 0xc
pand xmm1, xmm9
por xmm1, xmm3
por xmm1, xmm0
por xmm1, xmm2
movdqa xmmword [rsi + 0x60], xmm1
movdqa xmm0, xmmword [rsi + 0x70]
movdqa xmm1, xmm0
pand xmm1, xmm6
pshufd xmm2, xmm0, 0x39
pand xmm2, xmm7
por xmm2, xmm1
pshufd xmm1, xmm0, 0x4e
pand xmm0, xmm8
movdqa xmm3, xmm0
pslldq xmm3, 4
psrldq xmm0, 0xc
pand xmm1, xmm9
por xmm1, xmm3
por xmm1, xmm0
por xmm1, xmm2
movdqa xmmword [rsi + 0x70], xmm1
mov rcx, rsi
call fcn.1401009b0
movaps xmm0, xmmword [rsi]
movaps xmm1, xmmword [rsi + 0x10]
movaps xmm2, xmmword [rsi + 0x20]
xorps xmm0, xmmword [r15 - 0x70]
movaps xmm3, xmmword [rsi + 0x30]
movaps xmmword [rsi], xmm0
xorps xmm1, xmmword [r15 - 0x60]
movaps xmmword [rsi + 0x10], xmm1
xorps xmm2, xmmword [r15 - 0x50]
movaps xmmword [rsi + 0x20], xmm2
xorps xmm3, xmmword [r15 - 0x40]
movaps xmmword [rsi + 0x30], xmm3
movaps xmm0, xmmword [rsi + 0x40]
xorps xmm0, xmmword [r15 - 0x30]
movaps xmmword [rsi + 0x40], xmm0
movaps xmm0, xmmword [rsi + 0x50]
xorps xmm0, xmmword [r15 - 0x20]
movaps xmmword [rsi + 0x50], xmm0
movaps xmm0, xmmword [rsi + 0x60]
xorps xmm0, xmmword [r15 - 0x10]
movaps xmmword [rsi + 0x60], xmm0
movaps xmm0, xmmword [rsi + 0x70]
xorps xmm0, xmmword [r15]
movaps xmmword [rsi + 0x70], xmm0
sub r15, 0xffffffffffffff80
dec r14
jne 0x1400ff95b
mov rcx, rsi
call fcn.1401004d0
movdqa xmm1, xmmword [0x1401253a0]
movdqa xmm5, xmmword [rsi]
movdqa xmm6, xmmword [rsi + 0x10]
movdqa xmm8, xmmword [rsi + 0x20]
movdqa xmm7, xmmword [rsi + 0x30]
movdqa xmm0, xmm5
pand xmm0, xmm1
pshufd xmm9, xmm5, 0x39
movdqa xmm3, xmmword [0x1401253b0]
pand xmm9, xmm3
por xmm9, xmm0
movdqa xmm2, xmmword [0x1401253c0]
pshufd xmm0, xmm5, 0x4e
pand xmm5, xmm2
movdqa xmm10, xmm5
pslldq xmm10, 4
psrldq xmm5, 0xc
movdqa xmm4, xmmword [0x1401253d0]
pand xmm0, xmm4
por xmm0, xmm10
por xmm0, xmm5
por xmm0, xmm9
movdqa xmmword [rsi], xmm0
movdqa xmm5, xmm6
pand xmm5, xmm1
pshufd xmm9, xmm6, 0x39
pand xmm9, xmm3
por xmm9, xmm5
pshufd xmm5, xmm6, 0x4e
pand xmm6, xmm2
movdqa xmm10, xmm6
pslldq xmm10, 4
psrldq xmm6, 0xc
pand xmm5, xmm4
por xmm5, xmm10
por xmm5, xmm6
por xmm5, xmm9
movdqa xmmword [rsi + 0x10], xmm5
movdqa xmm6, xmm8
pand xmm6, xmm1
pshufd xmm9, xmm8, 0x39
pand xmm9, xmm3
por xmm9, xmm6
pshufd xmm6, xmm8, 0x4e
pand xmm8, xmm2
movdqa xmm10, xmm8
pslldq xmm10, 4
psrldq xmm8, 0xc
pand xmm6, xmm4
por xmm6, xmm10
por xmm6, xmm8
por xmm6, xmm9
movdqa xmmword [rsi + 0x20], xmm6
movdqa xmm8, xmm7
pand xmm8, xmm1
pshufd xmm9, xmm7, 0x39
pand xmm9, xmm3
por xmm9, xmm8
pshufd xmm8, xmm7, 0x4e
pand xmm7, xmm2
movdqa xmm10, xmm7
pslldq xmm10, 4
psrldq xmm7, 0xc
pand xmm8, xmm4
por xmm8, xmm10
por xmm8, xmm7
por xmm8, xmm9
movdqa xmmword [rsi + 0x30], xmm8
movdqa xmm8, xmmword [rsi + 0x40]
movdqa xmm7, xmm8
pand xmm7, xmm1
pshufd xmm9, xmm8, 0x39
pand xmm9, xmm3
por xmm9, xmm7
pshufd xmm7, xmm8, 0x4e
pand xmm8, xmm2
movdqa xmm10, xmm8
pslldq xmm10, 4
psrldq xmm8, 0xc
pand xmm7, xmm4
por xmm7, xmm10
por xmm7, xmm8
por xmm7, xmm9
movdqa xmmword [rsi + 0x40], xmm7
movdqa xmm9, xmmword [rsi + 0x50]
movdqa xmm8, xmm9
pand xmm8, xmm1
pshufd xmm10, xmm9, 0x39
pand xmm10, xmm3
por xmm10, xmm8
pshufd xmm8, xmm9, 0x4e
pand xmm9, xmm2
movdqa xmm11, xmm9
pslldq xmm11, 4
psrldq xmm9, 0xc
pand xmm8, xmm4
por xmm8, xmm11
por xmm8, xmm9
por xmm8, xmm10
movdqa xmmword [rsi + 0x50], xmm8
movdqa xmm10, xmmword [rsi + 0x60]
movdqa xmm9, xmm10
pand xmm9, xmm1
pshufd xmm11, xmm10, 0x39
pand xmm11, xmm3
por xmm11, xmm9
pshufd xmm9, xmm10, 0x4e
pand xmm10, xmm2
movdqa xmm12, xmm10
pslldq xmm12, 4
psrldq xmm10, 0xc
pand xmm9, xmm4
por xmm9, xmm12
por xmm9, xmm10
por xmm9, xmm11
movdqa xmmword [rsi + 0x60], xmm9
movdqa xmm10, xmmword [rsi + 0x70]
pand xmm1, xmm10
pshufd xmm11, xmm10, 0x39
pand xmm11, xmm3
por xmm11, xmm1
pand xmm2, xmm10
movdqa xmm3, xmm2
pslldq xmm3, 4
psrldq xmm2, 0xc
pshufd xmm1, xmm10, 0x4e
pand xmm1, xmm4
por xmm1, xmm3
por xmm1, xmm2
por xmm1, xmm11
movdqa xmmword [rsi + 0x70], xmm1
shl rdi, 7
pxor xmm0, xmmword [rbx + rdi]
movdqa xmmword [rsi], xmm0
pxor xmm5, xmmword [rbx + rdi + 0x10]
movdqa xmmword [rsi + 0x10], xmm5
pxor xmm6, xmmword [rbx + rdi + 0x20]
movdqa xmmword [rsi + 0x20], xmm6
movaps xmm0, xmmword [rsi + 0x30]
xorps xmm0, xmmword [rbx + rdi + 0x30]
movaps xmmword [rsi + 0x30], xmm0
pxor xmm7, xmmword [rbx + rdi + 0x40]
movdqa xmmword [rsi + 0x40], xmm7
pxor xmm8, xmmword [rbx + rdi + 0x50]
movdqa xmmword [rsi + 0x50], xmm8
pxor xmm9, xmmword [rbx + rdi + 0x60]
movdqa xmmword [rsi + 0x60], xmm9
pxor xmm1, xmmword [rbx + rdi + 0x70]
movdqa xmmword [rsi + 0x70], xmm1
movaps xmm6, xmmword [rsp + 0x20]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm10, xmmword [rsp + 0x60]
movaps xmm11, xmmword [rsp + 0x70]
movaps xmm12, xmmword [rsp + 0x80]
add rsp, 0x90
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret