PspWow64SetupUserStack

__int64 __fastcall PspWow64SetupUserStack(ULONG_PTR a1, __int64 a2, __int64 a3, char *a4, int a5){
  char v5; 
  int UserStack; 
  char v9; 
  _KAPC_STATE ApcState; 
  v5 = *a4;
  memset(&ApcState, 0, sizeof(ApcState));
  if( (v5 & 1) != 0 )
  {
    v9 = 0;
    goto LABEL_4;
  }
  KiStackAttachProcess((_KPROCESS *)a1, 0i64, &ApcState);
  UserStack = RtlpWow64CreateUserStack(*((_QWORD *)a4 + 2), *((_QWORD *)a4 + 3), *((_QWORD *)a4 + 1), a5, a3);
  if( UserStack >= 0 )
  {
    KiUnstackDetachProcess(&ApcState, 0i64);
    v5 = *a4;
    v9 = 4;
LABEL_4:
    *a4 = v9 | v5 & 0xFB;
    return 0i64;
  }
  KiUnstackDetachProcess(&ApcState, 0i64);
  return(unsigned int)UserStack;
}

Referenced by:

PspAllocateThread