Function at 0x10072f20
Capabilities:
Hash data with crc32

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x78
mov eax, dword [0x10111040]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [0x10117114]
push edi
mov edi, esi
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x48], edi
mov eax, dword [edi + 0x3e60]
mov byte [eax + 0xac], 1
mov eax, dword [edi + 0x3e60]
mov ecx, dword [edi + 0x4714]
mov dword [edi + 0x4714], 0
mov dword [ebp - 0x4c], eax
cmp byte [eax + 0xaf], 0
mov dword [ebp - 0x78], ecx
jne 0x100735e1
mov ecx, dword [eax + 0xe4]
xor edx, edx
mov eax, dword [eax + 0xec]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x44]
call fcn.10003ad0
mov ecx, dword [ebp - 0x4c]
add esp, 4
mov dword [ebp - 0x30], eax
mov ecx, dword [ecx]
cmp dword [ecx + 0x3e94], eax
jne 0x10072fd2
push ecx
push dword [ebp - 0x44]
mov edx, 0xb
mov ecx, eax
call fcn.10025610
mov esi, dword [0x10117114]
add esp, 8
mov eax, dword [ebx + 8]
xorps xmm3, xmm3
and eax, 0x20
mov dword [ebp - 0x54], eax
je 0x10072fe7
movss dword [ebp - 0x40], xmm3
jmp 0x10073000
movss xmm0, dword [esi + 0x37c8]
addss xmm0, xmm0
addss xmm0, dword [esi + 0x3bcc]
movss dword [ebp - 0x40], xmm0
mov eax, dword [ebp - 0x44]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x10073026
nop word [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x10073026
cmp dl, 0x23
jne 0x10073020
cmp byte [ecx + 1], dl
je 0x10073026
inc ecx
cmp ecx, 0xffffffff
jb 0x10073010
movss xmm2, dword [esi + 0x3bcc]
cmp eax, ecx
jne 0x10073037
movaps xmm7, xmm3
jmp 0x1007307a
movss xmm3, dword [0x101076b8]
push 0
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x3bc8]
lea eax, [ebp - 0x3c]
mov dword [esp], 0xbf800000
push eax
call fcn.10060150
movss xmm0, dword [ebp - 0x3c]
xorps xmm3, xmm3
addss xmm0, dword [0x101074e4]
movss xmm2, dword [ebp - 0x38]
cvttss2si eax, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
mov eax, dword [ebx + 8]
and eax, 0x40
movss dword [ebp - 0x74], xmm7
mov dword [ebp - 0x6c], eax
je 0x10073091
movss xmm0, dword [ebp - 0x40]
jmp 0x100730fc
test byte [esi + 0x46c0], 1
mov eax, dword [esi + 0x3e60]
je 0x100730aa
movss xmm1, dword [esi + 0x46c8]
jmp 0x100730b2
movss xmm1, dword [eax + 0x1a0]
comiss xmm3, xmm1
jbe 0x100730f1
cmp dword [eax + 0x190], 0
jne 0x100730cf
cmp dword [esi + 0x4a28], 0
lea ecx, [eax + 0x228]
je 0x100730d5
lea ecx, [eax + 0x1f8]
movss xmm0, dword [ecx]
subss xmm0, dword [eax + 0xf0]
addss xmm0, xmm1
movss xmm1, dword [0x101074ec]
maxss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm7, xmm3
mov eax, dword [ebp - 0x4c]
movss xmm4, dword [eax + 0xf0]
movss xmm6, dword [edi + 0x37c8]
movaps xmm1, xmm4
movss xmm5, dword [eax + 0xf4]
addss xmm1, xmm0
movss dword [ebp - 0x64], xmm0
movaps xmm0, xmm6
addss xmm0, xmm6
movss dword [ebp - 0x24], xmm4
movss dword [ebp - 0x20], xmm5
movss dword [ebp - 0x1c], xmm1
addss xmm0, xmm2
addss xmm0, xmm5
movss dword [ebp - 0x18], xmm0
jbe 0x10073158
movaps xmm2, xmm7
addss xmm2, dword [edi + 0x37dc]
jmp 0x1007315b
movaps xmm2, xmm3
addss xmm1, xmm2
movss dword [ebp - 0x14], xmm4
addss xmm0, xmm3
movss dword [ebp - 0x10], xmm5
lea ecx, [ebp - 0x3c]
movss dword [ebp - 0xc], xmm1
subss xmm1, xmm4
movss dword [ebp - 8], xmm0
subss xmm0, xmm5
movss dword [ebp - 0x3c], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0x38], xmm0
call fcn.10014d30
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0x24]
push 0
push eax
mov edx, esi
lea ecx, [ebp - 0x14]
call fcn.10014e90
add esp, 8
test al, al
je 0x100735e1
push 0
lea eax, [ebp - 0x27]
mov edx, esi
push eax
lea eax, [ebp - 0x26]
push eax
lea ecx, [ebp - 0x24]
call fcn.1006f0d0
mov edi, esi
mov byte [ebp - 0x27], al
not edi
add esp, 0xc
mov edx, edi
mov esi, 0x10106ed1
mov al, 0x23
nop dword [eax]
cmp al, 0x23
jne 0x100731ee
cmp byte [esi], al
jne 0x100731ee
cmp byte [esi + 1], al
cmove edx, edi
movzx ecx, dl
movzx eax, al
xor ecx, eax
shr edx, 8
mov al, byte [esi]
inc esi
xor edx, dword [ecx*4 + 0x100f4090]
test al, al
jne 0x100731e0
mov eax, dword [0x10117114]
not edx
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x2c], edx
mov ecx, dword [eax + 0x47c8]
cmp dword [eax + 0x47bc], ecx
jle 0x10073234
mov eax, dword [eax + 0x47c4]
lea ecx, [ecx + ecx*4]
cmp dword [eax + ecx*8], edx
jne 0x10073234
mov al, 1
jmp 0x10073236
xor al, al
cmp byte [ebp - 0x27], 0
mov esi, dword [ebp - 0x2c]
mov byte [ebp - 0x25], al
je 0x10073253
test al, al
jne 0x10073253
xor edx, edx
mov ecx, esi
call fcn.10016100
mov byte [ebp - 0x25], 1
movss xmm1, dword [0x101074ec]
xor ecx, ecx
cmp byte [ebp - 0x26], cl
setne cl
add ecx, 7
call fcn.10005770
movss xmm0, dword [ebp - 0x1c]
lea ecx, [ebp - 0x24]
movss xmm1, dword [ebp - 0x24]
mov edx, dword [ebp - 0x30]
movss dword [ebp - 0x48], xmm0
subss xmm0, dword [ebp - 0x40]
movss dword [ebp - 8], xmm1
push 1
mov dword [ebp - 0x38], eax
maxss xmm1, xmm0
movss dword [ebp - 0x2c], xmm1
call fcn.10006a60
movss xmm1, dword [ebp - 0x18]
add esp, 4
cmp dword [ebp - 0x6c], 0
mov ecx, 0xf0
movss dword [ebp - 0x70], xmm1
jne 0x100732f8
cmp dword [ebp - 0x54], 0
mov eax, 0x50
movss xmm0, dword [ebp - 0x2c]
cmovne eax, ecx
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [edi + 0x37cc]
push eax
push ecx
mov ecx, dword [ebp - 0x4c]
lea eax, [ebp - 0x34]
movss dword [esp], xmm0
push dword [ebp - 0x38]
movss dword [ebp - 0x30], xmm1
mov ecx, dword [ecx + 0x264]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.1005bdb0
cmp dword [ebp - 0x54], 0
movss xmm7, dword [ebp - 0x20]
movss dword [ebp - 0x30], xmm7
jne 0x10073474
cmp byte [ebp - 0x25], 0
jne 0x1007331d
cmp byte [ebp - 0x26], 0
mov edx, 0x15
je 0x10073322
mov edx, 0x16
movss xmm1, dword [0x101074ec]
xor ecx, ecx
call fcn.10005770
movss xmm0, dword [ebp - 0x2c]
mov ecx, 0xa0
movss xmm1, dword [0x101074ec]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x40]
comiss xmm0, dword [ebp - 0x64]
mov dword [ebp - 0x38], eax
mov eax, 0xf0
movss xmm0, dword [edi + 0x37cc]
movss dword [ebp - 0x54], xmm7
cmovae ecx, eax
push ecx
push ecx
mov ecx, edx
movss dword [esp], xmm0
call fcn.10005770
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x264]
call fcn.1005bdb0
movss xmm1, dword [ebp - 0x2c]
movss xmm2, dword [ebp - 0x48]
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0x40]
subss xmm0, dword [edi + 0x37c4]
comiss xmm2, xmm0
jb 0x10073474
mov eax, dword [ebp - 0x4c]
movss xmm7, dword [edi + 0x37c8]
push dword [ebp - 0x38]
movaps xmm6, xmm7
mov ecx, dword [eax + 0x264]
addss xmm6, xmm1
addss xmm7, dword [ebp - 0x30]
mov eax, dword [ecx + 0x2c]
movss xmm0, dword [eax + 0xc]
lea eax, [ebp - 0x68]
movaps xmm5, xmm0
mulss xmm0, dword [0x101074a4]
push eax
mulss xmm5, dword [0x1010749c]
lea eax, [ebp - 0x58]
push eax
addss xmm6, xmm0
addss xmm7, xmm0
movaps xmm1, xmm5
lea eax, [ebp - 0x50]
mulss xmm1, dword [0x101074d0]
movaps xmm3, xmm5
push eax
mulss xmm3, dword [0x10107418]
movaps xmm4, xmm5
mulss xmm4, dword [0x101074c4]
movaps xmm0, xmm6
addss xmm0, xmm1
movaps xmm2, xmm5
mulss xmm2, dword [0x101076e0]
movaps xmm1, xmm7
mulss xmm5, dword [0x101076dc]
addss xmm7, xmm4
movss dword [ebp - 0x68], xmm0
movaps xmm0, xmm6
addss xmm0, xmm2
addss xmm1, xmm5
addss xmm6, xmm3
movss dword [ebp - 0x4c], xmm7
movss dword [ebp - 0x58], xmm0
movss dword [ebp - 0x64], xmm1
movss dword [ebp - 0x54], xmm1
movss dword [ebp - 0x50], xmm6
call fcn.1005c1b0
push dword [ebp - 0x18]
movss xmm0, dword [edi + 0x37cc]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call fcn.100068c0
add esp, 0x10
test dword [ebx + 8], 0x100000
je 0x100734d2
movss xmm0, dword [ebp - 8]
movss xmm1, dword [ebp - 0x2c]
movss dword [edi + 0x59ec], xmm0
movss xmm0, dword [ebp - 0x30]
movss dword [edi + 0x59f0], xmm0
movss dword [edi + 0x59f4], xmm1
movss xmm1, dword [ebp - 0x70]
movss dword [edi + 0x59f8], xmm1
jmp 0x1007356d
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je 0x10073568
cmp dword [ebp - 0x6c], 0
jne 0x10073568
cmp byte [edi + 0x5ae0], 0
je 0x10073509
mov eax, dword [0x10117114]
mov dword [eax + 0x5af8], 0x10106ee4
mov dword [eax + 0x5afc], 0x10106ee0
movss xmm0, dword [ebp - 0x2c]
lea eax, [ebp - 0x60]
movss xmm1, dword [ebp - 0x70]
lea edx, [ebp - 0x3c]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 8]
addss xmm0, dword [edi + 0x37c4]
push 0
push eax
push 0
push 0
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [edi + 0x37c8]
push ecx
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 8], xmm0
call fcn.10005ed0
add esp, 0x14
movss xmm0, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0x74]
comiss xmm1, dword [0x10107418]
jbe 0x100735af
addss xmm0, dword [edi + 0x37c8]
movss xmm1, dword [ebp - 0x48]
xor edx, edx
addss xmm1, dword [edi + 0x37dc]
mov ecx, dword [ebp - 0x44]
movss dword [ebp - 0x5c], xmm0
push dword [ebp - 0x5c]
movss dword [ebp - 0x60], xmm1
push dword [ebp - 0x60]
push 1
call fcn.10005da0
add esp, 0xc
cmp byte [ebp - 0x25], 0
je 0x100735e1
mov eax, dword [ebp - 0x78]
lea edx, [ebp - 0x24]
push dword [ebx + 8]
mov ecx, esi
mov dword [edi + 0x4714], eax
call fcn.10073600
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10093c50
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [ebp - 4]
xor al, al
pop edi
xor ecx, ebp
pop esi
call fcn.10093c50
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret