Function at 0x1800654c0
Capabilities:
Hash data with crc32

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
mov ebx, dword [0x180342b48]
lea eax, [rbx - 1]
imul eax, ebx
cmp dword [0x180342b44], 9
setg bl
not r8d
and al, bl
nop word cs:[rax + rax]
nop dword [rax + rax]
test al, al
jne 0x1800654f0
test rdx, rdx
je 0x180065644
add rdx, 0xffffffffffffffff
add rcx, 2
lea r9, [0x1801812e0]
mov esi, r8d
jmp 0x1800655fc
mov eax, esi
shr eax, 8
mov edi, esi
and edi, 0xffffff00
or edi, 0x95
movzx r10d, sil
xor r10d, edi
xor r10d, 0xffffff95
and r10d, esi
mov r14d, r11d
and r14d, 0x41
mov edi, r11d
or edi, 0x5ccc8e41
mov ebp, r11d
or ebp, 0x41
xor ebp, 0x210350b6
mov ebx, r11d
and ebx, 8
lea esi, [r14 + 0x358f50b6]
and esi, ebp
or ebx, esi
and r11d, 0x34
mov ebp, edi
and ebp, 0xcb
or ebp, r11d
xor ebp, r14d
not ebp
xor edi, r14d
or edi, ebp
xor ebx, 0x7dcfdef7
mov ebp, ebx
and ebp, 0x5048884c
and esi, 0x210350b3
add ebp, esi
add ebp, 0x300000
or ebx, edi
and edi, 0xf37bf9ff
xor edi, ebp
xor edi, 0x213350b3
not ebx
or ebx, edi
mov esi, ebx
xor esi, r10d
xor esi, 0xa33371be
and esi, ebx
xor r10d, 0x5ccc8e41
or r10d, ebx
xor r10d, esi
not r10d
mov ebx, dword [r9 + r10*4]
not eax
mov ebp, ebx
and ebp, eax
or eax, ebx
and eax, 0x26ffffff
xor eax, ebp
xor eax, 0x26ffffff
add rcx, 1
mov esi, eax
add rdx, 0xffffffffffffffff
jae 0x180065872
movzx r11d, byte [rcx - 2]
cmp r11d, 0x23
sete r10b
cmp rdx, 1
seta bl
cmp rdx, 2
setb al
xor al, r10b
mov edi, eax
xor dil, 1
and bl, r10b
or bl, dil
cmp al, bl
jne 0x180065520
cmp byte [rcx - 1], 0x23
jne 0x180065520
cmp byte [rcx], 0x23
cmove esi, r8d
jmp 0x180065520
mov dl, byte [rcx]
test dl, dl
je 0x18006586f
add rcx, 2
lea r9, [0x1801812e0]
mov eax, r8d
jmp 0x180065850
movzx r11d, dl
mov r10d, eax
shr r10d, 8
mov esi, eax
or esi, 0xff
mov edx, esi
and edx, 0x35657e4d
mov edi, eax
and edi, 0xca9a8100
or edi, edx
xor edi, eax
mov edx, eax
xor edx, 0xffffff00
xor edi, 0xffffffb2
or edx, esi
not edx
or edx, edi
mov eax, edx
and eax, 0x1431dda5
or eax, 0xc384005a
and edx, 0xebce225a
xor edx, eax
mov eax, edx
and eax, 0x3e67a188
xor eax, 0x3c63a180
mov r14d, edx
xor r14d, 0x21c5e2d
or r14d, eax
mov edi, edx
and edi, 0x2a03a180
xor edx, 0x2662188
and edx, eax
and eax, 0x14640008
or eax, edi
mov edi, eax
or edi, 0xfa31d7
mov ebp, edi
and ebp, 0x366db143
mov ebx, eax
and ebx, 0x8000008
or ebx, ebp
mov ebp, r14d
mov esi, eax
xor esi, r14d
xor eax, 0xd7fc5e7f
and eax, r14d
xor r14d, 0xfa31d7
xor ebx, edx
xor ebx, 0xd76c7f6b
xor edi, 0x16662188
and edi, edx
or edi, ebx
xor ebp, 0xff05ce28
and ebp, edi
not edi
and edi, r14d
or edi, ebp
xor esi, 0xd7fc5e7f
or eax, esi
mov edx, eax
xor edx, edi
not edx
not eax
and eax, edi
or eax, edx
mov edx, r11d
and edx, 0x77
or edx, 0x80000000
mov esi, r11d
or esi, 0x41985e77
xor esi, edx
mov edx, r11d
xor edx, 0x88
xor r11d, 0x77
and r11d, edx
or r11d, esi
mov edx, eax
and edx, 0xb5cb9edc
or edx, 0x40100
and eax, 0x4a346123
mov esi, r11d
and esi, 0x40104023
or esi, 0x314982d0
and r11d, 0x80801cdc
xor r11d, esi
xor r11d, eax
xor r11d, edx
xor r11d, 0x304581d0
mov r11d, dword [r9 + r11*4]
mov r14d, r11d
and r14d, 0x86289d08
mov edx, r11d
and edx, 0x38d36067
mov esi, edx
xor esi, 0x57a1f74f
mov eax, r11d
and eax, 0xc72c9f98
xor edx, 0x38d36067
mov ebx, edx
or edx, eax
not eax
mov ebp, esi
or ebp, 0x38434003
mov edi, r11d
or edi, 0x9020e4
xor edi, ebp
mov ebp, eax
and ebp, 0x418422f4
or ebp, r14d
and edi, 0x38d360e7
xor edi, ebp
xor edi, 0x41040230
and ebx, 0x20510060
and esi, 0x5ba26607
or esi, ebx
and r11d, 0x840c9908
and eax, 0x5ba26697
or eax, r11d
xor eax, esi
xor eax, 0xef7f9f68
and eax, edx
or eax, edi
xor eax, r10d
xor eax, 0x38d36067
movzx edx, byte [rcx - 1]
add rcx, 1
test dl, dl
je 0x180065872
cmp dl, 0x23
jne 0x180065670
cmp byte [rcx - 1], 0x23
jne 0x180065670
cmp byte [rcx], 0x23
cmove eax, r8d
jmp 0x180065670
mov eax, r8d
not eax
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret