Function at 0x180028be0
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 - 0x180]
sub rsp, 0x280
mov rax, qword [0x180093030]
xor rax, rsp
mov qword [rbp + 0x170], rax
xor r8d, r8d
mov r11, rcx
mov qword [rsp + 0x28], rcx
movzx ecx, byte [rcx + 0x28f]
movzx eax, word [r11 + 0x284]
mov dword [rbp - 4], 0x67452301
add ecx, eax
movzx eax, word [r11 + 0x282]
mov dword [rbp], 0xefcdab89
add ecx, eax
mov dword [rbp + 4], 0x98badcfe
mov dword [rbp + 8], 0x10325476
lea eax, [rcx + rcx + 0xf]
mov esi, r8d
mov qword [rbp - 0x50], r8
cdq
mov dword [rbp - 0x48], r8d
mov dword [rbp - 0x64], 0x67452301
and edx, 0xf
mov dword [rbp - 0x60], 0xefcdab89
mov dword [rbp - 0x5c], 0x98badcfe
add eax, edx
mov dword [rbp - 0x58], 0x10325476
mov dword [rbp - 0x54], 0xc3d2e1f0
sar eax, 4
mov r9d, r8d
mov qword [rsp + 0x50], r8
movsxd rcx, eax
mov rax, qword [r11 + 0x10]
mov dword [rsp + 0x58], r8d
mov r10d, r8d
mov dword [rsp + 0x20], r8d
mov r15d, r8d
movups xmm0, xmmword [rax + 0x275]
movups xmm1, xmmword [rax + 0x285]
mov qword [rsp + 0x30], rcx
movaps xmmword [rbp + 0x90], xmm0
movaps xmmword [rbp + 0xa0], xmm1
movups xmm0, xmmword [rax + 0x295]
movaps xmmword [rbp + 0xb0], xmm0
test ecx, ecx
jle 0x180028f46
mov r14d, r8d
nop
cmp r14d, 0x80
ja 0x180028f3f
lea rcx, [rbp + 0x10]
mov edx, r10d
call fcn.180028310
test eax, eax
je 0x180028f3f
mov rcx, qword [r11 + 0x10]
lea r12d, [r10 + 0x71]
lea r13, [rbp + 0x10]
mov rax, qword [rcx + 0x275]
mov qword [rbp + r15 + 0x11], rax
mov rax, qword [rcx + 0x27d]
mov qword [rbp + r15 + 0x19], rax
mov rax, qword [rcx + 0x285]
mov qword [rbp + r15 + 0x21], rax
mov rax, qword [rcx + 0x28d]
mov qword [rbp + r15 + 0x29], rax
mov rax, qword [rcx + 0x295]
mov qword [rbp + r15 + 0x31], rax
mov rax, qword [rcx + 0x29d]
mov qword [rbp + r15 + 0x39], rax
mov rax, qword [rcx + 0x34]
mov qword [rbp + r15 + 0x41], rax
mov rax, qword [rcx + 0x3c]
mov qword [rbp + r15 + 0x49], rax
mov rax, qword [rcx + 0x44]
mov qword [rbp + r15 + 0x51], rax
mov rax, qword [rcx + 0x4c]
mov qword [rbp + r15 + 0x59], rax
mov rax, qword [rcx + 0x14]
mov qword [rbp + r15 + 0x61], rax
mov rax, qword [rcx + 0x1c]
mov qword [rbp + r15 + 0x69], rax
mov rax, qword [rcx + 0x24]
mov qword [rbp + r15 + 0x71], rax
mov rax, qword [rcx + 0x2c]
mov qword [rbp + r15 + 0x79], rax
test r12d, r12d
je 0x180028e68
nop word [rax + rax]
mov eax, r9d
mov edi, 0x40
mov rdx, r13
sub edi, r9d
lea rcx, [rsp + rax + 0x5c]
cmp r12d, edi
cmovb edi, r12d
mov r8d, edi
mov ebx, edi
call fcn.18002d8c0
mov r9d, dword [rsp + 0x50]
add r13, rbx
add r9d, edi
sub r12d, edi
mov dword [rsp + 0x50], r9d
cmp r9d, 0x40
jne 0x180028e5f
lea rdx, [rsp + 0x5c]
lea r8d, [r9 - 0x30]
nop word [rax + rax]
mov eax, dword [rdx]
add rdx, 4
mov ecx, eax
ror ecx, 8
and ecx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ecx, eax
dec r8
mov dword [rdx - 4], ecx
jne 0x180028e10
lea rcx, [rsp + 0x50]
call fcn.180018840
mov r11d, dword [rsp + 0x54]
mov eax, r11d
add r11d, 0x40
mov dword [rsp + 0x54], r11d
cmp r11d, eax
jae 0x180028e57
inc dword [rsp + 0x58]
xor r9d, r9d
mov dword [rsp + 0x50], r9d
test r12d, r12d
jne 0x180028dc0
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call fcn.180019ac0
mov eax, dword [rsp + 0x48]
mov r12d, 0x44
movups xmm0, xmmword [rsp + 0x38]
mov dword [rbp + 0xd0], eax
lea r13, [rbp + 0x90]
movaps xmmword [rbp + 0xc0], xmm0
nop word [rax + rax]
mov eax, esi
mov edi, 0x40
mov rdx, r13
sub edi, esi
lea rcx, [rbp + rax - 0x44]
cmp r12d, edi
cmovb edi, r12d
mov r8d, edi
mov ebx, edi
call fcn.18002d8c0
mov esi, dword [rbp - 0x50]
add r13, rbx
add esi, edi
sub r12d, edi
mov dword [rbp - 0x50], esi
cmp esi, 0x40
jne 0x180028ef9
lea rcx, [rbp - 0x50]
call fcn.180013eb0
mov r11d, dword [rbp - 0x4c]
mov eax, r11d
add r11d, esi
mov dword [rbp - 0x4c], r11d
cmp r11d, eax
jae 0x180028ef4
inc dword [rbp - 0x48]
xor esi, esi
mov dword [rbp - 0x50], esi
test r12d, r12d
jne 0x180028ea0
movsxd rax, r14d
lea rcx, [rbp - 0x50]
lea rdx, [rbp + rax + 0xe0]
call fcn.1800146e0
mov r10d, dword [rsp + 0x20]
mov r11, qword [rsp + 0x28]
inc r10d
inc r15
add r14d, 0x10
mov dword [rsp + 0x20], r10d
cmp r15, qword [rsp + 0x30]
jge 0x180028f46
mov esi, dword [rbp - 0x50]
mov r9d, dword [rsp + 0x50]
jmp 0x180028cf0
mov eax, 0xfffffed2
jmp 0x180028f55
lea rdx, [rbp + 0xe0]
mov rcx, r11
call fcn.180028b00
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.18002cf50
lea r11, [rsp + 0x280]
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