Function at 0x100ba080
Capabilities:
Hash data with crc32

Disassembly:
push ebp
push ebx
push edi
push esi
push eax
mov edx, dword [esp + 0x18]
mov edi, dword [0x102709d0]
test dl, 0x10
jne 0x100ba0c8
mov esi, dword [edi + 0x1a08]
mov ebx, dword [esi + 0x10c]
test ebx, ebx
je 0x100ba25b
cmp dword [edi + 0x1a3c], ebx
jne 0x100ba33e
xor eax, eax
cmp byte [edi + 0xf0], 0
jne 0x100ba2e5
jmp 0x100ba340
mov eax, 0xffffffff
mov dl, 0x23
mov ecx, 0xfffffff3
mov ebx, 0xffffffff
jmp 0x100ba0f5
movzx esi, dh
movzx ebp, bl
shr ebx, 8
xor ebp, esi
xor ebx, dword [ebp*4 + 0x1014632c]
inc ecx
je 0x100ba113
mov dh, dl
mov dl, byte [ecx + str.bizon]
cmp dh, 0x23
jne 0x100ba0e0
cmp dl, 0x23
jne 0x100ba0e0
cmp byte [ecx + 0x1016718d], 0x23
cmove ebx, eax
jmp 0x100ba0e0
not ebx
xor esi, esi
mov ebp, edi
xor ecx, ecx
mov edx, dword [esp + 0x18]
cmp byte [edi + 0x1db0], 0
jne 0x100ba1f6
mov byte [ebp + 0x1db0], 0
xorps xmm1, xmm1
movups xmmword [ebp + 0x1dd4], xmm1
movups xmmword [ebp + 0x1de4], xmm1
mov byte [ebp + 0x1df4], 0
movups xmmword [ebp + 0x1dc0], xmm1
mov dword [ebp + 0x1dd0], 0xffffffff
mov word [ebp + 0x1df5], 0
movdqa xmm0, xmmword [0x10146cd0]
movdqu xmmword [ebp + 0x1e0c], xmm0
mov dword [ebp + 0x1e1c], 0xffffffff
mov eax, dword [ebp + 0x1e2c]
test eax, eax
je 0x100ba1cc
mov dword [ebp + 0x1e28], 0
mov dword [ebp + 0x1e24], 0
dec dword [ebp + 0x374]
push dword [0x102709d8]
push eax
mov dword [esp + 8], ecx
call dword [0x1026f980]
xorps xmm1, xmm1
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x20]
add esp, 8
mov dword [ebp + 0x1e2c], 0
movups xmmword [ebp + 0x1e30], xmm1
mov dword [edi + 0x1dc8], ebx
mov dword [edi + 0x1dcc], ecx
mov byte [edi + 0x1db0], 1
mov dword [edi + 0x1db4], edx
mov dword [edi + 0x1dbc], 0
mov eax, dword [edi + 0x19b0]
mov dword [edi + 0x1db8], eax
mov byte [edi + 0x1db1], 1
test dl, 1
jne 0x100ba244
push 0
push 0
mov ebx, edx
call fcn.100b8b90
mov edx, ebx
add esp, 8
cmp dword [edi + 0x1e18], 0
je 0x100ba244
test byte [edi + 0x1e0d], 0x10
je 0x100ba244
mov eax, dword [edi + 0x1a08]
mov byte [eax + 0x7f], 1
mov dword [eax + 0x98], 1
mov al, 1
test dl, 0x12
jne 0x100ba340
and byte [esi + 0x110], 0xfe
jmp 0x100ba340
xor eax, eax
test dl, 8
je 0x100ba340
cmp byte [edi + 0xf0], 0
je 0x100ba340
test byte [esi + 0x110], 1
jne 0x100ba295
cmp dword [edi + 0x1a3c], 0
je 0x100ba33e
cmp dword [edi + 0x1a68], esi
jne 0x100ba33e
lea ebp, [esi + 0x114]
mov ecx, esi
push ebp
call fcn.100a7bf0
mov ebx, eax
mov dword [esi + 0x10c], eax
push eax
push ebp
call fcn.100a8360
add esp, 8
test al, al
je 0x100ba2d9
cmp byte [edi + 0x3e0], 0
je 0x100ba2d9
push esi
push ebx
mov ebp, eax
call fcn.100a80d0
add esp, 8
push esi
call fcn.100a9d50
mov eax, ebp
add esp, 4
cmp dword [edi + 0x1a3c], ebx
mov edx, dword [esp + 0x18]
jne 0x100ba33e
mov byte [edi + 0x1a49], al
mov ebp, dword [0x102709d0]
cmp byte [ebp + 0xf0], 0
je 0x100ba332
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0xc4]
mov ecx, dword [ecx + eax*4 - 4]
movss xmm0, dword [ebp + 0x30]
movss xmm1, dword [ebp + 0x44c]
mulss xmm0, xmm0
ucomiss xmm1, xmm0
pcmpeqd xmm0, xmm0
movdqu xmmword [edi + 0x1a50], xmm0
jae 0x100ba11f
jmp 0x100ba33e
pcmpeqd xmm0, xmm0
movdqu xmmword [edi + 0x1a50], xmm0
xor eax, eax
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret