uint AutoChBssInsertEntry
               (int param_1,void *param_2,void *param_3,byte param_4,byte param_5,byte param_6,
               byte param_7)

{
  uint uVar1;
  int iVar2;
  uint __n;
  uint uVar3;
  byte *pbVar4;
  
  pbVar4 = *(byte **)(param_1 + 0x1695c);
  __n = (uint)param_4;
  if (pbVar4 == (byte *)0x0) {
    uVar1 = 0xffffffff;
    if (RTDebugLevel != 0) {
      printk("pAd->pBssInfoTab equal NULL.\n");
      uVar1 = 0xffffffff;
    }
  }
  else {
    uVar1 = AutoChBssSearchWithSSID();
    if (uVar1 == 0xffffffff) {
      uVar3 = (uint)*pbVar4;
      if (uVar3 < 0x40) {
        memcpy(pbVar4 + uVar3 * 0x2a + 1,param_2,6)   //possible issue identified - semgrep
        if ((__n != 0) && (iVar2 = memcmp(param_3,ZeroSsid,__n), iVar2 != 0)) {
          memmove(pbVar4 + uVar3 * 0x2a + 8,param_3,__n)   //possible issue identified - semgrep
          pbVar4[uVar3 * 0x2a + 7] = param_4;
        }
        pbVar4[uVar3 * 0x2a + 0x2a] = param_7;
        pbVar4[uVar3 * 0x2a + 0x28] = param_5;
        pbVar4[uVar3 * 0x2a + 0x29] = param_6;
        *pbVar4 = *pbVar4 + 1;
        uVar1 = uVar3;
      }
    }
    else {
      memcpy(pbVar4 + uVar1 * 0x2a + 1,param_2,6)   //possible issue identified - semgrep
      if ((__n != 0) && (iVar2 = memcmp(param_3,ZeroSsid,__n), iVar2 != 0)) {
        memmove(pbVar4 + uVar1 * 0x2a + 8,param_3,__n)   //possible issue identified - semgrep
        pbVar4[uVar1 * 0x2a + 7] = param_4;
      }
      pbVar4[uVar1 * 0x2a + 0x2a] = param_7;
      pbVar4[uVar1 * 0x2a + 0x28] = param_5;
      pbVar4[uVar1 * 0x2a + 0x29] = param_6;
    }
  }
  return uVar1;
}