Function at 0x1400e7a50
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x118
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], rcx
mov eax, 0x10
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
sub rsp, 0x20
call fcn.1400e7980
add rsp, 0x20
mov qword [rbp + 0x28], rax
movabs rcx, 0x3d5721ca59449bc2
movabs rax, 0x3d5721ca59449bc0
xor rcx, rax
movabs rdx, 0xe7fbb3c99b4e3d7c
movabs rax, 0xe7fbb3c99b4e3d6c
xor rdx, rax
movabs r8, 0xe39c31060ffddff6
movabs rax, 0xe39c31060ffddffe
xor r8, rax
sub rsp, 0x20
call fcn.14000f990
add rsp, 0x20
mov qword [rbp + 0x20], rax
mov word [rbp + 0x96], 0x2a8
lea rcx, [rbp + 0x96]
sub rsp, 0x20
call fcn.140060746
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov qword [rbp + 0x30], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x38], rax
jne 0x1400e8004
mov rax, qword [rbp + 0x30]
mov rcx, qword [rax]
mov qword [rbp + 0x70], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x78], rax
lea rcx, [rbp + 0x80]
lea rdx, [rbp + 0x70]
sub rsp, 0x20
call fcn.14001c072
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x88]
mov r8, rax
add r8, 8
mov qword [rbp], r8
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rcx
mov word [rbp + 0x94], 0x134
lea rcx, [rbp + 0x94]
sub rsp, 0x20
call fcn.140060746
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov qword [rbp + 8], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x38], rax
jne 0x1400e8004
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
mov qword [rbp + 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0x50]
sub rsp, 0x20
call fcn.14001c072
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov r8, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x68]
mov qword [rcx + 0x18], r8
mov qword [rcx + 0x20], rdx
mov rcx, qword [rax]
mov qword [rbp - 0x28], rcx
mov rax, qword [rax + 8]
add rax, 8
mov qword [rbp - 0x20], rax
cmp rcx, 0
sete al
mov byte [rbp - 0x11], al
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x10], rax
xor eax, eax
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov qword [rbp - 0x30], rax
cmp rax, 2
je 0x1400e7d8b
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp]
mov rax, qword [rbp - 0x30]
shl rax, 4
add rdx, rax
mov rax, qword [rdx]
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x38], rdx
cmp rax, rcx
jne 0x1400e7d7a
mov al, byte [rbp - 0x11]
test al, 1
jne 0x1400e7e0e
jmp 0x1400e7c51
mov rax, qword [rbp - 0x38]
add rax, 8
mov qword [rbp - 0x48], rax
xor eax, eax
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x50], rax
mov eax, dword [0x1401ce158]
mov ecx, dword [0x1401ce15c]
xor ecx, 0xae91da8
add eax, 0xacd01b31
add eax, ecx
sub eax, 0xacd01b31
imul ecx, eax, 0x742e9199
mov eax, ecx
and eax, eax
mov edx, 0xac70994c
xor edx, 0x538f66b3
xor eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc50cf009
or eax, edx
mov edx, 0xc50cf009
and edx, 0xc50cf009
xor edx, 0xffffffff
xor ecx, 0xffffffff
mov r8d, 0x8966cb21
xor r8d, 0x769934de
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xa163c62
xor edx, 0xf5e9c39d
xor ecx, edx
or eax, ecx
imul eax, eax, 0xed3a0cf2
cmp eax, 0x9c8a32c2
jbe 0x1400e8042
mov rcx, qword [rbp - 0x50]
mov eax, dword [0x1401ce160]
imul eax, dword [0x1401ce164]
mov edx, 0x7ec76a7e
xor edx, 0x1b4f5c03
imul eax, edx
mov r8d, 0x15d00231
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x10]
mov r8d, 0xbbbb6b34
xor r8d, 0xf1b704c9
and eax, r8d
cmp rcx, rdx
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0xd18f14c2
ja 0x1400e7cf6
mov al, byte [rbp - 0x51]
test al, 1
jne 0x1400e7e0e
jmp 0x1400e7d58
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x48]
mov cl, byte [rcx + rax]
mov dl, byte [rdx + rax]
add rax, 1
cmp cl, dl
mov qword [rbp - 0x40], rax
je 0x1400e7c63
mov rax, qword [rbp - 0x30]
add rax, 1
mov qword [rbp - 8], rax
jmp 0x1400e7c08
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.14001217d
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401dd738]
mov qword [rcx], rax
lea rax, [0x1401dc3e4]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401dc3f0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401dc3f8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1401dc3e4]
lea r8, [0x1401dc400]
lea r9, [0x1401dc406]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x26a56c0d
call fcn.1400120ce
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x38], rax
jmp 0x1400e8004
mov rax, qword [rbp + 0x10]
mov rcx, rax
add rcx, 0x90
mov qword [rbp - 0x60], rcx
movss xmm0, dword [rax + 0x90]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1400e7faa
jp 0x1400e7faa
mov eax, dword [0x1401ce168]
xor edx, edx
div dword [0x1401ce16c]
mov edx, 0x23838a58
xor edx, 0xdc7c75a7
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x2f1a7c09
or ecx, edx
and eax, 0x2f1a7c09
mov edx, 0xc062605d
xor edx, 0x3f9d9fa2
xor eax, edx
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x9d413147
mov edx, 0xffffffff
xor edx, 0x9d413147
and ecx, edx
or eax, ecx
mov ecx, 0x9fed47d9
xor edx, edx
div ecx
cmp eax, 0x1f8bf29
ja 0x1400e804b
mov rcx, qword [rbp - 0x60]
mov eax, dword [0x1401ce170]
imul eax, dword [0x1401ce174]
mov edx, eax
xor edx, 0xb99edec8
mov r8d, 0x45773145
xor r8d, 0xba88ceba
xor edx, r8d
or eax, 0xb99edec8
and eax, edx
mov esi, eax
and esi, esi
mov edx, 0x112058f1
xor edx, 0xeedfa70e
xor esi, edx
xor esi, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x7d92f1d9
or esi, edx
mov edx, 0xffffffff
xor edx, 0x7d92f1d9
mov r8d, 0x96da53fa
xor r8d, 0xeb48a223
mov r9d, 0x307b06b
xor r9d, 0xfcf84f94
xor r8d, r9d
or edx, r8d
and eax, edx
xor eax, 0xffffffff
and esi, eax
xor esi, 0xffffffff
mov eax, 0xf703ba6d
xor eax, 0x8fc4592
mov edx, esi
xor edx, eax
mov r9d, 0xffffffff
xor r9d, 0x2d49c222
mov r8d, 0xffffffff
xor r8d, 0x35bfc792
mov eax, edx
and eax, 0x35bfc792
and esi, r8d
mov r10d, r9d
and r10d, 0x35bfc792
mov r11d, r8d
and r11d, 0x2d49c222
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0x35bfc792
and edx, r8d
or eax, edx
movss xmm0, dword [0x1401dc3e0]
movss dword [rcx], xmm0
cmp eax, 0xf9038f41
je 0x1400e7ea8
jmp 0x1400e7faa
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.1400df320
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov qword [rbp - 0x68], rax
mov cl, byte [rcx]
mov dl, 0x3c
xor dl, 0x3c
cmp cl, dl
mov qword [rbp + 0x38], rax
jne 0x1400e8004
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x40], 2
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x40]
sub rsp, 0x20
call fcn.140017fc0
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov qword [rbp - 0x70], rax
jmp 0x1400e8034
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x38]
mov qword [rbp - 0x78], rdx
mov qword [rcx], 2
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140017fc0
mov rax, qword [rbp - 0x78]
add rsp, 0x20
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x70]
lea rsp, [rbp + 0x98]
pop rsi
pop rbp
ret
movabs eax, dword [0xfffffcabe9b23261]
adc dh, dh
invalid