Function at 0x1400166e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
mov r8, qword [rcx]
mov rax, r8
and rax, 0xffffffffffffffff
movabs rdx, 0x466fa92302b43bd4
movabs rcx, 0xb99056dcfd4bc42b
xor rdx, rcx
mov rcx, r8
or rcx, rdx
add rax, rcx
mov qword [rsp + 0x70], rax
mov rcx, rax
and rcx, r8
movabs rdx, 0xd310167564567769
movabs r9, 0xd31016756456776b
xor rdx, r9
imul rdx, rcx
mov rcx, rax
add rcx, r8
sub rcx, rdx
cmp rcx, 0
setl dl
movabs rcx, 0xdd16c61961770082
movabs r8, 0x22e939e69e88ff7d
xor rcx, r8
cmp rax, rcx
setg al
xor al, 0xff
xor ecx, ecx
xor cl, 1
xor dl, cl
mov cl, 1
xor cl, 1
or al, dl
or cl, 1
xor al, 0xff
and al, cl
test al, 1
jne 0x1400167a7
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
add rcx, 8
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
jmp 0x1400167b1
call fcn.1400067fe
jmp 0x140016afd
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x48], rax
cmp rax, rcx
jl 0x140016af0
mov rax, qword [rsp + 0x48]
cmp rax, 0
jl 0x1400167eb
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x68]
cmp rax, qword [rcx]
jl 0x140016918
mov eax, dword [0x1401dbb28]
and eax, dword [0x1401dbb2c]
mov ecx, 0x3d6387c9
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x39bd05dd
xor edx, 0xac712da6
and edx, eax
mov r8d, 0x251af467
xor r8d, 0xb0d6dc1c
mov eax, 0x29ee33a9
xor eax, 0xd611cc56
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x95cc287b
or ecx, 0x95cc287b
imul ecx, edx
add ecx, eax
mov edx, 0xc4ac4da7
xor edx, 0x3b53b258
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x7f296140
or eax, edx
mov edx, 0x7f296140
and edx, 0x7f296140
xor edx, 0xffffffff
and ecx, edx
mov edx, 0xfd61f31b
xor edx, 0x29e0ce4
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x49807688
je 0x140016b02
mov eax, dword [0x1401dbb30]
mov ecx, 0xb4337fa7
xor ecx, 0xfaa20299
xor eax, ecx
and eax, dword [0x1401dbb34]
mov ecx, 0x4e658098
xor edx, edx
div ecx
mov ecx, 0x3cd6bf60
xor edx, edx
div ecx
mov ecx, 0xacbce15a
xor ecx, 0xe880a3ba
add eax, ecx
mov ecx, 0xc0c3ad9b
xor ecx, 0x77582026
sub eax, ecx
sub eax, 0x443c42e0
mov dword [rsp + 0x44], eax
mov eax, 0x13631727
xor eax, 0x51b8d749
mov dword [rsp + 0x40], eax
mov rcx, rdx
call fcn.1400137e9
mov ecx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
cmp eax, ecx
je 0x14001689f
jmp 0x140016afd
mov eax, dword [0x1401dbb38]
imul eax, dword [0x1401dbb3c]
mov ecx, 0x5cf6f7f3
xor ecx, 0xb639a552
xor edx, edx
div ecx
mov ecx, eax
sub ecx, 0x4cc7af85
mov edx, 0xeaec713c
xor edx, 0x34d642e0
mov eax, 0xdff73a9b
xor eax, 0x2008c564
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0xbdd65c7f
jae 0x140016b0b
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x1401dbb40]
xor edx, edx
div dword [0x1401dbb44]
mov r8d, eax
mov rax, qword [rsp + 0x48]
add r8d, 0x69d418a0
mov edx, r8d
or edx, edx
mov r9d, 0xbb76c277
xor r9d, 0x44893d88
xor edx, r9d
mov r9d, 0x68f757d5
xor r9d, 0x7741086b
mov r10d, 0xff88ddc1
xor r10d, 0x77223e
xor r9d, r10d
mov r10d, 0x9c154310
xor r10d, 0x83a31cae
mov r11d, 0xa7fb937e
xor r11d, 0x58046c81
xor r10d, r11d
and r9d, r10d
mov r10d, 0xef4810bc
xor r10d, 0x10b7ef43
xor edx, r10d
xor r9d, 0xffffffff
and edx, r9d
or r8d, 0x1fb65fbe
xor r8d, 0xffffffff
or edx, r8d
xor edx, 0xffffffff
mov r8d, edx
and r8d, 0xf90e7fe7
xor r8d, 0xffffffff
add edx, 0xf90e7fe7
mov r9d, 0x1b1b961a
xor r9d, 0x1b1b961b
add edx, r9d
add edx, r8d
mov dword [rsp + 0x2c], edx
mov edx, 0xa5d4ee3
xor edx, 0xd2d3f3f8
mov dword [rsp + 0x28], edx
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
call fcn.1400166c4
mov rdx, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x2c]
movabs r9, 0xe9db0a94eb7f213e
movabs r8, 0xe9db0a94eb7f213e
xor r9, r8
movabs r8, 0xf9c6f5e3f7f1c807
movabs r10, 0x6390a1c080e37f8
xor r8, r10
sub r9, r8
mov r8, rdx
sub r8, r9
mov qword [rsp + 0x30], r8
xor r8, rdx
cmp r8, 0
setl r9b
cmp rdx, 0
setne dl
mov r8b, dl
xor r8b, r9b
mov r10b, 1
xor r10b, 0
xor r8b, r10b
or dl, r9b
and dl, r8b
mov byte [rsp + 0x3f], dl
cmp eax, ecx
jb 0x140016964
mov rax, qword [rsp + 0x30]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov qword [rsp + 0x58], rax
jne 0x140016ae6
jmp 0x1400167b1
call fcn.1400067fe
jmp 0x140016afd
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov qword [rax], rcx
add rsp, 0x78
ret
adc bh, dl
call [rcx - 0x26b17]
jmp [rsi - 0x167b0306]
scasb al, byte [rdi]
cli
cld
test cl, ch
push rax
invalid