Function at 0x100bd6f0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
push ebx
push edi
push esi
push eax
mov edx, dword [esp + 0x18]
mov edi, dword [0x10357698]
test dl, 0x10
jne 0x100bd738
mov esi, dword [edi + 0x1a18]
mov ebx, dword [esi + 0x10c]
test ebx, ebx
je 0x100bd8ce
cmp dword [edi + 0x1a50], ebx
jne 0x100bd9dd
xor eax, eax
cmp byte [edi + 0xf0], 0
jne 0x100bd95c
jmp 0x100bd9df
mov eax, 0xffffffff
mov dl, 0x23
mov ecx, 0x1019a17f
mov ebx, 0xffffffff
jmp 0x100bd769
movzx esi, dl
movzx ebp, bl
shr ebx, 8
xor ebp, esi
xor ebx, dword [ebp*4 + 0x1015bd1c]
inc ecx
mov dl, dh
test dh, dh
je 0x100bd780
mov dh, byte [ecx - 1]
cmp dl, 0x23
jne 0x100bd750
cmp dh, 0x23
jne 0x100bd750
cmp byte [ecx], 0x23
cmove ebx, eax
mov dh, 0x23
jmp 0x100bd750
not ebx
xor esi, esi
mov ebp, edi
xor ecx, ecx
mov edx, dword [esp + 0x18]
cmp byte [edi + 0x1e10], 0
jne 0x100bd869
mov byte [ebp + 0x1e10], 0
pxor xmm0, xmm0
movdqu xmmword [ebp + 0x1e34], xmm0
movdqu xmmword [ebp + 0x1e44], xmm0
mov byte [ebp + 0x1e54], 0
movdqu xmmword [ebp + 0x1e20], xmm0
mov dword [ebp + 0x1e30], 0xffffffff
mov word [ebp + 0x1e55], 0
mov dword [ebp + 0x1e6c], 0
movq qword [ebp + 0x1e74], xmm0
mov dword [ebp + 0x1e70], 0x7f7fffff
mov dword [ebp + 0x1e7c], 0xffffffff
mov eax, dword [ebp + 0x1e8c]
test eax, eax
je 0x100bd83e
movq qword [ebp + 0x1e84], xmm0
dec dword [ebp + 0x374]
push dword [0x103576a0]
push eax
mov dword [esp + 8], ecx
call dword [0x10356500]
pxor xmm0, xmm0
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x20]
add esp, 8
mov dword [ebp + 0x1e8c], 0
movdqu xmmword [ebp + 0x1e90], xmm0
mov dword [edi + 0x1e28], ebx
mov dword [edi + 0x1e2c], ecx
mov byte [edi + 0x1e10], 1
mov dword [edi + 0x1e14], edx
mov dword [edi + 0x1e1c], 0
mov eax, dword [edi + 0x19c0]
mov dword [edi + 0x1e18], eax
mov byte [edi + 0x1e11], 1
test dl, 1
jne 0x100bd8b7
push 0
push 0
mov ebx, edx
call fcn.100bc0f0
mov edx, ebx
add esp, 8
cmp dword [edi + 0x1e78], 0
je 0x100bd8b7
test byte [edi + 0x1e6d], 0x10
je 0x100bd8b7
mov eax, dword [edi + 0x1a18]
mov byte [eax + 0x7f], 1
mov dword [eax + 0x98], 1
mov al, 1
test dl, 0x12
jne 0x100bd9df
and byte [esi + 0x110], 0xfe
jmp 0x100bd9df
xor eax, eax
test dl, 8
je 0x100bd9df
cmp byte [edi + 0xf0], 0
je 0x100bd9df
test byte [esi + 0x110], 1
jne 0x100bd908
cmp dword [edi + 0x1a50], 0
je 0x100bd9dd
cmp dword [edi + 0x1a80], esi
jne 0x100bd9dd
lea ebp, [esi + 0x114]
mov ecx, esi
push ebp
call fcn.100a9730
mov ebx, eax
mov dword [esi + 0x10c], eax
push eax
push ebp
call fcn.100a9e70
add esp, 8
test al, al
je 0x100bd94c
cmp byte [edi + 0x3e0], 0
je 0x100bd94c
push esi
push ebx
mov ebp, eax
call fcn.100a9bc0
add esp, 8
push esi
call fcn.100ab0b0
mov eax, ebp
add esp, 4
cmp dword [edi + 0x1a50], ebx
mov edx, dword [esp + 0x18]
jne 0x100bd9dd
mov byte [edi + 0x1a5d], al
mov ebp, dword [0x10357698]
cmp byte [ebp + 0xf0], 0
je 0x100bd9bd
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
movq qword [edi + 0x1a64], xmm0
mov dword [edi + 0x1a74], 0xffffffff
mov dword [edi + 0x1a70], 0xffffffff
jae 0x100bd78c
jmp 0x100bd9dd
pcmpeqd xmm0, xmm0
movq qword [edi + 0x1a64], xmm0
mov dword [edi + 0x1a74], 0xffffffff
mov dword [edi + 0x1a70], 0xffffffff
xor eax, eax
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret