void FUN_0041de98(undefined4 *param_1)

{
  int iVar1;
  undefined4 *puVar2;
  int *piVar3;
  int iVar4;
  
  FUN_0041dc64();
  iVar1 = DAT_0043ce14;
  if (DAT_0043ce14 == 0) {
    puVar2 = (undefined4 *)0x0;
  }
  else {
    puVar2 = *(undefined4 **)(DAT_0043ce14 + DAT_0043ce18 * 4);
  }
  if (puVar2 != param_1) {
    if ((DAT_0043ce14 != 0) && (piVar3 = (int *)(DAT_0043ce14 + DAT_0043ce18 * 4), *piVar3 != 0)) {
      *DAT_0043ce24 = DAT_0043ce2c;
      iVar4 = *piVar3;
      *(undefined1 **)(iVar4 + 8) = DAT_0043ce24;
      *(undefined4 *)(iVar4 + 0x10) = DAT_0043ce30;
    }
    DAT_0043ce00 = *param_1;
    DAT_0043ce24 = (undefined1 *)param_1[2];
    DAT_0043ce30 = param_1[4];
    *(undefined4 **)(iVar1 + DAT_0043ce18 * 4) = param_1;
    DAT_0043ce2c = *DAT_0043ce24;
    DAT_0043ce34 = 1;
    yytext = DAT_0043ce24;
  }
  return;
}