Function at 0x4a1c90
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 0x4a1cbb
mov eax, dword [ebp - 0x8c]
sub eax, 0x3e0
mov dword [ebp - 0x90], eax
jmp 0x4a1cc5
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.0048b020
push ecx
mov ecx, esp
push 0x5656ec
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.004291d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
call fcn.0048b0f0
lea ecx, [ebp - 0x50]
call fcn.004bf0e0
push 3
lea ecx, [ebp - 0x1c]
call fcn.0048b2e0
push eax
mov edx, dword [ebp - 0x8c]
add edx, 0x6c
push edx
call fcn.0047e690
add esp, 8
movzx eax, al
test eax, eax
je 0x4a1d5e
lea ecx, [ebp - 0x1c]
call fcn.004bf0e0
lea ecx, [ebp - 0xc]
call fcn.0040f740
jmp 0x4a220d
push 0
push ecx
mov ecx, esp
push 0x554518
call fcn.0041c8a0
push ecx
mov ecx, esp
push 0x5656d4
call fcn.0041c8a0
mov ecx, 0x591ad8
call fcn.0042ab10
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 0xc], 0xfffffc18
mov edx, dword [ebp - 0x8c]
mov dword [edx + 8], 0xfffffc18
push 0x554518
mov ecx, dword [ebp - 0x8c]
add ecx, 0x14
call fcn.0041cec0
push 0x554518
mov ecx, dword [ebp - 0x8c]
add ecx, 0x10
call fcn.0041cec0
push 1
lea ecx, [ebp - 0x1c]
call fcn.0048b2e0
push eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x64
call fcn.0041c8e0
push eax
mov ecx, 0x591368
call fcn.0041c8e0
push 2
lea ecx, [ebp - 0x1c]
call fcn.0048b2e0
push eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x68
call fcn.0041c8e0
push eax
mov ecx, 0x59136c
call fcn.0041c8e0
push 3
lea ecx, [ebp - 0x1c]
call fcn.0048b2e0
push eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x6c
call fcn.0041c8e0
push eax
mov ecx, 0x591370
call fcn.0041c8e0
push 0
lea ecx, [ebp - 0x1c]
call fcn.0048b2e0
push eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x1c
call fcn.0041c8e0
push 0
push 0
push 0x542
mov eax, dword [0x5912f8]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [ebp - 8]
push ecx
push 0
push 0x4a44d0
call fcn.0051af0d
add esp, 0xc
mov edx, dword [ebp - 8]
push edx
push 0
push 0x491550
call fcn.0051af0d
add esp, 0xc
push str.weather_cityweather
mov ecx, dword [ebp - 8]
add ecx, 0x20
call fcn.004dd71b
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a1eaf
push 1
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 0x180]
call eax
push 0x565538
mov ecx, dword [ebp - 8]
add ecx, 0x20
call fcn.004dd71b
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a1eda
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, 0x591448
call fcn.0045bf10
push ecx
mov ecx, esp
push 0x591368
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, 0x591448
call fcn.0045bf10
push ecx
mov ecx, esp
push 0x59136c
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, 0x591448
call fcn.0045bf10
push ecx
mov ecx, esp
push 0x591370
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, 0x591448
call fcn.0045bf10
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 0x4a1fdb
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 4]
jge 0x4a2118
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 0x4a2029
mov ecx, dword [ebp - 0x94]
sub ecx, 8
mov dword [ebp - 0x98], ecx
jmp 0x4a2033
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 0x4a206b
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 0x4a210b
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.00430140
test eax, eax
jne 0x4a20fe
push 0
mov ecx, dword [ebp - 0x8c]
add ecx, 0x6c
call fcn.0041cb20
push eax
lea ecx, [ebp - 0x28]
call fcn.0047e090
test eax, eax
jl 0x4a20e7
push str.IDB_Weather_defaultcity
mov ecx, dword [ebp - 0x34]
call fcn.004daed9
jmp 0x4a20f4
push 0x554518
mov ecx, dword [ebp - 0x34]
call fcn.004daed9
lea ecx, [ebp - 0x38]
call fcn.0040f740
jmp 0x4a210b
lea ecx, [ebp - 0x38]
call fcn.0040f740
jmp 0x4a2062
lea ecx, [ebp - 0x28]
call fcn.0040f740
jmp 0x4a1fd2
push str.weather_city
mov ecx, dword [ebp - 8]
add ecx, 0x20
call fcn.004dd71b
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a2169
push 0x591370
lea ecx, [ebp - 0x3c]
call fcn.0041c880
push 0x55b428
lea ecx, [ebp - 0x3c]
call fcn.0047e360
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.004dd71b
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a2194
push 0x554518
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.004dd71b
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4a21bf
push 0x565620
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.004dd71b
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x4a21ec
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.0049fb90
lea ecx, [ebp - 0x1c]
call fcn.004bf0e0
lea ecx, [ebp - 0xc]
call fcn.0040f740
mov esp, ebp
pop ebp
ret 0xc