Function at 0x1400ae980
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
nop
mov qword [rsp - 8], rdi
sub rsp, 8
movzx eax, byte [rdx + 1]
xchg r11, r11
mov rbx, r8
movzx r11d, byte [rdx]
xchg rcx, r8
mov rcx, r8
xchg rcx, r8
movzx ecx, byte [rdx + 5]
mov dword [rsp - 0x20], 0x277429ae
shl r11d, 4
shl r11d, 1
shl r11d, 1
shl r11d, 1
shl r11d, 1
or r11d, eax
movzx eax, byte [rdx + 2]
xchg r14, r14
shl r11d, 2
shl r11d, 2
shl r11d, 1
shl r11d, 1
shl r11d, 2
or r11d, eax
movzx eax, byte [rdx + 3]
mov dword [rsp - 0xc], 0x1b6a3947
shl r11d, 7
shl r11d, 1
or r11d, eax
mov rsp, rsp
movzx eax, byte [rdx + 4]
shl eax, 8
or eax, ecx
movzx ecx, byte [rdx + 6]
mov dword [rsp - 0x10], 0x6f8736dd
shl eax, 4
shl eax, 3
shl eax, 1
or eax, ecx
mov dword [rsp - 0x3c], 0x1560eaae
movzx ecx, byte [rdx + 7]
shl eax, 1
shl eax, 5
shl eax, 1
shl eax, 1
or eax, ecx
mov ecx, dword [r8 + 4]
xchg rsi, rsi
dec ecx
movsxd rdi, ecx
test ecx, ecx
mov dword [rsp - 0x44], 0x6ac3ad96
jle 0x1400aeac0
mov rdx, qword [r8 + 8]
mov qword [rsp + 0x10], rsi
lea rsi, [rdi - 1]
xchg rsi, rsi
lea rsi, [rdi + rsi*2]
mov qword [rsp + 0x18], r14
dec rdi
lea r14, [0x1404e0550]
xchg rdi, rdi
shr rdi, 1
lea rsi, [rdx + rsi*4]
inc rdi
nop dword [rax + rax]
xchg rsp, rsp
mov r10d, dword [rsi + 0xc]
lea rsi, [rsi - 0x18]
mov edx, eax
mov r9d, eax
mov dword [rsp - 0x1c], ebp
and edx, 0x3ff00
ror r9d, 6
ror r9d, 2
ror r9d, 3
ror r9d, 2
ror r9d, 1
shl edx, 2
mov dword [rsp - 0xc], esi
and r9d, 0xffc00
mov ecx, eax
shr ecx, 0x10
mov dword [rsp - 0xc], esp
and ecx, 0x3ff
or r9d, ecx
mov ecx, eax
xchg rsp, rsp
and ecx, 0x3ff
or edx, ecx
mov r8d, edx
mov dword [rsp - 0x18], 0x28ac0154
xor edx, r9d
and edx, dword [rsi + 0x28]
xor r10, r8
mov r8d, dword [rsi + 0x20]
mov dword [rsp - 0x10], ecx
xor r10, rdx
xor r8, r9
mov r9d, dword [rsi + 0x14]
mov dword [rsp - 0x40], 0x6ed36d82
xor r8, rdx
xchg rcx, rdi
mov rdi, r8
xchg rcx, rdi
and r8d, 0x3ff
shr rcx, 9
shr rcx, 1
mov edx, dword [r14 + rcx*4]
mov dword [rsp - 0x3c], 0x1b5ccf05
mov rcx, r10
shr rcx, 2
shr rcx, 4
shr rcx, 1
shr rcx, 1
shr rcx, 1
shr rcx, 1
xor edx, 0x8d62178
xchg rdx, rdx
and r10d, 0x3ff
mov ecx, dword [r14 + rcx*4 + 0x2000]
xor ecx, 0x8d62178
mov dword [rsp - 0x40], edx
or edx, ecx
mov ecx, dword [r14 + r8*4 + 0x1000]
xor ecx, 0x8d62178
or edx, ecx
mov dword [rsp - 0x44], 0x6b929c76
mov ecx, dword [r14 + r10*4 + 0x3000]
xor ecx, 0x8d62178
or edx, ecx
mov rcx, rcx
xor r11d, edx
mov edx, r11d
mov r8d, r11d
mov r9, r9
ror r8d, 0xd
ror r8d, 1
and edx, 0x3ff00
and r8d, 0xffc00
xchg r11, r11
shl edx, 2
mov ecx, r11d
shr ecx, 0xf
shr ecx, 1
and ecx, 0x3ff
or r8d, ecx
mov dword [rsp - 0x3c], 0x1c145a01
mov ecx, r11d
and ecx, 0x3ff
xor r9, r8
or edx, ecx
mov dword [rsp - 0x34], 0x15b89be
mov ecx, dword [rsi + 0x18]
mov r10d, edx
xor edx, r8d
and edx, dword [rsi + 0x1c]
mov dword [rsp - 0x10], esp
xor r10, rcx
xor r10, rdx
xor r9, rdx
xchg r8, rcx
mov r8, r10
xchg rcx, r8
and r10d, 0x3ff
mov dword [rsp - 0x1c], 0xed2ebfd
shr rcx, 0xa
mov r8d, dword [r14 + rcx*4 + 0x2000]
xchg rcx, r9
mov r9, rcx
xchg r9, rcx
shr rcx, 6
shr rcx, 3
shr rcx, 1
xor r8d, 0x8d62178
xchg r11, r11
and r9d, 0x3ff
mov edx, dword [r14 + rcx*4]
mov ecx, dword [r14 + r10*4 + 0x3000]
mov dword [rsp - 0x3c], 0x65552cee
xor edx, 0x8d62178
xor ecx, 0x8d62178
or r8d, edx
or r8d, ecx
mov dword [rsp - 0x1c], 0x56f5c812
mov ecx, dword [r14 + r9*4 + 0x1000]
xor ecx, 0x8d62178
or r8d, ecx
mov dword [rsp - 0x10], esi
xor eax, r8d
sub rdi, 1
jne 0x1400ae884
mov dword [rsp - 0x3c], 0x72382c98
xchg r14, r10
mov r10, qword [rsp + 0x18]
xchg r10, r14
mov rsi, qword [rsp + 0x10]
nop dword [rax]
mov dword [rsp - 0x1c], 0x10642049
mov byte [rbx + 3], al
mov byte [rbx + 7], r11b
shr eax, 6
shr eax, 1
shr eax, 1
mov byte [rbx + 2], al
shr r11d, 4
shr r11d, 3
shr r11d, 1
mov byte [rbx + 6], r11b
xchg r14, r14
shr eax, 6
shr eax, 1
shr eax, 1
mov byte [rbx + 1], al
mov dword [rsp - 0x3c], esi
shr r11d, 7
shr r11d, 1
mov byte [rbx + 5], r11b
shr eax, 4
shr eax, 1
shr eax, 1
shr eax, 1
shr eax, 1
mov byte [rbx], al
shr r11d, 5
shr r11d, 3
mov byte [rbx + 4], r11b
mov dword [rsp - 0x38], ecx
xchg r15, rbx
mov r15, qword [rsp + 0x20]
xchg r15, rbx
nop
mov rdi, qword [rsp]
add rsp, 8
ret