undefined4
MlmeEnqueueForRecv(int param_1,undefined1 param_2,undefined4 param_3,undefined4 param_4,
undefined1 param_5,undefined1 param_6,undefined1 param_7,uint param_8,
byte *param_9,undefined1 param_10,undefined1 param_11)
{
int iVar1;
int iVar2;
char *pcVar3;
int iVar4;
undefined4 local_30;
undefined4 local_2c;
local_30 = 0xff;
local_2c = 0;
if (*(char *)(param_1 + 0x76a0c) == -0x80) {
if ((*(uint *)(param_1 + 0x76904) & 0x140) == 0) {
if (param_8 < 0x641) {
iVar1 = MlmeQueueFull(param_1 + 0x16fc8,0);
if (iVar1 != 0) {
return 0;
}
iVar1 = APMsgTypeSubst(param_1,param_9,&local_30,&local_2c);
if (iVar1 != 0) {
local_bh_disable();
iVar1 = *(int *)(param_1 + 0x16fd0);
*(int *)(param_1 + 0x16fc8) = *(int *)(param_1 + 0x16fc8) + 1;
*(int *)(param_1 + 0x16fd0) = iVar1 + 1;
if (iVar1 + 1 == 0x14) {
*(undefined4 *)(param_1 + 0x16fd0) = 0;
}
iVar4 = (iVar1 + 1) * 0x668 + param_1;
*(undefined1 *)(iVar4 + 0x16fce) = 1;
iVar2 = param_1 + iVar1 * 0x668;
*(undefined4 *)(iVar2 + 0x17618) = local_30;
*(undefined4 *)(iVar2 + 0x1761c) = local_2c;
*(undefined4 *)(iVar2 + 0x17628) = param_4;
*(undefined1 *)(iVar4 + 0x16fc8) = param_5;
*(undefined4 *)(iVar2 + 0x1762c) = param_3;
*(undefined1 *)(iVar4 + 0x16fc9) = param_6;
*(undefined1 *)(iVar4 + 0x16fca) = param_7;
*(undefined1 *)(iVar4 + 0x16fcb) = param_10;
*(undefined1 *)(iVar4 + 0x16fcf) = param_11;
*(undefined1 *)(iVar4 + 0x16fcd) = param_2;
*(undefined4 *)(iVar2 + 0x17638) = 0;
*(uint *)(iVar2 + 0x17620) = param_8;
*(undefined1 *)(iVar4 + 0x16fcc) = *(undefined1 *)(param_1 + 0x4be0);
if (param_9 != (byte *)0x0) {
memmove((void *)(param_1 + iVar1 * 0x668 + 0x16fd8),param_9,param_8) //possible issue identified - semgrep
}
local_bh_enable();
MlmeHandler(param_1);
return 1;
}
printk("ERROR!!! ");
pcVar3 = "MlmeEnqueueForRecv: un-recongnized mgmt->subtype=%d\n";
param_8 = ((uint)*param_9 << 0x18) >> 0x1c;
}
else {
printk("ERROR!!! ");
pcVar3 = "MlmeEnqueueForRecv: frame too large, size = %ld \n";
}
printk(pcVar3,param_8);
}
else {
printk("ERROR!!! ");
printk("MlmeEnqueueForRecv: fRTMP_ADAPTER_HALT_IN_PROGRESS\n");
}
}
return 0;
}