Function at 0x54fec0
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
vmovdqu xmm0, xmmword [rsp + 0xb0]
lea rax, [rsp + 0xc0]
lea rsi, [rsp + 0x40]
lea rdx, [rsp + 0x2c0]
nop dword [rax + rax]
vmovdqu xmm2, xmmword [rax - 0x78]
vpsrlq xmm3, xmm0, 0x3d
vpsrlq xmm4, xmm0, 0x13
vpsllq xmm1, xmm0, 3
vpor xmm1, xmm1, xmm3
vpsllq xmm3, xmm0, 0x2d
vpor xmm3, xmm3, xmm4
vpsrlq xmm0, xmm0, 6
vpxor xmm1, xmm1, xmm3
add rax, 0x10
vpxor 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
vpor xmm0, xmm0, xmm3
vpsllq xmm3, xmm2, 0x3f
vpor xmm3, xmm3, xmm4
vpsrlq xmm2, xmm2, 7
vpxor xmm0, xmm0, xmm3
vpxor xmm0, xmm0, xmm2
vpaddq xmm0, xmm1, xmm0
vmovdqu xmmword [rax - 0x10], xmm0
cmp rdx, rax
jne 0x54ffd0
mov rdi, qword [rbp + 0x38]
mov rcx, qword [rbp + 8]
mov r15, rbp
mov rdx, qword [rbp + 0x10]
mov r8, qword [rbp]
mov rax, qword [rbp + 0x18]
mov rbx, qword [rbp + 0x20]
mov r11, qword [rbp + 0x28]
mov r10, qword [rbp + 0x30]
mov r9, rdi
mov qword [rsp + 0x38], rdi
lea rdi, [0x006fbce0]
mov qword [rsp + 8], rcx
lea r12, [rdi + 0x280]
mov r14, rdi
mov r13, r9
mov qword [rsp], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rax
mov r9, rdx
mov rdi, rcx
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], r11
mov rbp, r8
mov qword [rsp + 0x30], r10
mov rdx, r11
rorx r8, rbx, 0x12
rorx rcx, rbx, 0xe
xor rdx, r10
xor rcx, r8
rorx r8, rbx, 0x29
and rdx, rbx
xor r8, rcx
xor rdx, r10
lea rcx, [r8 + rdx]
mov rdx, qword [rsi]
add rdx, qword [r14]
mov r8, rbp
and r8, rdi
add rdx, rcx
rorx rcx, rbp, 0x22
add r13, rdx
rorx rdx, rbp, 0x1c
xor rdx, rcx
rorx rcx, rbp, 0x27
add rax, r13
xor rdx, rcx
mov rcx, rbp
or rcx, rdi
and rcx, r9
or rcx, r8
add rdx, rcx
add r13, rdx
mov rdx, rbx
xor rdx, r11
mov r8, r13
and rdx, rax
and r8, rbp
xor rdx, r11
lea rcx, [rdx + r10]
mov r10, qword [rsi + 8]
add r10, qword [r14 + 8]
lea rdx, [rcx + r10]
rorx rcx, rax, 0x12
rorx r10, rax, 0xe
xor r10, rcx
rorx rcx, rax, 0x29
xor r10, rcx
rorx rcx, r13, 0x1c
add r10, rdx
rorx rdx, r13, 0x22
xor rcx, rdx
rorx rdx, r13, 0x27
add r9, r10
xor rcx, rdx
mov rdx, r13
or rdx, rbp
and rdx, rdi
or rdx, r8
add rdx, rcx
mov rcx, rax
add rdx, r10
xor rcx, rbx
mov r10, r13
and rcx, r9
and r10, rdx
xor rcx, rbx
lea r8, [rcx + r11]
mov r11, qword [rsi + 0x10]
add r11, qword [r14 + 0x10]
lea rcx, [r8 + r11]
rorx r8, r9, 0x12
rorx r11, r9, 0xe
xor r11, r8
rorx r8, r9, 0x29
xor r11, r8
rorx r8, rdx, 0x1c
add r11, rcx
rorx rcx, rdx, 0x22
xor r8, rcx
rorx rcx, rdx, 0x27
add rdi, r11
xor r8, rcx
mov rcx, r13
or rcx, rdx
and rcx, rbp
or rcx, r10
add rcx, r8
mov r8, rax
xor r8, r9
add rcx, r11
mov r11, rdx
and r8, rdi
and r11, rcx
xor r8, rax
lea r10, [r8 + rbx]
mov rbx, qword [rsi + 0x18]
add rbx, qword [r14 + 0x18]
lea r8, [r10 + rbx]
rorx r10, rdi, 0x12
rorx rbx, rdi, 0xe
xor rbx, r10
rorx r10, rdi, 0x29
xor rbx, r10
rorx r10, rcx, 0x1c
add rbx, r8
rorx r8, rcx, 0x22
xor r10, r8
rorx r8, rcx, 0x27
add rbp, rbx
xor r10, r8
mov r8, rdx
or r8, rcx
and r8, r13
or r8, r11
rorx r11, rbp, 0x12
add r8, r10
mov r10, r9
add r8, rbx
xor r10, rdi
mov rbx, rcx
and r10, rbp
and rbx, r8
xor r10, r9
add rax, r10
mov r10, qword [rsi + 0x20]
add r10, qword [r14 + 0x20]
add rax, r10
rorx r10, rbp, 0xe
xor r10, r11
rorx r11, rbp, 0x29
xor r10, r11
rorx r11, r8, 0x1c
add r10, rax
rorx rax, r8, 0x22
xor r11, rax
rorx rax, r8, 0x27
add r13, r10
xor r11, rax
mov rax, rcx
or rax, r8
and rax, rdx
or rax, rbx
mov rbx, r8
add rax, r11
mov r11, rdi
xor r11, rbp
add rax, r10
rorx r10, r13, 0x12
and r11, r13
xor r11, rdi
add r9, r11
mov r11, qword [rsi + 0x28]
add r11, qword [r14 + 0x28]
add r9, r11
rorx r11, r13, 0xe
xor r11, r10
rorx r10, r13, 0x29
xor r11, r10
add r11, r9
rorx r9, rax, 0x22
lea r10, [rdx + r11]
rorx rdx, rax, 0x1c
xor rdx, r9
rorx r9, rax, 0x27
xor rdx, r9
mov r9, r8
or r9, rax
and r9, rcx
and rbx, rax
or r9, rbx
mov rbx, rax
add r9, rdx
mov rdx, rbp
xor rdx, r13
add r9, r11
rorx r11, r10, 0x12
and rdx, r10
and rbx, r9
xor rdx, rbp
add rdi, rdx
mov rdx, qword [rsi + 0x30]
add rdx, qword [r14 + 0x30]
add rdi, rdx
rorx rdx, r10, 0xe
xor rdx, r11
rorx r11, r10, 0x29
xor rdx, r11
add rdx, rdi
rorx rdi, r9, 0x22
lea r11, [rcx + rdx]
rorx rcx, r9, 0x1c
xor rcx, rdi
rorx rdi, r9, 0x27
xor rcx, rdi
mov rdi, rax
or rdi, r9
and rdi, r8
or rdi, rbx
add rdi, rcx
rorx rcx, r11, 0x12
add rdi, rdx
mov rdx, r13
xor rdx, r10
and rdx, r11
xor rdx, r13
add rbp, rdx
mov rdx, qword [rsi + 0x38]
add rdx, qword [r14 + 0x38]
add rbp, rdx
rorx rdx, r11, 0xe
xor rdx, rcx
rorx rcx, r11, 0x29
xor rdx, rcx
rorx rcx, rdi, 0x1c
add rdx, rbp
rorx rbp, rdi, 0x22
xor rcx, rbp
rorx rbp, rdi, 0x27
lea rbx, [r8 + rdx]
mov r8, r9
xor rcx, rbp
mov rbp, r9
or rbp, rdi
and r8, rdi
add r14, 0x40
add rsi, 0x40
and rbp, rax
or rbp, r8
add rbp, rcx
add rbp, rdx
cmp r14, r12
jne 0x5500b0
mov rcx, rdi
mov r8, rbp
add rcx, qword [rsp + 8]
add r8, qword [rsp]
add rax, qword [rsp + 0x18]
mov rdx, r9
add rdx, qword [rsp + 0x10]
mov r9, r13
add rbx, qword [rsp + 0x20]
add r11, qword [rsp + 0x28]
add r10, qword [rsp + 0x30]
add r9, qword [rsp + 0x38]
vmovq xmm5, r8
vpinsrq xmm0, xmm5, rcx, 1
vmovdqu xmmword [r15], xmm0
vmovq xmm5, rdx
vpinsrq xmm0, xmm5, rax, 1
vmovdqu xmmword [r15 + 0x10], xmm0
vmovq xmm5, rbx
vpinsrq xmm0, xmm5, r11, 1
vmovdqu xmmword [r15 + 0x20], xmm0
vmovq xmm5, r10
vpinsrq xmm0, xmm5, r9, 1
vmovdqu xmmword [r15 + 0x30], xmm0
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret