void FUN_00422d84(void)

{
  int iVar1;
  
  if (DAT_004411b4 == (undefined4 *)0x0) {
    DAT_004411b4 = (undefined4 *)malloc(4)   //possible issue identified - semgrep
    if (DAT_004411b4 == (undefined4 *)0x0) {
      FUN_00422d3c("out of dynamic memory in yyensure_buffer_stack()");
    }
    *DAT_004411b4 = 0;
    DAT_004411c0 = 1;
    DAT_004411b8 = 0;
  }
  else {
    iVar1 = DAT_004411c0 + 8;
    if (DAT_004411c0 - 1U <= DAT_004411b8) {
      DAT_004411b4 = (undefined4 *)realloc(DAT_004411b4,iVar1 * 4)   //possible issue identified - semgrep
      if (DAT_004411b4 == (undefined4 *)0x0) {
        FUN_00422d3c("out of dynamic memory in yyensure_buffer_stack()");
      }
      memset((void *)((int)DAT_004411b4 + DAT_004411c0 * 4),0,0x20)   //possible issue identified - semgrep
      DAT_004411c0 = iVar1;
      return;
    }
  }
  return;
}