Function at 0x14013bc80
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x188
movdqa xmmword [rsp + 0x170], xmm15
movdqa xmmword [rsp + 0x160], xmm14
movaps xmmword [rsp + 0x150], xmm13
movdqa xmmword [rsp + 0x140], xmm12
movdqa xmmword [rsp + 0x130], xmm11
movdqa xmmword [rsp + 0x120], xmm10
movdqa xmmword [rsp + 0x110], xmm9
movdqa xmmword [rsp + 0x100], xmm8
movdqa xmmword [rsp + 0xf0], xmm7
movdqa xmmword [rsp + 0xe0], xmm6
mov r14, rcx
test r9, r9
je 0x14013be1a
movq xmm0, r9
neg r9
movq xmm1, r9
punpcklqdq xmm0, xmm1
mov rax, rsp
movdqa xmm1, xmmword [0x1404bcc00]
paddq xmm1, xmm0
movdqa xmmword [rax], xmm1
movdqa xmm1, xmmword [0x1404bcc10]
paddq xmm1, xmm0
movdqa xmmword [rax + 0x10], xmm1
movdqa xmm1, xmmword [0x1404bcbe0]
paddq xmm1, xmm0
movdqa xmmword [rax + 0x20], xmm1
movdqa xmm1, xmmword [0x1404bcbf0]
paddq xmm1, xmm0
movdqa xmmword [rax + 0x30], xmm1
movdqa xmm1, xmmword [0x1404bcbc0]
paddq xmm1, xmm0
movdqa xmmword [rax + 0x40], xmm1
movdqa xmm1, xmmword [0x1404bcbd0]
paddq xmm1, xmm0
movdqa xmmword [rax + 0x50], xmm1
movdqa xmm1, xmmword [0x1404bcba0]
paddq xmm1, xmm0
movdqa xmmword [rax + 0x60], xmm1
movdqa xmm1, xmmword [0x1404bcbb0]
paddq xmm1, xmm0
movdqa xmmword [rax + 0x70], xmm1
movdqa xmm1, xmmword [0x1404bcc60]
paddq xmm1, xmm0
movdqa xmmword [rax + 0x80], xmm1
movdqa xmm1, xmmword [0x1404bcc80]
paddq xmm1, xmm0
movdqa xmmword [rax + 0x90], xmm1
movdqa xmm1, xmmword [0x1404bcc90]
paddq xmm1, xmm0
paddq xmm0, xmmword [0x1404bcca0]
movdqa xmmword [rax + 0xa0], xmm1
movdqa xmmword [rax + 0xb0], xmm0
lea rax, [r8 - 1]
cmp rax, 0x400
jae 0x14013be51
movdqa xmm3, xmmword [0x1404bcc20]
movdqa xmm13, xmmword [0x1404bcc30]
movdqa xmm15, xmmword [0x1404bcc40]
movdqa xmm2, xmmword [0x1404bcc50]
jmp 0x14013c05a
lea rax, [r8 - 1]
cmp rax, 0x400
jae 0x14013c37d
movdqa xmm3, xmmword [0x1404bcc20]
movdqa xmm13, xmmword [0x1404bcc30]
movdqa xmm14, xmmword [0x1404bcc40]
movdqa xmm2, xmmword [0x1404bcc50]
jmp 0x14013c569
mov rcx, rax
shr rcx, 0xa
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
movdqa xmm0, xmmword [rsp + 0x90]
movdqa xmmword [rsp + 0xc0], xmm0
movdqa xmm10, xmmword [rsp + 0xa0]
movdqa xmm11, xmmword [rsp + 0xb0]
movdqa xmm3, xmmword [0x1404bcc20]
movdqa xmm2, xmmword [0x1404bcc50]
movdqa xmm15, xmmword [0x1404bcc40]
movdqa xmm13, xmmword [0x1404bcc30]
xor ebx, ebx
movdqa xmm12, xmmword [0x1404bcc70]
mov rdi, rdx
nop
xor ebp, ebp
nop word cs:[rax + rax]
prefetcht0 byte [rdi + rbp*8 + 0x140]
movdqu xmm7, xmmword [rdi + rbp*8]
movdqu xmm4, xmmword [rdi + rbp*8 + 0x10]
movdqu xmm0, xmmword [rdi + rbp*8 + 0x20]
movdqu xmm14, xmmword [rdi + rbp*8 + 0x30]
movdqu xmm5, xmmword [rsp + rbp]
movdqu xmm1, xmmword [rsp + rbp + 0x10]
movdqu xmm8, xmmword [rsp + rbp + 0x20]
movdqu xmm6, xmmword [rsp + rbp + 0x30]
pxor xmm5, xmm7
pshufd xmm9, xmm5, 0xf5
pmuludq xmm9, xmm5
pshufd xmm5, xmm7, 0x4e
paddq xmm3, xmm5
paddq xmm3, xmm9
pxor xmm1, xmm4
pshufd xmm5, xmm1, 0xf5
pmuludq xmm5, xmm1
pshufd xmm1, xmm4, 0x4e
paddq xmm2, xmm1
paddq xmm2, xmm5
pxor xmm8, xmm0
pshufd xmm1, xmm8, 0xf5
pmuludq xmm1, xmm8
pshufd xmm0, xmm0, 0x4e
paddq xmm15, xmm0
paddq xmm15, xmm1
pxor xmm6, xmm14
pshufd xmm0, xmm6, 0xf5
pmuludq xmm0, xmm6
pshufd xmm1, xmm14, 0x4e
paddq xmm13, xmm1
paddq xmm13, xmm0
add rbp, 8
cmp rbp, 0x80
jne 0x14013bed0
movdqa xmm0, xmm3
psrlq xmm0, 0x2f
pxor xmm0, xmmword [rsp + 0xd0]
pxor xmm0, xmm3
pshufd xmm3, xmm0, 0x31
pmuludq xmm0, xmm12
pmuludq xmm3, xmm12
psllq xmm3, 0x20
paddq xmm3, xmm0
movdqa xmm0, xmm2
psrlq xmm0, 0x2f
pxor xmm0, xmmword [rsp + 0xc0]
pxor xmm0, xmm2
pshufd xmm2, xmm0, 0x31
pmuludq xmm0, xmm12
pmuludq xmm2, xmm12
psllq xmm2, 0x20
paddq xmm2, xmm0
movdqa xmm0, xmm15
psrlq xmm0, 0x2f
pxor xmm0, xmm10
pxor xmm0, xmm15
pshufd xmm15, xmm0, 0x31
pmuludq xmm0, xmm12
pmuludq xmm15, xmm12
psllq xmm15, 0x20
paddq xmm15, xmm0
movdqa xmm0, xmm13
psrlq xmm0, 0x2f
pxor xmm0, xmm11
pxor xmm0, xmm13
pshufd xmm13, xmm0, 0x31
pmuludq xmm0, xmm12
pmuludq xmm13, xmm12
psllq xmm13, 0x20
paddq xmm13, xmm0
inc rbx
add rdi, 0x400
cmp rbx, rcx
jne 0x14013bec0
mov ecx, eax
and ecx, 0x3ff
cmp rcx, 0x40
jae 0x14013c07f
movdqa xmm4, xmm13
movdqa xmm5, xmm15
movdqa xmm6, xmm2
movdqa xmm7, xmm3
jmp 0x14013c168
and rax, 0xfffffffffffffc00
shr rcx, 6
add rax, rdx
shl rcx, 3
xor ebx, ebx
nop word cs:[rax + rax]
prefetcht0 byte [rax + rbx*8 + 0x140]
movdqu xmm7, xmmword [rax + rbx*8]
movdqu xmm10, xmmword [rax + rbx*8 + 0x10]
movdqu xmm9, xmmword [rax + rbx*8 + 0x20]
movdqu xmm8, xmmword [rax + rbx*8 + 0x30]
movdqu xmm6, xmmword [rsp + rbx]
movdqu xmm5, xmmword [rsp + rbx + 0x10]
movdqu xmm1, xmmword [rsp + rbx + 0x20]
movdqu xmm4, xmmword [rsp + rbx + 0x30]
pxor xmm6, xmm7
pshufd xmm0, xmm6, 0xf5
pmuludq xmm0, xmm6
pshufd xmm7, xmm7, 0x4e
paddq xmm7, xmm3
paddq xmm7, xmm0
pxor xmm5, xmm10
pshufd xmm0, xmm5, 0xf5
pmuludq xmm0, xmm5
pshufd xmm6, xmm10, 0x4e
paddq xmm6, xmm2
paddq xmm6, xmm0
pxor xmm1, xmm9
pshufd xmm0, xmm1, 0xf5
pmuludq xmm0, xmm1
pshufd xmm5, xmm9, 0x4e
paddq xmm5, xmm15
paddq xmm5, xmm0
pxor xmm4, xmm8
pshufd xmm0, xmm4, 0xf5
pmuludq xmm0, xmm4
pshufd xmm4, xmm8, 0x4e
paddq xmm4, xmm13
paddq xmm4, xmm0
add rbx, 8
movdqa xmm13, xmm4
movdqa xmm15, xmm5
movdqa xmm2, xmm6
movdqa xmm3, xmm7
cmp rcx, rbx
jne 0x14013c0a0
movdqu xmm11, xmmword [rdx + r8 - 0x40]
movdqu xmm10, xmmword [rdx + r8 - 0x30]
movdqu xmm9, xmmword [rdx + r8 - 0x20]
movdqu xmm8, xmmword [rdx + r8 - 0x10]
movdqu xmm3, xmmword [rsp + 0x79]
movdqu xmm2, xmmword [rsp + 0x89]
movdqu xmm1, xmmword [rsp + 0x99]
movdqu xmm12, xmmword [rsp + 0xa9]
pxor xmm3, xmm11
pshufd xmm0, xmm3, 0xf5
pmuludq xmm0, xmm3
pshufd xmm3, xmm11, 0x4e
paddq xmm3, xmm0
paddq xmm3, xmm7
pxor xmm2, xmm10
pshufd xmm0, xmm2, 0xf5
pmuludq xmm0, xmm2
pshufd xmm2, xmm10, 0x4e
paddq xmm2, xmm0
paddq xmm2, xmm6
pxor xmm1, xmm9
pshufd xmm0, xmm1, 0xf5
pmuludq xmm0, xmm1
pshufd xmm1, xmm9, 0x4e
paddq xmm1, xmm0
paddq xmm1, xmm5
pxor xmm12, xmm8
pshufd xmm5, xmm12, 0xf5
pmuludq xmm5, xmm12
pshufd xmm0, xmm8, 0x4e
paddq xmm0, xmm5
paddq xmm0, xmm4
movabs rbp, 0x9e3779b185ebca87
imul rbp, r8
movq r9, xmm3
pshufd xmm3, xmm3, 0xee
movq r10, xmm3
mov rax, qword [rsp + 0x13]
xor rax, r10
mov rcx, qword [rsp + 0xb]
xor rcx, r9
mul rcx
mov rcx, rdx
xor rcx, rax
add rcx, rbp
movq r15, xmm2
pshufd xmm2, xmm2, 0xee
movq r11, xmm2
mov rax, qword [rsp + 0x23]
xor rax, r11
mov rsi, qword [rsp + 0x1b]
xor rsi, r15
mul rsi
mov rdi, rdx
xor rdi, rax
add rdi, rcx
movq r12, xmm1
pshufd xmm1, xmm1, 0xee
movq rcx, xmm1
mov rax, qword [rsp + 0x33]
xor rax, rcx
mov rsi, qword [rsp + 0x2b]
xor rsi, r12
mul rsi
mov rbx, rdx
xor rbx, rax
add rbx, rdi
movq r13, xmm0
pshufd xmm0, xmm0, 0xee
movq rsi, xmm0
mov rax, qword [rsp + 0x43]
xor rax, rsi
mov rdi, qword [rsp + 0x3b]
xor rdi, r13
mul rdi
xor rdx, rax
add rdx, rbx
mov rax, rdx
shr rax, 0x25
xor rax, rdx
movabs rbp, 0x165667919e3779f9
imul rax, rbp
mov rdx, rax
shr rdx, 0x20
xor rdx, rax
mov qword [r14], rdx
movabs rdi, 0xc2b2ae3d27d4eb4f
imul rdi, r8
not rdi
xor r10, qword [rsp + 0x7d]
xor r9, qword [rsp + 0x75]
mov rax, r10
mul r9
mov rbx, rdx
xor rbx, rax
xor r11, qword [rsp + 0x8d]
add rbx, rdi
xor r15, qword [rsp + 0x85]
mov rax, r11
mul r15
mov rdi, rdx
xor rcx, qword [rsp + 0x9d]
xor r12, qword [rsp + 0x95]
xor rdi, rax
mov rax, rcx
mul r12
mov rcx, rdx
add rdi, rbx
xor rcx, rax
xor rsi, qword [rsp + 0xad]
xor r13, qword [rsp + 0xa5]
add rcx, rdi
mov rax, rsi
mul r13
xor rdx, rax
add rdx, rcx
jmp 0x14013c8be
mov rcx, rax
shr rcx, 0xa
movdqa xmm3, xmmword [0x1404bcc20]
movdqa xmm2, xmmword [0x1404bcc50]
movdqa xmm14, xmmword [0x1404bcc40]
movdqa xmm13, xmmword [0x1404bcc30]
xor ebx, ebx
lea rdi, [0x1404bcd40]
movdqa xmm12, xmmword [0x1404bcc70]
movdqa xmm10, xmmword [0x1404bcc90]
movdqa xmm11, xmmword [0x1404bcca0]
mov rsi, rdx
nop dword [rax]
xor ebp, ebp
nop word cs:[rax + rax]
prefetcht0 byte [rsi + rbp*8 + 0x140]
movdqu xmm4, xmmword [rsi + rbp*8]
movdqu xmm5, xmmword [rsi + rbp*8 + 0x10]
movdqu xmm0, xmmword [rsi + rbp*8 + 0x20]
movdqu xmm15, xmmword [rsi + rbp*8 + 0x30]
movdqu xmm1, xmmword [rbp + rdi]
movdqu xmm6, xmmword [rbp + rdi + 0x10]
movdqu xmm8, xmmword [rbp + rdi + 0x20]
movdqu xmm7, xmmword [rbp + rdi + 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 rbp, 8
cmp rbp, 0x80
jne 0x14013c3e0
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 rbx
add rsi, 0x400
cmp rbx, rcx
jne 0x14013c3d0
mov ecx, eax
and ecx, 0x3ff
cmp rcx, 0x40
jae 0x14013c58e
movdqa xmm4, xmm13
movdqa xmm5, xmm14
movdqa xmm6, xmm2
movdqa xmm7, xmm3
jmp 0x14013c678
and rax, 0xfffffffffffffc00
shr rcx, 6
add rax, rdx
shl rcx, 3
xor ebx, ebx
lea rdi, [0x1404bcd40]
nop dword [rax + rax]
prefetcht0 byte [rax + rbx*8 + 0x140]
movdqu xmm7, xmmword [rax + rbx*8]
movdqu xmm10, xmmword [rax + rbx*8 + 0x10]
movdqu xmm9, xmmword [rax + rbx*8 + 0x20]
movdqu xmm8, xmmword [rax + rbx*8 + 0x30]
movdqu xmm6, xmmword [rbx + rdi]
movdqu xmm5, xmmword [rbx + rdi + 0x10]
movdqu xmm1, xmmword [rbx + rdi + 0x20]
movdqu xmm4, xmmword [rbx + rdi + 0x30]
pxor xmm6, xmm7
pshufd xmm0, xmm6, 0xf5
pmuludq xmm0, xmm6
pshufd xmm7, xmm7, 0x4e
paddq xmm7, xmm3
paddq xmm7, xmm0
pxor xmm5, xmm10
pshufd xmm0, xmm5, 0xf5
pmuludq xmm0, xmm5
pshufd xmm6, xmm10, 0x4e
paddq xmm6, xmm2
paddq xmm6, xmm0
pxor xmm1, xmm9
pshufd xmm0, xmm1, 0xf5
pmuludq xmm0, xmm1
pshufd xmm5, xmm9, 0x4e
paddq xmm5, xmm14
paddq xmm5, xmm0
pxor xmm4, xmm8
pshufd xmm0, xmm4, 0xf5
pmuludq xmm0, xmm4
pshufd xmm4, xmm8, 0x4e
paddq xmm4, xmm13
paddq xmm4, xmm0
add rbx, 8
movdqa xmm13, xmm4
movdqa xmm14, xmm5
movdqa xmm2, xmm6
movdqa xmm3, xmm7
cmp rcx, rbx
jne 0x14013c5b0
movdqu xmm0, xmmword [rdx + r8 - 0x40]
movdqu xmm1, xmmword [rdx + r8 - 0x30]
movdqu xmm8, xmmword [rdx + r8 - 0x20]
pshufd xmm2, xmm0, 0x4e
pxor xmm0, xmmword [0x1404bccb0]
movdqu xmm9, xmmword [rdx + r8 - 0x10]
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, xmm8, 0x4e
pxor xmm8, xmmword [0x1404bccd0]
pshufd xmm1, xmm8, 0xf5
pmuludq xmm1, xmm8
paddq xmm1, xmm0
paddq xmm1, xmm5
pshufd xmm5, xmm9, 0x4e
pxor xmm9, xmmword [0x1404bcce0]
pshufd xmm0, xmm9, 0xf5
pmuludq xmm0, xmm9
paddq xmm0, xmm5
paddq xmm0, xmm4
movabs rbp, 0x9e3779b185ebca87
imul rbp, r8
movq r9, xmm3
pshufd xmm3, xmm3, 0xee
movq r11, xmm3
movabs rax, 0xa44072db979083e9
xor rax, r11
movabs rcx, 0x6dd4de1cad21f72c
xor rcx, r9
mul rcx
mov rcx, rdx
xor rcx, rax
add rcx, rbp
movq r10, xmm2
pshufd xmm2, xmm2, 0xee
movq r12, xmm2
movabs rax, 0xd05a8278e5c0cc4e
xor rax, r12
movabs rsi, 0xe679cb1f67b3b7a4
xor rsi, r10
mul rsi
mov rsi, rdx
xor rsi, rax
add rsi, rcx
movq r15, xmm1
pshufd xmm1, xmm1, 0xee
movq rdi, xmm1
movabs rax, 0x9035e08e2443f774
xor rax, rdi
movabs rcx, 0x4608b82172ffcc7d
xor rcx, r15
mul rcx
mov rcx, rdx
xor rcx, rax
add rcx, rsi
movq r13, xmm0
pshufd xmm0, xmm0, 0xee
movq rbx, xmm0
movabs rax, 0x65d088cb00c391bb
xor rax, rbx
movabs rsi, 0x52283c4c263a81e6
xor rsi, r13
mul rsi
xor rdx, rax
add rdx, rcx
mov rax, rdx
shr rax, 0x25
xor rax, rdx
movabs rbp, 0x165667919e3779f9
imul rax, rbp
mov rcx, rax
shr rcx, 0x20
xor rcx, rax
mov qword [r14], rcx
movabs rsi, 0xc2b2ae3d27d4eb4f
imul rsi, r8
not rsi
movabs rax, 0x3483acc5ea647378
xor rax, r11
movabs rcx, 0xd9c97e9fc83159b4
xor rcx, r9
mul rcx
mov rcx, rdx
xor rcx, rax
add rcx, rsi
movabs rax, 0xb751dd0d17eb6313
xor rax, r12
movabs rsi, 0xfaffa081c5c3ebd3
xor rsi, r10
mul rsi
mov rsi, rdx
xor rsi, rax
movabs rax, 0x7d58be162b9e68d4
xor rax, rdi
movabs rdi, 0x29265516d349daf0
xor rdi, r15
mul rdi
mov rdi, rdx
add rsi, rcx
xor rdi, rax
add rdi, rsi
movabs rax, 0x958f3acb45ce31d0
xor rax, rbx
movabs rcx, 0x7ad1b8f88ffca147
xor rcx, r13
mul rcx
xor rdx, rax
add rdx, rdi
mov rax, rdx
shr rax, 0x25
xor rax, rdx
imul rax, rbp
mov rcx, rax
shr rcx, 0x20
xor rcx, rax
mov qword [r14 + 8], rcx
mov rax, r14
movaps xmm6, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm9, xmmword [rsp + 0x110]
movaps xmm10, xmmword [rsp + 0x120]
movaps xmm11, xmmword [rsp + 0x130]
movaps xmm12, xmmword [rsp + 0x140]
movaps xmm13, xmmword [rsp + 0x150]
movaps xmm14, xmmword [rsp + 0x160]
movaps xmm15, xmmword [rsp + 0x170]
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret