void FUN_0041dc64(void)

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