Function at 0x140019cf0
Capabilities:
Encode data using xor
Hash data using sha512

Disassembly:
mov r11, rsp
push rbp
push r15
lea rbp, [r11 - 0x278]
sub rsp, 0x368
mov rax, qword [0x14003d010]
xor rax, rsp
mov qword [rbp + 0x230], rax
movaps xmm0, xmmword [0x140035d80]
mov r15, r8
xor eax, eax
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rdx
mov r8, rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x48], rax
movups xmmword [r15], xmm0
movaps xmm1, xmmword [0x140035d90]
movups xmmword [r15 + 0x10], xmm1
movaps xmm0, xmmword [0x140035da0]
movups xmmword [r15 + 0x20], xmm0
movaps xmm1, xmmword [0x140035db0]
movups xmmword [r15 + 0x30], xmm1
test rdx, rdx
je 0x14001a45a
mov rcx, qword [r15]
mov rdx, qword [r15 + 0x10]
mov qword [r11 + 0x10], rbx
mov qword [rsp + 8], rcx
mov rcx, qword [r15 + 8]
mov qword [r11 - 0x18], rsi
mov qword [rsp + 0x10], rcx
mov rcx, qword [r15 + 0x18]
mov qword [r11 - 0x20], rdi
mov qword [rsp + 0x20], rcx
mov rcx, qword [r15 + 0x28]
mov qword [rsp + 0x18], rdx
mov rdx, qword [r15 + 0x20]
mov qword [r11 - 0x28], r12
mov qword [rsp + 0x30], rcx
mov rcx, qword [r15 + 0x38]
mov qword [rsp + 0x28], rdx
mov rdx, qword [r15 + 0x30]
mov qword [r11 - 0x30], r13
mov qword [rsp + 0x40], rcx
mov qword [r11 - 0x38], r14
mov qword [rsp + 0x38], rdx
nop dword [rax + rax]
mov rax, qword [r8 + rax*8]
mov r13d, 8
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x50], xmm0
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp - 0x40], xmm1
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rax + 0x40]
movaps xmmword [rbp - 0x20], xmm1
movups xmm1, xmmword [rax + 0x50]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rax + 0x60]
movaps xmmword [rbp], xmm1
movups xmm1, xmmword [rax + 0x70]
lea rax, [rbp + 0x20]
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp + 0x20], xmm1
movq r12, xmm1
mov r9, qword [rax - 0x68]
mov r14, r12
mov r10, qword [rax - 0x60]
mov rdx, r9
mov rsi, qword [rax + 8]
mov r8, r10
mov r11, qword [rax - 0x58]
mov rcx, r12
mov rdi, qword [rax - 0x50]
ror rcx, 0x13
ror rdx, 8
ror r8, 8
ror r14, 0x3d
xor r14, rcx
mov rcx, r12
shr rcx, 6
xor r14, rcx
mov rcx, r9
ror rcx, 1
xor rdx, rcx
mov rcx, r9
shr rcx, 7
xor rdx, rcx
mov rcx, r10
ror rcx, 1
add r14, rdx
xor r8, rcx
add r14, qword [rax - 0x70]
add r14, qword [rax - 0x28]
mov rcx, r10
shr rcx, 7
mov rdx, rsi
xor r8, rcx
ror rdx, 0x3d
mov rcx, rsi
mov qword [rax + 0x10], r14
ror rcx, 0x13
xor rdx, rcx
mov rcx, rsi
shr rcx, 6
xor rdx, rcx
mov rcx, r11
add r8, rdx
ror rcx, 1
add r8, qword [rax - 0x20]
mov rdx, r14
add r9, r8
ror rdx, 0x3d
mov r8, r11
mov qword [rax + 0x18], r9
ror r8, 8
xor r8, rcx
mov rcx, r11
shr rcx, 7
xor r8, rcx
mov rcx, r14
ror rcx, 0x13
xor rdx, rcx
mov rcx, r14
shr rcx, 6
xor rdx, rcx
mov rcx, rdi
add r8, rdx
ror rcx, 1
add r8, qword [rax - 0x18]
mov rdx, r9
add r10, r8
ror rdx, 0x3d
mov r8, rdi
mov qword [rax + 0x20], r10
ror r8, 8
xor r8, rcx
mov rcx, rdi
shr rcx, 7
xor r8, rcx
mov rcx, r9
ror rcx, 0x13
xor rdx, rcx
shr r9, 6
xor rdx, r9
add r8, rdx
add r8, qword [rax - 0x10]
mov rdx, r10
mov rbx, qword [rax - 0x48]
add r11, r8
mov r9, qword [rax - 0x40]
mov r8, rbx
ror r8, 8
mov rcx, rbx
ror rcx, 1
xor r8, rcx
ror rdx, 0x3d
mov qword [rax + 0x28], r11
mov rcx, rbx
shr rcx, 7
xor r8, rcx
mov rcx, r10
ror rcx, 0x13
xor rdx, rcx
shr r10, 6
xor r10, rdx
mov rcx, r9
ror rcx, 1
add r10, r8
add r10, qword [rax - 8]
mov rdx, r11
ror rdx, 0x3d
add r10, rdi
mov r8, r9
mov qword [rax + 0x30], r10
ror r8, 8
xor r8, rcx
mov rcx, r9
shr rcx, 7
xor r8, rcx
mov rcx, r11
ror rcx, 0x13
xor rdx, rcx
shr r11, 6
xor r11, rdx
mov rdx, qword [rax - 0x30]
lea rcx, [r12 + r8]
mov r12, r10
add r11, rcx
ror r12, 0x3d
add r11, rbx
mov rbx, qword [rax - 0x38]
mov r8, rbx
mov qword [rax + 0x38], r11
ror r8, 8
mov rcx, rbx
ror rcx, 1
xor r8, rcx
mov rcx, rbx
shr rcx, 7
xor r8, rcx
mov rcx, r10
ror rcx, 0x13
xor r12, rcx
shr r10, 6
xor r12, r10
lea rcx, [r9 + r8]
mov r8, rdx
add r12, rcx
ror r8, 8
mov rcx, rdx
add r12, rsi
shr rdx, 7
ror rcx, 1
xor r8, rcx
mov qword [rax + 0x40], r12
xor r8, rdx
mov rcx, r11
ror rcx, 0x13
mov rdx, r11
ror rdx, 0x3d
xor rdx, rcx
shr r11, 6
xor rdx, r11
lea rcx, [r14 + r8]
add rdx, rcx
add rdx, rbx
mov qword [rax + 0x48], rdx
lea rax, [rax + 0x40]
sub r13, 1
jne 0x140019e22
movups xmm0, xmmword [r15]
xor edx, edx
movups xmm1, xmmword [r15 + 0x10]
mov qword [rsp], rdx
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [r15 + 0x20]
mov r14, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
movaps xmmword [rbp - 0x80], xmm1
movups xmm1, xmmword [r15 + 0x30]
mov r11, qword [rbp - 0x78]
mov rbx, qword [rbp - 0x80]
movaps xmmword [rbp - 0x70], xmm0
mov r15, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x70]
movaps xmmword [rbp - 0x60], xmm1
mov r12, qword [rbp - 0x58]
mov r13, qword [rbp - 0x60]
nop word [rax + rax]
mov r8, rsi
mov rax, rsi
shl rax, 0x17
mov rcx, rsi
shl rcx, 0x2e
mov r9, r14
shr r8, 0x29
xor r9, rbx
or r8, rax
and r9, rdi
mov rax, rsi
shr rax, 0x12
or rcx, rax
mov rax, rsi
xor r8, rcx
shr rax, 0xe
mov rcx, rsi
shl rcx, 0x32
or rcx, rax
mov rax, r15
xor r8, rcx
and rax, rsi
mov rcx, rsi
not rcx
and rcx, r13
xor rcx, rax
lea rax, [0x140035dc0]
add r8, rcx
mov rcx, rdi
add r8, qword [rdx + rax]
mov rax, rdi
add r8, qword [rbp + rdx - 0x50]
mov rdx, rdi
shr rax, 0x1c
add r8, r12
shl rdx, 0x24
or rdx, rax
shr rcx, 0x22
mov rax, rdi
shl rax, 0x1e
lea r10, [r11 + r8]
or rcx, rax
mov rax, rdi
xor rdx, rcx
shl rax, 0x19
mov rcx, rdi
shr rcx, 0x27
or rcx, rax
mov rax, r14
xor rdx, rcx
and rax, rbx
xor r9, rax
mov rcx, r10
not rcx
and rcx, r15
lea rax, [r8 + rdx]
mov r8, qword [rsp]
add r9, rax
mov rdx, r10
ror rdx, 0x29
mov rax, r10
ror rax, 0x12
xor rdx, rax
mov rax, r10
ror rax, 0xe
xor rdx, rax
mov rax, r10
and rax, rsi
xor rcx, rax
lea rax, [0x140035dc0]
add rdx, rcx
mov rcx, r9
add rdx, qword [r8 + rax + 8]
mov rax, r9
add rdx, qword [rbp + r8 - 0x48]
add rdx, r13
ror rax, 0x22
ror rcx, 0x27
xor rcx, rax
mov rax, r9
lea r12, [rbx + rdx]
ror rax, 0x1c
mov r11, r14
xor rcx, rax
xor r11, rdi
mov rax, r14
and r11, r9
and rax, rdi
mov rbx, r9
xor r11, rax
xor rbx, rdi
lea rax, [rdx + rcx]
mov rdx, r12
add r11, rax
ror rdx, 0x29
and rbx, r11
mov rax, r12
ror rax, 0x12
mov rcx, r12
xor rdx, rax
not rcx
and rcx, rsi
mov rax, r12
ror rax, 0xe
xor rdx, rax
mov rax, r12
and rax, r10
xor rcx, rax
lea rax, [0x140035dc0]
add rdx, rcx
mov rcx, r11
add rdx, qword [r8 + rax + 0x10]
mov rax, r11
add rdx, qword [rbp + r8 - 0x40]
ror rax, 0x22
add rdx, r15
ror rcx, 0x27
xor rcx, rax
mov rax, r11
ror rax, 0x1c
xor rcx, rax
lea r13, [r14 + rdx]
mov rax, r9
mov r8, r13
and rax, rdi
ror r8, 0x29
xor rbx, rax
mov r14, r9
lea rax, [rdx + rcx]
xor r14, r11
add rbx, rax
mov rcx, r13
not rcx
mov rax, r13
ror rax, 0x12
and rcx, r10
xor r8, rax
mov rdx, rbx
ror rdx, 0x27
mov rax, r13
ror rax, 0xe
and r14, rbx
xor r8, rax
mov rax, r13
and rax, r12
xor rcx, rax
mov rax, qword [rsp]
add r8, rcx
lea rcx, [0x140035dc0]
add r8, qword [rax + rcx + 0x18]
add r8, qword [rbp + rax - 0x38]
mov rax, rbx
ror rax, 0x22
add r8, rsi
xor rdx, rax
mov rax, rbx
ror rax, 0x1c
xor rdx, rax
mov rax, r9
and rax, r11
lea r15, [rdi + r8]
xor r14, rax
lea rax, [r8 + rdx]
mov rcx, r15
add r14, rax
not rcx
and rcx, r12
mov rax, r15
ror rax, 0x12
mov r8, r15
ror r8, 0x29
mov rdx, r14
xor r8, rax
ror rdx, 0x27
mov rax, r15
mov rdi, rbx
ror rax, 0xe
xor rdi, r11
xor r8, rax
and rdi, r14
mov rax, r15
and rax, r13
xor rcx, rax
mov rax, qword [rsp]
add r8, rcx
lea rcx, [0x140035dc0]
add r8, qword [rax + rcx + 0x20]
add r8, qword [rbp + rax - 0x30]
mov rax, r14
ror rax, 0x22
add r8, r10
xor rdx, rax
mov rax, r14
ror rax, 0x1c
xor rdx, rax
mov rax, rbx
and rax, r11
lea rsi, [r9 + r8]
xor rdi, rax
lea rax, [r8 + rdx]
mov rdx, qword [rsp]
add rdx, 0x28
add rdi, rax
mov qword [rsp], rdx
cmp rdx, 0x280
jb 0x14001a0b0
mov rcx, qword [rsp + 0x10]
mov r10, qword [rsp + 8]
add rcx, r14
mov r9, qword [rsp + 0x18]
add r10, rdi
mov r8, qword [rsp + 0x28]
add r9, rbx
mov rdx, qword [rsp + 0x38]
add r8, rsi
mov rax, qword [rsp + 0x48]
add rdx, r13
mov qword [rsp + 0x10], rcx
inc rax
mov qword [rsp], r15
mov r15, qword [rsp + 0x50]
mov qword [rsp + 0x28], r8
mov qword [rsp + 8], r10
mov qword [rsp + 0x18], r9
mov qword [r15 + 8], rcx
mov rcx, qword [rsp + 0x20]
add rcx, r11
mov qword [r15 + 0x20], r8
mov r8, qword [rsp + 0x60]
mov qword [rsp + 0x20], rcx
mov qword [r15 + 0x18], rcx
mov rcx, qword [rsp + 0x30]
add rcx, qword [rsp]
mov qword [rsp + 0x30], rcx
mov qword [r15 + 0x28], rcx
mov rcx, qword [rsp + 0x40]
add rcx, r12
mov qword [r15], r10
mov qword [r15 + 0x10], r9
mov qword [rsp + 0x38], rdx
mov qword [r15 + 0x30], rdx
mov qword [rsp + 0x40], rcx
mov qword [r15 + 0x38], rcx
mov qword [rsp + 0x48], rax
cmp rax, qword [rsp + 0x58]
jb 0x140019dd0
mov r14, qword [rsp + 0x340]
mov r13, qword [rsp + 0x348]
mov r12, qword [rsp + 0x350]
mov rdi, qword [rsp + 0x358]
mov rsi, qword [rsp + 0x360]
mov rbx, qword [rsp + 0x388]
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.1400318f0
add rsp, 0x368
pop r15
pop rbp
ret