Function at 0x1400e87f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov edi, r9d
mov rbx, r8
mov qword [rsp + 0x28], rcx
mov rax, qword [0x140190028]
xor rax, rsp
mov qword [rsp + 0xb0], rax
vpbroadcastb ymm0, byte [0x140168399]
lea r14, [rsp + 0x30]
vmovdqu ymmword [r14 + 0x20], ymm0
vmovdqu ymmword [r14], ymm0
vmovups ymm0, ymmword [rdx]
vmovups ymm1, ymmword [rdx + 0x20]
vmovups ymmword [rsp + 0x70], ymm0
vmovups ymmword [rsp + 0x90], ymm1
xor esi, esi
lea r8, [rsp + rsi]
add r8, 0x70
lea rdx, [r14 + 0x20]
mov rcx, r14
vzeroupper
call fcn.1400e8268
add rsi, 0x10
add r14, 8
cmp rsi, 0x40
jne 0x1400e8853
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.1400e8316
mov rax, qword [rbx]
xor qword [r14], rax
mov rax, qword [rbx + 8]
xor qword [r14 + 8], rax
mov rax, qword [rbx + 0x10]
xor qword [r14 + 0x10], rax
mov rax, qword [rbx + 0x18]
xor qword [r14 + 0x18], rax
mov rax, qword [rbx + 0x20]
xor qword [r14 + 0x20], rax
mov rax, qword [rbx + 0x28]
xor qword [r14 + 0x28], rax
mov rax, qword [rbx + 0x30]
xor qword [r14 + 0x30], rax
mov rax, qword [rbx + 0x38]
xor qword [r14 + 0x38], rax
mov qword [rsp + 0x20], rdi
cmp edi, 2
jb 0x1400e8a3d
mov r15d, dword [rsp + 0x20]
shl r15, 3
mov r12d, 8
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.1400e8519
mov rcx, r14
call fcn.1400e8bb0
mov r13, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
mov rdi, r13
rol rdi, 0x30
mov r9, rcx
rol r9, 0x30
xor rcx, r9
xor r13, rdi
mov rsi, r13
mov ebp, r12d
rol rsi, 0x20
and ebp, 0xfffffff8
xor rsi, qword [rbx + rbp*8]
xor rdi, rcx
xor rdi, rsi
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x30], rdi
mov rdi, r11
rol rdi, 0x30
xor r11, rdi
xor r13, rcx
xor r13, rdi
mov rdi, r11
rol rdi, 0x20
xor rdi, qword [rbx + rbp*8 + 8]
xor r13, rdi
mov qword [rsp + 0x38], r13
mov rdi, r10
rol rdi, 0x30
xor r10, rdi
xor r11, rdi
mov rdi, r10
rol rdi, 0x20
xor rdi, qword [rbx + rbp*8 + 0x10]
xor r11, rdi
mov rdi, r8
rol rdi, 0x30
xor r8, rdi
mov qword [rsp + 0x40], r11
mov r11, r8
xor r10, rcx
rol r11, 0x20
xor r10, rdi
xor r11, qword [rbx + rbp*8 + 0x18]
xor r10, r11
mov qword [rsp + 0x48], r10
mov r10, rdx
rol r10, 0x30
xor rdx, r10
xor r8, rcx
xor r8, r10
mov r10, rdx
rol r10, 0x20
xor r10, qword [rbx + rbp*8 + 0x20]
xor r8, r10
mov r10, rax
rol r10, 0x30
mov qword [rsp + 0x50], r8
xor rax, r10
xor rdx, r10
mov r8, rax
rol r8, 0x20
xor r8, qword [rbx + rbp*8 + 0x28]
xor rdx, r8
mov r8, rsi
rol r8, 0x30
mov qword [rsp + 0x58], rdx
xor rsi, r8
xor rax, r8
mov rdx, rsi
rol rdx, 0x20
xor rdx, qword [rbx + rbp*8 + 0x30]
xor rax, rdx
rol rcx, 0x20
mov qword [rsp + 0x60], rax
xor rcx, qword [rbx + rbp*8 + 0x38]
xor rsi, r9
xor rsi, rcx
mov qword [rsp + 0x68], rsi
add r12, 8
cmp r15, r12
jne 0x1400e88e5
movabs r15, 0xff00ff00ff00ff
movabs r12, 0xff000000ff0000
movabs r13, 0xffff0000ffff
movabs rbp, 0xff000000ff00
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.1400e8519
mov rcx, r14
call fcn.1400e8bb0
mov rcx, qword [rsp + 0x20]
shl ecx, 3
mov rax, qword [rbx + rcx*8]
xor qword [r14], rax
mov rax, qword [rbx + rcx*8 + 8]
xor qword [r14 + 8], rax
mov rax, qword [rbx + rcx*8 + 0x10]
xor qword [r14 + 0x10], rax
mov rax, qword [rbx + rcx*8 + 0x18]
xor qword [r14 + 0x18], rax
mov rax, qword [rbx + rcx*8 + 0x20]
xor qword [r14 + 0x20], rax
mov rax, qword [rbx + rcx*8 + 0x28]
xor qword [r14 + 0x28], rax
mov rax, qword [rbx + rcx*8 + 0x30]
xor qword [r14 + 0x30], rax
mov rax, qword [rbx + rcx*8 + 0x38]
xor qword [r14 + 0x38], rax
mov rcx, r14
call fcn.1400e8316
xor eax, eax
mov rdx, qword [rsp + rax + 0x30]
mov rcx, qword [rsp + rax + 0x50]
mov r8, rdx
and r8, r15
mov r10, rcx
and r10, r15
mov r11, rdx
shr r11, 8
and r11, r12
mov rsi, rcx
shr rsi, 8
and rsi, r12
mov rdi, r8
shr rdi, 8
or rdi, r8
mov r9, r10
shr r9, 8
or r9, r10
and rdx, rbp
or rdx, r11
mov r10, rdx
shr r10, 8
and rcx, rbp
or rcx, rsi
mov r8, rcx
shr r8, 8
and rdi, r13
and r9, r13
mov r11, rdi
shr r11, 0x10
or r11d, edi
mov dword [rsp + rax*2 + 0x70], r11d
mov r11, r9
shr r11, 0x10
or r11d, r9d
mov dword [rsp + rax*2 + 0x74], r11d
shr rdx, 0x18
or r10d, edx
mov dword [rsp + rax*2 + 0x78], r10d
shr rcx, 0x18
or r8d, ecx
mov dword [rsp + rax*2 + 0x7c], r8d
add rax, 8
cmp rax, 0x20
jne 0x1400e8ad2
xor eax, eax
mov rdx, qword [rsp + 0x28]
mov ecx, dword [rsp + rax*4 + 0x70]
mov dword [rdx + rax*4], ecx
inc rax
cmp rax, 0x10
jne 0x1400e8b7b
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1400a5d70
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret