Function at 0x1400ce894
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rsi, rdx
mov qword [rsp + 0x88], rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
xor eax, eax
lea rcx, [0x140117e70]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x30], 0x78c104ba
add rax, 4
cmp rax, 0x1c
jne 0x1400ce8cd
test rsi, rsi
mov eax, 0x3245711c
mov ecx, 0x42c49a06
cmovs ecx, eax
mov dword [rsp + 0x2c], ecx
mov eax, 0x452455bd
mov ecx, 0x75bbd03d
cmovle ecx, eax
mov dword [rsp + 0x28], ecx
mov rax, rsi
sub rax, 1
mov qword [rsp + 0x80], rax
mov eax, 0x47eed8a
mov ebp, 0x57bc4a48
cmovb ebp, eax
mov eax, 0x4ae4c48a
mov cl, 1
mov dword [rsp + 0x24], ecx
xor ecx, ecx
mov qword [rsp + 0x68], rcx
lea r13, [0x140117e8c]
lea r14, [0x140117e50]
lea r15, [0x140117e9c]
xor ecx, ecx
mov qword [rsp + 0x60], rcx
mov r12d, dword [rsp + 0x44]
mov ecx, 0x1b3cf5a0
xor r12d, ecx
mov edi, dword [rsp + 0x3c]
mov ecx, 0x2652f61b
xor edi, ecx
mov ebx, dword [rsp + 0x48]
mov ecx, 0x744e6175
xor ebx, ecx
cmp eax, 0x4ae4c489
jle 0x1400ce9ae
cmp eax, 0x775b11f7
jg 0x1400ce9da
cmp eax, 0x4ae4c48a
je 0x1400cea18
cmp eax, 0x634c96ff
jne 0x1400ce975
mov rcx, rsi
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.14001c234
mov eax, r12d
jmp 0x1400ce975
cmp eax, 0x13cd7de5
je 0x1400ce9f1
cmp eax, 0x2f7d4ef2
je 0x1400cea50
cmp eax, 0x47c49478
jne 0x1400ce975
xor ecx, ecx
mov rdx, qword [rsp + 0x80]
call fcn.14001ce24
mov eax, edi
jmp 0x1400ce975
cmp eax, 0x775b11f8
je 0x1400cea83
cmp eax, 0x7cbfe930
jne 0x1400ce975
jmp 0x1400ceab7
xor ecx, ecx
mov rdx, qword [rsp + 0x88]
mov r8d, esi
mov r9d, 2
call qword [0x1401c8270]
cdqe
mov qword [rsp + 0x58], rax
mov eax, ebx
jmp 0x1400ce975
cmp byte [rsp + 0x60], 0
jne 0x1400cea37
xor eax, eax
movsxd rcx, dword [rax + r14]
xor dword [rsp + rcx*4 + 0x30], 0x7a21c57f
add rax, 4
cmp rax, 0x18
jne 0x1400cea21
mov eax, dword [rsp + 0x30]
xor eax, ebp
mov cl, 1
mov qword [rsp + 0x60], rcx
xor ecx, ecx
mov qword [rsp + 0x58], rcx
jmp 0x1400ce952
cmp byte [rsp + 0x68], 0
jne 0x1400cea6f
xor eax, eax
movsxd rcx, dword [rax + r13]
xor dword [rsp + rcx*4 + 0x30], 0x53e92626
add rax, 4
cmp rax, 0x10
jne 0x1400cea59
mov eax, dword [rsp + 0x38]
xor eax, dword [rsp + 0x28]
mov cl, 1
mov qword [rsp + 0x68], rcx
jmp 0x1400ce952
test byte [rsp + 0x24], 1
je 0x1400ceaa2
xor eax, eax
movsxd rcx, dword [rax + r15]
xor dword [rsp + rcx*4 + 0x30], 0x59f86fa6
add rax, 4
cmp rax, 8
jne 0x1400cea8c
mov eax, dword [rsp + 0x40]
xor eax, dword [rsp + 0x2c]
mov dword [rsp + 0x24], 0
jmp 0x1400ce952
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x90], rax
xor eax, eax
lea rcx, [0x140117eac]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x70], 0x78c104ba
add rax, 4
cmp rax, 0xc
jne 0x1400ceacd
mov edi, 0x59f86fa6
mov bl, 1
mov ecx, 0xc77b0d8
lea rdx, [0x140117ea4]
mov ebp, 0x765675a7
mov esi, dword [rsp + 0x78]
xor esi, ecx
mov al, 1
cmp edi, 0xe97711d
je 0x1400ceb5b
cmp edi, 0x23b3651a
je 0x1400ceb1d
cmp edi, 0x59f86fa6
jne 0x1400ceb03
jmp 0x1400ceb23
xor eax, eax
mov edi, esi
jmp 0x1400ceb03
mov rax, qword [rsp + 0x90]
test bl, 1
je 0x1400ceb48
xor ebx, ebx
movsxd rdi, dword [rbx + rdx]
xor dword [rsp + rdi*4 + 0x70], 0x7a21c57f
add rbx, 4
cmp rbx, 8
jne 0x1400ceb32
test rax, rax
mov edi, 0x5b7261a0
cmove edi, ebp
xor edi, dword [rsp + 0x70]
xor ebx, ebx
jmp 0x1400ceafb
and al, 1
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret