Function at 0x14007e810
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp - 0x28], r9
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], rdx
mov rax, qword [rbp + 0x38]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp - 8], rax
mov eax, dword [0x140275bc0]
mov ecx, dword [0x140275bc4]
xor ecx, 0xc653be58
imul eax, ecx
and eax, 0x50fe7c9f
sub eax, 0xbec3045f
mov ecx, eax
and ecx, 0x16028d6a
shl ecx, 1
add eax, 0x16028d6a
sub eax, ecx
cmp eax, 0x55dce030
jbe 0x14007eae8
mov eax, dword [0x140275bc8]
mov edx, dword [0x140275bcc]
not eax
not edx
mov ecx, eax
or ecx, edx
not ecx
and eax, edx
or ecx, eax
not ecx
mov eax, ecx
and eax, 0x12f6fda5
and ecx, 0x1236b101
mov edx, eax
xor edx, 0xe4c14cee
add eax, edx
sub eax, ecx
and eax, 0x8451e3f0
mov dword [rbp - 0x44], eax
mov eax, 0x10
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x50], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x44]
add rcx, 0x60
mov qword [rbp - 0x40], rcx
test r8, r8
setns cl
mov rdx, qword [rdx]
mov qword [rbp - 0x38], rdx
sub rdx, r8
setg dl
and cl, dl
mov byte [rbp - 0x29], cl
cmp eax, 0xa22fd3e4
je 0x14007e872
mov al, byte [rbp - 0x29]
test al, 1
jne 0x14007e98f
jmp 0x14007e922
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x38]
xor eax, eax
sub rax, rdx
movabs rdx, 0x2ddac38470911ad8
movabs r8, 0x2ddac38470911ad8
xor rdx, r8
movabs r8, 0x1664d5c46a56c3e1
movabs r9, 0xe99b2a3b95a93c1e
xor r8, r9
sub rdx, r8
add rax, rdx
movabs rdx, 0x38d45ba501b4676d
movabs r8, 0x38d45ba501b4676d
xor rdx, r8
sub rdx, rax
sub rsp, 0x20
call fcn.1400292ad
add rsp, 0x20
jmp 0x14007eae3
mov r8, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x20]
mov r9, rcx
add r9, 8
mov qword [rbp - 0x60], r9
mov rcx, qword [rcx + 8]
add rcx, 8
shl r8, 5
add rcx, r8
add rcx, 8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400344e0
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
cmp rax, rcx
jg 0x14007ea3e
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x58]
movabs rax, 0x4b1c4bd15a484786
sub rdx, rax
movabs rax, 0x3b05cce2cc0a6bdc
movabs r8, 0xc4fa331d33f59423
xor rax, r8
add rdx, rax
movabs rax, 0x4b1c4bd15a484786
add rdx, rax
sub rsp, 0x20
call fcn.1400292ad
add rsp, 0x20
jmp 0x14007eae3
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x60]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
sub rsp, 0x20
call fcn.1401a5580
mov rax, qword [rbp - 0x40]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14007eae3
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
cmp rax, rcx
jg 0x14007eac6
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x68]
movabs rax, 0xe5641a27ba18b3b2
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xe5641a27ba18b3b2
add rdx, rax
sub rsp, 0x20
call fcn.1400292ad
add rsp, 0x20
jmp 0x14007eae3
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x60]
mov rax, qword [rax]
add rax, 8
shl rdx, 5
add rax, rdx
mov qword [rax], rcx
mov rsp, rbp
pop rbp
ret
xor byte [rbp + 0x2e], ch
invalid