Function at 0x10026010
Capabilities:
Hash data with crc32

Disassembly:
sub esp, 0x1c
push ebp
mov ebp, dword [0x10083558]
push esi
xor esi, esi
mov byte [esp + 0xc], 0
push edi
mov dword [esp + 0x14], esi
call fcn.1001fc70
mov edi, eax
test edi, edi
je 0x1002603c
mov dword [ebp + 0x4c18], esi
xor eax, eax
jmp 0x10026042
mov eax, dword [ebp + 0x4c18]
cmp dword [ebp + 0x4c1c], esi
je 0x1002608a
test eax, eax
jne 0x1002608a
movss xmm0, dword [ebp + 0x18]
mulss xmm0, dword [0x1007a6b0]
movss xmm1, dword [ebp + 0x4c28]
subss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm0, dword [ebp + 0x4c44]
maxss xmm1, xmm0
movss dword [ebp + 0x4c28], xmm1
jb 0x1002608a
comiss xmm0, xmm1
jb 0x1002608a
mov dword [ebp + 0x4c1c], esi
push ebx
or ebx, 0xffffffff
mov al, 0x23
mov edx, 0x1007a475
or esi, 0xffffffff
cmp al, 0x23
jne 0x100260a6
cmp byte [edx], al
jne 0x100260a6
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 + 0x10078f40]
test al, al
jne 0x10026098
mov eax, dword [ebp + 8]
not ebx
test al, 2
je 0x100260d3
test byte [ebp + 0xc], 1
mov byte [esp + 0x12], 1
jne 0x100260d8
mov byte [esp + 0x12], 0
and eax, 0xffffff01
mov dword [esp + 0x24], eax
test edi, edi
jne 0x10026109
mov eax, dword [ebp + 0x4c10]
test eax, eax
je 0x10026109
push ebx
push 0x2001
push eax
call fcn.1002d180
add esp, 0xc
test al, al
je 0x10026109
mov byte [esp + 0x10], 1
jmp 0x10026112
mov byte [esp + 0x10], 0
test edi, edi
jne 0x10026136
mov eax, dword [ebp + 0x4c14]
test eax, eax
je 0x10026136
push ebx
push 0x2001
push eax
call fcn.1002d180
add esp, 0xc
test al, al
je 0x10026136
mov byte [esp + 0x11], 1
jmp 0x1002613f
mov byte [esp + 0x11], 0
test edi, edi
jne 0x1002616e
cmp byte [esp + 0x12], 0
je 0x1002616e
cmp dword [ebp + 0x4c18], 0
jne 0x1002616e
push 0
push 0
push 0x279
call fcn.10021e60
add esp, 0xc
test al, al
je 0x1002616e
mov cl, 1
xor esi, esi
mov byte [esp + 0x12], cl
jmp 0x10026182
mov esi, dword [ebp + 0x4c18]
xor cl, cl
mov byte [esp + 0x12], cl
test edi, edi
jne 0x10026194
test esi, esi
jne 0x10026194
cmp byte [esp + 0x10], 0
jne 0x10026190
cmp byte [esp + 0x11], 0
je 0x10026194
mov al, 1
jmp 0x10026196
xor al, al
mov byte [esp + 0x13], al
test cl, cl
jne 0x100261a6
test al, al
je 0x1002626d
mov eax, dword [ebp + 0x4a50]
test eax, eax
jne 0x100261cf
mov eax, dword [ebp + 0x3f54]
push 0xffffffffffffffff
dec eax
push Ordinal_2
push eax
call fcn.1001e7c0
add esp, 0xc
test eax, eax
je 0x1002626d
mov esi, dword [eax + 0x30c]
mov dword [ebp + 0x4c3c], 0
mov eax, dword [ebp + 0x4c3c]
mov dword [ebp + 0x4c34], eax
mov al, byte [esp + 0x12]
mov byte [ebp + 0x4c2c], al
movzx eax, byte [esp + 0x13]
xor eax, 1
mov dword [ebp + 0x4c40], 0
mov ecx, dword [ebp + 0x4c40]
add eax, 2
cmp byte [esp + 0x10], 0
mov dword [ebp + 0x4c1c], esi
mov dword [ebp + 0x4c18], esi
mov dword [ebp + 0x4c28], 0
mov dword [ebp + 0x4c24], 0
mov dword [ebp + 0x4c38], ecx
mov dword [ebp + 0x4a94], eax
jne 0x1002624a
cmp byte [esp + 0x11], 0
je 0x1002626d
mov eax, dword [ebp + 0x4c14]
or eax, dword [ebp + 0x4c10]
push 0
and eax, 0xf000
push ebx
push eax
call fcn.1002c550
mov esi, dword [ebp + 0x4c18]
add esp, 0xc
movss xmm0, dword [ebp + 0x18]
movss xmm2, dword [0x1007a64c]
movss xmm3, dword [0x1007a63c]
movss xmm1, dword [0x10078204]
addss xmm0, dword [ebp + 0x4c24]
movss dword [ebp + 0x4c24], xmm0
test esi, esi
je 0x10026394
cmp dword [ebp + 0x4a94], 3
jne 0x10026394
subss xmm0, xmm2
xorps xmm2, xmm2
divss xmm0, xmm3
comiss xmm2, xmm0
jbe 0x100262c4
xorps xmm1, xmm1
jmp 0x100262c8
minss xmm1, xmm0
movss xmm0, dword [ebp + 0x4c28]
maxss xmm0, xmm1
push 0
push 1
push 0x281
movss dword [esp + 0x28], xmm0
movss dword [ebp + 0x4c28], xmm0
call fcn.10021e60
push 0
push 1
push 0x282
mov bl, al
call fcn.10021e60
movzx ecx, al
add esp, 0x18
movzx eax, bl
sub eax, ecx
je 0x1002632d
push eax
call fcn.100268f0
movss xmm1, dword [0x10078204]
add esp, 4
mov dword [ebp + 0x4c28], 0x3f800000
movaps xmm0, xmm1
jmp 0x1002633b
movss xmm1, dword [0x10078204]
movss xmm0, dword [esp + 0x1c]
mov eax, dword [0x10083558]
cmp byte [eax + 0x2870], 0
je 0x10026352
cmp byte [eax + 0x4600], 0
je 0x10026384
comiss xmm1, xmm0
seta al
and byte [ebp + 0x4c2c], al
je 0x10026370
cmp dword [ebp + 0x4a50], 0
je 0x1002637a
mov byte [esp + 0x14], 1
jmp 0x1002637a
mov esi, dword [ebp + 0x4c18]
mov dword [esp + 0x18], esi
mov dword [ebp + 0x4c18], 0
movss xmm3, dword [0x1007a63c]
movss xmm2, dword [0x1007a64c]
mov esi, dword [ebp + 0x4c18]
test esi, esi
je 0x10026446
cmp dword [ebp + 0x4a94], 2
jne 0x10026446
movss xmm0, dword [ebp + 0x4c24]
mov edx, 0xf000
mov eax, dword [ebp + 0x4c10]
subss xmm0, xmm2
test eax, eax
mov ecx, edx
xorps xmm2, xmm2
cmovne ecx, eax
mov eax, dword [ebp + 0x4c14]
test eax, eax
divss xmm0, xmm3
cmovne edx, eax
and edx, ecx
mov ecx, edx
and ecx, 0xf000
comiss xmm2, xmm0
jbe 0x100263f3
xorps xmm1, xmm1
jmp 0x100263f7
minss xmm1, xmm0
movss xmm0, dword [ebp + 0x4c28]
mov al, byte [esp + 0x10]
maxss xmm0, xmm1
movss dword [ebp + 0x4c28], xmm0
test al, al
jne 0x10026430
cmp byte [esp + 0x11], al
jne 0x10026430
mov eax, dword [ebp + 0xdc]
and eax, edx
and eax, 0xf000
cmp eax, ecx
je 0x10026446
mov dword [esp + 0x18], esi
jmp 0x10026446
movzx eax, al
xor eax, 1
lea eax, [eax*2 - 1]
push eax
call fcn.100268f0
add esp, 4
mov ebx, dword [esp + 0x24]
lea esi, [esp + 0x1c]
mov dword [esp + 0x1c], 0x211
mov dword [esp + 0x20], 0x215
nop
test bl, bl
je 0x1002647b
mov edi, dword [esi]
push 0xffffffffffffffff
push 0
push edi
call fcn.10021e60
add esp, 0xc
test al, al
jne 0x100265af
add esi, 4
lea eax, [esp + 0x24]
cmp esi, eax
jne 0x10026460
cmp byte [ebp + 0x4c2c], 0
je 0x10026622
cmp dword [ebp + 0x4a94], 2
jne 0x10026622
cmp dword [ebp + 0x2b58], 0
jg 0x100264c4
cmp byte [ebp + 0xd8], 0
jne 0x100264c4
cmp byte [ebp + 0xd9], 0
jne 0x100264c4
cmp byte [ebp + 0xdb], 0
je 0x100264cb
mov byte [ebp + 0x4c2c], 0
mov esi, dword [ebp + 0x4c30]
cmp esi, 0x200
jl 0x100264e1
cmp esi, 0x29a
jl 0x10026501
cmp esi, 0x1000
je 0x10026501
cmp esi, 0x2000
je 0x10026501
cmp esi, 0x4000
je 0x10026501
cmp esi, 0x8000
jne 0x10026533
mov ecx, dword [0x10083558]
cmp byte [ecx + 0x48d4], 0
je 0x10026524
cmp dword [ecx + 0x3fe4], 0xffffffff
je 0x10026524
lea eax, [esi - 0x200]
cmp eax, 0x76
jbe 0x10026541
push esi
push ecx
call fcn.1001f570
add esp, 8
cmp dword [eax], 0xffffffff
jne 0x10026541
mov eax, dword [0x10083558]
cmp dword [eax + 0x476c], 0xffffffff
je 0x10026548
mov byte [ebp + 0x4c2c], 0
push esi
call fcn.10021fc0
add esp, 4
test al, al
je 0x1002660f
cmp byte [ebp + 0x4c2c], 0
je 0x1002660f
cmp dword [ebp + 0x3fe4], 0
je 0x1002657c
cmp byte [ebp + 0x3ff1], 0
je 0x1002660f
lea eax, [ebp + 0xbc]
test eax, eax
jne 0x10026590
mov eax, dword [0x10083558]
add eax, 0xbc
movss xmm0, dword [eax]
movss xmm1, dword [0x1007a6e8]
comiss xmm0, xmm1
movss xmm2, dword [eax + 4]
jb 0x100265cb
comiss xmm2, xmm1
jb 0x100265cb
mov cl, 1
jmp 0x100265cd
mov byte [ebp + 0x4c2c], 1
mov dword [ebp + 0x4c30], edi
mov dword [ebp + 0x4a94], 2
jmp 0x10026493
xor cl, cl
lea eax, [ebp + 0x2a84]
test eax, eax
jne 0x100265e1
mov eax, dword [0x10083558]
add eax, 0xbc
movss xmm0, dword [eax]
comiss xmm0, xmm1
movss xmm2, dword [eax + 4]
jb 0x100265f8
comiss xmm2, xmm1
jb 0x100265f8
mov al, 1
jmp 0x100265fa
xor al, al
mov edx, dword [esp + 0x14]
cmp cl, al
movzx edx, dl
mov edi, 1
cmove edx, edi
mov dword [esp + 0x14], edx
push esi
call fcn.10021db0
add esp, 4
test al, al
jne 0x10026622
mov byte [ebp + 0x4c2c], al
mov eax, dword [ebp + 0x4c18]
test eax, eax
je 0x1002679d
test byte [eax + 0xc], 4
jne 0x1002679d
mov eax, dword [ebp + 0x4a94]
cmp eax, 2
jne 0x10026679
cmp byte [ebp + 0xd9], 0
jne 0x1002679d
mov eax, dword [0x10083558]
movss xmm2, dword [eax + 0x210c]
movss xmm3, dword [eax + 0x212c]
subss xmm2, dword [eax + 0x20fc]
subss xmm3, dword [eax + 0x211c]
jmp 0x100266a7
cmp eax, 3
jne 0x1002679d
mov eax, dword [0x10083558]
movss xmm2, dword [eax + 0x296c]
movss xmm3, dword [eax + 0x298c]
subss xmm2, dword [eax + 0x295c]
subss xmm3, dword [eax + 0x297c]
xorps xmm4, xmm4
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x100266c0
ucomiss xmm3, xmm4
lahf
test ah, 0x44
jnp 0x1002679d
movss xmm1, dword [ebp + 0x3c]
minss xmm1, dword [ebp + 0x40]
movss xmm0, dword [ebp + 0x18]
mulss xmm0, dword [0x1007a6d4]
mov byte [ebp + 0x4aab], 1
mulss xmm1, xmm0
mulss xmm2, xmm1
mulss xmm3, xmm1
addss xmm2, dword [ebp + 0x4c34]
addss xmm3, dword [ebp + 0x4c38]
cvttss2si esi, xmm2
cvttss2si edi, xmm3
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movd xmm1, edi
ucomiss xmm0, xmm4
movss dword [ebp + 0x4c34], xmm2
movss dword [ebp + 0x4c38], xmm3
lahf
cvtdq2ps xmm1, xmm1
test ah, 0x44
jp 0x10026732
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002679d
mov eax, dword [ebp + 0x4c18]
lea ecx, [esp + 0x24]
push 1
push ecx
mov eax, dword [eax + 0x30c]
push eax
addss xmm0, dword [eax + 0x18]
movss dword [esp + 0x30], xmm0
movaps xmm0, xmm1
addss xmm0, dword [eax + 0x1c]
movss dword [esp + 0x34], xmm0
call fcn.1002cf00
movss xmm0, dword [ebp + 0x4c34]
add esp, 0xc
movd xmm1, esi
cvtdq2ps xmm1, xmm1
subss xmm0, xmm1
movd xmm1, edi
cvtdq2ps xmm1, xmm1
movss dword [ebp + 0x4c34], xmm0
movss xmm0, dword [ebp + 0x4c38]
subss xmm0, xmm1
movss dword [ebp + 0x4c38], xmm0
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x10026820
mov eax, dword [ebp + 0x4a50]
test eax, eax
je 0x100267b7
cmp ebx, dword [eax + 0x30c]
je 0x10026816
push 0
push 0
call fcn.1002bee0
mov eax, dword [0x10083558]
push 0
push ebx
mov word [eax + 0x4aa9], 1
mov byte [eax + 0x4aab], 1
call fcn.1001c1e0
push 1
push ebx
call fcn.1001eb80
mov esi, dword [ebp + 0x4a50]
add esp, 0x18
cmp dword [esi + 0x324], 0
jne 0x10026802
push 0
push esi
call fcn.100234a0
add esp, 8
cmp word [esi + 0x156], 2
jne 0x10026816
mov dword [ebp + 0x4a98], 1
mov dword [ebp + 0x4c18], 0
cmp byte [esp + 0x14], 0
pop ebx
je 0x100268e9
cmp dword [ebp + 0x4a50], 0
je 0x100268e9
push 0
push 0
call fcn.1002bee0
mov edi, dword [ebp + 0x4a50]
add esp, 8
mov esi, edi
cmp dword [esi + 0x304], 0
lea ecx, [esi + 0x304]
je 0x10026889
nop dword [eax]
test byte [esi + 0x154], 2
jne 0x10026889
mov eax, dword [esi + 0xc]
and eax, 0x15000000
cmp eax, 0x1000000
jne 0x10026889
mov esi, dword [ecx]
cmp dword [esi + 0x304], 0
lea ecx, [esi + 0x304]
jne 0x10026860
cmp esi, edi
je 0x100268a4
push 0
push esi
call fcn.1001eb80
mov dword [esi + 0x320], edi
add esp, 8
mov edi, dword [ebp + 0x4a50]
mov ecx, dword [ebp + 0x4a98]
xor esi, esi
mov al, byte [edi + 0x154]
mov edx, ecx
xor edx, 1
and al, 2
cmove edx, esi
cmp edx, ecx
je 0x100268e9
cmp edx, 1
jne 0x100268cb
mov dword [edi + 0x328], esi
push edx
call fcn.10024080
mov eax, dword [0x10083558]
add esp, 4
mov word [eax + 0x4aa9], 1
mov byte [eax + 0x4aab], 1
pop edi
pop esi
pop ebp
add esp, 0x1c
ret