Function at 0x14007e6d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
push rdi
push r14
sub rsp, 0x48
mov r11d, dword [rsp + 0x90]
mov r10, rcx
mov ecx, r9d
mov edi, edx
call fcn.1400744f0
mov r14d, eax
test eax, eax
js 0x14007ea93
mov qword [rsp + 0x60], rbx
mov edx, 0xff
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x40], r12
lea r12d, [r11 - 1]
and r12d, 7
mov qword [rsp + 0x38], r13
mov ecx, r12d
mov qword [rsp + 0x30], r15
shl edx, cl
test byte [r10], dl
jne 0x14007ea70
test r12d, r12d
lea ecx, [rdi - 1]
lea rbx, [r10 + 1]
cmovne ecx, edi
cmovne rbx, r10
mov esi, ecx
sub esi, eax
sub esi, 1
jns 0x14007e759
mov eax, 0xffffff16
jmp 0x14007ea75
mov ebp, dword [rsp + 0x88]
cmp ebp, 0xffffffff
jne 0x14007e77e
mov ebp, r14d
cmp r11d, 0x400
jne 0x14007e790
cmp r14d, 0x40
jne 0x14007e790
mov ebp, 0x3e
jmp 0x14007e790
cmp ebp, r14d
jg 0x14007e8b8
cmp ebp, 0xffffffff
jl 0x14007e8b8
lea eax, [rbp + 1]
cmp esi, eax
jl 0x14007e8b8
lea eax, [rcx - 1]
cmp byte [rax + rbx], 0xbc
jne 0x14007ea70
mov rax, qword [0x140107638]
movsxd r13, esi
mov rcx, r13
test rax, rax
je 0x14007e7be
call rax
jmp 0x14007e7c3
call fcn.1400b5720
mov rdi, rax
test rax, rax
jne 0x14007e7d5
mov eax, 0xffffff83
jmp 0x14007ea75
mov ecx, dword [rsp + 0x80]
lea rdx, [rbx + r13]
sub ecx, 1
je 0x14007e811
sub ecx, 1
je 0x14007e80a
sub ecx, 1
je 0x14007e803
cmp ecx, 0x17
je 0x14007e7fc
mov r15d, 0xffffff53
jmp 0x14007e82c
mov ecx, 4
jmp 0x14007e816
mov ecx, 8
jmp 0x14007e816
mov ecx, 7
jmp 0x14007e816
mov ecx, 6
mov r9, rdi
mov dword [rsp + 0x20], esi
mov r8d, r14d
call fcn.14007d830
mov r15d, eax
test eax, eax
je 0x14007e852
mov rax, qword [0x1401075e8]
mov rcx, rdi
test rax, rax
je 0x14007e845
call rax
mov eax, r15d
jmp 0x14007ea75
call fcn.1400b0cd0
mov eax, r15d
jmp 0x14007ea75
mov eax, 1
xor edx, edx
mov ecx, r12d
shl al, cl
dec al
and byte [rdi], al
and byte [rbx], al
mov eax, esi
sub eax, ebp
dec eax
movsxd r9, eax
test eax, eax
jle 0x14007e899
mov r8, rdi
mov rcx, rbx
sub r8, rbx
nop word [rax + rax]
movzx eax, byte [rcx]
cmp byte [r8 + rcx], al
jne 0x14007e8c2
inc rcx
inc edx
mov rax, rcx
sub rax, rbx
cmp rax, r9
jl 0x14007e880
movsxd rcx, edx
movzx eax, byte [rbx + rcx]
xor al, 1
cmp byte [rcx + rdi], al
je 0x14007e8e0
mov rax, qword [0x1401075e8]
mov rcx, rdi
test rax, rax
je 0x14007e8d1
call rax
mov eax, 0xffffff06
jmp 0x14007ea75
mov rax, qword [0x1401075e8]
mov rcx, rdi
test rax, rax
jne 0x14007e8b6
call fcn.1400b0cd0
mov eax, 0xffffff06
jmp 0x14007ea75
inc edx
mov r8d, esi
sub r8d, edx
mov r9d, edx
cmp edx, esi
jge 0x14007ea13
cmp r8d, 8
jb 0x14007ea13
lea eax, [rsi - 1]
movsxd rdx, edx
movsxd rcx, eax
lea r10, [rbx + rdx]
add rdx, rdi
lea rax, [rcx + rdi]
lea r11, [rbx + rcx]
cmp r10, rax
ja 0x14007e923
cmp r11, rdx
jae 0x14007ea13
cmp r8d, 0x40
jb 0x14007e9c6
mov ecx, r8d
and ecx, 0x8000003f
jge 0x14007e93f
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, esi
sub eax, ecx
lea rcx, [r10 + 0x10]
movsxd r11, eax
mov rdx, rdi
mov r10, 0xfffffffffffffff0
sub rdx, rbx
sub r10, rbx
nop word [rax + rax]
movdqu xmm0, xmmword [rcx - 0x10]
add r9d, 0x40
movdqu xmm1, xmmword [rdx + rcx - 0x10]
lea rcx, [rcx + 0x40]
lea rax, [r10 + rcx]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rdx + rcx - 0x40]
movdqu xmmword [rcx - 0x50], xmm1
movdqu xmm2, xmmword [rcx - 0x40]
movdqu xmm1, xmmword [rdx + rcx - 0x30]
xorps xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm2
movdqu xmm0, xmmword [rcx - 0x30]
xorps xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm1, xmmword [rdx + rcx - 0x20]
xorps xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
cmp rax, r11
jl 0x14007e960
mov eax, r8d
and al, 0x3f
cmp al, 8
jb 0x14007ea13
and r8d, 0x80000007
jge 0x14007e9d9
dec r8d
or r8d, 0xfffffff8
inc r8d
sub esi, r8d
movsxd rcx, r9d
mov rdx, rdi
add rcx, rbx
movsxd r8, esi
sub rdx, rbx
nop dword [rax + rax]
movq xmm0, qword [rcx]
add r9d, 8
movq xmm1, qword [rdx + rcx]
xorps xmm1, xmm0
movq qword [rcx], xmm1
add rcx, 8
mov rax, rcx
sub rax, rbx
cmp rax, r8
jl 0x14007e9f0
movsxd rax, r9d
cmp rax, r13
jge 0x14007ea41
mov r8, rdi
lea rcx, [rbx + rax]
sub r8, rbx
mov rdx, r13
sub rdx, rax
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14007ea30
mov rax, qword [0x1401075e8]
mov rcx, rdi
test rax, rax
je 0x14007ea54
call rax
jmp 0x14007ea59
call fcn.1400b0cd0
movsxd rax, ebp
sub rbx, rax
mov rax, qword [rsp + 0x70]
add rbx, r13
mov qword [rax], rbx
lea eax, [r14 + rbp]
jmp 0x14007ea75
mov eax, 0xffffff3f
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov r15, qword [rsp + 0x30]
add rsp, 0x48
pop r14
pop rdi
ret