Function at 0x1400ce9e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], rdx
mov qword [rbp + 8], rcx
mov qword [rbp - 0x10], rcx
mov byte [rbp - 1], r9b
mov eax, 0x10
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
sub rsp, 0x20
call fcn.1400cf110
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov qword [rbp + 0x20], rax
movabs rax, 0x5991b6c5215efa69
movabs rdx, 0x5991b6c5215efa69
xor rax, rdx
mov qword [rcx], rax
mov rax, rcx
add rax, 8
mov qword [rbp + 0x10], rax
mov qword [rcx + 8], 0
mov qword [rbp + 0x38], 0
lea rax, [rbp + 0x38]
add rax, 8
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x40], 0
mov word [rbp + 0x36], 0x27d
lea rcx, [rbp + 0x36]
sub rsp, 0x20
call fcn.14005fe20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x28], rcx
mov al, byte [rax]
mov cl, 0x90
xor cl, 0x90
cmp al, cl
jne 0x1400cee14
mov rdx, qword [rbp]
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x38]
sub rsp, 0x20
call fcn.14001976a
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x20]
call fcn.140019790
mov r8, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
movabs rdx, 0x60e0b69dc8699101
mov rax, r8
add rax, rdx
add rax, 0xffffffffffffffff
movabs rdx, 0x60e0b69dc8699101
sub rax, rdx
mov rdx, rax
xor rdx, r8
cmp rdx, 0
setl r9b
cmp rax, 0xffffffffffffffff
setg r8b
mov dl, r8b
xor dl, 0xff
mov r10b, r9b
xor r10b, 0xff
or dl, r10b
mov r10b, 1
xor r10b, 0
xor r8b, r10b
xor r9b, 0xff
or r8b, r9b
and dl, r8b
xor dl, 0xff
test dl, 1
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
jne 0x1400ceb58
jmp 0x1400ceb6a
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x1400cee14
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rcx
movabs rcx, 0x99301c06e9c2adc0
movabs rdx, 0x66cfe3f9163d523f
xor rcx, rdx
cmp rax, rcx
jle 0x1400cee14
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp + 8]
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
cmp rax, rcx
jl 0x1400cebd0
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x1400cee14
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
cmp rax, 0
je 0x1400cecb6
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
movabs rcx, 0x98a0283832d14117
movabs rdx, 0xd8a0283832d14117
xor rcx, rdx
and rax, rcx
cmp rax, 0
je 0x1400cecb6
mov eax, dword [0x1401da810]
mov ecx, 0xef73ec
xor ecx, 0x7910086
xor eax, ecx
imul eax, dword [0x1401da814]
imul eax, eax, 0x33c8c91c
mov ecx, 0x30c8f9ba
xor ecx, 0x9cc69526
sub eax, ecx
sub eax, 0xfe9d637e
mov ecx, 0xffc2cbf3
xor ecx, 0x53cca76f
add eax, ecx
add eax, 0xc8a0d06b
mov ecx, 0xcf604892
xor ecx, 0xe447a2e7
cmp eax, ecx
jb 0x1400cf0ea
mov rcx, qword [rbp + 8]
mov eax, dword [0x1401da818]
mov r8d, dword [0x1401da81c]
xor r8d, 0x6e10b508
xor edx, edx
div r8d
or eax, 0x8e067a41
add eax, 0x861c1d9e
add eax, 0x9223d9ff
mov dword [rbp - 0x54], eax
sub rsp, 0x20
call fcn.140014d00
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, 0xf3efc802
ja 0x1400cec67
jmp 0x1400cecb6
mov rax, qword [rbp - 0x38]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
or rax, 0xf
add rax, rcx
mov qword [rbp - 0x68], rax
mov rcx, qword [rbp + 0x38]
mov qword [rbp - 0x60], rcx
cmp rax, rcx
jb 0x1400ced79
mov eax, dword [0x1401da820]
mov ecx, dword [0x1401da824]
mov edx, 0x782f26b5
xor edx, 0x87d0d94a
xor ecx, edx
add eax, ecx
add eax, 1
add eax, 0xd6870712
sub eax, 0x67cd442d
add eax, 0x5a42074e
add eax, 0x67cd442d
and eax, 0x1461ab
cmp eax, 0x81c50afe
jae 0x1400cf0f3
mov rcx, qword [rbp - 0x68]
mov eax, dword [0x1401da828]
xor eax, 0xb8ca1fd4
imul eax, dword [0x1401da82c]
or eax, 0xda992c36
mov r8d, 0x8831de5b
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x60]
add eax, 0xc779a636
mov dword [rbp - 0x6c], eax
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013580
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp eax, 0x79b2235b
je 0x1400ced23
jmp 0x1400cee14
mov rdx, qword [rbp - 0x40]
mov r8, qword [rbp + 0x10]
mov r10, qword [rbp - 0x68]
mov r9, qword [rbp + 0x18]
mov r11, qword [rbp - 0x38]
mov bl, byte [rbp - 1]
mov rcx, r11
shr rcx, 4
mov rax, r11
sub rax, 0x10
setb al
xor al, bl
test al, 1
mov rax, 0xffffffffffffffff
cmovne rax, rcx
test bl, 1
cmovne rcx, rax
sub r11, 0x10
mov r9, qword [r9]
mov r9b, byte [r9 + r10 + 8]
mov r8, qword [r8]
mov byte [r8 + rdx + 8], r9b
cmovb rcx, rax
mov rax, rdx
dec rax
mov r8, rax
xor r8, rdx
sets r9b
test rdx, rdx
setne dl
sete r8b
or r8b, r9b
add dl, r8b
inc dl
test dl, 1
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
jne 0x1400cee07
jmp 0x1400ceb6a
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
mov eax, dword [0x1401da830]
mov ecx, dword [0x1401da834]
mov edx, 0x57a60ba5
xor edx, 0x564d0479
xor ecx, edx
xor edx, edx
div ecx
sub eax, 0x6200e69
mov r8d, 0xffffffff
xor r8d, 0x3c12a243
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x3c12a243
or eax, 0x3c12a243
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xae0abdc0
xor edx, 0x1003a5d0
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xbe091810
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xbe091810
or eax, 0xbe091810
imul eax, edx
add eax, ecx
mov ecx, 0xa5c71bf7
xor ecx, 0xca858b88
cmp eax, ecx
ja 0x1400cf0fc
mov rcx, qword [rbp + 0x18]
mov eax, dword [0x1401da838]
mov edx, dword [0x1401da83c]
sub eax, 0x434f7303
add eax, edx
add eax, 0x434f7303
imul eax, eax, 0x3687016
mov r8d, 0xc7472ee0
xor edx, edx
div r8d
mov edx, eax
mov eax, edx
xor eax, 0xffffffff
and eax, 0xececf50d
mov r8d, 0xffffffff
xor r8d, 0xececf50d
and edx, r8d
or eax, edx
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x6d], cl
cmp eax, 0x1b63eecc
jb 0x1400ceeb1
mov al, byte [rbp - 0x6d]
test al, 1
jne 0x1400cef64
jmp 0x1400cef28
mov rax, qword [rbp - 0x78]
mov rax, qword [rax]
movabs rcx, 0xbe1589ff6deec599
movabs rdx, 0xfe1589ff6deec599
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1400cef64
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
mov ecx, dword [0x1401da840]
mov edx, dword [0x1401da844]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x9de8bcfe
xor r8d, 0x62174301
mov edx, ecx
xor edx, r8d
or eax, edx
mov edx, 0x68eb7e67
xor edx, 0x3c23e476
and eax, edx
xor eax, 0xffffffff
mov edx, 0x3a9f030a
xor edx, 0x6e57991b
mov r8d, 0x6ac23f53
xor r8d, 0x3e0aa542
and edx, r8d
mov r8d, 0x16265280
xor r8d, 0xe9d9ad7f
xor edx, r8d
and ecx, edx
mov edx, 0xf4aa1b23
xor edx, 0xb55e4dc
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
and eax, eax
mov ecx, 0x2d832575
xor ecx, 0xd27cda8a
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xaa7d5cde
mov edx, 0xcc9e6c91
xor edx, 0x66e3304f
mov r8d, 0x506bf6c6
xor r8d, 0xaf940939
xor edx, r8d
or ecx, edx
mov edx, 0xa8d8ebca
xor edx, 0x57271435
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x735213f7
xor ecx, 0x6a42d3ce
add eax, ecx
mov ecx, 0xc02da179
xor ecx, 0x1384963b
sub eax, ecx
sub eax, 0x1910c039
cmp eax, 0x689450dd
je 0x1400cf105
mov ecx, dword [0x1401da848]
mov eax, 0xda24e403
xor eax, 0x81dce541
xor ecx, eax
mov edx, dword [0x1401da84c]
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x58efd4aa
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x58efd4aa
or eax, 0x58efd4aa
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xd43e7d7
add eax, ecx
add eax, 1
mov ecx, eax
xor ecx, 0xd4cd6d28
xor ecx, 0xffffffff
and ecx, 0xd4cd6d28
shl ecx, 1
sub ecx, 0xd4cd6d28
sub eax, ecx
cmp eax, 0x21b2b256
je 0x1400cf059
mov rax, qword [rbp - 0x10]
lea rsp, [rbp + 0x48]
pop rbx
pop rbp
ret
call qword [rdi - 0x40]
shr cl, 1
rcl al, 0xe9
je 0x1400cf0ec
invalid
adc al, 0xfe
cmp eax, 0xfc27e9da
invalid
not bl
pop rbp
jmp 0x1400ceeb1
stosb byte [rdi], al
invalid