Function at 0x1400a98b5
Capabilities:
Encode data using xor

Disassembly:
xchg r8, rbx
mov qword [rsp + 0x18], r8
xchg rbx, r8
push rdi
movzx eax, byte [rdx + 1]
xchg rbx, r8
mov r8, rbx
xchg rbx, r8
movzx r11d, byte [rdx]
xchg r8, rdx
mov rdx, rcx
xchg r8, rdx
movzx ecx, byte [rdx + 5]
shl r11d, 1
shl r11d, 1
shl r11d, 5
shl r11d, 1
or r11d, eax
movzx eax, byte [rdx + 2]
shl r11d, 3
shl r11d, 5
or r11d, eax
movzx eax, byte [rdx + 3]
xchg rsi, rsi
shl r11d, 3
shl r11d, 4
shl r11d, 1
or r11d, eax
xchg r15, r15
movzx eax, byte [rdx + 4]
shl eax, 7
shl eax, 1
or eax, ecx
movzx ecx, byte [rdx + 6]
shl eax, 7
shl eax, 1
or eax, ecx
movzx ecx, byte [rdx + 7]
mov dword [rsp - 0x44], esi
shl eax, 1
shl eax, 5
shl eax, 1
shl eax, 1
or eax, ecx
mov ecx, dword [r8 + 4]
dec ecx
mov r9, r9
movsxd rdi, ecx
test ecx, ecx
jle 0x1400a9b45
mov r15, r15
mov rdx, qword [r8 + 8]
mov qword [rsp + 0x10], rsi
lea rsi, [rdi - 1]
lea rsi, [rdi + rsi*2]
mov dword [rsp - 0x40], 0x73a07742
mov qword [rsp + 0x18], r14
dec rdi
lea r14, [0x1404dc580]
shr rdi, 1
mov dword [rsp - 0x30], edx
lea rsi, [rdx + rsi*4]
inc rdi
nop dword [rax + rax]
mov dword [rsp - 0x38], ebp
mov r10d, dword [rsi + 0xc]
lea rsi, [rsi - 0x18]
mov edx, eax
xchg rcx, rcx
mov r9d, eax
and edx, 0x3ff00
ror r9d, 4
ror r9d, 2
ror r9d, 8
shl edx, 1
shl edx, 1
and r9d, 0xffc00
mov ecx, eax
shr ecx, 3
shr ecx, 0xd
and ecx, 0x3ff
or r9d, ecx
mov r12, r12
mov ecx, eax
and ecx, 0x3ff
or edx, ecx
mov r8d, edx
mov r12, r12
xor edx, r9d
and edx, dword [rsi + 0x28]
xor r10, r8
mov dword [rsp - 0x1c], ecx
mov r8d, dword [rsi + 0x20]
xor r10, rdx
xor r8, r9
mov dword [rsp - 0x10], 0x1a5ef463
mov r9d, dword [rsi + 0x14]
xor r8, rdx
mov rcx, r8
and r8d, 0x3ff
xchg rdx, rdx
shr rcx, 1
shr rcx, 6
shr rcx, 1
shr rcx, 1
shr rcx, 1
mov edx, dword [r14 + rcx*4]
xchg rsi, rsi
xchg r8, rcx
mov r8, r10
xchg r8, rcx
shr rcx, 8
shr rcx, 1
shr rcx, 1
xor edx, 0x22f32e8b
mov dword [rsp - 0x3c], 0x2753567
and r10d, 0x3ff
mov ecx, dword [r14 + rcx*4 + 0x2000]
xor ecx, 0x22f32e8b
or edx, ecx
mov rbp, rbp
mov ecx, dword [r14 + r8*4 + 0x1000]
xor ecx, 0x22f32e8b
or edx, ecx
mov ecx, dword [r14 + r10*4 + 0x3000]
mov r9, r9
xor ecx, 0x22f32e8b
or edx, ecx
xor r11d, edx
mov dword [rsp - 0x10], edx
mov edx, r11d
mov r8d, r11d
ror r8d, 0xb
ror r8d, 2
ror r8d, 1
and edx, 0x3ff00
mov r14, r14
and r8d, 0xffc00
shl edx, 1
shl edx, 1
mov ecx, r11d
mov dword [rsp - 0xc], esi
shr ecx, 6
shr ecx, 5
shr ecx, 5
and ecx, 0x3ff
or r8d, ecx
mov ecx, r11d
mov rbp, rbp
and ecx, 0x3ff
xor r9, r8
or edx, ecx
mov ecx, dword [rsi + 0x18]
xchg r10, r10
mov r10d, edx
xor edx, r8d
and edx, dword [rsi + 0x1c]
xor r10, rcx
xchg rbp, rbp
xor r10, rdx
xor r9, rdx
xchg rcx, rsp
mov rsp, r10
xchg rcx, rsp
and r10d, 0x3ff
shr rcx, 8
shr rcx, 2
mov r8d, dword [r14 + rcx*4 + 0x2000]
xchg rdx, rcx
mov rdx, r9
xchg rcx, rdx
shr rcx, 3
shr rcx, 1
shr rcx, 6
xor r8d, 0x22f32e8b
mov r15, r15
and r9d, 0x3ff
mov edx, dword [r14 + rcx*4]
mov ecx, dword [r14 + r10*4 + 0x3000]
xor edx, 0x22f32e8b
mov dword [rsp - 0x34], 0x6c9db47
xor ecx, 0x22f32e8b
or r8d, edx
or r8d, ecx
mov ecx, dword [r14 + r9*4 + 0x1000]
mov dword [rsp - 0xc], 0x213fbc3a
xor ecx, 0x22f32e8b
or r8d, ecx
xor eax, r8d
mov r12, r12
sub rdi, 1
jne 0x1400a9930
xchg r15, r14
mov r15, qword [rsp + 0x18]
xchg r15, r14
mov rsi, qword [rsp + 0x10]
nop dword [rax]
xchg r9, r9
mov byte [rbx + 3], al
mov byte [rbx + 7], r11b
shr eax, 7
shr eax, 1
mov byte [rbx + 2], al
mov dword [rsp - 0x38], ebx
shr r11d, 3
shr r11d, 1
shr r11d, 2
shr r11d, 1
shr r11d, 1
mov byte [rbx + 6], r11b
xchg r15, r15
shr eax, 6
shr eax, 1
shr eax, 1
mov byte [rbx + 1], al
shr r11d, 4
shr r11d, 4
mov byte [rbx + 5], r11b
mov dword [rsp - 0x2c], 0x2c77435d
shr eax, 8
mov byte [rbx], al
shr r11d, 8
mov byte [rbx + 4], r11b
xchg rdi, rdi
xchg rbx, r11
mov r11, qword [rsp + 0x20]
xchg rbx, r11
pop rdi
ret