Function at 0x1401c9840
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
mov rax, qword [0x14055f100]
add rax, qword [rcx + 8]
movabs r9, 0xe38fd074eb6ad34b
add r9, qword [0x140508618]
mov r10, rax
xor r10, r9
and r9, rax
lea rax, [r10 + r9*2]
mov qword [rcx + 8], rax
mov r9, qword [rcx]
mov rax, qword [rdx]
mov qword [r8 + 8], rax
mov rax, qword [rdx]
cmp rax, r9
je 0x1401c9895
cmp dword [rdx + 8], 0
je 0x1401c98a5
xor r10d, r10d
test r10b, r10b
jne 0x1401c98cc
jmp 0x1401c98b8
mov qword [r9], r8
mov qword [r9 + 8], r8
mov qword [r9 + 0x10], r8
mov rax, r8
jmp 0x1401c991e
mov qword [rax + 0x10], r8
mov rax, qword [rdx]
cmp rax, qword [r9 + 0x10]
jne 0x1401c98dc
lea rax, [r9 + 0x10]
jmp 0x1401c98d9
mov qword [rax], r8
mov r10, qword [rdx]
mov r11, qword [r9]
mov esi, dword [0x14055f764]
cmp esi, 0x5c
jle 0x1401c98d1
mov qword [rax], r8
jmp 0x1401c98b8
mov rax, r9
cmp r10, r11
jne 0x1401c98dc
mov qword [rax], r8
mov eax, dword [0x14055f760]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401c990a
mov rax, qword [r8 + 8]
movzx edx, byte [rax + 0x18]
mov r10d, dword [0x14055f760]
lea r11d, [r10 - 1]
imul r11d, r10d
test r11b, 1
je 0x1401c9916
mov al, 1
nop dword [rax]
test al, al
je 0x1401c9910
jmp 0x1401c98ed
test dl, dl
je 0x1401c992c
mov rax, qword [r9 + 8]
mov byte [rax + 0x18], 1
mov rax, r8
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
lea rdx, [r8 + 8]
lea rsi, [rax + 0x18]
mov r10d, 0x46f6b423
mov r11, r8
jmp 0x1401c998d
mov byte [rsi], 1
mov byte [rdi + 0x18], 1
mov rax, qword [rdx]
mov rax, qword [rax + 8]
mov byte [rax + 0x18], 0
mov rax, qword [rdx]
mov r11, qword [rax + 8]
lea rdx, [r11 + 8]
mov rax, qword [r11 + 8]
lea rsi, [rax + 0x18]
movzx ebx, byte [rax + 0x18]
movzx edi, byte [0x14055f768]
mov ebp, edi
xor bpl, bl
and dil, bl
add dil, dil
add dil, bpl
movzx ebx, byte [0x140508614]
add bl, 0x46
cmp dil, bl
jne 0x1401c991a
mov rbx, qword [rax + 8]
mov rdi, qword [rbx]
cmp rax, rdi
je 0x1401c99f0
cmp byte [rdi + 0x18], 0
je 0x1401c9940
mov rdx, qword [rax]
cmp r11, rdx
jne 0x1401c9a59
mov r11, qword [rdx + 0x10]
mov qword [rax], r11
mov r11, qword [rdx + 0x10]
cmp byte [r11 + 0x19], 0
jne 0x1401c99c1
mov qword [r11 + 8], rax
mov r11, qword [rax + 8]
mov qword [rdx + 8], r11
mov r11, qword [rcx]
cmp qword [r11 + 8], rax
je 0x1401c9a47
mov rsi, qword [rax + 8]
lea r11, [rsi + 0x10]
cmp qword [rsi + 0x10], rax
cmovne r11, rsi
jmp 0x1401c9a4b
mov rdi, qword [rbx + 0x10]
cmp byte [rdi + 0x18], 0
je 0x1401c9940
mov rdx, qword [rax + 0x10]
cmp r11, rdx
jne 0x1401c9b76
mov r11, qword [rdx]
mov qword [rax + 0x10], r11
mov r11, qword [rdx]
movzx ebx, byte [0x140508614]
add bl, 0x46
cmp byte [r11 + 0x19], bl
jne 0x1401c9a29
mov qword [r11 + 8], rax
mov r11d, dword [0x14055f760]
lea esi, [r11 - 1]
imul esi, r11d
test sil, 1
jne 0x1401c9b40
jmp 0x1401c9b20
add r11, 8
mov qword [r11], rdx
mov qword [rdx + 0x10], rax
mov qword [rax + 8], rdx
mov r11, rax
mov rax, qword [r11 + 8]
movzx edx, byte [0x140508614]
add dl, 0x47
mov byte [rax + 0x18], dl
mov rax, qword [r11 + 8]
mov rax, qword [rax + 8]
mov byte [rax + 0x18], 0
mov rax, qword [r11 + 8]
mov rsi, qword [rax + 8]
mov rdi, qword [rsi + 0x10]
mov rax, qword [rdi]
mov qword [rsi + 0x10], rax
mov rax, qword [rdi]
cmp byte [rax + 0x19], 0
jne 0x1401c9a96
mov qword [rax + 8], rsi
mov rax, qword [rsi + 8]
mov qword [rdi + 8], rax
mov rbx, qword [rcx]
cmp qword [rbx + 8], rsi
je 0x1401c9b06
mov edx, dword [0x14055f760]
lea eax, [rdx - 1]
imul eax, edx
mov ebx, dword [0x140508610]
add ebx, r10d
xor edx, edx
div ebx
test edx, edx
mov rax, qword [rsi + 8]
lea rbx, [rax + 0x10]
cmp qword [rax], rsi
cmove rbx, rax
mov edx, dword [0x14055f760]
lea eax, [rdx + 0x3ff564e2]
mov r14d, eax
xor r14d, 0xc00a9b1d
and eax, 0x400a9b1d
lea eax, [r14 + rax*2]
imul eax, edx
mov ebp, dword [0x140508610]
add ebp, r10d
xor edx, edx
div ebp
test edx, edx
jne 0x1401c9ac2
jmp 0x1401c9b0a
add rbx, 8
mov qword [rbx], rdi
mov qword [rdi], rsi
mov qword [rsi + 8], rdi
jmp 0x1401c9959
mov r11, qword [rax + 8]
mov qword [rdx + 8], r11
mov r11, qword [rcx]
mov rsi, qword [r11 + 8]
mov edi, dword [0x14055f760]
lea ebx, [rdi - 1]
imul ebx, edi
test bl, 1
je 0x1401c9b4f
mov r11, qword [rax + 8]
mov qword [rdx + 8], r11
test rcx, rcx
je 0x1401c9b40
jmp 0x1401c9b20
cmp rsi, rax
je 0x1401c9b65
mov rsi, qword [rax + 8]
lea r11, [rsi + 0x10]
cmp qword [rsi], rax
cmove r11, rsi
jmp 0x1401c9b69
add r11, 8
mov qword [r11], rdx
mov qword [rdx], rax
mov qword [rax + 8], rdx
mov r11, rax
mov rax, qword [r11 + 8]
movzx edx, byte [0x140508614]
add dl, 0x47
mov byte [rax + 0x18], dl
mov rax, qword [r11 + 8]
mov rax, qword [rax + 8]
movzx edx, byte [0x140508614]
add dl, 0x46
mov byte [rax + 0x18], dl
mov rax, qword [r11 + 8]
mov rax, qword [rax + 8]
mov rdx, qword [rax]
mov rsi, qword [rdx + 0x10]
mov qword [rax], rsi
mov rsi, qword [rdx + 0x10]
cmp byte [rsi + 0x19], 0
jne 0x1401c9bbc
mov qword [rsi + 8], rax
mov rsi, qword [rax + 8]
mov qword [rdx + 8], rsi
mov rsi, qword [rcx]
cmp qword [rsi + 8], rax
je 0x1401c9bdf
mov rdi, qword [rax + 8]
lea rsi, [rdi + 0x10]
cmp qword [rdi + 0x10], rax
cmovne rsi, rdi
jmp 0x1401c9be3
add rsi, 8
mov qword [rsi], rdx
mov qword [rdx + 0x10], rax
mov qword [rax + 8], rdx
jmp 0x1401c9959