Function at 0x4c1947
Capabilities:
Get geographical location

Disassembly:
push ebp
push ebx
mov edx, 0x10
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x4c194e
call fcn.005423e0
lea edx, [esp + 0x14]
push edx
push 0x642958
push 8
push 4
push 4
call fcn.00537b06
lea edx, [esp + 0x28]
push edx
push 0x642958
push 8
push 4
push 4
call fcn.00537b06
lea edx, [esp + 0x38]
push edx
push 0x642958
push 8
push 4
push 4
call fcn.00537b06
movsx eax, byte [esp + 0x4c]
push eax
pop eax
mov byte [esp + 4], al
movsx eax, byte [esp + 0x4c]
push eax
pop eax
mov byte [esp + 8], al
movsx ebx, byte [esp + 0x4c]
cmp ebx, 4
jne 0x4c19e4
mov byte [esp + 4], 0
mov byte [esp + 8], 3
movsx eax, byte [esp + 4]
push eax
pop eax
mov byte [esp], al
jmp 0x4c19f0
movsx eax, byte [esp + 8]
cmp al, byte [esp]
jl 0x4c1f32
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
mov eax, 0x62022a
push eax
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
movsx ebx, byte [esp + 0x14]
add ebx, 0x223
push ebx
call fcn.00528764
call fcn.004fa482
add dword [esp], edx
call fcn.0053fb20
movsx ebx, byte [esp + 4]
mov ebp, dword [esp + 0x2c]
shl ebx, 2
lea eax, [ebp + ebx]
push eax
call fcn.00542280
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
push 2
mov eax, 0x6209c2
push eax
mov eax, 0x6208c0
push eax
movsx ebx, byte [esp + 0x14]
shl ebx, 2
push dword [ebp + ebx]
call fcn.0053f110
call fcn.004fa4e0
movsx ebx, byte [esp]
shl ebx, 2
push dword [ebp + ebx]
movsx ebx, byte [esp + 4]
add ebx, 0x223
push ebx
call fcn.00528678
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
mov eax, 0x62022a
push eax
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
movsx ebx, byte [esp + 0x14]
add ebx, 0x227
push ebx
call fcn.00528764
call fcn.004fa482
add dword [esp], edx
call fcn.0053fb20
movsx ebx, byte [esp + 4]
mov ebp, dword [esp + 0x18]
shl ebx, 2
lea eax, [ebp + ebx]
push eax
call fcn.00542280
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
push 2
mov eax, 0x6209c2
push eax
mov eax, 0x6208c0
push eax
movsx ebx, byte [esp + 0x14]
shl ebx, 2
push dword [ebp + ebx]
call fcn.0053f110
call fcn.004fa4e0
movsx ebx, byte [esp]
shl ebx, 2
push dword [ebp + ebx]
movsx ebx, byte [esp + 4]
add ebx, 0x227
push ebx
call fcn.00528678
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
movsx ebx, byte [esp + 0x10]
add ebx, 0x22f
push ebx
call fcn.00528764
call fcn.004fa482
add dword [esp], edx
call fcn.0053fc10
movsx ebx, byte [esp + 4]
mov ebp, dword [esp + 0x3c]
shl ebx, 2
lea eax, [ebp + ebx]
push eax
call fcn.00542280
movsx ebx, byte [esp]
shl ebx, 2
push dword [ebp + ebx]
movsx ebx, byte [esp + 4]
add ebx, 0x22f
push ebx
call fcn.00528678
movsx ebx, byte [esp]
and ebx, ebx
jne 0x4c1c4c
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x28]
shl ebx, 2
push dword [ebp + ebx]
mov edx, 0x61f062
pop ecx
call fcn.004fa4a0
jne 0x4c1c0a
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x14]
shl ebx, 2
push dword [ebp + ebx]
mov edx, 0x61f062
pop ecx
call fcn.004fa4a0
jne 0x4c1c0a
jmp 0x4c1c11
mov eax, 1
jmp 0x4c1c13
xor eax, eax
and eax, eax
jne 0x4c1c35
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x38]
shl ebx, 2
push dword [ebp + ebx]
mov edx, 0x61f062
pop ecx
call fcn.004fa4a0
jne 0x4c1c35
jmp 0x4c1c3c
mov eax, 1
jmp 0x4c1c3e
xor eax, eax
and eax, eax
je 0x4c1c4c
mov byte [esp + 0xc], 0xa
jmp 0x4c1f32
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x28]
shl ebx, 2
mov edx, dword [ebp + ebx]
xor ecx, ecx
call fcn.004fa4a0
jne 0x4c1c91
movsx ebx, byte [esp]
shl ebx, 2
push dword [ebp + ebx]
push 6
call fcn.00503640
and eax, eax
je 0x4c1c81
xor eax, eax
jmp 0x4c1c86
mov eax, 1
and eax, eax
je 0x4c1c91
mov eax, 1
jmp 0x4c1c93
xor eax, eax
and eax, eax
je 0x4c1ca1
mov byte [esp + 0xc], 1
jmp 0x4c1f32
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x28]
shl ebx, 2
push dword [ebp + ebx]
call fcn.00540320
fabs
fcomp qword [0x642608]
fnstsw ax
test ah, 0x41
jne 0x4c1cce
mov byte [esp + 0xc], 1
jmp 0x4c1f32
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x14]
shl ebx, 2
mov edx, dword [ebp + ebx]
xor ecx, ecx
call fcn.004fa4a0
jne 0x4c1d13
movsx ebx, byte [esp]
shl ebx, 2
push dword [ebp + ebx]
push 6
call fcn.00503640
and eax, eax
je 0x4c1d03
xor eax, eax
jmp 0x4c1d08
mov eax, 1
and eax, eax
je 0x4c1d13
mov eax, 1
jmp 0x4c1d15
xor eax, eax
and eax, eax
je 0x4c1d23
mov byte [esp + 0xc], 2
jmp 0x4c1f32
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x14]
shl ebx, 2
push dword [ebp + ebx]
call fcn.00540320
fabs
fcomp qword [0x6425f8]
fnstsw ax
test ah, 0x41
jne 0x4c1d50
mov byte [esp + 0xc], 2
jmp 0x4c1f32
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x38]
shl ebx, 2
mov edx, dword [ebp + ebx]
xor ecx, ecx
call fcn.004fa4a0
jne 0x4c1db6
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x28]
shl ebx, 2
push dword [ebp + ebx]
mov edx, 0x61f062
pop ecx
call fcn.004fa4a0
jne 0x4c1da2
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x14]
shl ebx, 2
push dword [ebp + ebx]
mov edx, 0x61f062
pop ecx
call fcn.004fa4a0
jne 0x4c1da2
jmp 0x4c1da9
mov eax, 1
jmp 0x4c1dab
xor eax, eax
and eax, eax
je 0x4c1db6
mov eax, 1
jmp 0x4c1db8
xor eax, eax
and eax, eax
je 0x4c1dc6
mov byte [esp + 0xc], 3
jmp 0x4c1f32
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x28]
shl ebx, 2
mov edx, dword [ebp + ebx]
xor ecx, ecx
call fcn.004fa4a0
jne 0x4c1e2c
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x38]
shl ebx, 2
push dword [ebp + ebx]
mov edx, 0x61f062
pop ecx
call fcn.004fa4a0
jne 0x4c1e18
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x14]
shl ebx, 2
push dword [ebp + ebx]
mov edx, 0x61f062
pop ecx
call fcn.004fa4a0
jne 0x4c1e18
jmp 0x4c1e1f
mov eax, 1
jmp 0x4c1e21
xor eax, eax
and eax, eax
je 0x4c1e2c
mov eax, 1
jmp 0x4c1e2e
xor eax, eax
and eax, eax
je 0x4c1e3c
mov byte [esp + 0xc], 3
jmp 0x4c1f32
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x14]
shl ebx, 2
mov edx, dword [ebp + ebx]
xor ecx, ecx
call fcn.004fa4a0
jne 0x4c1ea2
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x38]
shl ebx, 2
push dword [ebp + ebx]
mov edx, 0x61f062
pop ecx
call fcn.004fa4a0
jne 0x4c1e8e
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x28]
shl ebx, 2
push dword [ebp + ebx]
mov edx, 0x61f062
pop ecx
call fcn.004fa4a0
jne 0x4c1e8e
jmp 0x4c1e95
mov eax, 1
jmp 0x4c1e97
xor eax, eax
and eax, eax
je 0x4c1ea2
mov eax, 1
jmp 0x4c1ea4
xor eax, eax
and eax, eax
je 0x4c1eb2
mov byte [esp + 0xc], 3
jmp 0x4c1f32
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x38]
shl ebx, 2
mov edx, dword [ebp + ebx]
xor ecx, ecx
call fcn.004fa4a0
jne 0x4c1ef2
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x14]
shl ebx, 2
push dword [ebp + ebx]
call fcn.00540320
fcomp qword [0x642318]
fnstsw ax
test ah, 0x40
je 0x4c1ef2
mov eax, 1
jmp 0x4c1ef4
xor eax, eax
and eax, eax
je 0x4c1f1c
movsx ebx, byte [esp]
shl ebx, 2
push dword [ebp + ebx]
call fcn.00540320
fcomp qword [0x642318]
fnstsw ax
test ah, 0x40
je 0x4c1f1c
mov eax, 1
jmp 0x4c1f1e
xor eax, eax
and eax, eax
je 0x4c1f29
mov byte [esp + 0xc], 4
jmp 0x4c1f32
inc byte [esp]
jno 0x4c19f0
cmp byte [esp + 0xc], 0
je 0x4c204a
movsx ebx, byte [esp + 0xc]
push ebx
mov ebx, 0xa
cmp ebx, dword [esp]
jne 0x4c1f5d
mov edx, str.main_QTH__mandatory_data
lea ecx, [esp + 0x14]
call fcn.004fa008
jmp 0x4c1fc3
mov ebx, 1
cmp ebx, dword [esp]
jne 0x4c1f77
mov edx, 0x62e680
lea ecx, [esp + 0x14]
call fcn.004fa008
jmp 0x4c1fc3
mov ebx, 2
cmp ebx, dword [esp]
jne 0x4c1f91
mov edx, str.latitude_s
lea ecx, [esp + 0x14]
call fcn.004fa008
jmp 0x4c1fc3
mov ebx, 3
cmp ebx, dword [esp]
jne 0x4c1fab
mov edx, str.entries__data_missing
lea ecx, [esp + 0x14]
call fcn.004fa008
jmp 0x4c1fc3
mov ebx, 4
cmp ebx, dword [esp]
jne 0x4c1fc3
mov edx, str.coordinates__lon_and_lat_are_zero
lea ecx, [esp + 0x14]
call fcn.004fa008
pop eax
push edx
call fcn.00542240
pop edx
push eax
mov edx, str.QTH
push edx
call fcn.00542310
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
movsx eax, byte [esp + 0xc]
cdq
push edx
push eax
call fcn.0053f630
pop eax
mov edx, str.:_Please_check_your
push edx
call fcn.00542310
mov edx, dword [esp + 0x14]
push edx
call fcn.00542310
mov edx, 0x6330dc
push edx
call fcn.00542310
lea eax, [esp + 0x14]
push eax
call fcn.00542280
push dword [esp + 0x10]
push 0x23f
call fcn.00528678
push 0x50030
mov eax, str.Data_warning
push eax
push dword [esp + 0x18]
lea ebp, [0x72a860]
push dword [ebp]
call fcn.00478149
movsx eax, byte [esp + 0xc]
movsx eax, al
jmp 0x4c2056
push dword [esp + 0x10]
call fcn.00542440
push eax
push dword [esp + 0x18]
call fcn.00537c59
push dword [esp + 0x2c]
call fcn.00537c59
push dword [esp + 0x3c]
call fcn.00537c59
pop eax
add esp, 0x40
pop ebx
pop ebp
ret 4