IopLiveDumpTracePopulateBitmapForDumpDuration
CHAR __fastcall IopLiveDumpTracePopulateBitmapForDumpDuration(GUID *a1, INT64 a2, INT64 a3){
int v4;
_DWORD *v5;
EVENT_DESCRIPTOR *v6;
UINT64 UserDataCount;
INT64 v9;
INT64 v10;
struct _EVENT_DATA_DESCRIPTOR UserData;
INT64 *v12;
int v13;
int v14;
struct _EVENT_DATA_DESCRIPTOR v15;
INT64 *v16;
int v17;
int v18;
INT64 *v19;
int v20;
int v21;
INT64 v22;
INT64 v23;
v23 = a3;
v22 = a2;
LOBYTE(v4) = IopLiveDumpIsTracingEnabled();
if( (_BYTE)v4 )
{
if( !v5[104] )
{
v4 = v5[78];
if( (v4 & 1) != 0 )
{
UserData.Reserved = 0;
v14 = 0;
v6 = (EVENT_DESCRIPTOR *)LIVEDUMP_EVENT_SIZING_WORKFLOW_SYSTEM_QUISCED_POPULATE_BITMAP_FOR_DUMP;
UserData.Ptr = (unsigned __int64)&v22;
v12 = &v23;
if( (v5[20] & 1) == 0 )
v6 = (EVENT_DESCRIPTOR *)&LIVEDUMP_EVENT_CAPTURE_PAGES_WORKFLOW_SYSTEM_QUISCED_POPULATE_BITMAP_FOR_DUMP;
UserData.Size = 8;
v13 = 8;
LODWORD(UserDataCount) = 2;
LOBYTE(v4) = EtwWriteEx(IopLiveDumpEtwRegHandle, v6, 0i64, 0i64, 0i64, 0i64, UserDataCount, &UserData);
if( (unsigned int)dword_140C04498 > 5 )
{
LOBYTE(v4) = tlgKeywordOn((__int64)&dword_140C04498, 0x200000000000i64);
if( (_BYTE)v4 )
{
v18 = 0;
v21 = 0;
v9 = v22;
v17 = 8;
v16 = &v9;
v10 = v23;
v19 = &v10;
v20 = 8;
LOBYTE(v4) = tlgWriteTransfer_EtwWriteTransfer(
(__int64)&dword_140C04498,
(unsigned __int8 *)byte_140023990,
a1 + 54,
a1 + 53,
4u,
&v15);
}
}
}
}
}
return v4;
}Referenced by:
IopLiveDumpPopulateBitmapForDump