// File: /workspace/github_c_makefile_star2_O0/mmayer[P]pcal/src/writefil.c
// Function: single_month_one_column_html
void single_month_one_column_html (int this_month, int this_year)
{
   long holidays;
   int day, box = 0, len, i;
   year_info *py;
   month_info *pm;
   register day_info *pd;
   char *text_short;
   
   /* table heading with first 5 chars of the month */
   printf("<table border=%d>\n", BORDER);
   printf("<tr><th width=100px>%s</th></tr>\n", months_ml[output_language][this_month-1]);
   
   /* get pointer to text information for current month */
   pm = (py = find_year(this_year, FALSE)) != NULL ? py->month[this_month-1] : NULL;

   /* main loop for dates */
   len = LENGTH_OF(this_month, this_year);
   for (day = 1, holidays = pm ? pm->holidays : 0;
        day <= len;
        day++, box++, holidays >>= 1) {
      int nrows;
      
      /* print only one column for the month */
      printf("<tr>\n");
      printf("<td valign=top>");

      /* special HTML code for holidays (cf. pcaldefs.h) */
      if (holidays & 01) {
         printf("%s%d%s %c", HOLIDAY_PRE, day, HOLIDAY_POST,
                days_ml[output_language][(day + START_BOX(this_month, this_year) + 
                                          first_day_of_week - 1) % 7][0]);
      }
      else {
         /* print Sundays in bold */
         if ((day + START_BOX(this_month, this_year) + first_day_of_week - 1) % 7 == 0) {
            printf("<B>%d %c</B>", day,
                   days_ml[output_language][(day + START_BOX(this_month, this_year) + 
                                             first_day_of_week - 1) % 7][0]);
         }
         /* print Saturdays in gray */
         else if ((day + START_BOX(this_month, this_year) + first_day_of_week - 1) % 7 == 6) {
            printf("<B><FONT color=darkgray>%d</FONT> %c</B>", day,
                   days_ml[output_language][(day + START_BOX(this_month, this_year) + 
                                             first_day_of_week - 1) % 7][0]);
         }
         else {
            printf("%d %c", day, days_ml[output_language]
                   [(day + START_BOX(this_month, this_year) + first_day_of_week - 1) % 7][0]);
         }
         /* print associated text (count lines),
            not for holidays */
         for (nrows = 0, pd = pm ? pm->day[day-1] : NULL;
              pd;
              pd = pd->next, nrows++) {
            /* Skip lines specifying an EPS image... */
            if (ci_strncmp(pd->text, "image:", 6) == 0) continue;
            printf("\n<I>");
            this_day = day;
            RESET_DATE();   /* reset working date */
            text_short = pd->text;
            for  (i=0; i < 5; i++) {
               if (text_short[i] == '\0') break;
               /* if text starts with < it is probably an HTML tag (e.g. <I>)
                  -> skip three letters
               */
               if(text_short[0] == '<' && text_short[i+3] == '\0') break;
               if(text_short[0] == '<') printf("%c",text_short[i+3]);
               else printf("%c",text_short[i]);
            }
            printf("</I>\n");
         }
      }
      
      /* TR-tag to end the row */
      printf("</td></TR>\n");
      if (box % 7 == 6) printf("</tr>\n");   /* end of row */
   }
   printf("</tr>\n");
   printf("</table>\n");

   return;   
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl $0x0, -0x18(%rbp)
leaq 0x12f5f(%rip), %rdi     # 0x2a59e
movl $0x1, %esi
movb $0x0, %al
callq 0x5110
leaq 0x1c232(%rip), %rax     # 0x33884
movslq (%rax), %rcx
leaq 0x185c4(%rip), %rax     # 0x2fc20
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl -0x4(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x12f3a(%rip), %rdi     # 0x2a5b1
movb $0x0, %al
callq 0x5110
movl -0x8(%rbp), %edi
xorl %esi, %esi
callq 0xefe0
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0x176aa
movq -0x28(%rbp), %rax
movl -0x4(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
jmp 0x176b2
xorl %eax, %eax
movq %rax, -0x50(%rbp)
jmp 0x176b2
movq -0x50(%rbp), %rax
movq %rax, -0x30(%rbp)
movl -0x4(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x16ac6(%rip), %rax     # 0x2e190
movsbl (%rax,%rcx), %eax
movl %eax, -0x58(%rbp)
xorl %eax, %eax
cmpl $0x2, -0x4(%rbp)
movb %al, -0x51(%rbp)
jne 0x17726
movl -0x8(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
xorl %eax, %eax
cmpl $0x0, %edx
movb %al, -0x59(%rbp)
jne 0x17720
movl -0x8(%rbp), %eax
movl $0x64, %ecx
cltd
idivl %ecx
movb $0x1, %al
cmpl $0x0, %edx
movb %al, -0x5a(%rbp)
jne 0x1771a
movl -0x8(%rbp), %eax
movl $0x190, %ecx            # imm = 0x190
cltd
idivl %ecx
cmpl $0x0, %edx
sete %al
movb %al, -0x5a(%rbp)
movb -0x5a(%rbp), %al
movb %al, -0x59(%rbp)
movb -0x59(%rbp), %al
movb %al, -0x51(%rbp)
movl -0x58(%rbp), %eax
movb -0x51(%rbp), %cl
andb $0x1, %cl
movzbl %cl, %ecx
addl %ecx, %eax
movl %eax, -0x1c(%rbp)
movl $0x1, -0x14(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x17752
movq -0x30(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x68(%rbp)
jmp 0x1775a
xorl %eax, %eax
movq %rax, -0x68(%rbp)
jmp 0x1775a
movq -0x68(%rbp), %rax
movq %rax, -0x10(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jg 0x17c81
leaq 0x12d95(%rip), %rdi     # 0x2a50a
movb $0x0, %al
callq 0x5110
leaq 0x12da4(%rip), %rdi     # 0x2a527
movb $0x0, %al
callq 0x5110
movq -0x10(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1783c
movl -0x14(%rbp), %eax
movl %eax, -0x6c(%rbp)
leaq 0x1c0db(%rip), %rax     # 0x33884
movslq (%rax), %rcx
leaq 0x18d6d(%rip), %rax     # 0x30520
imulq $0x8c, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x78(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %edx
movl $0x1, %esi
callq 0xc110
leaq 0x1ae8a(%rip), %rcx     # 0x32668
subl (%rcx), %eax
addl $0x7, %eax
movl $0x7, %ecx
cltd
idivl %ecx
movl -0x7c(%rbp), %eax
addl %edx, %eax
leaq 0x1ae71(%rip), %rcx     # 0x32668
addl (%rcx), %eax
subl $0x1, %eax
movl $0x7, %ecx
cltd
idivl %ecx
movq -0x78(%rbp), %rax
movl %edx, %ecx
movl -0x6c(%rbp), %edx
movslq %ecx, %rcx
imulq $0x14, %rcx, %rcx
addq %rcx, %rax
movsbl (%rax), %r8d
leaq 0x12db1(%rip), %rdi     # 0x2a5d3
leaq 0x12d15(%rip), %rsi     # 0x2a53e
leaq 0x12d26(%rip), %rcx     # 0x2a556
movb $0x0, %al
callq 0x5110
jmp 0x17c31
movl -0x14(%rbp), %eax
movl %eax, -0x80(%rbp)
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %edx
movl $0x1, %esi
callq 0xc110
leaq 0x1ae0f(%rip), %rcx     # 0x32668
subl (%rcx), %eax
addl $0x7, %eax
movl $0x7, %ecx
cltd
idivl %ecx
movl -0x80(%rbp), %eax
addl %edx, %eax
leaq 0x1adf6(%rip), %rcx     # 0x32668
addl (%rcx), %eax
subl $0x1, %eax
movl $0x7, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x17929
movl -0x14(%rbp), %eax
movl %eax, -0x90(%rbp)
leaq 0x1bfec(%rip), %rax     # 0x33884
movslq (%rax), %rcx
leaq 0x18c7e(%rip), %rax     # 0x30520
imulq $0x8c, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %edx
movl $0x1, %esi
callq 0xc110
movl -0x90(%rbp), %esi
leaq 0x1ad8f(%rip), %rcx     # 0x32668
subl (%rcx), %eax
addl $0x7, %eax
movl $0x7, %ecx
cltd
idivl %ecx
movl -0x8c(%rbp), %eax
addl %edx, %eax
leaq 0x1ad73(%rip), %rcx     # 0x32668
addl (%rcx), %eax
subl $0x1, %eax
movl $0x7, %ecx
cltd
idivl %ecx
movq -0x88(%rbp), %rax
movslq %edx, %rcx
imulq $0x14, %rcx, %rcx
addq %rcx, %rax
movsbl (%rax), %edx
leaq 0x12cc0(%rip), %rdi     # 0x2a5dd
movb $0x0, %al
callq 0x5110
jmp 0x17aba
movl -0x14(%rbp), %eax
movl %eax, -0x94(%rbp)
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %edx
movl $0x1, %esi
callq 0xc110
leaq 0x1ad1f(%rip), %rcx     # 0x32668
subl (%rcx), %eax
addl $0x7, %eax
movl $0x7, %ecx
cltd
idivl %ecx
movl -0x94(%rbp), %eax
addl %edx, %eax
leaq 0x1ad03(%rip), %rcx     # 0x32668
addl (%rcx), %eax
subl $0x1, %eax
movl $0x7, %ecx
cltd
idivl %ecx
cmpl $0x6, %edx
jne 0x17a1c
movl -0x14(%rbp), %eax
movl %eax, -0xa8(%rbp)
leaq 0x1bef9(%rip), %rax     # 0x33884
movslq (%rax), %rcx
leaq 0x18b8b(%rip), %rax     # 0x30520
imulq $0x8c, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0xa0(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %edx
movl $0x1, %esi
callq 0xc110
movl -0xa8(%rbp), %esi
leaq 0x1ac9c(%rip), %rcx     # 0x32668
subl (%rcx), %eax
addl $0x7, %eax
movl $0x7, %ecx
cltd
idivl %ecx
movl -0xa4(%rbp), %eax
addl %edx, %eax
leaq 0x1ac80(%rip), %rcx     # 0x32668
addl (%rcx), %eax
subl $0x1, %eax
movl $0x7, %ecx
cltd
idivl %ecx
movq -0xa0(%rbp), %rax
movslq %edx, %rcx
imulq $0x14, %rcx, %rcx
addq %rcx, %rax
movsbl (%rax), %edx
leaq 0x12bda(%rip), %rdi     # 0x2a5ea
movb $0x0, %al
callq 0x5110
jmp 0x17ab8
movl -0x14(%rbp), %eax
movl %eax, -0xb8(%rbp)
leaq 0x1be58(%rip), %rax     # 0x33884
movslq (%rax), %rcx
leaq 0x18aea(%rip), %rax     # 0x30520
imulq $0x8c, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0xb0(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0xb4(%rbp)
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %edx
movl $0x1, %esi
callq 0xc110
movl -0xb8(%rbp), %esi
leaq 0x1abfb(%rip), %rcx     # 0x32668
subl (%rcx), %eax
addl $0x7, %eax
movl $0x7, %ecx
cltd
idivl %ecx
movl -0xb4(%rbp), %eax
addl %edx, %eax
leaq 0x1abdf(%rip), %rcx     # 0x32668
addl (%rcx), %eax
subl $0x1, %eax
movl $0x7, %ecx
cltd
idivl %ecx
movq -0xb0(%rbp), %rax
movslq %edx, %rcx
imulq $0x14, %rcx, %rcx
addq %rcx, %rax
movsbl (%rax), %edx
leaq 0x12b62(%rip), %rdi     # 0x2a613
movb $0x0, %al
callq 0x5110
jmp 0x17aba
movl $0x0, -0x44(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x17ae3
movq -0x30(%rbp), %rax
movl -0x14(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0xc0(%rbp)
jmp 0x17aee
xorl %eax, %eax
movq %rax, -0xc0(%rbp)
jmp 0x17aee
movq -0xc0(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0x17c2f
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x12a4f(%rip), %rsi     # 0x2a562
movl $0x6, %edx
callq 0xb3b0
cmpl $0x0, %eax
jne 0x17b27
jmp 0x17c15
leaq 0x12aeb(%rip), %rdi     # 0x2a619
movb $0x0, %al
callq 0x5110
movl -0x14(%rbp), %eax
movl %eax, 0x1d52a(%rip)     # 0x35068
movl -0x4(%rbp), %eax
movl %eax, 0x1d525(%rip)     # 0x3506c
movl 0x1d51b(%rip), %eax     # 0x35068
movl %eax, 0x1d51d(%rip)     # 0x35070
movl -0x8(%rbp), %eax
movl %eax, 0x1d518(%rip)     # 0x35074
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x40(%rbp)
movl $0x0, -0x20(%rbp)
cmpl $0x5, -0x20(%rbp)
jge 0x17c07
movq -0x40(%rbp), %rax
movslq -0x20(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x17b8c
jmp 0x17c07
movq -0x40(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3c, %eax
jne 0x17bb0
movq -0x40(%rbp), %rax
movl -0x20(%rbp), %ecx
addl $0x3, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x17bb0
jmp 0x17c07
movq -0x40(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3c, %eax
jne 0x17bdd
movq -0x40(%rbp), %rax
movl -0x20(%rbp), %ecx
addl $0x3, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %esi
leaq 0x12a42(%rip), %rdi     # 0x2a616
movb $0x0, %al
callq 0x5110
jmp 0x17bf7
movq -0x40(%rbp), %rax
movslq -0x20(%rbp), %rcx
movsbl (%rax,%rcx), %esi
leaq 0x12a26(%rip), %rdi     # 0x2a616
movb $0x0, %al
callq 0x5110
jmp 0x17bf9
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x17b6f
leaq 0x12a10(%rip), %rdi     # 0x2a61e
movb $0x0, %al
callq 0x5110
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x38(%rbp)
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0x17af9
jmp 0x17c31
leaq 0x129ec(%rip), %rdi     # 0x2a624
movb $0x0, %al
callq 0x5110
movl -0x18(%rbp), %eax
movl $0x7, %ecx
cltd
idivl %ecx
cmpl $0x6, %edx
jne 0x17c5d
leaq 0x12976(%rip), %rdi     # 0x2a5cc
movb $0x0, %al
callq 0x5110
jmp 0x17c5f
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
sarq %rax
movq %rax, -0x10(%rbp)
jmp 0x17762
leaq 0x12944(%rip), %rdi     # 0x2a5cc
movb $0x0, %al
callq 0x5110
leaq 0x128d9(%rip), %rdi     # 0x2a56f
movb $0x0, %al
callq 0x5110
addq $0xc0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)