Function at 0x1401ce640
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
mov rbp, rsp
mov rsi, rcx
mov eax, dword [0x1415ccb80]
xor edx, edx
div dword [0x1415ccb84]
mov ecx, eax
xor ecx, 0x1ff9dff5
or eax, 0xe006200a
and eax, ecx
mov ecx, eax
not ecx
mov edx, eax
or edx, 0x1c78d7e5
mov r8d, edx
and r8d, 0x5d641491
and ecx, 0xa283280a
imul ecx, r8d
and edx, 0xa29beb6e
or eax, 0xbefbffef
imul eax, edx
add eax, ecx
cmp eax, 0x4515173b
je 0x1401ce6f5
mov eax, dword [0x1415ccb88]
xor edx, edx
div dword [0x1415ccb8c]
mov ecx, eax
xor eax, 0x865c2f34
or ecx, 0x79a3d0cb
and ecx, eax
add ecx, 0xd658f8f4
and ecx, 0x98dfdf96
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov r9, rsp
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov rdi, rsp
cmp ecx, 0x11a3a5d
jae 0x1401ce711
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
jmp 0x1401ce6a4
mov rax, qword [rsi]
cmp rax, 0xffffffffffffffff
je 0x1401ce992
lea rcx, [rax + 1]
lea rdx, [rax + rax]
cmp rdx, rcx
cmova rcx, rdx
cmp rcx, 5
mov ebx, 4
cmovae rbx, rcx
movabs r11, 0x5f417d05f417d1
mov r10, rbx
and r10, 0xfffffffffffffea7
mov r8, rbx
or r8, 0x158
nop dword [rax + rax]
xor edx, edx
cmp rbx, r11
setb cl
mov r14d, dword [0x1415ccb90]
mov r15d, dword [0x1415ccb94]
not r14d
not r15d
or r15d, r14d
not r15d
imul r14d, r15d, 0x3865900a
mov r15d, r14d
not r15d
and r15d, 0x3904e315
mov r12d, r14d
and r12d, 0xc6fb1cea
imul r12d, r15d
mov r15d, r14d
and r15d, 0x3904e314
or r14d, 0x3904e315
imul r14d, r15d
add r14d, r12d
not r14d
or r14d, 0x719ea459
cmp r14d, 0xe6d16b89
ja 0x1401ce760
mov r11d, ebx
not r11d
and r11d, 0x158
imul r11, r10
mov r10d, ebx
and r10d, 0x158
imul r8, r10
add r8, r11
mov dl, cl
shl rdx, 3
test rax, rax
je 0x1401ce8a7
mov r10, rax
and r10, 0xfffffffffffffea7
mov rcx, rax
or rcx, 0x158
nop word cs:[rax + rax]
mov r11d, dword [0x1415ccb9c]
mov r14d, r11d
xor r14d, r11d
not r14d
and r14d, dword [0x1415ccb98]
xor r14d, r11d
add r14d, 0xdfc2debe
mov r11d, r14d
and r11d, 0x3b70e7f8
add r11d, r11d
sub r14d, r11d
add r14d, 0xbb70e7f8
mov r11d, r14d
not r11d
and r11d, 0xb625258f
and r14d, 0x49dada70
sub r14d, r11d
cmp r14d, 0x8f7fa9bb
jb 0x1401ce820
mov r11d, eax
not r11d
and r11d, 0x158
imul r10, r11
and eax, 0x158
imul rcx, rax
add rcx, r10
mov rax, qword [rsi + 8]
mov qword [r9], rax
mov qword [r9 + 0x10], rcx
mov eax, 8
jmp 0x1401ce8a9
xor eax, eax
mov qword [r9 + 8], rax
sub rsp, 0x20
mov rcx, rdi
call fcn.140219c20
add rsp, 0x20
cmp qword [rdi], 0
jne 0x1401ce960
mov rax, qword [rdi + 8]
mov ecx, dword [0x1415ccba8]
mov edx, dword [0x1415ccbac]
mov r8d, ecx
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, ecx
imul r9d, r8d
mov r8d, ecx
and r8d, edx
or ecx, edx
imul ecx, r8d
add ecx, r9d
and ecx, 0xe7a58010
add ecx, 0x9c036a30
cmp ecx, 0xfc9d2012
jbe 0x1401ce920
mov qword [rsi + 8], rax
mov qword [rsi], rbx
nop word [rax + rax]
mov ecx, dword [0x1415ccbb0]
imul ecx, dword [0x1415ccbb4]
mov edx, ecx
xor edx, 0x6de01d94
and edx, ecx
mov qword [rsi + 8], rax
mov qword [rsi], rbx
cmp edx, 0x480e22b6
je 0x1401ce920
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
mov eax, 0xb2afa8be
add eax, 0xf9a832ab
jae 0x1401ce960
nop dword [rax]
mov eax, dword [0x1415ccba0]
xor eax, dword [0x1415ccba4]
and eax, 0x257efaf
add eax, 0x96985cde
or eax, 0x16a35d53
cmp eax, 0xa889b68
jb 0x1401ce970
ud2