Function at 0x1400bbd10
Capabilities:
Hash data using sha1

Disassembly:
push rbp
push rdi
push r12
lea rbp, [rsp - 0x4f0]
sub rsp, 0x5f0
mov rax, qword [0x140121218]
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 0x1400bbd50
mov eax, 0xffffff53
jmp 0x1400bc188
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.1400c1bc0
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.1400ba630
test eax, eax
je 0x1400bc151
lea edi, [r9 + r13]
movsxd r8, edi
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x60]
call fcn.1400c1bc0
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.1400c1bc0
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 0x1400bbeed
lea r8d, [r13 + 0x20]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x10]
call fcn.14009d9b0
mov ebx, eax
test eax, eax
jne 0x1400bbee9
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x10]
call fcn.14009deb0
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 0x1400bbef2
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 0x1400bc111
lea r15d, [rdi + 0x14]
lea rsi, [rbp + 0x2b0]
cmp r14d, 0x40
jb 0x1400bbf25
mov ebx, 0xffffff7c
jmp 0x1400bc10c
mov ecx, dword [rbp - 0x7c]
lea eax, [r15 + rcx]
mov dword [rbp - 0x7c], eax
cmp eax, ecx
jae 0x1400bbf36
inc dword [rbp - 0x78]
test r14d, r14d
je 0x1400bbfa6
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.1400c1bc0
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 0x1400bbfa6
lea rdx, [rbp - 0x74]
lea rcx, [rbp - 0x80]
call fcn.1400b13c0
mov ebx, eax
test eax, eax
je 0x1400bbf9f
mov r14d, dword [rbp - 0x80]
jmp 0x1400bc10c
xor r14d, r14d
mov dword [rbp - 0x80], r14d
cmp r15d, 0x40
jb 0x1400bc000
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.1400b13c0
mov ebx, eax
sub rdi, 1
jne 0x1400bbfc0
mov r14d, dword [rbp - 0x80]
test r15d, r15d
je 0x1400bc01b
mov r8d, r15d
lea rcx, [rbp - 0x74]
mov rdx, rsi
call fcn.1400c1bc0
mov r14d, r15d
mov dword [rbp - 0x80], r15d
test ebx, ebx
jne 0x1400bc10c
mov rcx, qword [rsp + 0x38]
mov rbx, qword [r12 + 0x10]
add rcx, 0xad
add rbx, rcx
je 0x1400bc107
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 0x1400bc088
mov eax, ecx
mov r8d, 0x40
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x74]
add rcx, rax
call fcn.1400c2270
lea rdx, [rbp - 0x74]
mov dword [rbp - 0x80], 0x40
lea rcx, [rbp - 0x80]
call fcn.1400b13c0
xor esi, esi
mov ecx, esi
mov dword [rbp - 0x80], ecx
jmp 0x1400bc08a
xor esi, esi
mov eax, ecx
mov r8d, 0x38
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x74]
add rcx, rax
call fcn.1400c2270
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.1400b13c0
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 0x1400bc10c
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 0x1400bbe30
test ebx, ebx
jne 0x1400bc156
mov rcx, r12
call fcn.1400bb6d0
mov ebx, eax
test eax, eax
jne 0x1400bc156
mov rcx, r12
call fcn.1400bbb60
mov ebx, eax
jmp 0x1400bc15e
mov ebx, 0xfffffed2
mov rcx, r12
call fcn.1400bbb60
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.1400bf510
add rsp, 0x5f0
pop r12
pop rdi
pop rbp
ret