Function at 0x1400ca430
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov rsi, rcx
mov rcx, qword [rcx]
mov eax, dword [0x141dd65b0]
xor edx, edx
div dword [0x141dd65b4]
nop word cs:[rax + rax]
mov eax, dword [0x141dd65b8]
sub eax, dword [0x141dd65bc]
xor eax, 0x6088822
or eax, 0x70b7079d
add eax, 0x83ac6b5b
cmp eax, 0x5d53c96f
jb 0x1400ca460
cmp rcx, 0xffffffffffffffff
je 0x1400ca6f1
lea rax, [rcx + 1]
lea rdx, [rcx + rcx]
nop word cs:[rax + rax]
mov r9d, dword [str.6Tf9t]
xor r9d, dword [0x141dd65c4]
add r9d, 0x2628e05c
xor r9d, 0x7373638f
add r9d, 0xfd790e1d
cmp rdx, rax
mov r8, rax
cmova r8, rdx
cmp r9d, 0x241d9195
jb 0x1400ca4a0
cmp r8, 5
mov edi, 4
cmovae rdi, r8
mov edx, 0x158
mov rax, rdi
mul rdx
jo 0x1400ca6f1
mov rbx, rax
movabs rax, 0x7ffffffffffffff8
cmp rbx, rax
ja 0x1400ca6f1
nop word [rax + rax]
mov eax, dword [0x141dd65c8]
or eax, dword [0x141dd65cc]
add eax, 0xe46e86ed
xor eax, 0xd61b4626
add eax, 0x455d10b
cmp eax, 0xff655e5c
ja 0x1400ca510
nop word cs:[rax + rax]
mov eax, dword [0x141dd65d0]
add eax, dword [0x141dd65d4]
or eax, 0x6063f735
imul eax, eax, 0x36b24277
or eax, 0x19b21de6
cmp eax, 0xb24e5bc6
ja 0x1400ca540
test rcx, rcx
je 0x1400ca5fb
mov rax, qword [rsi + 8]
mov edx, dword [0x141dd65d8]
sub edx, dword [0x141dd65dc]
imul rcx, rcx, 0x158
or edx, 0x6ef31736
add edx, 0xd9fc5d90
cmp edx, 0x669cadf1
jbe 0x1400ca5b0
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rcx
nop word cs:[rax + rax]
mov edx, dword [0x141dd65e0]
add edx, dword [0x141dd65e4]
or edx, 0xded21c
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rcx
cmp edx, 0xf290f162
je 0x1400ca5b0
nop word cs:[rax + rax]
mov eax, dword [0x141dd65e8]
add eax, dword [0x141dd65ec]
cmp eax, 0xf98b51a7
je 0x1400ca5e0
mov r12d, 8
jmp 0x1400ca5fe
xor r12d, r12d
mov eax, dword [0x141dd65f0]
xor edx, edx
div dword [0x141dd65f4]
or eax, 0x40c7075
add eax, 0xc78744c5
and eax, 0x3b61f06e
cmp eax, 0xc09a5ac5
jbe 0x1400ca63e
mov qword [rsp + 0x28], r12
lea rcx, [rsp + 0x38]
lea r9, [rsp + 0x20]
mov edx, 8
mov r8, rbx
call fcn.1400c1320
lea r14, [rsp + 0x38]
lea r15, [rsp + 0x20]
nop dword [rax + rax]
mov ebp, dword [0x141dd65f8]
sub ebp, dword [0x141dd65fc]
mov qword [rsp + 0x28], r12
mov edx, 8
mov rcx, r14
mov r8, rbx
mov r9, r15
call fcn.1400c1320
cmp ebp, 0x86669889
je 0x1400ca650
cmp qword [rsp + 0x38], 0
jne 0x1400ca6f1
mov eax, dword [0x141dd6610]
add eax, dword [0x141dd6614]
imul eax, eax, 0x3d2f508e
and eax, 0x1bf74f32
add eax, 0xac76cfb9
cmp eax, 0xf8b49b54
nop word cs:[rax + rax]
mov eax, dword [0x141dd6618]
xor eax, dword [0x141dd661c]
xor eax, 0x9a18c725
imul eax, eax, 0xf1f60767
cmp eax, 0x38f8899c
jb 0x1400ca6b0
mov rax, qword [rsp + 0x40]
mov ecx, dword [0x141dd6620]
mov edx, dword [0x141dd6624]
add ecx, edx
add ecx, 0x9914e7e2
cmp ecx, 0xe77ec4cd
jbe 0x1400ca743
jmp 0x1400ca767
mov eax, dword [0x141dd6600]
imul eax, dword [0x141dd6604]
add eax, 0xcc42a625
imul rax, rax, 0x37e371bd
shr rax, 0x3d
imul eax, eax, 0x381eb1d2
cmp eax, 0xb6952f8d
jbe 0x1400ca720
ud2
mov eax, dword [0x141dd6608]
mov ecx, dword [0x141dd660c]
add eax, ecx
add eax, 0xc65f14fb
or eax, 0x407a459e
ud2
mov ecx, dword [0x141dd6628]
or ecx, dword [0x141dd662c]
add ecx, 0xd7f72e36
or ecx, 0x1be2583a
mov qword [rsi + 8], rax
cmp ecx, 0xd489dbd0
jbe 0x1400ca76d
mov qword [rsi + 8], rax
jmp 0x1400ca743
mov eax, dword [0x141dd6630]
sub eax, dword [0x141dd6634]
and eax, 0x499aba21
imul eax, eax, 0x7a46765b
add eax, 0x7f90d47a
cmp eax, 0x285ba8e6
jbe 0x1400ca7a0
mov qword [rsi], rdi
nop word cs:[rax + rax]
mov eax, dword [0x141dd6638]
imul eax, dword [0x141dd663c]
imul eax, eax, 0xa9f5e331
or eax, 0x61c8feac
imul rax, rax, 0x4f50e93b
shr rax, 0x3e
mov qword [rsi], rdi
cmp eax, 0xc20f7020
ja 0x1400ca7a0
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret