Function at 0x140036c80
Capabilities:
Hash data with crc32

Disassembly:
mov r8d, r8d
jmp 0x140075fc0
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rdi, r8
test rdx, rdx
jne 0x140075ff7
xor ebx, ebx
test rdi, rdi
jne 0x140075fe4
call fcn.1400400d0
mov eax, ebx
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, rdx
mov r8d, ecx
cmp rdi, 0x40
jb 0x140076010
cmp dword [0x14018d078], 0
jne 0x1400760f0
not r8d
cmp rdi, 0x2f
jae 0x14007612e
cmp rdi, 8
jae 0x140076055
test rdi, rdi
je 0x1400760e8
xor eax, eax
lea rcx, [0x140159e50]
mov ebx, r8d
xor r8b, byte [rsi + rax]
shr ebx, 8
movzx edx, r8b
xor ebx, dword [rcx + rdx*4]
inc rax
mov r8d, ebx
cmp rdi, rax
jne 0x140076035
not ebx
jmp 0x140075fe4
lea rax, [0x140159e50]
mov ecx, r8d
xor r8b, byte [rsi]
shr ecx, 8
movzx edx, r8b
xor ecx, dword [rax + rdx*4]
mov edx, ecx
xor cl, byte [rsi + 1]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
xor dl, byte [rsi + 2]
shr ecx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
mov edx, ecx
xor cl, byte [rsi + 3]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
xor dl, byte [rsi + 4]
shr ecx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
add rdi, 0xfffffffffffffff8
mov edx, ecx
xor cl, byte [rsi + 5]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
shr ecx, 8
xor dl, byte [rsi + 6]
movzx edx, dl
xor ecx, dword [rax + rdx*4]
mov r8d, ecx
shr r8d, 8
xor cl, byte [rsi + 7]
add rsi, 8
movzx ecx, cl
xor r8d, dword [rax + rcx*4]
cmp rdi, 7
jbe 0x140076023
jmp 0x14007605c
mov ebx, r8d
jmp 0x140076051
mov rbx, rdi
and rbx, 0xfffffffffffffff0
not r8d
mov rcx, rsi
mov rdx, rbx
call fcn.14006e580
mov r8d, eax
xor eax, eax
mov rcx, rdi
and rcx, 0xf
cmovne rax, rbx
and rdi, 0xf
je 0x140076123
add rsi, rax
jmp 0x14007601d
not r8d
mov ebx, r8d
jmp 0x140075fe4
test sil, 7
je 0x14007616f
lea rax, [rsi + 1]
lea rcx, [0x140159e50]
mov rdx, rdi
dec rdi
mov ebp, r8d
shr ebp, 8
xor r8b, byte [rsi]
inc rsi
movzx ebx, r8b
mov r8d, ebp
xor r8d, dword [rcx + rbx*4]
cmp rdx, 1
je 0x14007616f
mov edx, eax
and edx, 7
inc rax
test rdx, rdx
jne 0x14007613f
movabs rcx, 0xcccccccccccccccd
mov rax, rdi
mul rcx
shr rdx, 5
lea rax, [rdx*8]
lea r9, [rax + rax*4]
xor r13d, r13d
mov rax, rdx
dec rax
jne 0x140076453
xor r14d, r14d
xor r11d, r11d
xor r10d, r10d
mov eax, r8d
xor rax, qword [rsi]
mov rbp, rax
shr rbp, 8
mov edx, 0xff
and rax, rdx
lea rbx, [0x140159e50]
mov eax, dword [rbx + rax*4]
xor rax, rbp
mov rbp, rax
shr rbp, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rbp
mov rbp, rax
shr rbp, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rbp
mov rbp, rax
shr rbp, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rbp
mov rbp, rax
shr rbp, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rbp
mov rbp, rax
shr rbp, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rbp
mov rbp, rax
shr rbp, 8
and rax, rdx
mov ecx, dword [rbx + rax*4]
xor rcx, rbp
mov rax, rcx
shr rax, 8
and rcx, rdx
xor eax, dword [rbx + rcx*4]
xor rax, r13
xor rax, qword [rsi + 8]
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
xor ecx, dword [rbx + rax*4]
xor rcx, r14
xor rcx, qword [rsi + 0x10]
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [rbx + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [rbx + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [rbx + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [rbx + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [rbx + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [rbx + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [rbx + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
xor eax, dword [rbx + rcx*4]
sub rdi, r9
xor rax, r11
xor rax, qword [rsi + 0x18]
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
mov eax, dword [rbx + rax*4]
xor rax, rcx
mov rcx, rax
shr rcx, 8
and rax, rdx
xor ecx, dword [rbx + rax*4]
xor rcx, r10
xor rcx, qword [rsi + 0x20]
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [rbx + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [rbx + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [rbx + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [rbx + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [rbx + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [rbx + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [rbx + rcx*4]
xor rcx, rax
mov r8, rcx
shr r8, 8
and rcx, rdx
xor r8d, dword [rbx + rcx*4]
add rsi, 0x28
jmp 0x14007601d
lea rcx, [rdx + rdx*4]
lea rcx, [rcx*8 - 0x28]
mov qword [rsp + 0x70], rcx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
mov rcx, rsi
lea r11, [0x14015a250]
mov r14d, r8d
mov qword [rsp + 0x68], rcx
mov r10, qword [rcx]
mov qword [rsp + 0x38], r10
mov r8, qword [rcx + 8]
mov qword [rsp + 0x40], r8
xor r14, r10
mov r15d, ebp
xor r15, r8
mov r12d, ebx
mov rbp, qword [rcx + 0x10]
mov qword [rsp + 0x60], rbp
xor r12, rbp
mov qword [rsp + 0x30], r12
mov ebp, edx
mov rdx, qword [rcx + 0x18]
mov qword [rsp + 0x50], rdx
xor rbp, rdx
mov qword [rsp + 0x48], rbp
mov edx, r13d
mov rcx, qword [rcx + 0x20]
mov qword [rsp + 0x58], rcx
xor rdx, rcx
mov qword [rsp + 0x28], rdx
mov rdx, r14
mov r13d, 0xff
and rdx, r13
mov rbx, r15
and rbx, r13
and r12, r13
mov rcx, rbp
and rcx, r13
mov rbp, r14
shr rbp, 8
and rbp, r13
mov r8d, dword [r11 + rbp*4 + 0x400]
xor r8d, dword [r11 + rdx*4]
mov rdx, r15
shr rdx, 8
and rdx, r13
mov ebp, dword [r11 + rdx*4 + 0x400]
xor ebp, dword [r11 + rbx*4]
mov rdx, qword [rsp + 0x30]
shr rdx, 8
and rdx, r13
mov ebx, dword [r11 + rdx*4 + 0x400]
xor ebx, dword [r11 + r12*4]
mov rdx, qword [rsp + 0x48]
shr rdx, 8
and rdx, r13
mov edx, dword [r11 + rdx*4 + 0x400]
xor edx, dword [r11 + rcx*4]
mov rcx, qword [rsp + 0x28]
mov r10, rcx
and r10, r13
shr rcx, 8
and rcx, r13
mov r13d, dword [r11 + rcx*4 + 0x400]
xor r13d, dword [r11 + r10*4]
mov rcx, r14
shr rcx, 0xe
mov r12d, 0x3fc
and rcx, r12
xor r8d, dword [rcx + r11 + 0x800]
mov rcx, r15
shr rcx, 0xe
and rcx, r12
xor ebp, dword [rcx + r11 + 0x800]
mov rcx, qword [rsp + 0x30]
shr rcx, 0xe
and rcx, r12
xor ebx, dword [rcx + r11 + 0x800]
mov r10, qword [rsp + 0x48]
mov rcx, r10
shr rcx, 0xe
and rcx, r12
xor edx, dword [rcx + r11 + 0x800]
mov rcx, qword [rsp + 0x28]
shr rcx, 0xe
and rcx, r12
xor r13d, dword [rcx + r11 + 0x800]
shr r14, 0x16
and r14, r12
xor r8d, dword [r14 + r11 + 0xc00]
shr r15, 0x16
and r15, r12
xor ebp, dword [r15 + r11 + 0xc00]
mov rcx, qword [rsp + 0x30]
shr rcx, 0x16
and rcx, r12
xor ebx, dword [rcx + r11 + 0xc00]
mov rcx, r10
shr rcx, 0x16
and rcx, r12
xor edx, dword [rcx + r11 + 0xc00]
mov rcx, qword [rsp + 0x28]
shr rcx, 0x16
and rcx, r12
xor r13d, dword [rcx + r11 + 0xc00]
mov r14, qword [rsp + 0x38]
mov rcx, r14
shr rcx, 0x1e
and rcx, r12
xor r8d, dword [rcx + r11 + 0x1000]
mov r10, qword [rsp + 0x40]
mov rcx, r10
shr rcx, 0x1e
and rcx, r12
xor ebp, dword [rcx + r11 + 0x1000]
mov r15, qword [rsp + 0x60]
mov rcx, r15
shr rcx, 0x1e
and rcx, r12
xor ebx, dword [rcx + r11 + 0x1000]
mov rcx, qword [rsp + 0x50]
shr rcx, 0x1e
and rcx, r12
xor edx, dword [rcx + r11 + 0x1000]
mov rcx, qword [rsp + 0x58]
shr rcx, 0x1e
and rcx, r12
xor r13d, dword [rcx + r11 + 0x1000]
mov rcx, r14
shr rcx, 0x26
and rcx, r12
xor r8d, dword [rcx + r11 + 0x1400]
mov rcx, r10
shr rcx, 0x26
and rcx, r12
xor ebp, dword [rcx + r11 + 0x1400]
mov rcx, r15
shr rcx, 0x26
and rcx, r12
xor ebx, dword [rcx + r11 + 0x1400]
mov r10, qword [rsp + 0x50]
mov rcx, r10
shr rcx, 0x26
and rcx, r12
xor edx, dword [rcx + r11 + 0x1400]
mov r14, qword [rsp + 0x58]
mov rcx, r14
shr rcx, 0x26
and rcx, r12
xor r13d, dword [rcx + r11 + 0x1400]
mov rcx, qword [rsp + 0x38]
shr rcx, 0x2e
and rcx, r12
xor r8d, dword [rcx + r11 + 0x1800]
mov rcx, qword [rsp + 0x40]
shr rcx, 0x2e
and rcx, r12
xor ebp, dword [rcx + r11 + 0x1800]
mov rcx, r15
shr rcx, 0x2e
and rcx, r12
xor ebx, dword [rcx + r11 + 0x1800]
mov rcx, r10
shr rcx, 0x2e
and rcx, r12
xor edx, dword [rcx + r11 + 0x1800]
mov rcx, r14
shr rcx, 0x2e
and rcx, r12
xor r13d, dword [rcx + r11 + 0x1800]
mov rcx, qword [rsp + 0x38]
shr rcx, 0x38
xor r8d, dword [r11 + rcx*4 + 0x1c00]
mov rcx, qword [rsp + 0x40]
shr rcx, 0x38
xor ebp, dword [r11 + rcx*4 + 0x1c00]
shr r15, 0x38
xor ebx, dword [r11 + r15*4 + 0x1c00]
shr r10, 0x38
xor edx, dword [r11 + r10*4 + 0x1c00]
shr r14, 0x38
xor r13d, dword [r11 + r14*4 + 0x1c00]
mov rcx, qword [rsp + 0x68]
add rcx, 0x28
dec rax
jne 0x140076474
add rsi, qword [rsp + 0x70]
mov r10d, r13d
mov r13d, ebp
mov r14d, ebx
mov r11d, edx
jmp 0x1400761a7