void AsicEnableIbssSync(int param_1)

{
  byte *pbVar1;
  byte *pbVar2;
  byte *pbVar3;
  char cVar4;
  byte bVar5;
  uint uVar6;
  byte *pbVar7;
  int iVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  
  uVar11 = (*(uint *)(param_1 + 0x515c) & 0xf) << 8 | (uint)*(byte *)(param_1 + 0x515b);
  if (2 < RTDebugLevel) {
    printk("--->AsicEnableIbssSync(MPDUtotalByteCount=%d, beaconLen=%d)\n",uVar11,uVar11);
  }
  if (RTDebugLevel < 3) {
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
  else {
    printk("--->AsicEnableIbssSync(ADHOC mode. MPDUtotalByteCount = %d)\n",
           (*(uint *)(param_1 + 0x515c) & 0xf) << 8 | (uint)*(byte *)(param_1 + 0x515b));
    cVar4 = *(char *)(param_1 + 0xec)   //possible issue identified - semgrep
  }
  uVar9 = Status;
  uVar6 = 0;
  if (cVar4 == '\0') {
    uVar6 = *(uint *)(*(int *)(param_1 + 0xdc) + 0x1114);
  }
  if (cVar4 == '\0') {
    *(uint *)(*(int *)(param_1 + 0xdc) + 0x1114) = uVar6 & 0xffe6ffff;
  }
  uVar10 = 0;
  if (*(char *)(param_1 + 0xad) == '\x01') {
    Status = Status & 0xfffffffe;
    uVar10 = uVar9 & 1;
    *(undefined1 *)(param_1 + 0x5154) = 1;
    if (*(char *)(param_1 + 0xec) == '\0') {
      *(uint *)(*(int *)(param_1 + 0xdc) + 0x400) =
           *(uint *)(*(int *)(param_1 + 0xdc) + 0x400) | 0x80000;
    }
  }
  iVar8 = 0;
  bVar5 = *(byte *)(param_1 + 0x5156);
  pbVar7 = (byte *)(param_1 + 0x5155);
  while( true ) {
    if (*(char *)(param_1 + 0xec) == '\0') {
      *(uint *)(*(int *)(param_1 + 0xdc) + iVar8 + (uint)*(ushort *)(param_1 + 0xb4)) =
           (uint)bVar5 * 0x100 + (uint)pbVar7[2] * 0x10000 + (uint)*pbVar7 +
           (uint)pbVar7[3] * 0x1000000;
    }
    iVar8 = iVar8 + 4;
    if (iVar8 == 0x10) break;
    bVar5 = pbVar7[5];
    pbVar7 = pbVar7 + 4;
  }
  pbVar7 = *(byte **)(param_1 + 0x5168);
  for (uVar9 = 0; uVar9 < uVar11; uVar9 = uVar9 + 4) {
    pbVar3 = pbVar7 + 1;
    pbVar1 = pbVar7 + 2;
    bVar5 = *pbVar7;
    pbVar2 = pbVar7 + 3;
    pbVar7 = pbVar7 + 4;
    if (*(char *)(param_1 + 0xec) == '\0') {
      *(uint *)(*(int *)(param_1 + 0xdc) + *(ushort *)(param_1 + 0xb4) + 0x10 + uVar9) =
           (uint)*pbVar3 * 0x100 + (uint)*pbVar1 * 0x10000 + (uint)bVar5 + (uint)*pbVar2 * 0x1000000
      ;
    }
  }
  if (*(char *)(param_1 + 0xad) == '\x01') {
    *(undefined1 *)(param_1 + 0x5154) = 0;
    if (*(char *)(param_1 + 0xec) == '\0') {
      *(uint *)(*(int *)(param_1 + 0xdc) + 0x400) =
           *(uint *)(*(int *)(param_1 + 0xdc) + 0x400) & 0xfff7ffff;
    }
    Status = Status & 0xfffffffe;
    if (uVar10 != 0) {
      Status = Status | 1;
    }
  }
  if (*(char *)(param_1 + 0xec) == '\0') {
    *(uint *)(*(int *)(param_1 + 0xdc) + 0x1114) =
         uVar6 & 0xffe00000 | (*(ushort *)(param_1 + 0x169ea) & 0xfff) << 4 | 0x1d0000;
  }
  return;
}