void FUN_00407df4(int *param_1)

{
  int iVar1;
  int *piVar2;
  int *piVar3;
  
  while (piVar3 = (int *)*param_1, piVar3 != param_1) {
    piVar2 = (int *)piVar3[1];
    iVar1 = *piVar3;
    *piVar2 = iVar1;
    *(int **)(iVar1 + 4) = piVar2;
    *piVar3 = 0;
    piVar3[1] = 0;
    sobj_del(piVar3);
  }
  param_1[2] = 0;
  return;
}