Function at 0x1400e18d0
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 0x1400e1903
xor r12d, r12d
test r15, r15
jne 0x1400e18f2
call fcn.1400842d0
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 r15, 0x40
jb 0x1400e191c
cmp dword [0x14021f9f0], 0
jne 0x1400e1b5b
not r12d
test r15, r15
je 0x1400e1998
mov eax, r14d
and eax, 3
test rax, rax
je 0x1400e1998
lea rbx, [r14 + 1]
movzx eax, byte [r14]
movzx edx, r12b
xor edx, eax
lea rax, [0x1401e8880]
shr r12d, 8
xor r12d, dword [rax + rdx*4]
mov rdx, r15
dec rdx
je 0x1400e1992
mov ecx, ebx
and ecx, 3
test rcx, rcx
je 0x1400e1992
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 0x1400e198d
mov edx, r14d
and edx, 3
test rdx, rdx
jne 0x1400e1d57
mov r15, rcx
jmp 0x1400e1998
mov r14, rbx
mov r15, rdx
cmp r15, 0x20
jae 0x1400e1b8b
cmp r15, 4
jb 0x1400e1a93
xor r12d, dword [r14]
mov edx, 0xff
mov ecx, r12d
mov ebx, r12d
mov esi, r12d
mov edi, r12d
and edi, edx
lea rax, [0x1401e8880]
shr ecx, 8
and ecx, edx
mov ecx, dword [rax + rcx*4 + 0x800]
xor ecx, dword [rax + rdi*4 + 0xc00]
shr ebx, 0x10
and ebx, edx
xor ecx, dword [rax + rbx*4 + 0x400]
shr esi, 0x18
mov r12d, ecx
xor r12d, dword [rax + rsi*4]
lea rcx, [r15 - 4]
cmp rcx, 4
jb 0x1400e1aa3
xor r12d, dword [r14 + 4]
mov ecx, r12d
mov edi, r12d
mov ebx, 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 edi, 0x10
and edi, edx
xor ecx, dword [rax + rdi*4 + 0x400]
shr ebx, 0x18
mov r12d, ecx
xor r12d, dword [rax + rbx*4]
lea rcx, [r15 - 8]
cmp rcx, 4
jb 0x1400e1aa9
xor r12d, dword [r14 + 8]
mov ebx, 0xff
mov ecx, r12d
mov edx, r12d
mov edi, r12d
and r12d, ebx
shr ecx, 8
and ecx, ebx
mov ecx, dword [rax + rcx*4 + 0x800]
xor ecx, dword [rax + r12*4 + 0xc00]
shr edx, 0x10
and edx, ebx
xor ecx, dword [rax + rdx*4 + 0x400]
shr edi, 0x18
mov r12d, ecx
xor r12d, dword [rax + rdi*4]
lea rcx, [r15 - 0xc]
cmp rcx, 4
jae 0x1400e1b08
add r14, 0xc
jmp 0x1400e1a96
mov rcx, r15
test rcx, rcx
jne 0x1400e1aaf
not r12d
jmp 0x1400e18f2
add r14, 4
jmp 0x1400e1a96
add r14, 8
jmp 0x1400e1a96
movzx eax, byte [r14]
movzx edx, r12b
xor edx, eax
lea rax, [0x1401e8880]
shr r12d, 8
xor r12d, dword [rax + rdx*4]
cmp rcx, 1
je 0x1400e1a9b
movzx edx, byte [r14 + 1]
movzx ebx, r12b
xor ebx, edx
shr r12d, 8
xor r12d, dword [rax + rbx*4]
cmp rcx, 2
je 0x1400e1a9b
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 0x1400e1a9b
jmp 0x1400e1ae9
xor r12d, dword [r14 + 0xc]
add r14, 0x10
mov ecx, r12d
and ecx, ebx
mov edx, r12d
shr edx, 8
and edx, ebx
mov edi, dword [rax + rdx*4 + 0x800]
xor edi, dword [rax + rcx*4 + 0xc00]
mov ecx, r12d
shr ecx, 0x10
and ecx, ebx
xor edi, dword [rax + rcx*4 + 0x400]
shr r12d, 0x18
xor edi, dword [rax + r12*4]
add r15, 0xfffffffffffffff0
cmp r15, 4
jae 0x1400e1d9c
mov rcx, r15
mov r12d, edi
jmp 0x1400e1a96
mov rbx, r15
and rbx, 0xfffffffffffffff0
not r12d
mov rcx, r14
mov rdx, rbx
mov r8d, r12d
call fcn.1400d21c0
mov r12d, eax
not r12d
and r15, 0xf
je 0x1400e18f2
add r14, rbx
jmp 0x1400e191c
mov r8d, 0xff
lea rcx, [0x1401e8880]
xor r12d, dword [r14]
mov ebx, r12d
and ebx, r8d
mov edx, r12d
shr edx, 8
and edx, r8d
mov edi, dword [rcx + rdx*4 + 0x800]
xor edi, dword [rcx + rbx*4 + 0xc00]
mov ebx, r12d
shr ebx, 0x10
and ebx, r8d
xor edi, dword [rcx + rbx*4 + 0x400]
shr r12d, 0x18
xor edi, dword [rcx + r12*4]
xor edi, dword [r14 + 4]
mov esi, edi
and esi, r8d
mov edx, edi
shr edx, 8
and edx, r8d
mov eax, dword [rcx + rdx*4 + 0x800]
xor eax, dword [rcx + rsi*4 + 0xc00]
mov edx, edi
shr edx, 0x10
and edx, r8d
xor eax, dword [rcx + rdx*4 + 0x400]
shr edi, 0x18
xor eax, dword [rcx + rdi*4]
xor eax, dword [r14 + 8]
mov edi, eax
and edi, r8d
mov edx, eax
shr edx, 8
and edx, r8d
mov esi, dword [rcx + rdx*4 + 0x800]
xor esi, dword [rcx + rdi*4 + 0xc00]
mov ebx, eax
shr ebx, 0x10
and ebx, r8d
xor esi, dword [rcx + rbx*4 + 0x400]
shr eax, 0x18
xor esi, dword [rcx + rax*4]
xor esi, dword [r14 + 0xc]
mov eax, esi
and eax, r8d
mov edx, esi
shr edx, 8
and edx, r8d
mov ebx, dword [rcx + rdx*4 + 0x800]
xor ebx, dword [rcx + rax*4 + 0xc00]
mov eax, esi
shr eax, 0x10
and eax, r8d
xor ebx, dword [rcx + rax*4 + 0x400]
shr esi, 0x18
xor ebx, dword [rcx + rsi*4]
xor ebx, dword [r14 + 0x10]
mov eax, ebx
and eax, r8d
mov edx, ebx
shr edx, 8
and edx, r8d
mov edi, dword [rcx + rdx*4 + 0x800]
xor edi, dword [rcx + rax*4 + 0xc00]
mov eax, ebx
shr eax, 0x10
and eax, r8d
xor edi, dword [rcx + rax*4 + 0x400]
shr ebx, 0x18
xor edi, dword [rcx + rbx*4]
xor edi, dword [r14 + 0x14]
mov eax, edi
and eax, r8d
mov edx, edi
shr edx, 8
and edx, r8d
mov ebx, dword [rcx + rdx*4 + 0x800]
xor ebx, dword [rcx + rax*4 + 0xc00]
mov eax, edi
shr eax, 0x10
and eax, r8d
xor ebx, dword [rcx + rax*4 + 0x400]
shr edi, 0x18
xor ebx, dword [rcx + rdi*4]
xor ebx, dword [r14 + 0x18]
mov eax, ebx
and eax, r8d
mov edx, ebx
shr edx, 8
and edx, r8d
mov edi, dword [rcx + rdx*4 + 0x800]
xor edi, dword [rcx + rax*4 + 0xc00]
mov eax, ebx
shr eax, 0x10
and eax, r8d
xor edi, dword [rcx + rax*4 + 0x400]
shr ebx, 0x18
xor edi, dword [rcx + rbx*4]
xor edi, dword [r14 + 0x1c]
add r14, 0x20
mov eax, edi
and eax, r8d
mov edx, edi
shr edx, 8
and edx, r8d
mov r12d, dword [rcx + rdx*4 + 0x800]
xor r12d, dword [rcx + rax*4 + 0xc00]
mov eax, edi
shr eax, 0x10
and eax, r8d
xor r12d, dword [rcx + rax*4 + 0x400]
shr edi, 0x18
xor r12d, dword [rcx + rdi*4]
add r15, 0xffffffffffffffe0
cmp r15, 0x1f
jbe 0x1400e19a2
jmp 0x1400e1b98
mov edx, 2
sub rdx, r15
lea rcx, [r14 + 1]
mov r15, rdx
mov rdx, r15
movzx esi, byte [r14]
inc r14
movzx ebx, r12b
xor ebx, esi
shr r12d, 8
xor r12d, dword [rax + rbx*4]
inc r15
cmp rdx, 0xffffffffffffffff
je 0x1400e1d94
mov edx, ecx
and edx, 3
inc rcx
test rdx, rdx
jne 0x1400e1d66
neg r15
jmp 0x1400e1998
mov ebx, 0xff
mov rcx, r15
xor edi, dword [r14]
add r14, 4
mov esi, edi
and esi, ebx
mov edx, edi
shr edx, 8
and edx, ebx
mov r12d, dword [rax + rdx*4 + 0x800]
xor r12d, dword [rax + rsi*4 + 0xc00]
mov edx, edi
shr edx, 0x10
and edx, ebx
xor r12d, dword [rax + rdx*4 + 0x400]
shr edi, 0x18
xor r12d, dword [rax + rdi*4]
add rcx, 0xfffffffffffffffc
mov edi, r12d
cmp rcx, 3
jbe 0x1400e1a96
jmp 0x1400e1da4