Function at 0x1002eef58
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe0
mov rsi, rcx
mov rcx, qword [rcx + 8]
movups xmmword [rax - 0x48], xmm6
mov r14, r9
mov ebx, r8d
call fcn.1002e1c74
mov ecx, eax
call fcn.1002e1ce8
lea rcx, [rsp + 0x90]
xor edx, edx
mov edi, eax
call fcn.1002e1a48
lea rcx, [rsp + 0x80]
xor edx, edx
call fcn.1002e1a48
mov eax, dword [rsi + 0x40]
add eax, ebx
cmp eax, ebx
jae 0x1002eefc5
mov eax, 0xc004d107
jmp 0x1002ef2da
xor edx, edx
div edi
mov r12d, eax
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x140]
imul r12d, edi
mov dword [rsp + 0x130], r12d
cmp dword [rax], r12d
jb 0x1002ef2ca
cmp qword [r14], 0
je 0x1002ef2ca
cmp r12d, edi
jb 0x1002ef2ca
lea rbp, [rsi + 0x18]
mov al, byte [rbp + 0x27]
test al, al
je 0x1002ef01b
dec al
cmp al, 1
ja 0x1002ef017
mov rdx, qword [rbp]
jmp 0x1002ef01e
xor edx, edx
jmp 0x1002ef01e
mov rdx, rbp
lea rcx, [rsp + 0x90]
call fcn.1002e1a48
lea rcx, [rsp + 0x90]
call fcn.1002e1a50
and dword [rsp + 0x68], 0
lea r15, [rsi + 0x48]
mov qword [rsp + 0x60], rax
mov al, byte [r15 + 0x17]
movups xmm6, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x60], xmm6
test al, al
je 0x1002ef067
dec al
cmp al, 1
ja 0x1002ef063
mov rdx, qword [r15]
jmp 0x1002ef06a
xor edx, edx
jmp 0x1002ef06a
mov rdx, r15
lea rcx, [rsp + 0x80]
call fcn.1002e1a48
lea rcx, [rsp + 0x80]
call fcn.1002e1a50
and dword [rsp + 0x48], 0
xor r13d, r13d
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [rsp + 0x40]
movdqu xmmword [rsp + 0x40], xmm0
cmp dword [rsi + 0x40], edi
jae 0x1002ef0f9
mov r12, qword [rsp + 0x128]
cmp r13d, ebx
jae 0x1002ef0f1
mov eax, dword [r12 + 8]
mov rcx, qword [r12]
lea edx, [r13 + rax]
call fcn.1002e198c
mov cl, byte [rbp + 0x27]
mov r11b, al
test cl, cl
je 0x1002ef0dc
dec cl
cmp cl, 1
ja 0x1002ef0d8
mov rcx, qword [rbp]
jmp 0x1002ef0df
xor ecx, ecx
jmp 0x1002ef0df
mov rcx, rbp
mov eax, dword [rsi + 0x40]
inc r13d
mov byte [rax + rcx], r11b
inc dword [rsi + 0x40]
cmp dword [rsi + 0x40], edi
jb 0x1002ef0a9
mov r12d, dword [rsp + 0x130]
sub ebx, r13d
sub ebx, r12d
add dword [rsi + 0x40], ebx
xor ebx, ebx
mov dword [rsp + 0x120], ebx
movdqu xmm0, xmmword [r14]
movups xmmword [rsp + 0x70], xmm0
cmp dword [rsp + 0x30], ebx
jbe 0x1002ef232
mov r14d, dword [rsp + 0x78]
mov rcx, qword [rsi + 8]
lea rax, [rsp + 0x50]
lea r8, [rsp + 0xc0]
movdqu xmmword [rsp + 0xb0], xmm0
movdqu xmmword [rsp + 0xc0], xmm6
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xb0]
mov r9d, edi
mov edx, 0x40
mov dword [rsp + 0x50], edi
mov qword [rsp + 0x20], rax
call fcn.1000c989c
nop
push rsi
sbb eax, 0x38302e
add byte [rax - 0x7b], ah
ror byte [rdi], 0x85
pop rdi
add dword [rax], eax
add byte [rbp + 0x445a74ff], al
mov edi, dword [rsp + 0x48]
mov ebp, r14d
mov r12, rdi
sub r15d, r14d
mov rcx, qword [rsp + 0x40]
lea edx, [r15 + rbp]
call fcn.1002e198c
mov rcx, qword [rsp + 0x70]
mov edx, ebp
mov bl, al
call fcn.1002e198c
mov rcx, qword [rsp + 0x70]
xor al, bl
mov edx, ebp
mov r8b, al
call fcn.1002e19ac
inc ebp
sub r12, 1
jne 0x1002ef18d
mov r12d, dword [rsp + 0x130]
mov ebx, dword [rsp + 0x120]
lea rbp, [rsi + 0x18]
lea r15, [rsi + 0x48]
mov rax, qword [rsp + 0x128]
inc ebx
add r14d, edi
mov rdx, qword [rax]
mov eax, dword [rax + 8]
movdqu xmmword [rsp + 0x40], xmm6
lea ecx, [r13 + rax]
mov qword [rsp + 0xa0], rdx
add r13d, edi
mov dword [rsp + 0xa8], ecx
mov dword [rsp + 0x78], r14d
mov dword [rsp + 0x120], ebx
movups xmm6, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0x60], xmm6
cmp ebx, dword [rsp + 0x30]
jae 0x1002ef232
movups xmm0, xmmword [rsp + 0x70]
jmp 0x1002ef124
mov rax, qword [rsp + 0x140]
xor ebx, ebx
mov dword [rax], r12d
xor r12d, r12d
test edi, edi
je 0x1002ef282
mov r13d, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
lea edx, [r13 + rbx]
call fcn.1002e198c
mov cl, byte [r15 + 0x17]
test cl, cl
je 0x1002ef272
dec cl
cmp cl, 1
ja 0x1002ef26e
mov rcx, qword [r15]
jmp 0x1002ef275
xor ecx, ecx
jmp 0x1002ef275
mov rcx, r15
inc ebx
mov byte [r12 + rcx], al
inc r12
cmp ebx, edi
jb 0x1002ef24b
xor ebx, ebx
xor edi, edi
cmp dword [rsi + 0x40], ebx
jbe 0x1002ef2c6
mov r12d, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
lea edx, [rbx + r12]
call fcn.1002e198c
mov cl, byte [rbp + 0x27]
test cl, cl
je 0x1002ef2b6
dec cl
cmp cl, 1
ja 0x1002ef2b2
mov rcx, qword [rbp]
jmp 0x1002ef2b9
xor ecx, ecx
jmp 0x1002ef2b9
mov rcx, rbp
mov byte [rcx + rdi], al
inc ebx
inc rdi
cmp ebx, dword [rsi + 0x40]
jb 0x1002ef290
xor eax, eax
jmp 0x1002ef2da
mov dword [rax], r12d
mov rax, qword [r14]
neg rax
sbb eax, eax
and eax, 0xc004d107
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x58]
movups xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret