void RT_MD5_End(void *param_1,void *param_2)
{
uint uVar1;
int local_18;
uint local_14;
memset((void *)((int)param_1 + *(int *)((int)param_1 + 0x58) + 0x18),0x80,1) //possible issue identified - semgrep
if (*(uint *)((int)param_1 + 0x58) < 0x38) {
uVar1 = *(uint *)((int)param_1 + 0x10);
}
else {
RT_MD5_Hash(param_1);
uVar1 = *(uint *)((int)param_1 + 0x10);
}
local_14 = *(int *)((int)param_1 + 0x14) << 3 | uVar1 >> 0x1d;
local_18 = uVar1 << 3;
memmove((void *)((int)param_1 + 0x50),&local_18,8) //possible issue identified - semgrep
RT_MD5_Hash(param_1);
memmove(param_2,param_1,0x10) //possible issue identified - semgrep
return;
}