uint FUN_0041bd1c(int param_1)

{
  time_t tVar1;
  uint uVar2;
  uint uVar3;
  int *piVar4;
  uint uVar5;
  
  tVar1 = time((time_t *)0x0);
  piVar4 = *(int **)(param_1 + 0x24);
  if (piVar4 == (int *)0x0) {
    uVar3 = 0xffffffff;
  }
  else {
    uVar5 = 0xffffffff;
    do {
      while( true ) {
        uVar2 = tVar1 - piVar4[8];
        if (tVar1 <= piVar4[8]) {
          uVar2 = 0;
        }
        uVar3 = piVar4[2] - uVar2;
        if ((uint)piVar4[2] <= uVar2) {
          uVar3 = 0;
        }
        if ((uVar5 == 0xffffffff) || (uVar3 < uVar5)) break;
        piVar4 = (int *)*piVar4;
        if (piVar4 == (int *)0x0) {
          return uVar5;
        }
      }
      piVar4 = (int *)*piVar4;
      uVar5 = uVar3;
    } while (piVar4 != (int *)0x0);
  }
  return uVar3;
}