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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x128
mov eax, dword [0x10160380]
xor eax, esp
mov dword [esp + 0x124], eax
push esi
push edi
mov edi, ecx
mov ecx, 0x101a157a
mov dword [esp + 0x3c], edi
call fcn.10137ff6
movss xmm2, dword [edi + 0x24]
lea esi, [edi + 0x64]
mulss xmm2, dword [0x1015bc08]
xorps xmm0, xmm0
mov eax, dword [0x101947a8]
movss xmm1, dword [0x1015bf74]
movss xmm3, dword [0x1015bd20]
movaps xmmword [esp + 0x110], xmm0
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], esi
movss dword [esp + 0x38], xmm2
test al, 1
je 0x100cee49
movss xmm0, dword [0x101947b8]
mulss xmm0, xmm1
mov dword [esp + 0xc], 0
mov dword [esp + 0x1c], 0xff
cvttss2si eax, xmm0
movss xmm0, dword [0x101947b4]
mulss xmm0, xmm1
movzx eax, al
cvttss2si ecx, xmm0
movss xmm0, dword [0x101947b0]
mulss xmm0, xmm1
mov dword [esp + 0x14], ecx
cvttss2si ecx, xmm0
movss xmm0, dword [0x101947ac]
mulss xmm0, xmm1
mov dword [esp + 0x28], ecx
cvttss2si ecx, xmm0
movd xmm0, eax
lea eax, [esp + 8]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0xc]
mulss xmm0, xmm2
cvttss2si edx, xmm0
test edx, edx
mov dword [esp + 8], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [esp + 0x1c]
cmovle eax, ecx
mov ecx, dword [esp + 0x10]
mov al, byte [eax]
mov byte [esp + 0xf], al
movzx eax, al
mov byte [esp + 0xc], cl
mov ecx, dword [esp + 0x28]
mov byte [esp + 0xd], cl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov ecx, dword [esp + 0x14]
mov word [esp + 8], 0
mov byte [esp + 0xa], 0
mov byte [esp + 0xe], cl
lea ecx, [esp + 0x40]
mulss xmm0, dword [0x1015bcfc]
cvttss2si eax, xmm0
movss xmm0, dword [esi + 0x10]
addss xmm0, dword [0x1015bd64]
mov byte [esp + 0xb], al
movd xmm1, dword [esp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [0x10197870]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esi + 0xc]
addss xmm0, dword [0x1015bd64]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esi + 8]
subss xmm0, xmm3
movss dword [esp + 0x10], xmm0
movss xmm0, dword [esi + 4]
mov esi, dword [eax + 0x20]
subss xmm0, xmm3
movss dword [esp + 0x14], xmm0
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
cvtdq2ps xmm0, xmm1
mulps xmm0, xmmword [0x1015c1e0]
movups xmmword [esp + 0x40], xmm0
call fcn.1000b360
movss xmm0, dword [esp + 0x14]
movss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x1c]
addss xmm1, xmm0
movss dword [esp + 0x28], xmm0
push ecx
movss dword [esp + 0x18], xmm1
movss xmm1, dword [esp + 0x14]
addss xmm2, xmm1
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x1c], xmm2
mov dword [esp], 0x3f800000
push 0xf
push ecx
mov dword [esp], 0
mov ecx, esi
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.100259e0
movss xmm0, dword [edi + 0x74]
lea ecx, [esp + 0x40]
subss xmm0, dword [0x1015bd64]
mov eax, dword [esp + 0x20]
mov byte [esp + 0xb], al
mov eax, dword [0x10197870]
mov word [esp + 8], 0
movss dword [esp + 0x10], xmm0
movss xmm0, dword [edi + 0x70]
subss xmm0, dword [0x1015bd64]
mov esi, dword [eax + 0x20]
mov byte [esp + 0xa], 0
movd xmm1, dword [esp + 8]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [edi + 0x6c]
addss xmm0, dword [0x1015bd20]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [edi + 0x68]
addss xmm0, dword [0x1015bd20]
movss dword [esp + 0x20], xmm0
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
cvtdq2ps xmm0, xmm1
mulps xmm0, xmmword [0x1015c1e0]
movups xmmword [esp + 0x40], xmm0
call fcn.1000b360
movss xmm0, dword [esp + 0x20]
movss xmm1, dword [esp + 0x14]
movss xmm2, dword [esp + 0x10]
addss xmm1, xmm0
push ecx
mov dword [esp], 0x3f800000
push 0xf
push ecx
mov dword [esp], 0
mov ecx, esi
push eax
movss dword [esp + 0x30], xmm1
lea eax, [esp + 0x30]
movss xmm1, dword [esp + 0x38]
addss xmm2, xmm1
movss dword [esp + 0x24], xmm0
push eax
lea eax, [esp + 0x28]
movss dword [esp + 0x2c], xmm1
push eax
movss dword [esp + 0x3c], xmm2
call fcn.100259e0
movss xmm0, dword [edi + 0x74]
lea ecx, [esp + 0x40]
movd xmm1, dword [esp + 0xc]
mov eax, dword [0x10197870]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [edi + 0x70]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [edi + 0x6c]
mov esi, dword [eax + 0x20]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 0x14], xmm0
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
cvtdq2ps xmm0, xmm1
mulps xmm0, xmmword [0x1015c1e0]
movups xmmword [esp + 0x40], xmm0
call fcn.1000b360
movss xmm0, dword [esp + 0x20]
movss xmm1, dword [esp + 0x14]
movss xmm2, dword [esp + 0x10]
addss xmm0, xmm1
push ecx
mov dword [esp], 0x3f800000
push 0xf
push ecx
movss dword [esp + 0x2c], xmm0
mov ecx, esi
movss xmm0, dword [esp + 0x34]
mov dword [esp], 0
addss xmm0, xmm2
push eax
lea eax, [esp + 0x30]
movss dword [esp + 0x24], xmm1
push eax
lea eax, [esp + 0x28]
movss dword [esp + 0x2c], xmm2
push eax
movss dword [esp + 0x3c], xmm0
call fcn.100259e0
mov eax, dword [0x101947a8]
movss xmm1, dword [0x1015bf74]
movss xmm2, dword [esp + 0x38]
test al, 2
je 0x100ceff7
movss xmm0, dword [0x101947c8]
mulss xmm0, xmm1
mov dword [esp + 0x28], 0xff
mov dword [esp + 0x20], 0
mov byte [esp + 0x68], 1
cvttss2si eax, xmm0
mov dword [esp + 0x6c], 3
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
movss xmm0, dword [0x101947c4]
mulss xmm0, xmm1
movzx eax, al
cvttss2si ecx, xmm0
movss xmm0, dword [0x101947c0]
mulss xmm0, xmm1
mov dword [esp + 0x30], ecx
cvttss2si ecx, xmm0
movss xmm0, dword [0x101947bc]
mulss xmm0, xmm1
mov dword [esp + 0x1c], ecx
cvttss2si ecx, xmm0
movd xmm0, eax
lea eax, [esp + 0x14]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x20]
mulss xmm0, xmm2
cvttss2si edx, xmm0
test edx, edx
mov dword [esp + 0x14], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [esp + 0x28]
cmovle eax, ecx
mov ecx, dword [esp + 0x10]
mov byte [esp + 0xc], cl
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0xd], cl
mov al, byte [eax]
mov ecx, dword [esp + 0x30]
mov byte [esp + 0xe], cl
lea ecx, [esp + 0x7c]
mov byte [esp + 0xf], al
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
lea eax, [edi + 0x40]
push eax
call fcn.10047810
movzx eax, byte [esp + 0x68]
lea esi, [edi + 0x8c]
movss xmm0, dword [esp + 0x74]
mov byte [edi + 0x78], al
mov eax, dword [esp + 0x6c]
mov dword [edi + 0x7c], eax
mov eax, dword [esp + 0x70]
mov dword [edi + 0x80], eax
lea eax, [esp + 0x7c]
movss dword [edi + 0x84], xmm0
movss xmm0, dword [esp + 0x78]
mov dword [esp + 0x94], 2
mov byte [esp + 0x98], 1
mov dword [esp + 0x9c], 0x3f800000
mov dword [esp + 0x30], 1
movss dword [edi + 0x88], xmm0
cmp esi, eax
je 0x100cefce
mov ecx, esi
call fcn.1001b4d0
movups xmm0, xmmword [esp + 0x7c]
mov byte [esp + 0x7c], 0
movups xmmword [esi], xmm0
movq xmm0, qword [esp + 0x8c]
movq qword [esi + 0x10], xmm0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0xf
lea ecx, [esp + 0x7c]
mov dword [edi + 0xa4], 2
mov byte [edi + 0xa8], 1
mov dword [edi + 0xac], 0x3f800000
call fcn.1001b4d0
mov eax, dword [0x101947a8]
test al, 4
je 0x100cf1fa
movss xmm1, dword [0x1015bf74]
movss xmm0, dword [0x101947c8]
mulss xmm0, xmm1
mov dword [esp + 0x28], 0xff
mov dword [esp + 0x20], 0
mov byte [esp + 0xa0], 1
cvttss2si eax, xmm0
mov dword [esp + 0xa4], 3
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
movss xmm0, dword [0x101947c4]
mulss xmm0, xmm1
movzx eax, al
cvttss2si ecx, xmm0
movss xmm0, dword [0x101947c0]
mulss xmm0, xmm1
mov dword [esp + 8], ecx
cvttss2si ecx, xmm0
movss xmm0, dword [0x101947bc]
mulss xmm0, xmm1
mov dword [esp + 0x1c], ecx
cvttss2si ecx, xmm0
movd xmm0, eax
lea eax, [esp + 0x14]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x20]
mulss xmm0, dword [esp + 0x38]
cvttss2si edx, xmm0
test edx, edx
mov dword [esp + 0x14], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [esp + 0x28]
cmovle eax, ecx
mov ecx, dword [esp + 0x10]
mov byte [esp + 0xc], cl
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0xd], cl
mov al, byte [eax]
mov ecx, dword [esp + 8]
mov byte [esp + 0xe], cl
lea ecx, [esp + 0xb4]
mov byte [esp + 0xf], al
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa8], eax
lea eax, [edi + 0x28]
push eax
call fcn.10047810
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0xb4]
movss xmm0, dword [esp + 0xac]
mov dword [esp + 0xcc], 1
mov byte [esp + 0xd0], 0
lea esi, [eax*8]
mov dword [esp + 0xd4], 0x3f800000
sub esi, eax
inc eax
mov dword [esp + 0x30], eax
movzx eax, byte [esp + 0xa0]
mov byte [edi + esi*8 + 0x78], al
mov eax, dword [esp + 0xa4]
mov dword [edi + esi*8 + 0x7c], eax
mov eax, dword [esp + 0xa8]
mov dword [edi + esi*8 + 0x80], eax
lea eax, [edi + 0x8c]
movss dword [edi + esi*8 + 0x84], xmm0
lea eax, [eax + esi*8]
movss xmm0, dword [esp + 0xb0]
movss dword [edi + esi*8 + 0x88], xmm0
cmp eax, ecx
je 0x100cf1cb
mov ecx, eax
call fcn.1001b4d0
movups xmm0, xmmword [esp + 0xb4]
mov byte [esp + 0xb4], 0
movups xmmword [edi + esi*8 + 0x8c], xmm0
movq xmm0, qword [esp + 0xc4]
movq qword [edi + esi*8 + 0x9c], xmm0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0xf
lea ecx, [esp + 0xb4]
mov dword [edi + esi*8 + 0xa4], 1
mov byte [edi + esi*8 + 0xa8], 0
mov dword [edi + esi*8 + 0xac], 0x3f800000
call fcn.1001b4d0
mov eax, dword [0x101947a8]
test al, 8
je 0x100cf3d1
movss xmm0, dword [0x101947f8]
movss xmm1, dword [0x1015bf74]
mulss xmm0, xmm1
mov dword [esp + 0x28], 0xff
movss xmm2, dword [edi + 0x1c]
mov dword [esp + 0x20], 0
cvttss2si eax, xmm0
mov dword [esp + 0xdc], 3
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0xf
mov dword [esp + 0x104], 0
mov byte [esp + 0x108], 0
mov dword [esp + 0x10c], 0x3f800000
movss xmm0, dword [0x101947f4]
mulss xmm0, xmm1
movzx eax, al
movss dword [esp + 0xe4], xmm2
cvttss2si ecx, xmm0
movss xmm0, dword [0x101947f0]
mulss xmm0, xmm1
mov dword [esp + 8], ecx
cvttss2si ecx, xmm0
movss xmm0, dword [0x101947ec]
mulss xmm0, xmm1
mov dword [esp + 0x1c], ecx
movss xmm1, dword [edi + 0x20]
movss dword [esp + 0xe8], xmm1
cvttss2si ecx, xmm0
movd xmm0, eax
lea eax, [esp + 0x14]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x20]
mulss xmm0, dword [esp + 0x38]
cvttss2si edx, xmm0
xorps xmm0, xmm0
test edx, edx
mov dword [esp + 0x14], edx
movups xmmword [esp + 0xec], xmm0
cmovns ecx, eax
mov byte [esp + 0xec], 0
cmp edx, 0xff
lea eax, [esp + 0x28]
mov dl, 1
cmovle eax, ecx
mov byte [esp + 0xd8], dl
mov ecx, dword [esp + 0x10]
mov byte [esp + 0xc], cl
mov ecx, dword [esp + 0x1c]
mov al, byte [eax]
mov byte [esp + 0xd], cl
mov ecx, dword [esp + 8]
mov byte [esp + 0xe], cl
mov ecx, dword [esp + 0x30]
mov byte [esp + 0xf], al
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe0], eax
lea esi, [ecx*8]
sub esi, ecx
lea ecx, [esp + 0xec]
mov byte [edi + esi*8 + 0x78], dl
mov dword [edi + esi*8 + 0x7c], 3
mov dword [edi + esi*8 + 0x80], eax
lea eax, [edi + 0x8c]
lea eax, [eax + esi*8]
movss dword [edi + esi*8 + 0x84], xmm2
movss dword [edi + esi*8 + 0x88], xmm1
cmp eax, ecx
je 0x100cf3a7
mov ecx, eax
call fcn.1001b4d0
movups xmm0, xmmword [esp + 0xec]
movups xmmword [edi + esi*8 + 0x8c], xmm0
movq xmm0, qword [esp + 0xfc]
movq qword [edi + esi*8 + 0x9c], xmm0
lea ecx, [esp + 0xec]
mov dword [edi + esi*8 + 0xa4], 0
mov byte [edi + esi*8 + 0xa8], 0
mov dword [edi + esi*8 + 0xac], 0x3f800000
call fcn.1001b4d0
mov ecx, 0x14
lea esi, [edi + 0x78]
mov edi, dword [esp + 0x34]
mov dword [esp + 8], ecx
cmp byte [esi], 0
je case.default.0x100cf3ee
mov eax, dword [esi + 4]
cmp eax, 3
ja case.default.0x100cf3ee
jmp dword [eax*4 + 0x100cf4b4]
lea eax, [esp + 0x110]
jmp 0x100cf417
lea eax, [esp + 0x114]
jmp 0x100cf417
lea eax, [esp + 0x118]
jmp 0x100cf417
lea eax, [esp + 0x11c]
push eax
mov edx, esi
mov ecx, edi
call fcn.100c9a00
mov ecx, dword [esp + 0xc]
add esp, 4
add esi, 0x38
sub ecx, 1
mov dword [esp + 8], ecx
jne 0x100cf3e1
mov edi, dword [esp + 0x3c]
mov esi, 0x14
add edi, 0x78
cmp byte [edi], 0
je case.default.0x100cf44d
mov eax, dword [edi + 4]
cmp eax, 3
ja case.default.0x100cf44d
jmp dword [eax*4 + 0x100cf4c4]
lea eax, [esp + 0x50]
push eax
push dword [esp + 0x114]
jmp 0x100cf48a
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x118]
jmp 0x100cf48a
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x11c]
jmp 0x100cf48a
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x120]
mov ecx, dword [esp + 0x3c]
mov edx, edi
call fcn.100c95a0
add esp, 8
add edi, 0x38
sub esi, 1
jne 0x100cf440
mov ecx, dword [esp + 0x12c]
pop edi
pop esi
xor ecx, esp
call fcn.100dfbc8
mov esp, ebp
pop ebp
ret