Function at 0x10017179
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
mov eax, dword [0x100ba2d8]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x100e0798], 4
push esi
push edi
jne 0x10017243
mov ecx, str.Differences_between_the_dates_in_the_two_charts:_n
call fcn.1001f16b
fld qword [0x100e0a70]
fsub qword [0x100e0ab0]
xor esi, esi
inc esi
fabs
fstp qword [ebp - 0x68]
fld qword [0x100e0a78]
fsub qword [0x100e0ab8]
fabs
fstp qword [ebp - 0x60]
cmp esi, 7
jg 0x100170a4
mov ecx, dword [esi*4 + 0x100e1fa0]
jmp 0x100170a7
or ecx, 0xffffffff
call fcn.1001f4dd
lea eax, [esi - 1]
cmp eax, 9
ja case.default.0x100170bb
lea eax, [esi - 1]
jmp dword [eax*4 + 0x10017468]
fld qword [0x100e0998]
push ecx
fdiv qword [0x100aa8b0]
push ecx
fstp qword [esp]
push str.Years__:__.2f
lea eax, [ebp - 0x58]
push eax
call fcn.10062ff4
add esp, 0x10
jmp case.default.0x100170bb
fld qword [0x100e0998]
push ecx
fdiv qword [0x100aa8a8]
push ecx
fstp qword [esp]
push str.Months_:__.2f
jmp 0x100170d8
fld qword [0x100e0998]
push ecx
fdiv qword [0x100a9e70]
push ecx
fstp qword [esp]
push str.Weeks__:__.2f
jmp 0x100170d8
fld qword [0x100e0998]
push ecx
push ecx
fstp qword [esp]
push str.Days___:__.2f
jmp 0x100170d8
fld qword [0x100e0998]
push ecx
fmul qword [0x100a8de8]
push ecx
fstp qword [esp]
push str.Hours__:__.2f
jmp 0x100170d8
fld qword [0x100e0998]
push ecx
fmul qword [0x100aa8a0]
push ecx
fstp qword [esp]
push str.Minutes:__.2f
jmp 0x100170d8
fld qword [0x100e0998]
push ecx
fmul qword [0x100a8840]
push ecx
fstp qword [esp]
push str.Seconds:__.2f
jmp 0x100170d8
fld qword [ebp - 0x68]
push ecx
push ecx
fstp qword [esp]
push str.Longitude:__.2f
jmp 0x100170d8
fld qword [ebp - 0x60]
push ecx
push ecx
fstp qword [esp]
push str.Latitude_:__.2f
jmp 0x100170d8
fld qword [0x100e0ab8]
sub esp, 0x20
fstp qword [esp + 0x18]
fld qword [0x100e0ab0]
fstp qword [esp + 0x10]
fld qword [0x100e0a78]
fstp qword [esp + 8]
fld qword [0x100e0a70]
fstp qword [esp]
call fcn.1001eb53
mov eax, dword [0x100e072c]
fstp qword [ebp - 0x60]
add esp, 0x20
mov ecx, 0x10092af0
test eax, eax
jne 0x1001723b
fld qword [0x100aa898]
mov ecx, str.miles
fld qword [ebp - 0x60]
push ecx
fdiv qword [0x100a87f0]
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.10062ff4
add esp, 0x1c
lea ecx, [ebp - 0x58]
call fcn.1001f16b
mov al, 0xa
call fcn.1001f3a9
inc esi
cmp esi, 0xa
jle 0x10017096
or ecx, 0xffffffff
call fcn.1001f4dd
jmp 0x10017459
fld qword [0x100aa890]
jmp 0x100171eb
mov esi, dword [0x100e0888]
fld qword [0x100e0998]
fadd qword [0x100a87a0]
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.10072490
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 0x1001744d
test esi, esi
jne 0x1001728e
mov ecx, dword [0x100e1dd8]
jmp 0x10017296
cmp esi, 1
jne 0x1001729b
or ecx, 0xffffffff
call fcn.1001f4dd
mov eax, esi
cdq
xor eax, edx
sub eax, edx
mov ecx, 0x10098890
cmp eax, 0xa
jl 0x100172b1
mov ecx, 0x10092a18
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.10062ff4
add esp, 0x18
lea ecx, [ebp - 0x58]
call fcn.1001f16b
xor edi, edi
inc edi
mov al, 0x20
call fcn.1001f3a9
cmp edi, 1
jg 0x100172fd
mov ecx, dword [0x100e1fa4]
jmp 0x1001730e
mov ecx, dword [0x100e1fb8]
cmp edi, 2
je 0x1001730e
mov ecx, dword [0x100e1fac]
call fcn.1001f4dd
mov eax, edi
dec eax
je 0x10017338
dec eax
je 0x1001732b
dec eax
jne 0x1001734b
fld qword [0x100aa1e0]
mov ecx, str.Intellectual
jmp 0x10017343
fld qword [0x100aa888]
mov ecx, str.Emotional
jmp 0x10017343
fld qword [0x100aa880]
mov ecx, str.Physical
fstp qword [ebp - 0x68]
call fcn.1001f16b
test esi, esi
je 0x10017354
or ecx, 0xffffffff
jmp 0x1001735a
mov ecx, dword [0x100e1dd8]
call fcn.1001f4dd
fld qword [0x100e0998]
fdiv qword [ebp - 0x68]
fmul qword [0x100a8d60]
call fcn.100721c0
fmul qword [0x100a8868]
fstp qword [ebp - 0x60]
fldz
fcomp qword [ebp - 0x60]
fnstsw ax
mov al, 0x2d
test ah, 0x41
je 0x1001738c
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.10062ff4
add esp, 0x14
lea ecx, [ebp - 0x58]
call fcn.1001f16b
mov ecx, dword [0x100e1de8]
call fcn.1001f4dd
fld qword [0x100a8898]
fcomp qword [ebp - 0x60]
fnstsw ax
test ah, 5
jp 0x100173d2
mov al, 0x29
jmp 0x100173e6
fld qword [0x100aa878]
fcomp qword [ebp - 0x60]
fnstsw ax
mov al, 0x28
test ah, 0x41
je 0x100173e6
add al, 0x54
movsx eax, al
push eax
lea eax, [ebp - 0x58]
push str._:_c
push eax
call fcn.10062ff4
add esp, 0xc
lea ecx, [ebp - 0x58]
call fcn.1001f16b
test esi, esi
je 0x1001740c
or ecx, 0xffffffff
jmp 0x10017412
mov ecx, dword [0x100e1dd8]
call fcn.1001f4dd
cmp edi, 3
jge 0x10017423
mov al, 0x2c
call fcn.1001f3a9
inc edi
cmp edi, 3
jle 0x100172e9
mov al, 0xa
call fcn.1001f3a9
fld qword [0x100e0998]
mov eax, dword [0x100e0888]
fadd qword [0x100a87e0]
cdq
sub eax, edx
inc esi
sar eax, 1
cmp esi, eax
fstp qword [0x100e0998]
jle 0x10017282
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.10062fe5
leave
ret