Function at 0x1000f1e0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
mov esi, dword [0x10092c50]
push edi
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x1c], ecx
mov ebx, dword [esi + 0x3e60]
mov ecx, ebx
mov dword [esp + 0x18], edx
mov eax, dword [ebx + 0xc]
and eax, 4
or eax, 0x1000103
or edi, eax
cmp dword [ebx + 0x190], 0
mov dword [ebp + 0x10], edi
jne 0x1000f22c
cmp dword [esi + 0x4a28], 0
mov eax, 0x228
je 0x1000f231
mov eax, 0x1f8
movss xmm4, dword [eax + ebx]
xorps xmm3, xmm3
movss xmm5, dword [eax + ebx + 4]
subss xmm4, dword [ecx + 0xf0]
subss xmm5, dword [ecx + 0xf4]
mov ecx, dword [ebp + 8]
movss xmm2, dword [0x10088420]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
cvttss2si eax, dword [ecx]
movd xmm1, eax
cvttss2si eax, dword [ecx + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
ucomiss xmm1, xmm3
cvtdq2ps xmm0, xmm0
lahf
xor ecx, ecx
test ah, 0x44
mov eax, 1
cmovnp ecx, eax
ucomiss xmm0, xmm3
lahf
test ah, 0x44
mov eax, dword [esp + 0x10]
cmovnp eax, dword [esp + 0x14]
or eax, ecx
comiss xmm3, xmm1
mov dword [esp + 0x10], eax
jb 0x1000f2b9
addss xmm1, xmm4
comiss xmm1, xmm2
jae 0x1000f2b9
movaps xmm1, xmm2
comiss xmm3, xmm0
jb 0x1000f2ca
addss xmm0, xmm5
comiss xmm0, xmm2
jae 0x1000f2ca
movaps xmm0, xmm2
or dword [esi + 0x4714], 2
mov ecx, dword [esp + 0x1c]
movss dword [esi + 0x4734], xmm1
movss dword [esi + 0x4738], xmm0
mov dword [esi + 0x471c], 1
mov eax, dword [ebx + 4]
push edx
test ecx, ecx
je 0x1000f30f
push ecx
push eax
push str._s__s__08X
lea eax, [esp + 0x24]
push 0
push eax
call fcn.10008d00
add esp, 0x18
jmp 0x1000f324
push eax
push str._s__08X
lea eax, [esp + 0x20]
push 0
push eax
call fcn.10008d00
add esp, 0x14
cmp byte [ebp + 0xc], 0
movss xmm0, dword [esi + 0x37b8]
movss dword [esp + 0x1c], xmm0
jne 0x1000f342
mov dword [esi + 0x37b8], 0
mov ecx, dword [esp + 0x14]
xor edx, edx
push edi
call fcn.10012030
mov edi, dword [esi + 0x3e60]
add esp, 4
movss xmm0, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
movss dword [esi + 0x37b8], xmm0
cmp word [edi + 0xb6], 1
mov byte [esp + 0xf], al
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], edi
mov dword [edi + 0x74], edx
mov byte [edi + 0xc6], al
jne 0x1000f39a
mov ecx, dword [edi + 0x14]
mov eax, dword [edi + 0x18]
mov dword [ebx + 0xf0], ecx
mov dword [ebx + 0xf4], eax
mov edi, edx
mov al, 0x23
not edi
mov edx, 0x1007c911
mov ebx, edi
cmp al, 0x23
jne 0x1000f3b5
cmp byte [edx], al
jne 0x1000f3b5
cmp byte [edx + 1], al
cmove ebx, edi
movzx ecx, bl
movzx eax, al
xor ecx, eax
shr ebx, 8
mov al, byte [edx]
inc edx
xor ebx, dword [ecx*4 + 0x100809c0]
test al, al
jne 0x1000f3a7
mov edi, dword [esp + 0x1c]
not ebx
cmp dword [esi + 0x3eac], ebx
jne 0x1000f3e5
xor edx, edx
xor ecx, ecx
call fcn.1000bad0
mov eax, dword [esp + 0x18]
cmp dword [esi + 0x47fc], eax
jne 0x1000f434
test dword [ebp + 0x10], 0x800000
jne 0x1000f434
cmp word [edi + 0x14c], 0
jne 0x1000f40d
cmp byte [edi + 0x152], 0
je 0x1000f434
xor edx, edx
mov ecx, edi
call fcn.10015340
xor dl, dl
mov ecx, edi
call fcn.1001c3a0
mov edx, edi
mov ecx, ebx
call fcn.1000bad0
mov eax, dword [esi + 0x4820]
mov dword [esi + 0x3ecc], eax
mov al, byte [esp + 0xf]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret