undefined4
MlmeEnqueue(int param_1,undefined4 param_2,undefined4 param_3,uint param_4,void *param_5,
           undefined4 param_6)

{
  undefined4 uVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  
  if ((*(uint *)(param_1 + 0x76904) & 0x140) == 0) {
    if (param_4 < 0x641) {
      iVar2 = MlmeQueueFull(param_1 + 0x16fc8,1);
      uVar1 = 0;
      if (iVar2 == 0) {
        local_bh_disable();
        iVar2 = *(int *)(param_1 + 0x16fd0);
        *(int *)(param_1 + 0x16fc8) = *(int *)(param_1 + 0x16fc8) + 1;
        *(int *)(param_1 + 0x16fd0) = iVar2 + 1;
        if (iVar2 + 1 == 0x14) {
          *(undefined4 *)(param_1 + 0x16fd0) = 0;
        }
        iVar3 = (iVar2 + 1) * 0x668 + param_1;
        *(undefined1 *)(iVar3 + 0x16fce) = 1;
        iVar4 = param_1 + iVar2 * 0x668;
        *(undefined4 *)(iVar4 + 0x17638) = param_6;
        *(undefined1 *)(iVar3 + 0x16fcd) = 0xff;
        *(undefined4 *)(iVar4 + 0x17618) = param_2;
        *(undefined4 *)(iVar4 + 0x1761c) = param_3;
        *(uint *)(iVar4 + 0x17620) = param_4;
        if (param_5 != (void *)0x0) {
          memmove((void *)(param_1 + iVar2 * 0x668 + 0x16fd8),param_5,param_4)   //possible issue identified - semgrep
        }
        local_bh_enable();
        uVar1 = 1;
      }
    }
    else {
      printk("ERROR!!! ");
      printk("MlmeEnqueue: msg too large, size = %ld \n",param_4);
      uVar1 = 0;
    }
  }
  else {
    uVar1 = 0;
  }
  return uVar1;
}