Function at 0x1400e3da8
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 [0x140188028]
xor rax, rsp
mov qword [rsp + 0xb0], rax
vpbroadcastb ymm0, byte [0x14015c79a]
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.1400e3820
add rsi, 0x10
add r14, 8
cmp rsi, 0x40
jne 0x1400e3e0b
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.1400e38ce
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 0x1400e3ff5
mov r15d, dword [rsp + 0x20]
shl r15, 3
mov r12d, 8
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.1400e3ad1
mov rcx, r14
call fcn.1400e4168
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 0x1400e3e9d
movabs r15, 0xff00ff00ff00ff
movabs r12, 0xff000000ff0000
movabs r13, 0xffff0000ffff
movabs rbp, 0xff000000ff00
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.1400e3ad1
mov rcx, r14
call fcn.1400e4168
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.1400e38ce
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 0x1400e408a
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 0x1400e4133
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1400a2770
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret