MiLogHotPatchManagement

VOID __fastcall MiLogHotPatchManagement(INT64 a1, INT64 a2, UINT16 *a3, INT64 a4){
  __int64 v4; 
  int v5; 
  __int64 v8; 
  int v9; 
  __int64 v10; 
  __int64 v11; 
  int v12; 
  __int64 v13; 
  int v14; 
  int v15; 
  unsigned int v16; 
  int v17; 
  int v18; 
  int v19; 
  unsigned int ProcessId; 
  int v21; 
  int v22; 
  int v23; 
  unsigned int v24; 
  int v25; 
  int v26; 
  int v27; 
  unsigned int v28; 
  int v29; 
  int v30; 
  int v31; 
  char v32[32]; 
  unsigned int *p_ProcessId; 
  __int64 v34; 
  int *v35; 
  __int64 v36; 
  int *v37; 
  __int64 v38; 
  int *v39; 
  __int64 v40; 
  int *v41; 
  __int64 v42; 
  __int64 v43; 
  int v44[2]; 
  INT64 v45; 
  int v46; 
  int v47; 
  char v48[32]; 
  unsigned int *v49; 
  __int64 v50; 
  int *v51; 
  __int64 v52; 
  int *v53; 
  __int64 v54; 
  int *v55; 
  __int64 v56; 
  int *v57; 
  __int64 v58; 
  __int64 v59; 
  int v60[2]; 
  __int64 v61[13]; 
  int v62; 
  int v63; 
  char v64[32]; 
  unsigned int *v65; 
  __int64 v66; 
  int *v67; 
  __int64 v68; 
  int *v69; 
  __int64 v70; 
  int *v71; 
  __int64 v72; 
  v4 = *(_QWORD *)&qword_140C4EC20;
  v5 = a4;
  if( *(_QWORD *)&qword_140C4EC20 )
  {
    if( (_DWORD)a1 )
    {
      if( (_DWORD)a1 == 3 )
      {
        if( **(_DWORD **)&qword_140C4EC20 > 5u && tlgKeywordOn(*(__int64 *)&qword_140C4EC20, 32i64) )
        {
          ProcessId = (unsigned int)PsGetProcessId(*((PEPROCESS *)KeGetCurrentThread() + 23));
          v34 = 4i64;
          p_ProcessId = &ProcessId;
          v35 = &v21;
          v22 = *(_DWORD *)(a2 + 92);
          v37 = &v22;
          v23 = *(_DWORD *)(a2 + 96);
          v39 = &v23;
          v41 = v44;
          v43 = *((_QWORD *)a3 + 1);
          v44[0] = *a3;
          v45 = a2 + 24;
          v9 = *(unsigned __int8 *)(a2 + 25);
          v21 = v5;
          v36 = 4i64;
          v38 = 4i64;
          v40 = 4i64;
          v46 = 4 * v9 + 8;
          v42 = 2i64;
          v44[1] = 0;
          v47 = 0;
          tlgWriteEx_EtwWriteEx(v4, (unsigned __int8 *)byte_1400252CB, v10, 1ui64, v14, v15, 9u, (__int64)v32);
        }
      }
      else if( (_DWORD)a1 == 1 )
      {
        if( **(_DWORD **)&qword_140C4EC20 > 5u && tlgKeywordOn(*(__int64 *)&qword_140C4EC20, 32i64) )
        {
          v24 = (unsigned int)PsGetProcessId(*((PEPROCESS *)KeGetCurrentThread() + 23));
          v66 = 4i64;
          v65 = &v24;
          v67 = &v25;
          v26 = *(_DWORD *)(a2 + 4);
          v69 = &v26;
          v27 = *(_DWORD *)(a2 + 8);
          v71 = &v27;
          v25 = v5;
          v68 = 4i64;
          v70 = 4i64;
          v72 = 4i64;
          tlgWriteEx_EtwWriteEx(v4, (unsigned __int8 *)&word_140025336, v11, 1ui64, v14, v15, 6u, (__int64)v64);
        }
      }
      else if( (_DWORD)a1 == 4
             && **(_DWORD **)&qword_140C4EC20 > 5u
             && tlgKeywordOn(*(__int64 *)&qword_140C4EC20, 32i64) )
      {
        v28 = (unsigned int)PsGetProcessId(*((PEPROCESS *)KeGetCurrentThread() + 23));
        v61[5] = 4i64;
        v61[4] = (__int64)&v28;
        v61[6] = (__int64)&v29;
        v30 = *(_DWORD *)(a2 + 4);
        v61[8] = (__int64)&v30;
        v31 = *(_DWORD *)(a2 + 8);
        v61[10] = (__int64)&v31;
        v61[12] = a2 + 12;
        v12 = *(unsigned __int8 *)(a2 + 13);
        v29 = v5;
        v61[7] = 4i64;
        v61[9] = 4i64;
        v61[11] = 4i64;
        v62 = 4 * v12 + 8;
        v63 = 0;
        tlgWriteEx_EtwWriteEx(v4, (unsigned __int8 *)&unk_140025388, v13, 1ui64, v14, v15, 7u, (__int64)v61);
      }
    }
    else if( **(_DWORD **)&qword_140C4EC20 > 5u )
    {
      if( tlgKeywordOn(*(__int64 *)&qword_140C4EC20, 32i64) )
      {
        v16 = (unsigned int)PsGetProcessId(*((PEPROCESS *)KeGetCurrentThread() + 23));
        v50 = 4i64;
        v49 = &v16;
        v51 = &v17;
        v18 = *(_DWORD *)(a2 + 92);
        v53 = &v18;
        v19 = *(_DWORD *)(a2 + 96);
        v55 = &v19;
        v57 = v60;
        v59 = *((_QWORD *)a3 + 1);
        v60[0] = *a3;
        v17 = v5;
        v52 = 4i64;
        v54 = 4i64;
        v56 = 4i64;
        v58 = 2i64;
        v60[1] = 0;
        tlgWriteEx_EtwWriteEx(v4, (unsigned __int8 *)&dword_14002560C, v8, 1ui64, v14, v15, 8u, (__int64)v48);
      }
    }
  }
}

Referenced by:

NtManageHotPatch