SdbpGetPathAppPatchPreRS3

__int64 __fastcall SdbpGetPathAppPatchPreRS3(wchar_t *a1, size_t a2, const WCHAR *a3, __int16 *a4){
  int ProcessHostGuestArchitectures; 
  unsigned int v9; 
  const CHAR *v10; 
  UINT64 v11; 
  WCHAR *v12; 
  const WCHAR *v13; 
  int v14; 
  __int16 v15[2]; 
  __int16 v16; 
  wchar_t pszSrc[12]; 
  wchar_t pszDest[264]; 
  wcscpy(pszSrc, L"AppPatch64");
  if( a2 < 0xB )
    return 3221225507i64;
  v16 = -1;
  pszDest[0] = 0;
  v15[0] = -1;
  ProcessHostGuestArchitectures = SdbpGetProcessHostGuestArchitectures(&v16, v15, a4);
  v9 = ProcessHostGuestArchitectures;
  if( ProcessHostGuestArchitectures >= 0 )
  {
    if( v15[0] == 9 || v15[0] == 12 )
    {
      v13 = &word_14001B020;
      if( a3 )
        v13 = a3;
      ProcessHostGuestArchitectures = AslPathCombine(pszSrc, (__int64)v13, pszDest, 0x104ui64);
      v9 = ProcessHostGuestArchitectures;
      if( ProcessHostGuestArchitectures < 0 )
      {
        v10 = "AslPathCombine failed [%x]";
        v11 = 1004i64;
        goto LABEL_5;
      }
    }
    else
    {
      v12 = (WCHAR *)&word_14001B020;
      if( a3 )
        v12 = (WCHAR *)a3;
      ProcessHostGuestArchitectures = RtlStringCchCopyW(pszDest, 0x104ui64, v12);
      v9 = ProcessHostGuestArchitectures;
      if( ProcessHostGuestArchitectures < 0 )
      {
        v10 = "RtlStringCchCopyW failed to copy FileName [%x]";
        v11 = 1010i64;
        goto LABEL_5;
      }
    }
    return(unsigned int)SdbpGetPathAppPatch(a1, a2, pszDest);
  }
  v10 = "SdbpGetProcessHostGuestArchitectures failed [%x]";
  v11 = 992i64;
LABEL_5:
  v14 = ProcessHostGuestArchitectures;
  AslLogCallPrintf(1ui64, "SdbpGetPathAppPatchPreRS3", v11, v10, v14);
  return v9;
}

Referenced by:

No references.