/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

undefined4 FUN_0041dc7c(ushort *param_1,int param_2,short param_3,void *param_4,size_t param_5)

{
  undefined4 uVar1;
  uint uVar2;
  short *psVar3;
  
  uVar2 = *param_1 + 3 & 0xfffffffc;
  if (param_2 < (int)((param_5 + 7 & 0xfffffffc) + uVar2)) {
    fprintf(_stderr,"rta_addattr_l: Error! max allowed bound %d exceeded\n",param_2);
    uVar1 = 0xffffffff;
  }
  else {
    psVar3 = (short *)((int)param_1 + uVar2);
    psVar3[1] = param_3;
    *psVar3 = (short)param_5 + 4;
    memcpy(psVar3 + 2,param_4,param_5)   //possible issue identified - semgrep
    *param_1 = ((short)param_5 + 7U & 0xfffc) + (*param_1 + 3 & 0xfffc);
    uVar1 = 0;
  }
  return uVar1;
}