Function at 0x1400e0880
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov dword [rax + 0x18], r8d
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x88
mov r14, qword [rcx + 8]
movaps xmmword [rax - 0x58], xmm6
mov dword [rax + 0x10], 0
mov eax, dword [rcx + 0x2c]
xor r10d, r10d
mov r15, rdx
xorps xmm6, xmm6
imul eax, dword [rcx + 0x28]
movsxd r11, eax
test eax, eax
jle 0x1400e0910
mov r8, qword [rcx + 0x18]
nop dword [rax + rax]
mov eax, dword [r8]
lea r8, [r8 + 4]
cdq
xor eax, edx
sub eax, edx
cmp r10d, eax
cmovg eax, r10d
mov r10d, eax
dec r11
jne 0x1400e08d0
test eax, eax
je 0x1400e0910
xor eax, eax
cmp r10d, 1
jle 0x1400e090b
nop word [rax + rax]
sar r10d, 1
inc eax
cmp r10d, 1
jg 0x1400e0900
lea ebx, [rax - 5]
jmp 0x1400e0912
xor ebx, ebx
mov rcx, r14
mov dword [r15 + 0x28], ebx
mov esi, 2
call fcn.1400e29a0
lea r9d, [rsi + 0x2c]
lea edx, [rsi + 0x10]
xor r8d, r8d
mov rcx, r14
call fcn.1400e2bc0
lea r9d, [rsi + 1]
lea edx, [rsi + 0xf]
xor r8d, r8d
mov rcx, r14
call fcn.1400e2bc0
lea r9d, [rsi + 2]
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.1400e2bc0
mov rdx, qword [r15]
mov rcx, r14
call fcn.1400e2760
mov ebp, dword [rsp + 0xf8]
xor edi, edi
dec ebx
mov dword [rsp + 0x40], edi
js 0x1400e0b9d
mov qword [rsp + 0x80], r12
mov eax, ebp
mov qword [rsp + 0x78], r13
and eax, 4
movaps xmmword [rsp + 0x50], xmm7
movsd xmm7, qword [rsp + 0xf0]
mov dword [rsp + 0x44], eax
mov eax, ebp
and eax, esi
xor r12d, r12d
mov dword [rsp + 0x48], eax
mov eax, dword [r15 + 0x28]
mov r13, qword [r15 + 0x10]
mov dword [rsp + 0xf8], 3
sub eax, 4
cmp ebx, eax
jge 0x1400e09d1
cmp esi, 2
jge 0x1400e09d1
test bpl, 1
je 0x1400e09d1
mov dil, 1
jmp 0x1400e09d4
xor dil, dil
mov ecx, esi
test esi, esi
je 0x1400e0a36
dec ecx
je 0x1400e0a15
dec ecx
jne 0x1400e0a5e
mov r8d, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc0]
lea r9, [rsp + 0xc8]
mov edx, ebx
mov dword [rsp + 0x20], ebp
call fcn.1400dfb30
test bpl, 0x20
je 0x1400e0a5e
mov rcx, r14
call fcn.1400e2af0
jmp 0x1400e0a5e
mov rcx, qword [rsp + 0xc0]
lea r8, [rsp + 0xc8]
movzx r9d, dil
mov edx, ebx
mov dword [rsp + 0x20], ebp
call fcn.1400e0070
jmp 0x1400e0a5e
mov r8d, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc0]
lea r9, [rsp + 0xc8]
mov edx, ebx
mov dword [rsp + 0x28], ebp
mov byte [rsp + 0x20], dil
call fcn.1400e0380
mov eax, dword [rsp + 0x100]
mov r9d, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0xe0]
mov edx, dword [rsp + 0xd8]
mov ecx, dword [rsp + 0xc8]
mov dword [rsp + 0x38], eax
movsd qword [rsp + 0x30], xmm7
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
call fcn.1400e1230
cmp dword [rsp + 0x44], 0
mov rax, qword [rsp + 0x108]
addsd xmm6, xmm0
addsd xmm0, qword [rax + 0x28]
movsd qword [rax + 0x28], xmm0
je 0x1400e0ac8
cmp esi, 2
jne 0x1400e0ae6
cmp ebx, 1
jge 0x1400e0ae6
mov eax, dword [r15 + 0x28]
add eax, 0xfffffffc
cmp ebx, eax
jge 0x1400e0ad9
test esi, esi
jg 0x1400e0ae0
cmp ebx, eax
jne 0x1400e0b04
cmp esi, 2
jne 0x1400e0b04
test bpl, 1
je 0x1400e0b04
mov rcx, r14
call fcn.1400e2660
mov dword [rsp + 0xf8], 1
mov dword [r12 + r13 + 0x10], 1
jmp 0x1400e0b0d
mov dword [r12 + r13 + 0x10], 0
inc esi
cmp esi, 3
jne 0x1400e0b18
xor esi, esi
dec ebx
cmp dword [r12 + r13 + 0x10], 0
je 0x1400e0b4c
test ebx, ebx
jle 0x1400e0b4c
mov eax, dword [r15 + 0x28]
sub eax, 4
cmp ebx, eax
jge 0x1400e0b44
cmp esi, 2
jge 0x1400e0b44
test bpl, 1
je 0x1400e0b44
mov rcx, r14
call fcn.1400e2250
jmp 0x1400e0b4c
mov rcx, r14
call fcn.1400e2ab0
mov rcx, r14
movsd qword [r12 + r13 + 8], xmm6
call fcn.1400e2810
add eax, dword [rsp + 0xf8]
cmp dword [rsp + 0x48], 0
mov dword [r12 + r13], eax
je 0x1400e0b75
mov rcx, r14
call fcn.1400e2930
mov edi, dword [rsp + 0x40]
add r12, 0x18
inc edi
mov dword [rsp + 0x40], edi
test ebx, ebx
jns 0x1400e09a7
movaps xmm7, xmmword [rsp + 0x50]
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x60]
test bpl, 0x10
je 0x1400e0bb2
mov rcx, r14
call fcn.1400e2580
jmp 0x1400e0bc0
test bpl, 1
jne 0x1400e0bc0
mov rcx, r14
call fcn.1400e2660
xor ebp, ebp
mov dword [r15 + 0x38], edi
cmp edi, ebp
jle 0x1400e0c2e
xor esi, esi
nop dword [rax]
mov rdi, qword [r15 + 0x10]
mov rcx, r14
lea rbx, [rsi + rsi*2]
call fcn.1400e2810
cmp dword [rdi + rbx*8], eax
jle 0x1400e0bf0
mov rcx, r14
call fcn.1400e2810
mov dword [rdi + rbx*8], eax
movsxd rdx, dword [rdi + rbx*8]
cmp edx, 1
jle 0x1400e0c09
mov rax, qword [r15]
cmp byte [rdx + rax - 1], 0xff
jne 0x1400e0c09
lea eax, [rdx - 1]
mov dword [rdi + rbx*8], eax
test rsi, rsi
jne 0x1400e0c12
xor ecx, ecx
jmp 0x1400e0c1a
mov rax, qword [r15 + 0x10]
mov ecx, dword [rax + rbx*8 - 0x18]
mov eax, dword [rdi + rbx*8]
inc ebp
inc rsi
sub eax, ecx
mov dword [rdi + rbx*8 + 0x14], eax
cmp ebp, dword [r15 + 0x38]
jl 0x1400e0bd0
add rsp, 0x88
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret