void RTMPMakeRSNIE(int param_1,int param_2,int param_3,uint param_4)

{
  char cVar1;
  int iVar2;
  int iVar3;
  void *__s;
  uint uVar4;
  byte local_30;
  byte local_2f [7];
  
  param_4 = param_4 & 0xff;
  if (param_4 != 0) {
    if (RTDebugLevel == 0) {
      param_4 = 0;
    }
    else {
      printk("%s> Error! apidx = %d > MAX_MBSSID_NUM!\n","RTMPMakeRSNIE",param_4);
      param_4 = 0;
    }
  }
  if ((((param_2 - 3U < 2) || (param_2 == 6)) || (param_2 == 7)) ||
     ((param_2 == 8 || (param_2 == 9)))) {
    if (2 < RTDebugLevel) {
      printk("==> RTMPMakeRSNIE(AP-ra%d)\n",param_4);
    }
    if (param_3 == 8) {
      iVar2 = param_4 * 0x1140 + param_1;
      *(undefined4 *)(iVar2 + 0x51e4) = 4;
      uVar4 = *(uint *)(iVar2 + 0x51e8);
    }
    else {
      uVar4 = 0;
      *(int *)(param_4 * 0x1140 + param_1 + 0x51e4) = param_3;
    }
    iVar3 = param_1 + param_4 * 0x1140 + 0x52e0;
    iVar2 = param_1 + param_4 * 0x1140;
    __s = (void *)(iVar3 + 6);
    *(undefined1 *)(iVar2 + 0x52e5) = 0;
    *(undefined1 *)(iVar2 + 0x52e4) = 0;
    memset(__s,0,0xff)   //possible issue identified - semgrep
    memset((void *)(iVar3 + 0x105),0,0xff)   //possible issue identified - semgrep
    if (((param_2 - 3U < 3) || (param_2 == 8)) || (cVar1 = Wpa2Ie, param_2 == 9)) {
      cVar1 = WpaIe;
    }
    RTMPMakeRsnIeCipher(param_1,cVar1,param_3,param_4,0,uVar4 & 0xff,__s,local_2f);
    RTMPMakeRsnIeAKM(param_1,cVar1,param_2,param_4,__s,local_2f);
    if (WpaIe != cVar1) {
      if (param_4 < *(byte *)(param_1 + 0x51aa)) {
        *(byte *)((int)__s + (uint)local_2f[0]) =
             *(byte *)((int)__s + (uint)local_2f[0]) & 0xfe |
             *(char *)(param_4 * 0x1140 + param_1 + 0x52b6) == '\x01';
      }
      local_2f[0] = local_2f[0] + 2;
    }
    iVar2 = param_1 + param_4 * 0x1140;
    *(byte *)(iVar2 + 0x52e4) = local_2f[0];
    hex_dump("The primary RSNIE",__s);
    if ((*(char *)(param_1 + 0x16964) == '\x01') && (param_2 - 8U < 2)) {
      iVar3 = iVar2 + 0x53e5;
      RTMPMakeRsnIeCipher(param_1,Wpa2Ie,param_3,param_4,0,uVar4 & 0xff,iVar3,&local_30);
      RTMPMakeRsnIeAKM(param_1,Wpa2Ie,param_2,param_4,iVar3,&local_30);
      if (Wpa2Ie != WpaIe) {
        if (param_4 < *(byte *)(param_1 + 0x51aa)) {
          *(byte *)(iVar3 + (uint)local_30) =
               *(byte *)(iVar3 + (uint)local_30) & 0xfe | *(char *)(iVar2 + 0x52b6) == '\x01';
        }
        local_30 = local_30 + 2;
      }
      *(byte *)(param_4 * 0x1140 + param_1 + 0x52e5) = local_30;
      hex_dump("The secondary RSNIE",iVar3);
    }
  }
  return;
}