PopBsdUpdateWorker
VOID __stdcall PopBsdUpdateWorker(){
int v0;
int v1;
int v2;
char v3;
INT64 v4[2];
__int128 v5;
INT64 v6[2];
__int128 v7;
INT64 v8[2];
__int128 v9;
__int128 v10;
*(_OWORD *)v8 = 0i64;
v9 = 0i64;
v10 = 0i64;
*(_OWORD *)v4 = 0i64;
v5 = 0i64;
*(_OWORD *)v6 = 0i64;
v7 = 0i64;
while( 1 )
{
PopAcquireRwLockExclusive((_POP_RW_LOCK *)((char *)&stru_140C23628 + 6312));
v3 = *(&stru_140C23628 + 6216);
if( !*(&stru_140C23628 + 1554) )
break;
v0 = *(&stru_140C23628 + 6216) & 1;
if( (*(&stru_140C23628 + 6216) & 1) != 0 )
{
*(_QWORD *)&xmmword_140C502D8 = *(_QWORD *)&KUSER_SHARED_DATA.SystemTime.LowPart;
*((_DWORD *)&xmmword_140C502D8 + 2) = RtlComputeCrc32(0i64, &xmmword_140C502D8, 8ui64);
*(_OWORD *)v4 = xmmword_140C502C8;
v5 = *(_OWORD *)&xmmword_140C502D8;
}
v1 = v3 & 2;
if( (v3 & 2) != 0 )
{
*(_OWORD *)v6 = xmmword_140C50488;
v7 = unk_140C50498;
}
v2 = v3 & 4;
if( v2 )
{
*(_OWORD *)v8 = xmmword_140C50298;
v9 = xmmword_140C502A8;
v10 = xmmword_140C502B8;
}
*(&stru_140C23628 + 1554) = 0;
PopReleaseRwLock((_POP_RW_LOCK *)((char *)&stru_140C23628 + 6312));
if( v0 )
PopWriteBsdPoInfo(7ui64, (INT64)v4);
if( v1 )
PopWriteBsdPoInfo(0x10ui64, (INT64)v6);
if( v2 )
PopWriteBsdPoInfo(0xEui64, (INT64)v8);
}
PopOkayToQueueNextWorkItem((_POP_WORK_ITEM *)((char *)&stru_140C23628 + 6488));
PopReleaseRwLock((_POP_RW_LOCK *)((char *)&stru_140C23628 + 6312));
}Referenced by:
No references.