Function at 0x180155d90
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0xa0
mov r10, qword [rsp + 0x100]
lea r13, [0x1806c5410]
movaps xmmword [rax - 0x48], xmm6
lea r12, [0x1806c52a0]
movaps xmmword [rax - 0x58], xmm7
mov rdi, r8
movaps xmmword [rax - 0x68], xmm8
mov rbx, r8
movaps xmmword [rax - 0x78], xmm9
mov r15, rdx
movaps xmmword [rsp + 0x50], xmm10
mov r11, rcx
movaps xmmword [rsp + 0x40], xmm11
mov ebp, 0
movaps xmmword [rsp + 0x30], xmm12
movaps xmmword [rsp + 0x20], xmm13
movaps xmmword [rsp + 0x10], xmm14
movaps xmmword [rsp], xmm15
and rdi, 0xfffffffffffffffe
je 0x1801561f9
mov edx, r10d
mov qword [rax + 8], r14
neg edx
lea rcx, [r15 + 0x10]
and edx, 3
mov r14, r10
add rdx, rdx
add r14, r14
sub r11, r15
nop word [rax + rax]
movdqa xmm11, xmmword [0x1806c51c0]
mov r8d, 1
movdqa xmm8, xmmword [0x1806c51e0]
movdqa xmm2, xmmword [0x1806c51f0]
movdqa xmm9, xmm8
movdqa xmm12, xmmword [0x1806c53f0]
movdqa xmm10, xmmword [0x1806c5180]
movdqu xmm1, xmmword [r11 + rcx - 0x10]
movdqa xmm0, xmm1
andps xmm1, xmm11
psrld xmm0, 4
andps xmm0, xmm11
pshufb xmm9, xmm0
movdqa xmm0, xmm2
pshufb xmm0, xmm1
movdqu xmm1, xmmword [r11 + rcx]
xorps xmm9, xmm0
xorps xmm9, xmmword [r9]
movdqa xmm0, xmm1
psrld xmm0, 4
andps xmm1, xmm11
andps xmm0, xmm11
pshufb xmm8, xmm0
pshufb xmm2, xmm1
xorps xmm8, xmm2
xorps xmm8, xmmword [r9]
cmp r8, r10
je 0x1801560e0
movdqa xmm5, xmmword [0x1806c5200]
lea rsi, [r9 + 0x10]
movdqa xmm6, xmmword [0x1806c5190]
movdqa xmm7, xmmword [0x1806c5280]
movdqa xmm13, xmmword [0x1806c5380]
movdqa xmm14, xmmword [0x1806c5450]
movdqa xmm15, xmmword [0x1806c5470]
movdqa xmm2, xmm9
lea rax, [r8 - 1]
andps xmm9, xmm11
psrld xmm2, 4
andps xmm2, xmm11
movdqa xmm1, xmm12
pshufb xmm1, xmm9
and eax, 3
add rax, rax
xorps xmm9, xmm2
movdqa xmm0, xmm10
pshufb xmm0, xmm2
movdqa xmm4, xmm10
movdqa xmm3, xmm10
xorps xmm0, xmm1
pshufb xmm4, xmm0
movdqa xmm0, xmm10
pshufb xmm0, xmm9
xorps xmm4, xmm9
movdqa xmm9, xmm5
xorps xmm0, xmm1
movdqa xmm1, xmm13
pshufb xmm3, xmm0
movdqa xmm0, xmm6
pshufb xmm0, xmm4
xorps xmm3, xmm2
movups xmm2, xmmword [r12 + rax*8]
pshufb xmm9, xmm3
pshufb xmm1, xmm3
xorps xmm9, xmm0
movdqa xmm0, xmm7
xorps xmm9, xmmword [rsi]
pshufb xmm0, xmm4
pshufb xmm9, xmm2
xorps xmm9, xmm0
movdqa xmm0, xmm14
pshufb xmm0, xmm4
xorps xmm9, xmm1
movdqa xmm1, xmm15
pshufb xmm9, xmm2
pshufb xmm1, xmm3
xorps xmm9, xmm0
movdqa xmm0, xmmword [0x1806c5460]
pshufb xmm0, xmm4
xorps xmm9, xmm1
movdqa xmm4, xmm10
movdqa xmm1, xmmword [0x1806c51b0]
pshufb xmm1, xmm3
pshufb xmm9, xmm2
movdqa xmm2, xmm8
movdqa xmm3, xmm10
xorps xmm9, xmm0
psrld xmm2, 4
andps xmm8, xmm11
andps xmm2, xmm11
xorps xmm9, xmm1
movdqa xmm0, xmm10
pshufb xmm0, xmm2
movdqa xmm1, xmm12
pshufb xmm1, xmm8
xorps xmm8, xmm2
xorps xmm0, xmm1
pshufb xmm4, xmm0
movdqa xmm0, xmm10
pshufb xmm0, xmm8
xorps xmm4, xmm8
movdqa xmm8, xmm5
xorps xmm0, xmm1
movdqa xmm1, xmm13
pshufb xmm3, xmm0
movdqa xmm0, xmm6
pshufb xmm0, xmm4
xorps xmm3, xmm2
movups xmm2, xmmword [r12 + rax*8]
pshufb xmm8, xmm3
xorps xmm8, xmm0
movdqa xmm0, xmm7
xorps xmm8, xmmword [rsi]
pshufb xmm8, xmm2
pshufb xmm0, xmm4
xorps xmm8, xmm0
pshufb xmm1, xmm3
lea rsi, [rsi + 0x10]
inc r8
movdqa xmm0, xmm14
xorps xmm8, xmm1
movdqa xmm1, xmm15
pshufb xmm8, xmm2
pshufb xmm0, xmm4
pshufb xmm1, xmm3
xorps xmm8, xmm0
movdqa xmm0, xmmword [0x1806c5460]
xorps xmm8, xmm1
movdqa xmm1, xmmword [0x1806c51b0]
pshufb xmm8, xmm2
pshufb xmm0, xmm4
pshufb xmm1, xmm3
xorps xmm8, xmm0
xorps xmm8, xmm1
cmp r8, r10
jne 0x180155f00
movdqa xmm3, xmmword [0x1806c51d0]
movdqa xmm2, xmm8
movdqu xmm7, xmmword [r13 + rdx*8]
movdqa xmm4, xmm3
psrld xmm2, 4
movdqa xmm0, xmm10
andps xmm2, xmm11
movdqa xmm1, xmm10
movdqa xmm6, xmm9
andps xmm8, xmm11
movdqa xmm5, xmm12
psrld xmm6, 4
pshufb xmm12, xmm8
add rbp, 2
xorps xmm8, xmm2
andps xmm6, xmm11
pshufb xmm0, xmm8
andps xmm9, xmm11
xorps xmm0, xmm12
pshufb xmm1, xmm0
movdqa xmm0, xmm10
pshufb xmm0, xmm2
xorps xmm1, xmm2
movdqa xmm2, xmmword [0x1806c53d0]
pshufb xmm4, xmm1
xorps xmm0, xmm12
movdqa xmm1, xmm10
pshufb xmm1, xmm0
pshufb xmm5, xmm9
xorps xmm1, xmm8
movdqa xmm0, xmm2
pshufb xmm0, xmm1
movdqa xmm1, xmm10
xorps xmm9, xmm6
xorps xmm4, xmm0
movdqa xmm0, xmm10
xorps xmm4, xmmword [r9 + r14*8]
pshufb xmm0, xmm9
pshufb xmm4, xmm7
xorps xmm0, xmm5
pshufb xmm1, xmm0
movdqa xmm0, xmm10
pshufb xmm0, xmm6
xorps xmm1, xmm6
pshufb xmm3, xmm1
xorps xmm0, xmm5
pshufb xmm10, xmm0
xorps xmm10, xmm9
pshufb xmm2, xmm10
xorps xmm3, xmm2
xorps xmm3, xmmword [r9 + r14*8]
pshufb xmm3, xmm7
movdqu xmmword [rcx], xmm4
movdqu xmmword [rcx - 0x10], xmm3
add rcx, 0x20
cmp rbp, rdi
jne 0x180155e30
mov r14, qword [rsp + 0xe0]
jmp 0x1801561fc
sub r11, r15
mov esi, r10d
cmp rdi, rbx
jae 0x180156437
mov r8, rdi
mov rbp, r10
shl r8, 4
add rbp, rbp
add r8, r15
sub rbx, rdi
nop dword [rax + rax]
movdqu xmm1, xmmword [r11 + r8]
mov eax, 1
movdqa xmm7, xmmword [0x1806c51c0]
movdqa xmm5, xmmword [0x1806c51e0]
movdqa xmm0, xmm1
movdqa xmm8, xmmword [0x1806c53f0]
andps xmm1, xmm7
movdqa xmm6, xmmword [0x1806c5180]
psrld xmm0, 4
andps xmm0, xmm7
pshufb xmm5, xmm0
movdqa xmm0, xmmword [0x1806c51f0]
pshufb xmm0, xmm1
xorps xmm5, xmm0
xorps xmm5, xmmword [r9]
cmp rax, r10
je 0x1801563a6
movdqa xmm9, xmmword [0x1806c5200]
lea rdx, [r9 + 0x10]
movdqa xmm10, xmmword [0x1806c5190]
movdqa xmm11, xmmword [0x1806c5280]
movdqa xmm12, xmmword [0x1806c5380]
movdqa xmm13, xmmword [0x1806c5450]
movdqa xmm14, xmmword [0x1806c5470]
movdqa xmm15, xmmword [0x1806c5460]
movdqa xmm2, xmm5
lea rcx, [rax - 1]
andps xmm5, xmm7
psrld xmm2, 4
andps xmm2, xmm7
lea rdx, [rdx + 0x10]
and ecx, 3
movdqa xmm1, xmm8
pshufb xmm1, xmm5
add rcx, rcx
inc rax
xorps xmm5, xmm2
movdqa xmm0, xmm6
movdqa xmm4, xmm6
movdqa xmm3, xmm6
pshufb xmm0, xmm2
xorps xmm0, xmm1
pshufb xmm4, xmm0
movdqa xmm0, xmm6
xorps xmm4, xmm5
pshufb xmm0, xmm5
movdqa xmm5, xmm9
xorps xmm0, xmm1
movdqa xmm1, xmm12
pshufb xmm3, xmm0
movdqa xmm0, xmm10
xorps xmm3, xmm2
movups xmm2, xmmword [r12 + rcx*8]
pshufb xmm5, xmm3
pshufb xmm0, xmm4
pshufb xmm1, xmm3
xorps xmm5, xmm0
movdqa xmm0, xmm11
xorps xmm5, xmmword [rdx - 0x10]
pshufb xmm5, xmm2
pshufb xmm0, xmm4
xorps xmm5, xmm0
movdqa xmm0, xmm13
xorps xmm5, xmm1
movdqa xmm1, xmm14
pshufb xmm5, xmm2
pshufb xmm0, xmm4
pshufb xmm1, xmm3
xorps xmm5, xmm0
movdqa xmm0, xmm15
xorps xmm5, xmm1
movdqa xmm1, xmmword [0x1806c51b0]
pshufb xmm5, xmm2
pshufb xmm0, xmm4
pshufb xmm1, xmm3
xorps xmm5, xmm0
xorps xmm5, xmm1
cmp rax, r10
jne 0x1801562c0
movdqa xmm3, xmmword [0x1806c51d0]
movdqa xmm0, xmm6
movdqa xmm1, xmm6
movdqa xmm4, xmm5
andps xmm5, xmm7
psrld xmm4, 4
andps xmm4, xmm7
mov eax, esi
neg eax
movdqa xmm2, xmm4
xorps xmm2, xmm5
and eax, 3
pshufb xmm0, xmm2
add rax, rax
pshufb xmm8, xmm5
xorps xmm0, xmm8
pshufb xmm1, xmm0
movdqa xmm0, xmm6
pshufb xmm0, xmm4
xorps xmm1, xmm4
xorps xmm0, xmm8
pshufb xmm6, xmm0
movdqa xmm0, xmmword [0x1806c53d0]
pshufb xmm3, xmm1
xorps xmm6, xmm2
pshufb xmm0, xmm6
xorps xmm3, xmm0
xorps xmm3, xmmword [r9 + rbp*8]
pshufb xmm3, xmmword [r13 + rax*8]
movdqu xmmword [r8], xmm3
add r8, 0x10
sub rbx, 1
jne 0x180156220
movaps xmm14, xmmword [rsp + 0x10]
lea r11, [rsp + 0xa0]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm15, xmmword [rsp]
mov rsp, r11
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret