Function at 0x4c7f90
Capabilities:
Create thread
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
mov dword [ebp - 0x78], ecx
cmp dword [ebp - 0x78], 0
je 0x4c7fac
mov eax, dword [ebp - 0x78]
sub eax, 0x3e0
mov dword [ebp - 0x7c], eax
jmp 0x4c7fb3
mov dword [ebp - 0x7c], 0
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0xc], ecx
push 1
push ecx
mov ecx, esp
push 0x582b94
call fcn.0041c8a0
push ecx
mov ecx, esp
push str._aRbcS_MR
call fcn.0041c8a0
mov ecx, 0x5c2f20
call fcn.0044e4b0
mov edx, dword [ebp - 0x78]
mov dword [edx + 0xc], 0xfffffc18
mov eax, dword [ebp - 0x78]
mov dword [eax + 8], 0xfffffc18
push 0x582b94
mov ecx, dword [ebp - 0x78]
add ecx, 0x14
call fcn.0041cec0
push 0x582b94
mov ecx, dword [ebp - 0x78]
add ecx, 0x10
call fcn.0041cec0
mov ecx, dword [ebp - 0x78]
add ecx, 0x1c
push ecx
lea ecx, [ebp - 8]
call fcn.0041c880
mov edx, dword [ebp - 0x78]
add edx, 0x64
push edx
lea ecx, [ebp - 0x18]
call fcn.0041c880
mov eax, dword [ebp - 0x78]
add eax, 0x68
push eax
lea ecx, [ebp - 4]
call fcn.0041c880
mov ecx, dword [ebp - 0x78]
add ecx, 0x6c
push ecx
lea ecx, [ebp - 0x14]
call fcn.0041c880
mov edx, dword [ebp - 0x78]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ecx + 0x58]
add ecx, 0x368
mov edx, dword [eax + 0x368]
mov eax, dword [edx + 4]
call eax
push eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax + 0x58]
mov edx, dword [edx]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4c80ac
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 0x38]
call eax
push eax
mov ecx, dword [ebp - 0x78]
add ecx, 0x64
call fcn.0041cec0
push eax
mov ecx, 0x5c2790
call fcn.0041c8e0
mov ecx, dword [ebp - 0x78]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax + 0x5c]
add ecx, 0x368
mov edx, dword [edx + 0x368]
mov eax, dword [edx + 4]
call eax
push eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax + 0x5c]
mov edx, dword [edx]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4c8109
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 0x38]
call eax
push eax
mov ecx, dword [ebp - 0x78]
add ecx, 0x68
call fcn.0041cec0
push eax
mov ecx, 0x5c2794
call fcn.0041c8e0
mov ecx, dword [ebp - 0x78]
mov edx, dword [ecx + 0x60]
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax + 0x60]
add ecx, 0x368
mov edx, dword [edx + 0x368]
mov eax, dword [edx + 4]
call eax
push eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ecx + 0x60]
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax + 0x60]
mov edx, dword [edx]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4c8194
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 0x38]
call eax
push eax
mov ecx, dword [ebp - 0x78]
add ecx, 0x6c
call fcn.0041cec0
push eax
mov ecx, 0x5c2798
call fcn.0041c8e0
mov ecx, dword [ebp - 0x78]
add ecx, 0x1c
push ecx
mov ecx, dword [ebp - 0x78]
add ecx, 0x20
call fcn.0041c8e0
mov edx, dword [ebp - 0x10]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x10]
mov edx, dword [eax + 0x16c]
call edx
push eax
mov ecx, dword [ebp - 0x78]
add ecx, 0x1c
call fcn.0041c8e0
mov eax, dword [ebp - 0xc]
push eax
push 0
push 0x4ca980
call fcn.00547a7d
add esp, 0xc
mov ecx, dword [ebp - 0xc]
push ecx
push 0
push 0x4b9300
call fcn.00547a7d
add esp, 0xc
push str.weather_cityweather
mov ecx, dword [ebp - 0xc]
add ecx, 0x20
call fcn.00509af5
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x4c81e5
push 1
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax + 0x180]
call edx
push 0x5943e0
mov ecx, dword [ebp - 0xc]
add ecx, 0x20
call fcn.00509af5
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x4c8210
push 0
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x180]
call eax
mov ecx, dword [ebp - 0x78]
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 - 0x78]
add eax, 0x6c
push ecx
mov ecx, esp
push eax
call fcn.0041c880
mov ecx, dword [ebp - 0x78]
add ecx, 0x68
push ecx
mov edx, esp
push ecx
mov ecx, edx
call fcn.0041c880
mov eax, dword [ebp - 0x78]
add eax, 0x64
push ecx
mov ecx, esp
push eax
call fcn.0041c880
mov ecx, dword [ebp - 0x78]
add ecx, 0x1c
push ecx
mov edx, esp
push ecx
mov ecx, edx
call fcn.0041c880
push ecx
mov ecx, esp
lea eax, [ebp - 0x14]
push eax
call fcn.0041c880
push ecx
mov ecx, esp
lea edx, [ebp - 4]
push edx
call fcn.0041c880
push ecx
mov ecx, esp
lea eax, [ebp - 0x18]
push eax
call fcn.0041c880
push ecx
mov ecx, esp
lea edx, [ebp - 8]
push edx
call fcn.0041c880
mov ecx, dword [ebp - 0x78]
call fcn.004dac70
lea ecx, [ebp - 0x14]
call fcn.0040f740
lea ecx, [ebp - 4]
call fcn.0040f740
lea ecx, [ebp - 0x18]
call fcn.0040f740
lea ecx, [ebp - 8]
call fcn.0040f740
mov esp, ebp
pop ebp
ret 0xc