Function at 0x40731e
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x258
movaps xmmword [rsp + 0x240], xmm10
movaps xmmword [rsp + 0x230], xmm9
movdqa xmmword [rsp + 0x220], xmm8
movaps xmmword [rsp + 0x210], xmm7
movaps xmmword [rsp + 0x200], xmm6
mov edi, ecx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r8
cmp r8, 0x80
jae 0x407379
mov ecx, edi
jmp 0x407680
lea rbx, [rsp + 0xe0]
lea rsi, [rsp + 0x30]
mov rcx, rbx
mov rdx, rsi
call fcn.00407704
lea r14, [rsp + 0xf0]
mov rcx, r14
mov rdx, rsi
call fcn.00407704
lea r15, [rsp + 0x100]
mov rcx, r15
mov rdx, rsi
call fcn.00407704
lea r12, [rsp + 0x110]
mov rcx, r12
mov rdx, rsi
call fcn.00407704
not edi
movd xmm8, edi
pxor xmm8, xmmword [rbx]
movaps xmm10, xmmword [r14]
movaps xmm7, xmmword [r15]
movaps xmm6, xmmword [r12]
lea rbx, [rsp + 0x1c0]
movaps xmm9, xmmword [0x0044f1b0]
lea r14, [rsp + 0x20]
lea r13, [rsp + 0x1d0]
lea r12, [rsp + 0x1e0]
lea rbp, [rsp + 0x1f0]
lea r15, [rsp + 0xd0]
mov rdi, qword [rsp + 0x38]
cmp rdi, 0x3f
jbe 0x407511
mov rcx, rbx
mov rdx, rsi
call fcn.00407704
movdqa xmmword [rsp + 0x60], xmm8
movaps xmmword [rsp + 0x70], xmm9
mov rcx, r14
lea rdx, [rsp + 0x60]
mov r8, rbx
lea r9, [rsp + 0x70]
call fcn.00407735
movdqa xmm8, xmmword [rsp + 0x20]
mov rcx, r13
mov rdx, rsi
call fcn.00407704
movaps xmmword [rsp + 0x80], xmm10
movaps xmmword [rsp + 0x90], xmm9
mov rcx, r14
lea rdx, [rsp + 0x80]
mov r8, r13
lea r9, [rsp + 0x90]
call fcn.00407735
movaps xmm10, xmmword [rsp + 0x20]
mov rcx, r12
mov rdx, rsi
call fcn.00407704
movaps xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0xb0], xmm9
mov rcx, r14
lea rdx, [rsp + 0xa0]
mov r8, r12
lea r9, [rsp + 0xb0]
call fcn.00407735
movaps xmm7, xmmword [rsp + 0x20]
mov rcx, rbp
mov rdx, rsi
call fcn.00407704
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xd0], xmm9
mov rcx, r14
lea rdx, [rsp + 0xc0]
mov r8, rbp
mov r9, r15
call fcn.00407735
movaps xmm6, xmmword [rsp + 0x20]
jmp 0x407418
lea rdx, [rsp + 0x120]
movdqa xmmword [rdx], xmm8
lea r8, [rsp + 0x130]
movaps xmmword [r8], xmm10
movdqa xmm8, xmmword [0x0044f180]
lea r9, [rsp + 0x140]
movdqa xmmword [r9], xmm8
lea rsi, [rsp + 0x150]
mov rcx, rsi
call fcn.00407735
lea r8, [rsp + 0x160]
movaps xmmword [r8], xmm7
lea r9, [rsp + 0x170]
movdqa xmmword [r9], xmm8
lea rbx, [rsp + 0x180]
mov rcx, rbx
mov rdx, rsi
call fcn.00407735
lea r8, [rsp + 0x190]
movaps xmmword [r8], xmm6
lea r9, [rsp + 0x1a0]
movdqa xmmword [r9], xmm8
lea rsi, [rsp + 0x20]
mov rcx, rsi
mov rdx, rbx
call fcn.00407735
movdqa xmm6, xmmword [rsi]
lea rbx, [rsp + 0x1b0]
lea r14, [rsp + 0x30]
lea r15, [rsp + 0x40]
lea r12, [rsp + 0x50]
cmp rdi, 0xf
jbe 0x4075fb
mov rcx, rbx
mov rdx, r14
call fcn.00407704
movdqa xmmword [rsp + 0x40], xmm6
movdqa xmmword [rsp + 0x50], xmm8
mov rcx, rsi
mov rdx, r15
mov r8, rbx
mov r9, r12
call fcn.00407735
movaps xmm6, xmmword [rsp + 0x20]
mov rdi, qword [rsp + 0x38]
jmp 0x4075c0
movdqa xmm0, xmmword [0x0044f190]
pclmulqdq xmm0, xmm6, 1
psrldq xmm6, 8
pxor xmm6, xmm0
pxor xmm0, xmm0
xorps xmm1, xmm1
movss xmm1, xmm6
movabs rax, 0x163cd6124
movq xmm2, rax
pclmulqdq xmm2, xmm1, 0
psrldq xmm6, 4
pxor xmm6, xmm2
xorps xmm1, xmm1
movss xmm1, xmm6
pclmulqdq xmm1, xmmword [0x0044f1a0], 0x10
pblendw xmm1, xmm0, 0xfc
movabs rax, 0x1db710641
movq xmm0, rax
pclmulqdq xmm0, xmm1, 0
pxor xmm0, xmm6
pextrd ecx, xmm0, 1
not ecx
test rdi, rdi
je 0x4076c3
mov rdx, qword [rsp + 0x30]
mov r8, rdi
movaps xmm6, xmmword [rsp + 0x200]
movaps xmm7, xmmword [rsp + 0x210]
movaps xmm8, xmmword [rsp + 0x220]
movaps xmm9, xmmword [rsp + 0x230]
movaps xmm10, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.004071ac
mov eax, ecx
movaps xmm6, xmmword [rsp + 0x200]
movaps xmm7, xmmword [rsp + 0x210]
movaps xmm8, xmmword [rsp + 0x220]
movaps xmm9, xmmword [rsp + 0x230]
movaps xmm10, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret