RtlWow64GetCpuAreaInfo
NTSTATUS __stdcall RtlWow64GetCpuAreaInfo(VOID *CpuArea, UINT16 Machine, _WOW64_CPUAREA_INFO *CpuAreaInfo){
unsigned int v5;
unsigned int v6;
unsigned __int64 v7;
unsigned __int64 v8;
__int64 v9;
__int64 v10;
NTSTATUS result;
UINT64 ContextLength;
UINT64 ContextAlign;
LODWORD(ContextAlign) = 0;
LODWORD(ContextLength) = 0;
*((_QWORD *)CpuAreaInfo + 3) = CpuArea;
v5 = RtlpArchContextFlagFromMachine(332i64);
v6 = v5;
if( !v5 )
return -1073741811;
RtlpGetLegacyContextLength(v5, &ContextLength, &ContextAlign);
v7 = ~((unsigned int)ContextAlign - 1i64) & ((unsigned __int64)CpuArea + (unsigned int)ContextAlign + 3);
v8 = v7 + (unsigned int)ContextLength + 7i64;
*(_QWORD *)CpuAreaInfo = v7;
*((_QWORD *)CpuAreaInfo + 1) = v8 & 0xFFFFFFFFFFFFFFF8ui64;
LODWORD(v9) = RtlpGetContextFlagsLocation(v7, v6);
*((_QWORD *)CpuAreaInfo + 2) = v9;
CpuAreaInfo[8] = v6;
*((_QWORD *)CpuAreaInfo + 5) = (v10 + 11) & 0xFFFFFFFFFFFFFFFCui64;
result = 0;
*((_WORD *)CpuAreaInfo + 18) = 332;
return result;
}Referenced by:
PspWow64ReadOrWriteThreadCpuArea
RtlpWalkFrameChain