SdbpGetPathAppPatchPreRS3

NTSTATUS __stdcall SdbpGetPathAppPatchPreRS3(_NTSTRSAFE_PWSTR pszDest, UINT64 cchDest, WCHAR *pszSrc, INT16 *a4){
  int ProcessHostGuestArchitectures; 
  INT8 *v9; 
  UINT64 v10; 
  WCHAR *v11; 
  __int16 v12[2]; 
  __int16 v13; 
  _NTSTRSAFE_PCWSTR pszSrca[4]; 
  int v15; 
  wchar_t v16; 
  __int16 pszDesta[264]; 

  v15 = *(_DWORD *)L"64";
  v16 = aApppatch64[10];
  *(_OWORD *)pszSrca = *(_OWORD *)L"AppPatch64";
  if( cchDest < 0xB )
    return -1073741789;
  v13 = -1;
  pszDesta[0] = 0;
  v12[0] = -1;
  ProcessHostGuestArchitectures = SdbpGetProcessHostGuestArchitectures(&v13, v12, a4);
  if( ProcessHostGuestArchitectures >= 0 )
  {
    if( v12[0] == 9 || v12[0] == 12 )
    {
      ProcessHostGuestArchitectures = AslPathCombine((_NTSTRSAFE_PCWSTR)pszSrca);
      if( ProcessHostGuestArchitectures < 0 )
      {
        v9 = (INT8 *)"AslPathCombine failed [%x]";
        v10 = 1004i64;
        goto LABEL_5;
      }
    }
    else
    {
      v11 = (WCHAR *)&word_14001B020;
      if( pszSrc )
        v11 = pszSrc;
      ProcessHostGuestArchitectures = RtlStringCchCopyW((WCHAR *)pszDesta, 0x104ui64, v11);
      if( ProcessHostGuestArchitectures < 0 )
      {
        v9 = "RtlStringCchCopyW failed to copy FileName [%x]";
        v10 = 1010i64;
        goto LABEL_5;
      }
    }
    return SdbpGetPathAppPatch(pszDest, cchDest);
  }
  v9 = (INT8 *)"SdbpGetProcessHostGuestArchitectures failed [%x]";
  v10 = 992i64;
LABEL_5:
  AslLogCallPrintf(1ui64, (INT8 *)"SdbpGetPathAppPatchPreRS3", v10, v9);
  return ProcessHostGuestArchitectures;
}

Referenced by:

No references.