Function at 0x14007ed20
Capabilities:
Hash data using sha512

Disassembly:
push rbp
push r13
push r14
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
mov rax, qword [0x14023f780]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov rax, qword [r8 + 0x28]
mov r14, rdx
mov r13, rcx
test rax, rax
je 0x14007ed80
cmp qword [rax + 0x28], 0
je 0x14007ed80
xor edx, edx
mov dword [rsp + 0x20], 0x138
lea r9, str.D:Program_Files_vcpkg_buildtrees_boringssl_src81732c5edd_6f4b2e14e9.cleancrypto_fipsmoduleecdsa_ecdsa.c
lea ecx, [rdx + 0x1a]
lea r8d, [rdx + 0x67]
call fcn.14009a320
xor eax, eax
jmp 0x14007f15f
mov qword [rsp + 0x1d0], rdi
mov rdi, qword [r8]
test rdi, rdi
je 0x14007f138
mov rax, qword [r8 + 0x10]
test rax, rax
je 0x14007f138
mov qword [rsp + 0x218], rbx
xor edx, edx
mov qword [rsp + 0x1d8], rsi
xor ecx, ecx
lea rsi, [rax + 0x18]
mov qword [rsp + 0x1c8], r12
movabs rax, 0x6a09e667f3bcc908
mov qword [rbp - 0x78], rdx
mov qword [rsp + 0x40], rax
mov r9, rsi
movabs rax, 0xbb67ae8584caa73b
mov dword [rbp + 0x10], ecx
mov qword [rsp + 0x48], rax
mov r12d, 0x80
movabs rax, 0x3c6ef372fe94f82b
mov dword [rbp + 0x14], 0x40
mov qword [rsp + 0x50], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rsp + 0x58], rax
movabs rax, 0x510e527fade682d1
mov qword [rsp + 0x60], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rsp + 0x68], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rsp + 0x70], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rbp - 0x80], rax
movsxd rbx, dword [rdi + 0x108]
shl rbx, 3
mov qword [rsp + 0x1c0], r15
mov qword [rsp + 0x30], rsi
test rbx, rbx
je 0x14007eed3
mov rax, rbx
lea rcx, [rbx*8]
shr rax, 0x3d
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rcx
cmp rbx, r12
jb 0x14007eeb7
mov r8, rbx
lea rcx, [rsp + 0x40]
shr r8, 7
mov rdx, rsi
call fcn.14001aa00
lea r9, [rbx + rsi]
and ebx, 0x7f
sub r9, rbx
test rbx, rbx
jne 0x14007eeb7
mov ecx, dword [rbp + 0x10]
jmp 0x14007eecb
mov r8, rbx
lea rcx, [rbp - 0x70]
mov rdx, r9
call fcn.1401b9820
mov ecx, ebx
mov dword [rbp + 0x10], ebx
mov rax, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x78]
mov rbx, r14
mov rsi, r13
test r14, r14
je 0x14007efa7
lea r8, [rax + r14*8]
cmp r8, rax
jae 0x14007eeee
inc rdx
mov rax, r14
mov qword [rbp - 0x80], r8
shr rax, 0x3d
add rdx, rax
mov qword [rbp - 0x78], rdx
test ecx, ecx
je 0x14007ef69
mov eax, ecx
mov rsi, r12
sub rsi, rax
cmp r14, rsi
jae 0x14007ef2e
lea rcx, [rbp - 0x70]
mov r8, r14
add rcx, rax
mov rdx, r13
call fcn.1401b9820
mov ecx, dword [rbp + 0x10]
add ecx, r14d
mov dword [rbp + 0x10], ecx
jmp 0x14007efa7
test rsi, rsi
je 0x14007ef45
lea rcx, [rbp - 0x70]
mov r8, rsi
add rcx, rax
mov rdx, r13
call fcn.1401b9820
sub rbx, rsi
mov dword [rbp + 0x10], 0
add rsi, r13
lea rdx, [rbp - 0x70]
mov r8d, 1
lea rcx, [rsp + 0x40]
call fcn.14001aa00
mov ecx, dword [rbp + 0x10]
cmp rbx, r12
jb 0x14007ef8e
mov r8, rbx
lea rcx, [rsp + 0x40]
shr r8, 7
mov rdx, rsi
call fcn.14001aa00
mov ecx, dword [rbp + 0x10]
add rsi, rbx
and ebx, 0x7f
sub rsi, rbx
test rbx, rbx
je 0x14007efa7
mov r8, rbx
lea rcx, [rbp - 0x70]
mov rdx, rsi
call fcn.1401b9820
mov ecx, ebx
mov dword [rbp + 0x10], ebx
mov r15d, dword [rbp + 0x14]
lea rbx, [rbp + 0x70]
mov esi, ecx
mov byte [rbp + rsi - 0x70], r12b
inc rsi
cmp rsi, 0x70
jbe 0x14007efef
sub r12, rsi
je 0x14007efd5
lea rcx, [rbp - 0x70]
mov r8, r12
add rcx, rsi
xor edx, edx
call fcn.1401b9ec0
xor esi, esi
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x40]
lea r8d, [rsi + 1]
call fcn.14001aa00
lea r8d, [rsi + 0x70]
jmp 0x14007effa
mov r8d, WSAStartup
sub r8, rsi
je 0x14007f008
lea rcx, [rbp - 0x70]
xor edx, edx
add rcx, rsi
call fcn.1401b9ec0
mov rax, qword [rbp - 0x78]
lea rdx, [rbp - 0x70]
bswap rax
mov qword [rbp], rax
lea rcx, [rsp + 0x40]
mov rax, qword [rbp - 0x80]
mov r8d, 1
bswap rax
mov qword [rbp + 8], rax
call fcn.14001aa00
mov r12, qword [rsp + 0x1c8]
xor ecx, ecx
shr r15, 3
test r15, r15
je 0x14007f068
nop word [rax + rax]
mov rax, qword [rsp + rcx*8 + 0x40]
lea rbx, [rbx + 8]
bswap rax
inc rcx
mov qword [rbx - 8], rax
cmp rcx, r15
jb 0x14007f050
movsxd r9, dword [rdi + 0x108]
lea rax, [rbp + 0x70]
mov r8, qword [rdi + 0x100]
lea rcx, [rbp + 0x20]
xor ebx, ebx
mov qword [rsp + 0x20], rax
lea edx, [rbx + 1]
call fcn.14008d060
test eax, eax
je 0x14007f0fa
mov r15, qword [rsp + 0x30]
nop word [rax + rax]
mov qword [rsp + 0x28], r14
lea r9, [rbp + 0x20]
mov r8, r15
mov qword [rsp + 0x20], r13
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.140094620
mov rsi, rax
test rax, rax
jne 0x14007f0fc
cmp dword [rsp + 0x30], eax
je 0x14007f0fc
inc ebx
cmp ebx, 0x20
jg 0x14007f119
movsxd r9, dword [rdi + 0x108]
lea rax, [rbp + 0x70]
mov r8, qword [rdi + 0x100]
lea edx, [rsi + 1]
lea rcx, [rbp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.14008d060
test eax, eax
jne 0x14007f0a0
xor esi, esi
mov r15, qword [rsp + 0x1c0]
mov rax, rsi
mov rsi, qword [rsp + 0x1d8]
mov rbx, qword [rsp + 0x218]
jmp 0x14007f157
xor edx, edx
mov dword [rsp + 0x20], 0x16c
lea r9, str.D:Program_Files_vcpkg_buildtrees_boringssl_src81732c5edd_6f4b2e14e9.cleancrypto_fipsmoduleecdsa_ecdsa.c
lea ecx, [rdx + 0x1a]
lea r8d, [rdx + 0x6a]
call fcn.14009a320
jmp 0x14007f0fc
xor edx, edx
mov dword [rsp + 0x20], 0x13e
lea r9, str.D:Program_Files_vcpkg_buildtrees_boringssl_src81732c5edd_6f4b2e14e9.cleancrypto_fipsmoduleecdsa_ecdsa.c
lea ecx, [rdx + 0x1a]
lea r8d, [rdx + 0x43]
call fcn.14009a320
xor eax, eax
mov rdi, qword [rsp + 0x1d0]
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.14018eb60
add rsp, 0x1e0
pop r14
pop r13
pop rbp
ret