Function at 0x1800345d0
Capabilities:
Hash data using sha512

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x130
mov r14, rdx
mov rbp, rcx
mov r9d, dword [rcx + 0x50]
mov esi, r9d
and esi, 0x7f
mov rdi, qword [rcx + 8]
add rdi, r9
shl rdi, 3
mov eax, 0x80
mov ecx, 0x100
cmp esi, 0x6f
cmova eax, ecx
mov ebx, eax
mov r8d, eax
sub r8d, r9d
lea rcx, [r9 + 0x54]
add rcx, rbp
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov eax, dword [rbp + 0x50]
mov byte [rax + rbp + 0x54], 0x80
mov byte [rbx + rbp + 0x53], dil
mov rax, rdi
shr rax, 8
mov byte [rbx + rbp + 0x52], al
mov rax, rdi
shr rax, 0x10
mov byte [rbx + rbp + 0x51], al
shr rdi, 0x18
mov byte [rbx + rbp + 0x50], dil
xor r8d, r8d
cmp esi, 0x6f
seta r8b
inc r8
lea rdx, [rbp + 0x54]
mov rcx, rbp
call fcn.180034ef0
lea rcx, [rsp + 0x30]
call fcn.180034e30
nop
lea rdi, [rbp + 0x10]
mov esi, 8
nop dword [rax + rax]
lea rdx, [0x180036200]
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rbx, rax
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov byte [rdx + rax + 0x58], 0x30
mov edx, 0x10
lea rcx, [rsp + 0x20]
call qword [sym.imp.MSVCP140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setw_long_long___int64__]
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
mov rdx, qword [rdi]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
lea rdi, [rdi + 8]
sub rsi, 1
jne 0x180034690
movabs rax, 0x6a09e667f3bcc908
mov qword [rbp + 0x10], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rbp + 0x18], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rbp + 0x20], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rbp + 0x28], rax
movabs rax, 0x510e527fade682d1
mov qword [rbp + 0x30], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rbp + 0x38], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rbp + 0x40], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x50], esi
mov qword [rbp + 8], rsi
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x54]
call sub.VCRUNTIME140.dll_memset
mov rdx, r14
lea rcx, [rsp + 0x48]
call fcn.180035710
nop
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x30], rax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x2c], edx
lea rcx, [rsp + 0x48]
call fcn.180034d70
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0xc8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov rax, r14
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret