int FUN_00402f60(int param_1)

{
  int local_18;
  int local_14;
  int local_10;
  
  local_18 = 0;
  local_14 = 1;
  while( true ) {
    if (((99 < local_14) || ((&DAT_00414478)[local_14 * 2] == -1)) ||
       ((&DAT_00414478)[local_14 * 2 + 1] == -1)) goto LAB_0040307c;
    if ((param_1 <= (int)(&DAT_00414478)[(local_14 + -1) * 2]) &&
       ((int)(&DAT_00414478)[local_14 * 2] <= param_1)) break;
    local_14 = local_14 + 1;
  }
  local_18 = local_14;
LAB_0040307c:
  if (local_18 == 0) {
    puts("SPEED TABLE ERROR!!!");
    local_10 = 0x100000;
  }
  else if ((&DAT_00414478)[(local_18 + -1) * 2] == param_1) {
    local_10 = (&DAT_00414478)[(local_18 + -1) * 2 + 1] * 1000;
  }
  else if ((&DAT_00414478)[local_18 * 2] == param_1) {
    local_10 = (&DAT_00414478)[local_18 * 2 + 1] * 1000;
  }
  else {
    local_10 = (((&DAT_00414478)[(local_18 + -1) * 2 + 1] + (&DAT_00414478)[local_18 * 2 + 1]) *
               1000) / 2;
  }
  return local_10;
}