void APCls2errAction(int param_1,uint param_2,int param_3)

{
  int iVar1;
  undefined2 local_40 [2];
  undefined4 local_3c;
  undefined4 local_38;
  undefined1 auStack_34 [5];
  byte local_2f;
  undefined1 auStack_2c [28];
  
  local_40[0] = 6;
  local_3c = 0;
  local_38 = 0;
  if (((param_2 < 0x20) &&
      (iVar1 = param_1 + param_2 * 0xa20, param_1 + param_2 * 0xa20 + 0x5cf38 != 0)) &&
     (*(int *)(iVar1 + 0x5cf38) == 1)) {
    MacTableDeleteEntry(param_1,*(undefined2 *)(iVar1 + 0x5d1b6),param_3 + 10);
  }
  else {
    memmove(auStack_34,(void *)(param_3 + 4),6)   //possible issue identified - semgrep
    local_2f = *(byte *)(param_1 + 0x51ab) & local_2f;
    iVar1 = memcmp((void *)(param_1 + 0x16973),auStack_34,6);
    if (iVar1 != 0) {
      return;
    }
  }
  iVar1 = os_alloc_mem(param_1,&local_3c,0x640);
  if (iVar1 == 0) {
    if (2 < RTDebugLevel) {
      printk("AUTH - Class 2 error, Send DEAUTH frame to %02x:%02x:%02x:%02x:%02x:%02x\n",
             *(undefined1 *)(param_3 + 10),*(undefined1 *)(param_3 + 0xb),
             *(undefined1 *)(param_3 + 0xc),*(undefined1 *)(param_3 + 0xd),
             *(undefined1 *)(param_3 + 0xe),*(undefined1 *)(param_3 + 0xf));
    }
    MgtMacHeaderInit(param_1,auStack_2c,0xc,0,param_3 + 10,param_3 + 4);
    MakeOutgoingFrame(local_3c,&local_38,0x18,auStack_2c,2,local_40,0xffffffff);
    MiniportMMRequest(param_1,0,local_3c,local_38);
    os_free_mem(param_1,local_3c);
  }
  return;
}