Function at 0x180175ae0
Capabilities:
Hash data using sha512

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
movabs rax, 0x6a09e667f3bcc908
mov rbx, rdx
mov qword [rcx], rax
mov rdi, rcx
movabs rax, 0xbb67ae8584caa73b
xor edx, edx
mov qword [rcx + 8], rax
mov r8d, 0x129
movabs rax, 0x3c6ef372fe94f82b
mov qword [rcx + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rcx + 0x18], rax
movabs rax, 0x510e527fade682d1
mov qword [rcx + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rcx + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rcx + 0x30], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rcx + 0x38], rax
add rcx, 0x40
call sub.VCRUNTIME140.dll_memset
movzx eax, byte [rbx + 6]
movzx ecx, byte [rbx + 7]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 5]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 4]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 3]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 2]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 1]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx]
shl rcx, 8
or rcx, rax
xor qword [rdi], rcx
movzx eax, byte [rbx + 0xe]
movzx ecx, byte [rbx + 0xf]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0xd]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0xc]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0xb]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0xa]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 9]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 8]
shl rcx, 8
or rcx, rax
xor qword [rdi + 8], rcx
movzx eax, byte [rbx + 0x16]
movzx ecx, byte [rbx + 0x17]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x15]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x14]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x13]
shl rcx, 8
or rcx, rax
shl rcx, 8
movzx eax, byte [rbx + 0x12]
or rcx, rax
movzx eax, byte [rbx + 0x11]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x10]
shl rcx, 8
or rcx, rax
xor qword [rdi + 0x10], rcx
movzx eax, byte [rbx + 0x1e]
movzx ecx, byte [rbx + 0x1f]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x1d]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x1c]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x1b]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x1a]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x19]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x18]
shl rcx, 8
or rcx, rax
xor qword [rdi + 0x18], rcx
movzx eax, byte [rbx + 0x26]
movzx ecx, byte [rbx + 0x27]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x25]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x24]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x23]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x22]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x21]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x20]
shl rcx, 8
or rcx, rax
xor qword [rdi + 0x20], rcx
movzx eax, byte [rbx + 0x2e]
movzx ecx, byte [rbx + 0x2f]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x2d]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x2c]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x2b]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x2a]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x29]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x28]
shl rcx, 8
or rcx, rax
xor qword [rdi + 0x28], rcx
movzx ecx, byte [rbx + 0x37]
shl rcx, 8
movzx eax, byte [rbx + 0x36]
or rcx, rax
movzx eax, byte [rbx + 0x35]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x34]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x33]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x32]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x31]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x30]
shl rcx, 8
or rcx, rax
xor qword [rdi + 0x30], rcx
movzx eax, byte [rbx + 0x3e]
movzx ecx, byte [rbx + 0x3f]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x3d]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x3c]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x3b]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x3a]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x39]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x38]
mov rbx, qword [rsp + 0x30]
shl rcx, 8
or rcx, rax
xor qword [rdi + 0x38], rcx
xor eax, eax
add rsp, 0x20
pop rdi
ret