Function at 0x2016d1b10
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0xb0
movups xmmword [rsp + 0x20], xmm6
movups xmmword [rsp + 0x30], xmm7
movups xmmword [rsp + 0x40], xmm8
movups xmmword [rsp + 0x50], xmm9
movups xmmword [rsp + 0x60], xmm10
movups xmmword [rsp + 0x70], xmm11
movups xmmword [rsp + 0x80], xmm12
movups xmmword [rsp + 0x90], xmm13
movups xmmword [rsp + 0xa0], xmm14
mov rbx, rdx
call fcn.2016c5fd0
mov r8, rax
test rax, rax
je 0x2016d21f2
mov rdx, qword [rax]
test rdx, rdx
jle 0x2016d21f2
lea rax, [rdx - 1]
cmp rax, 0xe
jbe 0x2016d223b
lea rax, [rbx + 1]
movq xmm6, rbx
mov rcx, rdx
movdqu xmm4, xmmword [0x2016df530]
movq xmm7, rax
and rcx, 0xfffffffffffffff0
mov rax, r8
movdqu xmm3, xmmword [0x2016df540]
punpcklqdq xmm6, xmm7
movdqu xmm5, xmmword [0x2016df550]
movdqu xmm7, xmmword [0x2016df520]
add rcx, r8
nop word [rax + rax]
movdqu xmm0, xmm6
add rax, 0x10
paddq xmm6, xmm7
movdqu xmm11, xmm0
paddq xmm11, xmm4
movdqu xmm10, xmm11
shufps xmm0, xmm11, 0x88
paddq xmm10, xmm4
movdqu xmm8, xmm10
paddq xmm8, xmm4
movdqu xmm1, xmm8
shufps xmm10, xmm8, 0x88
movdqu xmm8, xmm0
movdqu xmm13, xmm10
paddq xmm1, xmm4
psrad xmm13, 0x10
punpckhwd xmm8, xmm10
movdqu xmm2, xmm1
paddq xmm2, xmm4
movdqu xmm9, xmm2
shufps xmm1, xmm2, 0x88
movdqu xmm12, xmm1
paddq xmm9, xmm4
movdqu xmm2, xmm9
paddq xmm2, xmm4
shufps xmm9, xmm2, 0x88
movdqu xmm2, xmm0
punpcklwd xmm12, xmm9
punpcklwd xmm2, xmm10
psrad xmm10, 0x18
movdqu xmm11, xmm2
punpcklwd xmm2, xmm8
punpckhwd xmm11, xmm8
movdqu xmm8, xmm1
punpckhwd xmm8, xmm9
punpcklwd xmm2, xmm11
movdqu xmm11, xmm12
punpckhwd xmm11, xmm8
punpcklwd xmm12, xmm8
punpcklwd xmm12, xmm11
movdqu xmm11, xmm0
psrad xmm11, 0x10
psrad xmm0, 0x18
movdqu xmm8, xmm11
punpcklwd xmm11, xmm13
punpckhwd xmm8, xmm13
movdqu xmm13, xmm11
punpckhwd xmm13, xmm8
punpcklwd xmm11, xmm8
movdqu xmm8, xmm1
psrad xmm8, 0x10
psrad xmm1, 0x18
punpcklwd xmm11, xmm13
movdqu xmm13, xmm9
movdqu xmm14, xmm8
pand xmm11, xmm3
psrad xmm13, 0x10
psrad xmm9, 0x18
punpcklwd xmm8, xmm13
punpckhwd xmm14, xmm13
movdqu xmm13, xmm8
punpcklwd xmm8, xmm14
punpckhwd xmm13, xmm14
movdqu xmm14, xmmword [rax]
punpcklwd xmm8, xmm13
movdqu xmm13, xmm12
pand xmm12, xmm3
pand xmm8, xmm3
psraw xmm13, 8
packuswb xmm11, xmm8
movdqu xmm8, xmm2
pand xmm13, xmm3
psraw xmm8, 8
pand xmm2, xmm3
pand xmm8, xmm3
packuswb xmm2, xmm12
packuswb xmm8, xmm13
pand xmm2, xmm5
pxor xmm11, xmm8
movdqu xmm8, xmm0
punpcklwd xmm0, xmm10
punpckhwd xmm8, xmm10
movdqu xmm10, xmm0
pand xmm11, xmm5
punpckhwd xmm10, xmm8
punpcklwd xmm0, xmm8
movdqu xmm8, xmm1
punpcklwd xmm1, xmm9
punpckhwd xmm8, xmm9
punpcklwd xmm0, xmm10
movdqu xmm9, xmm1
punpcklwd xmm1, xmm8
pand xmm0, xmm3
punpckhwd xmm9, xmm8
pxor xmm2, xmm14
punpcklwd xmm1, xmm9
pxor xmm2, xmm11
pand xmm1, xmm3
packuswb xmm0, xmm1
pand xmm0, xmm5
pxor xmm2, xmm0
movups xmmword [rax], xmm2
cmp rax, rcx
jne 0x2016d1bc8
mov rax, rdx
and rax, 0xfffffffffffffff0
add rbx, rax
cmp rdx, rax
je 0x2016d21f2
mov r9, rbx
mov ecx, ebx
lea r10, [rax + 1]
sar r9, 8
and ecx, 0xffffffee
xor cl, byte [r8 + rax + 0x10]
and r9d, 0xffffffee
xor ecx, r9d
mov r9, rbx
sar r9, 0x10
and r9d, 0xffffffee
xor ecx, r9d
mov r9, rbx
sar r9, 0x18
and r9d, 0xffffffee
xor ecx, r9d
lea r9, [rbx + 1]
mov byte [r8 + rax + 0x10], cl
cmp rdx, r10
jle 0x2016d21f2
mov r11, r9
mov ecx, r9d
lea r10, [rax + 2]
sar r11, 8
and ecx, 0xffffffee
xor cl, byte [r8 + rax + 0x11]
and r11d, 0xffffffee
xor ecx, r11d
mov r11, r9
sar r9, 0x18
sar r11, 0x10
and r9d, 0xffffffee
and r11d, 0xffffffee
xor ecx, r11d
xor ecx, r9d
lea r9, [rbx + 2]
mov byte [r8 + rax + 0x11], cl
cmp rdx, r10
jle 0x2016d21f2
mov r11, r9
mov ecx, r9d
lea r10, [rax + 3]
sar r11, 8
and ecx, 0xffffffee
xor cl, byte [r8 + rax + 0x12]
and r11d, 0xffffffee
xor ecx, r11d
mov r11, r9
sar r9, 0x18
sar r11, 0x10
and r9d, 0xffffffee
and r11d, 0xffffffee
xor ecx, r11d
xor ecx, r9d
lea r9, [rbx + 3]
mov byte [r8 + rax + 0x12], cl
cmp rdx, r10
jle 0x2016d21f2
mov r11, r9
mov ecx, r9d
lea r10, [rax + 4]
sar r11, 8
and ecx, 0xffffffee
xor cl, byte [r8 + rax + 0x13]
and r11d, 0xffffffee
xor ecx, r11d
mov r11, r9
sar r9, 0x18
sar r11, 0x10
and r9d, 0xffffffee
and r11d, 0xffffffee
xor ecx, r11d
xor ecx, r9d
lea r9, [rbx + 4]
mov byte [r8 + rax + 0x13], cl
cmp rdx, r10
jle 0x2016d21f2
mov r11, r9
mov ecx, r9d
lea r10, [rax + 5]
sar r11, 8
and ecx, 0xffffffee
xor cl, byte [r8 + rax + 0x14]
and r11d, 0xffffffee
xor ecx, r11d
mov r11, r9
sar r9, 0x18
sar r11, 0x10
and r9d, 0xffffffee
and r11d, 0xffffffee
xor ecx, r11d
xor ecx, r9d
lea r9, [rbx + 5]
mov byte [r8 + rax + 0x14], cl
cmp rdx, r10
jle 0x2016d21f2
mov r11, r9
mov ecx, r9d
lea r10, [rax + 6]
sar r11, 8
and ecx, 0xffffffee
xor cl, byte [r8 + rax + 0x15]
and r11d, 0xffffffee
xor ecx, r11d
mov r11, r9
sar r9, 0x18
sar r11, 0x10
and r9d, 0xffffffee
and r11d, 0xffffffee
xor ecx, r11d
xor ecx, r9d
lea r9, [rbx + 6]
mov byte [r8 + rax + 0x15], cl
cmp rdx, r10
jle 0x2016d21f2
mov r11, r9
mov ecx, r9d
lea r10, [rax + 7]
sar r11, 8
and ecx, 0xffffffee
xor cl, byte [r8 + rax + 0x16]
and r11d, 0xffffffee
xor ecx, r11d
mov r11, r9
sar r9, 0x18
sar r11, 0x10
and r9d, 0xffffffee
and r11d, 0xffffffee
xor ecx, r11d
xor ecx, r9d
lea r9, [rbx + 7]
mov byte [r8 + rax + 0x16], cl
cmp rdx, r10
jle 0x2016d21f2
mov r11, r9
mov ecx, r9d
lea r10, [rax + 8]
sar r11, 8
and ecx, 0xffffffee
xor cl, byte [r8 + rax + 0x17]
and r11d, 0xffffffee
xor ecx, r11d
mov r11, r9
sar r9, 0x18
sar r11, 0x10
and r9d, 0xffffffee
and r11d, 0xffffffee
xor ecx, r11d
xor ecx, r9d
lea r9, [rbx + 8]
mov byte [r8 + rax + 0x17], cl
cmp rdx, r10
jle 0x2016d21f2
mov r11, r9
mov ecx, r9d
lea r10, [rax + 9]
sar r11, 8
and ecx, 0xffffffee
xor cl, byte [r8 + rax + 0x18]
and r11d, 0xffffffee
xor ecx, r11d
mov r11, r9
sar r9, 0x18
sar r11, 0x10
and r9d, 0xffffffee
and r11d, 0xffffffee
xor ecx, r11d
xor ecx, r9d
lea r9, [rbx + 9]
mov byte [r8 + rax + 0x18], cl
cmp rdx, r10
jle 0x2016d21f2
mov r11, r9
mov ecx, r9d
lea r10, [rax + 0xa]
sar r11, 8
and ecx, 0xffffffee
xor cl, byte [r8 + rax + 0x19]
and r11d, 0xffffffee
xor ecx, r11d
mov r11, r9
sar r9, 0x18
sar r11, 0x10
and r9d, 0xffffffee
and r11d, 0xffffffee
xor ecx, r11d
xor ecx, r9d
lea r9, [rbx + 0xa]
mov byte [r8 + rax + 0x19], cl
cmp rdx, r10
jle 0x2016d21f2
mov r11, r9
mov ecx, r9d
lea r10, [rax + 0xb]
sar r11, 8
and ecx, 0xffffffee
xor cl, byte [r8 + rax + 0x1a]
and r11d, 0xffffffee
xor ecx, r11d
mov r11, r9
sar r9, 0x18
sar r11, 0x10
and r9d, 0xffffffee
and r11d, 0xffffffee
xor ecx, r11d
xor ecx, r9d
lea r9, [rbx + 0xb]
mov byte [r8 + rax + 0x1a], cl
cmp rdx, r10
jle 0x2016d21f2
mov r11, r9
mov ecx, r9d
lea r10, [rax + 0xc]
sar r11, 8
and ecx, 0xffffffee
xor cl, byte [r8 + rax + 0x1b]
and r11d, 0xffffffee
xor ecx, r11d
mov r11, r9
sar r9, 0x18
sar r11, 0x10
and r9d, 0xffffffee
and r11d, 0xffffffee
xor ecx, r11d
xor ecx, r9d
lea r9, [rbx + 0xc]
mov byte [r8 + rax + 0x1b], cl
cmp rdx, r10
jle 0x2016d21f2
mov r11, r9
mov ecx, r9d
lea r10, [rax + 0xd]
sar r11, 8
and ecx, 0xffffffee
xor cl, byte [r8 + rax + 0x1c]
and r11d, 0xffffffee
xor ecx, r11d
mov r11, r9
sar r9, 0x18
sar r11, 0x10
and r9d, 0xffffffee
and r11d, 0xffffffee
xor ecx, r11d
xor ecx, r9d
lea r9, [rbx + 0xd]
mov byte [r8 + rax + 0x1c], cl
cmp rdx, r10
jle 0x2016d21f2
mov r11, r9
mov ecx, r9d
add rbx, 0xe
sar r11, 8
and ecx, 0xffffffee
xor cl, byte [r8 + rax + 0x1d]
and r11d, 0xffffffee
xor ecx, r11d
mov r11, r9
sar r9, 0x18
sar r11, 0x10
and r9d, 0xffffffee
and r11d, 0xffffffee
xor ecx, r11d
xor ecx, r9d
mov byte [r8 + rax + 0x1d], cl
add rax, 0xe
cmp rdx, rax
jle 0x2016d21f2
mov rcx, rbx
mov edx, ebx
sar rcx, 8
and edx, 0xffffffee
xor dl, byte [r8 + rax + 0x10]
and ecx, 0xffffffee
xor edx, ecx
mov rcx, rbx
sar rbx, 0x18
sar rcx, 0x10
and ebx, 0xffffffee
and ecx, 0xffffffee
xor edx, ecx
xor ebx, edx
mov byte [r8 + rax + 0x10], bl
movups xmm6, xmmword [rsp + 0x20]
movups xmm7, xmmword [rsp + 0x30]
mov rax, r8
movups xmm8, xmmword [rsp + 0x40]
movups xmm9, xmmword [rsp + 0x50]
movups xmm10, xmmword [rsp + 0x60]
movups xmm11, xmmword [rsp + 0x70]
movups xmm12, xmmword [rsp + 0x80]
movups xmm13, xmmword [rsp + 0x90]
movups xmm14, xmmword [rsp + 0xa0]
add rsp, 0xb0
pop rbx
ret
xor eax, eax
jmp 0x2016d1dd8