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;
}