Function at 0x4c0cdf
Capabilities:
Create thread
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp + 8]
mov ebx, edi
mov dword [ebp - 0x10], edi
neg ebx
lea eax, [edi - 0x364]
sbb ebx, ebx
and ebx, eax
mov eax, dword [ecx]
call dword [eax + 0x16c]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00418dea
mov dword [ebp - 0x14], eax
mov ecx, esp
xor eax, eax
push 0x68b398
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
call fcn.004177e7
push ecx
mov esi, esp
push dword [ebp - 0x14]
call fcn.00418dea
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x38]
pop ecx
push eax
call fcn.0051413f
add esp, 0xc
lea ecx, [ebp - 0x2c]
push eax
call fcn.00449668
lea ecx, [ebp - 0x38]
call fcn.004e8a9c
push 3
lea ecx, [ebp - 0x2c]
call fcn.0044c702
lea ecx, [edi + 0x54]
push dword [eax]
call fcn.004229b4
test eax, eax
je 0x4c113c
push 1
push ecx
mov ecx, esp
mov esi, 0x6809b0
push esi
call fcn.004177e7
push ecx
mov ecx, esp
push 0x6c06c0
call fcn.004177e7
mov ecx, 0x736918
call fcn.004ef41e
push esi
mov ecx, 0x735b78
call fcn.004195af
push esi
mov ecx, 0x735b70
call fcn.004195af
push esi
mov ecx, 0x735b90
call fcn.004195af
push esi
mov ecx, 0x735b80
call fcn.004195af
push esi
mov ecx, 0x735b84
call fcn.004195af
push 1
lea ecx, [ebp - 0x2c]
call fcn.0044c702
lea esi, [edi + 0x4c]
push eax
mov ecx, esi
call fcn.00418bac
push esi
mov ecx, 0x735b04
call fcn.00418bac
push 2
lea ecx, [ebp - 0x2c]
call fcn.0044c702
lea esi, [edi + 0x50]
push eax
mov ecx, esi
call fcn.00418bac
push esi
mov ecx, 0x735b08
call fcn.00418bac
push 3
lea ecx, [ebp - 0x2c]
call fcn.0044c702
lea esi, [edi + 0x54]
push eax
mov ecx, esi
call fcn.00418bac
push esi
mov ecx, 0x735b0c
call fcn.00418bac
xor esi, esi
lea ecx, [ebp - 0x2c]
push esi
call fcn.0044c702
push eax
mov ecx, 0x735b1c
call fcn.00418bac
push esi
push esi
push 0x542
push dword [0x735624]
call dword [sym.imp.USER32.dll_PostMessageW]
push ebx
push esi
push 0x498d0d
call fcn.006423a8
push ebx
push esi
push 0x499981
call fcn.006423a8
add esp, 0x18
add ebx, 0x20
mov dword [ebp - 0x20], ebx
push str.weather_cityweather
mov ecx, ebx
call fcn.005cfc5e
test eax, eax
je 0x4c0e99
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx + 0x180]
push str.weather_setcity
mov ecx, ebx
call fcn.005cfc5e
test eax, eax
je 0x4c0eb4
mov edx, dword [eax]
mov ecx, eax
push esi
call dword [edx + 0x180]
mov eax, dword [0x735b1c]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00418dea
add eax, 0x10
mov ecx, esp
push str.CityCode
mov dword [esi], eax
call fcn.004177e7
push ecx
mov ecx, esp
push str.UserSetLocation
call fcn.004177e7
mov ecx, 0x735bd8
call fcn.004fdb1b
mov eax, dword [0x735b04]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00418dea
add eax, 0x10
mov ecx, esp
push str.Province
mov dword [esi], eax
call fcn.004177e7
push ecx
mov ecx, esp
push str.UserSetLocation
call fcn.004177e7
mov ecx, 0x735bd8
call fcn.004fdb1b
mov eax, dword [0x735b08]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00418dea
add eax, 0x10
mov ecx, esp
push str.City
mov dword [esi], eax
call fcn.004177e7
push ecx
mov ecx, esp
push str.UserSetLocation
call fcn.004177e7
mov ecx, 0x735bd8
call fcn.004fdb1b
mov eax, dword [0x735b0c]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00418dea
add eax, 0x10
mov ecx, esp
push str.Region
mov dword [esi], eax
call fcn.004177e7
push ecx
mov ecx, esp
push str.UserSetLocation
call fcn.004177e7
mov ecx, 0x735bd8
call fcn.004fdb1b
mov ecx, dword [edi + 0x68]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xc], eax
test ecx, ecx
jle 0x4c108d
mov ebx, edi
mov ecx, dword [ebx + 0x68]
push eax
mov edx, dword [ecx]
call dword [edx]
test eax, eax
je 0x4c0fc5
lea edi, [eax - 8]
jmp 0x4c0fc7
xor edi, edi
lea ecx, [edi + 8]
mov eax, dword [ecx]
call dword [eax + 0x16c]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00418dea
and dword [ebp + 8], 0
pop ecx
mov ecx, edi
lea esi, [eax + 0x10]
mov eax, dword [edi]
mov dword [ebp - 0x18], esi
call dword [eax + 0xc]
test eax, eax
jle 0x4c106f
mov ecx, dword [ebp + 8]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
lea ecx, [ebp - 4]
call fcn.004177e7
push str.cityitem_cityname
lea ecx, [ebp - 4]
call fcn.004334a5
test eax, eax
je 0x4c103f
mov ecx, dword [ebp - 4]
lea ecx, [ecx - 0x10]
call fcn.00419521
mov eax, dword [edi]
mov ecx, edi
inc dword [ebp + 8]
call dword [eax + 0xc]
mov ecx, dword [ebp + 8]
cmp ecx, eax
jl 0x4c0ff6
jmp 0x4c106f
push 0
push dword [ebx + 0x54]
lea ecx, [ebp - 0x18]
call fcn.004713d7
mov ecx, dword [ebp - 8]
test eax, eax
js 0x4c105a
push str.IDB_Weather_defaultcity
jmp 0x4c105f
push 0x6809b0
call fcn.005db778
mov ecx, dword [ebp - 4]
lea ecx, [ecx - 0x10]
call fcn.00419521
lea ecx, [esi - 0x10]
call fcn.00419521
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x1c]
jl 0x4c0fb4
mov ebx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x10]
push 0x6b1570
mov ecx, ebx
call fcn.005cfc5e
mov esi, eax
mov dword [ebp - 0x20], esi
test esi, esi
je 0x4c10da
mov ecx, dword [0x735b0c]
add ecx, 0xfffffff0
push ecx
call fcn.00418dea
add eax, 0x10
mov dword [esp], 0x6c0750
lea ecx, [ebp + 8]
mov dword [ebp + 8], eax
call fcn.00505c74
mov eax, dword [esi]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x20]
push esi
call dword [eax + 0x3c]
lea ecx, [esi - 0x10]
call fcn.00419521
push str.weather_realtemp
mov ecx, ebx
call fcn.005cfc5e
test eax, eax
je 0x4c10f6
mov edx, dword [eax]
mov ecx, eax
push 0x6809b0
call dword [edx + 0x3c]
push str.weather_realweather
mov ecx, ebx
call fcn.005cfc5e
test eax, eax
je 0x4c1112
mov edx, dword [eax]
mov ecx, eax
push 0x6c077c
call dword [edx + 0x3c]
push str.weather_label_todayweather
mov ecx, ebx
call fcn.005cfc5e
test eax, eax
je 0x4c1130
mov edx, dword [eax]
mov ecx, eax
push 1
push 1
call dword [edx + 0x3b4]
xor eax, eax
mov ecx, edi
push eax
push eax
push eax
call fcn.004d8bf8
lea ecx, [ebp - 0x2c]
call fcn.004e8a9c
mov ecx, dword [ebp - 0x14]
call fcn.00419521
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc