KiInitSystem
VOID __stdcall KiInitSystem(){
__int64 v0;
_QWORD *v1;
if( *(&KiSwapEvent + 118) )
KiForceSymbolReferences();
v0 = 1024i64;
LODWORD(xmmword_140E018F0) = 0;
*(&KiSwapEvent + 43) = (char *)&KiSwapEvent + 336;
*(&KiSwapEvent + 42) = (char *)&KiSwapEvent + 336;
*(&KiSwapEvent + 47) = (char *)&KiSwapEvent + 368;
*(&KiSwapEvent + 46) = (char *)&KiSwapEvent + 368;
*(&KiSwapEvent + 45) = (char *)&KiSwapEvent + 352;
*(&KiSwapEvent + 44) = (char *)&KiSwapEvent + 352;
*(&KiSwapEvent + 49) = (char *)&KiSwapEvent + 384;
*(&KiSwapEvent + 48) = (char *)&KiSwapEvent + 384;
KiProfileListHead.Blink = &KiProfileListHead;
KiProfileListHead.Flink = &KiProfileListHead;
qword_140C31D18 = (__int64)&KiProfileSourceListHead;
KiProfileSourceListHead = (__int64)&KiProfileSourceListHead;
*(&KiSwapEvent + 2) = (char *)&KiSwapEvent + 8;
*(&KiSwapEvent + 1) = (char *)&KiSwapEvent + 8;
*(_QWORD *)&KeServiceDescriptorTable = KiServiceTable;
LODWORD(xmmword_140E018D0) = KiServiceLimit;
*((_QWORD *)&xmmword_140E018D0 + 1) = KiArgumentTable;
*(&KiSwapEvent + 35) = KiBalanceSetManagerDeferredRoutine;
*(&KiSwapEvent + 36) = (char *)&KiSwapEvent + 32;
*(&KiSwapEvent + 6) = (char *)&KiSwapEvent + 40;
*(&KiSwapEvent + 5) = (char *)&KiSwapEvent + 40;
*(&KiSwapEvent + 10) = (char *)&KiSwapEvent + 72;
*(&KiSwapEvent + 9) = (char *)&KiSwapEvent + 72;
v1 = (_QWORD *)((char *)&WheapErrorSourceTable + 3112);
KeBugCheckCallbackLock = 0i64;
KiSwapEvent = 1;
*(&KiSwapEvent + 2) = 6;
*(&KiSwapEvent + 1) = 0;
*(&KiSwapEvent + 3) = 0i64;
KiProcessOutSwapListHead = 0i64;
KiStackInSwapListHead = 0i64;
KeServiceDescriptorTableShadow = KeServiceDescriptorTable;
xmmword_140CFBA50 = xmmword_140E018D0;
xmmword_140CFBA60 = xmmword_140E018E0;
xmmword_140CFBA70 = xmmword_140E018F0;
KeServiceDescriptorTableFilter[0] = KeServiceDescriptorTable;
xmmword_140CFBC10 = xmmword_140E018D0;
xmmword_140CFBC20 = xmmword_140E018E0;
xmmword_140CFBC30 = xmmword_140E018F0;
*(&KiSwapEvent + 64) = 275;
*(&KiSwapEvent + 39) = 0i64;
*(&KiSwapEvent + 34) = 0i64;
*(&KiSwapEvent + 16) = 1;
*(&KiSwapEvent + 34) = 6;
*(&KiSwapEvent + 9) = 0;
*(&KiSwapEvent + 32) = 0;
*(&KiSwapEvent + 66) = 6;
*(&KiSwapEvent + 17) = 0;
do
{
*v1 = 0i64;
v1[1] = 0i64;
v1[2] = 0i64;
v1 += 8;
--v0;
}
while( v0 );
KiDynamicProcessorLock.Count = 1;
*(_QWORD *)&KiDynamicProcessorLock.gap14[20] = &KiDynamicProcessorLock.gap14[12];
*(_QWORD *)&KiDynamicProcessorLock.gap14[12] = &KiDynamicProcessorLock.gap14[12];
*(&KiSwapEvent + 15) = KiSetVirtualHeteroClockIntervalRequestDpcRoutine;
KiDynamicProcessorLock.Owner = 0i64;
KiDynamicProcessorLock.Contention = 0;
*(_WORD *)&KiDynamicProcessorLock.gap14[4] = 1;
KiDynamicProcessorLock.gap14[6] = 6;
*(_DWORD *)&KiDynamicProcessorLock.gap14[8] = 0;
*(&KiSwapEvent + 24) = 531;
*(&KiSwapEvent + 16) = 0i64;
*(&KiSwapEvent + 19) = 0i64;
*(&KiSwapEvent + 14) = 0i64;
}Referenced by:
KiInitializeKernel