Function at 0x1400f377c
Capabilities:
Hash data using sha512

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3d0
movaps xmmword [rsp + 0x3c0], xmm7
movaps xmmword [rsp + 0x3b0], xmm6
xor edi, edi
mov bpl, 1
cmp r8, 0x20
cmove rdi, rdx
jne 0x1400f3b50
mov rax, qword [rsp + 0x438]
xor ebx, ebx
cmp qword [rsp + 0x440], 0x40
cmove rbx, rax
jne 0x1400f3b50
mov rsi, r9
mov r14, qword [rsp + 0x430]
movups xmm6, xmmword [rax + 0x20]
movups xmm7, xmmword [rax + 0x30]
lea rax, [rsp + 0x1af]
movups xmmword [rax - 0xf], xmm7
movups xmmword [rax - 0x1f], xmm6
xor ecx, ecx
cmp rcx, 0x10
je 0x1400f3814
mov dl, byte [rsp + rcx + 0x190]
mov r8b, byte [rax]
mov byte [rsp + rcx + 0x190], r8b
mov byte [rax], dl
inc rcx
dec rax
jmp 0x1400f37f2
xorps xmm0, xmm0
lea rax, [rsp + 0xb0]
movaps xmmword [rax + 0x10], xmm0
movaps xmmword [rax], xmm0
mov ecx, 4
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [0x1401a2c08]
lea rcx, [rsp + 0x190]
mov bpl, 1
mov edx, 0x20
mov r8b, 1
call fcn.1400f27c0
test al, al
jne 0x1400f3b50
movups xmmword [rsp + 0x40], xmm6
movups xmmword [rsp + 0x50], xmm7
lea r15, [rsp + 0xb0]
mov r8d, 0xa0
mov rcx, r15
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, r15
mov rdx, rdi
call fcn.1401670d0
cmp eax, 1
jne 0x1400f3b50
lea r15, [rsp + 0x310]
lea rdx, [rsp + 0xb0]
mov r8d, 0xa0
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov rcx, r15
call fcn.140167080
lea rcx, [rsp + 0x388]
call fcn.140167080
movups xmm0, xmmword [0x1401a2bc0]
lea r15, [rsp + 0x190]
movups xmmword [r15 + 0x38], xmm0
movups xmm0, xmmword [0x1401a2bb0]
movups xmmword [r15 + 0x28], xmm0
movups xmm0, xmmword [0x1401a2ba0]
movups xmmword [r15 + 0x18], xmm0
movups xmm0, xmmword [0x1401a2b90]
movups xmmword [r15 + 8], xmm0
lea r12, [0x1401a2b60]
call fcn.1400f3204
xorps xmm6, xmm6
movups xmmword [r15 + 0xc0], xmm6
movups xmmword [r15 + 0xb0], xmm6
movups xmmword [r15 + 0xa0], xmm6
movups xmmword [r15 + 0x90], xmm6
movups xmmword [r15 + 0x80], xmm6
movups xmmword [r15 + 0x70], xmm6
movups xmmword [r15 + 0x60], xmm6
movups xmmword [r15 + 0x50], xmm6
mov qword [r15], r12
and qword [r15 + 0x48], 0
and qword [r15 + 0xd0], 0
mov r8d, 0x20
mov rcx, r15
mov rdx, rbx
call fcn.1400f2cda
mov r8d, 0x20
mov rcx, r15
mov rdx, rdi
call fcn.1400f2cda
mov rcx, r15
mov rdx, rsi
mov r8, r14
call fcn.1400f2cda
lea rsi, [rsp + 0xb0]
mov r8d, 0xd8
mov rcx, rsi
mov rdx, r15
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400f2ea7
movaps xmmword [rsi + 0x30], xmm6
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
lea rcx, [rsp + 0x68]
mov rax, qword [rcx - 8]
mov rdx, qword [rax + 0x10]
lea r8, str._home_laa_.cargo_registry_src_index.crates.io_6f17d22bba15001f_ring_0.17.0_alpha.11_src_digest.rs
call fcn.1400f2cca
mov r9, rdx
lea rcx, str._home_laa_.cargo_registry_src_index.crates.io_6f17d22bba15001f_ring_0.17.0_alpha.11_src_ec_curve25519_scalar.rs
mov qword [rsp + 0x20], rcx
lea rsi, [rsp + 0xb0]
mov edx, 0x40
mov rcx, rsi
mov r8, rax
call fcn.1400549e7
mov rcx, rsi
call fcn.140168ea0
lea r8, str._home_laa_.cargo_registry_src_index.crates.io_6f17d22bba15001f_ring_0.17.0_alpha.11_src_ec_curve25519_scalar.rs
mov edx, 0x20
mov rcx, rsi
call fcn.1400f2cca
cmp rdx, 0x20
jne 0x1400f3b74
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rdx, [rsp + 0x290]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
lea rsi, [rsp + 0x190]
movaps xmmword [rsi + 0x60], xmm6
movaps xmmword [rsi + 0x50], xmm6
movaps xmmword [rsi + 0x40], xmm6
movaps xmmword [rsi + 0x30], xmm6
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
and qword [rsi + 0x70], 0
lea r8, [rsp + 0x310]
lea r9, [rsp + 0x40]
mov rcx, rsi
call fcn.1401670c0
lea r14, [rsp + 0xb0]
mov ecx, 0xf
mov rdi, r14
rep movsq qword [rdi], qword [rsi]
lea rdi, [rsp + 0xd8]
lea rdx, [rsp + 0x100]
lea rsi, [rsp + 0x270]
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
lea r15, [rsp + 0x2b0]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
and qword [r15 + 0x20], 0
mov rcx, r15
call fcn.140167020
lea r12, [rsp + 0x2e0]
movaps xmmword [r12 + 0x10], xmm6
movaps xmmword [r12], xmm6
and qword [r12 + 0x20], 0
mov rcx, r12
mov rdx, r14
mov r8, r15
call fcn.140167070
lea r14, [rsp + 0x60]
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm6
and qword [r14 + 0x20], 0
mov rcx, r14
mov rdx, rdi
mov r8, r15
call fcn.140167070
mov rcx, rsi
mov rdx, r14
call fcn.1401670b0
mov rcx, r12
call fcn.140167050
shl al, 7
xor byte [rsi + 0x1f], al
movaps xmm0, xmmword [rsi + 0x10]
movaps xmm1, xmmword [rsi]
movups xmmword [r14], xmm1
movups xmmword [r14 + 0x10], xmm0
lea rdx, [rsp + 0x60]
mov r8d, 0x20
mov rcx, rbx
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400f3b50
xor ebp, ebp
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x3b0]
movaps xmm7, xmmword [rsp + 0x3c0]
add rsp, 0x3d0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rax, str._home_laa_.cargo_registry_src_index.crates.io_6f17d22bba15001f_ring_0.17.0_alpha.11_src_ec_curve25519_scalar.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x1401a26b0]
lea r8, [rsp + 0x190]
mov edx, 0x2b
call fcn.140056e50
ud2