void FUN_00422a40(void *param_1)

{
  int *piVar1;
  
  if (param_1 == (void *)0x0) {
    return;
  }
  if ((DAT_004411b4 != 0) &&
     (piVar1 = (int *)(DAT_004411b4 + DAT_004411b8 * 4), param_1 == (void *)*piVar1)) {
    *piVar1 = 0;
  }
  if (*(int *)((int)param_1 + 0x14) == 0) {
    free(param_1);
    return;
  }
  free(*(void **)((int)param_1 + 4));
  free(param_1);
  return;
}