void APHandleRxControlFrame(undefined4 param_1,int param_2)

{
  uint uVar1;
  undefined1 *puVar2;
  byte *pbVar3;
  undefined4 uVar4;
  
  pbVar3 = *(byte **)(param_2 + 0x14);
  uVar1 = ((uint)*pbVar3 << 0x18) >> 0x1c;
  uVar4 = *(undefined4 *)(param_2 + 0x18);
  if (uVar1 == 8) {
    puVar2 = *(undefined1 **)(param_2 + 0x10);
    CntlEnqueueForRecv(param_1,*puVar2,((byte)puVar2[3] & 0xf) << 8 | (uint)(byte)puVar2[2])   //possible issue identified - semgrep
  }
  else if ((uVar1 == 10) && ((*(ushort *)(pbVar3 + 2) & 0x3fff) < 0x20)) {
    APHandleRxPsPoll(param_1,pbVar3 + 10,*(ushort *)(pbVar3 + 2) & 0x3fff,0);
  }
  RTMPFreeNdisPacket(param_1,uVar4);
  return;
}