Function at 0x14007eb00
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x130
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x58], rcx
mov eax, 0x10
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x60]
add rdx, 0x60
mov qword [rbp + 0x68], rdx
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x70], rdx
mov qword [rax + 8], 0
mov rcx, qword [rcx]
mov rax, rcx
shl rax, 1
mov qword [rbp + 0x78], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x140284f10]
mulsd xmm0, xmm1
movsd qword [rbp + 0x80], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x88], xmm1
ucomisd xmm0, xmm1
jne 0x14007ebb4
jp 0x14007ebb4
jmp 0x14007ec1f
movsd xmm1, qword [rbp + 0x80]
movsd xmm0, qword [rbp + 0x88]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140271c60
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x80]
movsd qword [rbp + 0x50], xmm1
sub rsp, 0x20
call fcn.140271c60
movsd xmm1, qword [rbp + 0x50]
add rsp, 0x20
movsd xmm2, qword [0x140284f18]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14007ec1f
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14007f33b
mov rax, qword [rbp + 0x78]
movabs rcx, 0xa44910575da04cd
movabs rdx, 0xa44910575da04cd
xor rcx, rdx
cmp rax, rcx
jge 0x14007ec67
mov rcx, qword [rbp + 0x78]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14001a720
add rsp, 0x20
jmp 0x14007f33b
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x78]
sub rsp, 0x20
call fcn.140043e72
mov r9, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov r8, qword [r9]
mov qword [rbp + 0x30], r8
mov rcx, r9
add rcx, 8
mov qword [rbp + 0x38], rcx
mov rcx, qword [r9 + 8]
mov r10, qword [rdx]
mov qword [r9], r10
mov r10, qword [rdx + 8]
mov qword [r9 + 8], r10
mov qword [rdx], r8
mov qword [rax], rcx
lea rax, [rbp + 0xa0]
add rax, 8
mov qword [rbp + 0x40], rax
xor eax, eax
mov qword [rbp + 0x48], rax
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x28], rax
cmp rax, rcx
jge 0x14007f30e
mov ecx, dword [0x140275bd0]
sub ecx, dword [0x140275bd4]
mov r8d, 0x66c81706
xor r8d, 0x812a43e4
mov eax, 0xcd6cf5d9
xor eax, 0x32930a26
xor r8d, eax
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0xe7e254e2
or ecx, 0xe7e254e2
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x1f258d9f
xor ecx, 0x483c00e5
mov edx, 0x6eefac
xor edx, 0x577762d6
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0xcab310bc
xor edx, 0x354cef43
xor eax, edx
mov edx, 0x3c13d53e
xor edx, 0xc3ec2ac1
xor ecx, edx
or eax, ecx
mov ecx, eax
xor ecx, 0x57e4e906
xor ecx, 0xffffffff
or eax, 0x57e4e906
and eax, ecx
mov ecx, 0xd4323ba1
xor ecx, 0x5b01ed81
cmp eax, ecx
je 0x14007f344
mov rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x60]
xor eax, eax
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rbp + 0x18], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rbp + 0x27], cl
cmp eax, 0x99438bb3
ja 0x14007ed8b
mov al, byte [rbp + 0x27]
test al, 1
jne 0x14007ede6
jmp 0x14007edc8
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x18]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400292ad
add rsp, 0x20
jmp 0x14007f33b
mov rax, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x70]
mov rcx, qword [rcx]
mov qword [rbp], rcx
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
mov qword [rbp + 8], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x17], al
or al, cl
test al, 1
jne 0x14007f152
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x58]
mov r8, qword [rax]
mov qword [rbp - 0x20], r8
mov rax, r8
dec rax
mov qword [rbp - 0x18], rax
and rax, rcx
mov qword [rbp - 0x10], rax
setns cl
mov rdx, rax
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov qword [rbp - 8], rax
jne 0x14007ee60
jmp 0x14007ee78
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x38]
mov rcx, qword [rcx]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
jmp 0x14007ee92
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.1400292ad
add rsp, 0x20
jmp 0x14007f33b
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x38], rax
mov eax, dword [0x140275be0]
sub eax, dword [0x140275be4]
mov ecx, eax
xor ecx, 0xad09b7b1
xor ecx, 0xffffffff
or eax, 0xad09b7b1
and eax, ecx
mov ecx, 0xbc79f299
xor edx, edx
div ecx
mov ecx, 0x4171e1ad
xor edx, edx
div ecx
cmp eax, 0xcec6468b
ja 0x14007f34d
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x140275be8]
mov r8d, dword [0x140275bec]
xor r8d, 0x5ce90776
sub eax, r8d
add eax, 0xeea0e012
add eax, 0x2bf36172
sub eax, 0xeea0e012
sub eax, 0x3acbbc18
mov r8d, 0xf6bf0c78
xor r8d, 0xbd85c6b2
add eax, r8d
add rcx, 8
shl rdx, 5
add rcx, rdx
mov rcx, qword [rcx]
movabs rdx, 0x6847c8dfc68fed83
movabs r8, 0x6847c8dfc68fed83
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x39], cl
cmp eax, 0xa6362d89
je 0x14007eed5
mov al, byte [rbp - 0x39]
test al, 1
jne 0x14007efaf
jmp 0x14007ef61
mov r8, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x38]
mov edx, ecx
and edx, 1
or rcx, 1
add rdx, rcx
mov rcx, rax
not rcx
or rcx, rdx
add rax, rcx
inc rax
setns cl
mov rdx, rax
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov rcx, rax
mov qword [rbp - 8], rcx
mov qword [rbp - 0x28], rax
jne 0x14007ee92
jmp 0x14007ee78
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x58], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x50], rax
sub rsp, 0x20
call fcn.140020530
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
cmp rax, rcx
jl 0x14007f018
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400292ad
add rsp, 0x20
jmp 0x14007f33b
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x70]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x60], rax
sub rsp, 0x20
call fcn.1401a54d0
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x69
xor cl, 0x69
cmp al, cl
jne 0x14007f33b
mov rax, qword [rbp - 0x38]
mov r10, qword [rbp + 8]
mov r9, qword [rbp - 0x60]
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x40]
mov r8, qword [rbp - 0x50]
mov r11, qword [rbp - 0x58]
mov qword [rbp + 0xa0], r11
mov qword [rcx], r8
lea r8, [rbp + 0xa0]
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.14007e810
mov rax, qword [rbp + 0x68]
add rsp, 0x30
cmp byte [rax], 0
jne 0x14007f33b
mov rax, qword [rbp - 0x50]
cmp rax, 0
je 0x14007f170
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
movabs rcx, 0x67a4a0a8149a1dfc
movabs rdx, 0x27a4a0a8149a1dfc
xor rcx, rdx
movabs rdx, 0x9e5bdc22fc4bdd5b
movabs r8, 0xde5bdc22fc4bdd5b
xor rdx, r8
or rcx, rdx
movabs rdx, 0xe6b3622cdfb3339e
movabs r8, 0x194c9dd3204ccc61
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x638ea1137dce0130
movabs r8, 0x9c715eec8231fecf
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14007f170
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
jmp 0x14007f170
mov rcx, qword [rbp + 0x28]
mov dl, byte [rbp + 0x17]
xor eax, eax
test dl, 1
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x61], al
jne 0x14007f2f5
jmp 0x14007f170
mov ecx, dword [0x140275bf0]
mov edx, dword [0x140275bf4]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, 0x8e180329
or eax, 0x8e180329
mov edx, 0x6112d94f
xor edx, 0x9eed26b0
xor eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0x306dcad1
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4f1ed1d8
or eax, edx
mov edx, 0xffffffff
xor edx, 0x4f1ed1d8
mov r8d, 0x3b2a4de6
xor r8d, 0x74349c3e
mov r9d, 0x4d890d4a
xor r9d, 0xb276f2b5
xor r8d, r9d
or edx, r8d
xor ecx, 0xffffffff
mov r8d, 0x9ea363d4
xor r8d, 0x615c9c2b
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xc08f936f
xor ecx, 0x3b16723a
cmp eax, ecx
je 0x14007f356
mov r8, qword [rbp + 0x28]
mov eax, dword [0x140275bf8]
xor eax, 0x428f8ac8
add eax, dword [0x140275bfc]
sub eax, 0x363f9f6c
add eax, 0x848dd669
add eax, 0x363f9f6c
xor eax, 0x3b20f8a2
mov ecx, 0x99533d9e
xor ecx, 0xc8322277
or eax, ecx
xor ecx, ecx
sub rcx, 1
mov rdx, r8
sub rdx, rcx
mov qword [rbp - 0x80], rdx
mov rcx, r8
xor rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rcx, 0xffffffffffffffff
shl rcx, 1
movabs r9, 0x2899da215c2c971b
movabs r10, 0xd76625dea3d368e4
xor r9, r10
sub rcx, r9
sub r8, rcx
xor r8, 0xffffffffffffffff
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp - 0x71], cl
cmp eax, 0x2af63b57
je 0x14007f22d
mov rcx, qword [rbp - 0x80]
mov dl, byte [rbp - 0x71]
mov al, 1
test dl, 1
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x61], al
jne 0x14007f2e3
jmp 0x14007f2f5
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14007f33b
mov rax, qword [rbp - 0x70]
mov cl, byte [rbp - 0x61]
test cl, 1
mov qword [rbp + 0x48], rax
jne 0x14007ecc7
jmp 0x14007f33b
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
mov qword [rbp + 0x90], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0x90]
sub rsp, 0x20
call fcn.14007c100
add rsp, 0x20
lea rsp, [rbp + 0xb0]
pop rbp
ret
sub al, 6
mov gs, ecx
cli
invalid
lodsb al, byte [rsi]
sub byte [rax], ch
jmp 0x14007eed5
fidivr word [rax - 0xf]
lahf
jmp 0x14007f22d