PspWow64InitThreadGuestx86
NTSTATUS __stdcall PspWow64InitThreadGuestx86(
_EPROCESS *Process,
_X86_NT5_CONTEXT *Wow64Context,
INT64 GuestIp,
INT64 GuestSp,
INT64 GuestParam1,
INT64 GuestParam2){
_X86_NT5_CONTEXT v7;
int v9;
__int16 v10;
unsigned int MitigationFlags;
int v12;
NTSTATUS result;
v7 = GuestIp;
v9 = GuestSp;
memset(Wow64Context, 0i64, 0x2CCu);
v10 = ExGenRandom(ExGenRandomDomainUserVisible);
MitigationFlags = Process->MitigationFlags;
v12 = v9 - 4 * (v10 & 0x1FF);
Wow64Context[46] = v7;
Wow64Context[44] = GuestParam1;
if( (MitigationFlags & 0x40) != 0 )
v12 = v9;
Wow64Context[41] = GuestParam2;
Wow64Context[35] = 43;
Wow64Context[37] = 43;
Wow64Context[38] = 43;
Wow64Context[50] = 43;
result = 639;
Wow64Context[7] = 639;
*((_WORD *)Wow64Context + 102) = 639;
Wow64Context[49] = v12 - 16;
Wow64Context[36] = 83;
Wow64Context[47] = 35;
Wow64Context[9] = 0xFFFF;
Wow64Context[57] = 8064;
*Wow64Context = 65599;
return result;
}Referenced by:
PspWow64InitThread