void RTMPAddWcidAttributeEntry(int param_1,uint param_2,uint param_3,uint param_4,int *param_5)

{
  uint uVar1;
  uint uVar2;
  int iVar3;
  char *pcVar4;
  uint *puVar5;
  char cVar6;
  uint uVar7;
  uint uVar8;
  
  param_2 = param_2 & 0xff;
  param_4 = param_4 & 0xff;
  if (param_2 < *(byte *)(param_1 + 0x51aa)) {
    if (param_5 == (int *)0x0) {
      uVar8 = (*(byte *)(param_1 + 0xb0) - 3) + param_2 & 0xffff;
    }
    else {
      uVar8 = (uint)*(ushort *)((int)param_5 + 0x27e);
    }
    cVar6 = '\0';
    if (param_2 == 0) {
      cVar6 = *(char *)(param_1 + 0x52b5)   //possible issue identified - semgrep
    }
    if ((param_5 == (int *)0x0) ||
       ((((*param_5 != 2 && (*param_5 != 4)) && (1 < (param_4 - 3 & 0xff))) &&
        ((param_4 != 0 && (cVar6 != '\x01')))))) {
      uVar1 = param_2 << 4;
      param_2 = param_4 << 1;
    }
    else {
      param_2 = param_2 << 4 | 1;
      uVar1 = param_4 << 1;
    }
    param_2 = param_2 | uVar1;
    if (*(char *)(param_1 + 0xec) == '\0') {
      *(uint *)(*(int *)(param_1 + 0xdc) + ((uVar8 + 0x1a00) * 4 & 0xffff)) = param_2;
    }
    uVar1 = (param_3 & 0xff) << 6;
    uVar7 = uVar1 & 0xff;
    if ((param_4 - 3 & 0xff) < 2) {
      uVar7 = uVar1 & 0xff | 0x20;
    }
    uVar1 = ((uVar8 + 0xc00) * 8 & 0xffff) + 3;
    uVar2 = uVar1 & 3;
    puVar5 = (uint *)(*(int *)(param_1 + 0xdc) + (uVar1 - uVar2));
    iVar3 = uVar2 << 3;
    *puVar5 = uVar7 << iVar3 | *puVar5 & ~(0xff << iVar3);
    if (2 < RTDebugLevel) {
      printk("RTMPAddWcidAttributeEntry: WCID #%d, KeyIndex #%d, Alg=%s\n",uVar8,param_3 & 0xff,
             *(undefined4 *)(CipherName + param_4 * 4));
    }
    if (RTDebugLevel < 3) {
      return;
    }
    pcVar4 = "\tWCIDAttri = 0x%x \n";
  }
  else {
    if (RTDebugLevel == 0) {
      return;
    }
    pcVar4 = "RTMPAddWcidAttributeEntry: The BSS-index(%d) is out of range for MBSSID link. \n";
  }
  printk(pcVar4,param_2);
  return;
}