ST_STORE::StDmInitialize
unsigned __int64 __fastcall ST_STORE::StDmInitialize(__int64 a1, __int64 a2){
__int64 v4;
__int64 v5;
_DWORD *v6;
__int64 v7;
unsigned int v8;
unsigned __int64 result;
int v10;
int v11;
union _LARGE_INTEGER PerformanceFrequency;
PerformanceFrequency.QuadPart = 0i64;
memset(a1 + 192, 0i64);
v10 = 12;
*(_OWORD *)a1 = 0i64;
v11 = 4;
*(_QWORD *)(a1 + 16) = 0i64;
*(_OWORD *)(a1 + 24) = 0i64;
*(_OWORD *)(a1 + 40) = 0i64;
*(_QWORD *)(a1 + 56) = 0i64;
*(_OWORD *)(a1 + 64) = 0i64;
*(_QWORD *)(a1 + 80) = 0i64;
*(_OWORD *)(a1 + 88) = 0i64;
*(_OWORD *)(a1 + 104) = 0i64;
*(_QWORD *)(a1 + 120) = 0i64;
*(_OWORD *)(a1 + 128) = 0i64;
*(_QWORD *)(a1 + 144) = 0i64;
*(_OWORD *)(a1 + 152) = 0i64;
*(_OWORD *)(a1 + 168) = 0i64;
*(_QWORD *)(a1 + 184) = 0i64;
SmHpChunkHeapInitialize(a1 + 192, (INT64)&v10);
memset(a1 + 1376, 0i64);
*(_QWORD *)(a1 + 1448) = a1 + 1440;
*(_QWORD *)(a1 + 1440) = 0i64;
*(_DWORD *)(a1 + 1428) = (__int64)(KeMaximumIncrement
* (unsigned __int64)(unsigned int)((__int64)KUSER_SHARED_DATA.TickCountQuad >> 12)) >> 17;
*(_DWORD *)(a1 + 1472) = 0;
*(_QWORD *)(a1 + 1504) = a2;
memset(a1 + 1512, 0i64);
*(_QWORD *)(a1 + 1584) = a1 + 1576;
*(_QWORD *)(a1 + 1576) = 0i64;
*(_DWORD *)(a1 + 1564) = (__int64)(KeMaximumIncrement
* (unsigned __int64)(unsigned int)((__int64)KUSER_SHARED_DATA.TickCountQuad >> 12)) >> 17;
*(_DWORD *)(a1 + 1608) = 1;
*(_QWORD *)(a1 + 1640) = a2;
memset(a1 + 1648, 0i64);
*(_QWORD *)(a1 + 1720) = a1 + 1712;
*(_QWORD *)(a1 + 1712) = 0i64;
*(_DWORD *)(a1 + 1700) = (__int64)(KeMaximumIncrement
* (unsigned __int64)(unsigned int)((__int64)KUSER_SHARED_DATA.TickCountQuad >> 12)) >> 17;
*(_DWORD *)(a1 + 1608) = 2;
*(_QWORD *)(a1 + 1760) = 0i64;
*(_QWORD *)(a1 + 1768) = 0i64;
v4 = 6i64;
*(_QWORD *)(a1 + 1752) = 0i64;
*(_QWORD *)(a1 + 1624) = 0x20000000i64;
*(_QWORD *)(a1 + 1616) = 0x20000000i64;
v5 = a1 + 1104;
*(_QWORD *)(a1 + 1640) = a2;
*(_QWORD *)(a1 + 1488) = 1i64;
*(_QWORD *)(a1 + 1496) = 0x1FFFFFFFi64;
*(_QWORD *)(a1 + 1480) = 1i64;
*(_QWORD *)(a1 + 1632) = 0x3FFFFFFFi64;
*(_QWORD *)(a1 + 16) = a1 + 1376;
*(_QWORD *)(a1 + 80) = a1 + 1512;
*(_QWORD *)(a1 + 144) = a1 + 1648;
do
{
*(_OWORD *)v5 = 0i64;
*(_QWORD *)(v5 + 16) = 0i64;
*(_DWORD *)v5 = -1;
v5 += 24i64;
--v4;
}
while( v4 );
v6 = (_DWORD *)(a1 + 1248);
v7 = 8i64;
do
{
*v6 = -1;
v6 += 4;
--v7;
}
while( v7 );
v8 = *(_DWORD *)(a1 + 864) & 0xFFFFFFFE;
*(_DWORD *)(a1 + 872) = 4;
*(_BYTE *)(a1 + 776) = 2;
*(_DWORD *)(a1 + 864) = v8 | 6;
*(_DWORD *)(a1 + 1024) = -10001;
KeQueryPerformanceCounter(&PerformanceFrequency);
result = (unsigned __int64)((unsigned __int128)(10000 * PerformanceFrequency.QuadPart * (__int128)0x431BDE82D7B634DBi64) >> 64) >> 63;
*(_DWORD *)(a1 + 1008) = 10000 * PerformanceFrequency.QuadPart / 1000000;
return result;
}
Referenced by:
No references.