int * event_add(int *param_1,int param_2,int param_3)

{
  int *piVar1;
  int iVar2;
  int *piVar3;
  int *piVar4;
  
  piVar1 = (int *)xmalloc(0x14)   //possible issue identified - semgrep
  *piVar1 = *param_1;
  iVar2 = param_1[1];
  piVar1[2] = param_2;
  piVar1[1] = iVar2;
  piVar1[3] = param_3;
  piVar1[4] = 0;
  piVar3 = (int *)0x0;
  for (piVar4 = DAT_0041f130; piVar4 != (int *)0x0; piVar4 = (int *)piVar4[4]) {
    if (*piVar4 == *piVar1) {
      if (piVar1[1] < piVar4[1]) {
        piVar1[4] = (int)piVar4;
        goto LAB_004052a8;
      }
    }
    else if (*piVar1 < *piVar4) break;
    piVar3 = piVar4;
  }
  piVar1[4] = (int)piVar4;
LAB_004052a8:
  piVar4 = piVar1;
  if (piVar3 != (int *)0x0) {
    piVar3[4] = (int)piVar1;
    piVar4 = DAT_0041f130;
  }
  DAT_0041f130 = piVar4;
  return piVar1;
}