void BssTableDeleteEntry(byte *param_1,void *param_2,byte param_3)
{
int iVar1;
int iVar2;
uint uVar3;
void *__dest;
uVar3 = 0;
while( true ) {
if (*param_1 <= uVar3) {
return;
}
if ((param_1[uVar3 * 0x520 + 10] == param_3) &&
(iVar1 = memcmp(param_1 + uVar3 * 0x520 + 4,param_2,6), iVar1 == 0)) break;
uVar3 = uVar3 + 1 & 0xff;
}
while( true ) {
iVar1 = uVar3 + 1;
iVar2 = *param_1 - 1;
if (iVar2 <= (int)uVar3) break;
__dest = *(void **)(param_1 + uVar3 * 0x520 + 0x4dc);
memmove(param_1 + uVar3 * 0x520 + 4,param_1 + iVar1 * 0x520 + 4,0x520) //possible issue identified - semgrep
if (__dest != (void *)0x0) {
RTMPZeroMemory(__dest,0x400);
memmove(__dest,*(void **)(param_1 + iVar1 * 0x520 + 0x4dc),
(uint)*(ushort *)(param_1 + iVar1 * 0x520 + 0x4da)) //possible issue identified - semgrep
*(void **)(param_1 + uVar3 * 0x520 + 0x4dc) = __dest;
}
uVar3 = uVar3 + 1 & 0xff;
}
iVar1 = *(int *)(param_1 + iVar2 * 0x520 + 0x4dc);
memset(param_1 + (uint)*param_1 * 0x520 + -0x51c,0,0x520) //possible issue identified - semgrep
if (iVar1 != 0) {
RTMPZeroMemory(iVar1,0x400);
*(int *)(param_1 + (uint)*param_1 * 0x520 + -0x44) = iVar1;
}
*param_1 = *param_1 - 1;
return;
}