Function at 0x140087a10
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rcx
add rcx, 8
mov qword [rsp + 0x48], rcx
xor eax, eax
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x38], rdx
cmp rax, rcx
jge 0x140087be8
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
add rax, 8
imul rcx, rcx, 0x18
add rax, rcx
add rax, 0x10
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x140087ab2
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
movabs rcx, 0xf8f734c70d7a7624
movabs rdx, 0xb8f734c70d7a7624
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x140087ab2
mov rcx, qword [rsp + 0x28]
call fcn.14000fb44
mov ecx, dword [0x140204318]
mov edx, dword [0x14020431c]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and ecx, edx
mov edx, 0xa844d7da
xor edx, 0x57bb2825
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
and eax, 0x948c8d0e
mov r8d, 0xffffffff
xor r8d, 0xd68ef3e
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xd68ef3e
or eax, 0xd68ef3e
imul eax, edx
add eax, ecx
sub eax, 0x5cfe4d35
cmp eax, 0x170cced1
je 0x140087d1b
mov rcx, qword [rsp + 0x30]
mov r9d, dword [0x140204320]
and r9d, dword [0x140204324]
mov edx, r9d
xor edx, 0xffffffff
and edx, 0x7a0cd835
mov r8d, 0xffffffff
xor r8d, 0x7a0cd835
mov eax, r9d
and eax, r8d
imul eax, edx
mov edx, r9d
and edx, 0x7a0cd835
or r9d, 0x7a0cd835
imul r9d, edx
add r9d, eax
xor r9d, 0x4f4b1a37
mov eax, r9d
xor eax, 0xffffffff
and eax, 0x43a32ec2
mov r8d, 0xffffffff
xor r8d, 0x43a32ec2
and r9d, r8d
mov edx, 0xffffffff
xor edx, 0xe224a006
and edx, 0x43a32ec2
and r8d, 0xe224a006
or eax, r9d
or edx, r8d
xor eax, edx
xor edx, edx
sub rdx, rcx
xor ecx, ecx
sub rcx, 1
add rdx, rcx
xor ecx, ecx
sub rcx, rdx
mov qword [rsp + 0x20], rcx
cmp eax, 0xc26ac571
jb 0x140087d1b
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x50], rax
jmp 0x140087a29
mov rax, qword [rsp + 0x38]
cmp rax, 0
je 0x140087c33
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x140087c33
mov rcx, qword [rsp + 0x38]
mov edx, 8
call fcn.14000fb49
mov r8d, dword [0x140204328]
and r8d, dword [0x14020432c]
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0x53341d28
mov edx, 0xffffffff
xor edx, 0x53341d28
and r8d, edx
mov eax, 0xffffffff
xor eax, 0x946cc141
and eax, 0x53341d28
and edx, 0x946cc141
or ecx, r8d
or eax, edx
xor ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0x14d9deb2
mov edx, 0xb3f89a65
xor edx, 0x4c07659a
xor eax, edx
mov edx, 0x14d9deb2
and edx, 0x14d9deb2
mov r8d, 0x6993e78f
xor r8d, 0x966c1870
xor edx, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x4a25ae02
xor ecx, 0xf858f31c
or eax, ecx
cmp eax, 0xba998312
jb 0x140087d24
mov eax, dword [0x140204330]
mov edx, dword [0x140204334]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
sub eax, 0x83ebef33
mov ecx, 0xefe595e7
xor ecx, 0x36fc6c1a
sub eax, ecx
mov ecx, 0xaed58740
xor ecx, 0x21c36e1b
add eax, ecx
cmp eax, 0x78b03f1a
je 0x140087cd5
add rsp, 0x58
ret
call 0x129c7d506
add al, 0xfe
invalid
call 0x129f38673
test al, 0xff
invalid