// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathmsc.cpp
// Function: adjust_season(double)
void adjust_season(double season)
{
int temp_hours;
int temp_minutes;
int temp_seconds;
int temp_day;
int temp_month;
int temp_year;
double temp_jd_utc;
double temp_jd_gps;

   // adjust season Julian date for local time zone
   temp_hours   = pri_hours;    // save current time
   temp_minutes = pri_minutes;
   temp_seconds = pri_seconds;
   temp_day     = pri_day;
   temp_month   = pri_month;
   temp_year    = pri_year;
   temp_jd_utc  = jd_utc;
   temp_jd_gps  = jd_gps;

   gregorian(0, season);           // convert Julian season value to Gregorian

   jd_utc = jdate(g_year,g_month,g_day) + jtime(g_hours,g_minutes,g_seconds,g_frac);
   jd_gps = jd_utc + jtime(0,0,utc_offset,0.0);
   adjust_tz(20);               // convert UTC season values to local time zone
   strcpy(out, time_zone_set?tz_string:(time_flags & TFLAGS_UTC)?"UTC":"GPS");

   g_year    = pri_year;        // save season time values in the Gregorian variables
   g_month   = pri_month;
   g_day     = pri_day;
   g_hours   = pri_hours;
   g_minutes = pri_minutes;
   g_seconds = pri_seconds;
   g_frac    = pri_frac;

   pri_hours   = temp_hours;    // restore the current time
   pri_minutes = temp_minutes;
   pri_seconds = temp_seconds;
   pri_day     = temp_day;
   pri_month   = temp_month;
   pri_year    = temp_year;
   jd_utc      = temp_jd_utc;
   jd_gps      = temp_jd_gps;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
leaq 0x227f0d(%rip), %rax    # 0x30d508
movl (%rax), %eax
movl %eax, -0x3c(%rbp)
leaq 0x227efd(%rip), %rax    # 0x30d504
movl (%rax), %eax
movl %eax, -0x38(%rbp)
leaq 0x227eed(%rip), %rax    # 0x30d500
movl (%rax), %eax
movl %eax, -0x34(%rbp)
leaq 0x227eed(%rip), %rax    # 0x30d50c
movl (%rax), %eax
movl %eax, -0x30(%rbp)
leaq 0x227ee5(%rip), %rax    # 0x30d510
movl (%rax), %eax
movl %eax, -0x2c(%rbp)
leaq 0x227edd(%rip), %rax    # 0x30d514
leaq 0x227ef2(%rip), %r15    # 0x30d530
movsd (%r15), %xmm1
movsd %xmm1, -0x50(%rbp)
leaq 0x227ee9(%rip), %r12    # 0x30d538
movsd (%r12), %xmm1
movsd %xmm1, -0x48(%rbp)
movl (%rax), %ebx
xorl %edi, %edi
callq 0xd0c46
leaq 0x22803a(%rip), %rax    # 0x30d6a4
movl (%rax), %edi
leaq 0x228029(%rip), %rax    # 0x30d69c
movl (%rax), %esi
leaq 0x228024(%rip), %rax    # 0x30d6a0
movl (%rax), %edx
callq 0xd4110
leaq 0x22801e(%rip), %r14    # 0x30d6a8
leaq 0x22801b(%rip), %r13    # 0x30d6ac
leaq 0x228018(%rip), %rcx    # 0x30d6b0
xorps %xmm1, %xmm1
cvtsi2sdl (%r14), %xmm1
cvtsi2sdl (%r13), %xmm2
leaq 0x22800b(%rip), %rax    # 0x30d6b8
divsd 0x23953(%rip), %xmm2    # 0x109008
addsd %xmm1, %xmm2
xorps %xmm1, %xmm1
cvtsi2sdl (%rcx), %xmm1
addsd (%rax), %xmm1
movsd 0x23944(%rip), %xmm3    # 0x109010
divsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movsd 0x23964(%rip), %xmm2    # 0x109040
divsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd %xmm1, (%r15)
leaq 0x228038(%rip), %rax    # 0x30d728
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
divsd %xmm3, %xmm0
xorpd %xmm3, %xmm3
addsd %xmm0, %xmm3
divsd %xmm2, %xmm3
addsd %xmm1, %xmm3
movsd %xmm3, (%r12)
callq 0xe1b3f
leaq 0x228177(%rip), %rax    # 0x30d894
leaq 0x227d80(%rip), %rcx    # 0x30d4a4
testb $0x1, (%rcx)
leaq 0x4e0d3(%rip), %rcx     # 0x133801
leaq 0x4f689(%rip), %rsi     # 0x134dbe
cmoveq %rcx, %rsi
cmpb $0x0, (%rax)
je 0xe5745
leaq 0x2281eb(%rip), %rsi    # 0x30d930
leaq 0x256ad4(%rip), %rdi    # 0x33c220
callq 0x9340
leaq 0x227dbc(%rip), %r9     # 0x30d514
movl (%r9), %eax
leaq 0x227f42(%rip), %rcx    # 0x30d6a4
movl %eax, (%rcx)
leaq 0x227da5(%rip), %r8     # 0x30d510
movl (%r8), %eax
leaq 0x227f27(%rip), %rcx    # 0x30d69c
movl %eax, (%rcx)
leaq 0x227d8e(%rip), %rdi    # 0x30d50c
movl (%rdi), %eax
leaq 0x227f19(%rip), %rcx    # 0x30d6a0
movl %eax, (%rcx)
leaq 0x227d78(%rip), %rcx    # 0x30d508
movl (%rcx), %eax
movl %eax, (%r14)
leaq 0x227d68(%rip), %rdx    # 0x30d504
movl (%rdx), %eax
movl %eax, (%r13)
leaq 0x227d57(%rip), %rsi    # 0x30d500
movl (%rsi), %eax
leaq 0x227efe(%rip), %r10    # 0x30d6b0
movl %eax, (%r10)
movl -0x3c(%rbp), %eax
movl %eax, (%rcx)
movl -0x38(%rbp), %eax
movl %eax, (%rdx)
movl -0x34(%rbp), %eax
movl %eax, (%rsi)
movl -0x30(%rbp), %eax
movl %eax, (%rdi)
movl -0x2c(%rbp), %eax
movl %eax, (%r8)
movl %ebx, (%r9)
leaq 0x227d3f(%rip), %rax    # 0x30d518
movsd (%rax), %xmm0
leaq 0x227ed4(%rip), %rax    # 0x30d6b8
movsd %xmm0, (%rax)
leaq 0x227d41(%rip), %rax    # 0x30d530
movsd -0x50(%rbp), %xmm0
movsd %xmm0, (%rax)
movsd -0x48(%rbp), %xmm0
movsd %xmm0, (%r12)
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq