undefined4 FUN_0041dbe8(void *param_1,int param_2,ushort *param_3,uint param_4)

{
  uint uVar1;
  undefined4 uVar2;
  ushort *puVar3;
  
  if (*param_3 - 4 < param_4) {
    return 0xffffffff;
  }
  uVar1 = (param_4 + 3 & 0xfffffffc) + 4;
  puVar3 = (ushort *)((int)param_3 + uVar1);
  if (*param_3 - 4 < uVar1) {
    memset(param_1,0,(param_2 + 1) * 4)   //possible issue identified - semgrep
    return 0;
  }
  uVar2 = parse_rtattr(param_1,param_2,puVar3 + 2,*puVar3 - 4);
  return uVar2;
}