Function at 0x4c9a50
Capabilities:
Create thread
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
mov dword [ebp - 0x8c], ecx
cmp dword [ebp - 0x8c], 0
je 0x4c9a7b
mov eax, dword [ebp - 0x8c]
sub eax, 0x3e0
mov dword [ebp - 0x90], eax
jmp 0x4c9a85
mov dword [ebp - 0x90], 0
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x16c]
call edx
push eax
lea ecx, [ebp - 0xc]
call fcn.0041c880
lea ecx, [ebp - 0x1c]
call fcn.004b2990
push ecx
mov ecx, esp
push 0x594594
call fcn.0041c8a0
push ecx
mov ecx, esp
lea eax, [ebp - 0xc]
push eax
call fcn.0041c880
lea ecx, [ebp - 0x50]
push ecx
call fcn.0044cb70
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
call fcn.004b2a60
lea ecx, [ebp - 0x50]
call fcn.004ea9f0
push 3
lea ecx, [ebp - 0x1c]
call fcn.004b2c50
push eax
mov edx, dword [ebp - 0x8c]
add edx, 0x6c
push edx
call fcn.004a6090
add esp, 8
movzx eax, al
test eax, eax
je 0x4c9b1e
lea ecx, [ebp - 0x1c]
call fcn.004ea9f0
lea ecx, [ebp - 0xc]
call fcn.0040f740
jmp 0x4c9fcd
push 1
push ecx
mov ecx, esp
push 0x582b94
call fcn.0041c8a0
push ecx
mov ecx, esp
push 0x59457c
call fcn.0041c8a0
mov ecx, 0x5c2f20
call fcn.0044e4b0
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 0xc], 0xfffffc18
mov edx, dword [ebp - 0x8c]
mov dword [edx + 8], 0xfffffc18
push 0x582b94
mov ecx, dword [ebp - 0x8c]
add ecx, 0x14
call fcn.0041cec0
push 0x582b94
mov ecx, dword [ebp - 0x8c]
add ecx, 0x10
call fcn.0041cec0
push 1
lea ecx, [ebp - 0x1c]
call fcn.004b2c50
push eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x64
call fcn.0041c8e0
push eax
mov ecx, 0x5c2790
call fcn.0041c8e0
push 2
lea ecx, [ebp - 0x1c]
call fcn.004b2c50
push eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x68
call fcn.0041c8e0
push eax
mov ecx, 0x5c2794
call fcn.0041c8e0
push 3
lea ecx, [ebp - 0x1c]
call fcn.004b2c50
push eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x6c
call fcn.0041c8e0
push eax
mov ecx, 0x5c2798
call fcn.0041c8e0
push 0
lea ecx, [ebp - 0x1c]
call fcn.004b2c50
push eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x1c
call fcn.0041c8e0
push 0
push 0
push 0x542
mov eax, dword [0x5c271c]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [ebp - 8]
push ecx
push 0
push 0x4ca980
call fcn.00547a7d
add esp, 0xc
mov edx, dword [ebp - 8]
push edx
push 0
push 0x4b9300
call fcn.00547a7d
add esp, 0xc
push str.weather_cityweather
mov ecx, dword [ebp - 8]
add ecx, 0x20
call fcn.00509af5
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4c9c6f
push 1
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 0x180]
call eax
push 0x5943e0
mov ecx, dword [ebp - 8]
add ecx, 0x20
call fcn.00509af5
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4c9c9a
push 0
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 0x180]
call eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x1c
push ecx
mov edx, esp
push ecx
mov ecx, 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 0x5c2790
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 0x5c2794
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 0x5c2798
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
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x80]
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x80]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], 0
jmp 0x4c9d9b
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 4]
jge 0x4c9ed8
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x80]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x80]
mov edx, dword [edx]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
je 0x4c9de9
mov ecx, dword [ebp - 0x94]
sub ecx, 8
mov dword [ebp - 0x98], ecx
jmp 0x4c9df3
mov dword [ebp - 0x98], 0
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x2c]
add ecx, 8
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x16c]
call eax
push eax
lea ecx, [ebp - 0x28]
call fcn.0041c880
mov dword [ebp - 0x30], 0
jmp 0x4c9e2b
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [eax + 0xc]
call edx
cmp dword [ebp - 0x30], eax
jge 0x4c9ecb
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x34]
mov eax, dword [edx + 0x30]
call eax
push eax
lea ecx, [ebp - 0x38]
call fcn.0041c8a0
push str.cityitem_cityname
lea ecx, [ebp - 0x38]
call fcn.00453fe0
test eax, eax
jne 0x4c9ebe
push 0
mov ecx, dword [ebp - 0x8c]
add ecx, 0x6c
call fcn.0041cb20
push eax
lea ecx, [ebp - 0x28]
call fcn.004a5a90
test eax, eax
jl 0x4c9ea7
push str.IDB_Weather_defaultcity
mov ecx, dword [ebp - 0x34]
call fcn.005072b3
jmp 0x4c9eb4
push 0x582b94
mov ecx, dword [ebp - 0x34]
call fcn.005072b3
lea ecx, [ebp - 0x38]
call fcn.0040f740
jmp 0x4c9ecb
lea ecx, [ebp - 0x38]
call fcn.0040f740
jmp 0x4c9e22
lea ecx, [ebp - 0x28]
call fcn.0040f740
jmp 0x4c9d92
push str.weather_city
mov ecx, dword [ebp - 8]
add ecx, 0x20
call fcn.00509af5
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4c9f29
push 0x5c2798
lea ecx, [ebp - 0x3c]
call fcn.0041c880
push 0x589ad0
lea ecx, [ebp - 0x3c]
call fcn.004a5d60
lea ecx, [ebp - 0x3c]
call fcn.0041cb20
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 0x3c]
call eax
lea ecx, [ebp - 0x3c]
call fcn.0040f740
push str.weather_realtemp
mov ecx, dword [ebp - 8]
add ecx, 0x20
call fcn.00509af5
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4c9f54
push 0x582b94
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 0x3c]
call eax
push str.weather_realweather
mov ecx, dword [ebp - 8]
add ecx, 0x20
call fcn.00509af5
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4c9f7f
push 0x5944c8
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 0x3c]
call eax
push str.weather_label_todayweather
mov ecx, dword [ebp - 8]
add ecx, 0x20
call fcn.00509af5
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x4c9fac
push 1
push 1
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x20]
mov eax, dword [edx + 0x3b0]
call eax
push 0
push 0
push 0
mov ecx, dword [ebp - 0x8c]
call fcn.004c7ab0
lea ecx, [ebp - 0x1c]
call fcn.004ea9f0
lea ecx, [ebp - 0xc]
call fcn.0040f740
mov esp, ebp
pop ebp
ret 0xc