Function at 0x54e690
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
lea rsi, [rsp + 0x40]
vmovdqu xmm1, xmmword [rsp + 0xb0]
lea rax, [rsp + 0xc0]
lea rdx, [rsp + 0x2c0]
nop dword [rax + rax]
vmovdqu xmm2, xmmword [rax - 0x78]
add rax, 0x10
vpsrlq xmm3, xmm2, 8
vpsllq xmm0, xmm2, 0x38
vpsrlq xmm4, xmm2, 1
vpor xmm0, xmm0, xmm3
vpsllq xmm3, xmm2, 0x3f
vpsrlq xmm2, xmm2, 7
vpor xmm3, xmm3, xmm4
vpsrlq xmm4, xmm1, 0x13
vpxor xmm0, xmm0, xmm3
vpsrlq xmm3, xmm1, 0x3d
vpxor xmm0, xmm0, xmm2
vpsllq xmm2, xmm1, 3
vpor xmm2, xmm2, xmm3
vpsllq xmm3, xmm1, 0x2d
vpor xmm3, xmm3, xmm4
vpsrlq xmm1, xmm1, 6
vpxor xmm2, xmm2, xmm3
vpxor xmm1, xmm2, xmm1
vpaddq xmm0, xmm0, xmm1
vpaddq xmm0, xmm0, xmmword [rax - 0x90]
vpaddq xmm1, xmm0, xmmword [rax - 0x48]
vmovups xmmword [rax - 0x10], xmm1
cmp rax, rdx
jne 0x54e7a0
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 qword [rsp], rcx
mov r9, qword [rbp + 0x30]
mov rdi, qword [rbp + 0x38]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], r8
mov r11, rdi
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], rdi
lea rdi, [0x006b0a20]
nop word [rax + rax]
rorx r13, r10, 0x12
rorx r12, r10, 0xe
xor r12, r13
rorx r13, r10, 0x29
xor r12, r13
mov r13, qword [rsi]
add r13, qword [rdi]
rorx r14, rcx, 0x1c
add r13, r12
mov r12, rbx
xor r12, r9
and r12, r10
xor r12, r9
add r12, r13
mov r13, rcx
add r12, r11
rorx r11, rcx, 0x22
xor r14, r11
rorx r11, rcx, 0x27
xor r14, r11
mov r11, rdx
xor r13, rdx
add r8, r12
xor r11, rax
and r11, r13
xor r11, rdx
add r11, r14
mov r14, r10
xor r14, rbx
add r11, r12
mov r12, qword [rsi + 8]
add r12, qword [rdi + 8]
and r14, r8
add r9, r12
rorx r15, r11, 0x1c
xor r14, rbx
lea r12, [r9 + r14]
rorx r14, r8, 0x12
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 r15, r9
xor r12, rcx
rorx r9, r11, 0x27
xor r15, r9
add rax, r14
and r13, r12
xor r13, rcx
lea r9, [r15 + r13]
mov r13, qword [rsi + 0x10]
add r9, r14
mov r14, r8
add r13, qword [rdi + 0x10]
xor r14, r10
add rbx, r13
rorx r15, r9, 0x1c
and r14, rax
xor r14, r10
lea r13, [rbx + r14]
rorx r14, rax, 0x12
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 r15, rbx
xor r13, r9
rorx rbx, r9, 0x27
xor r15, rbx
add rdx, r14
and r12, r13
xor r12, r11
lea rbx, [r15 + r12]
mov r12, qword [rsi + 0x18]
add r12, qword [rdi + 0x18]
add rbx, r14
mov r14, r8
add r10, r12
xor r14, rax
rorx r15, rbx, 0x1c
and r14, rdx
xor r14, r8
lea r12, [r10 + r14]
rorx r14, rdx, 0x12
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 r15, r10
xor r12, rbx
rorx r10, rbx, 0x27
xor r15, r10
add rcx, r14
and r13, r12
xor r13, r9
lea r10, [r15 + r13]
mov r13, qword [rsi + 0x20]
add r13, qword [rdi + 0x20]
add r10, r14
mov r14, rax
add r8, r13
xor r14, rdx
rorx r15, r10, 0x1c
and r14, rcx
xor r14, rax
lea r13, [r8 + r14]
rorx r14, rcx, 0x12
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 r15, r8
xor r13, r10
rorx r8, r10, 0x27
xor r15, r8
add r11, r14
and r12, r13
xor r12, rbx
lea r8, [r15 + r12]
rorx r12, r11, 0x12
add r8, r14
mov r14, qword [rsi + 0x28]
add r14, qword [rdi + 0x28]
add rax, r14
mov r14, rdx
rorx r15, r8, 0x1c
xor r14, rcx
and r14, r11
xor r14, rdx
add rax, r14
rorx r14, r11, 0xe
xor r14, r12
rorx r12, r11, 0x29
xor r14, r12
mov r12, r10
xor r12, r8
add r14, rax
rorx rax, r8, 0x22
xor r15, rax
and r13, r12
rorx rax, r8, 0x27
xor r15, rax
add r9, r14
xor r13, r10
lea rax, [r15 + r13]
rorx r13, r9, 0x12
add rax, r14
mov r14, qword [rsi + 0x30]
add r14, qword [rdi + 0x30]
add rdx, r14
mov r14, rcx
rorx r15, rax, 0x1c
xor r14, r11
and r14, r9
xor r14, rcx
add rdx, r14
rorx r14, r9, 0xe
xor r14, r13
rorx r13, r9, 0x29
xor r14, r13
mov r13, r8
add rdi, 0x40
add rsi, 0x40
xor r13, rax
add r14, rdx
rorx rdx, rax, 0x22
xor r15, rdx
and r12, r13
rorx rdx, rax, 0x27
xor r15, rdx
add rbx, r14
xor r12, r8
lea rdx, [r15 + r12]
mov r12, r11
lea r15, [0x006b0ca0]
xor r12, r9
add rdx, r14
mov r14, qword [rsi - 8]
add r14, qword [rdi - 8]
and r12, rbx
add rcx, r14
xor r12, r11
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
xor r14, rcx
mov rcx, rax
add r10, r12
xor rcx, rdx
and r13, rcx
xor r13, rax
lea rcx, [r14 + r13]
add rcx, r12
cmp r15, rdi
jne 0x54e870
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