Function at 0x140089420
Capabilities:
Encode data using xor

Disassembly:
xchg rbx, r15
mov qword [rsp + 8], r15
xchg r15, rbx
mov eax, dword [rcx]
mov dword [rsp - 0x24], 0x61593c3f
lea rbx, [0x140000000]
xchg rdx, r11
mov r10, r11
xchg rdx, r11
mov r11, rcx
mov dword [rsp - 0x10], esp
cmp r8, 7
ja case.default.0x140089469
mov r9d, dword [rbx + r8*4 + 0x89767]
add r9, rbx
mov dword [rsp - 0x14], 0x3ce7d67e
jmp r9
xchg rcx, rsi
mov rsi, r10
xchg rsi, rcx
and ecx, 3
mov rdi, rdi
sub r8, rcx
sub rcx, 1
je 0x1400894f2
mov dword [rsp - 0x30], esp
sub rcx, 1
je 0x1400894ce
cmp rcx, 1
mov r12, r12
jne 0x140089518
movzx edx, byte [r10]
mov ecx, eax
xchg r12, r12
xor rdx, rcx
shr eax, 3
shr eax, 3
shr eax, 1
shr eax, 1
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0xeffe0]
mov dword [rsp - 0x3c], 0x7b7a8209
inc r10
movzx edx, byte [r10]
mov ecx, eax
mov r14, r14
xor rdx, rcx
shr eax, 8
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0xeffe0]
mov dword [rsp - 0x10], 0x30897821
inc r10
movzx edx, byte [r10]
mov ecx, eax
mov dword [rsp - 0x38], edi
xor rdx, rcx
shr eax, 5
shr eax, 1
shr eax, 1
shr eax, 1
movzx ecx, dl
mov r14, r14
xor eax, dword [rbx + rcx*4 + 0xeffe0]
inc r10
xchg r9, rcx
mov rcx, r8
xchg rcx, r9
shr r9, 3
xchg rbp, rbp
test r9, r9
je 0x140089602
nop word [rax + rax]
xor eax, dword [r10]
mov dword [rsp - 0x34], ebp
movzx edx, al
shr eax, 4
shr eax, 2
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0xeffe0]
movzx edx, al
shr eax, 4
shr eax, 3
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0xeffe0]
mov dword [rsp - 0x3c], ecx
movzx edx, al
shr eax, 1
shr eax, 6
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0xeffe0]
movzx edx, al
mov r13, r13
shr eax, 4
shr eax, 3
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0xeffe0]
xor eax, dword [r10 + 4]
mov dword [rsp - 0x30], 0x18923f86
sub r10, 0xfffffffffffffff8
movzx edx, al
shr eax, 1
shr eax, 5
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0xeffe0]
movzx edx, al
mov dword [rsp - 0x24], edx
shr eax, 3
shr eax, 1
shr eax, 2
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0xeffe0]
mov dword [rsp - 0x30], ebx
movzx edx, al
shr eax, 4
shr eax, 2
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0xeffe0]
movzx edx, al
shr eax, 6
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0xeffe0]
sub r9, 1
mov dword [rsp - 0xc], edi
jne 0x140089537
and r8d, 7
jmp 0x14008944c
movzx edx, byte [r10]
mov ecx, eax
xchg r11, r11
xor rdx, rcx
shr eax, 4
shr eax, 3
shr eax, 1
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0xeffe0]
mov rbp, rbp
inc r10
movzx edx, byte [r10]
mov ecx, eax
xor rdx, rcx
mov dword [rsp - 0x38], 0x28546199
shr eax, 8
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0xeffe0]
mov dword [rsp - 0x10], 0x22cc7767
inc r10
movzx edx, byte [r10]
mov ecx, eax
xor rdx, rcx
mov dword [rsp - 0x24], 0xa1514dd
shr eax, 7
shr eax, 1
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0xeffe0]
mov r15, r15
inc r10
xor eax, dword [r10]
movzx edx, al
mov r13, r13
shr eax, 6
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0xeffe0]
movzx edx, al
shr eax, 6
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0xeffe0]
mov dword [rsp - 0x38], 0x69e8c39e
movzx edx, al
shr eax, 1
shr eax, 7
xor eax, dword [rbx + rdx*4 + 0xeffe0]
mov r15, r15
movzx edx, al
shr eax, 1
shr eax, 1
shr eax, 4
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0xeffe0]
mov dword [r11], eax
mov dword [rsp - 0x38], 0x21e711c0
xchg rbx, r11
mov r11, qword [rsp + 8]
xchg rbx, r11
ret
movzx edx, byte [r10]
mov ecx, eax
mov dword [rsp - 0x30], ecx
xor rdx, rcx
shr eax, 1
shr eax, 4
shr eax, 3
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0xeffe0]
mov dword [rsp - 0x1c], 0x5dc12728
inc r10
movzx edx, byte [r10]
mov ecx, eax
mov dword [rsp - 0x1c], ecx
xor rdx, rcx
shr eax, 6
shr eax, 1
shr eax, 1
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0xeffe0]
inc r10
xchg rdi, rdi
movzx edx, byte [r10]
mov ecx, eax
xor rdx, rcx
shr eax, 3
shr eax, 5
movzx ecx, dl
xchg rdi, rdi
xor eax, dword [rbx + rcx*4 + 0xeffe0]
xchg rbx, rdx
mov rdx, qword [rsp + 8]
xchg rdx, rbx
mov dword [r11], eax
ret