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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x8d0
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
movaps xmm2, xmmword [eax + 0x20]
movaps xmm3, xmmword [eax]
movaps xmm1, xmmword [ebx]
subps xmm1, xmm3
mulps xmm1, xmm2
movaps xmm0, xmmword [ebx + 0x10]
subps xmm0, xmm3
mulps xmm0, xmm2
movaps xmm2, xmm1
minps xmm2, xmm0
movaps xmmword [esp + 0x890], xmm2
maxps xmm0, xmm1
movaps xmmword [esp + 0x8a0], xmm0
fld dword [esp + 0x894]
fld dword [esp + 0x890]
fcomi st(1)
fcmovb st(0), st(1)
fstp st(1)
fldz
fxch st(1)
fcomi st(1)
fcmovb st(0), st(1)
fld dword [esp + 0x898]
fxch st(1)
fcomi st(1)
fcmovb st(0), st(1)
fstp st(1)
fld dword [esp + 0x8a4]
fld dword [esp + 0x8a0]
fxch st(1)
fcomi st(1)
fcmovnb st(0), st(1)
fstp st(1)
fld1
fcomi st(1)
fcmovnb st(0), st(1)
fstp st(1)
fld dword [esp + 0x8a8]
fcomi st(1)
fcmovnb st(0), st(1)
fstp st(1)
fxch st(1)
fcomi st(1)
ja 0x6c2585e8
lea edx, [ebx + 0x50]
mov dword [esp + 0x90], edx
fst dword [esp + 0x94]
fxch st(1)
fst dword [esp + 0x98]
fld dword [eax + 0x10]
xor ecx, ecx
fcompi st(3)
setae cl
fld dword [eax + 0x14]
fcompi st(3)
sbb esi, esi
not esi
and esi, 2
or esi, ecx
fld dword [eax + 0x18]
fcompi st(3)
fstp st(2)
sbb ecx, ecx
not ecx
and ecx, 4
or esi, ecx
mov dword [esp + 0x3c], esi
movaps xmm0, xmmword [0x6c369650]
movaps xmmword [esp + 0x40], xmm0
lea ecx, [esp + 0x90]
mov dword [esp + 0x88], ecx
mov edi, ecx
fld dword [0x6c369650]
xorps xmm4, xmm4
lea esi, [esp + 0x8c0]
mov dword [esp + 0x84], esi
jmp 0x6c257e0d
fxch st(4)
fcomi st(4)
jb 0x6c257d98
fxch st(4)
mov ecx, dword [edx + 0xc]
add ecx, 0x10
mov dword [edi], ecx
fcomi st(3)
fcmovb st(0), st(3)
fstp dword [edi + 4]
fxch st(1)
fxch st(2)
fxch st(3)
fxch st(1)
mov dword [esp + 0x74], edi
jmp 0x6c257da2
fstp st(4)
fxch st(1)
fxch st(2)
fxch st(3)
fxch st(1)
fcomi st(3)
jb 0x6c257dd0
fxch st(3)
mov edx, dword [edx + 0xc]
mov esi, dword [esp + 0x74]
mov dword [esi + 0x10], edx
fstp dword [esi + 0x14]
fcomi st(2)
fcmovnb st(0), st(2)
fstp st(2)
fxch st(1)
fst dword [esp + 0x34]
fstp dword [esi + 0x18]
add esi, 0x10
mov dword [esp + 0x74], esi
jmp 0x6c257de8
fstp st(0)
fstp st(0)
fstp st(1)
jmp 0x6c257de8
fstp st(1)
fstp st(1)
jmp 0x6c257de8
fstp st(0)
fstp st(1)
fstp st(1)
nop
mov edx, dword [esp + 0x88]
cmp dword [esp + 0x74], edx
jb 0x6c257eb1
mov edx, dword [esp + 0x74]
fld dword [edx + 8]
fld dword [edx + 4]
fxch st(1)
fxch st(2)
mov ecx, edx
mov edx, dword [edx]
mov edi, ecx
lea ecx, [edi - 0x10]
mov dword [esp + 0x74], ecx
fcomi st(1)
jb 0x6c257dd8
mov esi, dword [edx]
mov ecx, esi
and ecx, 3
cmp ecx, 3
je 0x6c257ebc
fld dword [eax + ecx*4]
fld dword [eax + ecx*4 + 0x20]
fld dword [edx + 4]
fsub st(2)
fmul st(1)
fxch st(2)
fsubr dword [edx + 8]
fmulp st(1)
mov esi, 1
shl esi, cl
test dword [esp + 0x3c], esi
jne 0x6c257d70
fxch st(4)
fcomi st(1)
jb 0x6c257e6c
fxch st(1)
mov ecx, dword [edx + 0xc]
mov dword [edi], ecx
fcomi st(3)
fcmovb st(0), st(3)
fstp dword [edi + 4]
fxch st(3)
mov dword [esp + 0x74], edi
jmp 0x6c257e70
fstp st(1)
fxch st(3)
fcomi st(2)
jb 0x6c257de0
fxch st(2)
mov edx, dword [edx + 0xc]
add edx, 0x10
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x10], edx
fstp dword [ecx + 0x14]
fxch st(2)
fcomi st(1)
fcmovnb st(0), st(1)
fstp st(1)
fst dword [esp + 0x30]
fstp dword [ecx + 0x18]
add ecx, 0x10
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x88]
cmp dword [esp + 0x74], edx
jae 0x6c257df9
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
fstp st(0)
fstp st(0)
fstp st(0)
mov edx, esi
shr edx, 2
and edx, 0x7f
mov dword [esp + 0x7c], edx
shr esi, 9
lea esi, [edx + esi - 1]
shl esi, 8
mov dword [esp + 0x80], esi
lea ecx, [eax + 0x40]
mov dword [esp + 0x38], ecx
jmp 0x6c257f2b
mov dword [eax + 0x50], edx
mov edx, dword [esp + 0x70]
mov dword [eax + 0x54], edx
movaps xmm1, xmmword [esi + 0x60]
mulps xmm1, xmmword [esi + 0xd0]
movaps xmmword [eax + 0x40], xmm1
movss dword [esp + 0x60], xmm0
fld dword [eax + 0x58]
fld dword [esp + 0x60]
fxch st(1)
fcompi st(1)
ja 0x6c258607
fstp st(0)
movaps xmmword [esp + 0x40], xmm0
nop
sub dword [esp + 0x80], 0x100
mov edx, dword [esp + 0x7c]
test edx, edx
je 0x6c258264
dec dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
add edx, dword [ebx + 0x30]
movaps xmm3, xmmword [edx]
movaps xmm5, xmmword [eax + 0x10]
movaps xmm1, xmm5
mulps xmm1, xmm3
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xc9
addps xmm0, xmm1
shufps xmm1, xmm1, 0xd2
addps xmm0, xmm1
rcpps xmm2, xmm0
movaps xmm1, xmm2
mulps xmm1, xmm2
mulps xmm1, xmm0
addps xmm2, xmm2
subps xmm2, xmm1
movaps xmmword [esp + 0x8b0], xmm2
movaps xmm6, xmmword [eax]
movaps xmm0, xmm6
mulps xmm0, xmm3
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xc9
addps xmm1, xmm0
shufps xmm0, xmm0, 0xd2
addps xmm1, xmm0
movss xmm0, dword [edx + 0x3c]
shufps xmm0, xmm0, 0
subps xmm0, xmm1
mulps xmm0, xmm2
movaps xmm2, xmm0
cmpltps xmm2, xmmword [0x6c369680]
movaps xmm1, xmm4
cmpltps xmm1, xmm0
andps xmm1, xmm2
movmskps ecx, xmm1
test ecx, ecx
je 0x6c258025
movaps xmm3, xmm5
mulps xmm3, xmm0
addps xmm3, xmm6
subps xmm3, xmmword [edx + 0x30]
movaps xmm7, xmmword [edx + 0x10]
mulps xmm7, xmm3
movaps xmm2, xmm7
shufps xmm2, xmm7, 0xc9
addps xmm2, xmm7
shufps xmm7, xmm7, 0xd2
addps xmm2, xmm7
movaps xmm7, xmm4
cmpltps xmm7, xmm2
andps xmm1, xmm7
movmskps ecx, xmm1
test ecx, ecx
je 0x6c258025
mulps xmm3, xmmword [edx + 0x20]
movaps xmm7, xmm3
shufps xmm7, xmm3, 0xc9
addps xmm7, xmm3
shufps xmm3, xmm3, 0xd2
addps xmm7, xmm3
movaps xmm3, xmm4
cmpltps xmm3, xmm7
andps xmm1, xmm3
addps xmm2, xmm7
cmpltps xmm2, xmmword [0x6c369680]
andps xmm1, xmm2
xorps xmm0, xmmword [0x6c369650]
andps xmm0, xmm1
xorps xmm0, xmmword [0x6c369650]
movaps xmm2, xmm0
cmpltps xmm2, xmmword [esp + 0x40]
movaps xmm1, xmm4
cmpltps xmm1, xmm0
andps xmm1, xmm2
movmskps edx, xmm1
test edx, edx
je 0x6c257f20
mov edx, dword [esp + 0x80]
add edx, dword [ebx + 0x30]
movaps xmm1, xmmword [edx + 0x30]
movaps xmmword [esp + 0x60], xmm1
movaps xmm7, xmmword [edx + 0x40]
subps xmm7, xmm1
movaps xmm2, xmmword [edx + 0x50]
subps xmm2, xmm1
movaps xmm3, xmmword [eax + 0x10]
shufps xmm3, xmm3, 0xc9
mulps xmm3, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xc9
movaps xmmword [esp + 0x50], xmm1
movaps xmm1, xmmword [eax + 0x10]
mulps xmm1, xmmword [esp + 0x50]
subps xmm1, xmm3
shufps xmm1, xmm1, 0xc9
mulps xmm1, xmm7
movaps xmm3, xmm1
shufps xmm3, xmm1, 0xc9
addps xmm3, xmm1
shufps xmm1, xmm1, 0xd2
addps xmm3, xmm1
movss dword [esp + 0x78], xmm3
fldz
fld dword [esp + 0x78]
fxch st(1)
xor ecx, ecx
fcompi st(1)
fstp st(0)
seta cl
mov dword [esp + 0x70], ecx
mov ecx, dword [ebx + 0x60]
mov esi, dword [ecx + 0x14]
mov ecx, dword [esp + 0x70]
add ecx, 0x3c
mov ecx, dword [edx + ecx*4]
test ecx, ecx
jne 0x6c2580e2
mov ecx, dword [eax + 0x5c]
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + ecx*4]
shl ecx, 4
add esi, ecx
mov dword [esp + 0x78], esi
mov ecx, dword [esi + 4]
test cl, 0x10
jne 0x6c257f20
test ecx, 0x1c4
je 0x6c257ee8
and ecx, 0x84
je 0x6c257f20
movaps xmm1, xmm5
shufps xmm1, xmm5, 0xc9
movaps xmmword [esp + 0x20], xmm1
mulps xmm1, xmm2
movaps xmm3, xmmword [esp + 0x50]
mulps xmm3, xmm5
subps xmm3, xmm1
shufps xmm3, xmm3, 0xc9
movaps xmm1, xmm3
mulps xmm1, xmm7
movaps xmmword [esp], xmm1
shufps xmm1, xmm1, 0xc9
addps xmm1, xmmword [esp]
movaps xmmword [esp + 0x50], xmm1
movaps xmm1, xmmword [esp]
shufps xmm1, xmm1, 0xd2
addps xmm1, xmmword [esp + 0x50]
movaps xmmword [esp + 0x50], xmm1
fld dword [esp + 0x50]
fldz
fst dword [esp + 0x8b8]
fcompi st(1)
ja 0x6c2584a8
fld dword [0x6c36966c]
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x6c2581c8
fld st(0)
fchs
fmul dword [0x6c369670]
subps xmm6, xmmword [esp + 0x60]
mulps xmm3, xmm6
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xc9
addps xmm1, xmm3
shufps xmm3, xmm3, 0xd2
addps xmm1, xmm3
movss dword [esp + 0x1c], xmm1
fld dword [esp + 0x1c]
fcomi st(1)
jb 0x6c2581cc
fld st(2)
fsub st(2)
fcomi st(1)
jae 0x6c258501
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x6c258200
fstp st(0)
jmp 0x6c258200
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x6c258200
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x6c258200
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x6c258200
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x6c258200
fstp st(0)
fstp st(0)
fstp st(0)
nop
mov esi, dword [esp + 0x78]
add esi, 0x60
mov edi, dword [esp + 0x84]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x78]
cmp dword [ecx + 0x20], 4
je 0x6c258270
fld dword [esp + 0x8cc]
fld1
fcomi st(1)
ja 0x6c258360
fstp st(0)
fstp st(0)
jmp 0x6c25823c
fstp st(0)
fstp st(0)
nop
mov dword [eax + 0x50], edx
mov edx, dword [esp + 0x70]
mov dword [eax + 0x54], edx
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x84]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
movaps xmmword [esp + 0x40], xmm0
jmp 0x6c257f20
fld dword [esp + 0x40]
jmp 0x6c257de8
mov ecx, dword [esp + 0x78]
mov esi, dword [ecx + 0x18]
mov edi, dword [ecx + 0x1c]
mov dword [esp + 0x8c], edi
fild dword [esp + 0x8c]
fmul dword [esp + 0x8b4]
fisttp dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
dec edi
and ecx, edi
mov edi, esi
imul edi, ecx
mov dword [esp + 0x8c], esi
fild dword [esp + 0x8c]
fmul dword [esp + 0x8b0]
fisttp dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
dec esi
and ecx, esi
add ecx, edi
lea esi, [ecx*4]
mov ecx, dword [esp + 0x78]
add esi, dword [ecx + 0x2c]
mov cl, byte [esi + 3]
mov byte [esp + 0x60], cl
cmp cl, 0xf
jbe 0x6c257f20
movzx ecx, byte [esi]
fld dword [0x6c369690]
fld st(0)
push ecx
fimul dword [esp]
fmul dword [esp + 0x8c4]
fstp dword [esp + 0x8c4]
movzx ecx, byte [esi + 1]
fld st(0)
mov dword [esp], ecx
fimul dword [esp]
fmul dword [esp + 0x8c8]
fstp dword [esp + 0x8c8]
movzx ecx, byte [esi + 2]
fld st(0)
mov dword [esp], ecx
fimul dword [esp]
fmul dword [esp + 0x8cc]
fstp dword [esp + 0x8cc]
movzx ecx, byte [esp + 0x64]
mov dword [esp], ecx
fimul dword [esp]
pop ecx
fmul dword [esp + 0x8cc]
fst dword [esp + 0x8cc]
fld1
fcomi st(1)
jbe 0x6c258236
movaps xmm2, xmmword [edx + 0x50]
movaps xmm0, xmmword [edx + 0x30]
subps xmm0, xmm2
movaps xmm1, xmmword [edx + 0x40]
subps xmm1, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xc9
mulps xmm2, xmm1
shufps xmm1, xmm1, 0xc9
mulps xmm1, xmm0
subps xmm1, xmm2
shufps xmm1, xmm1, 0xc9
movaps xmm2, xmm1
mulps xmm2, xmm1
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xc9
addps xmm0, xmm2
shufps xmm2, xmm2, 0xd2
addps xmm0, xmm2
rsqrtps xmm0, xmm0
mulps xmm0, xmm1
movaps xmm2, xmm4
cmpneqps xmm2, xmm1
andps xmm0, xmm2
movaps xmm3, xmmword [eax + 0x10]
movaps xmm2, xmm3
mulps xmm2, xmm3
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xc9
addps xmm1, xmm2
shufps xmm2, xmm2, 0xd2
addps xmm1, xmm2
rsqrtps xmm1, xmm1
mulps xmm1, xmm3
movaps xmm2, xmm4
cmpneqps xmm2, xmm3
andps xmm1, xmm2
mulps xmm0, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xc9
addps xmm1, xmm0
shufps xmm0, xmm0, 0xd2
addps xmm1, xmm0
movss dword [esp + 0x1c], xmm1
fld dword [esp + 0x1c]
fldz
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x6c2585fc
fdivr dword [0x6c369694]
fld xword [0x6c3696a0]
fmulp st(1)
fld st(0)
frndint
fsub st(1), st(0)
fxch st(1)
f2xm1
faddp st(2)
fxch st(1)
fscale
fstp st(1)
fld1
fld st(0)
fsub st(3)
fstp dword [esp + 0x60]
movaps xmm0, xmmword [eax + 0x40]
movss xmm2, dword [esp + 0x60]
shufps xmm2, xmm2, 0
movaps xmm1, xmm2
mulps xmm1, xmm0
fcomi st(1)
fcmovnb st(0), st(1)
fstp st(1)
fmulp st(1)
mulps xmm0, xmmword [esp + 0x8c0]
fstp dword [esp + 0x1c]
movss xmm3, dword [esp + 0x1c]
shufps xmm3, xmm3, 0
mulps xmm0, xmm3
addps xmm0, xmm1
movaps xmmword [eax + 0x40], xmm0
mulps xmm0, xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xc9
addps xmm1, xmm0
shufps xmm0, xmm0, 0xd2
addps xmm1, xmm0
movss dword [esp + 0x60], xmm1
fld dword [0x6c369624]
fld dword [esp + 0x60]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x6c257f20
fld dword [esp + 0x40]
jmp 0x6c257eb1
fstp st(0)
movaps xmm1, xmmword [esp + 0x20]
mulps xmm1, xmm7
movaps xmmword [esp + 0x50], xmm7
movaps xmm3, xmm7
shufps xmm3, xmm7, 0xc9
mulps xmm3, xmm5
subps xmm3, xmm1
shufps xmm3, xmm3, 0xc9
movaps xmm1, xmm3
mulps xmm1, xmm2
movaps xmm7, xmm1
shufps xmm7, xmm1, 0xc9
addps xmm7, xmm1
shufps xmm1, xmm1, 0xd2
addps xmm7, xmm1
movss dword [esp + 0x1c], xmm7
fld dword [esp + 0x1c]
mov dword [esp + 0x8b8], 0x3f800000
movaps xmm7, xmm2
movaps xmm2, xmmword [esp + 0x50]
jmp 0x6c258171
movaps xmm1, xmm6
shufps xmm1, xmm6, 0xc9
mulps xmm1, xmm7
shufps xmm7, xmm7, 0xc9
mulps xmm7, xmm6
subps xmm7, xmm1
shufps xmm7, xmm7, 0xc9
mulps xmm5, xmm7
movaps xmm1, xmm5
shufps xmm1, xmm5, 0xc9
addps xmm1, xmm5
shufps xmm5, xmm5, 0xd2
addps xmm1, xmm5
movss dword [esp + 0x1c], xmm1
fld dword [esp + 0x1c]
fcomi st(3)
jb 0x6c2581d4
fld st(2)
fadd st(1)
fxch st(2)
fcomi st(2)
fstp st(2)
jb 0x6c2581e0
mulps xmm2, xmm7
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xc9
addps xmm1, xmm2
shufps xmm2, xmm2, 0xd2
addps xmm1, xmm2
movss dword [esp + 0x1c], xmm1
fld dword [esp + 0x1c]
fcomi st(4)
fstp st(4)
jb 0x6c2581ec
fxch st(1)
fcompi st(3)
fstp st(2)
jb 0x6c2581f8
fdiv st(2)
fxch st(2)
fdivp st(1)
fldz
fld dword [esp + 0x8b8]
fcompi st(1)
fstp st(0)
jne 0x6c25860f
fld dword [edx + 0x90]
fld dword [edx + 0xa0]
fsub st(1)
fmul st(3)
fadd st(1)
fxch st(1)
fsubr dword [edx + 0xb0]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x8b0]
fld dword [edx + 0x94]
fld dword [edx + 0xa4]
fsub st(1)
fmulp st(3)
fadd st(2), st(0)
fld dword [edx + 0xb4]
fsubrp st(1)
fmulp st(1)
faddp st(1)
fstp dword [esp + 0x8b4]
jmp 0x6c258200
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [0x6c369660]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
fdivr dword [0x6c3696ac]
jmp 0x6c25840e
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
fld dword [edx + 0xc0]
fld dword [edx + 0xe0]
fsub st(1)
fmul st(3)
fadd st(1)
fxch st(1)
fsubr dword [edx + 0xd0]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x8b0]
fld dword [edx + 0xc4]
fld dword [edx + 0xe4]
fsub st(1)
fmulp st(3)
fadd st(2), st(0)
fld dword [edx + 0xd4]
fsubrp st(1)
fmulp st(1)
faddp st(1)
fstp dword [esp + 0x8b4]
jmp 0x6c258200