WbAddLookupEntryEx
INT64 __fastcall WbAddLookupEntryEx(INT64 *a1, INT64 a2, INT64 a3, UINT64 a4){
unsigned int v4;
NTSTATUS v5;
unsigned int v6;
unsigned int v7;
int v10;
v4 = *((_DWORD *)a1 + 1);
v5 = 0;
v6 = *((_DWORD *)a1 + 2);
v7 = a4;
if( v4 + 1 >= v6 )
{
v5 = WbReAlloc((PVOID)a1[2], v6 * *(_DWORD *)a1, *(_DWORD *)a1 * (v6 + *((_DWORD *)a1 + 6)));
if( v5 < 0 )
return(unsigned int)v5;
*((_DWORD *)a1 + 2) += *((_DWORD *)a1 + 6);
v6 = *((_DWORD *)a1 + 2);
v4 = *((_DWORD *)a1 + 1);
}
if( v7 <= v4 && v6 )
{
memmove(
(UINT8 *)(a1[2] + (v7 + 1) * *(_DWORD *)a1),
(UINT8 *)(a1[2] + v7 * *(_DWORD *)a1),
*(_DWORD *)a1 * (v4 - v7));
v10 = *(_DWORD *)a1;
++*((_DWORD *)a1 + 1);
*(_QWORD *)(v7 * v10 + a1[2]) = a2;
}
else
{
return(unsigned int)-1073741811;
}
return(unsigned int)v5;
}Referenced by:
sub_14065FDF0