void EnqueueTPCRep(char *param_1,undefined4 param_2,undefined1 param_3,undefined1 param_4,
                  undefined1 param_5)

{
  int iVar1;
  code *pcVar2;
  char *pcVar3;
  undefined1 local_40 [4];
  char *local_3c;
  int local_38;
  int local_34;
  undefined1 auStack_30 [24];
  
  local_3c = (char *)0x0;
  MgtMacHeaderInit(param_1,auStack_30,0xd,0,param_2,param_1 + 0x16973);
  iVar1 = os_alloc_mem(param_1,&local_3c,0x640);
  if (iVar1 == 0) {
    memmove(local_3c,auStack_30,0x18)   //possible issue identified - semgrep
    local_38 = 0x18;
    InsertActField(param_1,local_3c + 0x18,&local_38,0,3);
    local_40[0] = param_3;
    MakeOutgoingFrame(local_3c + local_38,&local_34,1,local_40,0xffffffff);
    local_38 = local_34 + local_38;
    InsertTpcReportIE(param_1,local_3c + local_38,&local_38,param_4,param_5);
    MiniportMMRequest(param_1,0,local_3c,local_38);
    pcVar2 = os_free_mem;
    pcVar3 = local_3c;
  }
  else {
    if (RTDebugLevel < 3) {
      return;
    }
    param_1 = "%s() allocate memory failed \n";
    pcVar2 = printk;
    pcVar3 = "EnqueueTPCRep";
  }
  (*pcVar2)(param_1,pcVar3);
  return;
}