Function at 0x481110
Capabilities:
Check if file exists
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x340
mov eax, dword [0x5c0c70]
xor eax, ebp
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x340], ecx
lea ecx, [ebp - 0x1c]
call fcn.00451e90
push 0
push ecx
mov ecx, esp
push str.SoftwareRuanMeiMagicTray
call fcn.0041c8a0
push SysReAllocString
lea ecx, [ebp - 0x1c]
call fcn.00451fe0
push ecx
mov ecx, esp
push 0x582b94
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.ConfigPath
call fcn.0041c8a0
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00452240
push str.TrayClock.xml
lea ecx, [ebp - 4]
push ecx
lea edx, [ebp - 0xa8]
push edx
call fcn.0041ca60
add esp, 0xc
mov ecx, eax
call fcn.0041cb20
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [ebp - 0xa4], eax
lea ecx, [ebp - 0xa8]
call fcn.0040f740
cmp dword [ebp - 0xa4], 0
je 0x481e31
lea ecx, [ebp - 0x90]
call fcn.00451e90
push 1
push ecx
mov ecx, esp
push 0x588ed8
call fcn.0041c8a0
push SysReAllocString
lea ecx, [ebp - 0x90]
call fcn.00451fe0
lea ecx, [ebp - 0x78]
call fcn.0040f2c0
push ecx
mov ecx, esp
push str.TrayClock
call fcn.0041c8a0
push ecx
mov eax, esp
push str.TrayClock.xml
lea ecx, [ebp - 4]
push ecx
push eax
call fcn.0041ca60
add esp, 0xc
lea ecx, [ebp - 0x78]
call fcn.00465f40
push ecx
mov ecx, esp
push str.FormatString
call fcn.0041c8a0
push ecx
mov ecx, esp
push 0x58b194
call fcn.0041c8a0
lea edx, [ebp - 0x94]
push edx
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push ecx
mov ecx, esp
lea eax, [ebp - 0x94]
push eax
call fcn.0041c880
push ecx
mov ecx, esp
push str.DateTimeLine
call fcn.0041c8a0
push ecx
mov ecx, esp
push 0x58b194
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push 0x58b194
call fcn.0041c8a0
lea ecx, [ebp - 0x90]
call fcn.004771c0
push ecx
mov ecx, esp
push str.FormatString2
call fcn.0041c8a0
push ecx
mov ecx, esp
push 0x58b194
call fcn.0041c8a0
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0xdc]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.DateTimeLine2
call fcn.0041c8a0
push ecx
mov ecx, esp
push 0x58b194
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
lea eax, [ebp - 0x94]
push eax
call fcn.0041c880
push ecx
mov ecx, esp
push 0x58ae20
call fcn.0041c8a0
lea ecx, [ebp - 0x90]
call fcn.004771c0
push ecx
mov ecx, esp
push str.FormatIndex
call fcn.0041c8a0
push ecx
mov ecx, esp
push 0x58b194
call fcn.0041c8a0
lea ecx, [ebp - 0xfc]
push ecx
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0xfc]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.DateTimeLineIndex
call fcn.0041c8a0
push ecx
mov ecx, esp
push 0x58b194
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.FormatIndex2
call fcn.0041c8a0
push ecx
mov ecx, esp
push 0x58b194
call fcn.0041c8a0
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x114]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.DateTimeLineIndex2
call fcn.0041c8a0
push ecx
mov ecx, esp
push 0x58b194
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.Show
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.ShowSwitch
call fcn.0041c8a0
lea eax, [ebp - 0x12c]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x12c]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.Switch
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.SwitchTime
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.TimeCount
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.SwitchTime
call fcn.0041c8a0
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x144]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.TimeCount
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.SwitchTime
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.TimeCount_Weather
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.SwitchTime
call fcn.0041c8a0
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x15c]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.TimeCount_Weather
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.SwitchTime
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push 0x587230
lea eax, [ebp - 0x94]
push eax
call fcn.0041cac0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4815bd
push ecx
mov ecx, esp
push 0x587238
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.Value
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.WeekFirstDay
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
jmp 0x4815ee
push ecx
mov ecx, esp
push 0x587230
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.Value
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.WeekFirstDay
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.Show
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.FlowShowTime
call fcn.0041c8a0
lea edx, [ebp - 0x18c]
push edx
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x18c]
call fcn.0040f740
push ecx
mov ecx, esp
lea eax, [ebp - 0x94]
push eax
call fcn.0041c880
push ecx
mov ecx, esp
push str.Show
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.FlowShowTime
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.Time
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.FlowShowTime
call fcn.0041c8a0
lea ecx, [ebp - 0x1a4]
push ecx
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x1a4]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.Time
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.FlowShowTime
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.Order
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.SwitchOrder
call fcn.0041c8a0
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x1bc]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.Order
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.SwitchOrder
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push 0x58b558
call fcn.0041c8a0
push ecx
mov ecx, esp
push 0x58b26c
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.Sound_TimeInterval
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push 0x587208
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.Upper
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.Sound_TimeInterval
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.CityCode
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.UserSetLocation
call fcn.0041c8a0
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x1ec]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.CityCode
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.UserSetLocation
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.Province
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.UserSetLocation
call fcn.0041c8a0
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x204]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.Province
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.UserSetLocation
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.City
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.UserSetLocation
call fcn.0041c8a0
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x21c]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.City
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.UserSetLocation
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.Region
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.UserSetLocation
call fcn.0041c8a0
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x234]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.Region
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.UserSetLocation
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.Space
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.RefreshWeather
call fcn.0041c8a0
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x24c]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.Space
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.RefreshWeather
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.TryTime
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.RefreshWeather
call fcn.0041c8a0
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x264]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.TryCount
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.RefreshWeather
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.Play
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.RefreshWeather
call fcn.0041c8a0
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x27c]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.PlayWeatherSound
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.RefreshWeather
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.WhenRefresh
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.RefreshWeather
call fcn.0041c8a0
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x294]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.WhenRefresh
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.RefreshWeather
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.PlaySpace
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.RefreshWeather
call fcn.0041c8a0
lea eax, [ebp - 0x2ac]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x2ac]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.PlayTimeSpace
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.RefreshWeather
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.NoPlaySoundWhenFullScreen
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.OpenPlaySound
call fcn.0041c8a0
lea eax, [ebp - 0x2c4]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x2c4]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.PlayWhenFull
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.Timekeeping
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.RemindTime
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.WeatherRemind
call fcn.0041c8a0
lea eax, [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x2dc]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.RemindTime
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.WeatherRemind
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.SunriseTime
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.SunSetTimeTomorrow
call fcn.0041c8a0
lea eax, [ebp - 0x2f4]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x2f4]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.SunriseTime
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.SunriseSunset
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.SunsetTime
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.SunSetTimeTomorrow
call fcn.0041c8a0
lea eax, [ebp - 0x30c]
push eax
lea ecx, [ebp - 0x78]
call fcn.0046a9d0
push eax
lea ecx, [ebp - 0x94]
call fcn.0041c8e0
lea ecx, [ebp - 0x30c]
call fcn.0040f740
push ecx
mov ecx, esp
lea edx, [ebp - 0x94]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
push str.SunsetTime
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.SunriseSunset
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push 0x583d28
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.Name
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.SoundPack
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push 0x583d10
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.Name
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.WeatherIconPack
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
push ecx
mov ecx, esp
push str.true
call fcn.0041c8a0
push ecx
mov ecx, esp
push str.Changed
call fcn.0041c8a0
push ecx
mov ecx, esp
push 0x58a6f0
call fcn.0041c8a0
mov ecx, 0x5c2870
call fcn.00480e10
lea ecx, [ebp - 0x94]
call fcn.0040f740
lea ecx, [ebp - 0x78]
call fcn.0040fc90
lea ecx, [ebp - 0x90]
call fcn.00451f50
lea ecx, [ebp - 4]
call fcn.0040f740
lea ecx, [ebp - 0x1c]
call fcn.00451f50
mov ecx, dword [ebp - 0x20]
xor ecx, ebp
call fcn.0053ea90
mov esp, ebp
pop ebp
ret