IDA对浮点运算库函数没有做特别的处理。如果你Dasm类似:
int foo()
{
.......
sqrt(X);
sin(X);
cos(X);
.......
}
你会发现foo无情的被sqrt sin cos分成几段。在这几个函数后面出现了分割线。
因为这些函数。在遇到异常的时候直接jmp exit了。所以IDA把这些函数归为does not return类型。因为是递归分析。这些函数所以后面代码没有和当前的函数建立关系。
解决办法就是把上述函数的does not return类型去掉。