CcAsyncReadWorkerThread
CHAR __fastcall CcAsyncReadWorkerThread(INT64 *a1){
void **v1;
__int64 v2;
_QWORD *v4;
INT64 v5;
__int64 v6;
INT64 **v7;
void *retaddr;
v1 = &retaddr;
v2 = *((unsigned int *)a1 + 9);
v4 = (_QWORD *)a1[7];
v5 = v4[105] + 16 * v2;
if( *((_DWORD *)a1 + 8) == 3 )
{
v6 = v4[111] + 404 * v2;
*(_DWORD *)(v6 + 4i64 * *((unsigned int *)a1 + 10)) = 0;
CcAsyncReadWorker(a1);
*(_DWORD *)(v6 + 4i64 * *((unsigned int *)a1 + 10)) = -1;
ExAcquirePushLockExclusiveEx((UINT64)(v4 + 112), 0i64);
v7 = *(INT64 ***)(v5 + 8);
if( *v7 != (INT64 *)v5 )
__fastfail(3u);
*a1 = v5;
a1[1] = (INT64)v7;
*v7 = a1;
*(_QWORD *)(v5 + 8) = a1;
--*(_DWORD *)(v4[106] + 4 * v2);
ExReleasePushLockEx((UINT64)(v4 + 112), 0i64);
LOBYTE(v1) = CcDereferencePartition((INT64)v4);
}
return(char)v1;
}Referenced by:
No references.