Function at 0x14008df40
Capabilities:
Encode data using xor

Disassembly:
xchg rbx, r8
mov qword [rsp + 8], r8
xchg r8, rbx
mov eax, dword [rcx]
mov dword [rsp - 0x24], 0x5f4037
lea rbx, [0x140000000]
xchg rdx, r14
mov r10, r14
xchg r14, rdx
xchg r11, rcx
mov rcx, r11
xchg rcx, r11
cmp r8, 7
ja case.default.0x14008df87
mov dword [rsp - 0x2c], esi
mov r9d, dword [rbx + r8*4 + 0x8e27a]
add r9, rbx
jmp r9
xchg rcx, r10
mov r10, rcx
xchg rcx, r10
and ecx, 3
xchg rdx, rdx
sub r8, rcx
sub rcx, 1
je 0x14008e008
sub rcx, 1
xchg r10, r10
je 0x14008dfe4
cmp rcx, 1
jne 0x14008e02f
movzx edx, byte [r10]
mov r14, r14
mov ecx, eax
xor rdx, rcx
shr eax, 3
shr eax, 5
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0x141c20]
mov dword [rsp - 0x18], 0x4a34fb4b
inc r10
movzx edx, byte [r10]
mov ecx, eax
xor rdx, rcx
mov dword [rsp - 0x18], 0x17350ccf
shr eax, 8
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0x141c20]
inc r10
xchg rbp, rbp
movzx edx, byte [r10]
mov ecx, eax
xor rdx, rcx
shr eax, 3
shr eax, 3
shr eax, 2
movzx ecx, dl
mov dword [rsp - 0x38], 0x71f6f6b8
xor eax, dword [rbx + rcx*4 + 0x141c20]
inc r10
xchg r10, r8
mov r9, r10
xchg r8, r10
shr r9, 2
shr r9, 1
test r9, r9
mov dword [rsp - 0x1c], 0x345e7027
je 0x14008e121
nop word [rax + rax]
xor eax, dword [r10]
movzx edx, al
mov dword [rsp - 0x20], 0x5a8430e0
shr eax, 1
shr eax, 6
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x141c20]
mov dword [rsp - 0x24], 0x102b3723
movzx edx, al
shr eax, 6
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x141c20]
movzx edx, al
shr eax, 4
shr eax, 4
xor eax, dword [rbx + rdx*4 + 0x141c20]
movzx edx, al
mov dword [rsp - 0x10], ebp
shr eax, 7
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x141c20]
xchg rsp, rsp
xor eax, dword [r10 + 4]
add r10, 8
movzx edx, al
shr eax, 3
shr eax, 4
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x141c20]
movzx edx, al
shr eax, 1
shr eax, 3
shr eax, 4
xor eax, dword [rbx + rdx*4 + 0x141c20]
mov dword [rsp - 0x24], 0x6c77ff39
movzx edx, al
shr eax, 1
shr eax, 6
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x141c20]
movzx edx, al
mov r13, r13
shr eax, 1
shr eax, 3
shr eax, 2
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x141c20]
sub r9, 1
jne 0x14008e056
mov dword [rsp - 0x28], 0x6deff9f2
and r8d, 7
jmp 0x14008df6e
movzx edx, byte [r10]
mov ecx, eax
mov r10, r10
xor rdx, rcx
shr eax, 4
shr eax, 4
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0x141c20]
inc r10
xchg r14, r14
movzx edx, byte [r10]
mov ecx, eax
xor rdx, rcx
shr eax, 2
shr eax, 1
shr eax, 3
shr eax, 2
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0x141c20]
mov r9, r9
inc r10
movzx edx, byte [r10]
mov ecx, eax
xor rdx, rcx
mov r12, r12
shr eax, 4
shr eax, 1
shr eax, 2
shr eax, 1
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0x141c20]
inc r10
mov dword [rsp - 0x20], esi
xor eax, dword [r10]
movzx edx, al
shr eax, 7
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x141c20]
mov rbp, rbp
movzx edx, al
shr eax, 3
shr eax, 1
shr eax, 1
shr eax, 2
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x141c20]
movzx edx, al
shr eax, 3
shr eax, 3
shr eax, 1
shr eax, 1
xor eax, dword [rbx + rdx*4 + 0x141c20]
movzx edx, al
shr eax, 8
xchg rdx, rdx
xor eax, dword [rbx + rdx*4 + 0x141c20]
mov dword [r11], eax
mov rbx, qword [rsp + 8]
ret
movzx edx, byte [r10]
mov ecx, eax
mov dword [rsp - 0x2c], 0x399496ef
xor rdx, rcx
shr eax, 8
movzx ecx, dl
mov dword [rsp - 0x28], 0x4308c712
xor eax, dword [rbx + rcx*4 + 0x141c20]
inc r10
movzx edx, byte [r10]
mov ecx, eax
xchg r9, r9
xor rdx, rcx
shr eax, 3
shr eax, 1
shr eax, 1
shr eax, 2
shr eax, 1
movzx ecx, dl
mov rcx, rcx
xor eax, dword [rbx + rcx*4 + 0x141c20]
inc r10
movzx edx, byte [r10]
mov ecx, eax
xchg rcx, rcx
xor rdx, rcx
shr eax, 5
shr eax, 2
shr eax, 1
movzx ecx, dl
xor eax, dword [rbx + rcx*4 + 0x141c20]
xchg rdx, rdx
xchg rbx, r8
mov r8, qword [rsp + 8]
xchg r8, rbx
mov dword [r11], eax
mov dword [rsp - 0xc], 0x13d8b34f
ret