Function at 0x48f8b0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4de2de
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x511d60]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x34], ebx
call fcn.0048f4b0
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
mov dword [ebp - 4], eax
mov ecx, ebx
lea eax, [ebp - 0x28]
push eax
call fcn.0048e810
lea ecx, [ebp - 0xb8]
call fcn.004a3610
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push 0
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0xb8]
push eax
mov byte [ebp - 4], 1
call fcn.004a4c50
test al, al
je 0x4901a5
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x68]
lea eax, [ebp - 0x70]
push eax
call fcn.004a47b0
mov esi, eax
mov ecx, dword [esi]
test ecx, ecx
je 0x49016c
mov edx, dword [ecx]
call dword [edx + 0x14]
test eax, eax
je 0x49016c
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov edi, eax
mov dword [ebp - 0x3c], edi
test edi, edi
je 0x49016c
lea esp, [esp]
mov ecx, dword [edi + 0x20]
mov edx, str.meta
add ecx, 8
mov eax, ecx
lea ecx, [ecx]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x48f9b0
test bl, bl
je 0x48f9ac
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x48f9b0
add eax, 2
add edx, 2
test bl, bl
jne 0x48f990
xor eax, eax
jmp 0x48f9b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48f9e2
lea eax, [ebp - 0x5c]
mov ecx, edi
push eax
push str.active
call fcn.004a5430
test eax, eax
jne 0x4901a5
mov ebx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x5c]
mov dword [ebx + 0xc94], eax
jmp 0x490158
mov eax, str.profile
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x48fa07
test dl, dl
je 0x48fa03
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x48fa07
add ecx, 2
add eax, 2
test dl, dl
jne 0x48f9e7
xor eax, eax
jmp 0x48fa0c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x490155
push str.name
mov ecx, edi
call fcn.004a3f20
mov esi, eax
test esi, esi
je 0x490155
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0
push eax
push str.TimedMode
mov ecx, edi
call fcn.004a5430
push 0x840
call fcn.004c0d0a
add esp, 4
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x48fa6b
push dword [ebp - 0x4c]
mov ecx, eax
push esi
call fcn.0048e000
mov ebx, eax
mov dword [ebp - 0x2c], eax
jmp 0x48fa70
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
cmp dword [ebx + 0x7b4], 0x10
lea eax, [ebx + 0x7a0]
mov byte [ebp - 4], 1
mov dword [ebp - 0x54], ebx
jb 0x48fa88
mov eax, dword [eax]
mov ecx, dword [ebp - 0x34]
push eax
call fcn.0048e740
test al, al
jne 0x490201
lea eax, [ebx + 8]
mov ecx, edi
mov dword [eax], 0
push eax
push str.MovesLimitMode
call fcn.004a5430
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
push str.level
call fcn.004a5430
test eax, eax
jne 0x48facc
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0x26c], eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x44], 0
push eax
push str.Completed
mov ecx, edi
call fcn.004a5430
mov eax, dword [ebp - 0x44]
mov ecx, edi
mov dword [ebx + 0xc], eax
lea eax, [ebx + 0x298]
push eax
push str.SkipSolitairesCount
mov dword [eax], 0
call fcn.004a5430
lea eax, [ebx + 0x29c]
mov ecx, edi
mov dword [eax], 0
push eax
push str.SkipMahjongCount
call fcn.004a5430
lea eax, [ebx + 0x280]
mov ecx, edi
mov dword [eax], 1
push eax
push str.InitStatus
call fcn.004a5430
lea eax, [ebx + 0x764]
mov ecx, edi
mov dword [eax], 0
push eax
push str.Status
call fcn.004a5430
lea eax, [ebx + 0x830]
mov ecx, edi
mov dword [eax], 1
push eax
push str.SnowInM3
call fcn.004a5430
lea eax, [ebx + 0x278]
mov ecx, edi
mov dword [eax], 0
push eax
push str.MahjongCompleted
call fcn.004a5430
lea eax, [ebx + 0x810]
mov ecx, edi
mov dword [eax], 0
push eax
push str.Season
call fcn.004a5430
lea eax, [ebx + 0x814]
mov ecx, edi
mov dword [eax], 0
push eax
push str.Clouds
call fcn.004a5430
lea eax, [ebx + 4]
mov ecx, edi
mov dword [eax], 1
push eax
push str.EnabledHints
call fcn.004a5430
lea eax, [ebx + 0x818]
mov ecx, edi
mov dword [eax], 0
push eax
push str.Rain
call fcn.004a5430
lea eax, [ebx + 0x820]
mov ecx, edi
mov dword [eax], 0
push eax
push str.Rainbow
call fcn.004a5430
lea eax, [ebx + 0x824]
mov ecx, edi
mov dword [eax], 0
push eax
push 0x4e67f8
call fcn.004a5430
lea eax, [ebx + 0x82c]
push eax
push str.CurrentDate
mov ecx, edi
mov dword [eax], 1
call fcn.004a5430
lea eax, [ebx + 0x828]
mov ecx, edi
mov dword [eax], 1
push eax
push str.Illumination
call fcn.004a5430
lea eax, [ebx + 0x81c]
mov ecx, edi
mov dword [eax], 0
push eax
push str.Snow
call fcn.004a5430
lea eax, [ebx + 0x80c]
mov ecx, edi
mov dword [eax], 0
push eax
push str.TotalCoinsCount
call fcn.004a5430
lea eax, [ebx + 0x7e0]
mov ecx, edi
mov dword [eax], 0
push eax
push str.LastBuilding
call fcn.004a5430
lea eax, [ebx + 0x79c]
mov ecx, edi
mov dword [eax], 0
push eax
push str.WasChallengeMode
call fcn.004a5430
lea eax, [ebx + 0x758]
mov ecx, edi
mov dword [eax], 0
push eax
push str.OopsHintCount
call fcn.004a5430
lea eax, [ebx + 0x27c]
mov ecx, edi
mov dword [eax], 0
push eax
push str.HogCompleted
call fcn.004a5430
lea eax, [ebx + 0x274]
mov ecx, edi
mov dword [eax], 0
push eax
push str.SolitaireCompleted
call fcn.004a5430
lea eax, [ebx + 0x10]
mov ecx, edi
mov dword [eax], 0x1e
push eax
push str.CoinsCount
call fcn.004a5430
lea eax, [ebx + 0x2a0]
mov ecx, edi
mov dword [eax], 0
push eax
push str.AddedTime
call fcn.004a5430
lea eax, [ebx + 0x2a4]
mov ecx, edi
mov dword [eax], 0
push eax
push str.AddedMoves
call fcn.004a5430
lea eax, [ebx + 0x75c]
mov ecx, edi
mov dword [eax], 0
push eax
push str.OutroStatus
call fcn.004a5430
lea eax, [ebx + 0x834]
mov dword [eax], 0
push eax
push str.KapljaHintCount
mov ecx, edi
call fcn.004a5430
lea eax, [ebx + 0x838]
mov ecx, edi
mov dword [eax], 0
push eax
push str.KeyHintCount
call fcn.004a5430
lea eax, [ebx + 0x83c]
mov ecx, edi
mov dword [eax], 0
push eax
push str.HalfHintCount
call fcn.004a5430
lea eax, [ebx + 0x288]
xorps xmm0, xmm0
push eax
push str.TotalTime
mov ecx, edi
movsd qword [eax], xmm0
call fcn.004a53f0
lea eax, [ebx + 0x290]
xorps xmm0, xmm0
push eax
push str.TimeInLevel
mov ecx, edi
movsd qword [eax], xmm0
call fcn.004a53f0
lea eax, [ebx + 0x270]
mov ecx, edi
mov dword [eax], 0
push eax
push str.TotalBonusUsed
call fcn.004a5430
lea eax, [ebx + 0x768]
mov ecx, edi
mov dword [eax], 0x556
push eax
push str.CityPosition
call fcn.004a5430
lea eax, [ebx + 0x794]
mov ecx, edi
mov dword [eax], 0
push eax
push str.GreatTimingCounter
call fcn.004a5430
lea eax, [ebx + 0x798]
mov ecx, edi
mov dword [eax], 0
push eax
push str.BarrelLevelCompleted
call fcn.004a5430
lea eax, [ebx + 0x284]
mov ecx, edi
mov dword [eax], 0
push eax
push str.ComboCount
call fcn.004a5430
mov ecx, edi
call fcn.004a4840
mov edi, eax
test edi, edi
je 0x49013e
mov ecx, dword [edi + 0x20]
mov esi, str.buildings
add ecx, 8
mov edx, ecx
mov edi, edi
mov al, byte [edx]
cmp al, byte [esi]
jne 0x48fe90
test al, al
je 0x48fe8c
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x48fe90
add edx, 2
add esi, 2
test al, al
jne 0x48fe70
xor eax, eax
jmp 0x48fe95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48fee0
lea eax, [ebp - 0x50]
mov ecx, edi
push eax
push 0x4e2b14
call fcn.004a5430
test eax, eax
jne 0x49012d
cmp dword [ebp - 0x50], 0x63
ja 0x49012d
mov dword [ebp - 0x30], eax
mov ecx, edi
lea eax, [ebp - 0x30]
push eax
push str.value
call fcn.004a5430
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x30]
mov dword [ebx + ecx*4 + 0xdc], eax
jmp 0x49012d
mov edx, str.achievement
mov eax, ecx
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x48ff07
test bl, bl
je 0x48ff03
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x48ff07
add eax, 2
add edx, 2
test bl, bl
jne 0x48fee7
xor eax, eax
jmp 0x48ff0c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48ff61
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
push 0x4e2b14
call fcn.004a5430
test eax, eax
jne 0x49012a
cmp dword [ebp - 0x48], 0x31
ja 0x49012a
mov dword [ebp - 0x30], eax
mov ecx, edi
lea eax, [ebp - 0x30]
push eax
push str.value
call fcn.004a5430
mov ecx, dword [ebp - 0x30]
mov eax, 2
mov ebx, dword [ebp - 0x2c]
test ecx, ecx
cmovne ecx, eax
mov eax, dword [ebp - 0x48]
mov dword [ebx + eax*4 + 0x14], ecx
jmp 0x49012d
mov edx, str.level
mov eax, ecx
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x48ff88
test bl, bl
je 0x48ff84
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x48ff88
add eax, 2
add edx, 2
test bl, bl
jne 0x48ff68
xor eax, eax
jmp 0x48ff8d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x490006
lea eax, [ebp - 0x38]
mov ecx, edi
push eax
push 0x4e67a0
call fcn.004a5430
test eax, eax
jne 0x49012a
mov eax, dword [ebp - 0x38]
dec eax
cmp eax, 0x63
ja 0x49012a
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
push str.moves
mov ecx, edi
call fcn.004a5430
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov dword [ebx + ecx*4 + 0x2a4], eax
lea eax, [ebp - 0x40]
push eax
push str.time
mov ecx, edi
mov dword [ebp - 0x40], 0
call fcn.004a5430
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
mov dword [ebx + ecx*4 + 0x4fc], eax
jmp 0x49012d
mov edx, str.hintstatus
mov eax, ecx
lea ecx, [ecx]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x490030
test bl, bl
je 0x49002c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x490030
add eax, 2
add edx, 2
test bl, bl
jne 0x490010
xor eax, eax
jmp 0x490035
sbb eax, eax
or eax, 1
test eax, eax
jne 0x490070
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
push 0x4e67a0
call fcn.004a5430
mov ebx, dword [ebp - 0x2c]
test eax, eax
jne 0x49012d
mov eax, dword [ebp - 0x60]
cmp eax, 9
ja 0x49012d
mov dword [ebx + eax*4 + 0x76c], 1
jmp 0x49012d
mov edx, str.GhostStatus
mov eax, ecx
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x490097
test bl, bl
je 0x490093
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x490097
add eax, 2
add edx, 2
test bl, bl
jne 0x490077
xor eax, eax
jmp 0x49009c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4900d0
lea eax, [ebp - 0x64]
mov ecx, edi
push eax
push 0x4e67a0
call fcn.004a5430
mov ebx, dword [ebp - 0x2c]
test eax, eax
jne 0x49012d
mov eax, dword [ebp - 0x64]
cmp eax, 9
ja 0x49012d
mov dword [ebx + eax*4 + 0x7b8], 1
jmp 0x49012d
mov eax, str.RandomCoinStatus
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4900f5
test dl, dl
je 0x4900f1
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4900f5
add ecx, 2
add eax, 2
test dl, dl
jne 0x4900d5
xor eax, eax
jmp 0x4900fa
sbb eax, eax
or eax, 1
test eax, eax
jne 0x49012a
lea eax, [ebp - 0x6c]
mov ecx, edi
push eax
push 0x4e67a0
call fcn.004a5430
mov ebx, dword [ebp - 0x2c]
test eax, eax
jne 0x49012d
mov eax, dword [ebp - 0x6c]
cmp eax, 9
ja 0x49012d
mov dword [ebx + eax*4 + 0x7e4], 1
jmp 0x49012d
mov ebx, dword [ebp - 0x2c]
mov ecx, edi
call fcn.004a4d10
mov edi, eax
test edi, edi
jne 0x48fe61
mov ebx, dword [ebp - 0x34]
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebx + 0xcac]
call fcn.0049cf80
mov edi, dword [ebp - 0x3c]
jmp 0x490158
mov ebx, dword [ebp - 0x34]
mov ecx, edi
call fcn.004a4d10
mov edi, eax
mov dword [ebp - 0x3c], eax
test edi, edi
jne 0x48f980
mov ecx, dword [ebx + 0xc94]
test ecx, ecx
js 0x490189
mov eax, dword [ebx + 0xcb0]
sub eax, dword [ebx + 0xcac]
sar eax, 2
cmp ecx, eax
jl 0x4901a5
mov eax, dword [ebx + 0xcb0]
sub eax, dword [ebx + 0xcac]
and eax, 0xfffffffc
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [ebx + 0xc94], eax
mov eax, dword [ebp - 0x84]
mov byte [ebp - 4], 0
mov dword [ebp - 0xb8], vtable.TiXmlDocument.0
cmp eax, 0x5199f4
je 0x4901c9
push eax
call fcn.004c0d5b
add esp, 4
lea ecx, [ebp - 0xb8]
call fcn.004a3b80
cmp dword [ebp - 0x14], 8
jb 0x4901e5
push dword [ebp - 0x28]
call fcn.004c0d5b
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c1624
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x4901a5
cmp dword [ebx + 0x7b4], 0x10
jb 0x49021c
push dword [ebx + 0x7a0]
call fcn.004c0d5b
add esp, 4
mov dword [ebx + 0x7b4], 0xf
mov dword [ebx + 0x7b0], 0
push ebx
mov byte [ebx + 0x7a0], 0
call fcn.004c0d5b
add esp, 4
jmp 0x4901a5