Function at 0x140010260
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov r14, r8
mov eax, ecx
not eax
cmp r8, 0x40
jb 0x14001064e
lea r13, [0x140048950]
nop dword [rax + rax]
movzx esi, byte [rdx + 0x2e]
movzx edi, byte [rdx + 0x2f]
movzx ecx, byte [rdx + 0x2d]
mov qword [rsp], rcx
movzx ecx, byte [rdx + 0x2c]
mov qword [rsp + 0x18], rcx
movzx ecx, byte [rdx + 0x2b]
mov qword [rsp + 0x10], rcx
movzx ecx, byte [rdx + 0x2a]
mov qword [rsp + 8], rcx
movzx r15d, byte [rdx + 0x29]
movzx r12d, byte [rdx + 0x28]
movzx ecx, byte [rdx + 0x1e]
mov ebx, dword [r13 + rsi*4 + 0x400]
movzx esi, byte [rdx + 0x1f]
movzx r10d, byte [rdx + 0x1d]
xor ebx, dword [r13 + rdi*4]
movzx edi, byte [rdx + 0xe]
mov r8d, eax
movzx ebp, ah
mov ecx, dword [r13 + rcx*4 + 0x400]
movzx r9d, al
mov r11d, eax
xor ecx, dword [r13 + rsi*4]
mov eax, dword [r13 + rdi*4 + 0x400]
movzx edi, byte [rdx + 0xf]
mov rsi, qword [rsp]
xor ebx, dword [r13 + rsi*4 + 0x800]
xor eax, dword [r13 + rdi*4]
xor ecx, dword [r13 + r10*4 + 0x800]
movzx r10d, byte [rdx + 0x1c]
movzx edi, byte [rdx + 0xd]
mov rsi, qword [rsp + 0x18]
xor ebx, dword [r13 + rsi*4 + 0xc00]
xor eax, dword [r13 + rdi*4 + 0x800]
xor ecx, dword [r13 + r10*4 + 0xc00]
movzx r10d, byte [rdx + 0x1b]
movzx edi, byte [rdx + 0xc]
mov rsi, qword [rsp + 0x10]
xor ebx, dword [r13 + rsi*4 + 0x1000]
xor eax, dword [r13 + rdi*4 + 0xc00]
xor ecx, dword [r13 + r10*4 + 0x1000]
movzx r10d, byte [rdx + 0x1a]
movzx edi, byte [rdx + 0xb]
mov rsi, qword [rsp + 8]
xor ebx, dword [r13 + rsi*4 + 0x1400]
xor eax, dword [r13 + rdi*4 + 0x1000]
xor ecx, dword [r13 + r10*4 + 0x1400]
movzx r10d, byte [rdx + 0x19]
movzx edi, byte [rdx + 0xa]
xor ebx, dword [r13 + r15*4 + 0x1800]
xor eax, dword [r13 + rdi*4 + 0x1400]
xor ecx, dword [r13 + r10*4 + 0x1800]
movzx r10d, byte [rdx + 0x18]
movzx edi, byte [rdx + 9]
xor ebx, dword [r13 + r12*4 + 0x1c00]
xor eax, dword [r13 + rdi*4 + 0x1800]
xor ecx, dword [r13 + r10*4 + 0x1c00]
movzx r10d, byte [rdx + 0x27]
movzx edi, byte [rdx + 8]
xor eax, dword [r13 + rdi*4 + 0x1c00]
movzx r15d, byte [rdx + 0x17]
movzx edi, byte [rdx + 7]
xor eax, dword [r13 + rdi*4 + 0x2000]
movzx edi, byte [rdx + 6]
movzx r12d, byte [rdx + 5]
xor eax, dword [r13 + rdi*4 + 0x2400]
movzx edi, byte [rdx + 3]
shr r11d, 0x18
xor eax, dword [r13 + r12*4 + 0x2800]
xor r11, rdi
movzx edi, byte [rdx + 4]
xor eax, dword [r13 + rdi*4 + 0x2c00]
movzx edi, byte [rdx + 2]
shr r8d, 0x10
xor eax, dword [r13 + r11*4 + 0x3000]
movzx esi, r8b
xor rsi, rdi
xor eax, dword [r13 + rsi*4 + 0x3400]
movzx edi, byte [rdx + 1]
xor rbp, rdi
xor eax, dword [r13 + rbp*4 + 0x3800]
movzx edi, byte [rdx]
xor r9, rdi
xor ebx, dword [r13 + r10*4 + 0x2000]
xor eax, dword [r13 + r9*4 + 0x3c00]
xor ecx, dword [r13 + r15*4 + 0x2000]
mov r8d, eax
movzx esi, ah
movzx ebp, al
movzx edi, byte [rdx + 0x16]
xor ecx, dword [r13 + rdi*4 + 0x2400]
movzx r9d, byte [rdx + 0x26]
movzx edi, byte [rdx + 0x15]
xor ecx, dword [r13 + rdi*4 + 0x2800]
movzx r10d, byte [rdx + 0x25]
movzx edi, byte [rdx + 0x14]
xor ecx, dword [r13 + rdi*4 + 0x2c00]
movzx r11d, byte [rdx + 0x24]
movzx edi, byte [rdx + 0x13]
shr eax, 0x18
xor rax, rdi
movzx edi, byte [rdx + 0x12]
shr r8d, 0x10
xor ecx, dword [r13 + rax*4 + 0x3000]
movzx eax, r8b
xor rax, rdi
xor ecx, dword [r13 + rax*4 + 0x3400]
movzx eax, byte [rdx + 0x11]
xor rsi, rax
xor ecx, dword [r13 + rsi*4 + 0x3800]
movzx eax, byte [rdx + 0x10]
xor rbp, rax
xor ebx, dword [r13 + r9*4 + 0x2400]
xor ecx, dword [r13 + rbp*4 + 0x3c00]
xor ebx, dword [r13 + r10*4 + 0x2800]
movzx r9d, byte [rdx + 0x23]
movzx r8d, byte [rdx + 0x22]
xor ebx, dword [r13 + r11*4 + 0x2c00]
mov edi, ecx
movzx esi, ch
movzx r11d, cl
movzx r10d, byte [rdx + 0x3f]
movzx eax, byte [rdx + 0x3e]
mov eax, dword [r13 + rax*4 + 0x400]
shr ecx, 0x18
xor eax, dword [r13 + r10*4]
movzx ebp, byte [rdx + 0x3d]
shr edi, 0x10
xor eax, dword [r13 + rbp*4 + 0x800]
movzx ebp, byte [rdx + 0x3c]
xor rcx, r9
xor eax, dword [r13 + rbp*4 + 0xc00]
movzx ebp, byte [rdx + 0x21]
movzx edi, dil
xor rsi, rbp
movzx ebp, byte [rdx + 0x20]
xor ebx, dword [r13 + rcx*4 + 0x3000]
movzx ecx, byte [rdx + 0x3b]
xor eax, dword [r13 + rcx*4 + 0x1000]
xor rdi, r8
xor r11, rbp
movzx ecx, byte [rdx + 0x3a]
xor ebx, dword [r13 + rdi*4 + 0x3400]
xor eax, dword [r13 + rcx*4 + 0x1400]
xor ebx, dword [r13 + rsi*4 + 0x3800]
movzx ecx, byte [rdx + 0x39]
movzx ebp, byte [rdx + 0x38]
xor eax, dword [r13 + rcx*4 + 0x1800]
xor eax, dword [r13 + rbp*4 + 0x1c00]
xor ebx, dword [r13 + r11*4 + 0x3c00]
movzx ecx, byte [rdx + 0x37]
xor eax, dword [r13 + rcx*4 + 0x2000]
movzx ecx, byte [rdx + 0x36]
xor eax, dword [r13 + rcx*4 + 0x2400]
movzx ecx, byte [rdx + 0x35]
xor eax, dword [r13 + rcx*4 + 0x2800]
movzx ecx, byte [rdx + 0x34]
xor eax, dword [r13 + rcx*4 + 0x2c00]
mov ebp, ebx
movzx ecx, bh
movzx edi, bl
movzx esi, byte [rdx + 0x33]
shr ebx, 0x18
xor rbx, rsi
movzx esi, byte [rdx + 0x32]
shr ebp, 0x10
xor eax, dword [r13 + rbx*4 + 0x3000]
movzx ebp, bpl
xor rbp, rsi
xor eax, dword [r13 + rbp*4 + 0x3400]
movzx ebp, byte [rdx + 0x31]
xor rcx, rbp
xor eax, dword [r13 + rcx*4 + 0x3800]
movzx ecx, byte [rdx + 0x30]
xor rdi, rcx
xor eax, dword [r13 + rdi*4 + 0x3c00]
add rdx, 0x40
add r14, 0xffffffffffffffc0
cmp r14, 0x3f
ja 0x140010290
test r14, r14
je 0x1400106b8
test r14b, 1
jne 0x140010664
mov rcx, rdx
cmp r14, 1
jne 0x140010683
jmp 0x1400106b8
lea rcx, [rdx + 1]
movzx ebx, byte [rdx]
xor bl, al
movzx ebp, bl
lea rbx, [0x140048950]
shr eax, 8
xor eax, dword [rbx + rbp*4]
cmp r14, 1
je 0x1400106b8
add rdx, r14
lea rbp, [0x140048950]
nop dword [rax]
movzx ebx, byte [rcx]
xor bl, al
movzx ebx, bl
shr eax, 8
xor eax, dword [rbp + rbx*4]
movzx ebx, byte [rcx + 1]
xor bl, al
movzx ebx, bl
shr eax, 8
xor eax, dword [rbp + rbx*4]
add rcx, 2
cmp rcx, rdx
jne 0x140010690
not eax
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret