Function at 0x140008a20
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
cmp rdx, 0
mov qword [rsp + 0x50], rcx
je 0x140008d19
mov eax, dword [0x1402416e8]
xor eax, dword [0x1402416ec]
mov ecx, 0xead680fa
xor ecx, 0xea04ac8
and eax, ecx
xor eax, 0xea49ceb4
add eax, 0x6a1ab48a
cmp eax, 0x8e982709
je 0x140008d25
mov r8, qword [rsp + 0x40]
mov eax, dword [0x1402416f0]
mov r9d, dword [0x1402416f4]
mov r10d, r9d
not r10d
mov edx, eax
and edx, r10d
mov ecx, eax
or ecx, r10d
not ecx
imul ecx, edx
mov edx, eax
and edx, r9d
or eax, r9d
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x34f3db
add ecx, ecx
sub eax, ecx
add eax, 0x226b87d2
imul rax, rax, 0x908a191
shr rax, 0x3b
mov rdx, r8
dec rdx
mov qword [rsp + 0x30], rdx
mov r9, r8
neg r9
movabs rcx, 0x2e959dc2d7143164
and r9, rcx
movabs r11, 0xd16a623d28ebce9b
mov r10, rdx
and r10, r11
or r9, r10
xor r8, r9
xor r8, rcx
test rdx, rdx
setns cl
or rdx, r8
sets dl
add cl, dl
inc cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x9331a249
jae 0x140008a6d
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140008b24
jmp 0x140008b2e
call fcn.140008d37
jmp 0x140008d19
mov eax, dword [0x1402416f8]
and eax, dword [0x1402416fc]
mov r8d, 0x9f98c7cc
xor r8d, 0xb232a36a
mov ecx, 0x236afe6d
xor ecx, 0xdc950192
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x2daa64a6
or eax, 0x2daa64a6
imul eax, edx
add eax, ecx
mov ecx, 0x48913997
xor edx, edx
div ecx
mov ecx, 0xb3f2e18a
xor ecx, 0xb315e086
xor edx, edx
div ecx
mov ecx, 0xbbfa84a9
xor ecx, 0xba1cb06f
cmp eax, ecx
ja 0x140008d2e
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x48]
mov eax, dword [0x140241700]
mov edx, dword [0x140241704]
mov r8d, eax
and r8d, edx
mov ecx, 0x1206d1f8
xor ecx, 0x1206d1fa
imul ecx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0x38986a99
xor edx, edx
div ecx
mov ecx, 0x9302fc03
xor ecx, 0x1ab7a8da
imul eax, ecx
mov ecx, 0x37670b8
xor ecx, 0x9723fc50
xor eax, ecx
mov r8, r9
add r8, r10
mov qword [rsp + 0x20], r8
mov rcx, r8
xor rcx, 0xffffffffffffffff
movabs rdx, 0x85b5f86c6ca0e1bf
movabs r11, 0x8742983ecc6d1f95
xor rdx, r11
and rdx, rcx
mov rsi, 0xffffffffffffffff
movabs rcx, 0x2f76052a0cdfe2a
xor rsi, rcx
mov r11, r8
and r11, rsi
mov rcx, r10
xor rcx, 0xffffffffffffffff
movabs rdi, 0x2f76052a0cdfe2a
and rcx, rdi
and r10, rsi
or rdx, r11
or rcx, r10
xor rdx, rcx
mov r10, r8
xor r10, r9
xor r10, 0xffffffffffffffff
mov rcx, r9
and rcx, r10
shl rcx, 1
sub rcx, r9
sub r8, rcx
mov rcx, rdx
and rcx, r8
xor rcx, 0xffffffffffffffff
and rdx, r8
movabs r8, 0x8394b2395cfd7e5d
movabs r9, 0x7c6b4dc6a30281a2
xor r8, r9
xor rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0x40e3f7d4fef2bc3a
movabs r8, 0x40e3f7d4fef2bc3a
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x41dfde9d
jbe 0x140008ba2
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140008ce4
jmp 0x140008cee
call fcn.140008d37
jmp 0x140008d19
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
mov rdx, 0xffffffffffffffff
xor rdx, 0
and rdx, rcx
xor rcx, 0xffffffffffffffff
and rcx, 0
sub rcx, rdx
and rax, rcx
mov qword [rsp + 0x50], rax
enter 0xffffffffffff8948, 0x44
and al, 0x50
mov rax, qword [rsp + 0x50]
add rsp, 0x58
pop rdi
pop rsi
ret
fcom dword [rcx + 0x33]
js 0x140008d13
invalid
stc
sbb ch, byte [rsi - 0x19416f3]
invalid