Function at 0x4a01d0
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 0x4a01ec
mov eax, dword [ebp - 0x78]
sub eax, 0x3e0
mov dword [ebp - 0x7c], eax
jmp 0x4a01f3
mov dword [ebp - 0x7c], 0
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0xc], ecx
push 0
push ecx
mov ecx, esp
push 0x554518
call fcn.0041c8a0
push ecx
mov ecx, esp
push str._aRbcS_MR
call fcn.0041c8a0
mov ecx, 0x591ad8
call fcn.0042ab10
mov edx, dword [ebp - 0x78]
mov dword [edx + 0xc], 0xfffffc18
mov eax, dword [ebp - 0x78]
mov dword [eax + 8], 0xfffffc18
push 0x554518
mov ecx, dword [ebp - 0x78]
add ecx, 0x14
call fcn.0041cec0
push 0x554518
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 0x4a02ec
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, 0x591368
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 0x4a0349
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, 0x59136c
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 0x4a03d4
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, 0x591370
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 0x4a44d0
call fcn.0051af0d
add esp, 0xc
mov ecx, dword [ebp - 0xc]
push ecx
push 0
push 0x491550
call fcn.0051af0d
add esp, 0xc
push str.weather_cityweather
mov ecx, dword [ebp - 0xc]
add ecx, 0x20
call fcn.004dd71b
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x4a0425
push 1
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax + 0x180]
call edx
push 0x565538
mov ecx, dword [ebp - 0xc]
add ecx, 0x20
call fcn.004dd71b
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x4a0450
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, 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 - 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.004b4a40
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