Function at 0x42aa60
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, 0x148
vmovdqu xmm2, xmmword [rdx]
vmovdqu xmm3, xmmword [rdx + 0x10]
movabs r15, 0x5be0cd19137e2179
lea rbx, [0x006bfd80]
vmovdqu xmm4, xmmword [rdx + 0x20]
vmovdqu xmm5, xmmword [rdx + 0x30]
movabs r11, 0xbb67ae8584caa73b
movabs rbp, 0x6a09e667f3bcc908
mov rax, qword [rcx]
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0xc0], rax
mov r14, rax
mov rax, qword [rcx + 0x10]
vmovdqu xmmword [rsp + 0x40], xmm2
vmovdqu xmmword [rsp + 0x50], xmm3
vmovdqu xmm2, xmmword [rdx + 0x40]
vmovdqu xmm3, xmmword [rdx + 0x50]
vmovdqu xmmword [rsp + 0x60], xmm4
vmovdqu xmmword [rsp + 0x70], xmm5
mov qword [rsp + 0xd0], rax
mov r10, rax
vmovdqu xmm4, xmmword [rdx + 0x60]
vmovdqu xmm5, xmmword [rdx + 0x70]
mov rdx, qword [rcx + 8]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0xc8], rdx
mov rdx, qword [rcx + 0x18]
vmovdqu xmmword [rsp + 0x80], xmm2
mov qword [rsp + 0xe0], rax
mov rsi, rax
vmovdqu xmmword [rsp + 0x90], xmm3
mov rax, qword [rcx + 0x30]
vmovdqu xmmword [rsp + 0xa0], xmm4
mov qword [rsp + 0xd8], rdx
mov rdx, qword [rcx + 0x28]
vmovdqu xmmword [rsp + 0xb0], xmm5
mov qword [rsp + 0xf0], rax
mov r12, rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rsp + 0xe8], rdx
mov rdx, qword [rcx + 0x38]
mov qword [rsp + 0xf8], rdx
xor rax, qword [rcx + 0x50]
mov r8, qword [rsp + 0xc8]
movabs rdx, 0x510e527fade682d1
mov r13, qword [rsp + 0xe8]
mov qword [rsp + 0x30], r15
mov r9, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xf8]
xor rdx, qword [rcx + 0x40]
movabs rcx, 0xa54ff53a5f1d36f1
mov qword [rsp + 0x20], rcx
movabs rcx, 0x3c6ef372fe94f82b
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x28], rax
movabs rcx, 0x9b05688c2b3e6c1f
nop dword [rax]
mov r15d, dword [rbx]
mov rax, qword [rsp + r15*8 + 0x40]
mov r15d, dword [rbx + 4]
add rax, rsi
add r14, rax
xor rdx, r14
add r14, qword [rsp + r15*8 + 0x40]
mov r15, qword [rsp + 0x20]
rorx rdx, rdx, 0x20
add rbp, rdx
xor rsi, rbp
rorx rsi, rsi, 0x18
add r14, rsi
xor rdx, r14
rorx rdx, rdx, 0x10
lea rax, [rbp + rdx]
xor rsi, rax
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x28]
rorx rsi, rsi, 0x3f
mov qword [rsp + 0x38], rsi
mov esi, dword [rbx + 8]
mov rbp, qword [rsp + rsi*8 + 0x40]
mov esi, dword [rbx + 0xc]
add rbp, r13
add r8, rbp
xor rcx, r8
add r8, qword [rsp + rsi*8 + 0x40]
rorx rcx, rcx, 0x20
add r11, rcx
xor r13, r11
rorx r13, r13, 0x18
add r8, r13
xor rcx, r8
rorx rcx, rcx, 0x10
add r11, rcx
xor r13, r11
mov qword [rsp + 0x10], r11
mov r11d, dword [rbx + 0x10]
rorx r13, r13, 0x3f
mov rbp, qword [rsp + r11*8 + 0x40]
mov r11d, dword [rbx + 0x14]
add rbp, r12
add r10, rbp
mov rbp, qword [rsp + 0x18]
xor rax, r10
add r10, qword [rsp + r11*8 + 0x40]
mov r11d, dword [rbx + 0x18]
rorx rax, rax, 0x20
add rbp, rax
xor r12, rbp
mov rsi, rbp
mov rbp, qword [rsp + r11*8 + 0x40]
rorx r12, r12, 0x18
add r10, r12
xor rax, r10
add rbp, rdi
rorx rax, rax, 0x10
add r9, rbp
mov rbp, qword [rsp + 0x30]
add rsi, rax
xor r12, rsi
rorx r12, r12, 0x3f
xor rbp, r9
rorx rbp, rbp, 0x20
add r15, rbp
xor rdi, r15
mov r11, r15
mov r15d, dword [rbx + 0x1c]
rorx rdi, rdi, 0x18
add r9, qword [rsp + r15*8 + 0x40]
mov r15d, dword [rbx + 0x20]
add r14, qword [rsp + r15*8 + 0x40]
mov r15d, dword [rbx + 0x24]
add r9, rdi
xor rbp, r9
rorx rbp, rbp, 0x10
add r11, rbp
add r14, r13
xor rdi, r11
xor rbp, r14
add r14, qword [rsp + r15*8 + 0x40]
rorx rdi, rdi, 0x3f
rorx rbp, rbp, 0x20
add rsi, rbp
xor r13, rsi
mov r15, rsi
mov esi, dword [rbx + 0x28]
rorx r13, r13, 0x18
add r14, r13
xor rbp, r14
add r8, qword [rsp + rsi*8 + 0x40]
mov esi, dword [rbx + 0x2c]
rorx rbp, rbp, 0x10
add r15, rbp
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x18], r15
xor r13, r15
rorx r13, r13, 0x3f
add r8, r12
xor rdx, r8
add r8, qword [rsp + rsi*8 + 0x40]
mov r15, qword [rsp + 8]
rorx rdx, rdx, 0x20
mov rsi, qword [rsp + 0x38]
add r11, rdx
xor r12, r11
rorx r12, r12, 0x18
add r8, r12
xor rdx, r8
rorx rdx, rdx, 0x10
lea rbp, [r11 + rdx]
mov r11d, dword [rbx + 0x30]
xor r12, rbp
mov qword [rsp + 0x20], rbp
rorx r12, r12, 0x3f
add r10, qword [rsp + r11*8 + 0x40]
mov r11d, dword [rbx + 0x34]
add r10, rdi
xor rcx, r10
add r10, qword [rsp + r11*8 + 0x40]
mov r11d, dword [rbx + 0x38]
rorx rcx, rcx, 0x20
lea rbp, [r15 + rcx]
mov r15d, dword [rbx + 0x3c]
xor rdi, rbp
rorx rdi, rdi, 0x18
add r10, rdi
xor rcx, r10
add r9, qword [rsp + r11*8 + 0x40]
mov r11, qword [rsp + 0x10]
add rbx, 0x40
rorx rcx, rcx, 0x10
add rbp, rcx
xor rdi, rbp
rorx rdi, rdi, 0x3f
add r9, rsi
xor rax, r9
add r9, qword [rsp + r15*8 + 0x40]
rorx rax, rax, 0x20
add r11, rax
xor rsi, r11
rorx rsi, rsi, 0x18
add r9, rsi
xor rax, r9
rorx rax, rax, 0x10
add r11, rax
mov qword [rsp + 0x28], rax
lea rax, [0x006c0080]
xor rsi, r11
rorx rsi, rsi, 0x3f
cmp rax, rbx
jne 0x42abe0
mov rbx, qword [rsp + 0x190]
vmovq xmm2, r14
vmovq xmm3, rbp
vpinsrq xmm0, xmm2, r8, 1
vpinsrq xmm1, xmm3, r11, 1
vmovq xmm5, qword [rsp + 0x18]
vmovq xmm4, r10
vmovq xmm2, rsi
vpxor xmm0, xmm0, xmm1
vpinsrq xmm1, xmm5, qword [rsp + 0x20], 1
vmovq xmm3, rdx
mov rax, qword [rsp + 0x28]
mov r15, qword [rsp + 0x30]
vmovq xmm5, r12
vpxor xmm0, xmm0, xmmword [rbx]
vmovdqu xmmword [rbx], xmm0
vpinsrq xmm0, xmm4, r9, 1
vmovq xmm4, rax
vpxor xmm0, xmm0, xmm1
vpxor xmm0, xmm0, xmmword [rbx + 0x10]
vpinsrq xmm1, xmm3, rcx, 1
vmovdqu xmmword [rbx + 0x10], xmm0
vpinsrq xmm0, xmm2, r13, 1
vpxor xmm0, xmm0, xmm1
vpxor xmm0, xmm0, xmmword [rbx + 0x20]
vpinsrq xmm1, xmm5, rdi, 1
vmovdqu xmmword [rbx + 0x20], xmm0
vpinsrq xmm0, xmm4, r15, 1
vpxor xmm0, xmm0, xmm1
vpxor xmm0, xmm0, xmmword [rbx + 0x30]
vmovdqu xmmword [rbx + 0x30], xmm0
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret