Function at 0x1400ccb50
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
mov rax, qword [rdx]
mov qword [rsp + 0x60], rax
cmp rax, 0
jle 0x1400cd08f
mov eax, dword [0x14021c230]
mov ecx, dword [0x14021c234]
xor ecx, 0xffffffff
add eax, ecx
mov ecx, 0xb0ea288c
xor ecx, 0xb0ea288d
add eax, ecx
xor eax, 0xa87baf18
mov ecx, eax
xor ecx, 0xca0c3456
mov edx, 0xffffffff
xor edx, 0xca0c3456
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x10065e63
xor edx, edx
div ecx
cmp eax, 0xbbfa9dbb
je 0x1400cd094
mov rdx, qword [rsp + 0x60]
mov ecx, dword [0x14021c238]
xor ecx, 0x3087efc5
sub ecx, dword [0x14021c23c]
or ecx, ecx
xor ecx, 0xffffffff
mov eax, 0x6568a853
or eax, 0x6568a853
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x5eeba3ab
mov eax, ecx
xor eax, r8d
and eax, ecx
imul eax, eax, 0x750d5f9
mov rcx, rdx
add rcx, 1
mov qword [rsp + 0x40], rcx
mov r9, rdx
and r9, 0xffffffffffffffff
movabs r8, 0x494830b7186b208e
movabs r10, 0x494830b7186b208c
xor r8, r10
imul r8, r9
movabs r9, 0x42a7a6686c64027e
movabs r10, 0xbd585997939bfd81
xor r9, r10
add rdx, r9
sub rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x4f], cl
cmp eax, 0x183a77bc
jb 0x1400ccbc1
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x1400ccc81
jmp 0x1400ccd3f
mov eax, dword [0x14021c240]
mov ecx, 0xd164efa1
xor ecx, 0x9e2900b9
xor eax, ecx
and eax, dword [0x14021c244]
mov ecx, 0xbcb8b6d3
xor edx, edx
div ecx
and eax, 0x59591741
mov ecx, 0x3485f552
xor ecx, 0xe367b9fb
add eax, ecx
sub eax, 0x56e60c42
sub eax, 0xd7e24ca9
cmp eax, 0x17c1ef0e
jbe 0x1400cd09d
mov eax, dword [0x14021c248]
mov ecx, dword [0x14021c24c]
sub eax, 0x224ed711
sub eax, ecx
mov ecx, 0x85e92adb
xor ecx, 0xa7a7fdca
add eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0x4363bcd1
xor edx, 0xbc9c432e
xor eax, edx
or eax, 0x1c92e360
add eax, ecx
mov ecx, 0x30e937ba
xor ecx, 0x30e937ba
mov edx, 0x5357fbb0
xor edx, 0x2edc181
sub ecx, edx
add eax, ecx
add eax, 0xd395d717
mov dword [rsp + 0x3c], eax
call fcn.140008bc6
mov eax, dword [rsp + 0x3c]
cmp eax, 0x40b56303
jb 0x1400cccca
jmp 0x1400cd08f
mov ecx, dword [0x14021c250]
mov eax, 0xeccf856f
xor eax, 0x131804c6
xor ecx, eax
sub ecx, dword [0x14021c254]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x611f2704
xor edx, 0x9ee0d8fb
xor ecx, edx
and eax, ecx
mov ecx, 0xcc4c07b4
xor ecx, 0xad3bb715
mov edx, 0x6cffba94
xor edx, 0x9300456b
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x6177b0a1
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
imul eax, eax, 0x69efdc75
sub eax, 0x3ea85102
cmp eax, 0xfe679059
ja 0x1400cd0a6
mov rcx, qword [rsp + 0x40]
mov edx, dword [0x14021c258]
xor edx, 0xc627a17a
mov r8d, dword [0x14021c25c]
mov r9d, 0x7ef3011e
xor r9d, 0x810cfee1
mov eax, edx
xor eax, r9d
mov r9d, edx
xor r9d, 0xffffffff
and eax, r9d
mov r10d, 0x4ced17ee
xor r10d, 0xb312e811
mov r9d, r8d
xor r9d, r10d
mov r10d, r8d
xor r10d, 0xffffffff
and r9d, r10d
or eax, r9d
xor eax, 0xffffffff
mov r9d, 0xc982d2ba
xor r9d, 0x367d2d45
xor edx, r9d
xor r8d, 0xffffffff
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, eax
and edx, 0x8a922ef
shl edx, 1
mov r8d, 0x95376014
xor r8d, 0x9d9e42fb
add eax, r8d
sub eax, edx
mov r8d, 0xff091a83
xor r8d, 0x47190015
xor edx, edx
div r8d
mov edx, eax
mov r8d, 0xdd86bf57
xor r8d, 0x227940a8
mov eax, edx
xor eax, r8d
and eax, 0xab9ac0b1
mov r8d, 0xffffffff
xor r8d, 0xab9ac0b1
and edx, r8d
or eax, edx
movabs rdx, 0x359b0a42bc7bef41
movabs r8, 0x359b0a42bc7bef41
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x3b], cl
cmp eax, 0xbd4b10e5
ja 0x1400cd0a6
mov al, byte [rsp + 0x3b]
test al, 1
jne 0x1400ccebb
jmp 0x1400cced8
mov rcx, qword [rsp + 0x40]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000e6db
jmp 0x1400cd08f
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x40]
mov rcx, qword [rdx + 8]
add rcx, 8
add rcx, qword [rdx]
mov rdx, qword [rax + 8]
add rdx, 8
call fcn.1400dbf60
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov r9, qword [rcx]
mov rdx, qword [rax]
movabs rax, 0xaf8660fd8a734c32
movabs rcx, 0xc3b534a09e41895b
xor rax, rcx
mov rcx, rdx
sub rcx, rax
add rcx, r9
movabs rax, 0x6c33545d1432c569
add rcx, rax
mov qword [rsp + 0x30], rcx
mov r8, rcx
and r8, r9
shl r8, 1
mov rax, rcx
add rax, r9
sub rax, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xb40df256559bb6b
movabs rdx, 0xb40df256559bb6b
xor rcx, rdx
cmp rax, rcx
jge 0x1400cd082
mov ecx, dword [0x14021c260]
mov edx, dword [0x14021c264]
mov eax, 0x201c9f38
xor eax, 0xdfe360c7
mov r8d, ecx
xor r8d, eax
mov eax, edx
and eax, r8d
mov r8d, 0x2414c587
xor r8d, 0xdbeb3a78
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0x7394e5d8
xor edx, 0x8c6b1a27
xor eax, edx
or eax, 0xe3895c92
add eax, ecx
and eax, 0x884d7a0
mov ecx, 0xf3f305e1
xor ecx, 0x59fd4cdd
sub eax, ecx
sub eax, 0x81e8b7e5
mov ecx, 0x557880e4
xor ecx, 0xff76c9d8
add eax, ecx
mov ecx, 0x2d8c17e1
xor ecx, 0xdc9d318f
cmp eax, ecx
jae 0x1400cd0af
mov ecx, dword [0x14021c268]
mov edx, dword [0x14021c26c]
xor edx, 0x92cb9f9e
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
mov ecx, 0x5821eac8
xor ecx, 0xa7de1537
xor eax, ecx
xor eax, 0x1c15cf37
mov ecx, 0x44960f4a
xor ecx, 0x44960f4a
mov edx, 0x647f2239
xor edx, 0xac2776b1
sub ecx, edx
sub eax, ecx
sub eax, 0xce125fe3
sub eax, 0x541c3bba
mov ecx, 0xdd352d60
xor ecx, 0x13277283
add eax, ecx
mov dword [rsp + 0x2c], eax
call fcn.140008bc6
mov eax, dword [rsp + 0x2c]
cmp eax, 0x94e9321b
jb 0x1400cd0af
jmp 0x1400cd08f
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
add rsp, 0x68
ret
cmp eax, 0xe969f79b
and al, 0xfb
invalid
cmp eax, 0xe918e1bc
and al, 0xfc
invalid
mov ah, byte [rax - 0x162494]
cld
invalid
invalid