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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xd0
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x2c]
mov eax, dword [0x10356534]
xor eax, ebp
mov edi, ebx
shr edi, 0x14
and edi, 1
and esi, 0xfffffffe
cmp esi, 8
mov dword [esp + 0xc8], eax
sete al
and ebx, 0x20
shr ebx, 5
and bl, al
movsd xmm5, qword [ebp + 0x20]
movsd xmm3, qword [ebp + 0x18]
mov eax, dword [ebp + 8]
movss xmm4, dword [eax + edi*4]
movss xmm2, dword [eax + edi*4 + 8]
movapd xmm0, xmm5
subsd xmm0, xmm3
movapd xmm1, xmm3
subsd xmm1, xmm5
movapd xmm6, xmm3
cmpltsd xmm6, xmm5
andpd xmm0, xmm6
andnpd xmm6, xmm1
movaps xmm5, xmm2
subss xmm5, xmm4
addss xmm5, dword [0x10156148]
orpd xmm6, xmm0
mov ecx, dword [0x10357698]
movss xmm3, dword [ecx + 0x1590]
mov dword [esp + 0x80], esi
cmp esi, 8
movapd xmmword [esp + 0x90], xmm6
je 0x100e1284
xorpd xmm0, xmm0
ucomisd xmm6, xmm0
jb 0x100e1284
xorps xmm0, xmm0
cvtss2sd xmm0, xmm5
movsd xmm1, qword [0x10156c90]
addsd xmm1, xmm6
divsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movaps xmm1, xmm3
cmpless xmm1, xmm0
andps xmm0, xmm1
andnps xmm1, xmm3
orps xmm1, xmm0
movaps xmm3, xmm1
mov eax, dword [ebp + 0x28]
mov esi, dword [ebp + 0xc]
minss xmm3, xmm5
movaps xmm1, xmm5
subss xmm1, xmm3
addss xmm4, dword [0x10156168]
movss xmm0, dword [0x10154044]
mulss xmm0, xmm3
xorps xmm7, xmm7
xorpd xmm6, xmm6
test bl, bl
movaps xmmword [esp + 0x50], xmm3
je 0x100e1367
mov dword [esp], eax
mov dword [esp + 4], 3
movss dword [esp + 0x3c], xmm2
movss dword [esp + 0x30], xmm4
movss dword [esp + 0x40], xmm5
movss dword [esp + 0x38], xmm0
mov esi, ebx
mov ebx, ecx
movss dword [esp + 0x28], xmm1
call fcn.100e2430
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
movsd qword [esp + 8], xmm0
mov dword [esp + 4], 0x3fb99999
mov dword [esp], 0xa0000000
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movss xmm1, dword [esp + 0x28]
mov ecx, ebx
mov ebx, esi
mov esi, dword [ebp + 0xc]
movss xmm5, dword [esp + 0x40]
movss xmm4, dword [esp + 0x30]
movaps xmm3, xmmword [esp + 0x50]
movss xmm2, dword [esp + 0x3c]
fstp dword [esp + 0x7c]
movss xmm6, dword [esp + 0x7c]
movss xmm7, dword [ecx + 0x1598]
mulss xmm7, dword [0x10154044]
movaps xmm0, xmm1
maxss xmm0, dword [0x10154df4]
divss xmm7, xmm0
movss xmm0, dword [esp + 0x38]
mov edx, dword [ebp + 0x14]
addss xmm4, xmm0
cmp dword [ecx + 0x1a50], esi
jne 0x100e16aa
mov eax, dword [ecx + 0x1a84]
cmp eax, 2
je 0x100e14e9
cmp eax, 1
jne 0x100e16aa
cmp byte [ecx + 0xf0], 0
movss dword [esp + 0x3c], xmm2
movss dword [esp + 0x30], xmm4
movss dword [esp + 0x40], xmm5
movss dword [esp + 0x38], xmm0
je 0x100e166c
movss dword [esp + 0x28], xmm1
ucomiss xmm1, dword [0x10154e10]
xorps xmm1, xmm1
jbe 0x100e1407
movapd xmm1, xmm6
movss xmm6, dword [ecx + edi*4 + 0xe8]
subss xmm6, xmm4
divss xmm6, dword [esp + 0x28]
movss dword [esp + 0x2c], xmm1
movss xmm0, dword [0x10154df4]
minss xmm0, xmm6
xorpd xmm1, xmm1
cmpltss xmm6, xmm1
movaps xmm1, xmm6
andnps xmm1, xmm0
movss xmm6, dword [esp + 0x2c]
test dword [ebp + 0x2c], 0x100000
mov edi, dword [ebp + 0x10]
je 0x100e1422
movss xmm0, dword [0x10154df4]
subss xmm0, xmm1
movaps xmm1, xmm0
mov esi, dword [ebp + 0x2c]
and esi, 0x40
movss dword [esp + 0x34], xmm7
movss dword [esp + 0x20], xmm7
movss dword [esp + 0x2c], xmm6
movss dword [esp + 0x1c], xmm6
movzx eax, bl
mov dword [esp + 0x18], eax
movsd xmm0, qword [ebp + 0x20]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [ebp + 0x18]
movsd qword [esp + 8], xmm0
movss dword [esp + 4], xmm1
mov dword [esp], edi
call fcn.100ece70
fstp qword [esp + 0xa8]
movsd xmm0, qword [esp + 0xa8]
test esi, esi
jne 0x100e14a4
movsd qword [esp + 8], xmm0
mov dword [esp + 4], edi
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
call fcn.100ed170
fstp qword [esp + 0xa0]
movsd xmm0, qword [esp + 0xa0]
movss xmm4, dword [esp + 0x30]
mov edx, dword [ebp + 0x14]
movsd xmm1, qword [edx]
ucomisd xmm1, xmm0
movss xmm2, dword [esp + 0x3c]
movaps xmm3, xmmword [esp + 0x50]
movss xmm5, dword [esp + 0x40]
movss xmm7, dword [esp + 0x34]
movss xmm6, dword [esp + 0x2c]
jne 0x100e14da
jnp 0x100e1841
movsd qword [edx], xmm0
mov al, 1
mov dword [esp + 0x28], eax
jmp 0x100e1849
movss dword [esp + 0x2c], xmm6
movss dword [esp + 0x34], xmm7
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x40], xmm5
movss dword [esp + 0x30], xmm4
movss dword [esp + 0x3c], xmm2
cmp byte [ecx + 0x1a5c], 0
je 0x100e1527
mov dword [ecx + 0x2ddc], 0
mov byte [ecx + 0x2de0], 0
mov dword [esp + 0x28], ecx
movaps xmm0, xmmword [0x101635e0]
movups xmmword [esp + 4], xmm0
lea eax, [esp + 0xc0]
mov dword [esp], eax
call fcn.100bd520
test dword [ebp + 0x2c], 0x100000
je 0x100e1561
movss xmm3, dword [esp + 0xc4]
xorps xmm3, xmmword [0x101540d0]
jmp 0x100e156a
movss xmm3, dword [esp + 0xc0]
xorps xmm0, xmm0
ucomiss xmm3, xmm0
movss xmm4, dword [esp + 0x30]
movss xmm7, dword [esp + 0x34]
movss xmm6, dword [esp + 0x2c]
mov edx, dword [ebp + 0x14]
mov ecx, dword [esp + 0x28]
jne 0x100e1591
jnp 0x100e1837
cmp dword [esp + 0x80], 8
jne 0x100e1609
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], 3
movaps xmmword [esp + 0x80], xmm3
call fcn.100e2430
movaps xmm3, xmmword [esp + 0x80]
mov ecx, dword [esp + 0x28]
mov edx, dword [ebp + 0x14]
movss xmm6, dword [esp + 0x2c]
movss xmm7, dword [esp + 0x34]
movss xmm4, dword [esp + 0x30]
test eax, eax
jle 0x100e1609
divss xmm3, dword [0x10154e00]
mov eax, dword [0x10357698]
movss xmm0, dword [eax + 0x33c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x100e185c
divss xmm3, dword [0x10156a58]
jmp 0x100e185c
movapd xmm2, xmmword [esp + 0x90]
ucomisd xmm2, qword [0x101635f0]
mov eax, dword [0x10357698]
jb 0x100e162f
movsd xmm0, qword [0x101635f8]
ucomisd xmm0, xmm2
jae 0x100e1643
movss xmm0, dword [eax + 0x33c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x100e1854
xorpd xmm0, xmm0
xor ecx, ecx
ucomiss xmm0, xmm3
seta cl
movss xmm3, dword [ecx*4 + 0x1015c598]
mov ecx, dword [esp + 0x28]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm2
divss xmm3, xmm0
jmp 0x100e185c
movss dword [esp + 0x34], xmm7
movss dword [esp + 0x2c], xmm6
mov esi, edx
call fcn.100a9cc0
mov edx, esi
movss xmm6, dword [esp + 0x2c]
movss xmm7, dword [esp + 0x34]
movss xmm0, dword [esp + 0x38]
movss xmm5, dword [esp + 0x40]
movss xmm4, dword [esp + 0x30]
movaps xmm3, xmmword [esp + 0x50]
movss xmm2, dword [esp + 0x3c]
mov dword [esp + 0x28], 0
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0x30]
movss xmm1, dword [0x10154df4]
ucomiss xmm1, xmm5
jbe 0x100e16da
mov eax, dword [ebp + 8]
movdqu xmm0, xmmword [eax]
pshufd xmm0, xmm0, 0x44
movdqu xmmword [esi], xmm0
jmp 0x100e181d
movss dword [esp + 0x30], xmm4
addss xmm2, dword [0x101561d4]
movaps xmm1, xmmword [0x101540d0]
xorps xmm1, xmm3
movaps xmmword [esp + 0x40], xmm1
subss xmm2, xmm0
movss dword [esp + 0x3c], xmm2
movsd xmm0, qword [edx]
movss dword [esp + 0x24], xmm7
movss dword [esp + 0x20], xmm6
movzx eax, bl
mov dword [esp + 0x1c], eax
movsd xmm1, qword [ebp + 0x20]
movsd qword [esp + 0x14], xmm1
movsd xmm1, qword [ebp + 0x18]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
mov dword [esp], edi
call fcn.100ecaa0
fstp dword [esp + 0x70]
movss xmm0, dword [esp + 0x70]
test dword [ebp + 0x2c], 0x100000
je 0x100e175e
movss xmm1, dword [0x10154df4]
subss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [esp + 0x30]
movss xmm3, dword [esp + 0x3c]
subss xmm3, xmm1
mulss xmm3, xmm0
addss xmm3, xmm1
jne 0x100e17cc
mov eax, dword [ebp + 8]
movss xmm0, dword [eax + 0xc]
addss xmm0, dword [0x101561d4]
movss xmm1, dword [eax + 4]
movss xmm2, dword [0x10154044]
movaps xmm4, xmmword [esp + 0x50]
mulss xmm4, xmm2
addss xmm4, xmm3
addss xmm1, dword [0x10156168]
movaps xmm5, xmmword [esp + 0x40]
mulss xmm5, xmm2
addss xmm5, xmm3
movss dword [esi], xmm5
movss dword [esi + 4], xmm1
movss dword [esi + 8], xmm4
movss dword [esi + 0xc], xmm0
jmp 0x100e181d
movss xmm0, dword [0x10154044]
movaps xmm4, xmmword [esp + 0x50]
mulss xmm4, xmm0
addss xmm4, xmm3
mov eax, dword [ebp + 8]
movss xmm1, dword [eax]
movss xmm2, dword [eax + 8]
addss xmm2, dword [0x101561d4]
movaps xmm5, xmmword [esp + 0x40]
mulss xmm5, xmm0
addss xmm5, xmm3
addss xmm1, dword [0x10156168]
movss dword [esi], xmm1
movss dword [esi + 4], xmm5
movss dword [esi + 8], xmm2
movss dword [esi + 0xc], xmm4
mov ecx, dword [esp + 0xc8]
xor ecx, ebp
call fcn.100f6c33
mov eax, dword [esp + 0x28]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movss xmm2, dword [ecx + 0x2ddc]
jmp 0x100e1894
mov dword [esp + 0x28], 0
movss xmm0, dword [esp + 0x38]
jmp 0x100e16b5
divss xmm3, dword [0x10154e00]
movss xmm0, dword [0x10156a58]
xorps xmm2, xmm2
cmpltss xmm2, dword [eax + 0x340]
mulss xmm0, xmm3
andps xmm0, xmm2
andnps xmm2, xmm3
orps xmm2, xmm0
addss xmm2, dword [ecx + 0x2ddc]
movss dword [ecx + 0x2ddc], xmm2
mov byte [ecx + 0x2de0], 1
movss xmm0, dword [esp + 0x38]
cmp dword [ecx + 0x1b64], esi
jne 0x100e18af
cmp byte [ecx + 0x1a5c], 0
je 0x100e198b
cmp byte [ecx + 0x2de0], 0
je 0x100e19ab
movsd xmm0, qword [edx]
movss dword [esp + 0x24], xmm7
movss dword [esp + 0x20], xmm6
movzx edi, bl
mov dword [esp + 0x1c], edi
movsd xmm1, qword [ebp + 0x20]
movsd qword [esp + 0x14], xmm1
movsd xmm1, qword [ebp + 0x18]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
movaps xmmword [esp + 0x80], xmm2
call fcn.100ecaa0
movaps xmm1, xmmword [esp + 0x80]
fstp dword [esp + 0x78]
movss xmm3, dword [esp + 0x78]
ucomiss xmm3, dword [0x10154df4]
jb 0x100e1925
xorps xmm0, xmm0
ucomiss xmm1, xmm0
ja 0x100e193a
xorps xmm0, xmm0
ucomiss xmm0, xmm3
jb 0x100e19cc
ucomiss xmm0, xmm1
jbe 0x100e19cc
mov eax, dword [esp + 0x28]
mov dword [eax + 0x2ddc], 0
mov byte [eax + 0x2de0], 0
mov dword [esp + 0x28], 0
movss xmm2, dword [esp + 0x3c]
movaps xmm3, xmmword [esp + 0x50]
mov edi, dword [ebp + 0x10]
movss xmm4, dword [esp + 0x30]
movss xmm5, dword [esp + 0x40]
movss xmm0, dword [esp + 0x38]
movss xmm7, dword [esp + 0x34]
movss xmm6, dword [esp + 0x2c]
mov edx, dword [ebp + 0x14]
jmp 0x100e16b5
call fcn.100a9cc0
mov edx, dword [ebp + 0x14]
movss xmm6, dword [esp + 0x2c]
movss xmm7, dword [esp + 0x34]
movss xmm0, dword [esp + 0x38]
movss xmm4, dword [esp + 0x30]
mov dword [esp + 0x28], 0
movss xmm2, dword [esp + 0x3c]
movaps xmm3, xmmword [esp + 0x50]
mov edi, dword [ebp + 0x10]
movss xmm5, dword [esp + 0x40]
jmp 0x100e16b5
movaps xmm2, xmm1
movss dword [esp + 0x6c], xmm3
addss xmm2, xmm3
movss xmm1, dword [0x10154df4]
minss xmm1, xmm2
cmpltss xmm2, xmm0
andnps xmm2, xmm1
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x1c], xmm0
mov dword [esp + 0x18], edi
movsd xmm0, qword [ebp + 0x20]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [ebp + 0x18]
movsd qword [esp + 8], xmm0
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
movaps xmmword [esp + 0x90], xmm2
movss dword [esp + 4], xmm2
call fcn.100ece70
fstp qword [esp + 0xb8]
movsd xmm0, qword [esp + 0xb8]
mov esi, dword [ebp + 0x2c]
and esi, 0x40
jne 0x100e1a78
movsd qword [esp + 8], xmm0
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
call fcn.100ed170
fstp qword [esp + 0xb0]
movsd xmm0, qword [esp + 0xb0]
movss xmm1, dword [esp + 0x34]
movss dword [esp + 0x24], xmm1
movss xmm1, dword [esp + 0x2c]
movss dword [esp + 0x20], xmm1
mov dword [esp + 0x1c], edi
movsd xmm1, qword [ebp + 0x20]
movsd qword [esp + 0x14], xmm1
movsd xmm1, qword [ebp + 0x18]
movsd qword [esp + 0xc], xmm1
movsd qword [esp + 4], xmm0
mov edi, dword [ebp + 0x10]
mov dword [esp], edi
call fcn.100ecaa0
fstp dword [esp + 0x74]
movss xmm0, dword [esp + 0x74]
subss xmm0, dword [esp + 0x6c]
xor eax, eax
movaps xmm2, xmmword [esp + 0x80]
ucomiss xmm0, xmm2
setae al
xor ecx, ecx
ucomiss xmm2, xmm0
seta cl
xorps xmm1, xmm1
ucomiss xmm2, xmm1
cmova eax, ecx
test al, al
jne 0x100e1af3
movaps xmm0, xmm2
mov eax, dword [esp + 0x28]
movss xmm1, dword [eax + 0x2ddc]
subss xmm1, xmm0
movss dword [eax + 0x2ddc], xmm1
mov byte [eax + 0x2de0], 0
movss xmm7, dword [esp + 0x34]
movss xmm6, dword [esp + 0x2c]
movaps xmm1, xmmword [esp + 0x90]
jmp 0x100e1428