Function at 0x140089965
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
xchg r14, r14
push rdi
movzx eax, byte [rdx + 1]
xchg r11, r8
mov rbx, r11
xchg r8, r11
movzx r11d, byte [rdx]
mov dword [rsp - 0x1c], 0x30027df9
mov r8, rcx
movzx ecx, byte [rdx + 5]
shl r11d, 4
shl r11d, 1
shl r11d, 2
shl r11d, 1
or r11d, eax
movzx eax, byte [rdx + 2]
xchg rsi, rsi
shl r11d, 2
shl r11d, 6
or r11d, eax
movzx eax, byte [rdx + 3]
mov r14, r14
shl r11d, 4
shl r11d, 3
shl r11d, 1
or r11d, eax
movzx eax, byte [rdx + 4]
mov rdi, rdi
shl eax, 3
shl eax, 1
shl eax, 4
or eax, ecx
mov rdi, rdi
movzx ecx, byte [rdx + 6]
shl eax, 3
shl eax, 2
shl eax, 1
shl eax, 1
shl eax, 1
or eax, ecx
mov dword [rsp - 0x44], ebp
movzx ecx, byte [rdx + 7]
shl eax, 7
shl eax, 1
or eax, ecx
mov r9, r9
mov ecx, dword [r8 + 4]
dec ecx
movsxd rdi, ecx
test ecx, ecx
mov r12, r12
jle 0x140089c37
xchg rdx, rsp
mov rsp, qword [r8 + 8]
xchg rdx, rsp
xchg r11, rsi
mov qword [rsp + 0x10], r11
xchg rsi, r11
lea rsi, [rdi - 1]
lea rsi, [rdi + rsi*2]
mov dword [rsp - 0x1c], 0x14118947
xchg r14, r12
mov qword [rsp + 0x18], r12
xchg r14, r12
dec rdi
lea r14, [0x1404a0560]
shr rdi, 1
mov rbp, rbp
lea rsi, [rdx + rsi*4]
inc rdi
nop dword [rax + rax]
mov r10d, dword [rsi + 0xc]
mov dword [rsp - 0x34], 0x54bbec6e
lea rsi, [rsi - 0x18]
mov edx, eax
mov r9d, eax
and edx, 0x3ff00
mov dword [rsp - 0x14], edi
ror r9d, 7
ror r9d, 2
ror r9d, 1
ror r9d, 2
ror r9d, 1
ror r9d, 1
shl edx, 1
shl edx, 1
and r9d, 0xffc00
mov dword [rsp - 0x1c], 0x3770725a
mov ecx, eax
shr ecx, 0x10
and ecx, 0x3ff
or r9d, ecx
mov dword [rsp - 0x28], esi
mov ecx, eax
and ecx, 0x3ff
or edx, ecx
mov r13, r13
mov r8d, edx
xor edx, r9d
and edx, dword [rsi + 0x28]
mov r12, r12
xor r10, r8
mov r8d, dword [rsi + 0x20]
xor r10, rdx
mov dword [rsp - 0x10], 0x2d81b796
xor r8, r9
mov r9d, dword [rsi + 0x14]
xor r8, rdx
xchg rbx, rcx
mov rbx, r8
xchg rbx, rcx
and r8d, 0x3ff
mov rdi, rdi
shr rcx, 9
shr rcx, 1
mov edx, dword [r14 + rcx*4]
mov dword [rsp - 0x24], 0x62d6ac0b
xchg r11, rcx
mov r11, r10
xchg r11, rcx
shr rcx, 7
shr rcx, 2
shr rcx, 1
xor edx, 0x742705b7
mov dword [rsp - 0x20], 0x28034836
and r10d, 0x3ff
mov ecx, dword [r14 + rcx*4 + 0x2000]
xor ecx, 0x742705b7
or edx, ecx
xchg r13, r13
mov ecx, dword [r14 + r8*4 + 0x1000]
xor ecx, 0x742705b7
or edx, ecx
mov r10, r10
mov ecx, dword [r14 + r10*4 + 0x3000]
xor ecx, 0x742705b7
or edx, ecx
xor r11d, edx
mov dword [rsp - 0x18], edi
mov edx, r11d
mov r8d, r11d
ror r8d, 4
ror r8d, 7
ror r8d, 2
ror r8d, 1
and edx, 0x3ff00
xchg rdi, rdi
and r8d, 0xffc00
shl edx, 1
shl edx, 1
mov ecx, r11d
shr ecx, 5
shr ecx, 3
shr ecx, 7
shr ecx, 1
and ecx, 0x3ff
mov r10, r10
or r8d, ecx
mov ecx, r11d
and ecx, 0x3ff
xor r9, r8
mov dword [rsp - 0x1c], esi
or edx, ecx
mov ecx, dword [rsi + 0x18]
mov r10d, edx
xor edx, r8d
xchg rcx, rcx
and edx, dword [rsi + 0x1c]
xor r10, rcx
xor r10, rdx
mov dword [rsp - 0x20], 0x35bfdeea
xor r9, rdx
xchg r11, rcx
mov r11, r10
xchg r11, rcx
and r10d, 0x3ff
shr rcx, 8
shr rcx, 1
shr rcx, 1
mov r8d, dword [r14 + rcx*4 + 0x2000]
xchg rcx, r13
mov r13, r9
xchg rcx, r13
shr rcx, 7
shr rcx, 1
shr rcx, 1
shr rcx, 1
xor r8d, 0x742705b7
and r9d, 0x3ff
mov dword [rsp - 0x44], 0xdc0d15a
mov edx, dword [r14 + rcx*4]
mov ecx, dword [r14 + r10*4 + 0x3000]
xor edx, 0x742705b7
xor ecx, 0x742705b7
mov r12, r12
or r8d, edx
or r8d, ecx
mov ecx, dword [r14 + r9*4 + 0x1000]
xor ecx, 0x742705b7
mov dword [rsp - 0x18], ecx
or r8d, ecx
xor eax, r8d
sub rdi, 1
mov dword [rsp - 0x20], 0x74e46354
jne 0x1400899f9
mov r14, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x10]
mov dword [rsp - 0x2c], 0x487794b7
nop dword [rax]
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 r13, r13
shr eax, 8
mov byte [rbx + 1], al
shr r11d, 8
mov byte [rbx + 5], r11b
mov rbp, rbp
shr eax, 1
shr eax, 5
shr eax, 1
shr eax, 1
mov byte [rbx], al
shr r11d, 1
shr r11d, 2
shr r11d, 2
shr r11d, 2
shr r11d, 1
mov byte [rbx + 4], r11b
mov r12, r12
xchg r14, rbx
mov r14, qword [rsp + 0x20]
xchg rbx, r14
nop
mov rdi, qword [rsp]
add rsp, 8
ret