void RT_SHA1_Hash(uint *param_1)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint *puVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  uint *__dest;
  uint local_150 [80];
  
  __dest = local_150;
  memmove(__dest,param_1 + 8,0x40)   //possible issue identified - semgrep
  puVar4 = __dest;
  while( true ) {
    *puVar4 = local_150[0] >> 0x18 | local_150[0] << 0x18 | (local_150[0] & 0xff00) << 8 |
              (local_150[0] & 0xff0000) >> 8;
    puVar4 = puVar4 + 1;
    if (puVar4 == local_150 + 0x10) break;
    local_150[0] = *puVar4;
  }
  puVar4 = local_150 + 0xd;
  while( true ) {
    uVar1 = puVar4[-5] ^ local_150[0xd] ^ puVar4[-0xb] ^ puVar4[-0xd];
    puVar4[3] = uVar1 * 2 - ((int)uVar1 >> 0x1f);
    puVar4 = puVar4 + 1;
    if (puVar4 == local_150 + 0x4d) break;
    local_150[0xd] = *puVar4;
  }
  uVar1 = param_1[4];
  uVar3 = param_1[1];
  uVar2 = *param_1;
  uVar8 = param_1[3];
  uVar9 = param_1[2];
  do {
    uVar5 = uVar9;
    uVar7 = uVar8;
    uVar6 = uVar2;
    uVar2 = *__dest;
    __dest = __dest + 1;
    uVar9 = (uVar3 >> 2) + uVar3 * 0x40000000;
    uVar2 = uVar2 + 0x5a827999 + uVar1 + (uVar6 >> 0x1b) + uVar6 * 0x20 +
            (~uVar3 & uVar7 ^ uVar5 & uVar3);
    uVar1 = uVar7;
    uVar3 = uVar6;
    uVar8 = uVar5;
  } while (__dest != local_150 + 0x14);
  do {
    uVar3 = uVar9;
    uVar8 = uVar2;
    uVar1 = uVar5;
    uVar2 = *__dest;
    __dest = __dest + 1;
    uVar9 = (uVar6 >> 2) + uVar6 * 0x40000000;
    uVar2 = uVar2 + 0x6ed9eba1 + uVar7 + (uVar8 >> 0x1b) + uVar8 * 0x20 + (uVar3 ^ uVar6 ^ uVar1);
    uVar5 = uVar3;
    uVar6 = uVar8;
    uVar7 = uVar1;
  } while (__dest != local_150 + 0x28);
  do {
    uVar6 = uVar2;
    uVar7 = uVar9;
    uVar5 = uVar3;
    uVar3 = *__dest;
    __dest = __dest + 1;
    uVar9 = (uVar8 >> 2) + uVar8 * 0x40000000;
    uVar2 = uVar3 + 0x8f1bbcdc + uVar1 + (uVar6 >> 0x1b) + uVar6 * 0x20 +
            ((uVar7 ^ uVar5) & uVar8 ^ uVar5 & uVar7);
    uVar1 = uVar5;
    uVar3 = uVar7;
    uVar8 = uVar6;
  } while (__dest != local_150 + 0x3c);
  do {
    uVar10 = uVar9;
    uVar8 = uVar2;
    uVar3 = uVar7;
    uVar1 = *__dest;
    __dest = __dest + 1;
    uVar2 = uVar1 + 0xca62c1d6 + uVar5 + (uVar8 >> 0x1b) + uVar8 * 0x20 + (uVar10 ^ uVar6 ^ uVar3);
    uVar9 = (uVar6 >> 2) + uVar6 * 0x40000000;
    uVar5 = uVar3;
    uVar6 = uVar8;
    uVar7 = uVar10;
  } while (__dest != (uint *)&stack0xfffffff0);
  param_1[1] = param_1[1] + uVar8;
  *param_1 = uVar2 + *param_1;
  param_1[3] = param_1[3] + uVar10;
  param_1[4] = param_1[4] + uVar3;
  param_1[2] = param_1[2] + uVar9;
  memset(param_1 + 8,0,0x40)   //possible issue identified - semgrep
  param_1[0x18] = 0;
  return;
}