Function at 0x1400c0650
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov r11, qword [rsp + 0xd0]
mov eax, dword [rsp + 0xd8]
mov esi, dword [r11]
mov ebx, dword [r11 + 4]
mov rdi, rdx
mov r15d, r8d
mov rbp, r9
bswap esi
lea r10d, [r8 - 8]
bswap ebx
test eax, eax
je 0x1400c07e0
test r10d, r10d
js 0x1400c0bb0
mov r8d, r10d
mov dword [rsp + 0x38], r10d
mov r14, rcx
lea r13, [rsp + 0x58]
shr r8d, 3
mov qword [rsp + 0xb0], rcx
lea eax, [r8 + 1]
mov dword [rsp + 0x28], r8d
lea r9, [rax*8]
mov qword [rsp + 0x30], r9
lea r12, [rdx + r9]
mov edx, esi
mov ecx, dword [r14]
mov eax, dword [r14 + 4]
add rdi, 8
add r14, 8
bswap ecx
xor edx, ecx
bswap eax
mov rcx, r13
xor eax, ebx
mov dword [rsp + 0x58], edx
mov rdx, rbp
mov dword [rsp + 0x5c], eax
call fcn.1400bfc00
mov ebx, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x58]
movzx eax, bl
movzx esi, bh
mov r10d, ebx
mov r9d, ebx
shl rax, 8
shr r10d, 0x10
mov r8d, edx
mov ecx, edx
shr r9d, 0x18
or rax, rsi
movzx r10d, r10b
movzx esi, dh
shl rax, 8
movzx r9d, r9b
shr r8d, 0x10
or rax, r10
movzx r10d, dl
movzx r8d, r8b
shr ecx, 0x18
shl rax, 8
movzx ecx, cl
or rax, r9
shl rax, 8
or rax, r10
shl rax, 8
or rax, rsi
shl rax, 8
or rax, r8
shl rax, 8
or rax, rcx
mov qword [rdi - 8], rax
cmp rdi, r12
jne 0x1400c06d0
mov r8d, dword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov esi, edx
mov r10d, dword [rsp + 0x38]
mov rcx, qword [rsp + 0xb0]
neg r8d
mov r11, qword [rsp + 0xd0]
shl r8d, 3
add rcx, r9
lea eax, [r15 + r8 - 0x10]
lea r15d, [r8 + r10]
cmp eax, 0xfffffff8
je 0x1400c09e0
movsxd rax, r15d
add rax, rcx
cmp r15d, 7
ja case.0x1400c07d4.0
lea rcx, [0x140292fa0]
mov r15d, r15d
movsxd rdx, dword [rcx + r15*4]
add rdx, rcx
jmp rdx
cmp r8d, 7
jle 0x1400c0ba0
mov r8d, r10d
lea r13, [rsp + 0x58]
mov dword [rsp + 0x44], r10d
mov r14, rcx
shr r8d, 3
mov qword [rsp + 0xb0], rcx
lea eax, [r8 + 1]
mov dword [rsp + 0x30], r8d
lea rdx, [rax*8]
mov dword [rsp + 0xc0], r15d
lea r12, [rdi + rdx]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x48], r12
mov qword [rsp + 0xd0], r11
mov qword [rsp + 0x28], r13
nop word [rax + rax]
mov rcx, qword [rsp + 0x28]
mov r13d, esi
mov r15d, ebx
mov esi, dword [r14]
mov ebx, dword [r14 + 4]
mov rdx, rbp
add rdi, 8
add r14, 8
bswap esi
mov dword [rsp + 0x58], esi
bswap ebx
mov dword [rsp + 0x5c], ebx
call fcn.1400bfc00
mov ecx, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x58]
xor ecx, r15d
xor edx, r13d
movzx eax, cl
mov r10d, ecx
mov r11d, ecx
movzx ecx, ch
shl rax, 8
shr r11d, 0x10
mov r8d, edx
mov r9d, edx
shr r10d, 0x18
or rax, rcx
movzx r11d, r11b
movzx ecx, dl
shl rax, 8
movzx r10d, r10b
movzx edx, dh
shr r9d, 0x10
or rax, r11
movzx r9d, r9b
shr r8d, 0x18
shl rax, 8
movzx r8d, r8b
or rax, r10
shl rax, 8
or rax, rcx
shl rax, 8
or rax, rdx
shl rax, 8
or rax, r9
shl rax, 8
or rax, r8
mov qword [rdi - 8], rax
cmp rdi, r12
jne 0x1400c0840
mov r8d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0xc0]
mov rdx, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x44]
mov rcx, qword [rsp + 0xb0]
neg r8d
mov r11, qword [rsp + 0xd0]
shl r8d, 3
lea eax, [r15 + r8 - 0x10]
add rcx, rdx
lea r15d, [r8 + r10]
cmp eax, 0xfffffff8
je 0x1400c09e0
mov edi, dword [rcx]
mov r13d, dword [rcx + 4]
mov rdx, rbp
lea rcx, [rsp + 0x58]
mov qword [rsp + 0xd0], r11
bswap edi
bswap r13d
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x5c], r13d
call fcn.1400bfc00
movsxd rax, r15d
xor esi, dword [rsp + 0x58]
xor ebx, dword [rsp + 0x5c]
mov rdx, qword [rsp + 0x48]
mov r11, qword [rsp + 0xd0]
add rdx, rax
cmp r15d, 7
mov rax, rdx
ja case.0x1400c0993.0
lea rcx, [0x140292fc0]
mov r15d, r15d
movsxd rdx, dword [rcx + r15*4]
add rdx, rcx
jmp rdx
mov byte [rax - 1], bh
sub rax, 1
mov edx, ebx
sub rax, 1
shr edx, 0x10
mov byte [rax], dl
shr ebx, 0x18
lea rdx, [rax - 1]
mov byte [rax - 1], bl
mov byte [rdx - 1], sil
lea rax, [rdx - 1]
mov ebx, esi
lea rdx, [rax - 1]
mov byte [rax - 1], bh
mov ecx, esi
lea rax, [rdx - 1]
shr ecx, 0x10
mov byte [rdx - 1], cl
shr esi, 0x18
mov byte [rax - 1], sil
mov ebx, r13d
mov esi, edi
nop word [rax + rax]
mov eax, esi
mov edx, esi
mov ecx, ebx
movzx edi, bh
shr eax, 0x18
shr edx, 0x10
mov r8d, eax
mov eax, esi
shr ecx, 0x10
movzx eax, ah
mov r9d, eax
mov eax, ebx
shr eax, 0x18
mov r10d, eax
movzx ebx, bl
movzx edi, dil
movzx eax, cl
shl rbx, 8
or rbx, rdi
shl rbx, 8
mov rcx, rbx
or rcx, rax
movzx eax, r10b
shl rcx, 8
mov r10, rcx
or r10, rax
movzx eax, sil
mov rsi, r10
shl rsi, 8
or rsi, rax
movzx eax, r9b
shl rsi, 8
mov r9, rsi
or r9, rax
movzx eax, dl
mov rdx, r9
shl rdx, 8
or rdx, rax
movzx eax, r8b
shl rdx, 8
mov r8, rdx
or r8, rax
mov qword [r11], r8
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor ecx, ecx
movzx edx, byte [rax - 1]
sub rax, 1
shl edx, 0x10
or edx, ecx
lea rcx, [rax - 1]
movzx eax, byte [rax - 1]
shl eax, 0x18
or eax, edx
xor ebx, eax
movzx r8d, byte [rcx - 1]
lea rax, [rcx - 1]
movzx ecx, byte [rax - 1]
lea rdx, [rax - 1]
shl ecx, 8
or ecx, r8d
lea rax, [rdx - 1]
movzx edx, byte [rdx - 1]
shl edx, 0x10
or edx, ecx
movzx eax, byte [rax - 1]
shl eax, 0x18
or eax, edx
xor esi, eax
mov rdx, rbp
lea rcx, [rsp + 0x58]
mov qword [rsp + 0xd0], r11
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x5c], ebx
call fcn.1400bfc00
mov ebp, dword [rsp + 0x58]
mov eax, ebp
mov edi, ebp
mov r11d, ebp
mov esi, ebp
shr eax, 0x10
shr edi, 8
movzx ebp, bpl
mov dword [rsp + 0x28], eax
mov edx, eax
mov eax, dword [rsp + 0x5c]
mov r9d, edi
mov dword [rsp + 0x30], edi
shr r11d, 0x18
mov r15d, eax
mov r13d, eax
mov r14d, eax
mov ebx, eax
shr r15d, 8
movzx eax, al
shr r14d, 0x10
mov r8d, r11d
shl rax, 8
mov edi, r15d
movzx r15d, r15b
mov ecx, r14d
or rax, r15
movzx r14d, r14b
shr r13d, 0x18
shl rax, 8
mov r10d, r13d
movzx r13d, r13b
or rax, r14
shl rax, 8
or rax, r13
shl rax, 8
or rax, rbp
movzx ebp, byte [rsp + 0x30]
shl rax, 8
or rax, rbp
movzx ebp, byte [rsp + 0x28]
shl rax, 8
or rax, rbp
movzx ebp, r11b
mov r11, qword [rsp + 0xd0]
shl rax, 8
or rax, rbp
mov qword [r12], rax
jmp 0x1400c0a05
mov qword [rsp + 0x48], rdx
mov eax, r10d
jmp 0x1400c092c
mov eax, r10d
mov r12, rdx
jmp 0x1400c07aa
xor edx, edx
jmp 0x1400c0ac2
mov rdx, rax
xor ecx, ecx
jmp 0x1400c0ab5
xor r8d, r8d
jmp 0x1400c0aa7
mov rcx, rax
jmp 0x1400c0a9e
xor edx, edx
jmp 0x1400c0a8f
movzx ecx, byte [rax - 1]
sub rax, 1
shl ecx, 8
jmp 0x1400c0a82
mov rdx, rax
jmp 0x1400c09b1
mov rdx, rax
jmp 0x1400c09c2