Function at 0x1400ca3a0
Capabilities:
Hash data using sha1

Disassembly:
push rbp
push rdi
push r12
lea rbp, [rsp - 0x4f0]
sub rsp, 0x5f0
mov rax, qword [0x140127240]
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 0x1400ca3e0
mov eax, 0xffffff53
jmp 0x1400ca818
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.1400f7f50
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.1400c8c60
test eax, eax
je 0x1400ca7e1
lea edi, [r9 + r13]
movsxd r8, edi
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x60]
call fcn.1400f7f50
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.1400f7f50
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 0x1400ca57d
lea r8d, [r13 + 0x20]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x10]
call fcn.1400ad8b0
mov ebx, eax
test eax, eax
jne 0x1400ca579
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x10]
call fcn.1400add50
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 0x1400ca582
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 0x1400ca7a1
lea r15d, [rdi + 0x14]
lea rsi, [rbp + 0x2b0]
cmp r14d, 0x40
jb 0x1400ca5b5
mov ebx, 0xffffff7c
jmp 0x1400ca79c
mov ecx, dword [rbp - 0x7c]
lea eax, [r15 + rcx]
mov dword [rbp - 0x7c], eax
cmp eax, ecx
jae 0x1400ca5c6
inc dword [rbp - 0x78]
test r14d, r14d
je 0x1400ca636
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.1400f7f50
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 0x1400ca636
lea rdx, [rbp - 0x74]
lea rcx, [rbp - 0x80]
call fcn.1400bfb30
mov ebx, eax
test eax, eax
je 0x1400ca62f
mov r14d, dword [rbp - 0x80]
jmp 0x1400ca79c
xor r14d, r14d
mov dword [rbp - 0x80], r14d
cmp r15d, 0x40
jb 0x1400ca690
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.1400bfb30
mov ebx, eax
sub rdi, 1
jne 0x1400ca650
mov r14d, dword [rbp - 0x80]
test r15d, r15d
je 0x1400ca6ab
mov r8d, r15d
lea rcx, [rbp - 0x74]
mov rdx, rsi
call fcn.1400f7f50
mov r14d, r15d
mov dword [rbp - 0x80], r15d
test ebx, ebx
jne 0x1400ca79c
mov rcx, qword [rsp + 0x38]
mov rbx, qword [r12 + 0x10]
add rcx, 0xad
add rbx, rcx
je 0x1400ca797
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 0x1400ca718
mov eax, ecx
mov r8d, 0x40
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x74]
add rcx, rax
call fcn.1400f85f0
lea rdx, [rbp - 0x74]
mov dword [rbp - 0x80], 0x40
lea rcx, [rbp - 0x80]
call fcn.1400bfb30
xor esi, esi
mov ecx, esi
mov dword [rbp - 0x80], ecx
jmp 0x1400ca71a
xor esi, esi
mov eax, ecx
mov r8d, 0x38
sub r8d, ecx
xor edx, edx
lea rcx, [rbp - 0x74]
add rcx, rax
call fcn.1400f85f0
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.1400bfb30
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 0x1400ca79c
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 0x1400ca4c0
test ebx, ebx
jne 0x1400ca7e6
mov rcx, r12
call fcn.1400c9d40
mov ebx, eax
test eax, eax
jne 0x1400ca7e6
mov rcx, r12
call fcn.1400ca1d0
mov ebx, eax
jmp 0x1400ca7ee
mov ebx, 0xfffffed2
mov rcx, r12
call fcn.1400ca1d0
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.1400cdad0
add rsp, 0x5f0
pop r12
pop rdi
pop rbp
ret