Function at 0x1400724e0
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov r15d, r8d
test rdx, rdx
jne 0x140072513
xor r12d, r12d
test r15, r15
jne 0x140072502
call fcn.140039050
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 r15d, 0x40
jb 0x14007252c
cmp dword [0x140167b28], 0
jne 0x14007276b
not r12d
test r15, r15
je 0x1400725a8
mov eax, r14d
and eax, 3
test rax, rax
je 0x1400725a8
lea rdi, [r14 + 1]
movzx eax, byte [r14]
movzx edx, r12b
xor edx, eax
lea rax, [0x140140ed0]
shr r12d, 8
xor r12d, dword [rax + rdx*4]
mov rdx, r15
dec rdx
je 0x1400725a2
mov ecx, edi
and ecx, 3
test rcx, rcx
je 0x1400725a2
movzx ecx, byte [r14 + 1]
add r14, 2
movzx edx, r12b
xor edx, ecx
shr r12d, 8
xor r12d, dword [rax + rdx*4]
mov rcx, r15
add rcx, 0xfffffffffffffffe
je 0x14007259d
mov edx, r14d
and edx, 3
test rdx, rdx
jne 0x14007294d
mov r15, rcx
jmp 0x1400725a8
mov r14, rdi
mov r15, rdx
cmp r15, 0x20
jae 0x14007279a
cmp r15, 4
jb 0x1400726a3
xor r12d, dword [r14]
mov edx, 0xff
mov ecx, r12d
mov edi, r12d
mov esi, r12d
mov ebx, r12d
and ebx, edx
lea rax, [0x140140ed0]
shr ecx, 8
and ecx, edx
mov ecx, dword [rax + rcx*4 + 0x800]
xor ecx, dword [rax + rbx*4 + 0xc00]
shr edi, 0x10
and edi, edx
xor ecx, dword [rax + rdi*4 + 0x400]
shr esi, 0x18
mov r12d, ecx
xor r12d, dword [rax + rsi*4]
lea rcx, [r15 - 4]
cmp rcx, 4
jb 0x1400726b3
xor r12d, dword [r14 + 4]
mov ecx, r12d
mov ebx, r12d
mov edi, r12d
and r12d, edx
shr ecx, 8
and ecx, edx
mov ecx, dword [rax + rcx*4 + 0x800]
xor ecx, dword [rax + r12*4 + 0xc00]
shr ebx, 0x10
and ebx, edx
xor ecx, dword [rax + rbx*4 + 0x400]
shr edi, 0x18
mov r12d, ecx
xor r12d, dword [rax + rdi*4]
lea rcx, [r15 - 8]
cmp rcx, 4
jb 0x1400726b9
xor r12d, dword [r14 + 8]
mov edi, 0xff
mov ecx, r12d
mov edx, r12d
mov ebx, r12d
and r12d, edi
shr ecx, 8
and ecx, edi
mov ecx, dword [rax + rcx*4 + 0x800]
xor ecx, dword [rax + r12*4 + 0xc00]
shr edx, 0x10
and edx, edi
xor ecx, dword [rax + rdx*4 + 0x400]
shr ebx, 0x18
mov r12d, ecx
xor r12d, dword [rax + rbx*4]
lea rcx, [r15 - 0xc]
cmp rcx, 4
jae 0x140072718
add r14, 0xc
jmp 0x1400726a6
mov rcx, r15
test rcx, rcx
jne 0x1400726bf
not r12d
jmp 0x140072502
add r14, 4
jmp 0x1400726a6
add r14, 8
jmp 0x1400726a6
movzx eax, byte [r14]
movzx edx, r12b
xor edx, eax
lea rax, [0x140140ed0]
shr r12d, 8
xor r12d, dword [rax + rdx*4]
cmp rcx, 1
je 0x1400726ab
movzx edx, byte [r14 + 1]
movzx ebx, r12b
xor ebx, edx
shr r12d, 8
xor r12d, dword [rax + rbx*4]
cmp rcx, 2
je 0x1400726ab
xor ecx, ecx
movzx edx, byte [r14 + rcx + 2]
movzx ebx, r12b
xor ebx, edx
shr r12d, 8
xor r12d, dword [rax + rbx*4]
inc rcx
cmp rcx, 1
je 0x1400726ab
jmp 0x1400726f9
xor r12d, dword [r14 + 0xc]
add r14, 0x10
mov ecx, r12d
and ecx, edi
mov edx, r12d
shr edx, 8
and edx, edi
mov ebx, dword [rax + rdx*4 + 0x800]
xor ebx, dword [rax + rcx*4 + 0xc00]
mov ecx, r12d
shr ecx, 0x10
and ecx, edi
xor ebx, dword [rax + rcx*4 + 0x400]
shr r12d, 0x18
xor ebx, dword [rax + r12*4]
add r15, 0xfffffffffffffff0
cmp r15, 4
jae 0x140072992
mov rcx, r15
mov r12d, ebx
jmp 0x1400726a6
mov edi, r15d
and edi, 0xfffffff0
not r12d
mov rcx, r14
mov rdx, rdi
mov r8d, r12d
call fcn.140067820
mov r12d, eax
not r12d
and r15, 0xf
je 0x140072502
add r14, rdi
jmp 0x14007252c
mov eax, 0xff
lea rcx, [0x140140ed0]
xor r12d, dword [r14]
mov ebx, r12d
and ebx, eax
mov edx, r12d
shr edx, 8
and edx, eax
mov esi, dword [rcx + rdx*4 + 0x800]
xor esi, dword [rcx + rbx*4 + 0xc00]
mov ebx, r12d
shr ebx, 0x10
and ebx, eax
xor esi, dword [rcx + rbx*4 + 0x400]
shr r12d, 0x18
xor esi, dword [rcx + r12*4]
xor esi, dword [r14 + 4]
mov edi, esi
and edi, eax
mov edx, esi
shr edx, 8
and edx, eax
mov ebx, dword [rcx + rdx*4 + 0x800]
xor ebx, dword [rcx + rdi*4 + 0xc00]
mov edx, esi
shr edx, 0x10
and edx, eax
xor ebx, dword [rcx + rdx*4 + 0x400]
shr esi, 0x18
xor ebx, dword [rcx + rsi*4]
xor ebx, dword [r14 + 8]
mov edi, ebx
and edi, eax
mov edx, ebx
shr edx, 8
and edx, eax
mov esi, dword [rcx + rdx*4 + 0x800]
xor esi, dword [rcx + rdi*4 + 0xc00]
mov edi, ebx
shr edi, 0x10
and edi, eax
xor esi, dword [rcx + rdi*4 + 0x400]
shr ebx, 0x18
xor esi, dword [rcx + rbx*4]
xor esi, dword [r14 + 0xc]
mov edi, esi
and edi, eax
mov edx, esi
shr edx, 8
and edx, eax
mov ebx, dword [rcx + rdx*4 + 0x800]
xor ebx, dword [rcx + rdi*4 + 0xc00]
mov edx, esi
shr edx, 0x10
and edx, eax
xor ebx, dword [rcx + rdx*4 + 0x400]
shr esi, 0x18
xor ebx, dword [rcx + rsi*4]
xor ebx, dword [r14 + 0x10]
mov edi, ebx
and edi, eax
mov edx, ebx
shr edx, 8
and edx, eax
mov esi, dword [rcx + rdx*4 + 0x800]
xor esi, dword [rcx + rdi*4 + 0xc00]
mov edi, ebx
shr edi, 0x10
and edi, eax
xor esi, dword [rcx + rdi*4 + 0x400]
shr ebx, 0x18
xor esi, dword [rcx + rbx*4]
xor esi, dword [r14 + 0x14]
mov edi, esi
and edi, eax
mov edx, esi
shr edx, 8
and edx, eax
mov ebx, dword [rcx + rdx*4 + 0x800]
xor ebx, dword [rcx + rdi*4 + 0xc00]
mov edx, esi
shr edx, 0x10
and edx, eax
xor ebx, dword [rcx + rdx*4 + 0x400]
shr esi, 0x18
xor ebx, dword [rcx + rsi*4]
xor ebx, dword [r14 + 0x18]
mov edi, ebx
and edi, eax
mov edx, ebx
shr edx, 8
and edx, eax
mov esi, dword [rcx + rdx*4 + 0x800]
xor esi, dword [rcx + rdi*4 + 0xc00]
mov edi, ebx
shr edi, 0x10
and edi, eax
xor esi, dword [rcx + rdi*4 + 0x400]
shr ebx, 0x18
xor esi, dword [rcx + rbx*4]
xor esi, dword [r14 + 0x1c]
add r14, 0x20
mov ebx, esi
and ebx, eax
mov edx, esi
shr edx, 8
and edx, eax
mov r12d, dword [rcx + rdx*4 + 0x800]
xor r12d, dword [rcx + rbx*4 + 0xc00]
mov edx, esi
shr edx, 0x10
and edx, eax
xor r12d, dword [rcx + rdx*4 + 0x400]
shr esi, 0x18
xor r12d, dword [rcx + rsi*4]
add r15, 0xffffffffffffffe0
cmp r15, 0x1f
jbe 0x1400725b2
jmp 0x1400727a6
mov edx, 2
sub rdx, r15
lea rcx, [r14 + 1]
mov r15, rdx
mov rdx, r15
movzx esi, byte [r14]
inc r14
movzx edi, r12b
xor edi, esi
shr r12d, 8
xor r12d, dword [rax + rdi*4]
inc r15
cmp rdx, 0xffffffffffffffff
je 0x14007298a
mov edx, ecx
and edx, 3
inc rcx
test rdx, rdx
jne 0x14007295c
neg r15
jmp 0x1400725a8
mov edi, 0xff
mov rcx, r15
xor ebx, dword [r14]
add r14, 4
mov esi, ebx
and esi, edi
mov edx, ebx
shr edx, 8
and edx, edi
mov r12d, dword [rax + rdx*4 + 0x800]
xor r12d, dword [rax + rsi*4 + 0xc00]
mov edx, ebx
shr edx, 0x10
and edx, edi
xor r12d, dword [rax + rdx*4 + 0x400]
shr ebx, 0x18
xor r12d, dword [rax + rbx*4]
add rcx, 0xfffffffffffffffc
mov ebx, r12d
cmp rcx, 3
jbe 0x1400726a6
jmp 0x14007299a