void RT_SHA256_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 + 0x68);
__src = (void *)(param_2 + iVar3);
__dest = (void *)(param_1 + iVar1 + 0x28);
if (__n + iVar1 < 0x40) {
iVar3 = iVar3 + __n //possible issue identified - semgrep
memmove(__dest,__src,__n) //possible issue identified - semgrep
*(size_t *)(param_1 + 0x68) = *(int *)(param_1 + 0x68) + __n;
}
else {
memmove(__dest,__src,0x40 - iVar1) //possible issue identified - semgrep
iVar1 = *(int *)(param_1 + 0x68);
*(undefined4 *)(param_1 + 0x68) = 0x40;
iVar3 = iVar3 + (0x40 - iVar1);
RT_SHA256_Hash(param_1);
}
}
uVar2 = *(uint *)(param_1 + 0x20) + iVar3;
*(uint *)(param_1 + 0x24) = (uint)(uVar2 < *(uint *)(param_1 + 0x20)) + *(int *)(param_1 + 0x24);
*(uint *)(param_1 + 0x20) = uVar2;
return;
}