Function at 0x550370
Capabilities:
Set environment variable

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff8
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0x1d8]
lea edi, [ebp - 0x1f0]
push ebx
mov ebx, dword fs:[0x18]
sub esp, 0x23c
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_GetSystemTime]
mov eax, esi
sub esp, 4
call fcn.0054e0d0
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [ebp - 0x200], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_SystemTimeToFileTime]
sub esp, 8
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0xfc
mov eax, dword [ebx + 0x34]
mov dword [esp], esi
lea esi, [ebp - 0x1f8]
mov dword [esp + 8], eax
mov dword [esp + 4], str.SystemTimeToFileTime_error__lu_n
call fcn.0054db10
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_FileTimeToLocalFileTime]
sub esp, 8
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0xff
mov eax, dword [ebx + 0x34]
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], str.FileTimeToLocalFileTime_error__lu_n
call fcn.0054db10
lea eax, [ebp - 0x1b8]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_FileTimeToSystemTime]
sub esp, 8
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x102
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.FileTimeToSystemTime_error__lu_n
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.0054db10
lea eax, [ebp - 0x1b8]
call fcn.0054e0d0
mov dword [ebp - 0x208], eax
lea eax, [ebp - 0x168]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_GetTimeZoneInformation]
mov dword [ebp - 0x20c], eax
call eax
sub esp, 4
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x106
xor eax, eax
cmp edi, 0xffffffff
setne al
mov dword [esp + 4], str.GetTimeZoneInformation_failed_n
mov dword [esp], eax
call fcn.0054db10
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x108
mov eax, str.TIME_ZONE_ID_DAYLIGHT
cmp edi, 2
je 0x550510
mov eax, str.TIME_ZONE_ID_STANDARD
cmp edi, 1
je 0x550510
test edi, edi
mov eax, str.TIME_ZONE_ID_UNKNOWN
mov edx, str.TIME_ZONE_ID_INVALID
cmovne eax, edx
mov dword [esp + 8], eax
lea ebx, [ebp - 0x1a8]
lea esi, [ebp - 0x188]
mov dword [esp + 4], edi
mov dword [esp], str.tz_id__lu___s__n
call fcn.0054d3d0
mov edx, dword [sym.imp.kernel32.dll_WideCharToMultiByte]
lea eax, [ebp - 0x164]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x20
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [ebp - 0x218], edx
call edx
lea eax, [ebp - 0x110]
sub esp, 0x20
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x20
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
mov edx, dword [ebp - 0x218]
call edx
sub esp, 0x20
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x110
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x168]
mov dword [esp], str.bias__ld___s____s_n
mov dword [esp + 4], eax
call fcn.0054d3d0
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x111
mov eax, dword [ebp - 0x114]
mov dword [esp + 0x24], eax
movzx eax, word [ebp - 0x116]
mov dword [esp + 0x20], eax
movzx eax, word [ebp - 0x118]
mov dword [esp + 0x1c], eax
movzx eax, word [ebp - 0x11a]
mov dword [esp + 0x18], eax
movzx eax, word [ebp - 0x11c]
mov dword [esp + 0x14], eax
movzx eax, word [ebp - 0x120]
mov dword [esp + 0x10], eax
movzx eax, word [ebp - 0x124]
mov dword [esp + 0xc], eax
movzx eax, word [ebp - 0x122]
mov dword [esp + 8], eax
movzx eax, word [ebp - 0x11e]
mov dword [esp], str.standard__d_m_y_:__u__02u__04u_day_of_week__u__u:_02u:_02u._03u_bias__ld_n
mov dword [esp + 4], eax
call fcn.0054d3d0
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x117
mov eax, dword [ebp - 0xc0]
mov dword [esp + 0x24], eax
movzx eax, word [ebp - 0xc2]
mov dword [esp + 0x20], eax
movzx eax, word [ebp - 0xc4]
mov dword [esp + 0x1c], eax
movzx eax, word [ebp - 0xc6]
mov dword [esp + 0x18], eax
movzx eax, word [ebp - 0xc8]
mov dword [esp + 0x14], eax
movzx eax, word [ebp - 0xcc]
mov dword [esp + 0x10], eax
movzx eax, word [ebp - 0xd0]
mov dword [esp + 0xc], eax
movzx eax, word [ebp - 0xce]
mov dword [esp + 8], eax
movzx eax, word [ebp - 0xca]
mov dword [esp], str.daylight__d_m_y_:__u__02u__04u_day_of_week__u__u:_02u:_02u._03u_bias__ld_n
mov dword [esp + 4], eax
call fcn.0054d3d0
mov ecx, dword [ebp - 0x200]
mov eax, dword [ebp - 0x208]
sub ecx, eax
mov dword [ebp - 0x200], ecx
call fcn.0057d110
mov edx, edi
mov dword [eax], 0x5fa9b4
mov esi, dword [ebp - 0x168]
mov dword [eax + 4], 0x11f
lea eax, [ebp - 0x168]
call fcn.0054d4a0
mov edx, edi
mov ebx, dword [ebp - 0x168]
add esi, eax
lea eax, [ebp - 0x168]
call fcn.0054d4a0
mov dword [esp + 0xc], esi
mov ecx, dword [ebp - 0x200]
add ebx, eax
xor eax, eax
mov dword [esp + 4], str.system_local_diff__ld___tz_bias__ld_n
cmp ebx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.0054db10
call fcn.0057d110
mov esi, dword [sym.imp.kernel32.dll_SetEnvironmentVariableA]
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x123
mov dword [esp + 4], str.GMT0
mov dword [esp], 0x5fb10b
call esi
sub esp, 8
test eax, eax
setne al
mov dword [esp + 4], str.SetEnvironmentVariableA_failed_n
movzx eax, al
mov dword [esp], eax
call fcn.0054db10
lea eax, [ebp - 0xbc]
mov dword [esp], eax
mov eax, dword [ebp - 0x20c]
call eax
sub esp, 4
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x126
xor eax, eax
cmp ebx, 0xffffffff
setne al
mov dword [esp + 4], str.GetTimeZoneInformation_failed_n
mov dword [esp], eax
call fcn.0054db10
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov ecx, dword [ebp - 0xbc]
mov dword [eax + 4], 0x128
xor eax, eax
cmp dword [ebp - 0x168], ecx
je 0x550cc0
mov dword [esp], eax
mov dword [esp + 4], str.Bias_influenced_by_TZ_variable_n
call fcn.0054db10
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x12c
mov dword [esp + 4], 0
mov dword [esp], 0x5fb10b
call esi
sub esp, 8
test eax, eax
setne al
mov dword [esp + 4], str.SetEnvironmentVariableA_failed_n
movzx eax, al
mov dword [esp], eax
call fcn.0054db10
mov eax, dword [0x8a049c]
test eax, eax
je 0x550d10
mov edx, edi
lea eax, [ebp - 0x168]
lea ebx, [ebp - 0x1c8]
call fcn.0054d4a0
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x1d8]
mov esi, dword fs:[0x18]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1d4]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x1dc], eax
lea eax, [ebp - 0x1e8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x168]
mov dword [esp + 8], ebx
mov dword [esp], eax
call dword [0x8a049c]
sub esp, 0xc
mov edx, eax
test eax, eax
jne 0x5508f7
cmp dword [esi + 0x34], 0x78
je 0x550ce8
mov dword [ebp - 0x200], edx
call fcn.0057d110
mov esi, dword fs:[0x18]
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x140
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.SystemTimeToTzSpecificLocalTime_error__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x200]
mov dword [esp], edx
call fcn.0054db10
mov eax, ebx
call fcn.0054e0d0
lea ecx, [ebp - 0x168]
sub dword [ebp - 0x114], 0x7b
mov dword [ebp - 0x1fc], edx
lea edx, [ebp - 0x1b8]
add dword [ebp - 0xc0], 0x1c8
mov dword [ebp - 0x200], eax
mov dword [esp + 8], edx
lea edx, [ebp - 0x1e8]
mov dword [esp], ecx
mov dword [esp + 4], edx
call dword [0x8a049c]
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x147
mov eax, dword [esi + 0x34]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str.SystemTimeToTzSpecificLocalTime_error__lu_n
call fcn.0054db10
lea eax, [ebp - 0x1b8]
call fcn.0054e0d0
mov dword [ebp - 0x214], edx
mov dword [ebp - 0x218], eax
call fcn.0057d110
lea ecx, [ebp - 0x168]
mov edx, edi
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x149
mov eax, ecx
call fcn.0054d4a0
mov ebx, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x200]
mov edx, dword [ebp - 0x214]
sub ebx, eax
mov eax, dword [ebp - 0x218]
sub eax, dword [ebp - 0x200]
mov dword [ebp - 0x20c], ecx
sbb edx, dword [ebp - 0x1fc]
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x168]
mov dword [ebp - 0x21c], edx
mov edx, edi
call fcn.0054d4a0
mov dword [esp + 0xc], ebx
mov ecx, dword [ebp - 0x20c]
mov edx, eax
mov eax, dword [ebp - 0x218]
mov dword [esp + 4], str.got__ld__expected__ld_n
sub eax, ecx
mov dword [esp + 8], eax
mov edi, dword [ebp - 0x208]
mov eax, edi
sub eax, edx
cdq
xor eax, dword [ebp - 0x220]
xor edx, dword [ebp - 0x21c]
or eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0054db10
xor eax, eax
xor edx, edx
mov dword [ebp - 0xd0], 0
mov word [ebp - 0xca], ax
lea eax, [ebp - 0x1b8]
mov word [ebp - 0x11e], dx
mov dword [ebp - 0x124], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x1e8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x168]
mov dword [esp], eax
call dword [0x8a049c]
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x155
mov eax, dword [esi + 0x34]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str.SystemTimeToTzSpecificLocalTime_error__lu_n
call fcn.0054db10
lea eax, [ebp - 0x1b8]
call fcn.0054e0d0
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x208], eax
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x157
mov dword [esp + 0xc], edi
mov ecx, dword [ebp - 0x208]
mov ebx, dword [ebp - 0x204]
mov edx, dword [ebp - 0x20c]
mov dword [esp + 4], str.got__ld__expected__ld_n
mov eax, ecx
sub eax, edx
mov edx, ebx
mov ebx, edi
mov dword [esp + 8], eax
mov eax, ecx
sub eax, dword [ebp - 0x200]
sbb edx, dword [ebp - 0x1fc]
sar ebx, 0x1f
xor eax, edi
lea edi, [ebp - 0x168]
xor edx, ebx
mov ebx, 4
or eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0054db10
xor eax, eax
mov ecx, 0x2a
mov dword [ebp - 0xc0], 0xffffffc4
rep stosd dword es:[edi], eax
mov ecx, 0xa
mov edi, 0x1f
lea eax, [ebp - 0x1b8]
mov word [ebp - 0x122], cx
mov word [ebp - 0xce], bx
mov word [ebp - 0x1e2], di
mov dword [ebp - 0x11e], 0x20005
mov dword [ebp - 0xca], 0x20001
mov dword [ebp - 0x1e8], 0xc07dc
mov dword [ebp - 0x1e0], 0x10017
mov dword [esp + 8], eax
lea eax, [ebp - 0x1e8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x168]
mov dword [esp], eax
call dword [0x8a049c]
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x16c
mov eax, dword [esi + 0x34]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str.SystemTimeToTzSpecificLocalTime_error__lu_n
call fcn.0054db10
call fcn.0057d110
mov dword [eax], 0x5fa9b4
movzx esi, word [ebp - 0x1b8]
mov dword [eax + 4], 0x16d
movzx ecx, word [ebp - 0x1b0]
movzx edi, word [ebp - 0x1ae]
movzx ebx, word [ebp - 0x1b2]
movzx eax, word [ebp - 0x1b6]
mov dword [esp + 4], str.got___d__d__d__02d:_02d___expected__2012_12_31_23:01__n
mov edx, edi
mov dword [esp + 0x18], edi
movzx edi, cx
mov dword [esp + 0x14], edi
movzx edi, bx
cmp ax, 0xc
mov dword [esp + 0x10], edi
movzx edi, ax
sete al
cmp si, 0x7dc
mov dword [esp + 0xc], edi
movzx edi, si
mov dword [esp + 8], edi
mov edi, eax
sete al
mov esi, eax
mov eax, edi
and eax, esi
cmp bx, 0x1f
sete bl
and eax, ebx
cmp cx, 0x17
sete cl
and eax, ecx
cmp dx, 1
sete dl
movzx edx, dl
and eax, edx
mov dword [esp], eax
call fcn.0054db10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
mov edx, dword [ebp - 0x68]
cmp dword [ebp - 0x114], edx
jne 0x550815
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc0], eax
sete al
movzx eax, al
jmp 0x550815
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x13c
mov dword [esp], str.SystemTimeToTzSpecificLocalTime_is_not_implemented_n
call fcn.0054d9d0
jmp 0x550cad
call fcn.0057d110
mov dword [eax], 0x5fa9b4
mov dword [eax + 4], 0x131
mov dword [esp], str.SystemTimeToTzSpecificLocalTime_not_available_n
call fcn.0054d9d0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret