Function at 0x10019158
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
mov eax, dword [0x100c77f4]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x100edcf0], 4
push esi
push edi
jne 0x10019210
mov ecx, str.Differences_between_the_dates_in_the_two_charts:_n
call fcn.10021135
fld qword [0x100edfc8]
fsub qword [0x100ee008]
xor esi, esi
inc esi
fabs
fstp qword [ebp - 0x68]
fld qword [0x100edfd0]
fsub qword [0x100ee010]
fabs
fstp qword [ebp - 0x60]
cmp esi, 7
jg 0x10019071
mov ecx, dword [esi*4 + 0x100ef4f8]
jmp 0x10019074
or ecx, 0xffffffff
call fcn.100214a7
lea eax, [esi - 1]
cmp eax, 9
ja case.default.0x10019088
lea eax, [esi - 1]
jmp dword [eax*4 + 0x10019435]
fld qword [0x100edef0]
push ecx
fdiv qword [0x100b6a80]
push ecx
fstp qword [esp]
push str.Years__:__.2f
lea eax, [ebp - 0x58]
push eax
call fcn.100675d6
add esp, 0x10
jmp case.default.0x10019088
fld qword [0x100edef0]
push ecx
fdiv qword [0x100b6a78]
push ecx
fstp qword [esp]
push str.Months_:__.2f
jmp 0x100190a5
fld qword [0x100edef0]
push ecx
fdiv qword [0x100b6040]
push ecx
fstp qword [esp]
push str.Weeks__:__.2f
jmp 0x100190a5
fld qword [0x100edef0]
push ecx
push ecx
fstp qword [esp]
push str.Days___:__.2f
jmp 0x100190a5
fld qword [0x100edef0]
push ecx
fmul qword [0x100b4fb8]
push ecx
fstp qword [esp]
push str.Hours__:__.2f
jmp 0x100190a5
fld qword [0x100edef0]
push ecx
fmul qword [0x100b6a70]
push ecx
fstp qword [esp]
push str.Minutes:__.2f
jmp 0x100190a5
fld qword [0x100edef0]
push ecx
fmul qword [0x100b4a10]
push ecx
fstp qword [esp]
push str.Seconds:__.2f
jmp 0x100190a5
fld qword [ebp - 0x68]
push ecx
push ecx
fstp qword [esp]
push str.Longitude:__.2f
jmp 0x100190a5
fld qword [ebp - 0x60]
push ecx
push ecx
fstp qword [esp]
push str.Latitude_:__.2f
jmp 0x100190a5
fld qword [0x100ee010]
sub esp, 0x20
fstp qword [esp + 0x18]
fld qword [0x100ee008]
fstp qword [esp + 0x10]
fld qword [0x100edfd0]
fstp qword [esp + 8]
fld qword [0x100edfc8]
fstp qword [esp]
call fcn.10020b1d
mov eax, dword [0x100edc84]
fstp qword [ebp - 0x60]
add esp, 0x20
mov ecx, 0x1009ed64
test eax, eax
jne 0x10019208
fld qword [0x100b6a68]
mov ecx, str.miles
fld qword [ebp - 0x60]
push ecx
fdiv qword [0x100b49c0]
sub esp, 0x10
lea eax, [ebp - 0x58]
fmulp st(1)
fstp qword [esp + 8]
fld qword [ebp - 0x60]
fstp qword [esp]
push str.Distance_:__.2f___.2f__s_
push eax
call fcn.100675d6
add esp, 0x1c
lea ecx, [ebp - 0x58]
call fcn.10021135
mov al, 0xa
call fcn.10021373
inc esi
cmp esi, 0xa
jle 0x10019063
or ecx, 0xffffffff
call fcn.100214a7
jmp 0x10019426
fld qword [0x100b6a60]
jmp 0x100191b8
mov esi, dword [0x100edde0]
fld qword [0x100edef0]
fadd qword [0x100b4970]
mov eax, esi
cdq
sub eax, edx
push ecx
mov dword [ebp - 0x5c], eax
sar dword [ebp - 0x5c], 1
push ecx
fstp qword [esp]
call fcn.1007d620
fisub dword [ebp - 0x5c]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov esi, eax
pop ecx
neg esi
cmp esi, dword [ebp - 0x5c]
pop ecx
jmp 0x1001941a
test esi, esi
jne 0x1001925b
mov ecx, dword [0x100ef330]
jmp 0x10019263
cmp esi, 1
jne 0x10019268
or ecx, 0xffffffff
call fcn.100214a7
mov eax, esi
cdq
xor eax, edx
sub eax, edx
mov ecx, 0x1008653c
cmp eax, 0xa
jl 0x1001927e
mov ecx, 0x10086815
lea edx, [eax - 1]
neg edx
sbb edx, edx
and edx, 0x53
add edx, 0x20
push edx
push ecx
push eax
xor eax, eax
test esi, esi
sets al
lea eax, [eax + eax + 0x2b]
push eax
lea eax, [ebp - 0x58]
push str.T_c_d_sDay_c:
push eax
call fcn.100675d6
add esp, 0x18
lea ecx, [ebp - 0x58]
call fcn.10021135
xor edi, edi
inc edi
mov al, 0x20
call fcn.10021373
cmp edi, 1
jg 0x100192ca
mov ecx, dword [0x100ef4fc]
jmp 0x100192db
mov ecx, dword [0x100ef510]
cmp edi, 2
je 0x100192db
mov ecx, dword [0x100ef504]
call fcn.100214a7
mov eax, edi
dec eax
je 0x10019305
dec eax
je 0x100192f8
dec eax
jne 0x10019318
fld qword [0x100b63b0]
mov ecx, str.Intellectual
jmp 0x10019310
fld qword [0x100b6a58]
mov ecx, str.Emotional
jmp 0x10019310
fld qword [0x100b6a50]
mov ecx, str.Physical
fstp qword [ebp - 0x68]
call fcn.10021135
test esi, esi
je 0x10019321
or ecx, 0xffffffff
jmp 0x10019327
mov ecx, dword [0x100ef330]
call fcn.100214a7
fld qword [0x100edef0]
fdiv qword [ebp - 0x68]
fmul qword [0x100b4f30]
call fcn.1007d350
fmul qword [0x100b4a38]
fstp qword [ebp - 0x60]
fldz
fcomp qword [ebp - 0x60]
fnstsw ax
mov al, 0x2d
test ah, 0x41
je 0x10019359
add al, 0xfe
fld qword [ebp - 0x60]
push ecx
push ecx
fabs
movsx eax, al
fstp qword [esp]
push eax
lea eax, [ebp - 0x58]
push str._at__c_3.0f__
push eax
call fcn.100675d6
add esp, 0x14
lea ecx, [ebp - 0x58]
call fcn.10021135
mov ecx, dword [0x100ef340]
call fcn.100214a7
fld qword [0x100b4a68]
fcomp qword [ebp - 0x60]
fnstsw ax
test ah, 5
jp 0x1001939f
mov al, 0x29
jmp 0x100193b3
fld qword [0x100b6a48]
fcomp qword [ebp - 0x60]
fnstsw ax
mov al, 0x28
test ah, 0x41
je 0x100193b3
add al, 0x54
movsx eax, al
push eax
lea eax, [ebp - 0x58]
push str._:_c
push eax
call fcn.100675d6
add esp, 0xc
lea ecx, [ebp - 0x58]
call fcn.10021135
test esi, esi
je 0x100193d9
or ecx, 0xffffffff
jmp 0x100193df
mov ecx, dword [0x100ef330]
call fcn.100214a7
cmp edi, 3
jge 0x100193f0
mov al, 0x2c
call fcn.10021373
inc edi
cmp edi, 3
jle 0x100192b6
mov al, 0xa
call fcn.10021373
fld qword [0x100edef0]
mov eax, dword [0x100edde0]
fadd qword [0x100b49b0]
cdq
sub eax, edx
inc esi
sar eax, 1
cmp esi, eax
fstp qword [0x100edef0]
jle 0x1001924f
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.10067574
leave
ret