Function at 0x100322b0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x10209f80]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0x14]
or edx, 2
test dword [ebp + 0x18], 0x40000000
push ebx
cmove edx, dword [ebp + 0x14]
mov ecx, edx
and ecx, 0xfffffffb
test dl, 0x10
push esi
cmove ecx, edx
mov edx, 0x1000041
mov ebx, ecx
and ebx, 0xfffffff7
test cl, 0x20
push edi
mov edi, dword [0x1020b1f4]
cmove ebx, ecx
test bl, 0x70
mov eax, dword [edi + 0x3fa8]
mov dword [ebp - 0x14], eax
mov eax, 0x1000001
cmove edx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
and eax, 4
or edx, eax
or edx, dword [ebp + 0x18]
mov dword [ebp - 0x10], edx
test bl, 0xc
jne 0x10032328
or edx, 0x102
mov dword [ebp - 0x10], edx
test bl, bl
jns 0x10032404
movups xmm0, xmmword [edi + 0x39c8]
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 3
push eax
lea ecx, [edi + 0x4994]
movups xmmword [ebp - 0x28], xmm0
call fcn.10047020
movups xmm0, xmmword [edi + 0x3a08]
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 7
push eax
movups xmmword [edi + 0x39c8], xmm0
mov esi, dword [0x1020b1f4]
movss xmm0, dword [edi + 0x38ec]
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [esi + 0x38d4]
lea ecx, [esi + 0x49a0]
movss dword [ebp - 0x20], xmm0
call fcn.100471a0
movss xmm0, dword [ebp - 0xc]
lea eax, [ebp - 0x24]
movss dword [esi + 0x38d4], xmm0
mov esi, dword [0x1020b1f4]
movss xmm0, dword [edi + 0x38f0]
movss dword [ebp - 0xc], xmm0
push eax
movss xmm0, dword [esi + 0x38d8]
lea ecx, [esi + 0x49a0]
mov dword [ebp - 0x24], 8
movss dword [ebp - 0x20], xmm0
call fcn.100471a0
movss xmm0, dword [ebp - 0xc]
lea eax, [edi + 0x38e4]
push eax
push 2
movss dword [esi + 0x38d8], xmm0
call fcn.1003f8a0
mov esi, dword [ebp - 0x10]
add esp, 8
or ebx, 3
or esi, 4
mov dword [ebp - 0x10], esi
jmp 0x10032407
mov esi, dword [ebp - 0x10]
or dword [edi + 0x492c], 0x100
mov dword [edi + 0x4964], ebx
mov ecx, dword [0x1020b1f4]
mov edx, dword [ecx + 0x3fa8]
cmp dword [edx + 0x198], 0
jne 0x1003243a
cmp dword [ecx + 0x4c8c], 0
mov eax, 0x230
je 0x1003243f
mov eax, 0x200
movss xmm5, dword [edx + eax]
xorps xmm1, xmm1
movss xmm6, dword [edx + eax + 4]
mov eax, edx
subss xmm5, dword [eax + 0xf8]
subss xmm6, dword [eax + 0xfc]
test bl, 0x20
je 0x10032467
xorps xmm6, xmm6
test bl, 0x10
je 0x1003246f
xorps xmm5, xmm5
mov eax, dword [ebp + 0x10]
xorps xmm4, xmm4
xorps xmm3, xmm3
movss xmm2, dword [eax]
comiss xmm1, xmm2
movss xmm0, dword [eax + 4]
ja 0x1003248b
comiss xmm1, xmm0
jbe 0x100324b2
cmp dword [edx + 0x198], 0
jne 0x100324a2
cmp dword [ecx + 0x4c8c], 0
mov eax, 0x230
je 0x100324a7
mov eax, 0x200
movss xmm4, dword [edx + eax]
movss xmm3, dword [edx + eax + 4]
movss xmm7, dword [0x101ccf0c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x100324c8
movaps xmm2, xmm5
jmp 0x100324e0
comiss xmm1, xmm2
jbe 0x100324e0
subss xmm4, dword [edx + 0xf8]
addss xmm4, xmm2
movaps xmm2, xmm7
maxss xmm2, xmm4
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100324ee
movaps xmm0, xmm6
jmp 0x10032506
comiss xmm1, xmm0
jbe 0x10032506
subss xmm3, dword [edx + 0xfc]
addss xmm3, xmm0
movaps xmm0, xmm7
maxss xmm0, xmm3
mov eax, dword [ebp - 0x14]
or dword [ecx + 0x492c], 2
mov edx, dword [ebp + 8]
movss dword [ecx + 0x494c], xmm2
movss dword [ecx + 0x4950], xmm0
mov dword [ecx + 0x4934], 1
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0xc]
test edx, edx
je 0x1003254f
push edx
push ecx
push str._s__s__08X
push 0
push eax
call fcn.100376d0
add esp, 0x18
jmp 0x10032560
push ecx
push str._s__08X
push 0
push eax
call fcn.100376d0
add esp, 0x14
movss xmm0, dword [edi + 0x38d8]
movss dword [ebp - 0x18], xmm0
test bl, 1
jne 0x1003257c
mov dword [edi + 0x38d8], 0
push esi
push 0
push dword [ebp - 0xc]
call fcn.1002fa10
movss xmm0, dword [ebp - 0x18]
add esp, 0xc
mov byte [ebp - 5], al
movss dword [edi + 0x38d8], xmm0
test bl, bl
jns 0x100325af
push 3
call fcn.1003f3f0
push 1
call fcn.1003f390
add esp, 8
mov esi, dword [edi + 0x3fa8]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x18], esi
cmp word [esi + 0xbc], 1
mov dword [esi + 0x78], edx
jne 0x100325dd
mov ebx, dword [ebp - 0x14]
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov dword [ebx + 0xf8], eax
mov dword [ebx + 0xfc], ecx
mov esi, edx
mov al, 0x23
not esi
mov edx, 0x101cdff1
mov ebx, esi
nop word [eax + eax]
cmp al, 0x23
jne 0x100325fe
cmp byte [edx], al
jne 0x100325fe
cmp byte [edx + 1], al
cmove ebx, esi
movzx ecx, bl
movzx eax, al
xor ecx, eax
shr ebx, 8
mov al, byte [edx]
inc edx
xor ebx, dword [ecx*4 + 0x101cd328]
test al, al
jne 0x100325f0
mov esi, dword [ebp - 0x18]
not ebx
cmp dword [edi + 0x3ff8], ebx
jne 0x10032630
push 0
push 0
call fcn.100426f0
add esp, 8
mov eax, dword [ebp + 0xc]
cmp dword [edi + 0x4a1c], eax
jne 0x1003267d
test dword [ebp - 0x10], 0x800000
jne 0x1003267d
cmp word [esi + 0x154], 0
jne 0x10032657
cmp byte [esi + 0x15a], 0
je 0x1003267d
push 0
push esi
call fcn.10036090
push 0
push esi
call fcn.1003a7e0
push esi
push ebx
call fcn.100426f0
mov eax, dword [edi + 0x4a40]
add esp, 0x18
mov dword [edi + 0x4018], eax
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 5]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.100f3936
mov esp, ebp
pop ebp
ret