Function at 0x1402cef70
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov eax, dword [rcx + 0x18]
mov r13, r8
mov r8d, dword [rcx + 0x1c]
mov edi, eax
mov r10d, dword [rcx + 0x20]
mov esi, r8d
mov ebx, dword [rcx]
mov ebp, r10d
mov r9d, dword [rcx + 0x14]
mov r11, rdx
mov r14d, dword [rcx + 4]
mov r15d, dword [rcx + 8]
mov r12d, dword [rcx + 0xc]
mov edx, dword [rcx + 0x10]
shr esi, 2
shr edi, 2
add esi, r8d
shr ebp, 2
add edi, eax
add ebp, r10d
mov dword [rsp], ebx
cmp r13, 0x10
jb 0x1402cf264
mov qword [rsp + 0x28], r10
mov ecx, edx
lea r10, [r11 + 6]
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r10
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], r8
shr r13, 4
nop dword [rax]
movzx eax, byte [r10 - 4]
movzx ebx, byte [r10 - 3]
movzx r9d, byte [r10 + 1]
movzx r8d, byte [r10 + 5]
movzx edx, byte [r10 + 9]
shl r9, 8
shl rbx, 8
or rbx, rax
shl r8, 8
movzx eax, byte [r10 - 5]
shl rdx, 8
shl rbx, 8
or rbx, rax
movzx eax, byte [r10 - 6]
shl rbx, 8
or rbx, rax
mov eax, dword [rsp]
add rbx, rax
movzx eax, byte [r10]
or r9, rax
movzx eax, byte [r10 - 1]
shl r9, 8
or r9, rax
movzx eax, byte [r10 - 2]
shl r9, 8
or r9, rax
mov rax, rbx
shr rax, 0x20
add r9, rax
mov eax, r14d
add r9, rax
movzx eax, byte [r10 + 4]
or r8, rax
mov r11d, r9d
movzx eax, byte [r10 + 3]
shl r8, 8
or r8, rax
movzx eax, byte [r10 + 2]
shl r8, 8
or r8, rax
mov rax, r9
shr rax, 0x20
add r8, rax
mov r9d, ebp
mov eax, r15d
add r8, rax
movzx eax, byte [r10 + 8]
or rdx, rax
movzx eax, byte [r10 + 7]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 6]
shl rdx, 8
or rdx, rax
mov r10d, r8d
mov rax, r8
shr rax, 0x20
add rdx, rax
mov eax, r12d
add rdx, rax
mov r12d, esi
mov rax, rdx
mov r8d, edx
shr rax, 0x20
add eax, dword [rsp + 0x88]
add ecx, eax
mov edx, ebx
mov rbx, qword [rsp + 0x20]
mov r15d, ecx
mov eax, edi
mov r14, rbx
imul rax, r8
imul r14, rdx
add r14, rax
mov eax, esi
imul rax, r10
add r14, rax
mov eax, ebp
imul rax, r11
add r14, rax
imul r15d, edi
mov rax, qword [rsp + 8]
imul rax, rdx
add r15, rax
mov eax, r8d
imul rax, r12
mov r12d, ecx
add r15, rax
imul r12d, esi
mov rax, rbx
imul rax, r11
add r15, rax
mov eax, r10d
imul rax, r9
add r15, rax
mov rax, r14
shr rax, 0x20
add r15, rax
mov rax, rbx
imul rax, r10
add r12, rax
mov eax, r8d
imul rax, r9
mov r9d, ecx
imul ecx, ebx
add r12, rax
imul r9d, ebp
mov rax, qword [rsp + 0x10]
imul rax, rdx
add r12, rax
mov rax, qword [rsp + 8]
imul rax, r11
add r12, rax
mov rax, r15
shr rax, 0x20
add r12, rax
mov rax, rbx
imul rax, r8
add r9, rax
mov rax, qword [rsp + 8]
imul rax, r10
add r9, rax
mov rax, qword [rsp + 0x28]
imul rax, rdx
add r9, rax
mov rax, qword [rsp + 0x10]
imul rax, r11
add r9, rax
mov rax, r12
shr rax, 0x20
add r9, rax
mov rax, r9
shr rax, 0x20
add ecx, eax
mov edx, ecx
mov eax, ecx
mov r8d, ecx
shr edx, 2
and eax, 0xfffffffc
mov ecx, r9d
add edx, eax
and r8d, 3
lea ebx, [r14 + rdx]
xor r14d, edx
xor edx, ebx
mov dword [rsp], ebx
or r14d, edx
xor r14d, ebx
shr r14d, 0x1f
add r14d, r15d
or r15d, r14d
xor r15d, r14d
shr r15d, 0x1f
add r15d, r12d
or r12d, r15d
xor r12d, r15d
shr r12d, 0x1f
add r12d, r9d
or ecx, r12d
xor ecx, r12d
shr ecx, 0x1f
add ecx, r8d
mov r10, qword [rsp + 0x18]
add r10, 0x10
mov qword [rsp + 0x18], r10
sub r13, 1
jne 0x1402cf000
mov dword [rsp + 0x80], ecx
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
mov dword [rcx], ebx
mov rbx, qword [rsp + 0x78]
mov dword [rcx + 4], r14d
mov dword [rcx + 8], r15d
mov dword [rcx + 0xc], r12d
mov dword [rcx + 0x10], edx
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret