Function at 0x14001a9d6
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x70], rax
cmp rax, rdx
jle 0x14001a5b1
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov qword [rax], rcx
jmp 0x14001a9be
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jge 0x14001a9be
mov rax, qword [rsp + 0x68]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x14001a608
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x14001a7ff
mov r8, qword [rsp + 0x70]
mov rax, qword [rsp + 0x60]
movabs rcx, 0xcecbf1e5d9b2de9c
mov rdx, rax
add rdx, rcx
sub rdx, r8
movabs rcx, 0xcecbf1e5d9b2de9c
sub rdx, rcx
mov qword [rsp + 0x48], rdx
mov rcx, rdx
xor rcx, rax
xor rcx, 0xffffffffffffffff
mov r9, rax
and r9, rcx
movabs rcx, 0xf1cb8fb2608fd301
movabs r10, 0xf1cb8fb2608fd303
xor rcx, r10
imul rcx, r9
sub rcx, rax
mov rax, rdx
sub rax, rcx
cmp rax, 0
setl al
mov r9, rdx
xor r9, 0xffffffffffffffff
mov rcx, r8
and rcx, r9
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, rdx
cmp rcx, 0xffffffffffffffff
setg dl
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x14001a6d6
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
mov r9d, 1
mov qword [rsp + 0x20], 1
call fcn.140013020
mov rcx, rax
mov rax, qword [rsp + 0x50]
mov qword [rax], rcx
jmp 0x14001a7ff
mov ecx, dword [0x140216ed8]
xor ecx, 0x94851eb5
mov r8d, dword [0x140216edc]
mov eax, 0xfaaaa37f
xor eax, 0x5555c80
mov r9d, r8d
xor r9d, eax
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, 0xaa5db75b
xor eax, 0x2bd21e8e
imul ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x959693f
or eax, edx
mov edx, 0x8655c08c
xor edx, 0x79aa3f73
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x959693f
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xc6cae670
add eax, ecx
cmp eax, 0x79eafb54
je 0x14001a9c4
mov edx, dword [0x140216ee0]
mov ecx, dword [0x140216ee4]
xor ecx, 0x92740d79
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, ecx
mov edx, 0xf38217b2
xor edx, 0xc7de84d
xor ecx, edx
mov edx, 0x59d1fff2
xor edx, 0xa62e000d
xor eax, edx
mov edx, 0x673b1165
xor edx, 0x98c4ee9a
xor ecx, edx
and eax, ecx
and eax, 0xd9a91345
mov ecx, 0x785070cd
xor ecx, 0xc512f741
or eax, ecx
mov ecx, 0x1ffa4885
xor edx, edx
div ecx
mov dword [rsp + 0x44], eax
mov eax, 0xd0db7011
xor eax, 0x2984f26f
mov dword [rsp + 0x40], eax
call fcn.140008bc6
mov ecx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
cmp eax, ecx
je 0x14001a771
jmp 0x14001a9be
mov ecx, dword [0x140216ee8]
mov eax, dword [0x140216eec]
xor eax, 0xee798e46
add ecx, eax
mov eax, 0x358af81e
xor eax, 0xca7507e1
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0xa51c1429
mov eax, 0x57455083
xor eax, 0x5b5d029c
mov r8d, 0x754248b2
xor r8d, 0x8abdb74d
xor eax, r8d
or ecx, edx
or eax, 0xc18521f
mov edx, 0x8feec172
xor edx, 0x70113e8d
xor ecx, edx
and ecx, eax
mov edx, ecx
xor edx, 0xffffffff
mov eax, 0xb00d73c9
xor eax, 0x7ea37d45
and eax, edx
mov edx, 0xffffffff
xor edx, 0xceae0e8c
and ecx, edx
or eax, ecx
mov ecx, 0x75b7b799
xor edx, edx
div ecx
cmp eax, 0x1bd20a3c
ja 0x14001a9cd
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x60]
mov eax, dword [0x140216ef0]
xor eax, 0x73b117fd
or eax, dword [0x140216ef4]
mov ecx, 0x2d28a6
xor ecx, 0x27244281
add eax, ecx
and eax, 0x2af8ee45
sub eax, 0x54fae3c3
mov ecx, 0xd7c4a29b
xor ecx, 0x3964a3ec
mov qword [rdx], r8
cmp eax, ecx
ja 0x14001a88d
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rax
jmp 0x14001a8e4
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x14001a9be
mov r8, qword [rsp + 0x30]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov byte [rax + r8 + 8], 0
mov rax, r8
and rax, 1
movabs rdx, 0xe2b7f3999c5d431f
movabs rcx, 0xe2b7f3999c5d431e
xor rdx, rcx
mov rcx, r8
or rcx, rdx
add rax, rcx
movabs rcx, 0xf673414f3bdd8d0f
movabs rdx, 0x98cbeb0c42272f0
xor rcx, rdx
mov rdx, r8
and rdx, rcx
movabs rcx, 0x94d7266f71bb8d79
movabs r9, 0x94d7266f71bb8d7b
xor rcx, r9
imul rcx, rdx
add r8, 0xffffffffffffffff
sub r8, rcx
mov rcx, rax
and rcx, r8
movabs rdx, 0xe3a1bb781eb1cb91
movabs r9, 0x1c5e4487e14e346e
xor rdx, r9
xor rcx, rdx
mov rdx, rax
and rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x38], rax
jge 0x14001a8e4
call fcn.140008bc6
nop
add rsp, 0x78
ret
insb byte [rdi], dx
xor al, 0xde
jmp 0x14001a771
adc eax, 0xe99075d5
mov bh, 0xfe
invalid
and qword [rcx], 0
jmp 0x14001a580