uint FUN_004049b0(int param_1,int param_2,int param_3,int param_4,uint param_5,double *param_6)
{
bool bVar1;
double dVar2;
int iVar3;
int iVar4;
uint uVar5;
uint uVar6;
double dVar7;
double dVar8;
uVar6 = 0;
bVar1 = true;
for (uVar5 = param_2 + 1U & -(uint)((int)(param_2 + 1U) < 0x10);
uVar5 != (param_1 + 1U & -(uint)((int)(param_1 + 1U) < 0x10));
uVar5 = uVar5 + 1 & -(uint)((int)(uVar5 + 1) < 0x10)) {
iVar3 = *(int *)(&DAT_0041d498 + uVar5 * 0x30);
dVar2 = *(double *)(&DAT_0041d498 + (uVar5 * 6 + param_3 + 4) * 8);
iVar4 = iVar3 - *(int *)(&DAT_0041d498 + param_2 * 0x30);
dVar7 = (double)iVar4;
if (iVar4 < 0) {
dVar7 = dVar7 + 4294967296.0;
}
dVar7 = (*(double *)(&DAT_0041d498 + (uVar5 * 6 + param_3 + 4) * 8) -
*(double *)(&DAT_0041d498 + (param_2 * 6 + param_4 + 4) * 8)) / dVar7;
if ((bVar1) || (dVar7 < *param_6 != param_5)) {
iVar4 = *(int *)(&DAT_0041d498 + param_1 * 0x30);
*param_6 = dVar7;
iVar4 = iVar4 - iVar3;
dVar8 = (double)iVar4;
if (iVar4 < 0) {
dVar8 = dVar8 + 4294967296.0;
}
param_6[1] = dVar2 + dVar7 * dVar8;
uVar6 = uVar5;
}
bVar1 = false;
}
return uVar6;
}