Function at 0x5aec00
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x238
vmovdqu ymm1, ymmword [0x006b5e40]
mov r13d, 0x10
mov eax, dword [rcx]
vmovdqu ymm4, ymmword [rdx]
vpshufb ymm0, ymm4, ymm1
mov dword [rsp], eax
mov eax, dword [rcx + 4]
lea r9, [rsp + 0x12c]
vmovdqu ymmword [rsp + 0x120], ymm0
vmovdqu ymm0, ymmword [rdx + 0x20]
mov r10d, dword [rsp + 0x13c]
mov dword [rsp + 4], eax
mov eax, dword [rcx + 8]
vpshufb ymm0, ymm0, ymm1
mov qword [rsp + 0x280], rcx
mov r12d, dword [rsp + 0x120]
mov dword [rsp + 8], eax
mov eax, dword [rcx + 0xc]
vmovdqu ymmword [rsp + 0x140], ymm0
mov esi, dword [rsp + 0x124]
mov r8d, dword [rsp + 0x154]
mov dword [rsp + 0xc], eax
mov eax, dword [rcx + 0x10]
mov edx, dword [rsp + 0x15c]
mov ebx, dword [rsp + 0x140]
mov dword [rsp + 0x10], eax
mov eax, dword [rcx + 0x14]
mov ebp, dword [rsp + 0x144]
mov edi, dword [rsp + 0x128]
mov dword [rsp + 0x14], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x18], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x1c], eax
mov eax, dword [rsp + 0x158]
xor r12d, r10d
rorx r8d, r8d, 0x11
xor ebx, esi
rorx eax, eax, 0x11
mov ecx, r12d
mov r10d, dword [r9 + 0x1c]
mov r12d, dword [r9]
xor ebx, eax
xor ecx, r8d
mov esi, dword [r9 + 4]
xor ebp, edi
rorx edx, edx, 0x11
rorx r11d, ecx, 9
rorx r8d, ecx, 0x11
xor r8d, r11d
mov edi, dword [r9 + 8]
xor r8d, ecx
rorx ecx, r12d, 0x19
add r13d, 3
add r9, 0xc
xor r8d, r10d
xor r8d, ecx
mov ecx, ebx
mov ebx, dword [r9 + 0x14]
rorx r11d, ecx, 9
rorx eax, ecx, 0x11
xor eax, r11d
mov dword [r9 + 0x28], r8d
xor eax, ecx
rorx ecx, esi, 0x19
xor eax, ebx
xor eax, ecx
mov ecx, edx
xor ecx, ebp
mov ebp, dword [r9 + 0x18]
mov dword [r9 + 0x2c], eax
rorx edx, ecx, 9
rorx r11d, ecx, 0x11
xor edx, r11d
xor edx, ecx
rorx ecx, edi, 0x19
xor edx, ebp
xor edx, ecx
mov dword [r9 + 0x30], edx
cmp r13d, 0x43
jne 0x5aecce
vmovdqu ymm5, ymmword [rsp + 0x120]
mov edx, dword [rsp + 0x1ec]
rorx eax, dword [rsp + 0x220], 0x11
lea r15, [rsp + 0x20]
vpxor ymm0, ymm5, ymmword [rsp + 0x130]
xor edx, dword [rsp + 0x208]
lea rbp, [rsp + 0x120]
vmovdqu ymm3, ymmword [rsp + 0x150]
xor edx, eax
mov r10d, dword [rsp + 0x1c]
rorx eax, dword [rsp + 0x1f8], 0x19
vmovdqu ymmword [rsp + 0x20], ymm0
xor eax, dword [rsp + 0x214]
rorx ecx, edx, 0x11
vpxor ymm0, ymm3, ymmword [rsp + 0x140]
vmovdqu ymm2, ymmword [rsp + 0x170]
xor eax, edx
rorx edx, edx, 9
vmovdqu ymm4, ymmword [rsp + 0x190]
vmovdqu ymmword [rsp + 0x40], ymm0
xor eax, ecx
xor ecx, ecx
vpxor ymm0, ymm2, ymmword [rsp + 0x160]
vmovdqu ymm1, ymmword [rsp + 0x1b0]
xor eax, edx
vmovdqu ymm5, ymmword [rsp + 0x1d0]
vmovdqu ymm3, ymmword [rsp + 0x1f0]
vmovdqu ymmword [rsp + 0x60], ymm0
vpxor ymm0, ymm4, ymmword [rsp + 0x180]
mov dword [rsp + 0x22c], eax
mov eax, dword [rsp + 0x18]
vmovdqu ymmword [rsp + 0x80], ymm0
vpxor ymm0, ymm1, ymmword [rsp + 0x1a0]
vmovdqu ymm2, ymmword [rsp + 0x210]
vmovdqu ymmword [rsp + 0xa0], ymm0
vpxor ymm0, ymm5, ymmword [rsp + 0x1c0]
vmovdqu ymmword [rsp + 0xc0], ymm0
vpxor ymm0, ymm3, ymmword [rsp + 0x1e0]
vmovdqu ymmword [rsp + 0xe0], ymm0
vpxor ymm0, ymm2, ymmword [rsp + 0x200]
vmovdqu ymmword [rsp + 0x100], ymm0
mov r13d, dword [rsp + 0x14]
mov r11d, dword [rsp + 0x10]
mov r14d, dword [rsp + 0xc]
mov edi, dword [rsp + 8]
mov r12d, dword [rsp + 4]
mov r8d, dword [rsp]
jmp 0x5aeeda
mov eax, esi
mov r11d, r9d
mov edi, ebx
mov r8d, edx
mov r9d, 0x79cc4519
rorx esi, r8d, 0x14
lea ebx, [rsi + r11]
mov edx, r8d
rol r9d, cl
xor edx, r12d
add r9d, ebx
xor edx, edi
add edx, dword [r15 + rcx*4]
rorx ebx, r9d, 0x19
mov r9d, r11d
xor esi, ebx
xor r9d, r13d
lea edx, [rdx + rsi]
rorx esi, r13d, 0xd
mov r13d, r11d
xor r9d, eax
add r9d, dword [rbp + rcx*4]
inc rcx
add edx, r14d
add r9d, ebx
rorx ebx, r12d, 0x17
mov r14d, edi
add r10d, r9d
rorx r12d, r10d, 0xf
rorx r9d, r10d, 0x17
xor r9d, r12d
mov r12d, r8d
xor r9d, r10d
mov r10d, eax
cmp rcx, 0x10
jne 0x5aeed0
mov r13d, edi
mov edi, eax
jmp 0x5aef6c
mov esi, r12d
mov r9d, eax
mov ebx, r14d
mov edx, r10d
mov eax, 0x7a879d8a
rorx r14d, edx, 0x14
lea r12d, [r14 + r9]
mov r10d, r8d
rol eax, cl
or r10d, ebx
add eax, r12d
and r10d, edx
rorx r12d, eax, 0x19
mov eax, r8d
xor r14d, r12d
and eax, ebx
or r10d, eax
mov eax, dword [r15 + rcx*4]
add eax, r10d
lea r10d, [rax + r14]
mov eax, r11d
rorx r14d, r8d, 0x17
xor eax, esi
add r10d, r13d
and eax, r9d
xor eax, esi
add eax, dword [rbp + rcx*4]
inc rcx
add eax, r12d
rorx r12d, r11d, 0xd
mov r11d, r9d
add eax, edi
mov edi, esi
rorx r8d, eax, 0xf
rorx r13d, eax, 0x17
xor r13d, r8d
mov r8d, edx
xor eax, r13d
mov r13d, ebx
cmp rcx, 0x40
jne 0x5aef60
vmovd xmm4, dword [rsp + 0x18]
vpinsrd xmm1, xmm4, dword [rsp + 0x1c], 1
vmovd xmm4, dword [rsp + 0x10]
vpinsrd xmm4, xmm4, dword [rsp + 0x14], 1
vmovd xmm5, dword [rsp + 8]
vmovd xmm3, dword [rsp]
vpinsrd xmm2, xmm5, dword [rsp + 0xc], 1
vpinsrd xmm0, xmm3, dword [rsp + 4], 1
vmovd xmm5, r14d
vpunpcklqdq xmm4, xmm4, xmm1
vmovd xmm1, r12d
vpinsrd xmm3, xmm5, ebx, 1
vpunpcklqdq xmm0, xmm0, xmm2
vmovd xmm5, r10d
vpinsrd xmm2, xmm1, esi, 1
vmovd xmm1, eax
vinserti128 ymm4, ymm0, xmm4, 1
vpinsrd xmm0, xmm5, edx, 1
mov rax, qword [rsp + 0x280]
vpinsrd xmm1, xmm1, r9d, 1
vpunpcklqdq xmm0, xmm0, xmm3
vpunpcklqdq xmm1, xmm1, xmm2
vinserti128 ymm0, ymm0, xmm1, 1
vpxor ymm0, ymm4, ymm0
vmovdqu ymmword [rax], ymm0
vzeroupper
add rsp, 0x238
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret