Function at 0x1400870e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xb8
mov rax, r8
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rcx
mov r8, qword [rax]
mov qword [rsp + 0xa8], r8
mov r9, qword [rax + 8]
mov rcx, r9
sub rcx, r8
mov qword [rsp + 0xb0], rcx
not rcx
mov rax, rcx
and rax, r9
mov rdx, rcx
or rdx, r9
not rdx
or rax, rdx
mov rdx, rcx
and rdx, r8
or rcx, r8
not rcx
or rdx, rcx
mov rcx, rax
and rcx, rdx
test rax, rax
sets al
test rcx, rcx
setns cl
add al, cl
inc al
test al, 1
jne 0x140087166
jmp 0x140087170
call fcn.140008024
jmp 0x140087656
mov rcx, qword [rsp + 0xb0]
xor eax, eax
mov edx, eax
sub rdx, 1
mov rax, rcx
sub rax, rdx
mov qword [rsp + 0x88], rax
movabs rdx, 0x969377276831ded1
movabs r8, 0x696c88d897ce212e
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400871bf
call fcn.140008024
jmp 0x140087656
mov rax, qword [rsp + 0x88]
movabs rcx, 0xdcc8a76f7ebda28d
movabs rdx, 0xdcc8a76f7ebda28d
xor rcx, rdx
cmp rax, rcx
jge 0x140087340
mov eax, dword [0x1401cc048]
mov ecx, dword [0x1401cc04c]
xor ecx, 0xba8e0501
xor edx, edx
div ecx
xor eax, 0xf2915ffc
mov ecx, 0x399f922c
xor ecx, 0xc6606dd3
mov edx, eax
xor edx, ecx
and edx, 0x6fe63395
mov r8d, 0xffffffff
xor r8d, 0x6fe63395
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x6fe63395
mov r8d, 0x69a11df
xor r8d, 0x697c224a
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xc90269db
xor ecx, 0x7fcd27d6
xor eax, ecx
cmp eax, 0x1094d1ae
je 0x140087666
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x1401cc050]
mov r9d, dword [0x1401cc054]
mov edx, 0xee86de73
xor edx, 0x12ce7eae
xor r9d, edx
mov r10d, r9d
xor r10d, 0xffffffff
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
mov r10d, 0x702437b2
xor r10d, 0x8fdbc84d
xor edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0xa862087c
xor edx, edx
div r8d
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0x4eb7c44c
xor r8d, 0xbb9044d0
and r8d, edx
mov r9d, 0xffffffff
xor r9d, 0xf527809c
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xf527809c
or eax, 0xf527809c
imul eax, r8d
add eax, edx
mov r8d, 0x8baa5069
xor edx, edx
div r8d
mov dword [rsp + 0x84], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000c8ac
mov eax, dword [rsp + 0x84]
cmp eax, 0x6632c0b7
je 0x140087666
jmp 0x140087656
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x88]
call fcn.140018d90
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa8]
mov r8, rax
xor r8, 0xffffffffffffffff
mov qword [rsp + 0x58], r8
add rdx, 8
mov qword [rsp + 0x60], rdx
add rcx, 8
mov qword [rsp + 0x68], rcx
cmp rax, 0xffffffffffffffff
setg al
mov byte [rsp + 0x77], al
xor eax, eax
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x50], rax
mov eax, dword [0x1401cc058]
mov ecx, dword [0x1401cc05c]
mov edx, 0x72331bde
xor edx, 0x880b4da1
xor ecx, edx
or eax, ecx
mov ecx, eax
or ecx, 0x9467ff3b
xor ecx, 0xffffffff
or eax, 0x9467ff3b
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
mov eax, 0x2102faac
xor eax, 0x18b4458f
xor ecx, eax
mov edx, 0xa8c7bcec
xor edx, 0x57384313
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xdb3bd216
and eax, edx
or ecx, 0xdb3bd216
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0xeb48e238
ja 0x14008766f
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x1401cc060]
mov edx, dword [0x1401cc064]
xor edx, 0x1cbe2d47
sub eax, edx
mov r8d, 0xfb1e7b26
xor r8d, 0x9a12a52d
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x88]
mov r8d, 0x42f8a10e
xor r8d, 0x42f8a10e
sub r8d, eax
xor eax, eax
sub eax, 0x74077144
add r8d, eax
xor eax, eax
sub eax, r8d
imul eax, eax, 0x168cc597
cmp rcx, rdx
sete cl
mov byte [rsp + 0x4f], cl
cmp eax, 0x6aade329
jb 0x14008741b
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x140087656
jmp 0x140087499
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
cmp rax, rcx
jl 0x1400874cf
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffff
call fcn.1400122ad
jmp 0x140087656
mov rcx, qword [rsp + 0x98]
call fcn.140087f10
mov rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x58]
xor edx, edx
sub rdx, rax
xor eax, eax
sub rax, r8
add rdx, rax
movabs rax, 0x23e314ab1c5f7118
movabs r8, 0x23e314ab1c5f7118
xor rax, r8
sub rax, rdx
mov qword [rsp + 0x38], rax
and rax, rcx
cmp rax, 0
jge 0x140087531
call fcn.140008024
jmp 0x140087656
mov al, byte [rsp + 0x77]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x90]
mov rdx, qword [rdx]
mov qword [rsp + 0x30], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400875fe
mov eax, dword [0x1401cc068]
xor edx, edx
div dword [0x1401cc06c]
mov ecx, 0xac2d00fb
xor ecx, 0xfba291e3
sub eax, ecx
add eax, 0xfb44ec68
add eax, 0x578f9118
or eax, 0xfe73760c
mov ecx, 0xf6de5716
xor ecx, 0x769ac7ef
xor eax, ecx
cmp eax, 0x4d766ca6
jb 0x140087678
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov r8d, dword [0x1401cc070]
mov r9d, dword [0x1401cc074]
xor r9d, 0xffffffff
mov eax, r8d
xor eax, r9d
and eax, r8d
mov r8d, 0x8b06151b
xor r8d, 0x42a52a7c
or eax, r8d
imul eax, eax, 0xdc76a4b5
imul eax, eax, 0x8481c57b
mov dword [rsp + 0x2c], eax
add rdx, 0xffffffffffffffff
call fcn.1400122ad
mov eax, dword [rsp + 0x2c]
cmp eax, 0x6040add
je 0x14008759c
jmp 0x140087656
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x60]
mov rdx, qword [rdx]
mov dl, byte [rdx + r8 + 8]
mov rcx, qword [rcx]
mov byte [rcx + rax + 8], dl
movabs rcx, 0xd35254cd8fe591d0
add rax, rcx
add rax, 1
movabs rcx, 0x720c67ccc354e664
movabs rdx, 0xa15e33014cb177b4
xor rcx, rdx
sub rax, rcx
mov qword [rsp + 0x78], rax
jmp 0x14008739d
mov rax, qword [rsp + 0xa0]
add rsp, 0xb8
ret
pop rdx
cmp eax, 0xf2e96454
sti
invalid
shl al, 0xd3
cmp eax, 0xfffda3e9
call [rcx]
cmp byte [rsi], bh
sub ecx, 0xffffff1b
sbb dword [rax], edi
sub ecx, 0xffffff1b
nop word cs:[rax + rax]