Function at 0x1401ea6e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rcx
call fcn.1401ee866
mov rdx, qword [rsp + 0x40]
xor eax, eax
test rdx, rdx
cmovg rax, rdx
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
cmp rax, rcx
je 0x1401ea849
mov eax, dword [0x14025d770]
imul eax, dword [0x14025d774]
mov ecx, 0xffffffff
xor ecx, 0x3ccee415
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov r8d, 0x4670636e
xor r8d, 0xb42fe22f
mov ecx, 0xc1bf1cf8
xor ecx, 0x3e40e307
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x68d4c29
xor r8d, 0xf4d2cd68
mov edx, eax
and edx, r8d
or eax, 0xf25f8141
imul eax, edx
add eax, ecx
mov ecx, 0x17d9d2a4
xor ecx, 0xe8262d5b
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xa19be028
mov edx, 0xffffffff
xor edx, 0xd3a60a48
or eax, ecx
mov ecx, 0xea15d679
xor ecx, 0x39b3dc31
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0xb0ab6eb8
je 0x1401ea84e
mov r8, qword [rsp + 0x30]
mov eax, dword [0x14025d778]
xor eax, 0xa26e3d0f
imul eax, dword [0x14025d77c]
mov ecx, 0x57fe0720
xor ecx, 0x61bffb97
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x38]
imul eax, eax, 0xc8237d9d
add eax, 0xe9309a82
sub eax, 0x4f7b5719
sub eax, 0xe9309a82
mov ecx, 0xa4ee46ce
xor ecx, 0x13b7130a
mov byte [rdx + r8], 0
mov rdx, r8
and rdx, 1
or r8, 1
add rdx, r8
mov qword [rsp + 0x28], rdx
cmp eax, ecx
jae 0x1401ea7cf
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x50], rax
jmp 0x1401ea70d
add rsp, 0x58
ret
jns 0x1401ea8b6
mov cl, 0xe9
js 0x1401ea854
invalid
invalid
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
xor eax, 0x2f97328d
mov edx, 0x5661a23c
xor edx, 0xa99e5dc3
xor eax, edx
or ecx, 0x2f97328d
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xa882a170
xor edx, 0x9df9ecdb
and edx, eax
mov r8d, 0xcf849b39
xor r8d, 0xfaffd692
mov eax, 0x99546bd0
xor eax, 0x66ab942f
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov r8d, 0x7ca70e35
xor r8d, 0x49dc439e
mov edx, ecx
and edx, r8d
or ecx, 0x357b4dab
imul ecx, edx
add ecx, eax
mov edx, 0xb702c8b4
xor edx, 0x48fd374b
mov eax, ecx
xor eax, edx
and eax, 0x167398be
mov edx, 0xcb3d7e71
xor edx, 0xdd4ee6cf
mov r8d, 0x47dc354f
xor r8d, 0xb823cab0
xor edx, r8d
and ecx, edx
or eax, ecx
cmp eax, 0xe8281210
jae 0x1401eaef8
mov ecx, dword [0x14025d788]
mov eax, dword [0x14025d78c]
and ecx, eax
mov edx, ecx
add edx, 0x82505131
not edx
or edx, 0x42425544
mov eax, ecx
mov ecx, edx
lea eax, [rax + rcx - 0x7dafaece]
imul rax, rax, 0x6a9de92f
shr rax, 0x3e
mov dword [rbp + 0x2c], eax
mov eax, 0x10
mov qword [rbp - 0x28], rax
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp - 0x10], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
mov eax, 0x40
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.1401ee866
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp - 0x10]
mov qword [rbp - 8], r8
movabs r8, 0x90f4395b291ea7d5
movabs r9, 0x90f4395b291ea7d5
xor r8, r9
mov qword [rdx], r8
mov qword [rdx + 8], 0
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp], rdx
mov qword [rax + 8], 0
mov edx, 0x10
sub rsp, 0x20
call fcn.1401ea6e0
mov rcx, qword [rbp + 8]
add rsp, 0x20
lea rdx, [0x140269020]
sub rsp, 0x20
call fcn.1401eaf10
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov edx, 0x40
sub rsp, 0x20
call fcn.1401ea6e0
mov rax, qword [rbp + 8]
add rsp, 0x20
mov rcx, rax
add rcx, 4
mov qword [rbp + 0x10], rcx
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x18], rcx
add rax, 0xc
mov qword [rbp + 0x20], rax
mov eax, 0xc275a98c
xor eax, 0x4275a98c
cpuid
mov r8d, eax
mov eax, dword [rbp + 0x2c]
mov dword [rbp + 0x38], r8d
mov r8d, ecx
mov rcx, qword [rbp + 0x30]
mov r9d, edx
mov edx, dword [rbp + 0x38]
mov dword [rbp + 0x3c], edx
mov rdx, rcx
add rdx, 0x20
mov qword [rbp + 0x40], rdx
add rcx, 0x10
mov qword [rbp + 0x48], rcx
cmp eax, 0xf0c8b823
jae 0x1401ea966
mov eax, 0x80000000
mov dword [rbp - 0x2c], eax
jmp 0x1401eab11
mov ecx, dword [rbp + 0x3c]
mov eax, dword [rbp - 0x2c]
mov dword [rbp - 0x30], eax
cmp eax, ecx
ja 0x1401eabe9
mov eax, dword [rbp - 0x30]
mov r8, qword [rbp + 0x18]
mov r10, qword [rbp + 0x10]
mov r11, qword [rbp + 8]
cpuid
mov esi, eax
mov eax, dword [rbp - 0x30]
mov r9d, ecx
mov rcx, qword [rbp + 0x20]
mov dword [r11], esi
mov dword [r10], ebx
mov dword [r8], r9d
mov dword [rcx], edx
sub eax, 0x80000002
je 0x1401eab80
jmp 0x1401eab5a
mov eax, dword [rbp - 0x30]
sub eax, 0x80000003
je 0x1401eab9a
jmp 0x1401eab6d
mov eax, dword [rbp - 0x30]
sub eax, 0x80000004
je 0x1401eabb4
jmp 0x1401eabc9
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.1401eaf10
add rsp, 0x20
jmp 0x1401eabc9
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x48]
sub rsp, 0x20
call fcn.1401eaf10
add rsp, 0x20
jmp 0x1401eabc9
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x40]
sub rsp, 0x20
call fcn.1401eaf10
add rsp, 0x20
mov eax, dword [rbp - 0x30]
sub eax, 0xa0e77db5
add eax, 1
mov ecx, 0xc34ca992
xor ecx, 0x63abd427
add eax, ecx
mov dword [rbp - 0x2c], eax
jmp 0x1401eab11
mov rax, qword [rbp - 8]
mov r9, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x30]
mov rcx, qword [rbp - 0x10]
add rax, 0x50
mov qword [rbp - 0x38], rax
mov rax, qword [0x140269048]
mov qword [r9], rax
mov rax, qword [0x140269050]
mov qword [r9 + 8], rax
mov r8d, 0x40
sub rsp, 0x20
call fcn.14004dee0
mov rax, qword [rbp - 8]
add rsp, 0x20
mov al, byte [rax + 0x50]
mov cl, 0xf6
xor cl, 0xf6
cmp al, cl
jne 0x1401eae80
mov eax, dword [0x14025d790]
xor eax, 0xa30af93e
imul eax, dword [0x14025d794]
xor eax, 0x4cb7c1b6
mov edx, 0x6f8089a5
xor edx, 0x952a51e2
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0xfaaad847
add eax, ecx
mov ecx, 0xafb66d2d
xor edx, edx
div ecx
cmp eax, 0xda70869d
ja 0x1401eaf01
mov ecx, dword [0x14025d798]
xor ecx, 0xafc6e865
mov edx, dword [0x14025d79c]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0x87553fd1
xor ecx, 0xabc07b44
mov edx, 0x47b7c65a
xor edx, 0xb84839a5
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x955e6654
xor edx, edx
div ecx
sub eax, 0x31aeffaa
mov dword [rbp - 0x4c], eax
sub rsp, 0x20
call fcn.1401ee866
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x4c]
mov rdx, rcx
add rdx, 0x50
mov qword [rbp - 0x48], rdx
mov cl, byte [rcx + 0x50]
mov dl, 0x6e
xor dl, 0x6e
cmp cl, dl
sete cl
mov byte [rbp - 0x39], cl
cmp eax, 0xbb8f1f2e
jb 0x1401eac81
mov al, byte [rbp - 0x39]
test al, 1
jne 0x1401ead21
jmp 0x1401eadcb
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rcx]
mov qword [rbp - 0x58], rdx
mov rcx, qword [rax]
add rcx, 8
lea rax, [0x140269071]
cmp rdx, 0
cmove rcx, rax
sub rsp, 0x20
call fcn.1400aa880
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x48]
mov dword [rbp - 0x50], ecx
cmp byte [rax], 0
jne 0x1401eadcb
mov rax, qword [rbp - 0x58]
mov ecx, dword [rbp - 0x50]
movsxd rcx, ecx
mov qword [rbp - 0x60], rcx
cmp rax, rcx
jle 0x1401eadcb
mov eax, dword [rbp - 0x50]
mov ecx, 0x24448652
xor ecx, 0x24448652
cmp eax, ecx
jge 0x1401eadb6
mov rcx, qword [rbp - 0x60]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000cee2
add rsp, 0x20
jmp 0x1401eadcb
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.140014c40
add rsp, 0x20
mov rax, qword [rbp - 0x38]
cmp byte [rax], 0
jne 0x1401eae80
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp - 0x10]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
mov r9d, 1
lea rax, [0x140269090]
sub rsp, 0x30
mov r8d, r9d
mov qword [rsp + 0x20], rax
call fcn.140044d00
mov rax, qword [rbp - 0x38]
add rsp, 0x30
cmp byte [rax], 0
jne 0x1401eae80
mov rax, qword [rbp]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x1401eaeec
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
movabs rdx, 0xf8699a3d911a8a70
movabs r8, 0xb8699a3d911a8a70
xor rdx, r8
and rcx, rdx
movabs rdx, 0x8f4245ceac3916f
movabs r8, 0x8f4245ceac3916f
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x70], rax
je 0x1401eaedb
jmp 0x1401eaeec
mov rax, qword [rbp]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x1401eaeec
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax]
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
or rcx, r8
add rcx, rdx
movabs rdx, 0x89617a9bec799c4a
movabs r8, 0x89617a9bec799c4a
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x70], rax
jne 0x1401eaeec
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000e9f6
add rsp, 0x20
mov rax, qword [rbp + 0x58]
lea rsp, [rbp + 0x60]
pop rbx
pop rsi
pop rbp
ret
sub byte [rsi + 0x65e943c2], dh
cli
invalid
imul edi, dword [rbx + 0x51], 0xfd77e9b7
invalid