Function at 0x14008c9d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov dword [rsp - 0x18], 0x644f3f66
xchg rsi, rdi
mov qword [rsp + 0x18], rdi
xchg rsi, rdi
xchg rdi, rbp
mov qword [rsp + 0x20], rbp
xchg rdi, rbp
nop
mov qword [rsp - 8], r12
sub rsp, 8
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
mov qword [rsp - 8], r14
sub rsp, 8
push rdi
mov qword [rsp], r15
movsxd rax, r8d
mov dword [rsp - 0x24], esi
xchg rsi, rcx
mov r13, rsi
xchg rcx, rsi
xor ecx, ecx
mov r12, r9
mov r12, r12
mov rbx, rdx
mov r10d, ecx
lea r11, [rax + rax*2]
mov dword [rsp - 0x1c], 0x12a60a2a
shl r11, 1
shl r11, 1
nop word [rax + rax]
movsxd rax, dword [r12 + r10*4]
mov dword [rsp - 0x38], ebp
mov edi, ecx
xchg r8, r9
mov r8, qword [r13 + 8]
xchg r9, r8
add r9, r11
mov dword [r9 + 8], ecx
xchg r15, rcx
mov r15, rax
xchg r15, rcx
and eax, 3
mov dword [rsp - 0x1c], 0x71e103e2
mov qword [r9], 0x289acd7b
add qword [r9], 0x31c59514
sub qword [r9], 0x85eee19
xor qword [r9], 0x60cbc66b
sub qword [r9], 0x32cab21d
lea rsi, [rbx + rax*2]
lea rax, [rcx + 1]
and eax, 3
xchg r14, r14
lea r14, [rbx + rax*2]
lea rax, [rcx - 2]
and eax, 3
lea r15, [rbx + rax*2]
xchg rsp, rsp
lea rax, [rcx - 1]
and eax, 3
lea rbp, [rbx + rax*2]
mov rdi, rdi
mov eax, 0x14186b69
add eax, 0x4c98c3b7
sub eax, 0x311a536f
add eax, 0x1cfa1ba3
xor eax, 0xe63a5dff
mov ecx, edi
mul edi
mov dword [rsp - 0x24], esi
inc edi
shr edx, 1
lea eax, [rdx + rdx*2]
mov dword [rsp - 0x38], ebp
movzx edx, word [rsi]
sub ecx, eax
and dx, 1
mov dword [rsp - 0x28], 0x14ea00f1
movsxd rax, ecx
mov ecx, dword [r9 + rax*4]
lea r8, [r9 + rax*4]
movzx eax, dx
xchg r8, r8
add ecx, ecx
or ecx, eax
not dx
mov dword [r8], ecx
xchg rdx, rdx
movzx eax, word [rsi]
shl dx, 6
shl dx, 1
shl dx, 5
shl dx, 2
shl dx, 1
shr ax, 1
or dx, ax
xchg r13, r13
mov word [rsi], dx
movzx edx, word [r14]
mov ecx, dword [r8]
and dx, 1
mov dword [rsp - 0x20], 0x25dee9a6
movzx eax, dx
add ecx, ecx
or ecx, eax
not dx
mov dword [rsp - 0x44], ebx
mov dword [r8], ecx
movzx eax, word [r14]
shl dx, 7
shl dx, 4
shl dx, 3
shl dx, 1
shr ax, 1
or dx, ax
xchg r9, r9
mov word [r14], dx
movzx edx, word [r15]
mov ecx, dword [r8]
xchg rbx, rbx
and dx, 1
movzx eax, dx
add ecx, ecx
mov dword [rsp - 0x20], ecx
or ecx, eax
not dx
mov dword [r8], ecx
movzx eax, word [r15]
mov dword [rsp - 0xc], ebx
shl dx, 4
shl dx, 0xa
shl dx, 1
shr ax, 1
mov dword [rsp - 0xc], ecx
or dx, ax
mov word [r15], dx
movzx edx, word [rbp]
mov ecx, dword [r8]
mov dword [rsp - 0x40], edi
and dx, 1
movzx eax, dx
add ecx, ecx
or ecx, eax
mov r13, r13
not dx
mov dword [r8], ecx
movzx eax, word [rbp]
xchg r11, r11
shr ax, 1
shl dx, 0xc
shl dx, 1
shl dx, 1
shl dx, 1
or dx, ax
xchg rbx, rbx
mov word [rbp], dx
cmp edi, 0xf
jl 0x14008cad6
mov dword [rsp - 0x24], ebx
inc r10
add r11, 0xc
mov ecx, 0x3af4fa2
add ecx, 0x41d07221
xor ecx, 0x5157b505
xor ecx, 0x142874c6
cmp r10, 8
jl 0x14008ca56
xchg r9, r9
mov rbx, qword [rsp + 0x28]
xchg r8, rbp
mov r8, qword [rsp + 0x30]
xchg r8, rbp
mov rsi, qword [rsp + 0x38]
xchg rdi, rsi
mov rsi, qword [rsp + 0x40]
xchg rsi, rdi
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
mov r13, qword [rsp]
add rsp, 8
pop r12
mov dword [rsp - 0x28], esi
ret