Function at 0x14005a5f0
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov r15, r8
test rdx, rdx
jne 0x14005a623
xor r12d, r12d
test r15, r15
jne 0x14005a612
call fcn.1400c2320
mov eax, r12d
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov r14, rdx
mov r12d, ecx
cmp dword [0x1402e4c90], 0
je 0x14005a66c
cmp r15, 0x40
jb 0x14005a66c
mov rbx, r15
and rbx, 0xfffffffffffffff0
not r12d
mov rcx, r14
mov rdx, rbx
mov r8d, r12d
call fcn.140126020
mov r12d, eax
xor eax, eax
mov rcx, r15
and rcx, 0xf
cmovne rax, rbx
not r12d
and r15, 0xf
je 0x14005a612
add r14, rax
not r12d
test r15, r15
je 0x14005a683
mov eax, r14d
and eax, 3
test rax, rax
jne 0x14005a720
cmp r15, 0x20
jae 0x14005a763
cmp r15, 4
jb 0x14005a71b
mov ecx, 0xff
lea rdx, [0x14029e900]
xor r12d, dword [r14]
add r14, 4
mov esi, r12d
and esi, ecx
mov eax, r12d
shr eax, 8
and eax, ecx
mov eax, dword [rdx + rax*4 + 0x800]
xor eax, dword [rdx + rsi*4 + 0xc00]
mov edi, r12d
shr edi, 0x10
and edi, ecx
xor eax, dword [rdx + rdi*4 + 0x400]
shr r12d, 0x18
xor eax, dword [rdx + r12*4]
add r15, 0xfffffffffffffffc
mov r12d, eax
cmp r15, 3
ja 0x14005a6a3
test r15, r15
jne 0x14005a6f8
not eax
mov r12d, eax
jmp 0x14005a612
xor ecx, ecx
lea rdx, [0x14029e900]
movzx ebx, byte [r14 + rcx]
movzx edi, al
xor edi, ebx
shr eax, 8
xor eax, dword [rdx + rdi*4]
inc rcx
cmp r15, rcx
je 0x14005a6ee
jmp 0x14005a701
mov eax, r12d
jmp 0x14005a6e9
lea rax, [r14 + 1]
lea rcx, [0x14029e900]
mov rdx, r15
movzx esi, byte [r14]
inc r14
movzx ebx, r12b
xor ebx, esi
shr r12d, 8
xor r12d, dword [rcx + rbx*4]
dec r15
cmp rdx, 1
je 0x14005a683
mov edx, eax
and edx, 3
inc rax
test rdx, rdx
je 0x14005a683
jmp 0x14005a72b
mov r8d, 0xff
lea r9, [0x14029e900]
xor r12d, dword [r14]
mov ebx, r12d
and ebx, r8d
mov edx, r12d
shr edx, 8
and edx, r8d
mov eax, dword [r9 + rdx*4 + 0x800]
xor eax, dword [r9 + rbx*4 + 0xc00]
mov ebx, r12d
shr ebx, 0x10
and ebx, r8d
xor eax, dword [r9 + rbx*4 + 0x400]
shr r12d, 0x18
xor eax, dword [r9 + r12*4]
xor eax, dword [r14 + 4]
mov esi, eax
and esi, r8d
mov edx, eax
shr edx, 8
and edx, r8d
mov ebx, dword [r9 + rdx*4 + 0x800]
xor ebx, dword [r9 + rsi*4 + 0xc00]
mov edx, eax
shr edx, 0x10
and edx, r8d
xor ebx, dword [r9 + rdx*4 + 0x400]
shr eax, 0x18
xor ebx, dword [r9 + rax*4]
xor ebx, dword [r14 + 8]
mov eax, ebx
and eax, r8d
mov edx, ebx
shr edx, 8
and edx, r8d
mov esi, dword [r9 + rdx*4 + 0x800]
xor esi, dword [r9 + rax*4 + 0xc00]
mov eax, ebx
shr eax, 0x10
and eax, r8d
xor esi, dword [r9 + rax*4 + 0x400]
shr ebx, 0x18
xor esi, dword [r9 + rbx*4]
xor esi, dword [r14 + 0xc]
mov eax, esi
and eax, r8d
mov edx, esi
shr edx, 8
and edx, r8d
mov ebx, dword [r9 + rdx*4 + 0x800]
xor ebx, dword [r9 + rax*4 + 0xc00]
mov eax, esi
shr eax, 0x10
and eax, r8d
xor ebx, dword [r9 + rax*4 + 0x400]
shr esi, 0x18
xor ebx, dword [r9 + rsi*4]
xor ebx, dword [r14 + 0x10]
mov eax, ebx
and eax, r8d
mov edx, ebx
shr edx, 8
and edx, r8d
mov esi, dword [r9 + rdx*4 + 0x800]
xor esi, dword [r9 + rax*4 + 0xc00]
mov eax, ebx
shr eax, 0x10
and eax, r8d
xor esi, dword [r9 + rax*4 + 0x400]
shr ebx, 0x18
xor esi, dword [r9 + rbx*4]
xor esi, dword [r14 + 0x14]
mov eax, esi
and eax, r8d
mov edx, esi
shr edx, 8
and edx, r8d
mov ebx, dword [r9 + rdx*4 + 0x800]
xor ebx, dword [r9 + rax*4 + 0xc00]
mov eax, esi
shr eax, 0x10
and eax, r8d
xor ebx, dword [r9 + rax*4 + 0x400]
shr esi, 0x18
xor ebx, dword [r9 + rsi*4]
xor ebx, dword [r14 + 0x18]
mov eax, ebx
and eax, r8d
mov edx, ebx
shr edx, 8
and edx, r8d
mov ecx, dword [r9 + rdx*4 + 0x800]
xor ecx, dword [r9 + rax*4 + 0xc00]
mov eax, ebx
shr eax, 0x10
and eax, r8d
xor ecx, dword [r9 + rax*4 + 0x400]
shr ebx, 0x18
xor ecx, dword [r9 + rbx*4]
xor ecx, dword [r14 + 0x1c]
add r14, 0x20
mov eax, ecx
and eax, r8d
mov edx, ecx
shr edx, 8
and edx, r8d
mov r12d, dword [r9 + rdx*4 + 0x800]
xor r12d, dword [r9 + rax*4 + 0xc00]
mov eax, ecx
shr eax, 0x10
and eax, r8d
xor r12d, dword [r9 + rax*4 + 0x400]
shr ecx, 0x18
xor r12d, dword [r9 + rcx*4]
add r15, 0xffffffffffffffe0
cmp r15, 0x1f
jbe 0x14005a68d
jmp 0x14005a770