// File: /workspace/github_cpp_makefile_star2_O2/jkingan[P]ladyheather/heathmsc.cpp
// Function: fmt_date(int)
char *fmt_date(int big_flag)
{
static char date[32];
double jd;
long x;
int month;
int day;
int year;
int d, iso_year, iso_week, iso_day;
char *date_flag;

   // return a string of the current date formatted for the selected calendar

   if(big_flag) date_flag = "";
   else if(rolled || user_set_rollover) date_flag = " ro";
   else date_flag = "   ";

#ifdef GREET_STUFF
   if(alt_calendar == HEBREW) {  // convert current date to Jewish Standard Time
      jd = jdate(pri_year,pri_month,pri_day);
      for(month=0; month<=13; month++) {
         if(jtimes[month] == 0.0) continue;  // its not a leap year
         if((jd >= jtimes[month]) && (jd < jtimes[month+1])) {
            day = ((int) (jd - jtimes[month])) + 1;
            year = 5770 + (pri_year-2010);
            if(month >= 9) ++year;
            sprintf(date, "%02d %s %04d%s", day, jmonths[month], year, date_flag);
            return &date[0];
         }
      }
   }
   else if(alt_calendar == INDIAN) {  // convert date to Indian civil calendar
      jd = jdate(pri_year,pri_month,pri_day);
      for(month=0; month<=12; month++) {
         if((jd >= itimes[month]) && (jd < itimes[month+1])) {
            day = ((int) (jd - itimes[month])) + 1;
            year = (pri_year-78-1);
            if(jd >= itimes[3]) ++year;
            sprintf(date, "%02d %s %04d%s", day, imonths[month], year, date_flag); 
            return &date[0];
         }
      }
   }
   else if(alt_calendar == ISLAMIC) {
      jd = jdate(pri_year,pri_month,pri_day);
      for(month=0; month<36; month++) {
         if((jd >= mtimes[month]) && (jd < mtimes[month+1])) {
            day = ((int) (jd - mtimes[month])) + 1;
            year = myears[month];
            sprintf(date, "%02d %s %04d%s", day, mmonths[month], year, date_flag); 
            return &date[0];
         }
      }
   }
   else if(alt_calendar == CHINESE) {
      jd = jdate(pri_year,pri_month,pri_day);
      for(month=0; month<36; month++) {
         if((jd >= ctimes[month]) && (jd < ctimes[month+1])) {
            day = ((int) (jd - ctimes[month])) + 1;
            year = cyear[month] + (int) chinese_epoch;
            if(cmonth[month] < 0)  sprintf(out, "%d*", 0-cmonth[month]);
            else                   sprintf(out, "%d", cmonth[month]);
            sprintf(date, "%04d/%s/%02d%s   ", year, out, day, date_flag); 
            return &date[0];
         }
      }
   }
   else if((alt_calendar == PERSIAN) || (alt_calendar == AFGHAN) || (alt_calendar == KURDISH)) {
      jd = jdate(pri_year,pri_month,pri_day);
      for(month=0; month<36; month++) {
         if((jd >= ptimes[month]) && (jd < ptimes[month+1])) {
            day = ((int) (jd - ptimes[month])) + 1;
            year = pyears[month];
            if     (alt_calendar == PERSIAN) sprintf(date, "%02d %s %04d%s", day, pmonths[month], year, date_flag); 
            else if(alt_calendar == KURDISH) sprintf(date, "%02d %s %04d%s", day, kmonths[month], year, date_flag); 
            else                             sprintf(date, "%02d %s %04d%s", day, amonths[month], year, date_flag); 
            return &date[0];
         }
      }
   }
   else if(alt_calendar == DRUID) {  // pseudo-Druid calendar
      jd = jdate(pri_year,pri_month,pri_day);
      for(month=0; month<15; month++) {
         if((jd >= dtimes[month]) && (jd < dtimes[month+1])) {
            day = ((int) (jd - dtimes[month])) + 1;
            year = dyears[month];
//          sprintf(date, "%02d %s %04d", day, dmonths[month], year);
            sprintf(date, "%02d %s%s", day, dmonths[month], date_flag); 
            return &date[0];
         }
      }
   }
   else if(alt_calendar == MJD) {
      jd = jdate(pri_year,pri_month,pri_day) - JD_MJD;
      sprintf(date, "MJD:  %5ld%s", (long) (jd+0.5), date_flag); 
      return &date[0];
   }
   else if(alt_calendar == JULIAN) {
      jd = jdate(pri_year,pri_month,pri_day);
      sprintf(date, "JD%9.1f%s", jd, date_flag); 
      return &date[0];
   }
   else if(alt_calendar == ISO) {
      jd = jdate(pri_year,pri_month,pri_day)-jdate(pri_year,1,1)+1;
      sprintf(date, "%04d-%03d%s   ", pri_year,(int)jd, date_flag); 
      return &date[0];
   }
   else if(alt_calendar == ISO_WEEK) {
      d = nth_dow_in(1, 1, 1, pri_year); // first monday in the year
      jd = jdate(pri_year,pri_month,pri_day) - jdate(pri_year,1,d);
      iso_week = ((int) jd) / 7;
      iso_day = ((int) jd) % 7;
      iso_year = pri_year;
      if(iso_day < 0) {
         iso_day += 7;
         iso_week += 51;
         iso_year -= 1;
      }
//sprintf(debug_text, "doy:%g  pri:%d/%d/%d  iy:%d iw:%d  id:%d  d:%d", jd, pri_year,pri_month,pri_day, iso_year,iso_week,iso_day, d);
      sprintf(date, "%04d-W%02d-%d%s", iso_year, iso_week+1,iso_day+1, date_flag); 

      return &date[0];
   }
   else if(alt_calendar == MAYAN) {  // long count
      get_mayan_date();
      sprintf(date, "%02d.%02d.%02d.%02d.%02d%s", baktun,katun,tun,uinal,kin, date_flag); 
      return &date[0];
   }
   else if(alt_calendar == HAAB) {
      x = (long) (jdate(pri_year, pri_month, pri_day) - jdate(2009, 4, 3));
      x = adjust_mayan(x);
      x = (x % 365L);
      day = (int) (x % 20L);
      month = (int) ((x / 20L) % 19L);
      sprintf(date, "%02d %s%s  ", day, haab[month], date_flag); 
      return &date[0];
   }
   else if(alt_calendar == TZOLKIN) {
      get_mayan_date();
      x = (long) (jdate(pri_year, pri_month, pri_day) - jdate(2001, 4, 3));
      x = adjust_mayan(x);
      x %= 13L;
      day = (int) (x+1);
      sprintf(date, "%02d %s%s ", day, tzolkin[kin], date_flag); 
      return &date[0];
   }
   else if(alt_calendar == AZTEC) {  // Tzolkin type dates
      x = (long) (jdate(pri_year, pri_month, pri_day) - jdate(2009,9,9));
      x += aztec_epoch;
      x %= (260L);
      day   = (int) (x % 13);
      month = (int) (x % 20L);
      sprintf(date, "%02d %s%s ", day+1, aztec[month], date_flag); 
      return &date[0];
   }
   else if(alt_calendar == AZTEC_HAAB) {  // Aztec haab style dates
      x = (long) (jdate(pri_year, pri_month, pri_day) - jdate(2009, 10, 7));
      x += aztec_epoch;
      x = (x % 365L);
      day = (int) (x % 20L);
      month = (int) ((x / 20L) % 19L);
      sprintf(date, "%02d %s%s  ", day+1, aztec_haab[month], date_flag); 
      return &date[0];
   }
   else if(alt_calendar == BOLIVIAN) {
      jd = (jdate(pri_year+5001, pri_month, pri_day) - jdate(1492, 6, 21));
      jd += (double) bolivian_epoch;
      year = (int) (jd/365.25);
      pri_month = fix_month(pri_month);
      sprintf(date, "%02d %s %04d%s", pri_day, months[pri_month], year, date_flag);
      return &date[0];
   }
   else if(use_hjd) {
      jd = jd_astro - JD_MJD;  // modified Julian date
      if((zoom_screen == 'C') || (rcvr_type == NO_RCVR)) {
         sprintf(date, "HJD:%ld%s", (long) (jd+0.5), date_flag); 
      }
      else {
         sprintf(date, "HJD:  %5ld%s", (long) (jd+0.5), date_flag); 
      }
      return &date[0];
   }
   else if(use_msd) {  // Mars timess
      planet:
      if((zoom_screen == 'C') || (rcvr_type == NO_RCVR)) {
         sprintf(date, "%s:%ld%s", std_string, (long) jd_astro, date_flag); 
      }
      else {
         sprintf(date, "%s:  %5ld%s", std_string, (long) jd_astro, date_flag); 
      }
      return &date[0];
   }
   else if(use_merc) { // Mercury time
      jd_astro = jd_astro / 87.968;
      goto planet;
   }
   else if(use_pluto) { // Pluto time
      jd_astro = jd_astro / 90560.0;
      goto planet;
   }
   else if(use_ven) { // Venus time
      jd_astro = jd_astro / 224.695;
      goto planet;
   }
   else if(use_bessel) {
      goto planet;
   }
#endif

   if(show_euro_dates) {
      sprintf(date, "%02d.%02d.%04d%s ", pri_day, pri_month, pri_year, date_flag);
   }
   else if(show_iso_dates) {
      sprintf(date, "%04d.%02d.%02d%s ", pri_year, pri_month, pri_day, date_flag);
   }
   else {
      pri_month = fix_month(pri_month);
      sprintf(date, "%02d %s %04d%s", pri_day, months[pri_month], pri_year, date_flag);
   }
   return &date[0];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testl %edi, %edi
je 0xdaba2
leaq 0x40e16(%rip), %rbx     # 0x11b9b6
jmp 0xdabc6
leaq 0x21c867(%rip), %rax    # 0x2f7410
leaq 0x12a8b8(%rip), %rcx    # 0x205468
movl (%rcx), %ecx
orl (%rax), %ecx
leaq 0x4410c(%rip), %rax     # 0x11ecc7
leaq 0x31ed8(%rip), %rbx     # 0x10ca9a
cmovneq %rax, %rbx
leaq 0x12a863(%rip), %rax    # 0x205430
movzbl (%rax), %r14d
leal -0x1(%r14), %eax
cmpl $0x11, %eax
ja 0xdb151
leaq 0x3a533(%rip), %rcx     # 0x115118
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x21c91f(%rip), %rax    # 0x2f7514
movl (%rax), %edi
leaq 0x21c912(%rip), %rax    # 0x2f7510
movl (%rax), %esi
leaq 0x21c905(%rip), %rax    # 0x2f750c
movl (%rax), %edx
callq 0xc2f07
leaq 0x28a69b(%rip), %rcx    # 0x3652b0
xorl %eax, %eax
leaq 0x28a562(%rip), %rdx    # 0x365180
cmpq $0x120, %rax            # imm = 0x120
je 0xdb4ea
movsd (%rax,%rdx), %xmm1
ucomisd %xmm1, %xmm0
jb 0xdac45
movsd 0x8(%rax,%rdx), %xmm2
ucomisd %xmm0, %xmm2
ja 0xdb299
addq $0x4, %rcx
addq $0x8, %rax
jmp 0xdac1e
leaq 0x21c8be(%rip), %rax    # 0x2f7514
movl $0x1389, %edi           # imm = 0x1389
addl (%rax), %edi
leaq 0x21c8ac(%rip), %r12    # 0x2f7510
movl (%r12), %r14d
leaq 0x21c89d(%rip), %r13    # 0x2f750c
movl (%r13), %edx
movl %r14d, %esi
callq 0xc2f07
addsd 0x3b99d(%rip), %xmm0    # 0x116620
leaq 0x12a7ce(%rip), %rax    # 0x205458
cvtsi2sdq (%rax), %xmm1
addsd %xmm0, %xmm1
divsd 0x3aa4d(%rip), %xmm1    # 0x1156e8
cvttsd2si %xmm1, %r15d
movl %r14d, %edi
callq 0x68914
movl %eax, (%r12)
movl (%r13), %edx
cltq
leaq 0x79a87(%rip), %rcx     # 0x154740
movq (%rcx,%rax,8), %rcx
leaq 0x28ab7c(%rip), %rdi    # 0x365840
leaq 0x44000(%rip), %rsi     # 0x11eccb
movl %r15d, %r8d
jmp 0xdb5a4
leaq 0x21c83a(%rip), %rax    # 0x2f7514
movl (%rax), %edi
leaq 0x21c82d(%rip), %rax    # 0x2f7510
movl (%rax), %esi
leaq 0x21c820(%rip), %rax    # 0x2f750c
movl (%rax), %edx
callq 0xc2f07
xorl %eax, %eax
leaq 0x28a654(%rip), %rcx    # 0x365350
cmpq $0x78, %rax
je 0xdb4ea
movsd (%rax,%rcx), %xmm1
ucomisd %xmm1, %xmm0
jb 0xdad21
movsd 0x8(%rax,%rcx), %xmm2
ucomisd %xmm0, %xmm2
ja 0xdb2f3
addq $0x8, %rax
jmp 0xdacfc
callq 0xd2173
leaq 0x21c7e1(%rip), %rax    # 0x2f7514
movl (%rax), %edi
leaq 0x21c7d4(%rip), %rax    # 0x2f7510
movl (%rax), %esi
leaq 0x21c7c7(%rip), %rax    # 0x2f750c
movl (%rax), %edx
callq 0xc2f07
addsd 0x3b8e4(%rip), %xmm0    # 0x116638
cvttsd2si %xmm0, %rdi
callq 0xd2115
pushq $0xd
popq %rcx
xorl %edx, %edx
divq %rcx
incl %edx
movslq 0x28a6cd(%rip), %rax    # 0x36543c
leaq 0x7c97a(%rip), %rcx     # 0x1576f0
movq (%rcx,%rax,8), %rcx
leaq 0x28aabf(%rip), %rdi    # 0x365840
leaq 0x43fcf(%rip), %rsi     # 0x11ed57
jmp 0xdb21f
leaq 0x21c780(%rip), %rax    # 0x2f7514
movl (%rax), %edi
leaq 0x21c773(%rip), %rax    # 0x2f7510
movl (%rax), %esi
leaq 0x21c766(%rip), %rax    # 0x2f750c
movl (%rax), %edx
callq 0xc2f07
addsd 0x3b87b(%rip), %xmm0    # 0x116630
cvttsd2si %xmm0, %rax
leaq 0x12a67f(%rip), %rcx    # 0x205440
addq (%rcx), %rax
movl $0x104, %ecx            # imm = 0x104
cqto
idivq %rcx
movq %rdx, %rcx
movw $0xd, %si
movl %ecx, %eax
cwtd
idivw %si
movl %edx, %esi
movl %ecx, %eax
cwtd
movw $0x14, %cx
idivw %cx
movswq %dx, %rax
incl %esi
movswl %si, %edx
leaq 0x7ca37(%rip), %rcx     # 0x157830
movq (%rcx,%rax,8), %rcx
leaq 0x28aa3c(%rip), %rdi    # 0x365840
leaq 0x43f4c(%rip), %rsi     # 0x11ed57
jmp 0xdb21f
callq 0xd2173
movl 0x28a631(%rip), %edx    # 0x36544c
movl 0x28a627(%rip), %ecx    # 0x365448
movl 0x28a61c(%rip), %r8d    # 0x365444
movl 0x28a611(%rip), %r9d    # 0x365440
movl 0x28a606(%rip), %r10d   # 0x36543c
leaq 0x28aa03(%rip), %rdi    # 0x365840
leaq 0x43eec(%rip), %rsi     # 0x11ed30
xorl %eax, %eax
pushq %rbx
pushq %r10
callq 0x9060
popq %rcx
popq %rdx
jmp 0xdb5ae
leaq 0x21c6b8(%rip), %rax    # 0x2f7514
movl (%rax), %edi
leaq 0x21c6ab(%rip), %rax    # 0x2f7510
movl (%rax), %esi
leaq 0x21c69e(%rip), %rax    # 0x2f750c
movl (%rax), %edx
callq 0xc2f07
leaq 0x7c364(%rip), %rax     # 0x1571e0
xorl %ecx, %ecx
leaq 0x28a12b(%rip), %rdx    # 0x364fb0
cmpq $0x90, %rcx
je 0xdb4ea
movsd (%rdx,%rcx,2), %xmm1
ucomisd %xmm1, %xmm0
jb 0xdaead
movsd 0x8(%rdx,%rcx,2), %xmm2
ucomisd %xmm0, %xmm2
ja 0xdb31b
addq $0x4, %rcx
addq $0x8, %rax
jmp 0xdae85
leaq 0x21c656(%rip), %rax    # 0x2f7514
movl (%rax), %edi
leaq 0x21c649(%rip), %rax    # 0x2f7510
movl (%rax), %esi
leaq 0x21c63c(%rip), %rax    # 0x2f750c
movl (%rax), %edx
callq 0xc2f07
xorl %eax, %eax
leaq 0x289bd0(%rip), %rcx    # 0x364ab0
cmpq $0x90, %rax
je 0xdb4ea
movsd (%rcx,%rax,2), %xmm1
ucomisd %xmm1, %xmm0
jb 0xdaf07
movsd 0x8(%rcx,%rax,2), %xmm2
ucomisd %xmm0, %xmm2
ja 0xdb344
addq $0x4, %rax
jmp 0xdaee0
leaq 0x21c600(%rip), %rax    # 0x2f7514
movl (%rax), %edi
leaq 0x21c5f3(%rip), %rax    # 0x2f7510
movl (%rax), %esi
leaq 0x21c5e6(%rip), %rax    # 0x2f750c
movl (%rax), %edx
callq 0xc2f07
leaq 0x28a90c(%rip), %rdi    # 0x365840
leaq 0x43dcc(%rip), %rsi     # 0x11ed07
movq %rbx, %rdx
movb $0x1, %al
callq 0x9060
jmp 0xdb5ae
leaq 0x21c5c3(%rip), %rax    # 0x2f7514
movl (%rax), %r14d
leaq 0x21c5b5(%rip), %rax    # 0x2f7510
movl (%rax), %esi
leaq 0x21c5a8(%rip), %rax    # 0x2f750c
movl (%rax), %edx
movl %r14d, %edi
callq 0xc2f07
leaq 0x7c18b(%rip), %rax     # 0x157100
xorl %ecx, %ecx
leaq 0x289f42(%rip), %rdx    # 0x364ec0
xorpd %xmm1, %xmm1
cmpq $0xe, %rcx
je 0xdb4ea
movsd (%rdx,%rcx,8), %xmm2
ucomisd %xmm1, %xmm2
jne 0xdaf99
jnp 0xdafaf
ucomisd %xmm2, %xmm0
jb 0xdafaf
movsd 0x8(%rdx,%rcx,8), %xmm3
ucomisd %xmm0, %xmm3
ja 0xdb38a
addq $0x8, %rax
incq %rcx
jmp 0xdaf82
leaq 0x21c555(%rip), %rax    # 0x2f7514
movl (%rax), %r14d
leaq 0x21c547(%rip), %rax    # 0x2f7510
movl (%rax), %esi
leaq 0x21c53a(%rip), %rax    # 0x2f750c
movl (%rax), %edx
movl %r14d, %edi
callq 0xc2f07
xorl %eax, %eax
leaq 0x289f5b(%rip), %rcx    # 0x364f40
cmpq $0x68, %rax
je 0xdb4ea
movsd (%rax,%rcx), %xmm1
ucomisd %xmm1, %xmm0
jb 0xdb00a
movsd 0x8(%rax,%rcx), %xmm2
ucomisd %xmm0, %xmm2
ja 0xdb3a8
addq $0x8, %rax
jmp 0xdafe5
leaq 0x21c4fd(%rip), %r14    # 0x2f7514
movl (%r14), %ecx
pushq $0x1
popq %r15
movl %r15d, %edi
movl %r15d, %esi
movl %r15d, %edx
callq 0xcd819
movl %eax, %r12d
movl (%r14), %r14d
leaq 0x21c4d7(%rip), %rax    # 0x2f7510
movl (%rax), %esi
leaq 0x21c4ca(%rip), %rax    # 0x2f750c
movl (%rax), %edx
movl %r14d, %edi
callq 0xc2f07
movsd %xmm0, -0x30(%rbp)
movl %r14d, %edi
movl %r15d, %esi
movl %r12d, %edx
callq 0xc2f07
movsd -0x30(%rbp), %xmm1
subsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
pushq $0x7
popq %rcx
cltd
idivl %ecx
leal 0x7(%rdx), %r8d
leal 0x33(%rax), %ecx
movl %edx, %r9d
sarl $0x1f, %r9d
addl %r14d, %r9d
testl %edx, %edx
cmovnsl %eax, %ecx
cmovnsl %edx, %r8d
incl %ecx
incl %r8d
leaq 0x28a7a8(%rip), %rdi    # 0x365840
leaq 0x43c81(%rip), %rsi     # 0x11ed20
movl %r9d, %edx
jmp 0xdb558
leaq 0x21c466(%rip), %rax    # 0x2f7514
movl (%rax), %edi
leaq 0x21c459(%rip), %rax    # 0x2f7510
movl (%rax), %esi
leaq 0x21c44c(%rip), %rax    # 0x2f750c
movl (%rax), %edx
callq 0xc2f07
addsd 0x3b559(%rip), %xmm0    # 0x116628
cvttsd2si %xmm0, %rax
leaq 0x12a365(%rip), %rcx    # 0x205440
addq (%rcx), %rax
movl $0x16d, %ecx            # imm = 0x16D
cqto
idivq %rcx
movq %rdx, %rax
movw $0x14, %cx
cwtd
idivw %cx
movswq %ax, %rax
incl %edx
movswl %dx, %edx
leaq 0x7c7cc(%rip), %rcx     # 0x1578d0
jmp 0xdb20d
leaq 0x21c404(%rip), %rax    # 0x2f7514
movl (%rax), %edi
leaq 0x21c3f7(%rip), %rax    # 0x2f7510
movl (%rax), %esi
leaq 0x21c3ea(%rip), %rax    # 0x2f750c
movl (%rax), %edx
callq 0xc2f07
addsd 0x1a7c7(%rip), %xmm0    # 0xf58f8
addsd 0x17f2f(%rip), %xmm0    # 0xf3068
cvttsd2si %xmm0, %rdx
leaq 0x28a6fb(%rip), %rdi    # 0x365840
leaq 0x43bae(%rip), %rsi     # 0x11ecfa
jmp 0xdb3ff
leaq 0x21c7b0(%rip), %rax    # 0x2f7908
cmpb $0x0, (%rax)
je 0xdb2c6
leaq 0x21c3f0(%rip), %rax    # 0x2f7558
movsd (%rax), %xmm0
addsd 0x1a784(%rip), %xmm0    # 0xf58f8
leaq 0x21b62d(%rip), %rax    # 0x2f67a8
cmpb $0x43, (%rax)
addsd 0x17ee2(%rip), %xmm0    # 0xf3068
cvttsd2si %xmm0, %rdx
je 0xdb3f1
leaq 0x127738(%rip), %rax    # 0x2028d0
cmpq $0x400, (%rax)          # imm = 0x400
je 0xdb3f1
leaq 0x28a694(%rip), %rdi    # 0x365840
leaq 0x43bb9(%rip), %rsi     # 0x11ed6c
jmp 0xdb3ff
leaq 0x21c355(%rip), %rax    # 0x2f7514
movl (%rax), %edi
leaq 0x21c348(%rip), %rax    # 0x2f7510
movl (%rax), %esi
leaq 0x21c33b(%rip), %rax    # 0x2f750c
movl (%rax), %edx
callq 0xc2f07
addsd 0x3b460(%rip), %xmm0    # 0x116640
cvttsd2si %xmm0, %rdi
callq 0xd2115
movl $0x16d, %ecx            # imm = 0x16D
xorl %edx, %edx
divq %rcx
movq %rdx, %rax
movw $0x14, %cx
xorl %edx, %edx
divw %cx
movzwl %dx, %edx
movzwl %ax, %eax
leaq 0x7c583(%rip), %rcx     # 0x157790
movq (%rcx,%rax,8), %rcx
leaq 0x28a628(%rip), %rdi    # 0x365840
leaq 0x43b2c(%rip), %rsi     # 0x11ed4b
movq %rbx, %r8
xorl %eax, %eax
callq 0x9060
jmp 0xdb5ae
leaq 0x21c2df(%rip), %rax    # 0x2f7514
movl (%rax), %r14d
leaq 0x21c2d1(%rip), %rax    # 0x2f7510
movl (%rax), %esi
leaq 0x21c2c4(%rip), %rax    # 0x2f750c
movl (%rax), %edx
movl %r14d, %edi
callq 0xc2f07
movsd %xmm0, -0x30(%rbp)
pushq $0x1
popq %rdx
movl %r14d, %edi
movl %edx, %esi
callq 0xc2f07
movsd -0x30(%rbp), %xmm1
subsd %xmm0, %xmm1
addsd 0x17dfb(%rip), %xmm1    # 0xf3070
cvttsd2si %xmm1, %ecx
leaq 0x28a5c0(%rip), %rdi    # 0x365840
leaq 0x43a8a(%rip), %rsi     # 0x11ed11
movl %r14d, %edx
movq %rbx, %r8
xorl %eax, %eax
callq 0x9060
jmp 0xdb5ae
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %edx
incl %edx
movl (%rcx), %r8d
cmpl $0x6, %r14d
je 0xdb338
cmpl $0x4, %r14d
jne 0xdb3e1
leaq 0x7c03f(%rip), %rcx     # 0x157300
jmp 0xdb3e8
leaq 0x21c63f(%rip), %rax    # 0x2f790c
cmpb $0x0, (%rax)
jne 0xdb482
leaq 0x21c630(%rip), %rax    # 0x2f790d
cmpb $0x0, (%rax)
je 0xdb445
movsd 0x3b35a(%rip), %xmm0    # 0x116648
jmp 0xdb46f
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %edx
incl %edx
leaq 0x7c35c(%rip), %rcx     # 0x157660
movq (%rax,%rcx), %rcx
leaq 0x28a531(%rip), %rdi    # 0x365840
leaq 0x439da(%rip), %rsi     # 0x11ecf0
jmp 0xdb21f
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %edx
incl %edx
leaq 0x289db4(%rip), %rsi    # 0x3650e0
movl (%rcx,%rsi), %r8d
movq (%rax), %rcx
jmp 0xdb596
leaq 0x7c201(%rip), %rcx     # 0x157540
jmp 0xdb3e8
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %r14d
leaq 0x28989c(%rip), %rcx    # 0x364bf0
movl (%rax,%rcx), %r15d
leaq 0x12a0e9(%rip), %rcx    # 0x205448
addl (%rcx), %r15d
incl %r14d
leaq 0x289924(%rip), %rcx    # 0x364c90
movl (%rax,%rcx), %edx
testl %edx, %edx
js 0xdb40e
leaq 0x24aea2(%rip), %rdi    # 0x326220
leaq 0x32b17(%rip), %rsi     # 0x10de9c
jmp 0xdb41e
subsd %xmm2, %xmm0
cvttsd2si %xmm0, %edx
incl %edx
cmpq $0x9, %rcx
sbbl $-0x1, %r14d
addl $0xeb0, %r14d           # imm = 0xEB0
movq (%rax), %rcx
jmp 0xdb3d1
movapd %xmm0, %xmm2
subsd %xmm1, %xmm2
cvttsd2si %xmm2, %edx
incl %edx
ucomisd 0x289b9a(%rip), %xmm0   # 0x364f58
sbbl $0x0, %r14d
addl $-0x4e, %r14d
leaq 0x7bda3(%rip), %rcx     # 0x157170
movq (%rax,%rcx), %rcx
leaq 0x28a468(%rip), %rdi    # 0x365840
leaq 0x438ec(%rip), %rsi     # 0x11eccb
jmp 0xdb43d
leaq 0x7c038(%rip), %rcx     # 0x157420
movq (%rax,%rcx), %rcx
jmp 0xdb596
leaq 0x28a448(%rip), %rdi    # 0x365840
leaq 0x43963(%rip), %rsi     # 0x11ed62
movq %rbx, %rcx
xorl %eax, %eax
callq 0x9060
jmp 0xdb5ae
negl %edx
leaq 0x24ae09(%rip), %rdi    # 0x326220
leaq 0x438bc(%rip), %rsi     # 0x11ecda
xorl %eax, %eax
callq 0x9060
leaq 0x28a414(%rip), %rdi    # 0x365840
leaq 0x438ab(%rip), %rsi     # 0x11ecde
leaq 0x24ade6(%rip), %rcx    # 0x326220
movl %r15d, %edx
movl %r14d, %r8d
jmp 0xdb5a4
leaq 0x21c4c3(%rip), %rax    # 0x2f790f
cmpb $0x0, (%rax)
je 0xdb45b
movsd 0x3b1f7(%rip), %xmm0    # 0x116650
jmp 0xdb46f
leaq 0x21c4ac(%rip), %rax    # 0x2f790e
cmpb $0x0, (%rax)
je 0xdb4de
movsd 0x3b1e9(%rip), %xmm0    # 0x116658
leaq 0x21c0e2(%rip), %rax    # 0x2f7558
movsd (%rax), %xmm1
divsd %xmm0, %xmm1
movsd %xmm1, (%rax)
leaq 0x21b31f(%rip), %rax    # 0x2f67a8
cmpb $0x43, (%rax)
leaq 0x21c0c5(%rip), %rax    # 0x2f7558
cvttsd2si (%rax), %rcx
je 0xdb4ba
leaq 0x12742f(%rip), %rax    # 0x2028d0
cmpq $0x400, (%rax)          # imm = 0x400
je 0xdb4ba
leaq 0x28a38f(%rip), %rdi    # 0x365840
leaq 0x438ca(%rip), %rsi     # 0x11ed82
jmp 0xdb4c8
leaq 0x28a37f(%rip), %rdi    # 0x365840
leaq 0x438b1(%rip), %rsi     # 0x11ed79
leaq 0x21c451(%rip), %rdx    # 0x2f7920
movq %rbx, %r8
xorl %eax, %eax
callq 0x9060
jmp 0xdb5ae
leaq 0x21c42b(%rip), %rax    # 0x2f7910
cmpb $0x0, (%rax)
jne 0xdb482
leaq 0x21cbc8(%rip), %rax    # 0x2f80b9
cmpb $0x0, (%rax)
je 0xdb522
leaq 0x21c00f(%rip), %rax    # 0x2f750c
movl (%rax), %edx
leaq 0x21c00a(%rip), %rax    # 0x2f7510
movl (%rax), %ecx
leaq 0x21c005(%rip), %rax    # 0x2f7514
movl (%rax), %r8d
leaq 0x28a327(%rip), %rdi    # 0x365840
leaq 0x4386e(%rip), %rsi     # 0x11ed8e
jmp 0xdb558
leaq 0x21cb91(%rip), %rax    # 0x2f80ba
cmpb $0x0, (%rax)
je 0xdb564
leaq 0x21bfdf(%rip), %rax    # 0x2f7514
movl (%rax), %edx
leaq 0x21bfd2(%rip), %rax    # 0x2f7510
movl (%rax), %ecx
leaq 0x21bfc5(%rip), %rax    # 0x2f750c
movl (%rax), %r8d
leaq 0x28a2ef(%rip), %rdi    # 0x365840
leaq 0x43848(%rip), %rsi     # 0x11eda0
movq %rbx, %r9
xorl %eax, %eax
callq 0x9060
jmp 0xdb5ae
leaq 0x21bfa5(%rip), %r14    # 0x2f7510
movl (%r14), %edi
callq 0x68914
movl %eax, (%r14)
leaq 0x21bf8f(%rip), %rcx    # 0x2f750c
movl (%rcx), %edx
cltq
leaq 0x791b8(%rip), %rcx     # 0x154740
movq (%rcx,%rax,8), %rcx
leaq 0x21bf81(%rip), %rax    # 0x2f7514
movl (%rax), %r8d
leaq 0x28a2a3(%rip), %rdi    # 0x365840
leaq 0x43727(%rip), %rsi     # 0x11eccb
movq %rbx, %r9
xorl %eax, %eax
callq 0x9060
leaq 0x28a28b(%rip), %rax    # 0x365840
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq