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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x158
lea r15, [0x005f4160]
movabs r14, 0x5be0cd19137e2179
movabs rbx, 0xa54ff53a5f1d36f1
movabs r11, 0xbb67ae8584caa73b
movdqu xmm2, xmmword [rdx]
movdqu xmm3, xmmword [rdx + 0x10]
movdqu xmm4, xmmword [rdx + 0x20]
movdqu xmm5, xmmword [rdx + 0x30]
mov rax, qword [rcx]
movups xmmword [rsp + 0x50], xmm2
mov rdi, rcx
movdqu xmm2, xmmword [rdx + 0x40]
movups xmmword [rsp + 0x60], xmm3
movups xmmword [rsp + 0x70], xmm4
movdqu xmm3, xmmword [rdx + 0x50]
movdqu xmm4, xmmword [rdx + 0x60]
movups xmmword [rsp + 0x80], xmm5
movdqu xmm5, xmmword [rdx + 0x70]
mov qword [rsp + 0xd0], rax
mov rbp, rax
mov rdx, qword [rcx + 8]
mov qword [rsp + 0x1a0], rcx
mov rax, qword [rcx + 0x10]
movups xmmword [rsp + 0x90], xmm2
movups xmmword [rsp + 0xa0], xmm3
movups xmmword [rsp + 0xb0], xmm4
mov qword [rsp + 0xd8], rdx
mov rdx, qword [rcx + 0x18]
mov qword [rsp + 0xe0], rax
mov r10, rax
mov rax, qword [rcx + 0x20]
movups xmmword [rsp + 0xc0], xmm5
mov qword [rsp + 0xe8], rdx
mov rdx, qword [rcx + 0x28]
mov qword [rsp + 0xf0], rax
mov rsi, rax
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0xf8], rdx
mov rdx, qword [rcx + 0x38]
mov qword [rsp + 0x100], rax
mov r12, rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rsp + 0x108], rdx
xor rax, qword [rdi + 0x50]
movabs rdx, 0x510e527fade682d1
xor r14, qword [rdi + 0x58]
mov qword [rsp + 0x18], rbx
movabs rbx, 0x3c6ef372fe94f82b
xor rdx, qword [rcx + 0x40]
mov qword [rsp], rbx
movabs rcx, 0x9b05688c2b3e6c1f
movabs rbx, 0x6a09e667f3bcc908
xor rcx, qword [rdi + 0x48]
mov r8, qword [rsp + 0xd8]
mov qword [rsp + 0x20], rax
mov r13, qword [rsp + 0xf8]
mov qword [rsp + 0x30], r14
mov r9, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x108]
nop dword [rax]
mov r14d, dword [r15]
mov rax, qword [rsp + r14*8 + 0x50]
mov r14d, dword [r15 + 4]
add rax, rsi
add rbp, rax
xor rdx, rbp
add rbp, qword [rsp + r14*8 + 0x50]
rol rdx, 0x20
add rbx, rdx
xor rsi, rbx
ror rsi, 0x18
add rbp, rsi
xor rdx, rbp
ror rdx, 0x10
lea rax, [rbx + rdx]
mov ebx, dword [r15 + 8]
xor rsi, rax
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x20]
rol rsi, 1
mov qword [rsp + 0x48], rsi
mov r14, qword [rsp + rbx*8 + 0x50]
mov ebx, dword [r15 + 0xc]
add r14, r13
add r8, r14
xor rcx, r8
add r8, qword [rsp + rbx*8 + 0x50]
rol rcx, 0x20
add r11, rcx
xor r13, r11
ror r13, 0x18
add r8, r13
xor rcx, r8
ror rcx, 0x10
lea r14, [r11 + rcx]
mov r11d, dword [r15 + 0x10]
xor r13, r14
mov qword [rsp + 0x40], r14
mov r14d, dword [r15 + 0x1c]
rol r13, 1
mov rbx, qword [rsp + r11*8 + 0x50]
mov r11d, dword [r15 + 0x14]
add rbx, r12
add r10, rbx
mov rbx, qword [rsp]
xor rax, r10
rol rax, 0x20
add rbx, rax
xor r12, rbx
ror r12, 0x18
add r10, qword [rsp + r11*8 + 0x50]
mov r11d, dword [r15 + 0x18]
add r10, r12
mov rsi, qword [rsp + r11*8 + 0x50]
xor rax, r10
mov r11, qword [rsp + 0x30]
ror rax, 0x10
add rbx, rax
xor r12, rbx
add rsi, rdi
rol r12, 1
add r9, rsi
xor r11, r9
add r9, qword [rsp + r14*8 + 0x50]
mov rsi, r11
mov r11, qword [rsp + 0x18]
mov r14d, dword [r15 + 0x20]
rol rsi, 0x20
add r11, rsi
add rbp, qword [rsp + r14*8 + 0x50]
xor rdi, r11
ror rdi, 0x18
mov r14d, dword [r15 + 0x24]
add r9, rdi
xor rsi, r9
add rbp, r13
ror rsi, 0x10
add r11, rsi
xor rsi, rbp
add rbp, qword [rsp + r14*8 + 0x50]
rol rsi, 0x20
xor rdi, r11
add rbx, rsi
rol rdi, 1
xor r13, rbx
ror r13, 0x18
add rbp, r13
xor rsi, rbp
mov r14, rsi
ror r14, 0x10
add rbx, r14
mov qword [rsp + 0x30], r14
xor r13, rbx
mov qword [rsp], rbx
mov ebx, dword [r15 + 0x28]
rol r13, 1
add r8, qword [rsp + rbx*8 + 0x50]
mov ebx, dword [r15 + 0x2c]
add r8, r12
xor rdx, r8
add r8, qword [rsp + rbx*8 + 0x50]
rol rdx, 0x20
mov rbx, qword [rsp + 0x38]
add r11, rdx
mov rsi, qword [rsp + 0x48]
xor r12, r11
mov r14, qword [rsp + 0x40]
ror r12, 0x18
add r8, r12
xor rdx, r8
ror rdx, 0x10
add r11, rdx
xor r12, r11
mov qword [rsp + 0x18], r11
mov r11d, dword [r15 + 0x30]
rol r12, 1
add r10, qword [rsp + r11*8 + 0x50]
mov r11d, dword [r15 + 0x34]
add r10, rdi
xor rcx, r10
add r10, qword [rsp + r11*8 + 0x50]
rol rcx, 0x20
mov r11d, dword [r15 + 0x38]
add rbx, rcx
xor rdi, rbx
ror rdi, 0x18
add r10, rdi
xor rcx, r10
ror rcx, 0x10
add rbx, rcx
xor rdi, rbx
rol rdi, 1
add r9, qword [rsp + r11*8 + 0x50]
add r15, 0x40
add r9, rsi
xor rax, r9
rol rax, 0x20
lea r11, [r14 + rax]
mov r14d, dword [r15 - 4]
xor rsi, r11
ror rsi, 0x18
add r9, qword [rsp + r14*8 + 0x50]
add r9, rsi
xor rax, r9
ror rax, 0x10
add r11, rax
mov qword [rsp + 0x20], rax
lea rax, [0x005f4460]
xor rsi, r11
rol rsi, 1
cmp r15, rax
jne 0x414d98
mov rax, qword [rsp + 0x20]
movq xmm0, rbx
movq xmm1, rbp
mov r15, qword [rsp + 0x1a0]
pinsrq xmm1, r8, 1
pinsrq xmm0, r11, 1
pxor xmm0, xmm1
mov r14, qword [rsp + 0x30]
movq xmm1, r10
pinsrq xmm1, r9, 1
movdqu xmm2, xmmword [r15]
movdqu xmm4, xmmword [r15 + 0x10]
pxor xmm0, xmm2
movups xmmword [rsp + 0x20], xmm2
movdqu xmm2, xmmword [r15 + 0x20]
movups xmmword [r15], xmm0
movq xmm0, qword [rsp]
pinsrq xmm0, qword [rsp + 0x18], 1
pxor xmm0, xmm1
movq xmm1, rsi
pxor xmm0, xmm4
movdqu xmm4, xmmword [r15 + 0x30]
movups xmmword [r15 + 0x10], xmm0
movq xmm0, rdx
pinsrq xmm1, r13, 1
pinsrq xmm0, rcx, 1
pxor xmm0, xmm1
movq xmm1, r12
pxor xmm0, xmm2
movups xmmword [r15 + 0x20], xmm0
movq xmm0, rax
pinsrq xmm1, rdi, 1
pinsrq xmm0, r14, 1
movups xmmword [rsp], xmm4
pxor xmm0, xmm1
pxor xmm0, xmm4
movups xmmword [r15 + 0x30], xmm0
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret