void WpaDerivePTK(undefined4 param_1,undefined4 param_2,undefined1 *param_3,void *param_4,
                 undefined1 *param_5,void *param_6,undefined4 param_7,undefined4 param_8)

{
  int iVar1;
  void *__src;
  undefined1 *__dest;
  undefined1 auStack_a8 [24];
  undefined1 auStack_90 [32];
  undefined1 auStack_70 [6];
  undefined1 auStack_6a [6];
  undefined1 auStack_64 [32];
  undefined1 auStack_44 [36];
  
  memcpy(auStack_a8,"Pairwise key expansion",0x16)   //possible issue identified - semgrep
  memset(auStack_90,0,0x20)   //possible issue identified - semgrep
  memset(auStack_70,0,0x4c)   //possible issue identified - semgrep
  iVar1 = RTMPCompareMemory(param_6,param_4,6);
  __src = param_6;
  if (iVar1 == 1) {
    __src = param_4;
  }
  memmove(auStack_70,__src,6)   //possible issue identified - semgrep
  iVar1 = RTMPCompareMemory(param_6,param_4,6);
  if (iVar1 != 1) {
    param_6 = param_4;
  }
  memmove(auStack_6a,param_6,6)   //possible issue identified - semgrep
  __dest = auStack_90;
  memmove(__dest,auStack_6a,6)   //possible issue identified - semgrep
  iVar1 = RTMPCompareMemory(param_3,param_5,0x20);
  if ((iVar1 != 0) &&
     (iVar1 = RTMPCompareMemory(param_3,param_5,0x20), __dest = param_5, iVar1 != 1)) {
    __dest = param_3;
  }
  memmove(auStack_64,__dest,0x20)   //possible issue identified - semgrep
  iVar1 = RTMPCompareMemory(param_3,param_5,0x20);
  if (iVar1 == 0) {
    memmove(auStack_44,auStack_90,0x20)   //possible issue identified - semgrep
  }
  else {
    iVar1 = RTMPCompareMemory(param_3,param_5,0x20);
    if (iVar1 != 1) {
      param_3 = param_5;
    }
    memmove(auStack_44,param_3,0x20)   //possible issue identified - semgrep
  }
  hex_dump(&_LC67,param_2,0x20);
  hex_dump("concatenation=",auStack_70,0x4c);
  PRF(param_2,0x20,auStack_a8,0x16,auStack_70,0x4c,param_7,param_8);
  return;
}