Function at 0x1000ed30
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 [0x103b0024]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
mov ebx, dword [0x103ca828]
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 0x1000ed76
call fcn.10013920
jmp 0x1000f305
movss xmm1, dword [edi + 0x18]
movss xmm0, dword [edi + 0x1c]
mov al, byte [edi + 0xaa]
movss xmm2, dword [0x103a2800]
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x18], xmm1
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x1c], xmm0
test al, 1
je 0x1000edbe
comiss xmm2, xmm1
jb 0x1000edbe
movaps xmm1, xmm2
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x18], xmm1
test al, 2
je 0x1000edd6
comiss xmm2, xmm0
jb 0x1000edd6
movaps xmm0, xmm2
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x1c], xmm0
call fcn.10013920
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 [0x103a2924]
movss dword [esp + 0x7c], xmm3
call fcn.10015240
cmp word [edi + 0x130], 0
jne 0x1000ee46
cmp byte [edi + 0x135], 0
je 0x1000f2e1
mov eax, dword [edi + 8]
test eax, 0x800000
jne 0x1000f2e1
cmp byte [edi + 0x8d], 0
je 0x1000f24d
shr eax, 0x1d
test al, 1
jne 0x1000f24d
mov esi, dword [edi]
or edx, 0xffffffff
movss xmm0, dword [edi + 0x1c]
mulss xmm0, dword [0x103a2718]
mov al, byte [esi]
inc esi
movss dword [esp + 0x18], xmm0
test al, al
je 0x1000eeb7
or edi, 0xffffffff
nop
cmp al, 0x23
jne 0x1000ee9e
cmp byte [esi], al
jne 0x1000ee9e
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 + 0x10195ca0]
test al, al
jne 0x1000ee90
mov eax, dword [0x103ca828]
not edx
or ebx, 0xffffffff
mov dword [esp + 0x14], edx
mov esi, 0x1038fcb9
mov cl, 0x74
or edi, 0xffffffff
nop
cmp cl, 0x23
jne 0x1000eedf
cmp byte [esi], cl
jne 0x1000eedf
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 + 0x10195ca0]
test cl, cl
jne 0x1000eed0
movss xmm2, dword [eax + 0x18]
lea ecx, [esp + 0x64]
not ebx
add ebx, dword [esp + 0x14]
push ebx
call fcn.100025c0
mov edi, dword [esp + 0x6c]
xorps xmm1, xmm1
movss xmm0, dword [edi + 0x60]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000ef2c
movss xmm2, dword [0x103a27c8]
jmp 0x1000ef34
movss xmm2, dword [0x103a2940]
movss xmm0, dword [esp + 0x68]
mulss xmm0, dword [0x103a27c8]
mov eax, dword [esp + 0x64]
movss xmm3, dword [0x103a2784]
mulss xmm0, xmm2
addss xmm0, dword [eax + 0x14]
comiss xmm1, xmm0
jbe 0x1000ef61
xorps xmm2, xmm2
jmp 0x1000ef68
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 [0x103a274c]
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.10005110
push eax
lea ecx, [esp + 0x44]
call fcn.10005110
push eax
lea ecx, [esp + 0x58]
call fcn.10005110
push eax
lea ecx, [esp + 0x2c]
call fcn.10005110
mov ecx, dword [edi + 0x248]
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x78]
push eax
call fcn.10021990
mov eax, dword [0x103ca828]
mov ecx, 0x1038fcd1
mov dl, 0x62
mov dword [esp + 0x64], ecx
or ebx, 0xffffffff
mov byte [esp + 0x13], dl
or esi, 0xffffffff
cmp dl, 0x23
jne 0x1000f095
cmp byte [ecx], dl
jne 0x1000f095
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 + 0x10195ca0]
mov dl, byte [ecx]
inc ecx
mov byte [esp + 0x13], dl
mov dword [esp + 0x64], ecx
test dl, dl
jne 0x1000f086
movss xmm2, dword [eax + 0x18]
lea ecx, [esp + 0x6c]
not ebx
add ebx, dword [esp + 0x14]
push ebx
call fcn.100025c0
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 0x1000f105
movss xmm2, dword [0x103a27c8]
jmp 0x1000f10d
movss xmm2, dword [0x103a2930]
movss xmm0, dword [esp + 0x70]
mulss xmm0, dword [0x103a27c8]
mov eax, dword [esp + 0x6c]
mulss xmm0, xmm2
addss xmm0, dword [eax + 0x14]
comiss xmm1, xmm0
jbe 0x1000f132
xorps xmm2, xmm2
jmp 0x1000f13e
movss xmm2, dword [0x103a2784]
minss xmm2, xmm0
movss dword [eax + 0x14], xmm2
lea ecx, [esp + 0x20]
movaps xmm0, xmm2
mov dword [esp + 0x20], 0
mulss xmm0, dword [0x103a274c]
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.10005110
push eax
lea ecx, [esp + 0x54]
call fcn.10005110
push eax
lea ecx, [esp + 0x48]
call fcn.10005110
push eax
lea ecx, [esp + 0x3c]
call fcn.10005110
mov ecx, dword [edi + 0x248]
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.10021990
mov ebx, dword [esp + 0x60]
mov edx, dword [edi + 0x58]
lea ecx, [esp + 0x74]
push 0
push 0
call fcn.100153a0
mov edx, dword [edi + 0x58]
lea ecx, [esp + 0x7c]
push 1
call fcn.10006ff0
add esp, 0xc
cmp word [edi + 0x130], 0
jne 0x1000f2f3
cmp edi, dword [ebx + 0x47a4]
jne 0x1000f2f3
movss xmm4, dword [0x103a27c8]
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.10006ff0
add esp, 4
jmp 0x1000f2f3
push 0
push 0
xor edx, edx
lea ecx, [esp + 0x7c]
call fcn.100153a0
add esp, 8
cmp dword [ebx + 0x3e3c], edi
jne 0x1000f305
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.101238be
mov esp, ebp
pop ebp
ret