Function at 0x18027cae7
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 r15d, r9d
mov rbx, r8
mov rsi, rcx
mov rax, qword [0x1803b6038]
xor rax, rsp
mov qword [rsp + 0xb0], rax
vpbroadcastb ymm0, byte [0x180351e8f]
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 edi, edi
lea r8, [rsp + rdi]
add r8, 0x70
lea rdx, [r14 + 0x20]
mov rcx, r14
vzeroupper
call fcn.18027c54f
add rdi, 0x10
add r14, 8
cmp rdi, 0x40
jne 0x18027cb48
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.18027c5fd
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 + 0x28], r15
cmp r15d, 2
jb 0x18027cd34
mov r15d, dword [rsp + 0x28]
shl r15, 3
mov r12d, 8
lea rdi, [rsp + 0x30]
mov rcx, rdi
call fcn.18027c800
mov rcx, rdi
call fcn.18027cea2
mov rdi, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
mov r14, rdi
rol r14, 0x30
mov r8, rcx
rol r8, 0x30
xor rcx, r8
xor rdi, r14
mov rbp, rdi
mov r11d, r12d
rol rbp, 0x20
and r11d, 0xfffffff8
xor rbp, qword [rbx + r11*8]
xor r14, rcx
xor r14, rbp
mov rbp, qword [rsp + 0x60]
mov qword [rsp + 0x30], r14
mov r14, r13
rol r14, 0x30
xor r13, r14
xor rdi, rcx
xor rdi, r14
mov r14, r13
rol r14, 0x20
xor r14, qword [rbx + r11*8 + 8]
xor rdi, r14
mov qword [rsp + 0x38], rdi
mov rdi, r10
rol rdi, 0x30
xor r10, rdi
xor r13, rdi
mov rdi, r10
rol rdi, 0x20
xor rdi, qword [rbx + r11*8 + 0x10]
xor r13, rdi
mov rdi, r9
rol rdi, 0x30
xor r9, rdi
mov qword [rsp + 0x40], r13
mov r14, r9
xor r10, rcx
rol r14, 0x20
xor r10, rdi
xor r14, qword [rbx + r11*8 + 0x18]
xor r10, r14
mov qword [rsp + 0x48], r10
mov r10, rdx
rol r10, 0x30
xor rdx, r10
xor r9, rcx
xor r9, r10
mov r10, rdx
rol r10, 0x20
xor r10, qword [rbx + r11*8 + 0x20]
xor r9, r10
mov r10, rax
rol r10, 0x30
mov qword [rsp + 0x50], r9
xor rax, r10
xor rdx, r10
mov r9, rax
rol r9, 0x20
xor r9, qword [rbx + r11*8 + 0x28]
xor rdx, r9
mov r9, rbp
rol r9, 0x30
mov qword [rsp + 0x58], rdx
xor rbp, r9
xor rax, r9
mov rdx, rbp
rol rdx, 0x20
xor rdx, qword [rbx + r11*8 + 0x30]
xor rax, rdx
rol rcx, 0x20
mov qword [rsp + 0x60], rax
xor rcx, qword [rbx + r11*8 + 0x38]
xor rbp, r8
xor rbp, rcx
mov qword [rsp + 0x68], rbp
add r12, 8
cmp r15, r12
jne 0x18027cbd6
movabs r15, 0xff00ff00ff00ff
movabs r12, 0xff000000ff0000
movabs r13, 0xffff0000ffff
movabs rbp, 0xff000000ff00
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.18027c800
mov rcx, r14
call fcn.18027cea2
mov rcx, qword [rsp + 0x28]
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.18027c5fd
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 rdi, rcx
shr rdi, 8
and rdi, r12
mov rbx, r8
shr rbx, 8
or rbx, 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, rdi
mov r8, rcx
shr r8, 8
and rbx, r13
and r9, r13
mov r11, rbx
shr r11, 0x10
or r11d, ebx
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 0x18027cdc9
xor eax, eax
mov ecx, dword [rsp + rax*4 + 0x70]
mov dword [rsi + rax*4], ecx
inc rax
cmp rax, 0x10
jne 0x18027ce6d
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1801e6610
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret