Function at 0x1400170ba
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x70], rax
cmp rax, rdx
jle 0x140016b56
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
call fcn.1400166e0
jmp 0x140017097
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jge 0x140017097
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 0x140016bbd
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
movabs rdx, 0xe7d1f7fbe4e116bf
movabs r8, 0x582e08041b1ee940
xor rdx, r8
and rax, rdx
cmp rax, rcx
jge 0x140016d85
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
xor eax, eax
sub rax, rdx
mov rcx, r8
add rcx, rax
mov qword [rsp + 0x48], 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 0x140016c4f
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
movabs r9, 0x830a4cae37ee65cd
movabs rax, 0x830a4cae37ee65d5
xor r9, rax
movabs rax, 0x304facc10d9e8e9f
movabs r10, 0x304facc10d9e8e97
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.140011560
mov rcx, rax
mov rax, qword [rsp + 0x50]
mov qword [rax], rcx
jmp 0x140016d85
mov eax, dword [0x1401dbb48]
or eax, dword [0x1401dbb4c]
mov ecx, 0x131eebcb
xor edx, edx
div ecx
xor eax, 0x7554270
mov ecx, 0xa1e458b
xor ecx, 0xd4c08832
add eax, ecx
add eax, 0x613ce6dd
sub eax, 0xdedecdb9
cmp eax, 0x290d5983
je 0x14001709f
mov r8d, dword [0x1401dbb50]
mov edx, dword [0x1401dbb54]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x2acfcc6e
mov r9d, 0xffffffff
xor r9d, 0x2acfcc6e
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
mov r10d, 0x8d534336
xor r10d, 0xa79c8f58
and ecx, r10d
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xc7fe29fe
xor ecx, 0xf8ff5349
xor eax, ecx
mov ecx, 0xf5e1ad83
xor ecx, 0xa1e527c
mov edx, eax
xor edx, ecx
and edx, 0xc4550548
mov r8d, 0xffffffff
xor r8d, 0xc4550548
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc4550548
or eax, 0xc4550548
imul eax, edx
add eax, ecx
mov edx, 0xdca93783
xor edx, 0x2356c87c
mov ecx, eax
xor ecx, edx
mov edx, 0xd710de2
xor edx, 0xbc7e8d7c
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xb10f809e
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xac0d34c6
xor r8d, 0x1d02b458
mov edx, eax
and edx, r8d
or eax, 0xb10f809e
imul eax, edx
add eax, ecx
mov dword [rsp + 0x44], eax
call fcn.1400067fe
mov eax, dword [rsp + 0x44]
cmp eax, 0xb562d7ce
jb 0x14001709f
jmp 0x140017097
mov eax, dword [0x1401dbb58]
mov ecx, dword [0x1401dbb5c]
mov edx, 0xdfcf1624
xor edx, 0x98df3b42
add eax, edx
add eax, ecx
sub eax, 0x47102d66
imul eax, eax, 0x93dfc881
or eax, eax
xor eax, 0xffffffff
mov ecx, 0x7de23dfe
or ecx, 0x7de23dfe
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x47700997
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x47700997
or eax, 0x47700997
imul eax, edx
add eax, ecx
cmp eax, 0x2bb9b8a1
je 0x1400170a8
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x60]
mov eax, dword [0x1401dbb60]
mov r9d, dword [0x1401dbb64]
xor r9d, 0xab82e500
mov ecx, eax
and ecx, r9d
mov r10d, 0x3f7e48a8
xor r10d, 0x3f7e48aa
imul ecx, r10d
xor eax, r9d
add eax, ecx
sub eax, 0xd69cf9ac
imul eax, eax, 0x6050b168
mov r9d, 0xa952deee
xor r9d, 0xa952deef
mov ecx, eax
add ecx, r9d
mov r9d, 0x9030af19
xor r9d, 0x6fcf50e6
xor eax, r9d
or eax, 0xda563545
add eax, ecx
mov ecx, 0xa6649b45
xor ecx, 0x4f5133fb
mov qword [rdx], r8
cmp eax, ecx
ja 0x140016e00
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rax
jmp 0x140016e92
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x140016fb2
movabs rdx, 0x96d501aba21e55cb
movabs rax, 0x96d501aba21e55d3
xor rdx, rax
lea rcx, [rsp + 0x90]
call fcn.140006de0
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x88], rax
lea rdx, [rsp + 0x78]
call fcn.14004c11c
mov rcx, qword [rsp + 0x30]
mov rax, rcx
add rax, 1
mov qword [rsp + 0x28], rax
movabs rdx, 0x47913d41dfc51a26
movabs r8, 0xb86ec2be203ae5d9
xor rdx, r8
mov r8, rcx
xor r8, rdx
xor r8, 0xffffffffffffffff
movabs rdx, 0x23b57b903ffaff46
movabs r9, 0xdc4a846fc00500b9
xor rdx, r9
and rdx, r8
shl rdx, 1
movabs r8, 0x1f172504a5a69a90
movabs r9, 0xe0e8dafb5a59656f
xor r8, r9
sub rdx, r8
sub rcx, rdx
and rax, rcx
movabs rcx, 0x112b3647a534e4c
movabs rdx, 0x112b3647a534e4c
xor rcx, rdx
cmp rax, rcx
jge 0x140017088
call fcn.1400067fe
mov eax, dword [0x1401dbb68]
xor edx, edx
div dword [0x1401dbb6c]
mov ecx, eax
xor ecx, 0x75a8bcd8
mov edx, 0x16e16f10
xor edx, 0x749babc0
mov eax, ecx
and eax, edx
mov edx, 0xbc36a9a0
xor edx, 0x43c9565f
xor eax, edx
mov edx, 0xa961719d
xor edx, 0x569e8e62
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x627ac4d0
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xa71f244f
xor ecx, 0x91db62a8
or eax, ecx
cmp eax, 0x671b1180
jb 0x1400170b1
mov eax, dword [0x1401dbb70]
mov edx, dword [0x1401dbb74]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
or eax, 0x17180773
mov ecx, 0x4879f6be
xor ecx, 0xb7860941
mov edx, eax
xor edx, ecx
and edx, 0x457c1050
mov r8d, 0xffffffff
xor r8d, 0x457c1050
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x457c1050
or eax, 0x457c1050
imul eax, edx
add eax, ecx
sub eax, 0xe2962820
cmp eax, 0x4a09403f
je 0x14001701b
jmp 0x140017097
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x38], rax
jmp 0x140016e92
add rsp, 0xa8
ret
invalid
sbb dword [rbp + 0x4fe96df2], ecx
std
invalid
or qword [r10 - 0x9e1665], r9
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.1400166e0
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140016b20