Function at 0x1400c74f0
Capabilities:
Hash data using sha1

Disassembly:
push rbp
push rdi
push r12
lea rbp, [rsp - 0x4f0]
sub rsp, 0x5f0
mov rax, qword [0x140123218]
xor rax, rsp
mov qword [rbp + 0x4d0], rax
mov rdx, qword [rcx + 0x10]
mov r12, rcx
cmp qword [rdx + 8], 0
mov edi, dword [rdx + 0x10]
jne 0x1400c7530
mov eax, 0xffffff53
jmp 0x1400c7968
mov qword [rsp + 0x618], rbx
lea rcx, [rbp + 0x2b0]
mov qword [rsp + 0x620], rsi
xorps xmm0, xmm0
xor esi, esi
mov qword [rsp + 0x628], r13
mov qword [rsp + 0x5e8], r14
mov r8, rdi
mov qword [rbp - 0x20], rsi
mov r14d, esi
mov dword [rbp - 0x34], 0x67452301
mov ebx, esi
mov dword [rbp - 0x30], 0xefcdab89
mov dword [rbp - 0x2c], 0x98badcfe
mov dword [rbp - 0x28], 0x10325476
mov qword [rbp - 0x80], rsi
mov dword [rbp - 0x78], esi
mov qword [rbp + 0x50], rsi
mov dword [rbp + 0x3c], 0x67452301
mov dword [rbp + 0x40], 0xefcdab89
mov dword [rbp + 0x44], 0x98badcfe
mov dword [rbp + 0x48], 0x10325476
mov dword [rbp + 0x4c], 0xc3d2e1f0
mov qword [rbp - 0x10], rsi
mov dword [rbp - 8], esi
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x5e0], r15
xor r15d, r15d
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x68], r15d
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x40], rdi
movups xmmword [rsp + 0x58], xmm0
call fcn.1400cd4d0
mov r9d, 0xffffffe0
mov qword [rsp + 0x38], rsi
sub r9d, edi
lea r13d, [rdi + 0x21]
mov eax, 0xffffffdf
mov dword [rsp + 0x30], r9d
sub eax, edi
mov dword [rsp + 0x28], eax
nop dword [rax + rax]
lea edx, [rax + r13]
lea rcx, [rsp + 0x70]
call fcn.1400c5e10
test eax, eax
je 0x1400c7931
lea edi, [r9 + r13]
movsxd r8, edi
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x60]
call fcn.1400cd4d0
mov rsi, qword [r12 + 0x10]
lea rcx, [rbp + 0x60]
mov eax, edi
mov rdi, qword [rsp + 0x40]
add rcx, rax
mov r8, rdi
mov rdx, qword [rsi + 8]
call fcn.1400cd4d0
lea eax, [r13 - 0x20]
movups xmm0, xmmword [rsi + 0x1c]
movups xmm1, xmmword [rsi + 0x2c]
movups xmmword [rbp + rax + 0x60], xmm0
movups xmm0, xmmword [rsi + 0x3c]
movups xmmword [rbp + rax + 0x70], xmm1
movups xmm1, xmmword [rsi + 0x4c]
movups xmmword [rbp + r13 + 0x60], xmm0
movups xmmword [rbp + r13 + 0x70], xmm1
test ebx, ebx
jne 0x1400c76cd
lea r8d, [r13 + 0x20]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x10]
call fcn.1400aacc0
mov ebx, eax
test eax, eax
jne 0x1400c76c9
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x10]
call fcn.1400ab160
movups xmm0, xmmword [rsp + 0x58]
mov r15d, dword [rsp + 0x68]
mov ebx, eax
mov r14d, dword [rbp - 0x80]
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x20], r15
jmp 0x1400c76d2
mov r14d, dword [rbp - 0x80]
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rbp + rdi + 0x2b0], xmm0
mov dword [rbp + rdi + 0x2c0], r15d
test ebx, ebx
jne 0x1400c78f1
lea r15d, [rdi + 0x14]
lea rsi, [rbp + 0x2b0]
cmp r14d, 0x40
jb 0x1400c7705
mov ebx, 0xffffff7c
jmp 0x1400c78ec
mov ecx, dword [rbp - 0x7c]
lea eax, [r15 + rcx]
mov dword [rbp - 0x7c], eax
cmp eax, ecx
jae 0x1400c7716
inc dword [rbp - 0x78]
test r14d, r14d
je 0x1400c7786
mov ecx, 0x40
mov eax, r14d
sub ecx, r14d
lea rdx, [rbp + 0x2b0]
cmp r15d, ecx
mov edi, r15d
cmovae edi, ecx
lea rcx, [rbp - 0x74]
add rcx, rax
mov r8d, edi
call fcn.1400cd4d0
mov r14d, dword [rbp - 0x80]
lea rsi, [rbp + 0x2b0]
add r14d, edi
add rsi, rdi
sub r15d, edi
mov dword [rbp - 0x80], r14d
cmp r14d, 0x40
jne 0x1400c7786
lea rdx, [rbp - 0x74]
lea rcx, [rbp - 0x80]
call fcn.1400bcf60
mov ebx, eax
test eax, eax
je 0x1400c777f
mov r14d, dword [rbp - 0x80]
jmp 0x1400c78ec
xor r14d, r14d
mov dword [rbp - 0x80], r14d
cmp r15d, 0x40
jb 0x1400c77e0
mov edi, r15d
shr rdi, 6
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rsi]
lea rdx, [rbp - 0x74]
add r15d, 0xffffffc0
lea rcx, [rbp - 0x80]
movups xmmword [rbp - 0x74], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rbp - 0x64], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [rbp - 0x54], xmm0
movups xmm1, xmmword [rsi + 0x30]
add rsi, 0x40
movups xmmword [rbp - 0x44], xmm1
call fcn.1400bcf60
mov ebx, eax
sub rdi, 1
jne 0x1400c77a0
mov r14d, dword [rbp - 0x80]
test r15d, r15d
je 0x1400c77fb
mov r8d, r15d
lea rcx, [rbp - 0x74]
mov rdx, rsi
call fcn.1400cd4d0
mov r14d, r15d
mov dword [rbp - 0x80], r15d
test ebx, ebx
jne 0x1400c78ec
mov rcx, qword [rsp + 0x38]
mov rbx, qword [r12 + 0x10]
add rcx, 0xad
add rbx, rcx
je 0x1400c78e7
mov eax, r14d
mov byte [rbp + rax - 0x74], 0x80
mov ecx, dword [rbp - 0x80]
inc ecx
mov dword [rbp - 0x80], ecx
cmp ecx, 0x38
jbe 0x1400c7868
mov eax, ecx
mov r8d, 0x40
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x74]
add rcx, rax
call fcn.1400cdb70
lea rdx, [rbp - 0x74]
mov dword [rbp - 0x80], 0x40
lea rcx, [rbp - 0x80]
call fcn.1400bcf60
xor esi, esi
mov ecx, esi
mov dword [rbp - 0x80], ecx
jmp 0x1400c786a
xor esi, esi
mov eax, ecx
mov r8d, 0x38
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x74]
add rcx, rax
call fcn.1400cdb70
mov r8d, dword [rbp - 0x7c]
mov ecx, r8d
mov eax, dword [rbp - 0x78]
shr ecx, 0x1d
shl r8d, 3
mov dword [rbp - 0x7c], r8d
mov dword [rbp - 0x3c], r8d
lea edx, [rcx + rax*8]
mov dword [rbp - 0x78], edx
lea rcx, [rbp - 0x80]
mov dword [rbp - 0x38], edx
lea rdx, [rbp - 0x74]
call fcn.1400bcf60
movups xmm0, xmmword [rbp - 0x34]
mov r14d, esi
movups xmmword [rbx], xmm0
mov dword [rbp - 0x34], 0x67452301
mov ebx, esi
mov dword [rbp - 0x30], 0xefcdab89
mov dword [rbp - 0x2c], 0x98badcfe
mov dword [rbp - 0x28], 0x10325476
mov qword [rbp - 0x80], 0
mov dword [rbp - 0x78], esi
jmp 0x1400c78ec
mov ebx, 0xffffff53
mov r15, qword [rsp + 0x20]
mov eax, dword [rsp + 0x28]
inc r13d
add qword [rsp + 0x38], 0x10
add eax, r13d
mov r9d, dword [rsp + 0x30]
cmp eax, 3
mov eax, dword [rsp + 0x28]
jl 0x1400c7610
test ebx, ebx
jne 0x1400c7936
mov rcx, r12
call fcn.1400c6eb0
mov ebx, eax
test eax, eax
jne 0x1400c7936
mov rcx, r12
call fcn.1400c7340
mov ebx, eax
jmp 0x1400c793e
mov ebx, 0xfffffed2
mov rcx, r12
call fcn.1400c7340
mov r15, qword [rsp + 0x5e0]
mov eax, ebx
mov rbx, qword [rsp + 0x618]
mov r14, qword [rsp + 0x5e8]
mov r13, qword [rsp + 0x628]
mov rsi, qword [rsp + 0x620]
mov rcx, qword [rbp + 0x4d0]
xor rcx, rsp
call fcn.1400cad70
add rsp, 0x5f0
pop r12
pop rdi
pop rbp
ret