Function at 0x1400eb3b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov ebp, 2
xor r15d, r15d
mov r12d, r15d
mov r11d, ebp
mov ebx, ebp
mov rdi, rdx
lea rax, [rbx - 2]
and eax, 3
lea edx, [r11 - 2]
and edx, 4
lea r10, [rsp]
shl edx, 2
add rdx, rax
movzx eax, byte [rcx]
lea r10, [r10 + rdx*4]
mov r9d, eax
movzx edx, byte [rcx + 1]
sub r9d, edx
shl r9d, 0x10
add r9d, eax
movzx eax, byte [rcx + 2]
add r9d, edx
mov r8d, eax
movzx edx, byte [rcx + 3]
sub r8d, edx
shl r8d, 0x10
add r8d, eax
add r8d, edx
movzx edx, byte [rcx + 5]
lea eax, [r8 + r9]
sub r9d, r8d
mov dword [r10 + 0x10], r9d
mov dword [r10], eax
movzx eax, byte [rcx + 4]
mov r9d, eax
sub r9d, edx
shl r9d, 0x10
add r9d, eax
movzx eax, byte [rcx + 6]
add r9d, edx
mov r8d, eax
movzx edx, byte [rcx + 7]
add rcx, rdi
sub r8d, edx
shl r8d, 0x10
add r8d, eax
add r8d, edx
lea edx, [r11 - 1]
and edx, 4
shl edx, 2
lea eax, [r8 + r9]
sub r9d, r8d
mov dword [r10 + 0x30], r9d
mov dword [r10 + 0x20], eax
lea rax, [rbx - 1]
and eax, 3
lea r10, [rsp]
add rdx, rax
movzx eax, byte [rcx]
lea r10, [r10 + rdx*4]
mov r9d, eax
movzx edx, byte [rcx + 1]
sub r9d, edx
shl r9d, 0x10
add r9d, eax
movzx eax, byte [rcx + 2]
add r9d, edx
mov r8d, eax
movzx edx, byte [rcx + 3]
sub r8d, edx
shl r8d, 0x10
add r8d, eax
add r8d, edx
movzx edx, byte [rcx + 5]
lea eax, [r8 + r9]
sub r9d, r8d
mov dword [r10], eax
movzx eax, byte [rcx + 4]
mov dword [r10 + 0x10], r9d
mov r9d, eax
sub r9d, edx
shl r9d, 0x10
add r9d, eax
movzx eax, byte [rcx + 6]
add r9d, edx
mov r8d, eax
movzx edx, byte [rcx + 7]
sub r8d, edx
add rcx, rdi
shl r8d, 0x10
add r8d, eax
add r8d, edx
mov edx, r11d
and edx, 4
shl edx, 2
lea eax, [r8 + r9]
sub r9d, r8d
mov dword [r10 + 0x20], eax
mov rax, rbx
mov dword [r10 + 0x30], r9d
and eax, 3
add rdx, rax
lea r10, [rsp]
movzx eax, byte [rcx]
lea r10, [r10 + rdx*4]
movzx edx, byte [rcx + 1]
mov r9d, eax
sub r9d, edx
shl r9d, 0x10
add r9d, eax
movzx eax, byte [rcx + 2]
add r9d, edx
mov r8d, eax
movzx edx, byte [rcx + 3]
sub r8d, edx
shl r8d, 0x10
add r8d, eax
add r8d, edx
movzx edx, byte [rcx + 5]
lea eax, [r8 + r9]
sub r9d, r8d
mov dword [r10], eax
movzx eax, byte [rcx + 4]
mov dword [r10 + 0x10], r9d
mov r9d, eax
sub r9d, edx
shl r9d, 0x10
add r9d, eax
movzx eax, byte [rcx + 6]
add r9d, edx
mov r8d, eax
movzx edx, byte [rcx + 7]
add rcx, rdi
sub r8d, edx
shl r8d, 0x10
add r8d, eax
add r8d, edx
lea edx, [r11 + 1]
and edx, 4
shl edx, 2
lea eax, [r8 + r9]
sub r9d, r8d
mov dword [r10 + 0x20], eax
lea rax, [rbx + 1]
mov dword [r10 + 0x30], r9d
and eax, 3
add rdx, rax
lea r10, [rsp]
movzx eax, byte [rcx]
lea r10, [r10 + rdx*4]
movzx edx, byte [rcx + 1]
mov r9d, eax
sub r9d, edx
shl r9d, 0x10
add r9d, eax
movzx eax, byte [rcx + 2]
add r9d, edx
mov r8d, eax
movzx edx, byte [rcx + 3]
sub r8d, edx
shl r8d, 0x10
add r8d, eax
add r8d, edx
movzx edx, byte [rcx + 5]
lea eax, [r8 + r9]
sub r9d, r8d
mov dword [r10], eax
mov dword [r10 + 0x10], r9d
movzx eax, byte [rcx + 4]
add r11d, 4
mov r9d, eax
add rbx, 4
sub r9d, edx
shl r9d, 0x10
add r9d, eax
movzx eax, byte [rcx + 6]
add r9d, edx
mov r8d, eax
movzx edx, byte [rcx + 7]
add rcx, rdi
sub r8d, edx
shl r8d, 0x10
add r8d, eax
add r8d, edx
lea eax, [r8 + r9]
sub r9d, r8d
mov dword [r10 + 0x20], eax
lea eax, [r11 - 2]
mov dword [r10 + 0x30], r9d
cmp eax, 8
jl 0x1400eb3e2
lea r14, [rsp + 0x30]
mov r13, rbp
nop dword [rax]
mov eax, dword [r14 - 0x2c]
mov ebx, dword [r14 - 0x30]
mov edx, dword [r14 - 0x28]
lea edi, [rax + rbx]
sub ebx, eax
mov eax, dword [r14 - 0x24]
lea ecx, [rax + rdx]
sub edx, eax
lea r11d, [rcx + rdi]
sub edi, ecx
mov eax, r11d
mov dword [r14 - 0x28], edi
shr eax, 0xf
and eax, 0x10001
mov dword [r14 - 0x30], r11d
imul r9d, eax, 0xffff
lea r10d, [rdx + rbx]
sub ebx, edx
mov dword [r14 - 0x2c], r10d
mov eax, r10d
mov dword [r14 - 0x24], ebx
shr eax, 0xf
and eax, 0x10001
imul r8d, eax, 0xffff
mov eax, edi
shr eax, 0xf
and eax, 0x10001
imul ecx, eax, 0xffff
lea esi, [r9 + r11]
mov eax, ebx
xor esi, r9d
shr eax, 0xf
add esi, r15d
and eax, 0x10001
imul eax, eax, 0xffff
lea edx, [rax + rbx]
mov ebx, dword [r14 - 0x20]
xor edx, eax
lea eax, [rcx + rdi]
xor eax, ecx
add edx, eax
lea eax, [r8 + r10]
xor eax, r8d
add edx, eax
mov eax, dword [r14 - 0x1c]
add esi, edx
mov edx, dword [r14 - 0x18]
lea edi, [rax + rbx]
sub ebx, eax
mov eax, dword [r14 - 0x14]
lea ecx, [rax + rdx]
sub edx, eax
lea r11d, [rcx + rdi]
sub edi, ecx
mov eax, r11d
mov dword [r14 - 0x20], r11d
shr eax, 0xf
and eax, 0x10001
mov dword [r14 - 0x18], edi
imul r9d, eax, 0xffff
lea r10d, [rdx + rbx]
sub ebx, edx
mov dword [r14 - 0x1c], r10d
mov eax, r10d
mov dword [r14 - 0x14], ebx
shr eax, 0xf
and eax, 0x10001
imul r8d, eax, 0xffff
mov eax, edi
shr eax, 0xf
and eax, 0x10001
imul ecx, eax, 0xffff
mov eax, ebx
shr eax, 0xf
and eax, 0x10001
imul eax, eax, 0xffff
lea edx, [rax + rbx]
xor edx, eax
lea eax, [rcx + rdi]
xor eax, ecx
add edx, eax
mov ebx, dword [r14 - 0x10]
lea eax, [r8 + r10]
xor eax, r8d
add edx, eax
lea eax, [r9 + r11]
xor eax, r9d
add esi, eax
mov eax, dword [r14 - 0xc]
add esi, edx
mov edx, dword [r14 - 8]
lea edi, [rax + rbx]
sub ebx, eax
mov eax, dword [r14 - 4]
lea ecx, [rax + rdx]
sub edx, eax
lea r11d, [rcx + rdi]
sub edi, ecx
mov eax, r11d
mov dword [r14 - 8], edi
shr eax, 0xf
and eax, 0x10001
mov dword [r14 - 0x10], r11d
imul r9d, eax, 0xffff
lea r10d, [rdx + rbx]
sub ebx, edx
mov dword [r14 - 0xc], r10d
mov eax, r10d
mov dword [r14 - 4], ebx
shr eax, 0xf
and eax, 0x10001
imul r8d, eax, 0xffff
mov eax, edi
shr eax, 0xf
and eax, 0x10001
imul ecx, eax, 0xffff
mov eax, ebx
shr eax, 0xf
and eax, 0x10001
imul eax, eax, 0xffff
lea edx, [rax + rbx]
mov ebx, dword [r14]
xor edx, eax
lea eax, [rcx + rdi]
xor eax, ecx
add edx, eax
lea eax, [r8 + r10]
xor eax, r8d
add edx, eax
lea eax, [r9 + r11]
xor eax, r9d
add esi, eax
mov eax, dword [r14 + 4]
add esi, edx
mov edx, dword [r14 + 8]
lea edi, [rax + rbx]
sub ebx, eax
mov eax, dword [r14 + 0xc]
lea ecx, [rax + rdx]
sub edx, eax
lea r11d, [rcx + rdi]
sub edi, ecx
mov eax, r11d
mov dword [r14], r11d
shr eax, 0xf
and eax, 0x10001
mov dword [r14 + 8], edi
imul r9d, eax, 0xffff
lea r10d, [rdx + rbx]
sub ebx, edx
mov dword [r14 + 4], r10d
mov eax, r10d
mov dword [r14 + 0xc], ebx
shr eax, 0xf
and eax, 0x10001
imul r8d, eax, 0xffff
mov eax, edi
shr eax, 0xf
and eax, 0x10001
imul ecx, eax, 0xffff
mov eax, ebx
shr eax, 0xf
and eax, 0x10001
lea r15d, [r9 + r11]
imul eax, eax, 0xffff
lea r14, [r14 + 0x40]
xor r15d, r9d
add r15d, esi
lea edx, [rax + rbx]
xor edx, eax
lea eax, [rcx + rdi]
xor eax, ecx
add edx, eax
lea eax, [r8 + r10]
xor eax, r8d
add edx, eax
add r15d, edx
sub r13, 1
jne 0x1400eb670
lea r14, [rsp + 0x60]
nop dword [rax]
mov eax, dword [r14 - 0x40]
mov ebx, dword [r14 - 0x60]
mov edx, dword [r14 - 0x20]
lea edi, [rbx + rax]
sub ebx, eax
mov eax, dword [r14]
lea ecx, [rdx + rax]
sub edx, eax
lea r11d, [rcx + rdi]
sub edi, ecx
mov eax, r11d
shr eax, 0xf
and eax, 0x10001
lea r10d, [rdx + rbx]
imul r9d, eax, 0xffff
sub ebx, edx
mov eax, r10d
shr eax, 0xf
and eax, 0x10001
imul r8d, eax, 0xffff
mov eax, edi
shr eax, 0xf
and eax, 0x10001
imul ecx, eax, 0xffff
mov eax, ebx
shr eax, 0xf
lea esi, [r9 + r11]
and eax, 0x10001
xor esi, r9d
imul eax, eax, 0xffff
add esi, r12d
lea edx, [rax + rbx]
mov ebx, dword [r14 - 0x5c]
xor edx, eax
lea eax, [rcx + rdi]
xor eax, ecx
add edx, eax
lea eax, [r8 + r10]
xor eax, r8d
add edx, eax
mov eax, dword [r14 - 0x3c]
add esi, edx
mov edx, dword [r14 - 0x1c]
lea edi, [rbx + rax]
sub ebx, eax
mov eax, dword [r14 + 4]
lea ecx, [rdx + rax]
sub edx, eax
lea r11d, [rcx + rdi]
sub edi, ecx
mov eax, r11d
shr eax, 0xf
and eax, 0x10001
lea r10d, [rdx + rbx]
imul r9d, eax, 0xffff
sub ebx, edx
mov eax, r10d
shr eax, 0xf
and eax, 0x10001
imul r8d, eax, 0xffff
mov eax, edi
shr eax, 0xf
and eax, 0x10001
imul ecx, eax, 0xffff
mov eax, ebx
shr eax, 0xf
and eax, 0x10001
imul eax, eax, 0xffff
lea edx, [rax + rbx]
xor edx, eax
lea eax, [rcx + rdi]
xor eax, ecx
add edx, eax
lea eax, [r8 + r10]
xor eax, r8d
add edx, eax
lea eax, [r9 + r11]
xor eax, r9d
add esi, eax
mov eax, dword [r14 - 0x38]
add esi, edx
mov ebx, dword [r14 - 0x58]
mov edx, dword [r14 - 0x18]
lea r14, [r14 + 0x10]
lea edi, [rbx + rax]
sub ebx, eax
mov eax, dword [r14 - 8]
lea ecx, [rdx + rax]
sub edx, eax
lea r11d, [rcx + rdi]
sub edi, ecx
mov eax, r11d
shr eax, 0xf
and eax, 0x10001
lea r10d, [rdx + rbx]
imul r9d, eax, 0xffff
sub ebx, edx
mov eax, r10d
shr eax, 0xf
and eax, 0x10001
imul r8d, eax, 0xffff
mov eax, edi
shr eax, 0xf
and eax, 0x10001
imul ecx, eax, 0xffff
mov eax, ebx
shr eax, 0xf
and eax, 0x10001
imul eax, eax, 0xffff
lea edx, [rax + rbx]
mov ebx, dword [r14 - 0x64]
xor edx, eax
lea eax, [rcx + rdi]
xor eax, ecx
add edx, eax
lea eax, [r8 + r10]
xor eax, r8d
add edx, eax
lea eax, [r9 + r11]
xor eax, r9d
add esi, eax
mov eax, dword [r14 - 0x44]
add esi, edx
mov edx, dword [r14 - 0x24]
lea edi, [rbx + rax]
sub ebx, eax
mov eax, dword [r14 - 4]
lea ecx, [rdx + rax]
sub edx, eax
lea r11d, [rcx + rdi]
sub edi, ecx
mov eax, r11d
shr eax, 0xf
and eax, 0x10001
lea r10d, [rdx + rbx]
imul r9d, eax, 0xffff
sub ebx, edx
mov eax, r10d
shr eax, 0xf
and eax, 0x10001
imul r8d, eax, 0xffff
mov eax, edi
shr eax, 0xf
and eax, 0x10001
imul ecx, eax, 0xffff
mov eax, ebx
shr eax, 0xf
lea r12d, [r9 + r11]
and eax, 0x10001
xor r12d, r9d
imul eax, eax, 0xffff
add r12d, esi
lea edx, [rax + rbx]
xor edx, eax
lea eax, [rcx + rdi]
xor eax, ecx
add edx, eax
lea eax, [r8 + r10]
xor eax, r8d
add edx, eax
add r12d, edx
sub rbp, 1
jne 0x1400eb8f0
movzx eax, word [rsp]
lea r11, [rsp + 0x80]
add ax, word [rsp + 0x20]
mov ecx, r12d
add ax, word [rsp + 0x40]
mov edx, r15d
add ax, word [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movzx r8d, ax
shr ecx, 0x10
movzx eax, r12w
add eax, ecx
shr edx, 0x10
movzx ecx, r15w
sub eax, r8d
add ecx, edx
shl rax, 0x20
sub ecx, r8d
add rax, rcx
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret