Function at 0x100a9e50
Capabilities:
Hash data with crc32

Disassembly:
sub esp, 0x24
push ebx
mov ebx, dword [0x1034edb4]
push ebp
push esi
push edi
mov ebp, dword [ebx + 0x1ecc]
cmp byte [ebp + 0x215], 0
jne 0x100a9e79
mov ecx, ebp
call fcn.100a6600
mov ebx, dword [0x1034edb4]
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 0x100a9fb5
mov edi, dword [edi + 0x54]
xor esi, esi
test edi, edi
jle 0x100a9fb5
nop word [eax + eax]
mov edx, dword [ebx + 0x1ecc]
test edx, edx
je 0x100a9fac
mov dword [esp + 0x14], edi
cmp esi, dword [edx + 0x54]
jne 0x100a9eec
movsx eax, byte [edx + 0x200]
xor ecx, ecx
cmp eax, esi
mov eax, 0x800000
cmove ecx, eax
jmp 0x100a9ef5
mov eax, dword [edx + 0xc]
imul ecx, esi, 0x68
mov ecx, dword [ecx + eax]
test ecx, 0x100000
je 0x100a9fac
cmp byte [edx + 0x215], 0
jne 0x100a9f1c
movsx eax, byte [edx + 0x1ff]
cmp esi, eax
jl 0x100a9f1c
mov eax, 0x10157378
jmp 0x100a9f3b
mov eax, dword [edx + 0xc]
imul ecx, esi, 0x68
movzx eax, word [ecx + eax + 0x50]
cmp ax, 0xffff
jne 0x100a9f34
mov eax, 0x10157378
jmp 0x100a9f3b
cwde
add eax, dword [edx + 0x1c0]
movss xmm0, dword [ebx + 0x1930]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x100a9f9e
movss xmm3, dword [0x101791b4]
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.100f8f00
movss xmm0, dword [esp + 0x20]
addss xmm0, dword [0x10178eec]
movss xmm1, dword [esp + 0x18]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x24]
comiss xmm1, xmm0
jae 0x100a9fac
movaps xmm1, xmm0
movss dword [esp + 0x18], xmm1
inc esi
cmp esi, edi
jl 0x100a9ec0
movss xmm0, dword [ebx + 0x1574]
mov ecx, 1
addss xmm0, xmm0
addss xmm0, xmm1
movss dword [esp + 0x18], xmm0
call fcn.100a80f0
cmp byte [ebp + 0x223], 0
jne 0x100aa0ee
mov ecx, dword [0x1034edb4]
mov ebx, dword [ecx + 0x1ecc]
test ebx, ebx
je 0x100aa098
mov ebx, dword [ebx + 0x54]
xor esi, esi
test ebx, ebx
jle 0x100aa09a
mov ecx, esi
call fcn.100a8890
test al, al
je 0x100aa087
mov eax, dword [0x1034edb4]
mov edx, dword [eax + 0x1ecc]
test edx, edx
jne 0x100aa021
xor edi, edi
jmp 0x100aa05d
cmp byte [edx + 0x215], 0
jne 0x100aa03c
movsx eax, byte [edx + 0x1ff]
cmp esi, eax
jl 0x100aa03c
mov edi, 0x10157378
jmp 0x100aa05d
mov eax, dword [edx + 0xc]
imul ecx, esi, 0x68
movzx eax, word [ecx + eax + 0x50]
cmp ax, 0xffff
jne 0x100aa054
mov edi, 0x10157378
jmp 0x100aa05d
movsx edi, ax
add edi, dword [edx + 0x1c0]
movsx ecx, word [ebp + 0x60]
imul ecx, dword [ebp + 0x54]
add ecx, esi
call fcn.100ecc10
mov ecx, edi
call fcn.100aa100
mov ecx, dword [0x1034edb4]
mov eax, dword [ecx + 0x1b94]
dec dword [eax + 0xc0]
jmp 0x100aa08d
mov ecx, dword [0x1034edb4]
inc esi
cmp esi, ebx
jl 0x100aa003
jmp 0x100aa09a
xor ebx, ebx
cmp byte [ecx + 0x3e3], 0
movss xmm1, dword [ecx + 0xe8]
je 0x100aa0ee
mov eax, dword [ecx + 0x1ecc]
test eax, eax
jne 0x100aa0ba
or eax, 0xffffffff
jmp 0x100aa0c1
movsx eax, byte [eax + 0x200]
cmp eax, ebx
jne 0x100aa0ee
movss xmm2, dword [esp + 0x1c]
comiss xmm1, xmm2
jb 0x100aa0ee
movss xmm0, dword [esp + 0x18]
addss xmm0, xmm2
comiss xmm0, xmm1
jbe 0x100aa0ee
or ecx, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
jmp fcn.100aabc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret