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;
}