Function at 0x140086500
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rcx
mov eax, dword [0x14021a498]
xor eax, 0x70c0a614
mov r8d, dword [0x14021a49c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xea69a3eb
xor ecx, 0xc68dfa5d
sub eax, ecx
imul eax, eax, 0x8eaec268
mov ecx, 0x2f105827
xor ecx, 0x40ebc62d
xor edx, edx
div ecx
cmp eax, 0xd2914feb
jae 0x1400867c3
mov eax, dword [0x14021a4a0]
mov r8d, dword [0x14021a4a4]
mov ecx, eax
not ecx
mov edx, r8d
and edx, ecx
mov r9d, r8d
not r9d
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xd48e894f
imul rax, rcx
shr rax, 0x3e
or eax, 0xcf9229ce
add eax, 0xc48cf5f6
mov dword [rbp - 0x18], eax
mov eax, 0x10
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
sub rsp, 0x20
call fcn.1400741ed
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp - 0x20], rax
movabs rdx, 0x9078afc2419d26e1
movabs rax, 0x9078afc2419d26e3
xor rdx, rax
sub rsp, 0x20
call fcn.140074650
mov rcx, qword [rbp - 0x20]
mov eax, dword [rbp - 0x18]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x11], cl
cmp eax, 0xf3df0ce1
ja 0x140086577
mov al, byte [rbp - 0x11]
test al, 1
jne 0x14008663a
jmp 0x1400867be
mov eax, dword [0x14021a4a8]
mov r8d, dword [0x14021a4ac]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov ecx, 0x7156e49d
xor ecx, 0x8ea91b62
mov r9d, r8d
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x20871a9a
mov edx, 0xc905b630
xor edx, 0x36fa49cf
xor ecx, edx
and ecx, 0x20871a9a
shl ecx, 1
sub ecx, 0x20871a9a
sub eax, ecx
add eax, 0xd56d6a84
and eax, 0x877b72d8
cmp eax, 0x67cd690
jb 0x1400867cc
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x10]
mov edx, dword [0x14021a4b0]
xor edx, dword [0x14021a4b4]
mov r10d, 0x2291d256
xor r10d, 0xa7851748
mov r8d, 0x2b8d5d3b
xor r8d, 0xd472a2c4
xor r10d, r8d
mov r9d, edx
and r9d, r10d
mov r8d, edx
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, edx
and r9d, 0x8514c51e
or edx, 0x8514c51e
imul edx, r9d
add edx, r8d
mov r10d, 0xffffffff
xor r10d, 0x304b5146
mov r9d, edx
and r9d, r10d
mov r8d, edx
or r8d, r10d
mov r10d, 0x6cb6cebc
xor r10d, 0x93493143
xor r8d, r10d
imul r8d, r9d
mov r9d, edx
and r9d, 0x304b5146
or edx, 0x304b5146
imul edx, r9d
add edx, r8d
or edx, 0xf280206b
mov dword [rbp - 0x30], edx
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400811fa
mov rcx, qword [rbp - 0x20]
mov eax, dword [rbp - 0x30]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x29], cl
cmp eax, 0xe794eb13
jb 0x1400866b2
mov al, byte [rbp - 0x29]
test al, 1
jne 0x140086796
jmp 0x1400867be
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x10]
mov r8, qword [rax + 8]
mov qword [rdx], r8
mov rax, qword [rax + 0x10]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140081980
add rsp, 0x20
mov rsp, rbp
pop rbp
ret
pop rsi
movabs al, byte [0x1afffffdabe9fbe0]
iretd
sbb cl, bh
sahf
jbe 0x1400867ba
invalid