Function at 0x1800289c0
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4b8]
sub rsp, 0x5b8
mov rdx, qword [rcx + 0x10]
xor edi, edi
mov r15, rcx
mov ebx, dword [rdx + 0x10]
mov rdx, qword [rdx + 8]
lea rcx, [rbp + 0x290]
mov r8d, ebx
mov qword [rbp - 0x60], rdi
mov dword [rbp - 0x74], 0x67452301
mov dword [rbp - 0x70], 0xefcdab89
mov dword [rbp - 0x6c], 0x98badcfe
mov dword [rbp - 0x68], 0x10325476
mov r14d, edi
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], edi
mov qword [rbp + 0x30], rdi
mov dword [rbp + 0x1c], 0x67452301
mov dword [rbp + 0x20], 0xefcdab89
mov dword [rbp + 0x24], 0x98badcfe
mov dword [rbp + 0x28], 0x10325476
mov dword [rbp + 0x2c], 0xc3d2e1f0
mov qword [rbp - 0x30], rdi
mov dword [rbp - 0x28], edi
mov esi, edi
mov qword [rsp + 0x20], rbx
call fcn.18002efa0
mov r9d, 0xffffffe0
sub r9d, ebx
mov eax, 0xffffffdf
mov r12d, edi
sub eax, ebx
lea r13d, [rbx + 0x21]
mov dword [rbp + 0x518], r9d
mov dword [rbp + 0x508], eax
nop dword [rax]
nop dword [rax + rax]
lea edx, [rax + r13]
cmp edx, 8
ja 0x180028c50
lea rcx, [rsp + 0x28]
call fcn.1800278d0
test eax, eax
je 0x180028c50
lea ebx, [r9 + r13]
lea rdx, [rsp + 0x28]
lea rcx, [rbp + 0x40]
movsxd r8, ebx
call fcn.18002efa0
mov rdi, qword [r15 + 0x10]
mov eax, ebx
mov rbx, qword [rsp + 0x20]
mov rdx, qword [rdi + 8]
lea rcx, [rbp + 0x40]
add rcx, rax
mov r8, rbx
call fcn.18002efa0
lea eax, [r13 - 0x20]
movups xmm0, xmmword [rdi + 0x1c]
movups xmm1, xmmword [rdi + 0x2c]
movups xmmword [rbp + rax + 0x40], xmm0
movups xmm0, xmmword [rdi + 0x3c]
movups xmmword [rbp + rax + 0x50], xmm1
movups xmm1, xmmword [rdi + 0x4c]
movups xmmword [rbp + r13 + 0x40], xmm0
movups xmmword [rbp + r13 + 0x50], xmm1
test esi, esi
jne 0x180028b36
lea r8d, [r13 + 0x20]
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x30]
call fcn.1800270e0
mov esi, eax
test eax, eax
jne 0x180028b36
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.1800271f0
mov esi, eax
movups xmm0, xmmword [rbp - 0x50]
mov eax, dword [rbp - 0x40]
movups xmmword [rbp + rbx + 0x290], xmm0
mov dword [rbp + rbx + 0x2a0], eax
test esi, esi
jne 0x180028c0e
lea r15, [rbp + 0x290]
add ebx, 0x14
cmp r14d, 0x40
jb 0x180028b75
mov r15, qword [rbp + 0x500]
mov esi, 0xffffff7c
jmp 0x180028c0e
test ebx, ebx
je 0x180028be8
nop dword [rax]
mov eax, r14d
mov esi, 0x40
lea rcx, [rsp + 0x4c]
sub esi, r14d
mov rdx, r15
cmp ebx, esi
cmovb esi, ebx
add rcx, rax
mov r8d, esi
mov edi, esi
call fcn.18002efa0
mov r14d, dword [rsp + 0x40]
add r15, rdi
add r14d, esi
sub ebx, esi
mov dword [rsp + 0x40], r14d
cmp r14d, 0x40
jne 0x180028be4
lea rcx, [rsp + 0x40]
call fcn.180020ba0
mov ecx, dword [rsp + 0x44]
mov eax, ecx
add ecx, r14d
mov dword [rsp + 0x44], ecx
cmp ecx, eax
jae 0x180028bdc
inc dword [rsp + 0x48]
xor r14d, r14d
mov dword [rsp + 0x40], r14d
test ebx, ebx
jne 0x180028b80
mov r15, qword [rbp + 0x500]
movsxd rcx, r12d
mov rdx, qword [r15 + 0x10]
add rdx, 0x7d
add rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.180021440
mov r14d, dword [rsp + 0x40]
mov esi, eax
mov eax, dword [rbp + 0x508]
mov r9d, dword [rbp + 0x518]
inc r13d
add eax, r13d
add r12d, 0x10
cmp eax, 3
mov eax, dword [rbp + 0x508]
jl 0x180028a90
test esi, esi
jne 0x180028c55
mov rcx, r15
call fcn.180028520
mov esi, eax
test eax, eax
jne 0x180028c55
mov rcx, r15
call fcn.180028800
jmp 0x180028c5f
mov esi, 0xfffffed2
mov rcx, r15
call fcn.180028800
mov eax, esi
add rsp, 0x5b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret