Function at 0x1400ad1e0
Capabilities:
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2d8
movaps xmmword [rsp + 0x2c0], xmm10
movaps xmmword [rsp + 0x2b0], xmm9
movaps xmmword [rsp + 0x2a0], xmm8
movaps xmmword [rsp + 0x290], xmm7
movaps xmmword [rsp + 0x280], xmm6
mov r13, r9
mov rbp, r8
mov rsi, rdx
mov r15, rcx
mov rax, qword [0x140162028]
xor rax, rsp
mov qword [rsp + 0x278], rax
mov r12, qword [rcx]
lea rcx, [r12 + 0x10]
call fcn.14009ec50
cmp eax, 0x9f
jbe 0x1400ad537
mov qword [rsp + 0x28], rsi
mov rdx, qword [rsp + 0x348]
mov rsi, qword [rsp + 0x340]
movaps xmm8, xmmword [0x140137ec0]
movaps xmm9, xmmword [0x140137ed0]
movaps xmm10, xmmword [0x140137ee0]
movaps xmm7, xmmword [0x140137ef0]
movabs rax, 0x4000000000
xorps xmm6, xmm6
lea rdi, [rsp + 0x80]
lea rbx, [rsp + 0x40]
mov r8, qword [r15 + 0x18]
test r8, r8
jne 0x1400ad560
movaps xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x90], xmm9
movaps xmmword [rsp + 0xa0], xmm10
movaps xmmword [rsp + 0xb0], xmm7
mov qword [rsp + 0x150], rax
movaps xmmword [rsp + 0xc0], xmm6
movsxd r8, dword [r12 + 0x18]
shl r8, 3
mov rcx, rdi
call fcn.1400bdb00
mov rcx, rdi
mov rdx, r13
mov r8, rsi
call fcn.1400bdb00
mov rcx, rbx
mov rdx, rdi
call fcn.1400bdc10
movsxd r9, dword [r12 + 0x18]
mov r8, qword [r12 + 0x10]
mov qword [rsp + 0x20], rbx
mov edx, 1
lea rdi, [rsp + 0x230]
mov rcx, rdi
call fcn.1400aa450
test eax, eax
mov rsi, qword [rsp + 0x28]
je 0x1400ad5e8
mov rax, r13
mov r13, rbx
mov r14, rbp
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], rax
mov rax, qword [r12]
mov rcx, r12
mov rdx, rsi
mov r8, rdi
call qword [rax + 0xa0]
movsxd rbx, dword [r12 + 0x18]
cmp rbx, 9
ja 0x1400ad630
mov rdi, qword [r12 + 0x30]
cmp dword [rdi + 0x20], ebx
jne 0x1400ad630
lea rbp, [rbx + rbx]
cmp rbp, rbx
jb 0x1400ad630
mov r8d, 0x90
lea r15, [rsp + 0x80]
mov rcx, r15
xor edx, edx
call fcn.1400f27e0
test ebx, ebx
je 0x1400ad3bc
lea r8, [rbx*8]
mov rcx, r15
mov rdx, rsi
call fcn.1400f23d0
mov qword [rsp + 0x20], rdi
mov rcx, rsi
mov rdx, rbx
mov r8, r15
mov r9, rbp
call fcn.1400a87c0
test eax, eax
je 0x1400ad630
shl rbx, 4
mov rcx, r15
mov rdx, rbx
call fcn.1400c6850
mov rax, qword [r12]
mov rcx, r12
lea rsi, [rsp + 0x158]
mov rdx, rsi
lea r8, [rsp + 0x230]
call qword [rax + 0x40]
mov rcx, r12
mov rdx, rsi
call fcn.1400ae8c0
test eax, eax
je 0x1400ad5f0
mov rbp, r14
mov rbx, r13
mov rcx, r12
mov rdx, r14
mov r8, rsi
call fcn.1400afbc0
test eax, eax
je 0x1400ad5e8
mov ecx, dword [r12 + 0x18]
mov r14d, 1
mov edi, 1
test ecx, ecx
mov r13, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x348]
jle 0x1400ad48c
mov rax, qword [rbp]
cmp ecx, 1
je 0x1400ad483
or rax, qword [rbp + 8]
cmp ecx, 2
je 0x1400ad483
or rax, qword [rbp + 0x10]
cmp ecx, 3
je 0x1400ad483
or rax, qword [rbp + 0x18]
cmp ecx, 4
jne 0x1400ad512
xor edi, edi
test rax, rax
sete dil
test edi, edi
mov rsi, qword [rsp + 0x340]
movabs rax, 0x4000000000
lea rdi, [rsp + 0x80]
jne 0x1400ad2a2
lea rcx, [rsp + 0x230]
mov edx, 0x48
call fcn.1400c6850
mov rcx, qword [rsp + 0x278]
xor rcx, rsp
call fcn.1400f0560
mov eax, r14d
movaps xmm6, xmmword [rsp + 0x280]
movaps xmm7, xmmword [rsp + 0x290]
movaps xmm8, xmmword [rsp + 0x2a0]
movaps xmm9, xmmword [rsp + 0x2b0]
movaps xmm10, xmmword [rsp + 0x2c0]
add rsp, 0x2d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
or rax, qword [rbp + 0x20]
cmp ecx, 5
je 0x1400ad483
mov edi, 5
or rax, qword [rbp + rdi*8]
inc rdi
cmp rcx, rdi
je 0x1400ad483
jmp 0x1400ad524
mov dword [rsp + 0x20], 0xd1
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_ecdsa_ecdsa.c
xor r14d, r14d
mov ecx, 0x1a
xor edx, edx
mov r8d, 0x70
call fcn.14009b3a0
jmp 0x1400ad4c0
mov rcx, r12
lea rdi, [rsp + 0x230]
mov rdx, rdi
call fcn.1400acb10
test eax, eax
mov rsi, qword [rsp + 0x28]
je 0x1400ad5e8
mov ecx, dword [r12 + 0x18]
test ecx, ecx
jle 0x1400ad5cf
mov rax, qword [rsp + 0x230]
cmp ecx, 1
je 0x1400ad5c6
or rax, qword [rsp + 0x238]
cmp ecx, 2
je 0x1400ad5c6
or rax, qword [rsp + 0x240]
cmp ecx, 3
je 0x1400ad5c6
or rax, qword [rsp + 0x248]
cmp ecx, 4
je 0x1400ad5c6
or rax, qword [rsp + 0x250]
cmp ecx, 5
jne 0x1400ad619
test rax, rax
jne 0x1400ad33d
mov dword [rsp + 0x20], 0xdf
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_ecdsa_ecdsa.c
xor r14d, r14d
mov ecx, 0x1a
jmp 0x1400ad607
xor r14d, r14d
jmp 0x1400ad4ae
mov dword [rsp + 0x20], 0x425
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_ec_ec.c
xor r14d, r14d
mov ecx, 0xf
xor edx, edx
mov r8d, 0x44
call fcn.14009b3a0
jmp 0x1400ad4ae
mov edx, 5
or rax, qword [rsp + rdx*8 + 0x230]
inc rdx
cmp rcx, rdx
je 0x1400ad5c6
jmp 0x1400ad61e
call fcn.1401021d8
int3