void RT_SHA1_Append(int param_1,int param_2,int param_3)
{
int iVar1;
uint uVar2;
void *__dest;
void *__src;
int iVar3;
size_t __n;
iVar3 = 0;
while (__n = param_3 - iVar3, iVar3 != param_3) { //possible issue identified - semgrep
iVar1 = *(int *)(param_1 + 0x60);
__src = (void *)(param_2 + iVar3);
__dest = (void *)(param_1 + iVar1 + 0x20);
if (__n + iVar1 < 0x40) {
iVar3 = iVar3 + __n //possible issue identified - semgrep
memmove(__dest,__src,__n) //possible issue identified - semgrep
*(size_t *)(param_1 + 0x60) = *(int *)(param_1 + 0x60) + __n;
}
else {
memmove(__dest,__src,0x40 - iVar1) //possible issue identified - semgrep
iVar1 = *(int *)(param_1 + 0x60);
*(undefined4 *)(param_1 + 0x60) = 0x40;
iVar3 = iVar3 + (0x40 - iVar1);
RT_SHA1_Hash(param_1);
}
}
uVar2 = *(uint *)(param_1 + 0x18) + iVar3;
*(uint *)(param_1 + 0x1c) = (uint)(uVar2 < *(uint *)(param_1 + 0x18)) + *(int *)(param_1 + 0x1c);
*(uint *)(param_1 + 0x18) = uVar2;
return;
}