Function at 0x1400a1550
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov eax, dword [rcx]
lea rbx, [0x140000000]
mov rsp, rsp
xchg r10, rdx
mov rdx, r10
xchg rdx, r10
xchg r11, rcx
mov rcx, r11
xchg rcx, r11
cmp r8, 7
ja case.default.0x1400a158c
mov r9d, dword [rbx + r8*4 + 0xa1883]
mov dword [rsp - 0x14], ecx
add r9, rbx
jmp r9
xchg r10, r11
mov rcx, r11
xchg r10, r11
and ecx, 3
mov r14, r14
sub r8, rcx
sub rcx, 1
je 0x1400a160a
mov rdi, rdi
sub rcx, 1
je 0x1400a15e7
cmp rcx, 1
jne 0x1400a1635
mov dword [rsp - 0x20], edi
movzx edx, byte [r10]
mov ecx, eax
xor rdx, rcx
xchg rbp, rbp
shr eax, 7
shr eax, 1
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0x1300a0]
xchg rsi, rsi
inc r10
movzx edx, byte [r10]
mov ecx, eax
mov rdx, rdx
xor rdx, rcx
shr eax, 6
shr eax, 2
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0x1300a0]
mov dword [rsp - 0x1c], edi
inc r10
movzx edx, byte [r10]
mov ecx, eax
mov dword [rsp - 0x1c], 0x1cd04f8
xor rdx, rcx
shr eax, 5
shr eax, 1
shr eax, 1
shr eax, 1
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0x1300a0]
mov dword [rsp - 0x10], ebx
inc r10
mov r9, r8
shr r9, 3
test r9, r9
xchg rdi, rdi
je 0x1400a171f
nop word [rax + rax]
xor eax, dword [r10]
xchg rbp, rbp
movzx edx, al
shr eax, 8
xor eax, dword [rbx + rdx*4 + 0x1300a0]
movzx edx, al
mov r13, r13
shr eax, 5
shr eax, 3
xor eax, dword [rbx + rdx*4 + 0x1300a0]
movzx edx, al
mov dword [rsp - 0x44], 0x214ecb85
shr eax, 2
shr eax, 4
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x1300a0]
movzx edx, al
shr eax, 1
shr eax, 6
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x1300a0]
xor eax, dword [r10 + 4]
mov dword [rsp - 0x14], ebp
neg r10
add r10, 0xfffffffffffffff8
neg r10
movzx edx, al
mov dword [rsp - 0x10], 0x37f022cc
shr eax, 2
shr eax, 5
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x1300a0]
movzx edx, al
mov dword [rsp - 0x28], 0x25e83dfe
shr eax, 7
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x1300a0]
mov dword [rsp - 0x40], edi
movzx edx, al
shr eax, 3
shr eax, 1
shr eax, 2
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x1300a0]
xchg r11, r11
movzx edx, al
shr eax, 6
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x1300a0]
mov r14, r14
sub r9, 1
jne 0x1400a164e
and r8d, 7
mov rbp, rbp
jmp 0x1400a1573
movzx edx, byte [r10]
mov ecx, eax
xor rdx, rcx
mov dword [rsp - 0x20], ebx
shr eax, 1
shr eax, 5
shr eax, 1
shr eax, 1
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0x1300a0]
mov r14, r14
inc r10
movzx edx, byte [r10]
mov ecx, eax
xor rdx, rcx
mov dword [rsp - 0x1c], 0x22508d53
shr eax, 5
shr eax, 1
shr eax, 2
movzx ecx, dl
mov rdi, rdi
xor eax, dword [rbx + rcx*4 + 0x1300a0]
inc r10
movzx edx, byte [r10]
mov ecx, eax
mov rbx, rbx
xor rdx, rcx
shr eax, 3
shr eax, 2
shr eax, 2
shr eax, 1
movzx ecx, dl
xchg r13, r13
xor eax, dword [rbx + rcx*4 + 0x1300a0]
inc r10
xor eax, dword [r10]
xchg rbx, rbx
movzx edx, al
shr eax, 5
shr eax, 2
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x1300a0]
mov rcx, rcx
movzx edx, al
shr eax, 6
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x1300a0]
movzx edx, al
shr eax, 8
xchg rdi, rdi
xor eax, dword [rbx + rdx*4 + 0x1300a0]
movzx edx, al
shr eax, 3
shr eax, 2
shr eax, 2
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x1300a0]
mov dword [rsp - 0x28], ebp
mov dword [r11], eax
mov rbx, qword [rsp + 8]
ret
movzx edx, byte [r10]
mov ecx, eax
xor rdx, rcx
mov dword [rsp - 0x3c], 0x74609244
shr eax, 1
shr eax, 3
shr eax, 3
shr eax, 1
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0x1300a0]
mov dword [rsp - 0x20], edi
inc r10
movzx edx, byte [r10]
mov ecx, eax
mov dword [rsp - 0x24], 0x13ad154
xor rdx, rcx
shr eax, 8
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0x1300a0]
xchg rbp, rbp
inc r10
movzx edx, byte [r10]
mov ecx, eax
mov rdi, rdi
xor rdx, rcx
shr eax, 2
shr eax, 4
shr eax, 1
shr eax, 1
movzx ecx, dl
xchg rsp, rsp
xor eax, dword [rbx + rcx*4 + 0x1300a0]
xchg rdx, rbx
mov rdx, qword [rsp + 8]
xchg rdx, rbx
mov dword [r11], eax
ret