Function at 0x1400db1c0
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rdi, r8
test rdx, rdx
je 0x1400db219
mov rsi, rdx
mov r8d, ecx
cmp rdi, 0x40
jb 0x1400db22e
cmp dword [0x14023b49c], 0
je 0x1400db22e
mov r14, rdi
and r14, 0xfffffffffffffff0
not r8d
mov rcx, rsi
mov rdx, r14
call fcn.14004e5a0
mov ebx, eax
and rdi, 0xf
je 0x1400db8e1
add rsi, r14
mov r8d, ebx
jmp 0x1400db80c
xor ebx, ebx
test rdi, rdi
jne 0x1400db8e3
call fcn.14011d720
jmp 0x1400db8e3
not r8d
cmp rdi, 0x2f
jb 0x1400db80c
test sil, 7
je 0x1400db281
lea rax, [rsi + 1]
lea rcx, [0x1401fc570]
nop dword [rax]
mov rdx, rdi
dec rdi
mov r9d, r8d
shr r9d, 8
xor r8b, byte [rsi]
inc rsi
movzx r10d, r8b
mov r8d, r9d
xor r8d, dword [rcx + r10*4]
cmp rdx, 1
je 0x1400db281
mov edx, eax
and edx, 7
inc rax
test rdx, rdx
jne 0x1400db250
movabs rcx, 0xcccccccccccccccd
mov rax, rdi
mul rcx
shr rdx, 5
lea rax, [rdx*8]
lea rbx, [rax + rax*4]
xor ecx, ecx
mov r9, rdx
dec r9
je 0x1400db5c9
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
lea rax, [rdx + rdx*4]
lea rax, [rax*8 - 0x28]
mov qword [rsp + 0x28], rax
lea r14, [0x1401fc970]
xor edx, edx
xor r10d, r10d
xor ebx, ebx
mov r15, rsi
nop dword [rax + rax]
mov qword [rsp + 0x40], r9
mov eax, r8d
mov r13, qword [r15]
mov r12, qword [r15 + 8]
xor rax, r13
movzx r9d, al
movzx ebp, ah
mov r8d, dword [r14 + rbp*4 + 0x400]
xor r8d, dword [r14 + r9*4]
mov r9, rax
shr r9, 0xe
and r9d, 0x3fc
xor r8d, dword [r9 + r14 + 0x800]
shr rax, 0x16
and eax, 0x3fc
xor r8d, dword [rax + r14 + 0xc00]
mov eax, ebx
xor rax, r12
movzx r9d, al
movzx ebx, ah
mov ebx, dword [r14 + rbx*4 + 0x400]
xor ebx, dword [r14 + r9*4]
mov r9, rax
shr r9, 0xe
and r9d, 0x3fc
xor ebx, dword [r9 + r14 + 0x800]
shr rax, 0x16
and eax, 0x3fc
xor ebx, dword [rax + r14 + 0xc00]
mov eax, r10d
mov rbp, qword [r15 + 0x10]
xor rax, rbp
movzx r9d, al
movzx edi, ah
mov r10d, dword [r14 + rdi*4 + 0x400]
xor r10d, dword [r14 + r9*4]
mov r9, rax
shr r9, 0xe
and r9d, 0x3fc
xor r10d, dword [r9 + r14 + 0x800]
shr rax, 0x16
and eax, 0x3fc
xor r10d, dword [rax + r14 + 0xc00]
mov eax, edx
mov r9, qword [r15 + 0x18]
xor rax, r9
movzx r11d, al
movzx edx, ah
mov edx, dword [r14 + rdx*4 + 0x400]
xor edx, dword [r14 + r11*4]
mov r11, rax
shr r11, 0xe
and r11d, 0x3fc
xor edx, dword [r11 + r14 + 0x800]
shr rax, 0x16
and eax, 0x3fc
xor edx, dword [rax + r14 + 0xc00]
mov eax, ecx
mov r11, qword [r15 + 0x20]
xor rax, r11
movzx edi, al
movzx ecx, ah
mov ecx, dword [r14 + rcx*4 + 0x400]
xor ecx, dword [r14 + rdi*4]
mov rdi, rax
shr rdi, 0xe
and edi, 0x3fc
xor ecx, dword [rdi + r14 + 0x800]
shr rax, 0x16
and eax, 0x3fc
xor ecx, dword [rax + r14 + 0xc00]
mov rax, r13
shr rax, 0x1e
and eax, 0x3fc
xor r8d, dword [rax + r14 + 0x1000]
mov rax, r12
shr rax, 0x1e
and eax, 0x3fc
xor ebx, dword [rax + r14 + 0x1000]
mov rax, rbp
shr rax, 0x1e
and eax, 0x3fc
xor r10d, dword [rax + r14 + 0x1000]
mov rax, r9
shr rax, 0x1e
and eax, 0x3fc
xor edx, dword [rax + r14 + 0x1000]
mov rax, r11
shr rax, 0x1e
and eax, 0x3fc
xor ecx, dword [rax + r14 + 0x1000]
mov rax, r13
shr rax, 0x26
and eax, 0x3fc
xor r8d, dword [rax + r14 + 0x1400]
mov rax, r12
shr rax, 0x26
and eax, 0x3fc
xor ebx, dword [rax + r14 + 0x1400]
mov rax, rbp
shr rax, 0x26
and eax, 0x3fc
xor r10d, dword [rax + r14 + 0x1400]
mov rax, r9
shr rax, 0x26
and eax, 0x3fc
xor edx, dword [rax + r14 + 0x1400]
mov rax, r11
shr rax, 0x26
and eax, 0x3fc
xor ecx, dword [rax + r14 + 0x1400]
mov rax, r13
shr rax, 0x2e
and eax, 0x3fc
xor r8d, dword [rax + r14 + 0x1800]
mov rax, r12
shr rax, 0x2e
and eax, 0x3fc
xor ebx, dword [rax + r14 + 0x1800]
mov rax, rbp
shr rax, 0x2e
and eax, 0x3fc
xor r10d, dword [rax + r14 + 0x1800]
mov rax, r9
shr rax, 0x2e
and eax, 0x3fc
xor edx, dword [rax + r14 + 0x1800]
mov rax, r11
shr rax, 0x2e
and eax, 0x3fc
xor ecx, dword [rax + r14 + 0x1800]
shr r13, 0x38
xor r8d, dword [r14 + r13*4 + 0x1c00]
shr r12, 0x38
xor ebx, dword [r14 + r12*4 + 0x1c00]
shr rbp, 0x38
xor r10d, dword [r14 + rbp*4 + 0x1c00]
shr r9, 0x38
xor edx, dword [r14 + r9*4 + 0x1c00]
mov r9, qword [rsp + 0x40]
shr r11, 0x38
xor ecx, dword [r14 + r11*4 + 0x1c00]
add r15, 0x28
dec r9
jne 0x1400db2e0
add rsi, qword [rsp + 0x28]
mov r9d, ecx
mov ecx, ebx
mov r11d, r10d
mov r10d, edx
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
jmp 0x1400db5d2
xor r11d, r11d
xor r10d, r10d
xor r9d, r9d
mov eax, r8d
xor rax, qword [rsi]
movzx r8d, al
shr rax, 8
lea rdx, [0x1401fc570]
mov r8d, dword [rdx + r8*4]
xor r8, rax
movzx eax, r8b
shr r8, 8
mov eax, dword [rdx + rax*4]
xor rax, r8
movzx r8d, al
shr rax, 8
mov r8d, dword [rdx + r8*4]
xor r8, rax
movzx eax, r8b
shr r8, 8
mov eax, dword [rdx + rax*4]
xor rax, r8
movzx r8d, al
shr rax, 8
mov r8d, dword [rdx + r8*4]
xor r8, rax
movzx eax, r8b
shr r8, 8
mov eax, dword [rdx + rax*4]
xor rax, r8
movzx r8d, al
shr rax, 8
mov r8d, dword [rdx + r8*4]
xor r8, rax
movzx eax, r8b
shr r8, 8
xor r8d, dword [rdx + rax*4]
xor rcx, qword [rsi + 8]
xor r8, rcx
movzx eax, r8b
shr r8, 8
mov eax, dword [rdx + rax*4]
xor rax, r8
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
xor eax, dword [rdx + rcx*4]
xor r11, qword [rsi + 0x10]
xor rax, r11
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
xor ecx, dword [rdx + rax*4]
sub rdi, rbx
xor r10, qword [rsi + 0x18]
xor rcx, r10
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
xor eax, dword [rdx + rcx*4]
xor r9, qword [rsi + 0x20]
xor rax, r9
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [rdx + rcx*4]
xor rcx, rax
movzx eax, cl
shr rcx, 8
mov eax, dword [rdx + rax*4]
xor rax, rcx
movzx ecx, al
shr rax, 8
mov r8d, dword [rdx + rcx*4]
xor r8, rax
movzx eax, r8b
shr r8, 8
xor r8d, dword [rdx + rax*4]
add rsi, 0x28
cmp rdi, 8
jb 0x1400db8a7
lea rax, [0x1401fc570]
nop dword [rax]
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
ja 0x1400db820
test rdi, rdi
je 0x1400db8de
xor eax, eax
lea rcx, [0x1401fc570]
nop word cs:[rax + rax]
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 0x1400db8c0
jmp 0x1400db8e1
mov ebx, r8d
not ebx
mov eax, ebx
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret