Function at 0x1400cc290
Capabilities:
Hash data using sha1

Disassembly:
push rbp
push rdi
push r12
lea rbp, [rsp - 0x4f0]
sub rsp, 0x5f0
mov rax, qword [0x14012c240]
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 0x1400cc2d0
mov eax, 0xffffff53
jmp 0x1400cc708
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.1400fb190
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.1400cab50
test eax, eax
je 0x1400cc6d1
lea edi, [r9 + r13]
movsxd r8, edi
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x60]
call fcn.1400fb190
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.1400fb190
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 0x1400cc46d
lea r8d, [r13 + 0x20]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x10]
call fcn.1400af930
mov ebx, eax
test eax, eax
jne 0x1400cc469
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x10]
call fcn.1400afdd0
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 0x1400cc472
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 0x1400cc691
lea r15d, [rdi + 0x14]
lea rsi, [rbp + 0x2b0]
cmp r14d, 0x40
jb 0x1400cc4a5
mov ebx, 0xffffff7c
jmp 0x1400cc68c
mov ecx, dword [rbp - 0x7c]
lea eax, [r15 + rcx]
mov dword [rbp - 0x7c], eax
cmp eax, ecx
jae 0x1400cc4b6
inc dword [rbp - 0x78]
test r14d, r14d
je 0x1400cc526
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.1400fb190
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 0x1400cc526
lea rdx, [rbp - 0x74]
lea rcx, [rbp - 0x80]
call fcn.1400c1a10
mov ebx, eax
test eax, eax
je 0x1400cc51f
mov r14d, dword [rbp - 0x80]
jmp 0x1400cc68c
xor r14d, r14d
mov dword [rbp - 0x80], r14d
cmp r15d, 0x40
jb 0x1400cc580
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.1400c1a10
mov ebx, eax
sub rdi, 1
jne 0x1400cc540
mov r14d, dword [rbp - 0x80]
test r15d, r15d
je 0x1400cc59b
mov r8d, r15d
lea rcx, [rbp - 0x74]
mov rdx, rsi
call fcn.1400fb190
mov r14d, r15d
mov dword [rbp - 0x80], r15d
test ebx, ebx
jne 0x1400cc68c
mov rcx, qword [rsp + 0x38]
mov rbx, qword [r12 + 0x10]
add rcx, 0xad
add rbx, rcx
je 0x1400cc687
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 0x1400cc608
mov eax, ecx
mov r8d, 0x40
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x74]
add rcx, rax
call fcn.1400fb830
lea rdx, [rbp - 0x74]
mov dword [rbp - 0x80], 0x40
lea rcx, [rbp - 0x80]
call fcn.1400c1a10
xor esi, esi
mov ecx, esi
mov dword [rbp - 0x80], ecx
jmp 0x1400cc60a
xor esi, esi
mov eax, ecx
mov r8d, 0x38
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x74]
add rcx, rax
call fcn.1400fb830
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.1400c1a10
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 0x1400cc68c
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 0x1400cc3b0
test ebx, ebx
jne 0x1400cc6d6
mov rcx, r12
call fcn.1400cbc30
mov ebx, eax
test eax, eax
jne 0x1400cc6d6
mov rcx, r12
call fcn.1400cc0c0
mov ebx, eax
jmp 0x1400cc6de
mov ebx, 0xfffffed2
mov rcx, r12
call fcn.1400cc0c0
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.1400cf9b0
add rsp, 0x5f0
pop r12
pop rdi
pop rbp
ret