Function at 0x4c18fc
Capabilities:
Get geographical location

Disassembly:
push ebp
push ebx
mov edx, 0x10
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x4c1903
call fcn.005423e0
lea edx, [esp + 0x14]
push edx
push 0x64294c
push 8
push 4
push 4
call fcn.00537b06
lea edx, [esp + 0x28]
push edx
push 0x64294c
push 8
push 4
push 4
call fcn.00537b06
lea edx, [esp + 0x38]
push edx
push 0x64294c
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 0x4c1999
mov byte [esp + 4], 0
mov byte [esp + 8], 3
movsx eax, byte [esp + 4]
push eax
pop eax
mov byte [esp], al
jmp 0x4c19a5
movsx eax, byte [esp + 8]
cmp al, byte [esp]
jl 0x4c1ee7
push edx
call fcn.00542240
pop edx
push eax
push edx
call fcn.00542240
pop edx
push eax
mov eax, 0x6201f4
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, 0x62098c
push eax
mov eax, 0x62088a
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, 0x6201f4
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, 0x62098c
push eax
mov eax, 0x62088a
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 0x4c1c01
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 0x4c1bbf
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 0x4c1bbf
jmp 0x4c1bc6
mov eax, 1
jmp 0x4c1bc8
xor eax, eax
and eax, eax
jne 0x4c1bea
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 0x4c1bea
jmp 0x4c1bf1
mov eax, 1
jmp 0x4c1bf3
xor eax, eax
and eax, eax
je 0x4c1c01
mov byte [esp + 0xc], 0xa
jmp 0x4c1ee7
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x28]
shl ebx, 2
mov edx, dword [ebp + ebx]
xor ecx, ecx
call fcn.004fa4a0
jne 0x4c1c46
movsx ebx, byte [esp]
shl ebx, 2
push dword [ebp + ebx]
push 6
call fcn.00503640
and eax, eax
je 0x4c1c36
xor eax, eax
jmp 0x4c1c3b
mov eax, 1
and eax, eax
je 0x4c1c46
mov eax, 1
jmp 0x4c1c48
xor eax, eax
and eax, eax
je 0x4c1c56
mov byte [esp + 0xc], 1
jmp 0x4c1ee7
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x28]
shl ebx, 2
push dword [ebp + ebx]
call fcn.00540320
fabs
fcomp qword [0x6425fc]
fnstsw ax
test ah, 0x41
jne 0x4c1c83
mov byte [esp + 0xc], 1
jmp 0x4c1ee7
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x14]
shl ebx, 2
mov edx, dword [ebp + ebx]
xor ecx, ecx
call fcn.004fa4a0
jne 0x4c1cc8
movsx ebx, byte [esp]
shl ebx, 2
push dword [ebp + ebx]
push 6
call fcn.00503640
and eax, eax
je 0x4c1cb8
xor eax, eax
jmp 0x4c1cbd
mov eax, 1
and eax, eax
je 0x4c1cc8
mov eax, 1
jmp 0x4c1cca
xor eax, eax
and eax, eax
je 0x4c1cd8
mov byte [esp + 0xc], 2
jmp 0x4c1ee7
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x14]
shl ebx, 2
push dword [ebp + ebx]
call fcn.00540320
fabs
fcomp qword [0x6425ec]
fnstsw ax
test ah, 0x41
jne 0x4c1d05
mov byte [esp + 0xc], 2
jmp 0x4c1ee7
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x38]
shl ebx, 2
mov edx, dword [ebp + ebx]
xor ecx, ecx
call fcn.004fa4a0
jne 0x4c1d6b
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 0x4c1d57
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 0x4c1d57
jmp 0x4c1d5e
mov eax, 1
jmp 0x4c1d60
xor eax, eax
and eax, eax
je 0x4c1d6b
mov eax, 1
jmp 0x4c1d6d
xor eax, eax
and eax, eax
je 0x4c1d7b
mov byte [esp + 0xc], 3
jmp 0x4c1ee7
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x28]
shl ebx, 2
mov edx, dword [ebp + ebx]
xor ecx, ecx
call fcn.004fa4a0
jne 0x4c1de1
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 0x4c1dcd
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 0x4c1dcd
jmp 0x4c1dd4
mov eax, 1
jmp 0x4c1dd6
xor eax, eax
and eax, eax
je 0x4c1de1
mov eax, 1
jmp 0x4c1de3
xor eax, eax
and eax, eax
je 0x4c1df1
mov byte [esp + 0xc], 3
jmp 0x4c1ee7
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x14]
shl ebx, 2
mov edx, dword [ebp + ebx]
xor ecx, ecx
call fcn.004fa4a0
jne 0x4c1e57
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 0x4c1e43
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 0x4c1e43
jmp 0x4c1e4a
mov eax, 1
jmp 0x4c1e4c
xor eax, eax
and eax, eax
je 0x4c1e57
mov eax, 1
jmp 0x4c1e59
xor eax, eax
and eax, eax
je 0x4c1e67
mov byte [esp + 0xc], 3
jmp 0x4c1ee7
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x38]
shl ebx, 2
mov edx, dword [ebp + ebx]
xor ecx, ecx
call fcn.004fa4a0
jne 0x4c1ea7
movsx ebx, byte [esp]
mov ebp, dword [esp + 0x14]
shl ebx, 2
push dword [ebp + ebx]
call fcn.00540320
fcomp qword [0x64230c]
fnstsw ax
test ah, 0x40
je 0x4c1ea7
mov eax, 1
jmp 0x4c1ea9
xor eax, eax
and eax, eax
je 0x4c1ed1
movsx ebx, byte [esp]
shl ebx, 2
push dword [ebp + ebx]
call fcn.00540320
fcomp qword [0x64230c]
fnstsw ax
test ah, 0x40
je 0x4c1ed1
mov eax, 1
jmp 0x4c1ed3
xor eax, eax
and eax, eax
je 0x4c1ede
mov byte [esp + 0xc], 4
jmp 0x4c1ee7
inc byte [esp]
jno 0x4c19a5
cmp byte [esp + 0xc], 0
je 0x4c1fff
movsx ebx, byte [esp + 0xc]
push ebx
mov ebx, 0xa
cmp ebx, dword [esp]
jne 0x4c1f12
mov edx, str.main_QTH__mandatory_data
lea ecx, [esp + 0x14]
call fcn.004fa008
jmp 0x4c1f78
mov ebx, 1
cmp ebx, dword [esp]
jne 0x4c1f2c
mov edx, str.longitude_s
lea ecx, [esp + 0x14]
call fcn.004fa008
jmp 0x4c1f78
mov ebx, 2
cmp ebx, dword [esp]
jne 0x4c1f46
mov edx, str.latitude_s
lea ecx, [esp + 0x14]
call fcn.004fa008
jmp 0x4c1f78
mov ebx, 3
cmp ebx, dword [esp]
jne 0x4c1f60
mov edx, str.entries__data_missing
lea ecx, [esp + 0x14]
call fcn.004fa008
jmp 0x4c1f78
mov ebx, 4
cmp ebx, dword [esp]
jne 0x4c1f78
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, 0x623624
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, 0x6330d2
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, [0x72a850]
push dword [ebp]
call fcn.004780fe
movsx eax, byte [esp + 0xc]
movsx eax, al
jmp 0x4c200b
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