Function at 0x100eaec0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x17c
mov eax, dword [0x101210c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x170], eax
push esi
push edi
mov ecx, dword [ebx]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101cc804]
lea esi, [ebp - 0x168]
push esi
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
test al, al
je 0x100eaf11
cmp byte [ebp - 0x2c], 0
jne 0x100eb643
mov ecx, dword [ebx]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0xe0
lea edi, [eax + 0x10165998]
test edi, edi
je 0x100eb643
mov ecx, dword [0x101ccb08]
mov eax, dword [ebx]
add ecx, 0xffffffa3
xor ecx, 0x5910728c
mov eax, dword [ecx + eax]
mov ecx, dword [0x101cc808]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov esi, eax
test esi, esi
je 0x100eb09c
mov ecx, dword [esi]
mov edx, dword [ecx + 0x6f8]
mov ecx, esi
call edx
test eax, eax
je 0x100eb09c
mov eax, dword [eax + 0xc8]
cmp eax, 9
je 0x100eaf91
cmp eax, 6
jg 0x100eb09c
test eax, eax
jle 0x100eb09c
mov eax, dword [0x101cc864]
movss xmm1, dword [0x10114e70]
movss xmm2, dword [0x10114e18]
divss xmm1, dword [eax + 0x20]
mov eax, dword [0x101ccb94]
add eax, 0xffffff80
xor eax, 0x591072af
movaps xmm0, xmm1
mulss xmm0, dword [eax + esi]
addss xmm0, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0xd0]
mov dword [ebp - 8], eax
movd xmm3, eax
cvtdq2ps xmm3, xmm3
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x100eb09c
mulss xmm1, dword [ebx + 0x60]
addss xmm1, xmm2
cvttss2si eax, xmm1
cmp dword [ebp - 8], eax
je 0x100eb08a
xor esi, esi
cmp dword [edi + 0x18], esi
jbe 0x100eb08a
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x14]
dec ecx
mov edx, dword [edi + 0xc]
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x174], eax
nop
and eax, ecx
mov eax, dword [edx + eax*4]
test eax, eax
je 0x100eb068
movss xmm1, dword [eax + 0x50]
lea ecx, [ebp - 0xc]
movss xmm0, dword [ebx + 0x28]
subss xmm0, xmm1
movss dword [ebp - 0x16c], xmm1
movss dword [ebp - 0xc], xmm0
call fcn.100e0830
movss xmm0, dword [ebp - 0xc]
call fcn.1002bd50
comiss xmm0, dword [0x10114fa4]
ja 0x100eb07d
mov ecx, dword [ebp - 0x178]
mov edx, dword [edi + 0xc]
mov eax, dword [ebp - 0x174]
inc esi
inc eax
mov dword [ebp - 0x174], eax
cmp esi, dword [edi + 0x18]
jb 0x100eb020
jmp 0x100eb08a
movss xmm0, dword [ebp - 0x16c]
movss dword [ebx + 0x28], xmm0
mov eax, dword [ebp - 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0xd0], xmm0
cmp dword [edi + 0x18], 8
xorps xmm3, xmm3
mov dword [edi + 0xb4], 0
jb 0x100eb13e
mov eax, dword [edi + 0x10]
lea ecx, [ebp - 8]
mov edx, dword [edi + 0xc]
dec eax
movss xmm0, dword [ebx + 0x38]
mov dword [ebp - 0x16c], eax
and eax, dword [edi + 0x14]
mov esi, dword [edx + eax*4]
subss xmm0, dword [esi + 0x60]
movss dword [ebp - 8], xmm0
call fcn.100e0830
movss xmm0, dword [ebp - 8]
call fcn.1002bd50
xorps xmm3, xmm3
comiss xmm0, xmm3
ja 0x100eb134
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0xc]
inc eax
and eax, dword [ebp - 0x16c]
movss xmm0, dword [esi + 0x60]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 8]
subss xmm0, dword [eax + 0x60]
movss dword [ebp - 8], xmm0
call fcn.100e0830
movss xmm0, dword [ebp - 8]
call fcn.1002bd50
xorps xmm3, xmm3
comiss xmm0, xmm3
ja 0x100eb134
mov dword [edi + 0xb4], 1
jmp 0x100eb13e
mov dword [edi + 0xb4], 3
movss xmm1, dword [ebx + 0x14]
movss xmm0, dword [ebx + 0x10]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1002bd80
mov esi, dword [ebp - 0x170]
movss xmm1, dword [0x10114de0]
movss xmm5, dword [0x10114dcc]
movss dword [ebp - 0xc], xmm0
cmp byte [esi], 0
je 0x100eb28b
mov byte [edi + 0x74], 1
movss xmm4, dword [edi + 0x3c]
movss xmm2, dword [ebx + 4]
movss xmm0, dword [ebx + 8]
subss xmm2, xmm4
subss xmm0, dword [edi + 0x40]
movss xmm1, dword [ebx + 0xc]
subss xmm1, dword [edi + 0x44]
mulss xmm2, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.1002bd80
comiss xmm0, xmm5
ja 0x100eb29d
ucomiss xmm4, xmm3
lahf
test ah, 0x44
jnp 0x100eb29d
movss xmm0, dword [edi + 0x40]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x100eb29d
movss xmm0, dword [edi + 0x44]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x100eb29d
movss xmm1, dword [ebx + 0x14]
movss xmm0, dword [ebx + 0x10]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1002bd80
comiss xmm0, xmm5
ja 0x100eb29d
mov eax, dword [0x101cc864]
movss xmm2, dword [edi + 0x4c]
movss xmm1, dword [ebx + 0x60]
movaps xmm0, xmm2
addss xmm0, dword [eax + 0x20]
comiss xmm1, xmm0
jbe 0x100eb27e
movaps xmm0, xmm1
subss xmm0, xmm2
movss dword [ebp - 0x16c], xmm0
fld dword [ebp - 0x16c]
fld dword [0x10114e80]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x10114e80]
movss xmm5, dword [0x10114dcc]
fstp dword [ebp - 0x16c]
subss xmm0, dword [ebp - 0x16c]
addss xmm0, dword [ebx + 0x60]
movss dword [edi + 0x4c], xmm0
movss xmm1, dword [0x10114de0]
movss xmm0, dword [ebp - 0xc]
test byte [ebx + 0x44], 1
jne 0x100eb30d
push edi
push ebx
call fcn.100ec360
jmp 0x100eb3ea
mov eax, dword [0x101cc864]
movss xmm2, dword [edi + 0x4c]
mov byte [edi + 0x3a], 1
movaps xmm0, xmm2
movss xmm1, dword [ebx + 0x60]
addss xmm0, dword [eax + 0x20]
comiss xmm1, xmm0
jbe 0x100eb27e
movaps xmm0, xmm1
subss xmm0, xmm2
movss dword [ebp - 0x16c], xmm0
fld dword [ebp - 0x16c]
fld dword [0x10114de0]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm1, dword [0x10114de0]
movss xmm5, dword [0x10114dcc]
movaps xmm0, xmm1
fstp dword [ebp - 0x16c]
subss xmm0, dword [ebp - 0x16c]
addss xmm0, dword [ebx + 0x60]
movss dword [edi + 0x4c], xmm0
jmp 0x100eb286
mov al, byte [esi]
test al, al
jne 0x100eb3dd
comiss xmm0, xmm5
jbe 0x100eb3dd
cmp byte [ebx + 0x54], al
jne 0x100eb3dd
mov eax, dword [ebx + 0x64]
mov dword [edi + 0xcc], eax
movss xmm0, dword [ebx + 0x60]
mov eax, dword [ebx + 0x64]
addss xmm0, xmm1
mov dword [ebx + 0x4c], 3
mov dword [ebx + 0x2c], eax
movss dword [edi + 0x4c], xmm0
movss xmm1, dword [ebx + 0x14]
movss xmm0, dword [ebx + 0x10]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1002bd80
comiss xmm0, dword [0x10114ff4]
jbe 0x100eb37d
mov eax, dword [ebx + 0x64]
mov dword [edi + 0x54], eax
mov eax, dword [ebx + 0x64]
mov dword [edi + 0x50], eax
mov byte [edi + 0x3a], 1
mov dword [edi + 0x78], 0
mov dword [edi + 0x7c], 0
mov dword [edi + 0x80], 0
mov dword [edi + 0x6c], 0
mov dword [edi + 0x70], 0
mov dword [edi + 0x68], 0
mov word [edi + 0x74], 0
mov byte [edi + 0xb8], 0
mov dword [edi + 0xb0], 0
mov dword [edi + 0xac], 0
mov eax, dword [ebx + 0x5c]
mov dword [edi + 0x58], eax
mov eax, dword [ebx + 0x2c]
mov dword [edi + 0x48], eax
jmp 0x100eb3ea
push eax
push edi
push ebx
mov ecx, 0x10165a5d
call fcn.100eb660
movss xmm1, dword [edi + 0xcc]
mov dword [edi + 0xbc], 0
movss dword [ebx + 0x2c], xmm1
cmp dword [edi + 0x18], 0
je 0x100eb526
cmp dword [ebx + 0x4c], 3
jbe 0x100eb489
mov eax, dword [edi + 0xb4]
cmp eax, 3
je 0x100eb489
test eax, eax
je 0x100eb489
cmp eax, 1
jne 0x100eb526
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
dec ecx
and ecx, dword [edi + 0x14]
mov eax, dword [eax + ecx*4]
cmp dword [eax + 0x84], 2
jbe 0x100eb526
movss xmm0, dword [ebx + 0x38]
lea ecx, [ebp - 8]
subss xmm1, dword [eax + 0x54]
subss xmm0, dword [eax + 0x60]
subss xmm1, xmm0
movss dword [ebp - 8], xmm1
call fcn.100e0830
movss xmm0, dword [ebp - 8]
call fcn.1002bd50
comiss xmm0, dword [0x10114fc4]
jbe 0x100eb526
mov dword [edi + 0xbc], 2
jmp 0x100eb526
mov ecx, dword [ebx]
mov eax, dword [0x101cc9a4]
mov esi, dword [eax + ecx]
test esi, esi
je 0x100eb520
movss xmm0, dword [esi + 0x80]
lea ecx, [ebp - 8]
subss xmm0, dword [esi + 0x84]
movss dword [ebp - 8], xmm0
call fcn.100e0830
movss xmm0, dword [ebp - 8]
divss xmm0, dword [esi + 0x74]
mov esi, dword [ebp - 0x170]
comiss xmm0, dword [0x1011504c]
jbe 0x100eb4f2
movss xmm0, dword [ebx + 0x1944]
ucomiss xmm0, dword [0x10114d54]
lahf
test ah, 0x44
jp 0x100eb526
mov dword [edi + 0xbc], 2
jmp 0x100eb526
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
dec ecx
and ecx, dword [edi + 0x14]
mov eax, dword [eax + ecx*4]
movss xmm0, dword [eax + 0x168]
ucomiss xmm0, dword [0x10114d54]
lahf
test ah, 0x44
jnp 0x100eb526
mov dword [edi + 0xbc], 1
jmp 0x100eb526
mov esi, dword [ebp - 0x170]
mov eax, dword [0x10145c2c]
cmp eax, 0xffffffff
je 0x100eb62e
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x101564a0]
test al, al
je 0x100eb62e
mov ecx, dword [ebx]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
cmp eax, dword [0x101ca2d4]
jne 0x100eb62e
mov eax, dword [ebx + 0x4c]
cmp eax, 3
jne 0x100eb5ba
cmp byte [0x10145cbc], 0
je 0x100eb62e
mov ecx, dword [ebx]
mov eax, dword [0x101cc9a4]
mov eax, dword [eax + ecx]
test eax, eax
je 0x100eb62e
cmp dword [0x101ca2dc], 0
movss xmm0, dword [ebx + 0x2c]
jle 0x100eb5a8
addss xmm0, dword [0x10115034]
movss dword [eax + 0x80], xmm0
jmp 0x100eb62e
subss xmm0, dword [0x10115034]
movss dword [eax + 0x80], xmm0
jmp 0x100eb62e
cmp eax, 1
je 0x100eb62e
movss xmm1, dword [0x10140e38]
movss xmm3, dword [0x10140e3c]
subss xmm1, dword [ebx + 4]
subss xmm3, dword [ebx + 8]
movaps xmm2, xmm1
movaps xmm0, xmm3
mulss xmm2, xmm1
mulss xmm0, xmm3
addss xmm0, xmm2
call fcn.1002bd80
comiss xmm0, dword [0x10114d54]
jbe 0x100eb60b
movaps xmm0, xmm3
call fcn.10037ea0
mulss xmm0, dword [0x10115010]
jmp 0x100eb60e
xorps xmm0, xmm0
cmp dword [0x101ca2dc], 0
jle 0x100eb621
subss xmm0, dword [0x10115034]
jmp 0x100eb629
addss xmm0, dword [0x10115034]
movss dword [ebx + 0x2c], xmm0
mov eax, dword [ebx + 4]
mov dword [edi + 0x3c], eax
mov eax, dword [ebx + 8]
mov dword [edi + 0x40], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x44], eax
mov byte [esi], 0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10100d90
mov esp, ebp
pop ebp
ret 8