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