PipCriticalDeviceWaitCallback
INT64 __fastcall PipCriticalDeviceWaitCallback(INT64 a1, const CHAR *a2, UNICODE_STRING *a3){
int v4;
INT8 v5;
void *FileHandle;
struct _STRING DestinationString;
struct _OBJECT_ATTRIBUTES ObjectAttributes;
struct _IO_STATUS_BLOCK IoStatusBlock;
char pszDest[256];
FileHandle = 0i64;
DestinationString = 0i64;
IoStatusBlock = 0i64;
memset(&ObjectAttributes, 0, sizeof(ObjectAttributes));
if( a2 )
{
v4 = RtlStringCchPrintfA(pszDest, 0x100ui64, (INT8 *)"\\ArcName\\%s");
if( v4 >= 0 )
{
RtlInitAnsiString(&DestinationString, pszDest, v5);
v4 = RtlAnsiStringToUnicodeString(a3, &DestinationString, 1u);
if( v4 >= 0 )
{
ObjectAttributes.RootDirectory = 0i64;
ObjectAttributes.Length = 48;
ObjectAttributes.Attributes = 576;
*(_OWORD *)&ObjectAttributes.SecurityDescriptor = 0i64;
ObjectAttributes.ObjectName = a3;
v4 = ZwOpenFile((UNICODE_STRING *)&FileHandle, (PWCHAR)0x80);
}
}
if( FileHandle )
ZwClose(FileHandle);
}
else
{
return(unsigned int)-1073741811;
}
return(unsigned int)v4;
}Referenced by:
No references.