Function at 0x100aa880
Capabilities:
Hash data with crc32

Disassembly:
sub esp, 0x24
push ebx
mov ebx, dword [0x1019deb4]
push ebp
push esi
push edi
mov ebp, dword [ebx + 0x1ecc]
cmp byte [ebp + 0x215], 0
jne 0x100aa8a9
mov ecx, ebp
call fcn.100a6fa0
mov ebx, dword [0x1019deb4]
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 0x100aa9e5
mov edi, dword [edi + 0x54]
xor esi, esi
test edi, edi
jle 0x100aa9e5
nop word [eax + eax]
mov edx, dword [ebx + 0x1ecc]
test edx, edx
je 0x100aa9dc
mov dword [esp + 0x14], edi
cmp esi, dword [edx + 0x54]
jne 0x100aa91c
movsx eax, byte [edx + 0x200]
xor ecx, ecx
cmp eax, esi
mov eax, 0x800000
cmove ecx, eax
jmp 0x100aa925
mov eax, dword [edx + 0xc]
imul ecx, esi, 0x68
mov ecx, dword [ecx + eax]
test ecx, 0x100000
je 0x100aa9dc
cmp byte [edx + 0x215], 0
jne 0x100aa94c
movsx eax, byte [edx + 0x1ff]
cmp esi, eax
jl 0x100aa94c
mov eax, 0x1015f939
jmp 0x100aa96b
mov eax, dword [edx + 0xc]
imul ecx, esi, 0x68
movzx eax, word [ecx + eax + 0x50]
cmp ax, 0xffff
jne 0x100aa964
mov eax, 0x1015f939
jmp 0x100aa96b
cwde
add eax, dword [edx + 0x1c0]
movss xmm0, dword [ebx + 0x1930]
mov edi, dword [esp + 0x14]
test eax, eax
je 0x100aa9ce
movss xmm3, dword [0x10183a2c]
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.100f4bb0
movss xmm0, dword [esp + 0x20]
addss xmm0, dword [0x101837d8]
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 0x100aa9dc
movaps xmm1, xmm0
movss dword [esp + 0x18], xmm1
inc esi
cmp esi, edi
jl 0x100aa8f0
movss xmm0, dword [ebx + 0x1574]
mov ecx, 1
addss xmm0, xmm0
addss xmm0, xmm1
movss dword [esp + 0x18], xmm0
call fcn.100a8960
cmp byte [ebp + 0x223], 0
jne 0x100aab1e
mov ecx, dword [0x1019deb4]
mov ebx, dword [ecx + 0x1ecc]
test ebx, ebx
je 0x100aaac8
mov ebx, dword [ebx + 0x54]
xor edi, edi
test ebx, ebx
jle 0x100aaaca
mov ecx, edi
call fcn.100a9130
test al, al
je 0x100aaab7
mov eax, dword [0x1019deb4]
mov edx, dword [eax + 0x1ecc]
test edx, edx
jne 0x100aaa51
xor esi, esi
jmp 0x100aaa8d
cmp byte [edx + 0x215], 0
jne 0x100aaa6c
movsx eax, byte [edx + 0x1ff]
cmp edi, eax
jl 0x100aaa6c
mov esi, 0x1015f939
jmp 0x100aaa8d
mov eax, dword [edx + 0xc]
imul ecx, edi, 0x68
movzx eax, word [ecx + eax + 0x50]
cmp ax, 0xffff
jne 0x100aaa84
mov esi, 0x1015f939
jmp 0x100aaa8d
movsx esi, ax
add esi, dword [edx + 0x1c0]
movsx ecx, word [ebp + 0x60]
imul ecx, dword [ebp + 0x54]
add ecx, edi
call fcn.100e8670
mov ecx, esi
call fcn.100aab30
mov ecx, dword [0x1019deb4]
mov eax, dword [ecx + 0x1b94]
dec dword [eax + 0xc0]
jmp 0x100aaabd
mov ecx, dword [0x1019deb4]
inc edi
cmp edi, ebx
jl 0x100aaa33
jmp 0x100aaaca
xor ebx, ebx
cmp byte [ecx + 0x3e3], 0
movss xmm1, dword [ecx + 0xe8]
je 0x100aab1e
mov eax, dword [ecx + 0x1ecc]
test eax, eax
jne 0x100aaaea
or eax, 0xffffffff
jmp 0x100aaaf1
movsx eax, byte [eax + 0x200]
cmp eax, ebx
jne 0x100aab1e
movss xmm2, dword [esp + 0x1c]
comiss xmm1, xmm2
jb 0x100aab1e
movss xmm0, dword [esp + 0x18]
addss xmm0, xmm2
comiss xmm0, xmm1
jbe 0x100aab1e
or ecx, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
jmp fcn.100ab6a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret