Function at 0x140135ab0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xa0
movdqa xmmword [rsp + 0x90], xmm15
movaps xmmword [rsp + 0x80], xmm14
movaps xmmword [rsp + 0x70], xmm13
movdqa xmmword [rsp + 0x60], xmm12
movdqa xmmword [rsp + 0x50], xmm11
movdqa xmmword [rsp + 0x40], xmm10
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x10], xmm7
movdqa xmmword [rsp], xmm6
lea r9, [rdx - 1]
cmp r9, 0x400
jae 0x140135b33
movdqa xmm3, xmmword [0x1404bcc20]
movdqa xmm13, xmmword [0x1404bcc30]
movdqa xmm14, xmmword [0x1404bcc40]
movdqa xmm2, xmmword [0x1404bcc50]
jmp 0x140135d2a
mov r8, r9
shr r8, 0xa
movdqa xmm3, xmmword [0x1404bcc20]
movdqa xmm2, xmmword [0x1404bcc50]
movdqa xmm14, xmmword [0x1404bcc40]
movdqa xmm13, xmmword [0x1404bcc30]
xor r10d, r10d
lea r11, [0x1404bcd40]
movdqa xmm12, xmmword [0x1404bcc70]
movdqa xmm10, xmmword [0x1404bcc90]
movdqa xmm11, xmmword [0x1404bcca0]
mov rax, rcx
nop word cs:[rax + rax]
xor esi, esi
nop word cs:[rax + rax]
prefetcht0 byte [rax + rsi*8 + 0x140]
movdqu xmm4, xmmword [rax + rsi*8]
movdqu xmm5, xmmword [rax + rsi*8 + 0x10]
movdqu xmm0, xmmword [rax + rsi*8 + 0x20]
movdqu xmm15, xmmword [rax + rsi*8 + 0x30]
movdqu xmm1, xmmword [rsi + r11]
movdqu xmm6, xmmword [rsi + r11 + 0x10]
movdqu xmm8, xmmword [rsi + r11 + 0x20]
movdqu xmm7, xmmword [rsi + r11 + 0x30]
pxor xmm1, xmm4
pshufd xmm9, xmm1, 0xf5
pmuludq xmm9, xmm1
pshufd xmm1, xmm4, 0x4e
paddq xmm3, xmm1
paddq xmm3, xmm9
pxor xmm6, xmm5
pshufd xmm1, xmm6, 0xf5
pmuludq xmm1, xmm6
pshufd xmm4, xmm5, 0x4e
paddq xmm2, xmm4
paddq xmm2, xmm1
pxor xmm8, xmm0
pshufd xmm1, xmm8, 0xf5
pmuludq xmm1, xmm8
pshufd xmm0, xmm0, 0x4e
paddq xmm14, xmm0
paddq xmm14, xmm1
pxor xmm7, xmm15
pshufd xmm0, xmm7, 0xf5
pmuludq xmm0, xmm7
pshufd xmm1, xmm15, 0x4e
paddq xmm13, xmm1
paddq xmm13, xmm0
add rsi, 8
cmp rsi, 0x80
jne 0x140135ba0
movdqa xmm0, xmm3
psrlq xmm0, 0x2f
pxor xmm0, xmm3
pxor xmm0, xmmword [0x1404bcc60]
pshufd xmm3, xmm0, 0x31
pmuludq xmm0, xmm12
pmuludq xmm3, xmm12
psllq xmm3, 0x20
paddq xmm3, xmm0
movdqa xmm0, xmm2
psrlq xmm0, 0x2f
pxor xmm0, xmm2
pxor xmm0, xmmword [0x1404bcc80]
pshufd xmm2, xmm0, 0x31
pmuludq xmm0, xmm12
pmuludq xmm2, xmm12
psllq xmm2, 0x20
paddq xmm2, xmm0
movdqa xmm0, xmm14
psrlq xmm0, 0x2f
pxor xmm0, xmm14
pxor xmm0, xmm10
pshufd xmm14, xmm0, 0x31
pmuludq xmm0, xmm12
pmuludq xmm14, xmm12
psllq xmm14, 0x20
paddq xmm14, xmm0
movdqa xmm0, xmm13
psrlq xmm0, 0x2f
pxor xmm0, xmm13
pxor xmm0, xmm11
pshufd xmm13, xmm0, 0x31
pmuludq xmm0, xmm12
pmuludq xmm13, xmm12
psllq xmm13, 0x20
paddq xmm13, xmm0
inc r10
add rax, 0x400
cmp r10, r8
jne 0x140135b90
mov r8d, r9d
and r8d, 0x3ff
cmp r8, 0x40
jae 0x140135d51
movdqa xmm5, xmm13
movdqa xmm4, xmm14
movdqa xmm6, xmm2
movdqa xmm7, xmm3
jmp 0x140135e3e
and r9, 0xfffffffffffffc00
shr r8, 6
add r9, rcx
shl r8, 3
xor eax, eax
lea r10, [0x1404bcd40]
nop dword [rax]
prefetcht0 byte [r9 + rax*8 + 0x140]
movdqu xmm7, xmmword [r9 + rax*8]
movdqu xmm10, xmmword [r9 + rax*8 + 0x10]
movdqu xmm9, xmmword [r9 + rax*8 + 0x20]
movdqu xmm8, xmmword [r9 + rax*8 + 0x30]
movdqu xmm6, xmmword [rax + r10]
movdqu xmm4, xmmword [rax + r10 + 0x10]
movdqu xmm1, xmmword [rax + r10 + 0x20]
movdqu xmm5, xmmword [rax + r10 + 0x30]
pxor xmm6, xmm7
pshufd xmm0, xmm6, 0xf5
pmuludq xmm0, xmm6
pshufd xmm7, xmm7, 0x4e
paddq xmm7, xmm3
paddq xmm7, xmm0
pxor xmm4, xmm10
pshufd xmm0, xmm4, 0xf5
pmuludq xmm0, xmm4
pshufd xmm6, xmm10, 0x4e
paddq xmm6, xmm2
paddq xmm6, xmm0
pxor xmm1, xmm9
pshufd xmm0, xmm1, 0xf5
pmuludq xmm0, xmm1
pshufd xmm4, xmm9, 0x4e
paddq xmm4, xmm14
paddq xmm4, xmm0
pxor xmm5, xmm8
pshufd xmm0, xmm5, 0xf5
pmuludq xmm0, xmm5
pshufd xmm5, xmm8, 0x4e
paddq xmm5, xmm13
paddq xmm5, xmm0
add rax, 8
movdqa xmm13, xmm5
movdqa xmm14, xmm4
movdqa xmm2, xmm6
movdqa xmm3, xmm7
cmp r8, rax
jne 0x140135d70
movdqu xmm0, xmmword [rcx + rdx - 0x40]
movdqu xmm1, xmmword [rcx + rdx - 0x30]
movdqu xmm9, xmmword [rcx + rdx - 0x20]
movdqu xmm8, xmmword [rcx + rdx - 0x10]
pshufd xmm2, xmm0, 0x4e
pxor xmm0, xmmword [0x1404bccb0]
pshufd xmm3, xmm0, 0xf5
pmuludq xmm3, xmm0
paddq xmm3, xmm2
paddq xmm3, xmm7
pshufd xmm0, xmm1, 0x4e
pxor xmm1, xmmword [0x1404bccc0]
pshufd xmm2, xmm1, 0xf5
pmuludq xmm2, xmm1
paddq xmm2, xmm0
paddq xmm2, xmm6
pshufd xmm0, xmm9, 0x4e
pxor xmm9, xmmword [0x1404bccd0]
pshufd xmm1, xmm9, 0xf5
pmuludq xmm1, xmm9
paddq xmm1, xmm0
pshufd xmm6, xmm8, 0x4e
pxor xmm8, xmmword [0x1404bcce0]
paddq xmm1, xmm4
pshufd xmm0, xmm8, 0xf5
pmuludq xmm0, xmm8
paddq xmm0, xmm6
paddq xmm0, xmm5
movabs rsi, 0x9e3779b185ebca87
pxor xmm3, xmmword [0x1404bccf0]
imul rsi, rdx
movq rcx, xmm3
pshufd xmm3, xmm3, 0xee
movq rax, xmm3
mul rcx
mov rcx, rax
xor rcx, rdx
pxor xmm2, xmmword [0x1404bcd00]
add rcx, rsi
movq rdx, xmm2
pshufd xmm2, xmm2, 0xee
movq rax, xmm2
mul rdx
mov r8, rax
xor r8, rdx
pxor xmm1, xmmword [0x1404bcd10]
add r8, rcx
movq rcx, xmm1
pshufd xmm1, xmm1, 0xee
movq rax, xmm1
mul rcx
mov rcx, rax
xor rcx, rdx
pxor xmm0, xmmword [0x1404bcd20]
add rcx, r8
movq rdx, xmm0
pshufd xmm0, xmm0, 0xee
movq rax, xmm0
mul rdx
xor rax, rdx
add rax, rcx
mov rcx, rax
shr rcx, 0x25
xor rax, rcx
movabs rcx, 0x165667919e3779f9
imul rax, rcx
mov rcx, rax
shr rcx, 0x20
xor rax, rcx
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
movaps xmm15, xmmword [rsp + 0x90]
add rsp, 0xa0
pop rsi
ret