void FUN_00403448(int param_1,undefined4 *param_2)

{
  uint *puVar1;
  uint uVar2;
  int *piVar3;
  int iVar4;
  
  piVar3 = (int *)*param_2;
  iVar4 = piVar3[2];
  uVar2 = 0xffffffff;
  if (iVar4 == 5) goto LAB_004034b0;
LAB_0040347c:
  if (iVar4 == 7) goto LAB_004034b0;
LAB_00403488:
  do {
    piVar3 = (int *)*piVar3;
    while( true ) {
      if (piVar3 == (int *)0x0) {
        if ((iVar4 != 5) && (iVar4 != 7)) {
          return;
        }
        if (uVar2 != 0xffffffff) {
          *(uint *)(param_1 + 8) = (uVar2 << 2) / 5;
          *(uint *)(param_1 + 4) = uVar2 >> 1;
          return;
        }
        *(undefined4 *)(param_1 + 8) = 0xffffffff;
        *(undefined4 *)(param_1 + 4) = 0xffffffff;
        return;
      }
      if (iVar4 != piVar3[2]) {
        dprintf(3,"calc_ia_timo","assumption failure: IA list is not consistent");
                    /* WARNING: Subroutine does not return */
        exit(1);
      }
      if (iVar4 != 5) goto LAB_0040347c;
LAB_004034b0:
      if (uVar2 == 0xffffffff) break;
      puVar1 = (uint *)(piVar3 + 3);
      if (uVar2 <= *puVar1) goto LAB_00403488;
      piVar3 = (int *)*piVar3;
      uVar2 = *puVar1;
    }
    uVar2 = piVar3[3];
  } while( true );
}