Function at 0x481f20
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [0x5153d4]
xor eax, ebp
mov dword [ebp - 4], eax
mov dl, byte [0x666dfd]
xorps xmm0, xmm0
mov ecx, dword [0x6e0d80]
xor eax, eax
movlpd qword [ebp - 0x48], xmm0
movlpd qword [ebp - 0x40], xmm0
movlpd qword [ebp - 0x28], xmm0
movlpd qword [ebp - 0x20], xmm0
movlpd qword [ebp - 0x18], xmm0
mov dword [ebp - 0xf], 0
mov word [ebp - 0xb], ax
mov byte [ebp - 9], al
push ebx
push esi
push edi
test dl, dl
je 0x481f76
mov esi, str.Title_Screen
jmp 0x481f7e
mov eax, dword [0x6e6c3c]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x4c], esi
test dl, dl
jne case.default.0x48200e
cmp byte [0x77333e], dl
je 0x482005
cmp ecx, 6
ja case.default.0x481f96
jmp dword [ecx*4 + 0x482278]
mov eax, str.home
mov dword [ebp - 0x38], eax
jmp 0x4820ee
mov eax, str.high
mov dword [ebp - 0x38], eax
jmp 0x4820ee
mov eax, str.lair
mov dword [ebp - 0x38], eax
jmp 0x4820ee
mov eax, str.cliff
mov dword [ebp - 0x38], eax
jmp 0x4820ee
mov eax, str.fish
mov dword [ebp - 0x38], eax
jmp 0x4820ee
mov eax, 0x50f65c
mov dword [ebp - 0x38], eax
jmp 0x4820ee
mov eax, str.reunion
mov dword [ebp - 0x38], eax
jmp 0x4820ee
mov eax, str.title
mov dword [ebp - 0x38], eax
jmp 0x4820ee
cmp ecx, 0x14
ja case.default.0x48200e
jmp dword [ecx*4 + 0x482294]
mov dword [ebp - 0x38], str.home
jmp 0x4820ee
mov dword [ebp - 0x38], str.jungle
jmp 0x4820ee
mov dword [ebp - 0x38], str.ruins
jmp 0x4820ee
mov dword [ebp - 0x38], str.ganges
jmp 0x4820ee
mov dword [ebp - 0x38], str.kaliya
jmp 0x4820ee
mov dword [ebp - 0x38], str.village
jmp 0x4820ee
mov dword [ebp - 0x38], str.crash
jmp 0x4820ee
mov dword [ebp - 0x38], str.madubu
jmp 0x4820ee
mov dword [ebp - 0x38], str.puna
jmp 0x4820ee
mov dword [ebp - 0x38], str.wharf
jmp 0x4820ee
mov dword [ebp - 0x38], str.train
jmp 0x4820ee
mov dword [ebp - 0x38], str.luds
jmp 0x4820ee
mov dword [ebp - 0x38], str.city
jmp 0x4820ee
mov dword [ebp - 0x38], str.nevada
jmp 0x4820ee
mov dword [ebp - 0x38], 0x50f6d8
jmp 0x4820ee
mov dword [ebp - 0x38], 0x50f6dc
jmp 0x4820ee
mov dword [ebp - 0x38], str.antarc
jmp 0x4820ee
mov dword [ebp - 0x38], 0x50f6e8
jmp 0x4820ee
mov dword [ebp - 0x38], str.tinnos
jmp 0x4820ee
mov dword [ebp - 0x38], str.cavern
jmp 0x4820ee
mov dword [ebp - 0x38], str.hallows
jmp 0x4820ee
mov dword [ebp - 0x38], str.title
mov eax, dword [0x6e85a4]
mov dword [ebp - 0x34], esi
test eax, eax
jne 0x4820ff
mov dword [ebp - 0x30], eax
jmp 0x482166
movzx ecx, word [eax + 0x22]
mov eax, 0x29a
mov edx, ecx
cmp cx, ax
jle 0x482116
mov eax, str.green
jmp 0x48212b
mov edi, 0x14d
mov eax, str.yellow
cmp cx, di
mov esi, 0x50f714
cmovle eax, esi
mov dword [ebp - 0x30], eax
mov eax, 0x66666667
movsx ecx, dx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.Health:__i__
push 0x7ccc98
call fcn.004216a0
mov dl, byte [0x666dfd]
add esp, 0xc
mov ecx, dword [0x6e0d80]
mov eax, 0x7ccc98
mov dword [ebp - 0x2c], eax
test dl, dl
je 0x482174
xor eax, eax
jmp 0x482251
test ecx, ecx
jne 0x4821eb
mov ecx, dword [0x6ef198]
test ecx, ecx
jne 0x482199
push str.Assault_Course:_No_Time_Set_
push 0x7ccc58
call fcn.004216a0
add esp, 8
jmp 0x48224c
mov eax, 0x88888889
imul ecx
add edx, ecx
mov ecx, 0x3c
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, esi
cdq
idiv ecx
mov ecx, esi
mov ebx, eax
shl ecx, 4
mov eax, dword [0x6ef198]
sub ecx, esi
add ecx, ecx
mov edi, edx
sub eax, ecx
imul ecx, eax, 0x14e
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push edi
push ebx
push str.Assault_Course:__d:_2.2d._02d
jmp 0x48223f
mov eax, 0x88888889
mul dword [0x6ef6e7]
mov eax, 0x88888889
mov esi, edx
shr esi, 4
imul esi
mov ecx, esi
add edx, esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
shl edx, 4
sub edx, eax
shl edx, 2
sub ecx, edx
cdq
push ecx
mov ecx, 0x3c
idiv ecx
mov eax, 0x91a2b3c5
push edx
imul esi
add edx, esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.Time_Taken:__02d:_02d:_02d
push 0x7ccc58
call fcn.004216a0
add esp, 0x14
mov eax, 0x7ccc58
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 0x10], 1
call fcn.004b1610
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.004b557b
mov esp, ebp
pop ebp
ret