Function at 0x4934c0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e1386
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
mov eax, dword [0x515de0]
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 esi, ecx
mov eax, dword [esi + 0xcb0]
sub eax, dword [esi + 0xcac]
test eax, 0xfffffffc
je 0x493e64
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x28]
push eax
call fcn.004913e0
lea ecx, [ebp - 0x88]
call fcn.004a62d0
push 0x38
mov byte [ebp - 4], 1
call fcn.004c3c3a
add esp, 4
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x493560
push 0x4e46f8
push 0x4e46f8
push 0x4eac84
mov ecx, eax
call fcn.004a6050
jmp 0x493562
xor eax, eax
push eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 1
call fcn.004a7560
push 0x50
call fcn.004c3c3a
add esp, 4
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x493597
push str.meta
mov ecx, eax
call fcn.004a63b0
mov edi, eax
jmp 0x493599
xor edi, edi
push dword [esi + 0xc94]
mov ecx, edi
mov byte [ebp - 4], 1
push str.active
call fcn.004a8300
push edi
lea ecx, [ebp - 0x88]
call fcn.004a7560
mov eax, dword [esi + 0xcb0]
xor edi, edi
sub eax, dword [esi + 0xcac]
sar eax, 2
test eax, eax
je 0x493e10
push 0x50
call fcn.004c3c3a
add esp, 4
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x4935f9
push str.profile
mov ecx, eax
call fcn.004a63b0
mov ebx, eax
jmp 0x4935fb
xor ebx, ebx
mov eax, dword [esi + 0xcac]
mov byte [ebp - 4], 1
mov eax, dword [eax + edi*4]
add eax, 0xc50
cmp dword [eax + 0x14], 0x10
jb 0x493615
mov eax, dword [eax]
push eax
push str.name
mov ecx, ebx
call fcn.004a81b0
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0x26c]
push str.level
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov eax, dword [eax + edi*4]
cmp dword [eax + 0xc], 0
je 0x49365a
push 1
push str.Completed
mov ecx, ebx
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0x10]
push str.CoinsCount
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xcbc]
push str.TotalCoinsCount
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xc14]
push str.Status
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0x270]
push str.TotalBonusUsed
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xc18]
push str.CityPosition
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0x2a0]
push str.AddedTime
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0x2a4]
push str.AddedMoves
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xc08]
push str.OopsHintCount
call fcn.004a8300
mov eax, dword [esi + 0xcac]
xor ecx, ecx
mov eax, dword [eax + edi*4]
cmp dword [eax], ecx
setne cl
push ecx
push str.TimedMode
mov ecx, ebx
call fcn.004a8300
mov eax, dword [esi + 0xcac]
xor ecx, ecx
mov eax, dword [eax + edi*4]
cmp dword [eax + 8], ecx
setne cl
push ecx
push str.MovesLimitMode
mov ecx, ebx
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0x280]
push str.InitStatus
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xc0c]
push str.OutroStatus
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov eax, dword [eax + edi*4]
push dword [eax + 0x27c]
push str.HogCompleted
mov ecx, ebx
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0x274]
push str.SolitaireCompleted
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xc48]
push str.BarrelLevelCompleted
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xc44]
push str.GreatTimingCounter
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0x284]
push str.ComboCount
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0x298]
push str.SkipSolitairesCount
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0x29c]
push str.SkipMahjongCount
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xc4c]
push str.WasChallengeMode
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xc90]
push str.LastBuilding
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xcc0]
push str.Season
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xcc4]
push str.Clouds
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xcc8]
push str.Rain
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xcd0]
push str.Rainbow
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xcdc]
push str.CurrentDate
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xcd4]
push 0x4e992c
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xcd8]
push str.Illumination
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xccc]
push str.Snow
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 4]
push str.EnabledHints
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0x278]
push str.MahjongCompleted
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xce0]
push str.SnowInM3
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xce4]
push str.KapljaHintCount
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xce8]
push str.KeyHintCount
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, ebx
mov eax, dword [eax + edi*4]
push dword [eax + 0xcec]
push str.HalfHintCount
call fcn.004a8300
mov eax, dword [esi + 0xcac]
sub esp, 8
mov ecx, ebx
mov eax, dword [eax + edi*4]
movsd xmm0, qword [eax + 0x288]
movsd qword [esp], xmm0
push str.TotalTime
call fcn.004a8350
mov eax, dword [esi + 0xcac]
sub esp, 8
mov ecx, ebx
mov eax, dword [eax + edi*4]
movsd xmm0, qword [eax + 0x290]
movsd qword [esp], xmm0
push str.TimeInLevel
call fcn.004a8350
xor edx, edx
mov ecx, 0xdc
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
mov eax, dword [esi + 0xcac]
mov eax, dword [eax + edi*4]
cmp dword [ecx + eax], 0
je 0x493ad7
push 0x50
call fcn.004c3c3a
add esp, 4
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x493a93
push str.buildings
mov ecx, eax
call fcn.004a63b0
jmp 0x493a95
xor eax, eax
push dword [ebp - 0x30]
mov ecx, eax
mov dword [ebp - 0x34], eax
push 0x4e5b34
mov byte [ebp - 4], 1
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax + edi*4]
push dword [eax + ecx]
mov ecx, dword [ebp - 0x34]
push str.value
call fcn.004a8300
push dword [ebp - 0x34]
mov ecx, ebx
call fcn.004a7560
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
add ecx, 4
inc edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x26c
jl 0x493a61
xor edx, edx
mov ecx, 0x14
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
lea ebx, [ebx]
mov eax, dword [esi + 0xcac]
mov eax, dword [eax + edi*4]
cmp dword [ecx + eax], 0
je 0x493b76
push 0x50
call fcn.004c3c3a
add esp, 4
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x493b32
push str.achievement
mov ecx, eax
call fcn.004a63b0
jmp 0x493b34
xor eax, eax
push dword [ebp - 0x34]
mov ecx, eax
mov dword [ebp - 0x2c], eax
push 0x4e5b34
mov byte [ebp - 4], 1
call fcn.004a8300
mov eax, dword [esi + 0xcac]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax + edi*4]
push dword [eax + ecx]
mov ecx, dword [ebp - 0x2c]
push str.value
call fcn.004a8300
push dword [ebp - 0x2c]
mov ecx, ebx
call fcn.004a7560
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
add ecx, 4
inc edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp ecx, 0xdc
jl 0x493b00
mov ecx, 0x5c8
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x3c], ecx
jmp 0x493ba0
mov eax, dword [esi + 0xcac]
mov eax, dword [eax + edi*4]
mov edx, dword [ecx + eax - 0x320]
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0
mov edx, dword [ecx + eax]
mov eax, dword [ecx + eax + 0x320]
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x40], eax
jne 0x493bd6
cmp dword [ebp - 0x38], 0
je 0x493c51
push 0x50
call fcn.004c3c3a
add esp, 4
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x493bf9
push str.level
mov ecx, eax
call fcn.004a63b0
jmp 0x493bfb
xor eax, eax
push dword [ebp - 0x34]
mov ecx, eax
mov dword [ebp - 0x30], eax
push 0x4e98d4
mov byte [ebp - 4], 1
call fcn.004a8300
push dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
push str.moves
call fcn.004a8300
push dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
push str.time
call fcn.004a8300
push dword [ebp - 0x40]
mov ecx, dword [ebp - 0x30]
push str.OnceCheckpoint
call fcn.004a8300
push dword [ebp - 0x30]
mov ecx, ebx
call fcn.004a7560
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
add ecx, 4
inc edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x8e4
jle 0x493ba0
xor edx, edx
mov ecx, 0xc1c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x38], ecx
jmp 0x493c80
mov eax, dword [esi + 0xcac]
mov eax, dword [eax + edi*4]
cmp dword [ecx + eax], 0
je 0x493cda
push 0x50
call fcn.004c3c3a
add esp, 4
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x493cb2
push str.hintstatus
mov ecx, eax
call fcn.004a63b0
jmp 0x493cb4
xor eax, eax
push dword [ebp - 0x2c]
mov ecx, eax
mov dword [ebp - 0x3c], eax
push 0x4e98d4
mov byte [ebp - 4], 1
call fcn.004a8300
push dword [ebp - 0x3c]
mov ecx, ebx
call fcn.004a7560
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x2c]
add ecx, 4
inc edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x38], ecx
cmp ecx, 0xc44
jl 0x493c80
xor edx, edx
mov ecx, 0xc68
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x38], ecx
lea esp, [esp]
mov eax, dword [esi + 0xcac]
mov eax, dword [eax + edi*4]
cmp dword [ecx + eax], 0
je 0x493d5a
push 0x50
call fcn.004c3c3a
add esp, 4
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x493d32
push str.GhostStatus
mov ecx, eax
call fcn.004a63b0
jmp 0x493d34
xor eax, eax
push dword [ebp - 0x2c]
mov ecx, eax
mov dword [ebp - 0x3c], eax
push 0x4e98d4
mov byte [ebp - 4], 1
call fcn.004a8300
push dword [ebp - 0x3c]
mov ecx, ebx
call fcn.004a7560
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x2c]
add ecx, 4
inc edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x38], ecx
cmp ecx, 0xc90
jl 0x493d00
xor edx, edx
mov ecx, 0xc94
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x38], ecx
lea esp, [esp]
mov eax, dword [esi + 0xcac]
mov eax, dword [eax + edi*4]
cmp dword [ecx + eax], 0
je 0x493dda
push 0x50
call fcn.004c3c3a
add esp, 4
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x493db2
push str.RandomCoinStatus
mov ecx, eax
call fcn.004a63b0
jmp 0x493db4
xor eax, eax
push dword [ebp - 0x2c]
mov ecx, eax
mov dword [ebp - 0x3c], eax
push 0x4e98d4
mov byte [ebp - 4], 1
call fcn.004a8300
push dword [ebp - 0x3c]
mov ecx, ebx
call fcn.004a7560
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x2c]
add ecx, 4
inc edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x38], ecx
cmp ecx, 0xcbc
jl 0x493d80
push ebx
lea ecx, [ebp - 0x88]
call fcn.004a7560
mov eax, dword [esi + 0xcb0]
inc edi
sub eax, dword [esi + 0xcac]
sar eax, 2
cmp edi, eax
jb 0x4935d4
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x88]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.004a8130
mov eax, dword [ebp - 0x54]
mov byte [ebp - 4], 0
mov dword [ebp - 0x88], vtable.TiXmlDocument.0
cmp eax, 0x51db9c
je 0x493e48
push eax
call fcn.004c3c8b
add esp, 4
lea ecx, [ebp - 0x88]
call fcn.004a6840
cmp dword [ebp - 0x14], 8
jb 0x493e64
push dword [ebp - 0x28]
call fcn.004c3c8b
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.004c4554
mov esp, ebp
pop ebp
ret