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