Function at 0x1401eeeb0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xb8
mov rax, qword [0x140672360]
xor rax, rsp
mov qword [rbp - 1], rax
xor r12d, r12d
mov qword [rbp - 0x59], r8
mov eax, 0x20
mov qword [rbp - 0x61], r9
cmp edx, eax
mov dword [rbp - 0x6d], edx
mov r13d, edx
mov qword [rbp - 0x49], rcx
mov rsi, r8
mov dword [rbp - 0x71], 0x10
mov r8, qword [rbp + 0x7f]
cmovae r13d, eax
mov qword [rbp - 0x69], r8
mov r15, r9
mov r14d, r12d
test rcx, rcx
je 0x1401eef2c
mov rdx, rcx
mov r8d, r13d
lea rcx, [rbp - 0x31]
call fcn.14035bc80
mov rcx, qword [rbp - 0x49]
mov edx, dword [rbp - 0x6d]
mov r8, qword [rbp - 0x69]
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xa8], rdi
cmp r13d, 0x20
jge 0x1401ef040
lfence
lea ebx, [r13 - 0x10]
movsxd rdi, ebx
lea rcx, [rbp - 0x31]
add rcx, rdi
mov rdx, rcx
call fcn.1401f51f0
mov edx, r12d
test ebx, ebx
jle 0x1401eeff3
cmp ebx, 0x40
jb 0x1401eeff3
mov ecx, ebx
and ecx, 0x8000003f
jge 0x1401eef84
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, ebx
sub eax, ecx
movsxd rcx, eax
nop dword [rax + rax]
movdqu xmm2, xmmword [rbp + r12 - 0x21]
add edx, 0x40
movdqu xmm0, xmmword [rbp + r12 - 0x31]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rbp + r12 - 0x31], xmm1
movdqu xmm1, xmmword [rbp + r12 - 0x11]
pxor xmm2, xmm1
movdqu xmmword [rbp + r12 - 0x21], xmm2
movdqu xmm2, xmmword [rbp + r12 - 1]
movdqa xmm0, xmm2
pxor xmm0, xmm1
movdqu xmm1, xmmword [rbp + r12 + 0xf]
movdqu xmmword [rbp + r12 - 0x11], xmm0
pxor xmm1, xmm2
movdqu xmmword [rbp + r12 - 1], xmm1
add r12, 0x40
cmp r12, rcx
jl 0x1401eef90
movsxd rcx, edx
cmp rcx, rdi
jge 0x1401ef011
nop dword [rax + rax]
movzx eax, byte [rbp + rcx - 0x21]
xor byte [rbp + rcx - 0x31], al
inc rcx
cmp rcx, rdi
jl 0x1401ef000
cmp ebx, dword [r15]
mov edi, ebx
cmova edi, dword [r15]
test rsi, rsi
je 0x1401ef02e
mov r8d, edi
lea rdx, [rbp - 0x31]
mov rcx, rsi
call fcn.14035bc80
cmp edi, ebx
jne 0x1401ef24e
mov dword [r15], edi
mov al, 1
jmp 0x1401ef250
lea rsi, [rbp - 0x21]
mov qword [rbp - 0x51], rsi
lea r15, [rbp - 0x31]
lea rbx, [rbp - 0x11]
lea eax, [r13 + 0x10]
mov edi, 0x10
cmp eax, edx
jbe 0x1401ef062
mov edi, edx
sub edi, r13d
test rcx, rcx
je 0x1401ef078
mov edx, r13d
add rdx, rcx
mov r8d, edi
mov rcx, rbx
call fcn.14035bc80
mov r8, qword [rbp - 0x69]
lea rdx, [rbp - 0x41]
mov rcx, rsi
add r13d, edi
call fcn.1401f51f0
mov rdx, r12
test edi, 0xffffffef
je 0x1401ef27e
mov dword [rbp - 0x71], edi
test edi, edi
jle 0x1401ef165
cmp edi, 0x40
jb 0x1401ef165
lea eax, [rdi - 1]
movsxd rcx, eax
lea r8, [rbp - 0x41]
add r8, rcx
lea rax, [rcx + rbx]
lea rcx, [rbp - 0x41]
cmp rcx, rax
ja 0x1401ef0d1
cmp r8, rbx
jae 0x1401ef165
mov ecx, edi
and ecx, 0x8000003f
jge 0x1401ef0e2
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, edi
lea r8, [rbp - 0x31]
sub eax, ecx
lea rcx, [rbp - 0x41]
sub rcx, rbx
movsxd r9, eax
sub r8, rbx
lea rax, [rbx + 0x20]
nop dword [rax + rax]
movdqu xmm0, xmmword [rcx + rax - 0x20]
add rdx, 0x40
movdqu xmm1, xmmword [rax - 0x20]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx + rax - 0x60], xmm1
movdqu xmm0, xmmword [r8 + rax - 0x60]
movdqu xmm1, xmmword [rax - 0x50]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmmword [r8 + rax - 0x60], xmm1
movdqu xmm1, xmmword [rax + rcx - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax + rcx - 0x40], xmm1
movdqu xmm0, xmmword [rax + r8 - 0x40]
movdqu xmm1, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax + r8 - 0x40], xmm1
cmp rdx, r9
jl 0x1401ef100
movsxd r9, edi
cmp rdx, r9
jge 0x1401ef196
lea rax, [rbp - 0x41]
mov r8, rbx
sub r8, rax
nop word [rax + rax]
lea rcx, [rbp - 0x41]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + r8]
xor byte [rcx], al
cmp rdx, r9
jl 0x1401ef180
test edi, edi
js 0x1401ef1b9
cmp r9, 0x10
jge 0x1401ef1b9
lea rdx, [rbp - 0x41]
mov r8d, 0x10
add rdx, r9
lea rcx, [r9 + rbx]
sub r8, r9
call fcn.14035bc80
mov r8, qword [rbp - 0x69]
mov rdx, rbx
mov rcx, rbx
call fcn.1401f51f0
lea rax, [r15 + 0xf]
lea rcx, [rbx + 0xf]
cmp rbx, rax
ja 0x1401ef203
cmp rcx, r15
jb 0x1401ef203
mov r8, r15
mov rax, rbx
sub r8, rbx
mov edx, 0x10
nop dword [rax + rax]
movzx ecx, byte [r8 + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x1401ef1f0
jmp 0x1401ef214
movdqu xmm0, xmmword [rbx]
movdqu xmm1, xmmword [r15]
pxor xmm1, xmm0
movdqu xmmword [rbx], xmm1
mov rax, qword [rbp - 0x61]
mov esi, 0x10
mov ecx, dword [rax]
lea eax, [r14 + 0x10]
cmp eax, ecx
jbe 0x1401ef22c
mov esi, ecx
sub esi, r14d
mov rax, qword [rbp - 0x59]
test rax, rax
je 0x1401ef246
mov ecx, r14d
mov rdx, rbx
add rcx, rax
mov r8d, esi
call fcn.14035bc80
add r14d, esi
cmp esi, 0x10
je 0x1401ef2cc
xor al, al
mov rdi, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb0]
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.140359070
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret
lea rax, [r15 + 0xf]
lea rcx, [rbp - 0x41]
cmp rcx, rax
ja 0x1401ef2b9
lea rax, [rbp - 0x32]
cmp rax, r15
jb 0x1401ef2b9
lea rax, [rbp - 0x41]
mov r8, r15
sub r8, rax
nop
lea rcx, [rbp - 0x41]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + r8]
xor byte [rcx], al
cmp rdx, 0x10
jl 0x1401ef2a0
jmp 0x1401ef2cc
movdqu xmm0, xmmword [rbp - 0x41]
movdqu xmm1, xmmword [r15]
pxor xmm1, xmm0
movdqu xmmword [rbp - 0x41], xmm1
mov r8, qword [rbp - 0x61]
mov edx, dword [rbp - 0x71]
mov r9, qword [rbp - 0x59]
mov esi, dword [r8]
sub esi, r14d
lea eax, [r14 + rdx]
cmp eax, dword [r8]
cmovbe esi, edx
test r9, r9
je 0x1401ef305
mov ecx, r14d
lea rdx, [rbp - 0x41]
add rcx, r9
mov r8d, esi
call fcn.14035bc80
mov edx, dword [rbp - 0x71]
mov r8, qword [rbp - 0x61]
add r14d, esi
cmp esi, edx
jne 0x1401ef24e
cmp edi, 0x10
jne 0x1401ef332
mov rcx, qword [rbp - 0x49]
mov rax, r15
mov r15, qword [rbp - 0x51]
mov rsi, rbx
mov edx, dword [rbp - 0x6d]
mov qword [rbp - 0x51], rbx
mov rbx, rax
jmp 0x1401ef050
mov dword [r8], r14d
mov al, 1
jmp 0x1401ef250