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