MiLogPinDriverAddress
VOID __fastcall MiLogPinDriverAddress(_QWORD *a1){
_ETHREAD *CurrentThread;
unsigned __int64 v3;
__int64 v4;
WCHAR v5;
int v6;
struct _UNICODE_STRING *p_DestinationString_8;
int v8;
__int64 v9;
__int64 v10;
unsigned int v11;
unsigned int v12;
unsigned int v13;
unsigned int v14;
unsigned int v15;
unsigned int v16;
int v17;
unsigned int v18;
unsigned int v19;
int v20;
int v21;
__int64 v22;
__int64 DestinationString;
struct _UNICODE_STRING DestinationString_8;
struct _EVENT_DATA_DESCRIPTOR v25;
__int64 *v26;
__int64 v27;
int *v28;
__int64 v29;
int *v30;
__int64 v31;
int *v32;
__int64 v33;
int *v34;
__int64 v35;
int *v36;
__int64 v37;
int *v38;
__int64 v39;
int *v40;
__int64 v41;
int *v42;
__int64 v43;
int *v44;
__int64 v45;
wchar_t *Buffer;
int v47[2];
int *v48;
__int64 v49;
int *v50;
__int64 v51;
__int64 *p_DestinationString;
__int64 v53;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
v3 = *a1 & 0xFFFFFFFFFFFFF000ui64;
DestinationString_8 = 0i64;
--*((_WORD *)CurrentThread + 242);
ExAcquireResourceSharedLite(&PsLoadedModuleResource, 1);
v4 = MiLookupDataTableEntry(v3, 0);
if( v4 )
{
v6 = *(_DWORD *)(v4 + 120);
p_DestinationString_8 = (struct _UNICODE_STRING *)(v4 + 88);
v8 = *(_DWORD *)(v4 + 156);
}
else
{
v6 = 0;
v8 = 0;
p_DestinationString_8 = &DestinationString_8;
RtlInitUnicodeString(&DestinationString_8, L"Image not found", v5);
}
if( **(_DWORD **)&qword_140C4EC20 > 5u && tlgKeywordOn(*(__int64 *)&qword_140C4EC20, 0x400000000000i64) )
{
v11 = *(_DWORD *)a1;
v26 = &v22;
v22 = 1i64;
v12 = (v11 >> 1) & 1;
v28 = (int *)&v12;
v27 = 8i64;
v13 = (v11 >> 2) & 1;
v30 = (int *)&v13;
v29 = 4i64;
v14 = (v11 >> 3) & 1;
v32 = (int *)&v14;
v31 = 4i64;
v15 = (v11 >> 4) & 1;
v34 = (int *)&v15;
v33 = 4i64;
v16 = (v11 >> 5) & 1;
v36 = (int *)&v16;
v35 = 4i64;
v17 = (unsigned __int8)v11 >> 6;
v38 = &v17;
v18 = (v11 >> 10) & 3;
v37 = 4i64;
v40 = (int *)&v18;
v42 = (int *)&v19;
v44 = v47;
Buffer = p_DestinationString_8->Buffer;
v47[0] = p_DestinationString_8->Length;
v48 = &v20;
v50 = &v21;
DestinationString = 2164260864i64;
p_DestinationString = &DestinationString;
v39 = 4i64;
v41 = 4i64;
v19 = (v11 >> 8) & 3;
v43 = 4i64;
v45 = 2i64;
v47[1] = 0;
v20 = v6;
v49 = 4i64;
v21 = v8;
v51 = 4i64;
v53 = 8i64;
tlgWriteAgg(v10, (unsigned __int8 *)&byte_1400259F0, v9, 0x10u, &v25);
}
ExReleaseResourceLite(&PsLoadedModuleResource);
KeLeaveCriticalRegionThread((__int64)CurrentThread);
}Referenced by:
MiLogPinDriverAddressesWorker