undefined4 DOT1X_InternalCmdAction(int param_1,int param_2,undefined1 param_3)

{
  undefined4 uVar1;
  int iVar2;
  uint uVar3;
  undefined1 auStack_58 [6];
  undefined1 auStack_52 [6];
  undefined1 auStack_4c [2];
  undefined1 auStack_4a [18];
  undefined1 local_38;
  undefined1 local_37;
  byte local_34 [8];
  undefined4 local_2c;
  undefined4 local_28;
  undefined1 local_24;
  
  local_2c = 0xc0007dd;
  local_38 = 0x88;
  local_37 = 0x8e;
  local_28 = 0x43;
  local_24 = 0;
  memset(auStack_58,0,0x17)   //possible issue identified - semgrep
  if (param_2 == 0) {
    memmove(local_34,(void *)(param_1 + 0x51ac),6)   //possible issue identified - semgrep
    local_34[0] = local_34[0] | 0x80;
    uVar3 = 0;
  }
  else {
    uVar3 = (uint)*(byte *)(param_2 + 0x31);
    memmove(local_34,(void *)(param_2 + 600),6)   //possible issue identified - semgrep
  }
  local_28._0_2_ = CONCAT11(param_3,(undefined1)local_28);
  memmove(auStack_58,(void *)(uVar3 * 0x1140 + param_1 + 0x51ac),6)   //possible issue identified - semgrep
  memmove(auStack_52,local_34,6)   //possible issue identified - semgrep
  memmove(auStack_4c,&local_38,2)   //possible issue identified - semgrep
  memmove(auStack_4a,&local_2c,9)   //possible issue identified - semgrep
  uVar1 = get_netdev_from_bssid(param_1,uVar3);
  iVar2 = RTMPL2FrameTxAction(param_1,uVar1,announce_802_3_packet,uVar3,auStack_58,0x17,
                              *(undefined1 *)(param_1 + 0x16964));
  uVar1 = 0;
  if ((iVar2 != 0) && (uVar1 = 1, 2 < RTDebugLevel)) {
    printk("%s done. (cmd=%d)\n","DOT1X_InternalCmdAction",param_3);
    uVar1 = 1;
  }
  return uVar1;
}