Function at 0x1400ce7b0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
sub rsp, 0x308
cmp dword [0x140315410], 0
jne 0x1400cea95
mov qword [rax + 8], rbx
xor r8d, r8d
mov qword [rax + 0x10], rsi
mov qword [rax - 8], rdi
mov eax, 1
nop dword [rax + rax]
lea ecx, [r8 + 0xff]
mov byte [rsp + r8 + 0x100], al
mov byte [rsp + rcx + 0x100], al
mov ecx, eax
mov byte [rsp + rcx], r8b
mov ecx, eax
and cl, 0x80
inc r8d
neg cl
lea ecx, [rax + rax]
sbb edx, edx
and edx, 0x11b
xor edx, ecx
xor eax, edx
cmp eax, 1
jne 0x1400ce7e0
mov eax, eax
lea rdx, [0x140311280]
mov r8d, 0xa
nop dword [rax]
mov dword [rdx], eax
test eax, eax
je 0x1400ce844
movzx ecx, byte [rsp + rax]
movzx eax, byte [rsp + rcx + 0x119]
jmp 0x1400ce846
xor eax, eax
add rdx, 4
sub r8, 1
jne 0x1400ce830
xor edi, edi
lea rsi, [0x140000000]
xor ebx, ebx
nop dword [rax + rax]
test dil, dil
je 0x1400ce87d
movzx eax, dil
movzx ecx, byte [rsp + rax]
lea rax, [rsp + 0x1ff]
sub rax, rcx
movzx ecx, byte [rax]
jmp 0x1400ce87f
xor cl, cl
movzx eax, cl
lea ecx, [rax + rax]
xor ecx, eax
add ecx, ecx
xor ecx, eax
add ecx, ecx
xor ecx, eax
add ecx, ecx
xor ecx, eax
mov edx, ecx
shr edx, 8
xor dl, cl
xor dl, 0x63
je 0x1400ce8b9
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx r8d, byte [rsp + rcx + 0x101]
movzx eax, byte [rsp + rcx + 0x119]
jmp 0x1400ce8be
xor r8d, r8d
xor eax, eax
movzx ecx, dl
shl r8d, 8
or r8d, ecx
mov dword [rbx + rsi + 0x30e280], ecx
shl r8d, 8
or r8d, ecx
shl r8d, 8
or r8d, eax
mov eax, r8d
mov dword [rbx + rsi + 0x30f280], r8d
ror eax, 0x18
mov dword [rbx + rsi + 0x30f680], eax
mov eax, r8d
ror eax, 0x10
mov dword [rbx + rsi + 0x30fa80], eax
mov eax, ecx
ror eax, 0x18
mov dword [rbx + rsi + 0x30e680], eax
mov eax, ecx
bswap ecx
mov dword [rbx + rsi + 0x30ee80], ecx
shl eax, 8
bswap eax
mov dword [rbx + rsi + 0x30ea80], eax
movzx eax, dil
ror r8d, 8
mov dword [rbx + rsi + 0x30fe80], r8d
lea ecx, [rax*8]
xor ecx, eax
shl ecx, 2
xor ecx, eax
lea edx, [rcx + rcx]
mov ecx, edx
shr ecx, 8
movzx eax, cl
xor al, dl
cmp al, 5
je 0x1400ce9a4
movzx eax, dl
xor rcx, rax
xor rcx, 5
movzx eax, byte [rsp + rcx]
lea rcx, [rsp + 0x1ff]
sub rcx, rax
movzx r9d, byte [rcx]
test r9b, r9b
je 0x1400ce9a7
movzx eax, byte [rsp + r9]
mov r10d, r9d
movzx ecx, byte [rsp + rax + 0x1ee]
movzx edx, byte [rsp + rax + 0x1c7]
movzx r8d, byte [rsp + rax + 0x1df]
movzx eax, byte [rsp + r9]
movzx r11d, byte [rsp + rax + 0x168]
jmp 0x1400ce9b4
xor r9b, r9b
xor r10d, r10d
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r11d, r11d
shl r11d, 8
inc edi
or r11d, ecx
shl r11d, 8
or r11d, edx
shl r11d, 8
or r11d, r8d
mov r8d, r11d
mov dword [rbx + rsi + 0x30d280], r11d
shr r8d, 0x18
mov eax, r11d
shl eax, 8
mov edx, r11d
or r8d, eax
shr edx, 0x10
mov eax, r11d
mov dword [rbx + rsi + 0x30d680], r8d
shl eax, 0x10
mov ecx, r11d
or edx, eax
shl ecx, 0x18
mov eax, r11d
mov dword [rbx + rsi + 0x30da80], edx
shr eax, 8
or ecx, eax
mov dword [rsi + r10*4 + 0x310280], r11d
mov dword [rbx + rsi + 0x30de80], ecx
mov dword [rsi + r10*4 + 0x310e80], ecx
movzx ecx, r9b
mov eax, ecx
mov dword [rbx + rsi + 0x30c280], ecx
ror eax, 0x18
mov dword [rbx + rsi + 0x30c680], eax
mov eax, ecx
shl eax, 8
bswap eax
bswap ecx
mov dword [rbx + rsi + 0x30ca80], eax
mov dword [rbx + rsi + 0x30ce80], ecx
add rbx, 4
mov dword [rsi + r10*4 + 0x310680], r8d
mov dword [rsi + r10*4 + 0x310a80], edx
cmp edi, 0x100
jb 0x1400ce860
mov rdi, qword [rsp + 0x300]
mov rsi, qword [rsp + 0x318]
mov rbx, qword [rsp + 0x310]
mov dword [0x140315410], 1
xor eax, eax
add rsp, 0x308
ret