Function at 0x1000eb40
Capabilities:
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
mov eax, dword [0x103b0040]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
mov ebx, dword [0x103ca868]
push esi
push edi
mov dword [esp + 0x60], ebx
mov edi, dword [ebx + 0x3e38]
mov byte [ebx + 0x3de6], 1
mov dword [esp + 0x6c], edi
cmp word [edi + 0x9a], 1
jle 0x1000eb86
call fcn.10013710
jmp 0x1000f115
movss xmm1, dword [edi + 0x18]
movss xmm0, dword [edi + 0x1c]
mov al, byte [edi + 0xaa]
movss xmm2, dword [0x103a3a60]
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x18], xmm1
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x1c], xmm0
test al, 1
je 0x1000ebce
comiss xmm2, xmm1
jb 0x1000ebce
movaps xmm1, xmm2
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x18], xmm1
test al, 2
je 0x1000ebe6
comiss xmm2, xmm0
jb 0x1000ebe6
movaps xmm0, xmm2
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10013710
mov eax, dword [ebx + 0x3e38]
lea ecx, [esp + 0x18]
movss xmm0, dword [eax + 0xd8]
movss xmm2, dword [eax + 0xd4]
movaps xmm1, xmm0
addss xmm1, dword [esp + 0x64]
movaps xmm3, xmm2
movss dword [esp + 0x74], xmm2
addss xmm3, dword [esp + 0x14]
movss dword [esp + 0x78], xmm0
movss dword [esp + 0x80], xmm1
movss xmm1, dword [0x103a3b74]
movss dword [esp + 0x7c], xmm3
call fcn.10015040
cmp word [edi + 0x130], 0
jne 0x1000ec56
cmp byte [edi + 0x135], 0
je 0x1000f0f1
mov eax, dword [edi + 8]
test eax, 0x800000
jne 0x1000f0f1
cmp byte [edi + 0x8d], 0
je 0x1000f05d
shr eax, 0x1d
test al, 1
jne 0x1000f05d
mov esi, dword [edi]
or edx, 0xffffffff
movss xmm0, dword [edi + 0x1c]
mulss xmm0, dword [0x103a3978]
mov al, byte [esi]
inc esi
movss dword [esp + 0x18], xmm0
test al, al
je 0x1000ecc7
or edi, 0xffffffff
nop
cmp al, 0x23
jne 0x1000ecae
cmp byte [esi], al
jne 0x1000ecae
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 + 0x10196330]
test al, al
jne 0x1000eca0
mov eax, dword [0x103ca868]
not edx
or ebx, 0xffffffff
mov dword [esp + 0x14], edx
mov esi, 0x1038f379
mov cl, 0x74
or edi, 0xffffffff
nop
cmp cl, 0x23
jne 0x1000ecef
cmp byte [esi], cl
jne 0x1000ecef
cmp byte [esi + 1], cl
cmove ebx, edi
movzx edx, bl
movzx ecx, cl
xor edx, ecx
shr ebx, 8
mov cl, byte [esi]
inc esi
xor ebx, dword [edx*4 + 0x10196330]
test cl, cl
jne 0x1000ece0
movss xmm2, dword [eax + 0x18]
lea ecx, [esp + 0x64]
not ebx
add ebx, dword [esp + 0x14]
push ebx
call fcn.10002510
mov edi, dword [esp + 0x6c]
xorps xmm1, xmm1
movss xmm0, dword [edi + 0x60]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000ed3c
movss xmm2, dword [0x103a3a28]
jmp 0x1000ed44
movss xmm2, dword [0x103a3b90]
movss xmm0, dword [esp + 0x68]
mulss xmm0, dword [0x103a3a28]
mov eax, dword [esp + 0x64]
movss xmm3, dword [0x103a39e4]
mulss xmm0, xmm2
addss xmm0, dword [eax + 0x14]
comiss xmm1, xmm0
jbe 0x1000ed71
xorps xmm2, xmm2
jmp 0x1000ed78
movaps xmm2, xmm3
minss xmm2, xmm0
movss dword [eax + 0x14], xmm2
lea ecx, [esp + 0x30]
movaps xmm0, xmm2
mov dword [esp + 0x30], 0
mulss xmm2, dword [0x103a39ac]
mov dword [esp + 0x34], 0
mulss xmm0, xmm1
mov dword [esp + 0x38], 0
movss dword [esp + 0x5c], xmm2
movss dword [esp + 0x2c], xmm2
movss xmm2, dword [edi + 0x10]
addss xmm2, xmm1
movss dword [esp + 0x3c], xmm0
movss xmm1, dword [edi + 0x14]
movss dword [esp + 0x4c], xmm0
addss xmm1, xmm3
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
movaps xmm0, xmm2
mov dword [esp + 0x48], 0
addss xmm0, dword [edi + 0x18]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x20], 0
movss dword [esp + 0x6c], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esp + 0x18]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
movss dword [esp + 0x64], xmm2
movss dword [esp + 0x68], xmm1
movss dword [esp + 0x70], xmm0
call fcn.10005080
push eax
lea ecx, [esp + 0x44]
call fcn.10005080
push eax
lea ecx, [esp + 0x58]
call fcn.10005080
push eax
lea ecx, [esp + 0x2c]
call fcn.10005080
mov ecx, dword [edi + 0x248]
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x78]
push eax
call fcn.10021b30
mov eax, dword [0x103ca868]
mov ecx, 0x1038f391
mov dl, 0x62
mov dword [esp + 0x64], ecx
or ebx, 0xffffffff
mov byte [esp + 0x13], dl
or esi, 0xffffffff
cmp dl, 0x23
jne 0x1000eea5
cmp byte [ecx], dl
jne 0x1000eea5
cmp byte [ecx + 1], dl
cmove ebx, esi
movzx ecx, byte [esp + 0x13]
movzx edx, bl
xor edx, ecx
shr ebx, 8
mov ecx, dword [esp + 0x64]
xor ebx, dword [edx*4 + 0x10196330]
mov dl, byte [ecx]
inc ecx
mov byte [esp + 0x13], dl
mov dword [esp + 0x64], ecx
test dl, dl
jne 0x1000ee96
movss xmm2, dword [eax + 0x18]
lea ecx, [esp + 0x6c]
not ebx
add ebx, dword [esp + 0x14]
push ebx
call fcn.10002510
movss xmm0, dword [edi + 0x60]
mov edx, 1
ucomiss xmm0, dword [edi + 0x68]
xorps xmm1, xmm1
lahf
xor ecx, ecx
test ah, 0x44
cmovp ecx, edx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000ef15
movss xmm2, dword [0x103a3a28]
jmp 0x1000ef1d
movss xmm2, dword [0x103a3b80]
movss xmm0, dword [esp + 0x70]
mulss xmm0, dword [0x103a3a28]
mov eax, dword [esp + 0x6c]
mulss xmm0, xmm2
addss xmm0, dword [eax + 0x14]
comiss xmm1, xmm0
jbe 0x1000ef42
xorps xmm2, xmm2
jmp 0x1000ef4e
movss xmm2, dword [0x103a39e4]
minss xmm2, xmm0
movss dword [eax + 0x14], xmm2
lea ecx, [esp + 0x20]
movaps xmm0, xmm2
mov dword [esp + 0x20], 0
mulss xmm0, dword [0x103a39ac]
mov dword [esp + 0x24], 0
mulss xmm2, xmm1
mov dword [esp + 0x28], 0
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x4c], xmm2
movss dword [esp + 0x3c], xmm2
movss xmm2, dword [edi + 0x10]
addss xmm2, xmm1
mov dword [esp + 0x50], 0
movss xmm1, dword [edi + 0x1c]
subss xmm1, dword [esp + 0x18]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
movaps xmm0, xmm2
mov dword [esp + 0x40], 0
addss xmm0, dword [edi + 0x18]
addss xmm1, dword [edi + 0x14]
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x30], 0
movss dword [esp + 0x6c], xmm0
movaps xmm0, xmm1
mov dword [esp + 0x34], 0
addss xmm0, dword [esp + 0x18]
mov dword [esp + 0x38], 0
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x1c], xmm1
movss dword [esp + 0x70], xmm0
call fcn.10005080
push eax
lea ecx, [esp + 0x54]
call fcn.10005080
push eax
lea ecx, [esp + 0x48]
call fcn.10005080
push eax
lea ecx, [esp + 0x3c]
call fcn.10005080
mov ecx, dword [edi + 0x248]
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.10021b30
mov ebx, dword [esp + 0x60]
mov edx, dword [edi + 0x58]
lea ecx, [esp + 0x74]
push 0
push 0
call fcn.100151a0
mov edx, dword [edi + 0x58]
lea ecx, [esp + 0x7c]
push 1
call fcn.10006ed0
add esp, 0xc
cmp word [edi + 0x130], 0
jne 0x1000f103
cmp edi, dword [ebx + 0x47a4]
jne 0x1000f103
movss xmm4, dword [0x103a3a28]
lea ecx, [esp + 0x20]
movss xmm3, dword [esp + 0x7c]
movss xmm2, dword [esp + 0x80]
addss xmm3, xmm4
movss xmm1, dword [esp + 0x74]
addss xmm2, xmm4
movss xmm0, dword [esp + 0x78]
subss xmm1, xmm4
mov edx, dword [ebx + 0x47a8]
subss xmm0, xmm4
push 2
movss dword [esp + 0x2c], xmm3
movss dword [esp + 0x30], xmm2
movss dword [esp + 0x24], xmm1
movss dword [esp + 0x28], xmm0
call fcn.10006ed0
add esp, 4
jmp 0x1000f103
push 0
push 0
xor edx, edx
lea ecx, [esp + 0x7c]
call fcn.100151a0
add esp, 8
cmp dword [ebx + 0x3e3c], edi
jne 0x1000f115
or dword [ebx + 0x46a0], 0x80
mov ecx, dword [esp + 0x84]
pop edi
pop esi
mov byte [ebx + 0x3de6], 0
mov dword [ebx + 0x5a4c], 0xff7fffff
pop ebx
xor ecx, esp
call fcn.10123fc5
mov esp, ebp
pop ebp
ret