Function at 0x1400899f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
xchg r10, rbp
mov qword [rsp + 0x10], r10
xchg rbp, r10
xchg rbx, rsi
mov qword [rsp + 0x18], rbx
xchg rbx, rsi
xchg r9, rdi
mov qword [rsp + 0x20], r9
xchg rdi, r9
push r12
nop
sub rsp, 8
mov qword [rsp], r13
push r14
push r15
mov dword [rsp - 0x28], ebx
movsxd rax, r8d
xchg r13, rcx
mov rcx, r13
xchg r13, rcx
xor ecx, ecx
mov rcx, rcx
mov r12, r9
xchg rbx, rdx
mov rdx, rbx
xchg rbx, rdx
mov r10d, ecx
lea r11, [rax + rax*2]
mov rbx, rbx
shl r11, 2
nop word [rax + rax]
movsxd rax, dword [r12 + r10*4]
mov dword [rsp - 0x28], ebp
mov edi, ecx
xchg rsp, r9
mov rsp, qword [r13 + 8]
xchg r9, rsp
add r9, r11
mov dword [r9 + 8], ecx
mov rsi, rsi
xchg r10, rax
mov rcx, r10
xchg r10, rax
and eax, 3
mov dword [rsp - 0xc], 0x1798e44
mov qword [r9], 0xfad6263
add qword [r9], 0x166787c0
add qword [r9], 0x1f50fd0a
sub qword [r9], 0x4565e72d
lea rsi, [rbx + rax*2]
lea rax, [rcx + 1]
mov rdi, rdi
and eax, 3
lea r14, [rbx + rax*2]
lea rax, [rcx - 2]
and eax, 3
mov dword [rsp - 0x3c], ebx
lea r15, [rbx + rax*2]
lea rax, [rcx - 1]
and eax, 3
lea rbp, [rbx + rax*2]
xchg r10, r10
mov eax, 0x4684e4ac
xor eax, 0x27cd500e
xor eax, 0x3297e5e2
add eax, 0xa5136e8
add eax, 0x4c7b2283
mov ecx, edi
mov dword [rsp - 0x18], esp
mul edi
inc edi
shr edx, 1
lea eax, [rdx + rdx*2]
mov r15, r15
movzx edx, word [rsi]
sub ecx, eax
and dx, 1
movsxd rax, ecx
mov r9, r9
mov ecx, dword [r9 + rax*4]
lea r8, [r9 + rax*4]
movzx eax, dx
mov r10, r10
add ecx, ecx
or ecx, eax
not dx
mov rdi, rdi
mov dword [r8], ecx
movzx eax, word [rsi]
shl dx, 1
shl dx, 8
shl dx, 3
shl dx, 1
shl dx, 1
shl dx, 1
shr ax, 1
mov rbx, rbx
or dx, ax
mov word [rsi], dx
movzx edx, word [r14]
xchg r11, r11
mov ecx, dword [r8]
and dx, 1
movzx eax, dx
add ecx, ecx
mov r12, r12
or ecx, eax
not dx
mov dword [r8], ecx
mov dword [rsp - 0x40], edi
movzx eax, word [r14]
shl dx, 3
shl dx, 7
shl dx, 2
shl dx, 1
shl dx, 1
shl dx, 1
shr ax, 1
mov dword [rsp - 0x10], 0xbd1aa6f
or dx, ax
mov word [r14], dx
movzx edx, word [r15]
mov ecx, dword [r8]
mov rdi, rdi
and dx, 1
movzx eax, dx
add ecx, ecx
mov dword [rsp - 0x2c], 0x44bdf2e3
or ecx, eax
not dx
mov dword [r8], ecx
mov dword [rsp - 0x24], 0x4f379909
movzx eax, word [r15]
shl dx, 2
shl dx, 6
shl dx, 4
shl dx, 2
shl dx, 1
shr ax, 1
mov dword [rsp - 0x3c], esp
or dx, ax
mov word [r15], dx
movzx edx, word [rbp]
mov ecx, dword [r8]
mov dword [rsp - 0x10], 0x42df7b0b
and dx, 1
movzx eax, dx
add ecx, ecx
xchg r13, r13
or ecx, eax
not dx
mov dword [r8], ecx
mov r8, r8
movzx eax, word [rbp]
shr ax, 1
shl dx, 4
shl dx, 6
shl dx, 2
shl dx, 1
shl dx, 1
shl dx, 1
or dx, ax
mov word [rbp], dx
cmp edi, 0xf
mov dword [rsp - 0x14], ebx
jl 0x140089ada
inc r10
nop
add r11, 0x1f8f965c
sub r11, 0x1f8f9650
mov ecx, 0x6d5cc972
xor ecx, 0x168d2959
xor ecx, 0x7b17cb5a
xor ecx, 0xc62b71
cmp r10, 8
mov r14, r14
jl 0x140089a5f
xchg rcx, rbx
mov rcx, qword [rsp + 0x28]
xchg rcx, rbx
xchg rbp, rcx
mov rcx, qword [rsp + 0x30]
xchg rcx, rbp
mov rsi, qword [rsp + 0x38]
xchg rdi, rcx
mov rcx, qword [rsp + 0x40]
xchg rdi, rcx
pop r15
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
add rsp, 8
mov r13, qword [rsp - 8]
nop
add rsp, 8
mov r12, qword [rsp - 8]
ret