; Snippet from COMSVCS.DLL disassembly that seems to be comparing the requested property name ; to a list of static variables containing valid names. ; Are the variables initialized? 7576188C cmp dword ptr [CStdContextActivator::sm_fIntrinsicsInitialized (75811D0Ch)],ebx 75761892 jne CContext::GetProperty+49h (75761899h) 75761894 call CStdContextActivator::InitializeIntrinsicNamesAndGuids (75771BC2h) ; When they are, call FindUniqueName, which returns a raw pointer to one of the static BSTRs ; or a pointer to a copy of the passed in BSTR (which is at [ebp+0Ch]) 75761899 push dword ptr [ebp+0Ch] 7576189C call CAssociation::FindUniqueName (75794F29h) ; Put return value in esi 757618A1 mov esi,eax ; Compare esi to each and every one of the valid property name pointers 757618A3 cmp esi,dword ptr [CStdContextActivator::sm_bstrApplication (75811CA4h)] 757618A9 je CContext::GetProperty+83h (757618D3h) 757618AB cmp esi,dword ptr [CStdContextActivator::sm_bstrCedarSecurity (75811CC0h)] 757618B1 je CContext::GetProperty+83h (757618D3h) 757618B3 cmp esi,dword ptr [CStdContextActivator::sm_bstrRequest (75811CD4h)] 757618B9 je CContext::GetProperty+83h (757618D3h) 757618BB cmp esi,dword ptr [CStdContextActivator::sm_bstrResponse (75811CBCh)] 757618C1 je CContext::GetProperty+83h (757618D3h) 757618C3 cmp esi,dword ptr [CStdContextActivator::sm_bstrServer (75811CD8h)] 757618C9 je CContext::GetProperty+83h (757618D3h) 757618CB cmp esi,dword ptr [CStdContextActivator::sm_bstrSession (75811CB8h)] 757618D1 jne CContext::GetProperty+0B5h (75761905h) ; From here on, the actual property retrieval happens