Function at 0x1400a9f40
Capabilities:
Encode data using xor

Disassembly:
xchg r10, rbx
mov qword [rsp + 8], r10
xchg r10, rbx
mov qword [rsp + 0x10], rbp
xchg r11, rsi
mov qword [rsp + 0x18], r11
xchg rsi, r11
xchg r14, rdi
mov qword [rsp + 0x20], r14
xchg r14, rdi
push r12
mov dword [rsp - 0x44], 0x49e3edf8
nop
sub rsp, 8
mov qword [rsp], r13
push rax
mov qword [rsp], r14
push r15
xchg r14, r14
movsxd rax, r8d
xchg rcx, rsi
mov r13, rsi
xchg rcx, rsi
xor ecx, ecx
xchg r12, r9
mov r9, r12
xchg r12, r9
xchg rbx, rdx
mov rdx, rbx
xchg rdx, rbx
mov r10d, ecx
lea r11, [rax + rax*2]
mov r10, r10
shl r11, 1
shl r11, 1
nop word [rax + rax]
mov r10, r10
movsxd rax, dword [r12 + r10*4]
mov edi, ecx
xchg r9, r11
mov r11, qword [r13 + 8]
xchg r9, r11
add r9, r11
mov dword [r9 + 8], ecx
mov dword [rsp - 0x10], edi
mov rcx, rax
and eax, 3
mov qword [r9], 0x2f81ec83
add qword [r9], 0x26e9733e
add qword [r9], 0x22a8ee0b
xor qword [r9], 0x2bccfd83
sub qword [r9], 0x52d8b04f
lea rsi, [rbx + rax*2]
lea rax, [rcx + 1]
and eax, 3
mov dword [rsp - 0x44], esi
lea r14, [rbx + rax*2]
lea rax, [rcx - 2]
and eax, 3
lea r15, [rbx + rax*2]
mov rdx, rdx
lea rax, [rcx - 1]
and eax, 3
lea rbp, [rbx + rax*2]
mov rcx, rcx
mov eax, 0x46b55eff
sub eax, 0x44ead3a3
xor eax, 0x55e7aadd
xor eax, 0x59d5eb23
xor eax, 0xa7526009
mov ecx, edi
mov dword [rsp - 0x30], edi
mul edi
inc edi
shr edx, 1
mov dword [rsp - 0x30], esp
lea eax, [rdx + rdx*2]
movzx edx, word [rsi]
sub ecx, eax
mov dword [rsp - 0x2c], 0x6a902c5b
and dx, 1
movsxd rax, ecx
mov ecx, dword [r9 + rax*4]
lea r8, [r9 + rax*4]
mov rdx, rdx
movzx eax, dx
add ecx, ecx
or ecx, eax
not dx
mov rdx, rdx
mov dword [r8], ecx
movzx eax, word [rsi]
shl dx, 2
shl dx, 7
shl dx, 1
shl dx, 2
shl dx, 2
shl dx, 1
shr ax, 1
mov dword [rsp - 0x14], ecx
or dx, ax
mov word [rsi], dx
movzx edx, word [r14]
mov dword [rsp - 0x1c], ecx
mov ecx, dword [r8]
and dx, 1
movzx eax, dx
add ecx, ecx
mov r15, r15
or ecx, eax
not dx
mov dword [r8], ecx
xchg r13, r13
movzx eax, word [r14]
shl dx, 6
shl dx, 9
shr ax, 1
mov dword [rsp - 0x3c], ebx
or dx, ax
mov word [r14], dx
movzx edx, word [r15]
mov ecx, dword [r8]
mov dword [rsp - 0x30], 0x2f34e1a8
and dx, 1
movzx eax, dx
add ecx, ecx
or ecx, eax
mov rbx, rbx
not dx
mov dword [r8], ecx
movzx eax, word [r15]
shl dx, 8
shl dx, 1
shl dx, 1
shl dx, 3
shl dx, 2
shr ax, 1
xchg rsi, rsi
or dx, ax
mov word [r15], dx
movzx edx, word [rbp]
xchg rsp, rsp
mov ecx, dword [r8]
and dx, 1
movzx eax, dx
add ecx, ecx
mov dword [rsp - 0x1c], 0x42e46ea7
or ecx, eax
not dx
mov dword [r8], ecx
mov dword [rsp - 0x10], 0x9f977ae
movzx eax, word [rbp]
shr ax, 1
shl dx, 0xa
shl dx, 3
shl dx, 2
or dx, ax
mov dword [rsp - 0x28], edi
mov word [rbp], dx
cmp edi, 0xf
jl 0x1400aa034
mov dword [rsp - 0xc], 0x52c8e54b
inc r10
neg r11
add r11, 0xfffffffffffffff4
neg r11
mov ecx, 0x60064f10
xor ecx, 0x3e0b7e5f
add ecx, 0x149abd16
xor ecx, 0x72a7ee65
cmp r10, 8
mov dword [rsp - 0x30], ebp
jl 0x1400a9fc1
xchg rbx, rsi
mov rsi, qword [rsp + 0x28]
xchg rsi, rbx
xchg rbp, rdi
mov rdi, qword [rsp + 0x30]
xchg rbp, rdi
xchg rbx, rsi
mov rbx, qword [rsp + 0x38]
xchg rbx, rsi
mov rdi, qword [rsp + 0x40]
mov dword [rsp - 0x38], 0x3befd2f3
nop
mov r15, qword [rsp]
add rsp, 8
pop r14
mov rdx, rdx
nop
mov r13, qword [rsp]
add rsp, 8
nop
mov r12, qword [rsp]
add rsp, 8
ret