Function at 0x14007ef80
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
add rsp, 0x6773f534
sub rsp, 0x6773f5b4
movzx eax, byte [rcx]
mov rdi, rdx
mov rbx, rcx
cmp al, 0x2d
jne 0x14007efac
movzx eax, byte [rbx + 1]
inc rbx
movsx ecx, al
call fcn.1400948f0
test eax, eax
je 0x14007eff6
cmp byte [rbx], 0x30
je 0x14007f010
movzx eax, byte [rbx]
test al, al
je 0x14007eff6
nop dword [rax]
movsx ecx, al
call fcn.1400948f0
test eax, eax
je 0x14007f024
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x14007efd7
xor eax, eax
mov rbx, qword [rsp + 0x98]
add rsp, 0x6f077d3
sub rsp, 0x6f07753
pop rdi
ret
movsx ecx, byte [rbx + 1]
inc rbx
call fcn.1400948f0
test eax, eax
jne 0x14007eff6
mov dword [rdi + 0x20], 0x7a96db4f
xor dword [rdi + 0x20], 0x44d0b995
sub dword [rdi + 0x20], 0x3e4662d6
movzx ecx, byte [rbx]
cmp cl, 0x2e
jne 0x14007f0b8
movsx ecx, byte [rbx + 1]
call fcn.1400948f0
test eax, eax
je 0x14007eff6
movzx eax, byte [rbx + 2]
nop
add rbx, 0x232c172e
sub rbx, 0x232c172c
test al, al
je 0x14007eff6
movsx ecx, al
call fcn.1400948f0
test eax, eax
je 0x14007f0a0
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x14007f071
xor eax, eax
mov rbx, qword [rsp + 0x98]
sub rsp, 0xffffffffffffff80
pop rdi
ret
mov dword [rdi + 0x20], 0x60985fd1
sub dword [rdi + 0x20], 0xddfcf4
sub dword [rdi + 0x20], 0x5fba62d8
movzx ecx, byte [rbx]
cmp cl, 0x65
je 0x14007f0ca
cmp cl, 0x45
jne 0x14007f161
movzx eax, byte [rbx + 1]
inc rbx
cmp al, 0x2d
je 0x14007f0e1
cmp al, 0x2b
jne 0x14007f0e8
movzx eax, byte [rbx + 1]
inc rbx
movsx ecx, al
call fcn.1400948f0
test eax, eax
je 0x14007eff6
movzx eax, byte [rbx + 1]
inc rbx
test al, al
je 0x14007eff6
movsx ecx, al
call fcn.1400948f0
test eax, eax
je 0x14007f140
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x14007f107
xor eax, eax
mov rbx, qword [rsp + 0x98]
sub rsp, 0x2bdd4757
add rsp, 0x2bdd47d7
pop rdi
ret
test rbx, rbx
je 0x14007eff6
mov dword [rdi + 0x20], 0x2c2e10d6
add dword [rdi + 0x20], 0x528aec87
xor dword [rdi + 0x20], 0x7eb8fd58
movzx ecx, byte [rbx]
call fcn.14007ed30
test al, al
je 0x14007eff6
cmp dword [rdi + 0x20], 4
jne 0x14007f389
mov r8, qword [rdi + 0x10]
xor edi, edi
movdqa xmm0, xmmword [0x14000ba50]
movdqu xmmword [rsp + 0x33], xmm0
mov dword [rsp + 0x43], 0x73bccd54
xor dword [rsp + 0x43], 0x1be0fb81
sub dword [rsp + 0x43], 0x2116862f
sub dword [rsp + 0x43], 0x3221afa8
movzx r9d, byte [r8]
mov qword [rsp + 0x90], rdi
mov rax, qword [rsp + 0x90]
nop dword [rax]
mov rcx, qword [rsp + 0x90]
mov edx, 0x1c912443
add edx, 0x5a2afa85
sub edx, 0x2b72fd73
sub edx, 0x1e34e88a
mov rax, qword [rsp + 0x90]
and cl, 3
shl cl, 3
shr edx, cl
xor dl, byte [rsp + rax + 0x33]
mov rax, qword [rsp + 0x90]
mov byte [rsp + rax + 0x60], dl
mov rax, qword [rsp + 0x90]
inc rax
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
cmp rax, 0x14
jb 0x14007f1c7
movdqa xmm0, xmmword [0x14000ba40]
movdqu xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x74], dil
mov word [rsp + 0x30], 0x1218
add word [rsp + 0x30], 0x5218
xor word [rsp + 0x30], 0x59a1
xor word [rsp + 0x30], 0x3562
mov byte [rsp + 0x32], 0x23
xor byte [rsp + 0x32], 0xd
add byte [rsp + 0x32], 0x1e
sub byte [rsp + 0x32], 0x29
mov qword [rsp + 0x90], rdi
mov rax, qword [rsp + 0x90]
nop dword [rax]
mov rcx, qword [rsp + 0x90]
mov edx, 0x4639d59b
sub edx, 0x1118ac61
sub edx, 0x80cf06f
mov rax, qword [rsp + 0x90]
and cl, 3
shl cl, 3
shr edx, cl
xor dl, byte [rsp + rax + 0x20]
mov rax, qword [rsp + 0x90]
mov byte [rsp + rax + 0x48], dl
mov rax, qword [rsp + 0x90]
inc rax
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
cmp rax, 0x13
jb 0x14007f281
cmp r9b, 0x2d
mov byte [rsp + 0x5b], dil
mov eax, ebx
sete dil
sub eax, r8d
neg edi
add edi, 0xffffffed
neg edi
cmp eax, edi
ja 0x14007f3a8
jne 0x14007f351
movzx edi, byte [rbx]
lea rax, [rsp + 0x48]
cmp r9b, 0x2d
pushf
mov byte [rbx], 0x79
sub byte [rbx], 0x46
sub byte [rbx], 0x33
popf
lea rcx, [rsp + 0x60]
cmove rax, rcx
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14007f346
inc rax
test ecx, ecx
jne 0x14007f32b
test edx, edx
js 0x14007f3a8
mov byte [rbx], dil
xor eax, eax
lea rdi, [rsp + 0x48]
mov ecx, 0x2adbe47c
add ecx, 0x444fb99e
xor ecx, 0x6f2b9e09
rep stosb byte [rdi], al
lea rdi, [rsp + 0x60]
mov ecx, 0x7d61a95
add ecx, 0x1c23a045
add ecx, 0x39f1ed05
sub ecx, 0x5deba7cb
rep stosb byte [rdi], al
mov rcx, rbx
mov rbx, qword [rsp + 0x98]
sub rsp, 0x65a79443
add rsp, 0x65a794c3
pop rdi
jmp fcn.14007fba0
mov rbx, qword [rsp + 0x98]
lea rdi, [rsp + 0x48]
xor eax, eax
mov ecx, 0x304b5312
sub ecx, 0x1ba98b21
sub ecx, 0x1378ec6b
sub ecx, 0x128db73
rep stosb byte [rdi], al
lea rdi, [rsp + 0x60]
mov ecx, 0x2ec9a41b
sub ecx, 0x6bf2ab1
sub ecx, 0x280a7956
rep stosb byte [rdi], al
sub rsp, 0xffffffffffffff80
pop rdi
ret