Function at 0x140074f20
Capabilities:
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x468
movaps xmmword [rsp + 0x450], xmm10
movaps xmmword [rsp + 0x440], xmm9
movaps xmmword [rsp + 0x430], xmm8
movaps xmmword [rsp + 0x420], xmm7
movaps xmmword [rsp + 0x410], xmm6
mov r15, r8
mov rbp, rdx
mov rbx, rcx
mov rax, qword [0x140135388]
xor rax, rsp
mov qword [rsp + 0x408], rax
mov rax, qword [r8 + 0x30]
test rax, rax
jne 0x140075631
mov rsi, qword [r15]
test rsi, rsi
je 0x140075608
mov rdi, qword [r15 + 0x10]
test rdi, rdi
je 0x140075608
call fcn.140074730
test rax, rax
je 0x14007565d
mov r12, rax
add rdi, 0x18
mov qword [rsp + 0x40], rdi
lea rdx, [rsp + 0xa0]
mov rcx, rsi
mov r8, rbx
mov r9, rbp
call fcn.140074cd0
movaps xmm8, xmmword [0x140111190]
movaps xmm9, xmmword [0x1401111a0]
movaps xmm10, xmmword [0x1401111b0]
movaps xmm7, xmmword [0x1401111c0]
xorps xmm6, xmm6
lea rdi, [rsp + 0x200]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x38], r15
mov r15, qword [r15]
lea rcx, [r15 + 0x10]
call fcn.140066380
cmp eax, 0x9f
jbe 0x140075709
lea rbp, [rsp + 0x3c0]
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x18]
test r8, r8
jne 0x14007567e
movaps xmmword [rsp + 0x200], xmm8
movaps xmmword [rsp + 0x210], xmm9
movaps xmmword [rsp + 0x220], xmm10
movaps xmmword [rsp + 0x230], xmm7
movabs rax, 0x4000000000
mov qword [rsp + 0x2d0], rax
movaps xmmword [rsp + 0x240], xmm6
movsxd r8, dword [r15 + 0x18]
shl r8, 3
mov rcx, rdi
mov rdx, qword [rsp + 0x40]
call fcn.1400870f0
mov rcx, rdi
mov rdx, rbx
mov r8, qword [rsp + 0x50]
call fcn.1400870f0
lea rsi, [rsp + 0x1c0]
mov rcx, rsi
mov rdx, rdi
call fcn.140087200
movsxd r9, dword [r15 + 0x18]
mov r8, qword [r15 + 0x10]
mov qword [rsp + 0x20], rsi
mov edx, 1
mov rcx, rbp
call fcn.140072130
test eax, eax
je 0x1400757cf
mov rax, qword [r15]
mov rcx, r15
lea rsi, [rsp + 0x178]
mov rdx, rsi
mov r8, rbp
call qword [rax + 0xa0]
movsxd r13, dword [r15 + 0x18]
cmp r13, 9
ja 0x140075603
mov r12, qword [r15 + 0x30]
cmp dword [r12 + 0x20], r13d
jne 0x140075603
mov r14, r13
add r14, r13
cmp r14, r13
jb 0x140075603
mov r8d, 0x90
lea rdi, [rsp + 0x200]
mov rcx, rdi
xor edx, edx
call fcn.1400dc190
test r13d, r13d
je 0x140075150
lea r8, [r13*8]
mov rcx, rdi
mov rdx, rsi
call fcn.1400dbd80
mov qword [rsp + 0x20], r12
mov rcx, rsi
mov rdx, r13
mov r8, rdi
mov r9, r14
call fcn.14006f740
test eax, eax
lea r14, [rsp + 0x130]
je 0x140075603
shl r13, 4
mov rcx, rdi
mov rdx, r13
call fcn.140090500
mov rax, qword [r15]
mov rcx, r15
lea rsi, [rsp + 0x2e0]
mov rdx, rsi
lea rbp, [rsp + 0x3c0]
mov r8, rbp
call qword [rax + 0x40]
mov rcx, r15
mov rdx, rsi
call fcn.140076e20
test eax, eax
mov r13, qword [rsp + 0x48]
je 0x1400756cf
mov rcx, r15
mov rdx, r14
mov r8, rsi
call fcn.140078390
test eax, eax
mov rbx, qword [rsp + 0x30]
je 0x1400757cf
mov ecx, dword [r15 + 0x18]
test ecx, ecx
jle 0x140075218
mov rax, qword [rsp + 0x130]
cmp ecx, 1
je 0x14007521a
or rax, qword [rsp + 0x138]
cmp ecx, 2
je 0x14007521a
or rax, qword [rsp + 0x140]
cmp ecx, 3
je 0x14007521a
or rax, qword [rsp + 0x148]
cmp ecx, 4
je 0x14007521a
jmp 0x140075584
xor eax, eax
test rax, rax
je 0x140075031
mov r15, qword [rsp + 0x38]
mov edx, 0x48
mov rcx, rbp
call fcn.140090500
mov esi, dword [r13 + 0x18]
movsxd rdi, esi
mov r12, qword [rsp + 0x28]
mov rbp, qword [r12]
mov rcx, rbp
mov rdx, rdi
call fcn.140064cf0
test eax, eax
je 0x1400757e6
test esi, esi
je 0x14007526f
shl rdi, 3
mov rcx, qword [rbp]
mov rdx, r14
mov r8, rdi
call fcn.1400dbd80
mov dword [rbp + 8], esi
mov dword [rbp + 0x10], 0
mov rax, qword [r13 + 0x30]
movsxd r9, dword [r13 + 0x18]
mov r8, qword [rax]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, r14
call fcn.140069a10
mov rax, qword [r13 + 0x30]
movsxd r9, dword [r13 + 0x18]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xe8]
mov rdx, qword [rsp + 0x40]
mov r8, r14
call fcn.140069a10
movsxd rax, dword [r13 + 0x18]
test rax, rax
je 0x1400753ed
mov rbp, qword [r13 + 0x10]
xor edi, edi
mov rcx, rax
lea rsi, [rsp + 0xa0]
lea rbx, [rsp + 0xe8]
lea r8, [rsp + 0x58]
sub rdx, rdx
jmp 0x1400752f0
mov rdx, qword [rsi + rdi*8]
adc rdx, qword [rbx + rdi*8]
mov qword [r8 + rdi*8], rdx
lea rdi, [rdi + 1]
dec rcx
jne 0x1400752f0
sbb rdx, rdx
and edx, 1
xor edi, edi
mov rcx, rax
lea rbx, [rsp + 0x2e0]
sub rsi, rsi
jmp 0x140075320
mov rsi, qword [r8 + rdi*8]
sbb rsi, qword [rbp + rdi*8]
mov qword [rbx + rdi*8], rsi
lea rdi, [rdi + 1]
dec rcx
jne 0x140075320
sbb rsi, rsi
and esi, 1
sub rdx, rsi
mov rcx, rdx
not rdx
mov rbp, qword [rsp + 0x58]
and rbp, rcx
mov rdi, qword [rsp + 0x2e0]
and rdi, rdx
or rdi, rbp
mov qword [rsp + 0x58], rdi
cmp eax, 1
je 0x1400753ed
mov rbp, qword [rsp + 0x60]
and rbp, rcx
mov rdi, qword [rsp + 0x2e8]
and rdi, rdx
or rdi, rbp
mov qword [rsp + 0x60], rdi
cmp eax, 2
je 0x1400753ed
mov rbp, qword [rsp + 0x68]
and rbp, rcx
mov rdi, qword [rsp + 0x2f0]
and rdi, rdx
or rdi, rbp
mov qword [rsp + 0x68], rdi
cmp eax, 3
je 0x1400753ed
mov rbp, qword [rsp + 0x70]
and rbp, rcx
mov rdi, qword [rsp + 0x2f8]
and rdi, rdx
or rdi, rbp
mov qword [rsp + 0x70], rdi
cmp eax, 4
je 0x1400753ed
mov rbp, qword [rsp + 0x78]
and rbp, rcx
mov rdi, qword [rsp + 0x300]
and rdi, rdx
or rdi, rbp
mov qword [rsp + 0x78], rdi
cmp eax, 5
jne 0x1400755d5
mov edx, 0x48
lea rcx, [rsp + 0x2e0]
call fcn.140090500
mov rax, qword [r13 + 0x30]
movsxd r9, dword [r13 + 0x18]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xe8]
lea rdx, [rsp + 0x58]
lea r8, [rsp + 0x178]
call fcn.140069a10
mov esi, dword [r13 + 0x18]
movsxd rdi, esi
mov rbp, qword [r12 + 8]
mov rcx, rbp
mov rdx, rdi
call fcn.140064cf0
test eax, eax
je 0x1400757e6
test esi, esi
je 0x140075461
shl rdi, 3
mov rcx, qword [rbp]
lea rdx, [rsp + 0xe8]
mov r8, rdi
call fcn.1400dbd80
mov dword [rbp + 8], esi
mov dword [rbp + 0x10], 0
mov rax, qword [r12 + 8]
movsxd rcx, dword [rax + 8]
test rcx, rcx
je 0x1400754c3
mov ebp, ecx
cmp rcx, 1
mov edx, 1
cmovbe rcx, rdx
mov rdx, qword [rax]
mov rax, qword [rdx]
cmp ebp, 2
lea rdi, [rsp + 0x200]
jb 0x1400754cd
or rax, qword [rdx + 8]
cmp rcx, 2
mov rbx, qword [rsp + 0x30]
je 0x1400754d2
or rax, qword [rdx + 0x10]
cmp rcx, 3
je 0x1400754d2
or rax, qword [rdx + 0x18]
cmp rcx, 4
je 0x1400754d2
jmp 0x1400755b0
xor eax, eax
lea rdi, [rsp + 0x200]
mov rbx, qword [rsp + 0x30]
test rax, rax
je 0x14007500d
lea rcx, [rsp + 0x178]
mov edx, 0x48
call fcn.140090500
lea rcx, [rsp + 0x130]
mov edx, 0x48
call fcn.140090500
lea rcx, [rsp + 0xe8]
mov edx, 0x48
call fcn.140090500
lea rcx, [rsp + 0x58]
mov edx, 0x48
call fcn.140090500
lea rcx, [rsp + 0xa0]
mov edx, 0x48
call fcn.140090500
mov rcx, qword [rsp + 0x408]
xor rcx, rsp
call fcn.1400d8ee0
mov rax, r12
movaps xmm6, xmmword [rsp + 0x410]
movaps xmm7, xmmword [rsp + 0x420]
movaps xmm8, xmmword [rsp + 0x430]
movaps xmm9, xmmword [rsp + 0x440]
movaps xmm10, xmmword [rsp + 0x450]
add rsp, 0x468
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
or rax, qword [rsp + 0x150]
cmp ecx, 5
je 0x14007521a
mov edx, 5
or rax, qword [rsp + rdx*8 + 0x130]
inc rdx
cmp rcx, rdx
je 0x14007521a
jmp 0x14007559a
or rax, qword [rdx + 0x20]
cmp rcx, 5
je 0x1400754d2
mov ebp, 5
or rax, qword [rdx + rbp*8]
inc rbp
cmp rcx, rbp
je 0x1400754d2
jmp 0x1400755c3
mov ebp, 5
mov rdi, qword [rsp + rbp*8 + 0x58]
and rdi, rcx
mov rsi, qword [rsp + rbp*8 + 0x2e0]
and rsi, rdx
or rsi, rdi
mov qword [rsp + rbp*8 + 0x58], rsi
inc rbp
cmp rax, rbp
je 0x1400753ed
jmp 0x1400755da
call fcn.1400eb008
mov dword [rsp + 0x20], 0x110
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_ecdsa_ecdsa.c
xor r12d, r12d
mov ecx, 0x1a
xor edx, edx
mov r8d, 0x43
call fcn.1400a8ab0
jmp 0x140075532
cmp qword [rax + 0x28], 0
je 0x140074f86
mov dword [rsp + 0x20], 0x10a
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_ecdsa_ecdsa.c
xor r12d, r12d
mov ecx, 0x1a
xor edx, edx
mov r8d, 0x67
jmp 0x140075627
mov dword [rsp + 0x20], 0x11a
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_ecdsa_ecdsa.c
xor r12d, r12d
mov ecx, 0x1a
xor edx, edx
mov r8d, 0x41
jmp 0x140075627
movsxd rdx, dword [r15 + 0x18]
mov rcx, rbp
call fcn.1400664b0
test eax, eax
je 0x1400756e8
movsxd rdi, dword [r15 + 0x18]
mov r8, qword [r15 + 0x10]
lea rcx, [rsp + 0x3c0]
mov rdx, rdi
mov r9, rdi
call fcn.140066a10
test eax, eax
jns 0x1400756e8
mov edx, edi
test edx, edx
jle 0x1400757ae
lea rcx, [rdx - 1]
mov eax, edx
and eax, 7
cmp rcx, 7
jae 0x14007572f
xor ebp, ebp
xor ecx, ecx
jmp 0x14007577f
mov dword [rsp + 0x20], 0x425
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_ec_ec.c
mov ecx, 0xf
jmp 0x1400757c2
mov dword [rsp + 0x20], 0x1c
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_ec_scalar.c
mov ecx, 0xf
xor edx, edx
mov r8d, 0x85
jmp 0x1400757ca
mov dword [rsp + 0x20], 0xd1
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_ecdsa_ecdsa.c
mov ecx, 0x1a
xor edx, edx
mov r8d, 0x70
call fcn.1400a8ab0
jmp 0x1400757e1
and edx, 0xfffffff8
xor ebp, ebp
xor ecx, ecx
or rcx, qword [rsp + rbp*8 + 0x3c0]
or rcx, qword [rsp + rbp*8 + 0x3c8]
or rcx, qword [rsp + rbp*8 + 0x3d0]
or rcx, qword [rsp + rbp*8 + 0x3d8]
or rcx, qword [rsp + rbp*8 + 0x3e0]
or rcx, qword [rsp + rbp*8 + 0x3e8]
or rcx, qword [rsp + rbp*8 + 0x3f0]
or rcx, qword [rsp + rbp*8 + 0x3f8]
add rbp, 8
cmp rdx, rbp
jne 0x140075736
test rax, rax
je 0x14007579d
lea rdx, [rsp + rbp*8]
add rdx, 0x3c0
xor ebp, ebp
or rcx, qword [rdx + rbp*8]
inc rbp
cmp rax, rbp
jne 0x140075791
test rcx, rcx
lea rbp, [rsp + 0x3c0]
jne 0x1400750da
mov dword [rsp + 0x20], 0xdf
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_ecdsa_ecdsa.c
mov ecx, 0x1a
xor edx, edx
mov r8d, 0x44
call fcn.1400a8ab0
lea rcx, [rsp + 0x3c0]
mov edx, 0x48
call fcn.140090500
mov r12, qword [rsp + 0x28]
mov rsi, qword [r12]
test rsi, rsi
je 0x14007580d
mov eax, dword [rsi + 0x14]
test al, 2
jne 0x140075801
mov rcx, qword [rsi]
call fcn.1400904c0
mov eax, dword [rsi + 0x14]
test al, 1
je 0x14007584b
mov rcx, rsi
call fcn.1400904c0
mov rax, qword [rsp + 0x28]
mov rsi, qword [rax + 8]
test rsi, rsi
je 0x140075839
mov eax, dword [rsi + 0x14]
test al, 2
jne 0x14007582d
mov rcx, qword [rsi]
call fcn.1400904c0
mov eax, dword [rsi + 0x14]
test al, 1
je 0x140075854
mov rcx, rsi
call fcn.1400904c0
mov rcx, qword [rsp + 0x28]
call fcn.1400904c0
xor r12d, r12d
jmp 0x1400754db
mov qword [rsi], 0
jmp 0x14007580d
mov qword [rsi], 0
jmp 0x140075839