Function at 0x449190
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x1c4]
push ebx
sub esp, 0x21c
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetTimeZoneInformation]
sub esp, 4
mov ebx, eax
lea eax, [ebp - 0x1c8]
call fcn.004490d0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1dc], eax
mov edi, eax
test al, 3
jne 0x4491f7
mov dword [ebp - 0x1f8], 1
mov ecx, 0x51eb851f
imul ecx
mov eax, edi
sar eax, 0x1f
sar edx, 5
sub edx, eax
imul edx, edx, 0x64
cmp edi, edx
je 0x4495c0
imul eax, dword [ebp - 0x1c4], 0x3c
mov edx, dword [ebp - 0x1c8]
mov dword [esp + 4], 0x14e
mov dword [esp], str..._wine_dlls_msvcrt_tests_time.c
lea eax, [edx + eax + 0x15180]
mov dword [ebp - 0x1cc], eax
call fcn.0044c860
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 4], str.GetTimeZoneInformation_failed_n
setne al
mov dword [esp], eax
call fcn.0044cad0
lea eax, [ebp - 0x1cc]
mov edi, dword [sym.imp.msvcrt.dll_localtime]
mov dword [esp], eax
call edi
mov edx, dword [eax + 0x20]
test edx, edx
je 0x4495f0
imul eax, dword [ebp - 0x11c], 0x3c
add dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x1cc]
mov dword [esp], eax
call edi
mov dword [esp + 4], 0x152
mov dword [esp], str..._wine_dlls_msvcrt_tests_time.c
mov ebx, eax
call fcn.0044c860
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx]
mov ecx, dword [ebx + 8]
mov esi, dword [ebx + 0x1c]
mov dword [ebp - 0x1e8], edx
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x1f0], edx
mov edx, dword [ebx + 0x20]
mov dword [ebp - 0x1e4], ecx
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x1ec], eax
mov dword [esp + 0x28], edx
mov edx, dword [ebp - 0x1e0]
mov dword [esp + 0x20], eax
mov eax, dword [ebp - 0x1e4]
mov dword [esp + 0x24], edx
mov edx, dword [ebp - 0x1f0]
mov dword [esp + 0x1c], eax
mov ebx, dword [ebx + 0x18]
cmp edx, dword [ebp - 0x1dc]
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], ebx
mov ebx, dword [ebp - 0x1e8]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], ebx
sete bl
cmp esi, 1
sete al
mov dword [esp + 8], edx
mov esi, eax
mov dword [esp + 4], str.Wrong_date:Year__d_mon__d_yday__d_mday__d_wday__d_hour__d_min__d_sec__d_dst__d_n
mov eax, dword [ebp - 0x1e0]
and ebx, esi
cmp ecx, 2
sete cl
or eax, dword [ebp - 0x1ec]
or eax, dword [ebp - 0x1e4]
and ebx, ecx
xor ecx, ecx
or eax, dword [ebp - 0x1e8]
sete cl
and ebx, ecx
mov dword [esp], ebx
call fcn.0044cad0
mov dword [esp], 0x469ef0
mov ebx, dword [sym.imp.msvcrt.dll_getenv]
call ebx
mov edx, 0x469e7c
test eax, eax
je 0x449368
mov dword [esp], 0x469ef0
call ebx
mov edx, eax
lea eax, [ebp - 0x118]
mov dword [esp + 0xc], edx
lea esi, [ebp - 0x1cc]
mov dword [esp + 8], str.TZ_s
mov dword [esp + 4], 0xff
mov dword [esp], eax
call fcn.00449160
mov eax, dword [sym.imp.msvcrt.dll__putenv]
mov dword [esp], str.TZGMT
mov dword [ebp - 0x1f4], eax
call eax
mov dword [esp], esi
call edi
mov dword [esp + 4], 0x15c
mov dword [esp], str..._wine_dlls_msvcrt_tests_time.c
mov ebx, eax
call fcn.0044c860
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
mov esi, dword [ebx + 0x1c]
mov eax, ecx
mov dword [ebp - 0x1ec], edx
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0x20]
mov dword [ebp - 0x1f0], esi
mov esi, dword [ebx + 0x10]
mov dword [ebp - 0x1e0], ecx
mov dword [ebp - 0x1e8], eax
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x1e4], esi
mov esi, dword [ebx + 0x14]
mov dword [esp + 0x28], edx
mov edx, dword [ebp - 0x1ec]
mov dword [esp + 0x24], eax
mov eax, dword [ebp - 0x1e0]
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
mov ebx, dword [ebx + 0x18]
mov eax, dword [ebp - 0x1e4]
mov dword [esp + 8], esi
mov dword [esp + 0x18], ebx
mov ebx, dword [ebp - 0x1f0]
mov dword [esp + 0xc], eax
cmp ebx, 1
mov dword [esp + 0x10], ebx
sete bl
cmp esi, dword [ebp - 0x1dc]
mov dword [esp + 0x14], ecx
sete al
mov dword [esp + 4], str.Wrong_date:Year__d_mon__d_yday__d_mday__d_wday__d_hour__d_min__d_sec__d_dst__d_n
mov esi, eax
and ebx, esi
cmp ecx, 2
sete cl
or edx, dword [ebp - 0x1e8]
or edx, dword [ebp - 0x1e0]
and ebx, ecx
xor ecx, ecx
or edx, dword [ebp - 0x1e4]
sete cl
and ebx, ecx
mov dword [esp], ebx
call fcn.0044cad0
lea ecx, [ebp - 0x118]
mov eax, dword [ebp - 0x1f4]
mov dword [esp], ecx
call eax
imul eax, dword [ebp - 0x1c4], 0x3c
mov edx, dword [ebp - 0x1c8]
lea eax, [edx + eax + 0x10a4f00]
mov dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x1cc]
mov dword [esp], eax
call edi
mov eax, dword [eax + 0x20]
test eax, eax
je 0x449600
imul eax, dword [ebp - 0x11c], 0x3c
add dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x1cc]
mov dword [esp], eax
call edi
mov dword [esp + 4], 0x169
mov dword [esp], str..._wine_dlls_msvcrt_tests_time.c
mov esi, eax
call fcn.0044c860
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0xc]
mov dword [ebp - 0x1f0], eax
mov eax, dword [esi]
cmp edx, 6
sete bl
mov dword [ebp - 0x1e4], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1e8], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x1ec], eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x1f4], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x1e0], eax
mov eax, dword [esi + 0x14]
mov esi, ebx
cmp eax, dword [ebp - 0x1dc]
mov ecx, esi
sete byte [ebp - 0x1dc]
movzx ebx, byte [ebp - 0x1dc]
test bl, cl
je 0x449558
cmp dword [ebp - 0x1e0], 0xca
je 0x449610
xor esi, esi
mov ecx, dword [ebp - 0x1f0]
mov dword [esp + 0x14], edi
mov edi, dword [ebp - 0x1e0]
mov dword [esp], esi
mov dword [esp + 0x28], ecx
mov ecx, dword [ebp - 0x1e4]
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp - 0x1e8]
mov dword [esp + 0xc], edx
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp - 0x1ec]
mov dword [esp + 8], eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebp - 0x1f4]
mov dword [esp + 4], str.Wrong_date:Year__d_mon__d_yday__d_mday__d_wday__d_hour__d_min__d_sec__d_dst__d_n
mov dword [esp + 0x18], ecx
call fcn.0044cad0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea esi, [edi + 0x12c]
mov eax, esi
imul ecx
mov eax, esi
sar eax, 0x1f
mov ecx, edx
sar ecx, 7
sub ecx, eax
xor eax, eax
imul ecx, ecx, 0x190
cmp esi, ecx
sete al
mov dword [ebp - 0x1f8], eax
jmp 0x4491f7
imul eax, dword [ebp - 0x170], 0x3c
jmp 0x449260
imul eax, dword [ebp - 0x170], 0x3c
jmp 0x4494c1
mov esi, dword [ebp - 0x1e4]
or esi, dword [ebp - 0x1e8]
or esi, dword [ebp - 0x1ec]
mov esi, 0x16
sete byte [ebp - 0x1dc]
sub esi, dword [ebp - 0x1f8]
xor ebx, ebx
movzx ecx, byte [ebp - 0x1dc]
cmp esi, edi
sete bl
mov esi, ebx
and esi, ecx
jmp 0x44955a