Function at 0x14000a500
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
mov r14, r8
mov r12, rdx
mov r15, rcx
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
lea rdx, [rsp + 0x28]
mov r8d, 0xc
mov rcx, r12
call fcn.14000ad60
test rax, rax
je 0x14000a54f
mov qword [r15 + 8], rax
mov qword [r15], 1
jmp 0x14000a90f
mov ebx, dword [r12 + 0x18]
mov eax, dword [r12 + 0x20]
mov ecx, eax
movzx edx, al
or eax, 3
mov edi, eax
and edi, 0xfffffffe
imul edi, eax
shr edi, 8
xor dil, byte [rsp + 0x28]
mov eax, ebx
shr eax, 8
xor bl, dil
movzx ebx, bl
lea r8, [0x14005478c]
xor eax, dword [r8 + rbx*4]
movzx r10d, al
mov edi, dword [r12 + 0x1c]
add edi, r10d
imul r9d, edi, 0x8088405
lea edi, [r9 + 1]
shr edi, 0x18
shr ecx, 8
xor edx, edi
xor ecx, dword [r8 + rdx*4]
mov edx, ecx
mov esi, ecx
or esi, 3
mov ebx, esi
and ebx, 0xfffffffe
imul ebx, esi
shr ebx, 8
xor bl, byte [rsp + 0x29]
movzx ecx, cl
shr eax, 8
xor r10b, bl
movzx ebx, r10b
xor eax, dword [r8 + rbx*4]
movzx edi, al
lea ebx, [rdi + r9]
add ebx, 1
imul r9d, ebx, 0x8088405
lea ebx, [r9 + 1]
shr ebx, 0x18
shr edx, 8
xor ecx, ebx
xor edx, dword [r8 + rcx*4]
mov r10d, edx
movzx ebx, dl
or edx, 3
mov ecx, edx
and ecx, 0xfffffffe
imul ecx, edx
shr ecx, 8
xor cl, byte [rsp + 0x2a]
shr eax, 8
xor dil, cl
movzx ecx, dil
xor eax, dword [r8 + rcx*4]
movzx edi, al
lea ecx, [rdi + r9]
add ecx, 1
imul ecx, ecx, 0x8088405
lea edx, [rcx + 1]
shr edx, 0x18
shr r10d, 8
xor ebx, edx
xor r10d, dword [r8 + rbx*4]
mov edx, r10d
mov esi, r10d
or esi, 3
mov ebx, esi
and ebx, 0xfffffffe
imul ebx, esi
shr ebx, 8
shr eax, 8
xor dil, byte [rsp + 0x2b]
xor dil, bl
movzx ebx, dil
xor eax, dword [r8 + rbx*4]
movzx ebx, r10b
movzx edi, al
add ecx, edi
add ecx, 1
imul r9d, ecx, 0x8088405
lea ecx, [r9 + 1]
shr ecx, 0x18
shr edx, 8
xor ebx, ecx
xor edx, dword [r8 + rbx*4]
mov ebx, edx
movzx ecx, dl
or edx, 3
mov esi, edx
and esi, 0xfffffffe
imul esi, edx
shr esi, 8
shr eax, 8
xor dil, byte [rsp + 0x2c]
xor dil, sil
movzx edx, dil
xor eax, dword [r8 + rdx*4]
movzx edi, al
lea edx, [rdi + r9]
add edx, 1
imul r9d, edx, 0x8088405
lea esi, [r9 + 1]
shr esi, 0x18
shr ebx, 8
xor ecx, esi
xor ebx, dword [r8 + rcx*4]
mov r10d, ebx
movzx edx, bl
or ebx, 3
mov ecx, ebx
and ecx, 0xfffffffe
imul ecx, ebx
shr ecx, 8
shr eax, 8
xor dil, byte [rsp + 0x2d]
xor dil, cl
movzx ecx, dil
xor eax, dword [r8 + rcx*4]
movzx ebx, al
lea ecx, [rbx + r9]
add ecx, 1
imul ecx, ecx, 0x8088405
lea edi, [rcx + 1]
shr edi, 0x18
shr r10d, 8
xor edx, edi
xor r10d, dword [r8 + rdx*4]
mov edx, r10d
mov edi, r10d
or edi, 3
mov esi, edi
and esi, 0xfffffffe
imul esi, edi
shr esi, 8
shr eax, 8
xor bl, byte [rsp + 0x2e]
xor bl, sil
movzx ebx, bl
xor eax, dword [r8 + rbx*4]
movzx ebx, r10b
movzx edi, al
add ecx, edi
add ecx, 1
imul r9d, ecx, 0x8088405
lea ecx, [r9 + 1]
shr ecx, 0x18
shr edx, 8
xor ebx, ecx
xor edx, dword [r8 + rbx*4]
mov ebx, edx
movzx esi, dl
or edx, 3
mov ecx, edx
and ecx, 0xfffffffe
imul ecx, edx
shr ecx, 8
shr eax, 8
xor dil, byte [rsp + 0x2f]
xor dil, cl
movzx ecx, dil
xor eax, dword [r8 + rcx*4]
movzx ecx, al
lea edx, [rcx + r9]
add edx, 1
imul r9d, edx, 0x8088405
lea edx, [r9 + 1]
shr edx, 0x18
shr ebx, 8
xor esi, edx
xor ebx, dword [r8 + rsi*4]
mov r10d, ebx
movzx esi, bl
or ebx, 3
mov edi, ebx
and edi, 0xfffffffe
imul edi, ebx
shr edi, 8
shr eax, 8
xor cl, byte [rsp + 0x30]
xor cl, dil
movzx ecx, cl
xor eax, dword [r8 + rcx*4]
movzx ebx, al
lea ecx, [rbx + r9]
add ecx, 1
imul ecx, ecx, 0x8088405
lea edi, [rcx + 1]
shr edi, 0x18
shr r10d, 8
xor esi, edi
xor r10d, dword [r8 + rsi*4]
mov esi, r10d
mov edi, r10d
or edi, 3
mov edx, edi
and edx, 0xfffffffe
imul edx, edi
shr edx, 8
shr eax, 8
xor bl, byte [rsp + 0x31]
xor bl, dl
movzx edx, bl
xor eax, dword [r8 + rdx*4]
movzx edx, r10b
movzx edi, al
add ecx, edi
add ecx, 1
imul r9d, ecx, 0x8088405
lea ecx, [r9 + 1]
shr ecx, 0x18
shr esi, 8
xor edx, ecx
xor esi, dword [r8 + rdx*4]
mov edx, esi
movzx ebx, sil
or esi, 3
mov ecx, esi
and ecx, 0xfffffffe
imul ecx, esi
shr ecx, 8
shr eax, 8
xor dil, byte [rsp + 0x32]
xor dil, cl
movzx ecx, dil
xor eax, dword [r8 + rcx*4]
movzx edi, al
lea ecx, [rdi + r9]
add ecx, 1
imul r9d, ecx, 0x8088405
lea esi, [r9 + 1]
shr esi, 0x18
shr edx, 8
xor ebx, esi
xor edx, dword [r8 + rbx*4]
mov ebx, edx
movzx esi, dl
mov ecx, edx
or ecx, 3
mov edx, ecx
and edx, 0xfffffffe
imul edx, ecx
shr edx, 8
xor dl, byte [rsp + 0x33]
shr eax, 8
xor dil, dl
movzx ecx, dil
xor eax, dword [r8 + rcx*4]
movzx ecx, al
add ecx, r9d
add ecx, 1
imul ecx, ecx, 0x8088405
add ecx, 1
mov edi, ecx
shr edi, 0x18
shr ebx, 8
xor esi, edi
xor ebx, dword [r8 + rsi*4]
mov dword [r12 + 0x20], ebx
mov dword [r12 + 0x18], eax
mov dword [r12 + 0x1c], ecx
test r14w, r14w
je 0x14000a8ff
shr r14, 0x18
cmp dl, r14b
jne 0x14000a908
mov rax, qword [r12 + 0x20]
mov qword [r15 + 0x28], rax
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [r15 + 0x18], xmm1
movups xmmword [r15 + 8], xmm0
mov qword [r15], 0
jmp 0x14000a90f
shr r14, 0x38
cmp dl, r14b
je 0x14000a8d8
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov rax, r15
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret