Function at 0x18000e980
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x490]
sub rsp, 0x590
mov rax, qword [0x180055010]
xor rax, rsp
mov qword [rbp + 0x480], rax
mov rdx, qword [rcx + 0x10]
xor ebx, ebx
mov r13, rcx
lea rcx, [rbp + 0x260]
mov esi, dword [rdx + 8]
add rdx, 0x1b9
mov r8d, esi
mov dword [rsp + 0x20], esi
mov dword [rbp - 0x64], 0x67452301
mov dword [rbp - 0x60], 0xefcdab89
mov dword [rbp - 0x5c], 0x98badcfe
mov dword [rbp - 0x58], 0x10325476
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x58], ebx
mov dword [rbp - 4], 0x67452301
mov dword [rbp], 0xefcdab89
mov dword [rbp + 4], 0x98badcfe
mov dword [rbp + 8], 0x10325476
mov dword [rbp + 0xc], 0xc3d2e1f0
mov qword [rbp - 0x50], rbx
mov dword [rbp - 0x48], ebx
call fcn.18002fd00
mov r9d, 0xffffffe0
lea r14d, [rsi + 0x21]
sub r9d, esi
mov r12d, 0xffffffdf
mov dword [rsp + 0x24], r9d
sub r12d, esi
mov r15d, ebx
nop dword [rax + rax]
lea edx, [r12 + r14]
lea rcx, [rsp + 0x28]
call fcn.18000df70
test eax, eax
je 0x18000ebce
lea ebx, [r9 + r14]
movsxd r8, ebx
lea rdx, [rsp + 0x28]
lea rcx, [rbp + 0x10]
call fcn.18002fd00
mov rdi, qword [r13 + 0x10]
lea rcx, [rbp + 0x10]
mov eax, ebx
add rcx, rax
mov r8d, esi
mov ebx, esi
lea rdx, [rdi + 0x1b9]
call fcn.18002fd00
movups xmm0, xmmword [rdi + 0x158]
lea eax, [r14 - 0x20]
movups xmm1, xmmword [rdi + 0x168]
lea r8d, [r14 + 0x20]
movups xmmword [rbp + rax + 0x10], xmm0
lea rdx, [rbp + 0x10]
movups xmm0, xmmword [rdi + 0x178]
lea rcx, [rbp - 0x50]
movups xmmword [rbp + rax + 0x20], xmm1
movups xmm1, xmmword [rdi + 0x188]
movups xmmword [rbp + r14 + 0x10], xmm0
movups xmmword [rbp + r14 + 0x20], xmm1
call fcn.18002c200
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x50]
call fcn.18002c470
movups xmm0, xmmword [rsp + 0x38]
mov eax, dword [rsp + 0x48]
movups xmmword [rbp + rbx + 0x260], xmm0
mov dword [rbp + rbx + 0x270], eax
lea ebx, [rsi + 0x14]
lea rsi, [rbp + 0x260]
test ebx, ebx
je 0x18000eb7e
mov edx, dword [rsp + 0x50]
nop dword [rax + rax]
mov eax, edx
mov ecx, 0x40
sub ecx, edx
mov edi, ebx
cmp ebx, ecx
mov rdx, rsi
cmovae edi, ecx
lea rcx, [rsp + 0x5c]
add rcx, rax
mov r8d, edi
call fcn.18002fd00
mov edx, dword [rsp + 0x50]
add rsi, rdi
add edx, edi
sub ebx, edi
mov dword [rsp + 0x50], edx
cmp edx, 0x40
jne 0x18000eb7a
lea rcx, [rsp + 0x50]
call fcn.180028c10
mov ecx, dword [rsp + 0x54]
lea eax, [rcx + 0x40]
mov dword [rsp + 0x54], eax
cmp eax, ecx
jae 0x18000eb74
inc dword [rsp + 0x58]
xor edx, edx
mov dword [rsp + 0x50], edx
test ebx, ebx
jne 0x18000eb20
mov rdx, qword [r13 + 0x10]
add rdx, 0x3b9
movsxd rcx, r15d
add rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.180029490
mov esi, dword [rsp + 0x20]
inc r14d
mov r9d, dword [rsp + 0x24]
add r15d, 0x10
lea eax, [r12 + r14]
cmp eax, 3
jl 0x18000ea50
mov rcx, r13
call fcn.18000e660
mov ebx, eax
test eax, eax
jne 0x18000ebd3
mov rcx, r13
call fcn.18000e8f0
jmp 0x18000ebdd
mov ebx, 0xfffffed2
mov rcx, r13
call fcn.18000e8f0
mov eax, ebx
mov rcx, qword [rbp + 0x480]
xor rcx, rsp
call fcn.18002d8d0
lea r11, [rsp + 0x590]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret