Function at 0x14007d614
Capabilities:
Hash data with crc32

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
test rdx, rdx
jne 0x14007d629
xor eax, eax
add rsp, 0x20
pop rbp
ret
add rsp, 0x20
pop rbp
jmp 0x14007d630
mov qword [rsp + 0x10], rdi
push rbp
mov rbp, rsp
mov r11d, r8d
mov r10, rdx
not ecx
lea rdi, [0x140100e60]
test r8d, r8d
je 0x14007d671
test r10b, 3
je 0x14007d671
movzx edx, byte [r10]
mov eax, ecx
inc r10
xor rdx, rax
shr eax, 8
movzx r8d, dl
mov ecx, dword [rdi + r8*4]
xor ecx, eax
dec r11d
jne 0x14007d64d
cmp r11d, 0x20
jb 0x14007d8a8
mov qword [rsp + 0x10], rbx
mov ebx, r11d
shr rbx, 5
nop word [rax + rax]
xor ecx, dword [r10]
mov r9d, ecx
mov eax, ecx
shr rax, 0x10
movzx edx, al
mov eax, ecx
mov r8d, dword [rdi + rdx*4 + 0x400]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor r8d, dword [rdi + rcx*4 + 0x800]
shr rax, 0x18
xor r8d, dword [rdi + rax*4]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xc00]
xor r8d, dword [r10 + 4]
mov r9d, r8d
mov eax, r8d
shr rax, 0x10
movzx edx, al
mov eax, r8d
mov r8d, dword [rdi + rdx*4 + 0x400]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor r8d, dword [rdi + rcx*4 + 0x800]
shr rax, 0x18
xor r8d, dword [rdi + rax*4]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xc00]
xor r8d, dword [r10 + 8]
mov r9d, r8d
mov eax, r8d
shr rax, 0x10
movzx edx, al
mov eax, r8d
mov r8d, dword [rdi + rdx*4 + 0x400]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor r8d, dword [rdi + rcx*4 + 0x800]
shr rax, 0x18
xor r8d, dword [rdi + rax*4]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xc00]
xor r8d, dword [r10 + 0xc]
mov r9d, r8d
mov eax, r8d
shr rax, 0x10
movzx edx, al
mov eax, r8d
mov r8d, dword [rdi + rdx*4 + 0x400]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor r8d, dword [rdi + rcx*4 + 0x800]
shr rax, 0x18
xor r8d, dword [rdi + rax*4]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xc00]
xor r8d, dword [r10 + 0x10]
mov r9d, r8d
mov eax, r8d
shr rax, 0x10
movzx edx, al
mov eax, r8d
mov r8d, dword [rdi + rdx*4 + 0x400]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor r8d, dword [rdi + rcx*4 + 0x800]
shr rax, 0x18
xor r8d, dword [rdi + rax*4]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xc00]
xor r8d, dword [r10 + 0x14]
mov eax, r8d
mov r9d, r8d
shr rax, 0x10
movzx edx, al
mov eax, r8d
mov r8d, dword [rdi + rdx*4 + 0x400]
shr rax, 8
add r10, 0x20
movzx ecx, al
mov eax, r9d
add r11d, 0xffffffe0
xor r8d, dword [rdi + rcx*4 + 0x800]
shr rax, 0x18
xor r8d, dword [rdi + rax*4]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xc00]
xor r8d, dword [r10 - 8]
mov r9d, r8d
mov eax, r8d
shr rax, 0x10
movzx edx, al
mov eax, r8d
mov r8d, dword [rdi + rdx*4 + 0x400]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor r8d, dword [rdi + rcx*4 + 0x800]
shr rax, 0x18
xor r8d, dword [rdi + rax*4]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xc00]
xor r8d, dword [r10 - 4]
mov eax, r8d
shr rax, 0x10
movzx ecx, al
mov eax, r8d
mov ecx, dword [rdi + rcx*4 + 0x400]
shr rax, 8
movzx edx, al
mov eax, r8d
xor ecx, dword [rdi + rdx*4 + 0x800]
shr rax, 0x18
xor ecx, dword [rdi + rax*4]
movzx eax, r8b
xor ecx, dword [rdi + rax*4 + 0xc00]
dec rbx
jne 0x14007d68c
mov rbx, qword [rsp + 0x10]
cmp r11d, 4
jb 0x14007d8fe
mov r9d, r11d
shr r9, 2
xor ecx, dword [r10]
add r10, 4
add r11d, 0xfffffffc
mov r8d, ecx
mov eax, ecx
shr rax, 0x10
movzx ecx, al
mov eax, r8d
mov ecx, dword [rdi + rcx*4 + 0x400]
shr rax, 8
movzx edx, al
mov eax, r8d
xor ecx, dword [rdi + rdx*4 + 0x800]
shr rax, 0x18
xor ecx, dword [rdi + rax*4]
movzx eax, r8b
xor ecx, dword [rdi + rax*4 + 0xc00]
dec r9
jne 0x14007d8b5
test r11d, r11d
je 0x14007d921
movzx edx, byte [r10]
mov eax, ecx
inc r10
xor rdx, rax
shr eax, 8
movzx r8d, dl
mov ecx, dword [rdi + r8*4]
xor ecx, eax
dec r11d
jne 0x14007d903
mov rdi, qword [rsp + 0x18]
not ecx
mov eax, ecx
pop rbp
ret