RtlpQueryTimeZoneInformationWorker

INT64 __fastcall RtlpQueryTimeZoneInformationWorker(
        _RTL_DYNAMIC_TIME_ZONE_INFORMATION *DynamicTimeZoneInformation,
        UINT64 TimeZoneInformationSize){
  unsigned int v2; 
  INT64 v4; 
  int v5; 
  unsigned int v6; 
  int v7; 
  HANDLE Handle; 
  int v9[2]; 
  wchar_t *StandardName; 
  int v11[2]; 
  wchar_t *DaylightName; 
  __int128 v13; 
  INT64 result; 
  int v15; 
  const WCHAR *v16; 
  _RTL_DYNAMIC_TIME_ZONE_INFORMATION *v17; 
  int v18; 
  int v19; 
  const WCHAR *v20; 
  int *v21; 
  int v22; 
  int v23; 
  const WCHAR *v24; 
  int *p_StandardBias; 
  int v26; 
  int v27; 
  const WCHAR *v28; 
  _TIME_FIELDS *p_StandardStart; 
  int v30; 
  int v31; 
  const WCHAR *v32; 
  int *v33; 
  int v34; 
  int v35; 
  const WCHAR *v36; 
  int *p_DaylightBias; 
  int v38; 
  int v39; 
  const WCHAR *v40; 
  _TIME_FIELDS *p_DaylightStart; 
  int v42; 
  INT64(__fastcall *v43)(WCHAR *, UINT64, VOID *, UINT64, VOID *, VOID *); 
  const WCHAR *v44; 
  __int128 *v45; 
  int v46; 
  int v47; 
  const WCHAR *v48; 
  int *v49; 
  int v50; 
  v2 = TimeZoneInformationSize;
  Handle = 0i64;
  v9[1] = 0;
  v11[1] = 0;
  v7 = 0;
  v13 = 0i64;
  LODWORD(v4) = RtlpGetTimeZoneInfoHandle(0, &Handle);
  if( (int)v4 >= 0 )
  {
    memset((INT64)DynamicTimeZoneInformation, 0i64);
    memset((INT64)&result, 0i64);
    v9[0] = 0x400000;
    v15 = 288;
    v16 = L"Bias";
    StandardName = DynamicTimeZoneInformation->tzi.StandardName;
    v20 = L"StandardName";
    v21 = v9;
    v17 = DynamicTimeZoneInformation;
    v24 = L"StandardBias";
    p_StandardBias = &DynamicTimeZoneInformation->tzi.StandardBias;
    v28 = L"StandardStart";
    p_StandardStart = &DynamicTimeZoneInformation->tzi.StandardStart;
    *(_DWORD *)&DynamicTimeZoneInformation->tzi.StandardStart.Year = -16;
    DaylightName = DynamicTimeZoneInformation->tzi.DaylightName;
    v32 = L"DaylightName";
    v33 = v11;
    v36 = L"DaylightBias";
    p_DaylightBias = &DynamicTimeZoneInformation->tzi.DaylightBias;
    v40 = L"DaylightStart";
    v11[0] = 0x400000;
    p_DaylightStart = &DynamicTimeZoneInformation->tzi.DaylightStart;
    *(_DWORD *)&DynamicTimeZoneInformation->tzi.DaylightStart.Year = -16;
    v18 = 0x4000000;
    v19 = 288;
    v22 = 0x1000000;
    v23 = 288;
    v26 = 0x4000000;
    v27 = 288;
    v30 = 50331648;
    v31 = 288;
    v34 = 0x1000000;
    v35 = 288;
    v38 = 0x4000000;
    v39 = 288;
    v42 = 50331648;
    if( v2 >= 0x1B0 )
    {
      LODWORD(v13) = 0x1000000;
      *((_QWORD *)&v13 + 1) = DynamicTimeZoneInformation->TimeZoneKeyName;
      v43 = RtlpQueryTimeZoneKeyNameRoutine;
      v44 = L"TimeZoneKeyName";
      v45 = &v13;
      v48 = L"DynamicDaylightTimeDisabled";
      v49 = &v7;
      v46 = 0;
      v47 = 288;
      v50 = 0x4000000;
    }
    LOBYTE(v5) = RtlpQueryRegistryValues((_KTRAP_FRAME *)0x40000000, (_KEXCEPTION_FRAME *)Handle);
    v6 = v5;
    if( v5 >= 0 && v2 >= 0x1B0 )
      DynamicTimeZoneInformation->DynamicDaylightTimeDisabled = v7 != 0;
    ZwClose(Handle);
    return v6;
  }
  return v4;
}

Referenced by:

EtwpAddLogHeader
RtlQueryDynamicTimeZoneInformation
RtlQueryTimeZoneInformation