HvSwapLogFiles

INT64 __fastcall HvSwapLogFiles(INT64 a1){
  unsigned int v2; 
  char v3; 
  int v4; 
  int v5; 
  __int64 v6; 
  int v7; 
  INT64 result; 
  int v9; 
  int v10; 
  int v11; 
  int v12; 
  int v13; 
  int v14; 
  __int64 v15; 
  __int64 v16; 
  struct _EVENT_DATA_DESCRIPTOR v17; 
  int *v18; 
  int v19; 
  int v20; 
  int *v21; 
  int v22; 
  int v23; 
  int *v24; 
  int v25; 
  int v26; 
  int *v27; 
  int v28; 
  int v29; 
  int *v30; 
  int v31; 
  int v32; 
  int *v33; 
  int v34; 
  int v35; 
  __int64 *v36; 
  int v37; 
  int v38; 
  __int64 *v39; 
  int v40; 
  int v41; 
  HvGetEffectiveLogSizeCapForHive((_HHIVE *)a1);
  v2 = HvpLogTypeToLogArrayIndex(*(unsigned int *)(a1 + 164));
  v5 = *(_DWORD *)(a1 + 168) - *(_DWORD *)(a1 + 172);
  v6 = *(_QWORD *)&KUSER_SHARED_DATA.SystemTime.LowPart;
  if( (unsigned int)dword_140C02130 > 5 )
  {
    v14 = *(_DWORD *)(a1 + 8i64 * v2 + 1800);
    v18 = &v9;
    v10 = *(_DWORD *)(a1 + 272);
    v21 = &v10;
    LOBYTE(v9) = v3 == 0;
    v7 = *(_DWORD *)(a1 + 184);
    v20 = 0;
    v23 = 0;
    v26 = 0;
    v29 = 0;
    v32 = 0;
    v35 = 0;
    v38 = 0;
    v41 = 0;
    v11 = v7;
    v24 = &v11;
    v27 = &v12;
    v13 = *(_DWORD *)(a1 + 176);
    v30 = &v13;
    v33 = &v14;
    v36 = &v15;
    v16 = *(_QWORD *)&KUSER_SHARED_DATA.SystemTime.LowPart - *(_QWORD *)(a1 + 192);
    v39 = &v16;
    LODWORD(v15) = v5;
    v19 = 1;
    v22 = 4;
    v25 = 4;
    v12 = v4;
    v28 = 4;
    v31 = 4;
    v34 = 4;
    v37 = 4;
    v40 = 8;
    tlgWriteTransfer_EtwWriteTransfer(
      (__int64)&dword_140C02130,
      (unsigned __int8 *)byte_140022CB5,
      0i64,
      0i64,
      0xAu,
      &v17);
  }
  *(_DWORD *)(a1 + 164) = 5 - (*(_DWORD *)(a1 + 164) != 4);
  result = *(unsigned int *)(a1 + 168);
  *(_QWORD *)(a1 + 172) = (unsigned int)result;
  *(_QWORD *)(a1 + 192) = v6;
  return result;
}

Referenced by:

CmpFlushHive