Function at 0x140014fb0
Capabilities:
Hash data using sha512

Disassembly:
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x70
mov rax, qword [0x14002a010]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rdi, rcx
mov r15, rdx
mov edx, dword [rcx + 0x48]
xor r12d, r12d
lea ecx, [rdx*8]
add qword [rdi + 0x40], rcx
mov byte [rdx + rdi + 0x4c], 0x80
inc dword [rdi + 0x48]
mov eax, dword [rdi + 0x48]
cmp eax, 0x70
jbe 0x140015030
cmp eax, 0x80
jae 0x140015012
nop
mov byte [rax + rdi + 0x4c], r12b
inc dword [rdi + 0x48]
mov eax, dword [rdi + 0x48]
cmp eax, 0x80
jb 0x140015000
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.1400144b0
mov dword [rdi + 0x48], r12d
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rdi + 0x48]
mov byte [rax + rdi + 0x4c], r12b
inc dword [rdi + 0x48]
cmp dword [rdi + 0x48], 0x78
jb 0x140015030
mov rax, qword [rdi + 0x40]
lea rdx, [rdi + 0x4c]
bswap rax
mov rcx, rdi
mov qword [rdi + 0xc4], rax
call fcn.1400144b0
mov rax, qword [rdi]
lea rbp, [rdi + 0xd0]
bswap rax
mov qword [rsp + 0x20], rax
mov rax, qword [rdi + 8]
bswap rax
mov qword [rsp + 0x28], rax
mov rax, qword [rdi + 0x10]
bswap rax
mov qword [rsp + 0x30], rax
mov rax, qword [rdi + 0x18]
bswap rax
mov qword [rsp + 0x38], rax
mov rax, qword [rdi + 0x20]
bswap rax
mov qword [rsp + 0x40], rax
mov rax, qword [rdi + 0x28]
bswap rax
mov qword [rsp + 0x48], rax
mov rax, qword [rdi + 0x30]
bswap rax
mov qword [rsp + 0x50], rax
mov rax, qword [rdi + 0x38]
xor dword [rbp], 0x6a6a6a6a
xor dword [rdi + 0xd4], 0x6a6a6a6a
xor dword [rdi + 0xd8], 0x6a6a6a6a
xor dword [rdi + 0xdc], 0x6a6a6a6a
xor dword [rdi + 0xe0], 0x6a6a6a6a
xor dword [rdi + 0xe4], 0x6a6a6a6a
xor dword [rdi + 0xe8], 0x6a6a6a6a
xor dword [rdi + 0xec], 0x6a6a6a6a
xor dword [rdi + 0xf0], 0x6a6a6a6a
xor dword [rdi + 0xf4], 0x6a6a6a6a
xor dword [rdi + 0xf8], 0x6a6a6a6a
xor dword [rdi + 0xfc], 0x6a6a6a6a
xor dword [rdi + 0x100], 0x6a6a6a6a
xor dword [rdi + 0x104], 0x6a6a6a6a
xor dword [rdi + 0x108], 0x6a6a6a6a
xor dword [rdi + 0x10c], 0x6a6a6a6a
xor dword [rdi + 0x110], 0x6a6a6a6a
xor dword [rdi + 0x114], 0x6a6a6a6a
xor dword [rdi + 0x118], 0x6a6a6a6a
xor dword [rdi + 0x11c], 0x6a6a6a6a
xor dword [rdi + 0x120], 0x6a6a6a6a
xor dword [rdi + 0x124], 0x6a6a6a6a
xor dword [rdi + 0x128], 0x6a6a6a6a
xor dword [rdi + 0x12c], 0x6a6a6a6a
xor dword [rdi + 0x130], 0x6a6a6a6a
xor dword [rdi + 0x134], 0x6a6a6a6a
xor dword [rdi + 0x138], 0x6a6a6a6a
xor dword [rdi + 0x13c], 0x6a6a6a6a
xor dword [rdi + 0x140], 0x6a6a6a6a
xor dword [rdi + 0x144], 0x6a6a6a6a
xor dword [rdi + 0x148], 0x6a6a6a6a
xor dword [rdi + 0x14c], 0x6a6a6a6a
bswap rax
mov qword [rsp + 0x58], rax
movabs rax, 0x6a09e667f3bcc908
mov qword [rdi], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rdi + 8], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rdi + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rdi + 0x18], rax
movabs rax, 0x510e527fade682d1
mov qword [rdi + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rdi + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rdi + 0x30], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rdi + 0x38], rax
mov dword [rdi + 0x48], r12d
mov qword [rdi + 0x40], r12
mov esi, 0x80
mov qword [rsp + 0xb0], rbx
mov edx, dword [rdi + 0x48]
test edx, edx
jne 0x1400152af
cmp rsi, 0x80
jb 0x1400152af
mov rdx, rbp
mov rcx, rdi
call fcn.1400144b0
add qword [rdi + 0x40], 0x400
sub rbp, 0xffffffffffffff80
add rsi, 0xffffffffffffff80
jmp 0x1400152fc
mov ecx, 0x80
mov rbx, rsi
sub ecx, edx
cmp rcx, rsi
cmovbe rbx, rcx
lea rcx, [rdi + 0x4c]
add rcx, rdx
mov r8, rbx
mov rdx, rbp
call sub.VCRUNTIME140.dll_memcpy
add dword [rdi + 0x48], ebx
add rbp, rbx
sub rsi, rbx
cmp dword [rdi + 0x48], 0x80
jne 0x1400152fc
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.1400144b0
add qword [rdi + 0x40], 0x400
mov dword [rdi + 0x48], r12d
test rsi, rsi
jne 0x140015282
mov esi, 0x40
lea rbp, [rsp + 0x20]
nop dword [rax + rax]
mov edx, dword [rdi + 0x48]
test edx, edx
jne 0x14001533d
cmp rsi, 0x80
jb 0x14001533d
mov rdx, rbp
mov rcx, rdi
call fcn.1400144b0
add qword [rdi + 0x40], 0x400
sub rbp, 0xffffffffffffff80
add rsi, 0xffffffffffffff80
jmp 0x14001538a
mov ecx, 0x80
mov rbx, rsi
sub ecx, edx
cmp rcx, rsi
cmovbe rbx, rcx
lea rcx, [rdi + 0x4c]
add rcx, rdx
mov r8, rbx
mov rdx, rbp
call sub.VCRUNTIME140.dll_memcpy
add dword [rdi + 0x48], ebx
add rbp, rbx
sub rsi, rbx
cmp dword [rdi + 0x48], 0x80
jne 0x14001538a
lea rdx, [rdi + 0x4c]
mov rcx, rdi
call fcn.1400144b0
add qword [rdi + 0x40], 0x400
mov dword [rdi + 0x48], r12d
test rsi, rsi
jne 0x140015310
mov rdx, r15
mov rcx, rdi
call fcn.140014b00
mov rbx, qword [rsp + 0xb0]
lea rdi, [rsp + 0x20]
xor eax, eax
mov ecx, 0x10
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14001ef00
mov rbp, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret