Function at 0x1401a4210
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
mov rax, rdx
mov rdx, qword [rdx + 0x10]
movzx r9d, byte [rdx + 0x19]
test r9b, r9b
je 0x1401a4259
mov r8, qword [rax + 8]
movzx r10d, byte [0x14051ee68]
add r10b, 0x1c
cmp byte [r8 + 0x19], r10b
jne 0x1401a4286
mov r10, rax
nop dword [rax]
mov r11, r10
mov r10, r8
cmp r11, qword [r8 + 0x10]
jne 0x1401a4294
mov r8, qword [r10 + 8]
cmp byte [r8 + 0x19], 0
je 0x1401a4240
jmp 0x1401a4297
mov r10, rdx
nop dword [rax]
mov r8, r10
mov r10, qword [r10]
movzx r11d, byte [0x14051ee68]
mov ebx, r11d
xor bl, 0x1c
and r11b, 0x1c
add r11b, r11b
add r11b, bl
cmp byte [r10 + 0x19], r11b
je 0x1401a4260
jmp 0x1401a4297
mov r8, qword [rax]
cmp byte [r8 + 0x19], 0
cmove rdx, r8
jmp 0x1401a42c6
mov r8, r10
mov r10, qword [rax]
movzx r11d, byte [r10 + 0x19]
mov ebx, r11d
not bl
mov esi, r11d
xor sil, r9b
not r9b
and r9b, bl
or r9b, sil
test r11b, r11b
not r9b
cmove rdx, r10
or r9b, sil
je 0x1401a4361
mov r9, qword [rax + 8]
cmp byte [rdx + 0x19], 0
jne 0x1401a42d4
mov qword [rdx + 8], r9
mov r8, qword [rcx]
cmp qword [r8 + 8], rax
je 0x1401a42ea
lea r8, [r9 + 0x10]
cmp qword [r9], rax
cmove r8, r9
jmp 0x1401a42ee
add r8, 8
mov qword [r8], rdx
mov r8, qword [rcx]
cmp qword [r8], rax
jne 0x1401a4320
cmp byte [rdx + 0x19], 0
mov r10, r9
jne 0x1401a431d
mov r11, rdx
nop word cs:[rax + rax]
mov r10, r11
mov r11, qword [r11]
cmp byte [r11 + 0x19], 0
je 0x1401a4310
mov qword [r8], r10
mov r8, qword [rcx]
cmp qword [r8 + 0x10], rax
jne 0x1401a4352
movzx r11d, byte [0x1405759c4]
mov r10, r9
add r11b, byte [rdx + 0x19]
jne 0x1401a434e
mov r11, rdx
nop dword [rax]
mov r10, r11
mov r11, qword [r11 + 0x10]
cmp byte [r11 + 0x19], 0
je 0x1401a4340
mov qword [r8 + 0x10], r10
cmp byte [rax + 0x18], 1
je 0x1401a43f9
jmp 0x1401a4750
mov rdx, qword [r8 + 0x10]
cmp r8, rax
je 0x1401a42c6
mov qword [r10 + 8], r8
mov r9, qword [rax]
mov qword [r8], r9
mov r9, r8
cmp r8, qword [rax + 0x10]
je 0x1401a43a2
mov r9, qword [r8 + 8]
cmp byte [rdx + 0x19], 0
jne 0x1401a438f
mov qword [rdx + 8], r9
mov qword [r9], rdx
mov r10, qword [rax + 0x10]
mov qword [r8 + 0x10], r10
mov r10, qword [rax + 0x10]
mov qword [r10 + 8], r8
mov r10, qword [rcx]
cmp qword [r10 + 8], rax
je 0x1401a43bc
mov r11, qword [rax + 8]
lea r10, [r11 + 0x10]
cmp qword [r11], rax
cmove r10, r11
jmp 0x1401a43c0
add r10, 8
mov qword [r10], r8
mov r10, qword [rax + 8]
mov qword [r8 + 8], r10
movzx r10d, byte [r8 + 0x18]
movzx r11d, byte [rax + 0x18]
mov byte [r8 + 0x18], r11b
mov byte [rax + 0x18], r10b
cmp byte [rax + 0x18], 1
je 0x1401a43f9
jmp 0x1401a4750
mov byte [r9 + 0x18], 0
mov r9, qword [rdx + 8]
mov r8, qword [rcx]
cmp rdx, qword [r8 + 8]
je 0x1401a474c
mov r8, rdx
cmp byte [rdx + 0x18], 1
jne 0x1401a4749
mov rdx, r9
mov r9, qword [r9]
cmp r8, r9
je 0x1401a4440
cmp byte [r9 + 0x18], 0
je 0x1401a44d0
cmp byte [r9 + 0x19], 0
jne 0x1401a43f5
jmp 0x1401a454f
mov r9, qword [rdx + 0x10]
cmp byte [r9 + 0x18], 0
jne 0x1401a4583
mov byte [r9 + 0x18], 1
mov byte [rdx + 0x18], 0
mov r9, qword [rdx + 0x10]
mov r10, qword [r9]
mov qword [rdx + 0x10], r10
mov r10, qword [r9]
movzx r11d, byte [0x14051ee68]
mov ebx, r11d
xor bl, 0x1c
not r11b
and r11b, 0x63
or r11b, bl
not r11b
add r11b, r11b
mov esi, ebx
xor sil, r11b
and r11b, bl
add r11b, r11b
add r11b, sil
cmp byte [r10 + 0x19], r11b
jne 0x1401a449c
mov qword [r10 + 8], rdx
mov r10, qword [rdx + 8]
mov qword [r9 + 8], r10
mov r10, qword [rcx]
cmp qword [r10 + 8], rdx
je 0x1401a4571
mov r11, qword [rdx + 8]
lea r10, [r11 + 0x10]
cmp qword [r11], rdx
cmove r10, r11
jmp 0x1401a4575
mov byte [r9 + 0x18], 1
movzx r9d, byte [0x14051ee68]
mov r10d, r9d
xor r10b, 0xa8
and r9b, 0x28
add r9b, r9b
add r9b, r10b
add r9b, 0x74
mov byte [rdx + 0x18], r9b
mov r9, qword [rdx]
mov r10, qword [r9 + 0x10]
mov qword [rdx], r10
mov r10, qword [r9 + 0x10]
cmp byte [r10 + 0x19], 0
jne 0x1401a450f
mov qword [r10 + 8], rdx
mov r10, qword [rdx + 8]
mov qword [r9 + 8], r10
mov r10, qword [rcx]
cmp qword [r10 + 8], rdx
je 0x1401a4532
mov r11, qword [rdx + 8]
lea r10, [r11 + 0x10]
cmp qword [r11 + 0x10], rdx
cmovne r10, r11
jmp 0x1401a4536
add r10, 8
mov qword [r10], r9
mov qword [r9 + 0x10], rdx
mov qword [rdx + 8], r9
mov r9, qword [rdx]
cmp byte [r9 + 0x19], 0
jne 0x1401a43f5
mov r10, qword [r9 + 0x10]
cmp byte [r10 + 0x18], 1
jne 0x1401a4619
mov r11, qword [r9]
cmp byte [r11 + 0x18], 1
je 0x1401a43f0
jmp 0x1401a4619
add r10, 8
mov qword [r10], r9
mov qword [r9], rdx
mov qword [rdx + 8], r9
mov r9, qword [rdx + 0x10]
movzx r10d, byte [0x14051ee68]
add r10b, 0x1c
cmp byte [r9 + 0x19], r10b
jne 0x1401a43f5
mov r10, qword [r9]
cmp byte [r10 + 0x18], 1
jne 0x1401a45b2
mov r11, qword [r9 + 0x10]
cmp byte [r11 + 0x18], 1
je 0x1401a43f0
mov r11, qword [r9 + 0x10]
cmp byte [r11 + 0x18], 1
jne 0x1401a46ea
movzx r11d, byte [0x14051ee68]
add r11b, 0x1d
mov byte [r10 + 0x18], r11b
mov byte [r9 + 0x18], 0
mov r10, qword [r9]
mov r11, qword [r10 + 0x10]
mov qword [r9], r11
mov r11, qword [r10 + 0x10]
cmp byte [r11 + 0x19], 0
jne 0x1401a45ef
mov qword [r11 + 8], r9
mov r11, qword [r9 + 8]
mov qword [r10 + 8], r11
mov r11, qword [rcx]
cmp qword [r11 + 8], r9
je 0x1401a46d7
mov rsi, qword [r9 + 8]
lea r11, [rsi + 0x10]
cmp qword [rsi + 0x10], r9
cmovne r11, rsi
jmp 0x1401a46db
mov r11, qword [r9]
cmp byte [r11 + 0x18], 1
jne 0x1401a4679
mov byte [r10 + 0x18], 1
mov byte [r9 + 0x18], 0
mov r10, qword [r9 + 0x10]
mov r11, qword [r10]
mov qword [r9 + 0x10], r11
mov r11, qword [r10]
cmp byte [r11 + 0x19], 0
jne 0x1401a4646
mov qword [r11 + 8], r9
mov r11, qword [r9 + 8]
mov qword [r10 + 8], r11
mov r11, qword [rcx]
cmp qword [r11 + 8], r9
je 0x1401a4668
mov rsi, qword [r9 + 8]
lea r11, [rsi + 0x10]
cmp qword [rsi], r9
cmove r11, rsi
jmp 0x1401a466c
add r11, 8
mov qword [r11], r10
mov qword [r10], r9
mov qword [r9 + 8], r10
mov r9, qword [rdx]
movzx r10d, byte [rdx + 0x18]
mov byte [r9 + 0x18], r10b
mov byte [rdx + 0x18], 1
mov r9, qword [r9]
mov byte [r9 + 0x18], 1
mov r9, qword [rdx]
mov r10, qword [r9 + 0x10]
mov qword [rdx], r10
mov r10, qword [r9 + 0x10]
cmp byte [r10 + 0x19], 0
jne 0x1401a46a7
mov qword [r10 + 8], rdx
mov r10, qword [rdx + 8]
mov qword [r9 + 8], r10
mov r10, qword [rcx]
cmp qword [r10 + 8], rdx
je 0x1401a46ca
mov r11, qword [rdx + 8]
lea r10, [r11 + 0x10]
cmp qword [r11 + 0x10], rdx
cmovne r10, r11
jmp 0x1401a46ce
add r10, 8
mov qword [r10], r9
mov qword [r9 + 0x10], rdx
jmp 0x1401a4745
add r11, 8
mov qword [r11], r10
mov qword [r10 + 0x10], r9
mov qword [r9 + 8], r10
mov r9, qword [rdx + 0x10]
movzx r10d, byte [rdx + 0x18]
mov byte [r9 + 0x18], r10b
mov byte [rdx + 0x18], 1
mov r9, qword [r9 + 0x10]
mov byte [r9 + 0x18], 1
mov r9, qword [rdx + 0x10]
mov r10, qword [r9]
mov qword [rdx + 0x10], r10
mov r10, qword [r9]
cmp byte [r10 + 0x19], 0
jne 0x1401a4719
mov qword [r10 + 8], rdx
mov r10, qword [rdx + 8]
mov qword [r9 + 8], r10
mov r10, qword [rcx]
cmp qword [r10 + 8], rdx
je 0x1401a473b
mov r11, qword [rdx + 8]
lea r10, [r11 + 0x10]
cmp qword [r11], rdx
cmove r10, r11
jmp 0x1401a473f
add r10, 8
mov qword [r10], r9
mov qword [r9], rdx
mov qword [rdx + 8], r9
mov rdx, r8
mov byte [rdx + 0x18], 1
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x1401a47a9
movabs r8, 0xab662dc21c4b5ddb
movabs r9, 0x80e56bcd2f76d0ad
add rdx, r8
add rdx, r9
sub rdx, r8
sub rdx, r9
add rdx, qword [0x140575da8]
add rdx, qword [0x140575da0]
mov r8, qword [0x140575ac8]
movabs r9, 0x395bb90072fd4a3e
sub r8, r9
add r8, rdx
lea rdx, [r9 + r8]
dec rdx
mov qword [rcx + 8], rdx
pop rbx
pop rsi
ret