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