EmpCacheBiosDate
CHAR __fastcall EmpCacheBiosDate(PVOID *a1, PVOID *a2){
CHAR v2;
_WORD *v3;
_WORD *v4;
unsigned int v5;
HANDLE v6;
char Str[2];
char v9;
char v10;
HANDLE Handle;
PVOID BaseAddress;
KAPC_STATE ApcState;
memset(&ApcState, 0, sizeof(ApcState));
v2 = 0;
BaseAddress = 0i64;
Handle = 0i64;
LODWORD(EmpCachedBiosDate) = 0;
v9 = 0;
if( dword_140C19650 == 1 )
{
LODWORD(v3) = EmpMapPhysicalAddress(a1, a2, (KAPC_STATE *)&Handle);
v4 = v3;
if( v3 )
{
*(_WORD *)Str = v3[3];
v5 = strtoul(Str, 0i64, 16i64);
LODWORD(EmpCachedBiosDate) = (v5 < 0x80 ? 0x20000000 : 419430400) + (v5 << 16);
*(_WORD *)Str = *v4;
LODWORD(EmpCachedBiosDate) = ((unsigned int)strtoul(Str, 0i64, 16i64) << 8) | EmpCachedBiosDate;
*(_WORD *)Str = *(_WORD *)((char *)v4 + 3);
LODWORD(EmpCachedBiosDate) = strtoul(Str, 0i64, 16i64) | EmpCachedBiosDate;
v2 = 1;
v10 = 1;
v6 = Handle;
ZwUnmapViewOfSection((HANDLE)0xFFFFFFFFFFFFFFFFi64, BaseAddress);
KiUnstackDetachProcess(&ApcState, 0i64);
ZwClose(v6);
}
}
return v2;
}Referenced by:
EmInitSystem