Function at 0x140019890
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x60], rax
cmp rax, rdx
jle 0x1400198c3
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
call fcn.1400195a0
jmp 0x140019b1f
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
cmp rax, rcx
jge 0x140019b1f
mov rax, qword [rsp + 0x58]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x40], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x48], rax
cmp rax, 0
je 0x140019941
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
movabs r8, 0xbfffffffffffffff
mov rdx, rax
xor rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x20fb7d6e3afca555
movabs r9, 0x9f048291c5035aaa
xor r8, r9
or rax, r8
and rax, rdx
cmp rax, rcx
jge 0x1400199b4
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x50]
mov rcx, r8
sub rcx, rdx
mov qword [rsp + 0x38], rcx
mov rax, rcx
xor rax, r8
cmp rax, 0
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x1400199aa
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
mov r9d, 0x18
mov qword [rsp + 0x20], 8
call fcn.140013020
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov qword [rax], rcx
jmp 0x1400199b4
call fcn.140008bc6
jmp 0x140019b1f
mov eax, dword [0x140216e78]
xor edx, edx
div dword [0x140216e7c]
and eax, 0xfa3fb9e3
mov ecx, eax
and ecx, 0x68c9619a
shl ecx, 1
xor eax, 0x68c9619a
add eax, ecx
mov ecx, 0xdc16fa4a
xor ecx, 0x2ad463a3
add eax, ecx
add eax, 0xacc6119c
sub eax, 0xf6c299e9
cmp eax, 0xad705e5b
je 0x140019c42
mov r8, qword [rsp + 0x50]
mov eax, dword [0x140216e80]
mov ecx, dword [0x140216e84]
mov edx, 0xdd7ae3ee
xor edx, 0x22851c11
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, 0x2410c2b6
xor ecx, 0x40883271
xor edx, edx
div ecx
add eax, 0x355b7a67
sub eax, 0x77002625
sub eax, 0x355b7a67
mov ecx, 0x2aedb575
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x58]
mov ecx, 0xbae887b3
xor ecx, 0x4e10830b
mov qword [rdx], r8
cmp eax, ecx
ja 0x1400199fb
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
jmp 0x140019a6f
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jge 0x140019b1f
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
movabs rdx, 0xa17b9282783a5d10
movabs rax, 0xa17b9282783a5d08
xor rdx, rax
call fcn.1400093cd
mov r8, qword [rsp + 0x28]
movabs rcx, 0x7bfe85e45116262c
movabs rax, 0x7bfe85e45116262d
xor rcx, rax
mov rax, r8
add rax, rcx
xor r8, 0xffffffffffffffff
movabs rcx, 0x1eb21dda92e60371
movabs rdx, 0x1eb21dda92e60370
xor rcx, rdx
mov rdx, rax
add rdx, rcx
mov rcx, rax
xor rcx, 0xffffffffffffffff
or rcx, r8
add rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x30], rax
jge 0x140019a6f
call fcn.140008bc6
mov eax, dword [0x140216e88]
xor eax, 0xe9f8e8d2
xor edx, edx
div dword [0x140216e8c]
and eax, 0x3676d9ef
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xb993048
xor edx, 0xc695afac
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xcd0c9fe4
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xa72cb02a
xor r8d, 0x6a202fce
mov edx, eax
and edx, r8d
or eax, 0xcd0c9fe4
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xf0e4fc0e
mov r8d, 0x47bfcf21
xor r8d, 0xb75b332f
mov ecx, 0xb1b41607
xor ecx, 0x4e4be9f8
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf0e4fc0e
or eax, 0xf0e4fc0e
imul eax, edx
add eax, ecx
cmp eax, 0xebda6210
je 0x140019c4b
mov ecx, dword [0x140216e90]
xor ecx, 0xbdf66302
mov edx, dword [0x140216e94]
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
mov r8d, 0x37f2b84a
xor r8d, 0xc80d47b5
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
mov edx, 0xe4f121b1
xor edx, 0x1b0ede4e
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xa5ec980c
mov edx, 0xffffffff
xor edx, 0xaf324307
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xaf324307
add eax, edx
sub eax, ecx
mov ecx, 0xd4caedee
xor ecx, 0x56d39271
or eax, ecx
cmp eax, 0x72c4cd6f
jb 0x140019bc5
add rsp, 0x68
ret
mov ah, 0xa1
jno 0x140019c0a
jmp 0x1400199fb
movabs al, byte [0xffffff71e97f1c2f]
nop word cs:[rax + rax]