Function at 0x1400ec760
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, 0xa0
mov eax, 2
mov dword [rsp + 4], 0
mov qword [rsp + 0x18], rax
lea rsi, [rsp + 0x38]
mov r15d, eax
mov rbp, r9
mov rbx, r8
mov r14, rdx
mov rdi, rcx
nop word [rax + rax]
movzx eax, byte [rbx]
movzx r10d, byte [rdi]
movzx r8d, byte [rdi + 1]
sub r10d, eax
movzx eax, byte [rbx + 1]
mov r11d, r10d
movzx edx, byte [rdi + 2]
sub r8d, eax
movzx eax, byte [rbx + 2]
sub r11d, r8d
movzx ecx, byte [rdi + 3]
sub edx, eax
movzx eax, byte [rbx + 3]
mov r9d, edx
sub ecx, eax
shl r11d, 0x10
movzx eax, byte [rbx + 4]
sub r9d, ecx
add r11d, r8d
shl r9d, 0x10
add r9d, ecx
add r11d, r10d
movzx ecx, byte [rdi + 5]
add r9d, edx
movzx edx, byte [rdi + 4]
sub edx, eax
movzx eax, byte [rbx + 5]
sub ecx, eax
mov r8d, edx
movzx eax, byte [rbx + 6]
sub r8d, ecx
shl r8d, 0x10
add r8d, ecx
movzx ecx, byte [rdi + 7]
add r8d, edx
movzx edx, byte [rdi + 6]
sub edx, eax
add rdi, r14
movzx eax, byte [rbx + 7]
add rbx, rbp
sub ecx, eax
mov eax, edx
sub eax, ecx
shl eax, 0x10
add eax, ecx
add eax, edx
lea edx, [r9 + r11]
sub r11d, r9d
lea ecx, [rax + r8]
sub r8d, eax
lea eax, [rcx + rdx]
sub edx, ecx
movzx ecx, byte [rdi + 1]
mov dword [rsi - 0x18], eax
mov dword [rsi - 0x10], edx
lea eax, [r8 + r11]
movzx edx, byte [rdi]
sub r11d, r8d
mov dword [rsi - 0x14], eax
movzx eax, byte [rbx]
sub edx, eax
mov dword [rsi - 0xc], r11d
movzx eax, byte [rbx + 1]
mov r10d, edx
sub ecx, eax
movzx eax, byte [rbx + 2]
sub r10d, ecx
shl r10d, 0x10
add r10d, ecx
movzx ecx, byte [rdi + 3]
add r10d, edx
movzx edx, byte [rdi + 2]
sub edx, eax
movzx eax, byte [rbx + 3]
sub ecx, eax
mov r9d, edx
sub r9d, ecx
shl r9d, 0x10
add r9d, ecx
add r9d, edx
movzx edx, byte [rdi + 4]
movzx eax, byte [rbx + 4]
sub edx, eax
movzx ecx, byte [rdi + 5]
movzx eax, byte [rbx + 5]
mov r8d, edx
sub ecx, eax
movzx eax, byte [rbx + 6]
sub r8d, ecx
shl r8d, 0x10
add r8d, ecx
movzx ecx, byte [rdi + 7]
add r8d, edx
movzx edx, byte [rdi + 6]
sub edx, eax
add rdi, r14
movzx eax, byte [rbx + 7]
add rbx, rbp
sub ecx, eax
mov eax, edx
sub eax, ecx
shl eax, 0x10
add eax, ecx
add eax, edx
lea edx, [r9 + r10]
sub r10d, r9d
lea ecx, [rax + r8]
sub r8d, eax
lea eax, [rcx + rdx]
sub edx, ecx
movzx ecx, byte [rdi + 1]
mov dword [rsi - 8], eax
lea eax, [r8 + r10]
mov dword [rsi], edx
movzx edx, byte [rdi]
sub r10d, r8d
mov dword [rsi - 4], eax
movzx eax, byte [rbx]
sub edx, eax
mov dword [rsi + 4], r10d
movzx eax, byte [rbx + 1]
mov r10d, edx
sub ecx, eax
movzx eax, byte [rbx + 2]
sub r10d, ecx
shl r10d, 0x10
add r10d, ecx
movzx ecx, byte [rdi + 3]
add r10d, edx
movzx edx, byte [rdi + 2]
sub edx, eax
movzx eax, byte [rbx + 3]
sub ecx, eax
mov r9d, edx
movzx eax, byte [rbx + 4]
sub r9d, ecx
shl r9d, 0x10
add r9d, ecx
movzx ecx, byte [rdi + 5]
add r9d, edx
movzx edx, byte [rdi + 4]
sub edx, eax
movzx eax, byte [rbx + 5]
sub ecx, eax
mov r8d, edx
movzx eax, byte [rbx + 6]
sub r8d, ecx
shl r8d, 0x10
add r8d, ecx
movzx ecx, byte [rdi + 7]
add r8d, edx
movzx edx, byte [rdi + 6]
sub edx, eax
movzx eax, byte [rbx + 7]
sub ecx, eax
mov eax, edx
sub eax, ecx
shl eax, 0x10
add eax, ecx
add eax, edx
lea edx, [r9 + r10]
sub r10d, r9d
lea ecx, [rax + r8]
add rdi, r14
sub r8d, eax
lea rsi, [rsi + 0x40]
lea eax, [rcx + rdx]
add rbx, rbp
sub edx, ecx
mov dword [rsi - 0x38], eax
movzx ecx, byte [rdi + 1]
lea eax, [r8 + r10]
mov dword [rsi - 0x30], edx
movzx edx, byte [rdi]
sub r10d, r8d
mov dword [rsi - 0x34], eax
movzx eax, byte [rbx]
sub edx, eax
mov dword [rsi - 0x2c], r10d
movzx eax, byte [rbx + 1]
mov r10d, edx
sub ecx, eax
movzx eax, byte [rbx + 2]
sub r10d, ecx
shl r10d, 0x10
add r10d, ecx
movzx ecx, byte [rdi + 3]
add r10d, edx
movzx edx, byte [rdi + 2]
sub edx, eax
movzx eax, byte [rbx + 3]
sub ecx, eax
mov r9d, edx
movzx eax, byte [rbx + 4]
sub r9d, ecx
shl r9d, 0x10
add r9d, ecx
movzx ecx, byte [rdi + 5]
add r9d, edx
movzx edx, byte [rdi + 4]
sub edx, eax
movzx eax, byte [rbx + 5]
sub ecx, eax
mov r8d, edx
movzx eax, byte [rbx + 6]
sub r8d, ecx
shl r8d, 0x10
add r8d, ecx
movzx ecx, byte [rdi + 7]
add r8d, edx
movzx edx, byte [rdi + 6]
sub edx, eax
add rdi, r14
movzx eax, byte [rbx + 7]
add rbx, rbp
sub ecx, eax
mov eax, edx
sub eax, ecx
shl eax, 0x10
add eax, ecx
add eax, edx
lea edx, [r9 + r10]
sub r10d, r9d
lea ecx, [rax + r8]
sub r8d, eax
lea eax, [rcx + rdx]
sub edx, ecx
mov dword [rsi - 0x28], eax
mov dword [rsi - 0x20], edx
lea eax, [r8 + r10]
sub r10d, r8d
mov dword [rsi - 0x1c], r10d
mov dword [rsi - 0x24], eax
sub r15, 1
jne 0x1400ec7b0
lea rcx, [rsp + 0x24]
nop
mov eax, dword [rcx + 0xc]
mov r9d, dword [rcx - 4]
mov r8d, dword [rcx + 0x1c]
mov r15d, dword [rcx + 0x3c]
lea ebx, [r9 + rax]
sub r9d, eax
mov eax, dword [rcx + 0x2c]
lea edx, [rax + r8]
sub r8d, eax
mov eax, dword [rcx + 0x4c]
lea edi, [rdx + rbx]
sub ebx, edx
mov dword [rsp], ebx
lea r11d, [r8 + r9]
sub r9d, r8d
lea r10d, [rax + r15]
mov r8d, dword [rcx + 0x5c]
sub r15d, eax
mov dword [rsp + 8], r9d
mov eax, dword [rcx + 0x6c]
lea edx, [rax + r8]
sub r8d, eax
lea r9d, [rdx + r10]
sub r10d, edx
add ebx, r10d
lea r13d, [r9 + rdi]
sub edi, r9d
mov eax, r13d
shr eax, 0xf
lea edx, [r8 + r15]
and eax, 0x10001
mov dword [rsp + 0x10], edi
imul r12d, eax, 0xffff
lea ebp, [rdx + r11]
sub r11d, edx
sub r15d, r8d
mov eax, edi
mov dword [rsp + 0xc], r11d
shr eax, 0xf
and eax, 0x10001
imul r14d, eax, 0xffff
mov eax, ebp
shr eax, 0xf
and eax, 0x10001
imul esi, eax, 0xffff
mov eax, r11d
shr eax, 0xf
and eax, 0x10001
imul edi, eax, 0xffff
mov eax, ebx
shr eax, 0xf
and eax, 0x10001
imul r11d, eax, 0xffff
mov eax, dword [rsp]
sub eax, r10d
mov r10d, dword [rsp + 8]
mov dword [rsp], eax
shr eax, 0xf
and eax, 0x10001
imul r9d, eax, 0xffff
lea r8d, [r15 + r10]
sub r10d, r15d
mov eax, r8d
shr eax, 0xf
and eax, 0x10001
imul edx, eax, 0xffff
mov eax, r10d
shr eax, 0xf
and eax, 0x10001
imul eax, eax, 0xffff
add r10d, eax
xor r10d, eax
lea eax, [rdx + r8]
xor eax, edx
add r10d, eax
mov eax, dword [rsp]
add eax, r9d
xor eax, r9d
add r10d, eax
lea eax, [r11 + rbx]
xor eax, r11d
add r10d, eax
mov r9d, dword [rcx]
mov eax, dword [rsp + 0xc]
add eax, edi
mov r8d, dword [rcx + 0x20]
xor eax, edi
mov r15d, dword [rcx + 0x40]
add r10d, eax
lea eax, [rsi + rbp]
xor eax, esi
add r10d, eax
mov eax, dword [rsp + 0x10]
add eax, r14d
xor eax, r14d
add r10d, eax
lea eax, [r12 + r13]
xor eax, r12d
add r10d, eax
mov edx, r10d
movzx eax, r10w
add eax, dword [rsp + 4]
shr edx, 0x10
add eax, edx
mov dword [rsp + 4], eax
mov eax, dword [rcx + 0x10]
lea ebx, [r9 + rax]
sub r9d, eax
mov eax, dword [rcx + 0x30]
lea edx, [rax + r8]
sub r8d, eax
mov eax, dword [rcx + 0x50]
lea edi, [rdx + rbx]
sub ebx, edx
mov dword [rsp], ebx
lea r11d, [r8 + r9]
sub r9d, r8d
mov r8d, dword [rcx + 0x60]
lea r10d, [rax + r15]
sub r15d, eax
mov dword [rsp + 0x10], r9d
mov eax, dword [rcx + 0x70]
lea edx, [rax + r8]
sub r8d, eax
lea r9d, [rdx + r10]
sub r10d, edx
lea r13d, [r9 + rdi]
add ebx, r10d
sub edi, r9d
mov eax, r13d
shr eax, 0xf
lea edx, [r8 + r15]
and eax, 0x10001
mov dword [rsp + 8], edi
imul r12d, eax, 0xffff
lea ebp, [rdx + r11]
sub r11d, edx
mov eax, edi
shr eax, 0xf
sub r15d, r8d
and eax, 0x10001
mov dword [rsp + 0xc], r11d
imul r14d, eax, 0xffff
mov eax, ebp
shr eax, 0xf
and eax, 0x10001
imul esi, eax, 0xffff
mov eax, r11d
shr eax, 0xf
and eax, 0x10001
imul edi, eax, 0xffff
mov eax, ebx
shr eax, 0xf
and eax, 0x10001
imul r11d, eax, 0xffff
mov eax, dword [rsp]
sub eax, r10d
mov r10d, dword [rsp + 0x10]
mov dword [rsp], eax
shr eax, 0xf
and eax, 0x10001
imul r9d, eax, 0xffff
lea r8d, [r15 + r10]
sub r10d, r15d
mov eax, r8d
lea rcx, [rcx + 8]
shr eax, 0xf
and eax, 0x10001
imul edx, eax, 0xffff
mov eax, r10d
shr eax, 0xf
and eax, 0x10001
imul eax, eax, 0xffff
add r10d, eax
xor r10d, eax
lea eax, [rdx + r8]
xor eax, edx
add r10d, eax
mov eax, dword [rsp]
add eax, r9d
xor eax, r9d
add r10d, eax
lea eax, [r11 + rbx]
xor eax, r11d
add r10d, eax
mov eax, dword [rsp + 0xc]
add eax, edi
xor eax, edi
add r10d, eax
lea eax, [rsi + rbp]
xor eax, esi
add r10d, eax
mov eax, dword [rsp + 8]
add eax, r14d
xor eax, r14d
add r10d, eax
lea eax, [r12 + r13]
xor eax, r12d
add r10d, eax
mov edx, r10d
movzx eax, r10w
add eax, dword [rsp + 4]
shr edx, 0x10
add eax, edx
sub qword [rsp + 0x18], 1
mov dword [rsp + 4], eax
jne 0x1400ecaa0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret