Function at 0x1800e82e0
Capabilities:
Hash data using sha512

Disassembly:
push rbp
push r13
push r15
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
mov rax, qword [0x180201ac0]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov rax, qword [r8 + 0x28]
mov r15, rdx
mov r13, rcx
test rax, rax
je 0x1800e8340
cmp qword [rax + 0x28], 0
je 0x1800e8340
xor edx, edx
mov dword [rsp + 0x20], 0x12f
lea r9, str.Z:DevelopePublicCodes_boringsslcrypto_fipsmoduleecdsa_ecdsa.c
lea ecx, [rdx + 0x1a]
lea r8d, [rdx + 0x67]
call fcn.1801076a0
xor eax, eax
jmp 0x1800e86be
mov qword [rsp + 0x1d8], rsi
mov rsi, qword [r8]
test rsi, rsi
je 0x1800e86da
mov rax, qword [r8 + 0x10]
test rax, rax
je 0x1800e86da
mov qword [rsp + 0x218], rbx
xor ebx, ebx
mov qword [rsp + 0x1d0], rdi
mov edx, ebx
mov qword [rsp + 0x1c8], r12
mov ecx, ebx
mov qword [rsp + 0x1c0], r14
mov r12d, 0x80
lea r14, [rax + 0x18]
mov qword [rbp - 0x80], rbx
movabs rax, 0x6a09e667f3bcc908
mov qword [rbp - 0x78], rbx
mov qword [rsp + 0x40], rax
mov r9, r14
movabs rax, 0xbb67ae8584caa73b
mov dword [rbp + 0x10], ebx
mov qword [rsp + 0x48], rax
movabs rax, 0x3c6ef372fe94f82b
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
mov eax, ebx
mov dword [rbp + 0x14], 0x40
movsxd rdi, dword [rsi + 0x18]
shl rdi, 3
mov qword [rsp + 0x30], r14
test rdi, rdi
je 0x1800e8492
mov rax, rdi
lea rcx, [rdi*8]
shr rax, 0x3d
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rcx
cmp rdi, r12
jb 0x1800e8476
mov r8, rdi
lea rcx, [rsp + 0x40]
shr r8, 7
mov rdx, r14
call fcn.180025b80
lea r9, [rdi + r14]
and edi, 0x7f
sub r9, rdi
test rdi, rdi
jne 0x1800e8476
mov ecx, dword [rbp + 0x10]
jmp 0x1800e848a
mov r8, rdi
lea rcx, [rbp - 0x70]
mov rdx, r9
call fcn.180135a90
mov ecx, edi
mov dword [rbp + 0x10], ecx
mov rax, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x78]
mov rdi, r15
mov r14, r13
test r15, r15
je 0x1800e855f
lea r8, [rax + r15*8]
cmp r8, rax
jae 0x1800e84ad
inc rdx
mov rax, r15
mov qword [rbp - 0x80], r8
shr rax, 0x3d
add rdx, rax
mov qword [rbp - 0x78], rdx
test ecx, ecx
je 0x1800e8521
mov eax, ecx
mov r14, r12
sub r14, rax
cmp r15, r14
jae 0x1800e84ea
lea rcx, [rbp - 0x70]
mov r8, r15
add rcx, rax
mov rdx, r13
call fcn.180135a90
mov ecx, dword [rbp + 0x10]
add ecx, r15d
jmp 0x1800e855c
test r14, r14
je 0x1800e8501
lea rcx, [rbp - 0x70]
mov r8, r14
add rcx, rax
mov rdx, r13
call fcn.180135a90
sub rdi, r14
mov dword [rbp + 0x10], ebx
add r14, r13
lea rdx, [rbp - 0x70]
mov r8d, 1
lea rcx, [rsp + 0x40]
call fcn.180025b80
mov ecx, dword [rbp + 0x10]
cmp rdi, r12
jb 0x1800e8546
mov r8, rdi
lea rcx, [rsp + 0x40]
shr r8, 7
mov rdx, r14
call fcn.180025b80
mov ecx, dword [rbp + 0x10]
add r14, rdi
and edi, 0x7f
sub r14, rdi
test rdi, rdi
je 0x1800e855f
mov r8, rdi
lea rcx, [rbp - 0x70]
mov rdx, r14
call fcn.180135a90
mov ecx, edi
mov dword [rbp + 0x10], ecx
mov r14d, ecx
lea rdi, [rbp + 0x70]
mov byte [rbp + r14 - 0x70], r12b
inc r14
cmp r14, 0x70
jbe 0x1800e85a9
sub r12, r14
je 0x1800e858a
lea rcx, [rbp - 0x70]
mov r8, r12
add rcx, r14
xor edx, edx
call fcn.180136140
mov r8d, 1
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x40]
mov r14, rbx
call fcn.180025b80
mov r8d, reloc.WS2_32.dll_WSASetLastError
jmp 0x1800e85b4
mov r8d, reloc.WS2_32.dll_WSASetLastError
sub r8, r14
je 0x1800e85c2
lea rcx, [rbp - 0x70]
xor edx, edx
add rcx, r14
call fcn.180136140
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.180025b80
mov ecx, dword [rbp + 0x14]
mov r14, qword [rsp + 0x1c0]
mov r12, qword [rsp + 0x1c8]
shr rcx, 3
test rcx, rcx
je 0x1800e8628
nop dword [rax + rax]
mov rax, qword [rsp + rbx*8 + 0x40]
lea rdi, [rdi + 8]
bswap rax
inc rbx
mov qword [rdi - 8], rax
cmp rbx, rcx
jb 0x1800e8610
movsxd r9, dword [rsi + 0x18]
lea rax, [rbp + 0x70]
mov r8, qword [rsi + 0x10]
lea rcx, [rbp + 0x20]
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1800f7730
mov rdi, qword [rsp + 0x1d0]
test eax, eax
je 0x1800e86ac
mov rbx, qword [rsp + 0x30]
nop dword [rax + rax]
mov qword [rsp + 0x28], r15
lea r9, [rbp + 0x20]
mov r8, rbx
mov qword [rsp + 0x20], r13
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.1800ff410
test rax, rax
jne 0x1800e86ae
cmp dword [rsp + 0x30], eax
je 0x1800e86ae
movsxd r9, dword [rsi + 0x18]
lea rax, [rbp + 0x70]
mov r8, qword [rsi + 0x10]
lea rcx, [rbp + 0x20]
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1800f7730
test eax, eax
jne 0x1800e8660
xor eax, eax
mov rbx, qword [rsp + 0x218]
mov rsi, qword [rsp + 0x1d8]
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.180133630
add rsp, 0x1e0
pop r15
pop r13
pop rbp
ret
xor edx, edx
mov dword [rsp + 0x20], 0x135
lea r9, str.Z:DevelopePublicCodes_boringsslcrypto_fipsmoduleecdsa_ecdsa.c
lea ecx, [rdx + 0x1a]
lea r8d, [rdx + 0x43]
call fcn.1801076a0
xor eax, eax
jmp 0x1800e86b6