Function at 0x100ad4a0
Capabilities:
Hash data with crc32

Disassembly:
sub esp, 0x24
push ebx
mov ebx, dword [0x1026fb74]
push ebp
push esi
push edi
mov ebp, dword [ebx + 0x1ecc]
cmp byte [ebp + 0x215], 0
jne 0x100ad4c9
mov ecx, ebp
call fcn.100a9b80
mov ebx, dword [0x1026fb74]
mov eax, dword [ebx + 0x1b94]
movss xmm1, dword [ebx + 0x1930]
mov edi, dword [ebx + 0x1ecc]
movss dword [esp + 0x18], xmm1
movss xmm0, dword [eax + 0xd0]
movss dword [esp + 0x1c], xmm0
test edi, edi
je 0x100ad604
mov edi, dword [edi + 0x54]
xor esi, esi
test edi, edi
jle 0x100ad604
nop word [eax + eax]
mov edx, dword [ebx + 0x1ecc]
test edx, edx
je 0x100ad5fb
mov dword [esp + 0x14], edi
cmp esi, dword [edx + 0x54]
jne 0x100ad53c
movsx eax, byte [edx + 0x200]
xor ecx, ecx
cmp eax, esi
mov eax, 0x800000
cmove ecx, eax
jmp 0x100ad545
mov eax, dword [edx + 0xc]
imul ecx, esi, 0x68
mov ecx, dword [ecx + eax]
test ecx, 0x100000
je 0x100ad5fb
cmp byte [edx + 0x215], 0
jne 0x100ad56c
movsx eax, byte [edx + 0x1ff]
cmp esi, eax
jl 0x100ad56c
mov eax, 0x10153321
jmp 0x100ad58b
mov eax, dword [edx + 0xc]
imul ecx, esi, 0x68
movzx eax, word [ecx + eax + 0x50]
cmp ax, 0xffff
jne 0x100ad584
mov eax, 0x10153321
jmp 0x100ad58b
cwde
add eax, dword [edx + 0x1c0]
movss xmm0, dword [ebx + 0x1930]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x100ad5ee
movss xmm3, dword [0x10177168]
movaps xmm2, xmm0
push 0
push 0
push eax
push ecx
mov ecx, dword [ebx + 0x192c]
lea eax, [esp + 0x30]
mov dword [esp], 0xbf800000
push eax
call fcn.100f9700
movss xmm0, dword [esp + 0x20]
addss xmm0, dword [0x10176ee0]
movss xmm1, dword [esp + 0x18]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x24]
maxss xmm0, xmm1
movaps xmm1, xmm0
movss dword [esp + 0x18], xmm1
inc esi
cmp esi, edi
jl 0x100ad510
movss xmm0, dword [ebx + 0x1574]
mov ecx, 1
addss xmm0, xmm0
addss xmm0, xmm1
movss dword [esp + 0x18], xmm0
call fcn.100ab530
cmp byte [ebp + 0x223], 0
jne 0x100ad741
mov ecx, dword [0x1026fb74]
mov ebx, dword [ecx + 0x1ecc]
test ebx, ebx
je 0x100ad6eb
mov ebx, dword [ebx + 0x54]
xor edi, edi
test ebx, ebx
jle 0x100ad6ed
mov ecx, edi
call fcn.100abd30
test al, al
je 0x100ad6da
mov eax, dword [0x1026fb74]
mov edx, dword [eax + 0x1ecc]
test edx, edx
jne 0x100ad674
xor esi, esi
jmp 0x100ad6b0
cmp byte [edx + 0x215], 0
jne 0x100ad68f
movsx eax, byte [edx + 0x1ff]
cmp edi, eax
jl 0x100ad68f
mov esi, 0x10153321
jmp 0x100ad6b0
mov eax, dword [edx + 0xc]
imul ecx, edi, 0x68
movzx eax, word [ecx + eax + 0x50]
cmp ax, 0xffff
jne 0x100ad6a7
mov esi, 0x10153321
jmp 0x100ad6b0
movsx esi, ax
add esi, dword [edx + 0x1c0]
movsx ecx, word [ebp + 0x60]
imul ecx, dword [ebp + 0x54]
add ecx, edi
call fcn.100ed0e0
mov ecx, esi
call fcn.100ad750
mov ecx, dword [0x1026fb74]
mov eax, dword [ecx + 0x1b94]
dec dword [eax + 0xc0]
jmp 0x100ad6e0
mov ecx, dword [0x1026fb74]
inc edi
cmp edi, ebx
jl 0x100ad652
jmp 0x100ad6ed
xor ebx, ebx
cmp byte [ecx + 0x3e3], 0
movss xmm1, dword [ecx + 0xe8]
je 0x100ad741
mov eax, dword [ecx + 0x1ecc]
test eax, eax
jne 0x100ad70d
or eax, 0xffffffff
jmp 0x100ad714
movsx eax, byte [eax + 0x200]
cmp eax, ebx
jne 0x100ad741
movss xmm2, dword [esp + 0x1c]
comiss xmm1, xmm2
jb 0x100ad741
movss xmm0, dword [esp + 0x18]
addss xmm0, xmm2
comiss xmm0, xmm1
jbe 0x100ad741
or ecx, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
jmp fcn.100ae270
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret