void __fastcall EtwExitProcess(__int64 a1){
PADAPTER_OBJECT *v1;
struct _DMA_ADAPTER *v3;
void *v4;
v1 = *(PADAPTER_OBJECT **)(a1 + 1424);
if( v1 )
{
*(_QWORD *)(a1 + 1424) = 0i64;
if( *v1 )
HalPutDmaAdapter(*v1);
v3 = v1[1];
if( v3 )
HalPutDmaAdapter(v3);
ExFreePoolWithTag(v1, 0);
}
v4 = *(void **)(a1 + 2544);
if( v4 )
{
*(_QWORD *)(a1 + 2544) = 0i64;
EtwpCovSampProcessCleanup((INT64)v4, 1);
ExFreePoolWithTag(v4, 0x56777445u);
}
}