PopDripsWatchdogInvokeDeviceCallbacks
VOID **__fastcall PopDripsWatchdogInvokeDeviceCallbacks(INT64 a1, UINT64 a2){
VOID **result;
__int64 v3;
unsigned int i;
VOID *v6;
INT64 v7;
INT64 v8;
INT64 j;
void *retaddr;
result = &retaddr;
v3 = 0i64;
for( i = a2; (unsigned int)v3 < *(_DWORD *)(a1 + 904); v3 = (unsigned int)(v3 + 1) )
{
result = *(VOID ***)(a1 + 896);
v6 = result[v3];
v7 = (INT64)v6;
if( v6 )
{
do
{
if( *(_QWORD *)(v7 + 80) )
result = (VOID **)PopFxInvokeDripsWatchdogCallback(v7, (INT64)v6, i);
v7 = *(_QWORD *)(v7 + 16);
}
while( v7 );
}
}
v8 = *(_QWORD *)(a1 + 48);
for( j = v8; j; j = *(_QWORD *)(j + 16) )
{
if( *(_QWORD *)(j + 80) )
result = (VOID **)PopFxInvokeDripsWatchdogCallback(j, v8, i);
}
return result;
}Referenced by:
PopDripsWatchdogCallbackHandler