VOID **__fastcall EmpRuleParserStackPush(__int64 a1, int a2, __int64 a3, __int64 a4, int a5){
VOID **result;
VOID **v10;
result = ExAllocatePoolWithTag(1ui64, 0x28ui64, 1953713477i64);
if( result )
{
v10 = result + 4;
*((_DWORD *)result + 6) = a5;
*(_DWORD *)result = a2;
result[1] = (VOID *)a3;
result[2] = (VOID *)a4;
result = *(VOID ***)(a1 + 8);
*v10 = result;
++*(_DWORD *)a1;
*(_QWORD *)(a1 + 8) = v10;
}
return result;
}