Function at 0x56ffe0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2c8
mov rax, qword [rcx]
mov rbp, rdx
bswap rax
mov qword [rsp + 0x40], rax
mov rax, qword [rcx + 8]
bswap rax
mov qword [rsp + 0x48], rax
mov rax, qword [rcx + 0x10]
bswap rax
mov qword [rsp + 0x50], rax
mov rax, qword [rcx + 0x18]
bswap rax
mov qword [rsp + 0x58], rax
mov rax, qword [rcx + 0x20]
bswap rax
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 0x28]
bswap rax
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 0x30]
bswap rax
mov qword [rsp + 0x70], rax
mov rax, qword [rcx + 0x38]
bswap rax
mov qword [rsp + 0x78], rax
mov rax, qword [rcx + 0x40]
bswap rax
mov qword [rsp + 0x80], rax
mov rax, qword [rcx + 0x48]
bswap rax
mov qword [rsp + 0x88], rax
mov rax, qword [rcx + 0x50]
bswap rax
mov qword [rsp + 0x90], rax
mov rax, qword [rcx + 0x58]
bswap rax
mov qword [rsp + 0x98], rax
mov rax, qword [rcx + 0x60]
bswap rax
mov qword [rsp + 0xa0], rax
mov rax, qword [rcx + 0x68]
bswap rax
mov qword [rsp + 0xa8], rax
mov rax, qword [rcx + 0x70]
bswap rax
mov qword [rsp + 0xb0], rax
mov rax, qword [rcx + 0x78]
bswap rax
mov qword [rsp + 0xb8], rax
vmovups xmm0, xmmword [rsp + 0xb0]
lea rax, [rsp + 0xc0]
lea rsi, [rsp + 0x40]
lea rdx, [rsp + 0x2c0]
nop dword [rax + rax]
vmovups xmm2, xmmword [rax - 0x78]
vpsrlq xmm3, xmm0, 0x3d
vpsrlq xmm4, xmm0, 0x13
vpsllq xmm1, xmm0, 3
vorps xmm1, xmm1, xmm3
vpsllq xmm3, xmm0, 0x2d
vorps xmm3, xmm3, xmm4
vpsrlq xmm0, xmm0, 6
vxorps xmm1, xmm1, xmm3
add rax, 0x10
vxorps xmm0, xmm1, xmm0
vpaddq xmm0, xmm0, xmmword [rax - 0x90]
vpaddq xmm1, xmm0, xmmword [rax - 0x48]
vpsrlq xmm3, xmm2, 8
vpsllq xmm0, xmm2, 0x38
vpsrlq xmm4, xmm2, 1
vorps xmm0, xmm0, xmm3
vpsllq xmm3, xmm2, 0x3f
vorps xmm3, xmm3, xmm4
vpsrlq xmm2, xmm2, 7
vxorps xmm0, xmm0, xmm3
vxorps xmm0, xmm0, xmm2
vpaddq xmm0, xmm1, xmm0
vmovups xmmword [rax - 0x10], xmm0
cmp rax, rdx
jne 0x5700f0
mov rdi, qword [rbp + 0x38]
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
mov rax, qword [rbp + 0x10]
mov r8, qword [rbp + 0x18]
mov r10, qword [rbp + 0x20]
mov rbx, qword [rbp + 0x28]
mov r9, qword [rbp + 0x30]
mov r11, rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp], rcx
lea rdi, [0x006be0a0]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], r9
nop word [rax + rax]
rorx r13, r10, 0x12
rorx r12, r10, 0xe
rorx r14, rcx, 0x1c
xor r12, r13
rorx r13, r10, 0x29
xor r13, r12
mov r12, rbx
xor r12, r9
and r12, r10
xor r12, r9
add r12, r13
mov r13, qword [rsi]
add r13, qword [rdi]
add r12, r13
mov r13, rcx
add r12, r11
rorx r11, rcx, 0x22
xor r13, rdx
xor r14, r11
rorx r11, rcx, 0x27
add r8, r12
xor r14, r11
mov r11, rdx
xor r11, rax
and r11, r13
xor r11, rdx
add r11, r14
rorx r14, r8, 0x12
add r11, r12
mov r12, r10
xor r12, rbx
rorx r15, r11, 0x1c
and r12, r8
xor r12, rbx
add r9, r12
mov r12, qword [rsi + 8]
add r12, qword [rdi + 8]
add r12, r9
rorx r9, r8, 0xe
xor r9, r14
rorx r14, r8, 0x29
xor r9, r14
lea r14, [r12 + r9]
mov r12, r11
rorx r9, r11, 0x22
xor r12, rcx
xor r15, r9
rorx r9, r11, 0x27
add rax, r14
and r13, r12
xor r15, r9
xor r13, rcx
lea r9, [r15 + r13]
mov r13, r8
add r9, r14
xor r13, r10
rorx r14, rax, 0x12
and r13, rax
rorx r15, r9, 0x1c
xor r13, r10
add rbx, r13
mov r13, qword [rsi + 0x10]
add r13, qword [rdi + 0x10]
add r13, rbx
rorx rbx, rax, 0xe
xor rbx, r14
rorx r14, rax, 0x29
xor rbx, r14
lea r14, [r13 + rbx]
mov r13, r11
rorx rbx, r9, 0x22
xor r13, r9
xor r15, rbx
rorx rbx, r9, 0x27
add rdx, r14
and r12, r13
xor r15, rbx
xor r12, r11
lea rbx, [r15 + r12]
mov r12, r8
xor r12, rax
add rbx, r14
rorx r14, rdx, 0x12
and r12, rdx
rorx r15, rbx, 0x1c
xor r12, r8
add r10, r12
mov r12, qword [rsi + 0x18]
add r12, qword [rdi + 0x18]
add r12, r10
rorx r10, rdx, 0xe
xor r10, r14
rorx r14, rdx, 0x29
xor r10, r14
lea r14, [r12 + r10]
mov r12, r9
rorx r10, rbx, 0x22
xor r12, rbx
xor r15, r10
rorx r10, rbx, 0x27
add rcx, r14
and r13, r12
xor r15, r10
xor r13, r9
lea r10, [r15 + r13]
mov r13, rax
xor r13, rdx
add r10, r14
rorx r14, rcx, 0x12
and r13, rcx
rorx r15, r10, 0x1c
xor r13, rax
add r8, r13
mov r13, qword [rsi + 0x20]
add r13, qword [rdi + 0x20]
add r13, r8
rorx r8, rcx, 0xe
xor r8, r14
rorx r14, rcx, 0x29
xor r8, r14
lea r14, [r13 + r8]
mov r13, rbx
rorx r8, r10, 0x22
xor r13, r10
xor r15, r8
rorx r8, r10, 0x27
add r11, r14
and r12, r13
xor r15, r8
xor r12, rbx
lea r8, [r15 + r12]
mov r12, rdx
xor r12, rcx
add r8, r14
rorx r14, r11, 0x12
and r12, r11
rorx r15, r8, 0x1c
xor r12, rdx
add rax, r12
mov r12, qword [rsi + 0x28]
add r12, qword [rdi + 0x28]
add r12, rax
rorx rax, r11, 0xe
xor rax, r14
rorx r14, r11, 0x29
xor rax, r14
lea r14, [r12 + rax]
mov r12, r10
rorx rax, r8, 0x22
xor r12, r8
xor r15, rax
rorx rax, r8, 0x27
add r9, r14
and r13, r12
xor r15, rax
xor r13, r10
lea rax, [r15 + r13]
mov r13, rcx
xor r13, r11
add rax, r14
rorx r14, r9, 0x12
and r13, r9
rorx r15, rax, 0x1c
xor r13, rcx
add rdx, r13
mov r13, qword [rsi + 0x30]
add r13, qword [rdi + 0x30]
add rdi, 0x40
add rsi, 0x40
add r13, rdx
rorx rdx, r9, 0xe
xor rdx, r14
rorx r14, r9, 0x29
xor rdx, r14
lea r14, [r13 + rdx]
mov r13, r8
rorx rdx, rax, 0x22
xor r13, rax
xor r15, rdx
rorx rdx, rax, 0x27
add rbx, r14
and r12, r13
xor r15, rdx
xor r12, r8
lea rdx, [r15 + r12]
mov r12, qword [rsi - 8]
add r12, qword [rdi - 8]
lea r15, [0x006be320]
add rdx, r14
mov r14, r11
xor r14, r9
and r14, rbx
xor r14, r11
add rcx, r14
lea r14, [rcx + r12]
rorx r12, rbx, 0x12
rorx rcx, rbx, 0xe
xor rcx, r12
rorx r12, rbx, 0x29
xor rcx, r12
lea r12, [r14 + rcx]
rorx rcx, rdx, 0x22
rorx r14, rdx, 0x1c
xor r14, rcx
rorx rcx, rdx, 0x27
add r10, r12
xor r14, rcx
mov rcx, rax
xor rcx, rdx
and r13, rcx
xor r13, rax
lea rcx, [r14 + r13]
add rcx, r12
cmp r15, rdi
jne 0x5701c0
vmovq xmm5, rcx
vpinsrq xmm0, xmm5, rdx, 1
vmovq xmm5, qword [rsp]
vpinsrq xmm1, xmm5, qword [rsp + 8], 1
vmovq xmm5, rax
vpaddq xmm0, xmm0, xmm1
vmovups xmmword [rbp], xmm0
vpinsrq xmm0, xmm5, r8, 1
vmovq xmm5, qword [rsp + 0x10]
vpinsrq xmm1, xmm5, qword [rsp + 0x18], 1
vmovq xmm5, qword [rsp + 0x20]
vpaddq xmm0, xmm0, xmm1
vpinsrq xmm1, xmm5, qword [rsp + 0x28], 1
vmovq xmm5, r10
vmovups xmmword [rbp + 0x10], xmm0
vpinsrq xmm0, xmm5, rbx, 1
vmovq xmm5, r9
vpaddq xmm0, xmm1, xmm0
vmovups xmmword [rbp + 0x20], xmm0
vpinsrq xmm0, xmm5, r11, 1
vmovq xmm5, qword [rsp + 0x30]
vpinsrq xmm1, xmm5, qword [rsp + 0x38], 1
vpaddq xmm0, xmm0, xmm1
vmovups xmmword [rbp + 0x30], xmm0
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret