size is 0xB8 for 32 bit and 0x130 for 64 bit
struct _TlgProvider_t
{
UINT32 LevelPlus1;
UINT16 const UNALIGNED* ProviderMetadataPtr; // Points to the RemainingSize member of provider metadata.
ULONGLONG KeywordAny;
ULONGLONG KeywordAll;
REGHANDLE RegHandle;
TLG_PENABLECALLBACK EnableCallback;
PVOID CallbackContext;
};struct _TlgProviderMetadata_t
{
UINT8 Type; // = _TlgBlobProvider3
GUID ProviderId;
#define _TLG_PROVIDER_METADATA_PREAMBLE 16 // = sizeof(ProviderId)
UINT16 RemainingSize; // = sizeof(RemainingSize + ProviderName)
/*
char ProviderName[sizeof("providerName")]; // UTF-8 nul-terminated provider name
for each additional chunk of metadata {
UINT16 ChunkSize;
UINT8 ChunkType;
UINT8 ChunkData[ChunkSize - 3];
}
*/
};.text:00000001401AF700 6A 01 00 90 ADRP X10, #aSystemrootSy_0@PAGE ; "\\SystemRoot\\System32\\Drivers\\crashd"...
.text:00000001401AF704 48 C1 09 91 ADD X8, X10, #aSystemrootSy_0@PAGEOFF ; "\\SystemRoot\\System32\\Drivers\\crashd"...
armpatched.exe 6A010090
Disassembled: adrp x10, 2c000 This instruction is AD_INSTR_ADRP and is part of group AD_G_DataProcessingImmediate
This instruction has 4 decode fields (from left to right):
0x1, 0, 0xb, 0xa
This instruction has 2 operands (from left to right):
This operand is of type AD_OP_REG
Register: x10 size 40
This operand is of type AD_OP_IMM
Immediate type: AD_IMM_ULONG
Value: 0x2c000armpatched.exe 48C10991
Disassembled: add x8, x10, #0x270 This instruction is AD_INSTR_ADD and is part of group AD_G_DataProcessingImmediate
This instruction has 7 decode fields (from left to right):
0x1, 0, 0, 0, 0x270, 0xa, 0x8
This instruction has 3 operands (from left to right):
This operand is of type AD_OP_REG
Register: x8 size 40
This operand is of type AD_OP_REG
Register: x10 size 40
This operand is of type AD_OP_IMM
Immediate type: AD_IMM_ULONG
Value: 0x270