MiConstructNonRetpolineImageLoadRecord

char *__fastcall MiConstructNonRetpolineImageLoadRecord(__int64 a1){
  const _UNICODE_STRING *v1; 
  char *result; 
  char *v4; 
  unsigned __int16 Length; 

  v1 = (const _UNICODE_STRING *)(a1 + 88);
  result = (char *)MiAllocatePool(256i64, *(unsigned __int16 *)(a1 + 88) + 40i64, 0x524E6D4Dui64);
  v4 = result;
  if( result )
  {
    Length = v1->Length;
    *((_OWORD *)v4 + 1) = 0i64;
    *((_WORD *)v4 + 9) = Length;
    *((_QWORD *)v4 + 3) = v4 + 40;
    RtlUnicodeStringCopy((_UNICODE_STRING *)v4 + 1, v1);
    *((_DWORD *)v4 + 8) = *(_DWORD *)(a1 + 120);
    *((_DWORD *)v4 + 9) = *(_DWORD *)(a1 + 156);
    return v4;
  }
  return result;
}

Referenced by:

No references.