void F(char *param_1,void *param_2,size_t param_3,int param_4,undefined4 param_5,byte *param_6)

{
  byte bVar1;
  size_t sVar2;
  byte *pbVar3;
  byte *pbVar4;
  int iVar5;
  undefined1 auStack_60 [20];
  byte local_4c [20];
  byte abStack_38 [16];
  
  sVar2 = strlen(param_1);
  memcpy(local_4c,param_2,param_3)   //possible issue identified - semgrep
  local_4c[param_3] = (byte)((uint)param_5 >> 0x18);
  local_4c[param_3 + 3] = (byte)param_5;
  local_4c[param_3 + 1] = (byte)((uint)param_5 >> 0x10);
  local_4c[param_3 + 2] = (byte)((uint)param_5 >> 8);
  RT_HMAC_SHA1(param_1,sVar2,local_4c,param_3 + 4,auStack_60,0x14);
  memcpy(param_6,auStack_60,0x14)   //possible issue identified - semgrep
  for (iVar5 = 1; iVar5 < param_4; iVar5 = iVar5 + 1) {
    RT_HMAC_SHA1(param_1,sVar2,auStack_60,0x14,local_4c,0x14);
    memcpy(auStack_60,local_4c,0x14)   //possible issue identified - semgrep
    pbVar3 = local_4c;
    pbVar4 = param_6;
    do {
      bVar1 = *pbVar3;
      pbVar3 = pbVar3 + 1;
      *pbVar4 = bVar1 ^ *pbVar4;
      pbVar4 = pbVar4 + 1;
    } while (pbVar3 != abStack_38);
  }
  return;
}