// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathmsc.cpp
// Function: show_x72_info(int, int, int)
int show_x72_info(int row,int col, int max_row)
{
int col2;
int color;
int temp;
int last_status_row;

   col2 = col + 40 - 1;
   color = WHITE;
   temp = 0;
   last_status_row = row;

   if(SCREEN_HEIGHT <= TINY_HEIGHT) {
      no_y_margin = 1;
   }
   if(max_row < 999) goto info_table;

   erase_screen();
     
   last_status_row = show_x72_status(row,col+40-1, MOUSE_ROW); 

   if(have_x72_fw) {
      sprintf(out, "FW version:       %.2f  ", x72_fw);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   if(x72_date[0]) {
      sprintf(out, "Date:             %s  ", x72_date);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   if(have_x72_loader) {
      sprintf(out, "Loader version:   %d  ", x72_loader);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   if(x72_serial[0]) {
      sprintf(out, "Serial number:    %s  ", x72_serial);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   if(have_x72_tune) {
      sprintf(out, "Tuning state:     %d  ", x72_tune);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   sprintf(out, "OSC freq:         %.1f Hz  ", x72_osc);
   vidstr(row++,col, WHITE, out);
   if(row >= max_row) goto done;
   if(have_x72_crystal) {
      sprintf(out, "Crystal freq:     %g Hz  ", x72_crystal);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   if(have_x72_acmos) {
      sprintf(out, "ACMOS freq:       %g Hz  ", x72_acmos);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   if(have_x72_sine) {
      sprintf(out, "Sine freq:        %g Hz  ", x72_sine);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_res_tempofs) {
      sprintf(out, "Res temp offset:  %g   ", x72_res_tempofs);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   if(have_x72_lamp_tempofs) {
      sprintf(out, "Lamp temp offset: %g   ", x72_lamp_tempofs);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_dds_word) {
      sprintf(out, "User DDS offset:  %g   ", x72_dds_word);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;

      sprintf(out, "                  %g   ", x72_dds_word*1.0E-11);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   if(user_set_x72_acmos_freq && last_x72_acmos_freq) {
      sprintf(out, "User ACOMS freq:  %g Hz   ", (x72_osc / 2.0) / (double) last_x72_acmos_freq);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   ++row;
   if(row >= max_row) goto done;


   info_table:
   if(row >= last_status_row) last_status_row = row;
   row = last_status_row + 1;

   if(have_x72_dmp17) {
      sprintf(out, "dMP17:          %g   ", x72_dmp17);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_dmp5) {
      sprintf(out, "dMP5:           %g   ", x72_dmp5);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_plmp) {
      sprintf(out, "PLmp:           %g   ", x72_plmp);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_pres) {
      sprintf(out, "PRes:           %g   ", x72_pres);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_dlvthermc) {
      sprintf(out, "dLVthermc:      %g   ", x72_dlvthermc);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_drvthermc) {
      sprintf(out, "dRVthermc:      %g   ", x72_drvthermc);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_dlvolt) {
      sprintf(out, "dLVolt:         %g   ", x72_dlvolt);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_dmvoutc) {
      sprintf(out, "dMVoutC:        %g   ", x72_dmvoutc);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_dlvoutc) {
      sprintf(out, "dLVoutC:        %g   ", x72_dlvoutc);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_drvoutc) {
      sprintf(out, "dRVoutC:        %g   ", x72_drvoutc);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_dmv2demavg) {
      sprintf(out, "dMV2demAvg:     %g   ", x72_dmv2demavg);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_dhtrvolt) {
      sprintf(out, "dHtrVolt:       %g V   ", x72_dhtrvolt);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   temp = round_temp;
   round_temp = 2;
   if(have_x72_dtemplo) {
      sprintf(out, "dTempLo:        %s   ", fmt_temp(x72_dtemplo));
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   round_temp = 3;
   if(have_x72_dtemphi) {
      sprintf(out, "dTempHi:        %s   ", fmt_temp(x72_dtemphi));
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   round_temp = temp;

   if(have_x72_dvoltlo) {
      sprintf(out, "dVoltLo:        %g V   ", x72_dvoltlo);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   if(have_x72_dvolthi) {
      sprintf(out, "dVoltHi:        %g V   ", x72_dvolthi);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(max_row >= 999) {    // show zoomed data screen in two columns
      col = col2;
      row = last_status_row+1;
   }

   if(have_x72_creg) {
      sprintf(out, "iFpgaCtl:       0x%04X   ", x72_creg);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_pps) {
      sprintf(out, "1PPS Delta:     %-8d ", x72_pps);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_scont) {
      sprintf(out, "SCont:          %d   ", x72_scont);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   if(have_x72_sernum) {
      sprintf(out, "SerNum:         %d   ", x72_sernum);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_lhhrs) {
      sprintf(out, "LHHrs:          %d   ", x72_lhhrs);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   if(have_x72_lhticks) {
      sprintf(out, "LHTicks         %d   ", x72_lhticks);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_x72_rhhrs) {
      sprintf(out, "RHHrs:          %d   ", x72_rhhrs);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   if(have_x72_rhticks) {
      sprintf(out, "RHTicks         %d   ", x72_rhticks);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   if(have_lifetime) {
      sprintf(out, "PwrHrs:         %d   ", scpi_life);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   if(have_x72_pwrticks) {
      sprintf(out, "PwrTicks        %d   ", x72_pwrticks);
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }

   temp = round_temp;
   round_temp = 2;
   if(have_temperature) {
      sprintf(out, "dCurTemp:       %s   ", fmt_temp(temperature));
      vidstr(row++,col, WHITE, out);
      if(row >= max_row) goto done;
   }
   round_temp = temp;

   done:
   no_y_margin = 0;
   return row;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %edx, %ebx
movl %esi, %r14d
movl %edi, %r15d
leaq 0x14ec08(%rip), %rax    # 0x218804
cmpl $0x1e0, (%rax)          # imm = 0x1E0
jg 0xc9c0e
leaq 0x14ec50(%rip), %rax    # 0x21885b
movb $0x1, (%rax)
leal 0x27(%r14), %r12d
cmpl $0x3e7, %ebx            # imm = 0x3E7
movl %ebx, -0x2c(%rbp)
movl %r12d, -0x34(%rbp)
jge 0xca57b
movl %r15d, %r12d
cmpl %r12d, %r15d
cmovgl %r15d, %r12d
leal 0x1(%r12), %ecx
leaq 0x151055(%rip), %rax    # 0x21ac90
cmpl $0x0, (%rax)
movl %ecx, -0x30(%rbp)
movl %ecx, %r15d
je 0xc9c92
leaq 0x1511db(%rip), %rax    # 0x21ae28
movsd (%rax), %xmm0
leaq 0x2725c8(%rip), %rbx    # 0x33c220
leaq 0x65fbe(%rip), %rsi     # 0x12fc1d
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
addl $0x2, %r12d
movl -0x30(%rbp), %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r12d, %r15d
movl %r12d, %r13d
cmpl %ebx, %r12d
jge 0xcaa46
leaq 0x150ffb(%rip), %rax    # 0x21ac94
cmpl $0x0, (%rax)
je 0xc9ce7
leaq 0x15118b(%rip), %rax    # 0x21ae30
movsd (%rax), %xmm0
leaq 0x272570(%rip), %rbx    # 0x33c220
leaq 0x65f7c(%rip), %rsi     # 0x12fc33
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x150fae(%rip), %rax    # 0x21ac9c
cmpl $0x0, (%rax)
je 0xc9d3c
leaq 0x151146(%rip), %rax    # 0x21ae40
movsd (%rax), %xmm0
leaq 0x27251b(%rip), %rbx    # 0x33c220
leaq 0x65f3d(%rip), %rsi     # 0x12fc49
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x150f5d(%rip), %rax    # 0x21aca0
cmpl $0x0, (%rax)
je 0xc9d91
leaq 0x1510f9(%rip), %rax    # 0x21ae48
movsd (%rax), %xmm0
leaq 0x2724c6(%rip), %rbx    # 0x33c220
leaq 0x65efe(%rip), %rsi     # 0x12fc5f
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x150f0c(%rip), %rax    # 0x21aca4
cmpl $0x0, (%rax)
je 0xc9de6
leaq 0x1510ac(%rip), %rax    # 0x21ae50
movsd (%rax), %xmm0
leaq 0x272471(%rip), %rbx    # 0x33c220
leaq 0x65ebf(%rip), %rsi     # 0x12fc75
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x150ebb(%rip), %rax    # 0x21aca8
cmpl $0x0, (%rax)
je 0xc9e3b
leaq 0x15105f(%rip), %rax    # 0x21ae58
movsd (%rax), %xmm0
leaq 0x27241c(%rip), %rbx    # 0x33c220
leaq 0x65e80(%rip), %rsi     # 0x12fc8b
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x150e6a(%rip), %rax    # 0x21acac
cmpl $0x0, (%rax)
je 0xc9e90
leaq 0x151012(%rip), %rax    # 0x21ae60
movsd (%rax), %xmm0
leaq 0x2723c7(%rip), %rbx    # 0x33c220
leaq 0x65e41(%rip), %rsi     # 0x12fca1
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x150e19(%rip), %rax    # 0x21acb0
cmpl $0x0, (%rax)
je 0xc9ee5
leaq 0x150fc5(%rip), %rax    # 0x21ae68
movsd (%rax), %xmm0
leaq 0x272372(%rip), %rbx    # 0x33c220
leaq 0x65e02(%rip), %rsi     # 0x12fcb7
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x150dd8(%rip), %rax    # 0x21acc4
cmpl $0x0, (%rax)
je 0xc9f3a
leaq 0x150f98(%rip), %rax    # 0x21ae90
movsd (%rax), %xmm0
leaq 0x27231d(%rip), %rbx    # 0x33c220
leaq 0x65dc3(%rip), %rsi     # 0x12fccd
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x150d87(%rip), %rax    # 0x21acc8
cmpl $0x0, (%rax)
je 0xc9f8f
leaq 0x150f4b(%rip), %rax    # 0x21ae98
movsd (%rax), %xmm0
leaq 0x2722c8(%rip), %rbx    # 0x33c220
leaq 0x65d84(%rip), %rsi     # 0x12fce3
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x150d36(%rip), %rax    # 0x21accc
cmpl $0x0, (%rax)
je 0xc9fe4
leaq 0x150efe(%rip), %rax    # 0x21aea0
movsd (%rax), %xmm0
leaq 0x272273(%rip), %rbx    # 0x33c220
leaq 0x65d45(%rip), %rsi     # 0x12fcf9
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x150cad(%rip), %rax    # 0x21ac98
cmpl $0x0, (%rax)
je 0xca039
leaq 0x150e41(%rip), %rax    # 0x21ae38
movsd (%rax), %xmm0
leaq 0x27221e(%rip), %rbx    # 0x33c220
leaq 0x65d06(%rip), %rsi     # 0x12fd0f
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x242c48(%rip), %rax    # 0x30cc88
movl (%rax), %r12d
movl $0x2, (%rax)
leaq 0x150c64(%rip), %rax    # 0x21acb4
cmpl $0x0, (%rax)
je 0xca0a6
leaq 0x150e14(%rip), %rax    # 0x21ae70
movsd (%rax), %xmm0
callq 0x13266
leaq 0x2721b4(%rip), %rbx    # 0x33c220
leaq 0x65cb4(%rip), %rsi     # 0x12fd27
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x242bdb(%rip), %rax    # 0x30cc88
movl $0x3, (%rax)
leaq 0x150bfe(%rip), %rax    # 0x21acb8
cmpl $0x0, (%rax)
je 0xca110
leaq 0x150db2(%rip), %rax    # 0x21ae78
movsd (%rax), %xmm0
callq 0x13266
leaq 0x27214a(%rip), %rbx    # 0x33c220
leaq 0x65c60(%rip), %rsi     # 0x12fd3d
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x242b71(%rip), %rax    # 0x30cc88
movl %r12d, (%rax)
leaq 0x150b9b(%rip), %rax    # 0x21acbc
cmpl $0x0, (%rax)
je 0xca16f
leaq 0x150d53(%rip), %rax    # 0x21ae80
movsd (%rax), %xmm0
leaq 0x2720e8(%rip), %rbx    # 0x33c220
leaq 0x65c14(%rip), %rsi     # 0x12fd53
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x150b4a(%rip), %rax    # 0x21acc0
cmpl $0x0, (%rax)
je 0xca1c4
leaq 0x150d06(%rip), %rax    # 0x21ae88
movsd (%rax), %xmm0
leaq 0x272093(%rip), %rbx    # 0x33c220
leaq 0x65bd7(%rip), %rsi     # 0x12fd6b
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r13d, %r15d
cmpl %ebx, %r13d
jge 0xcaa46
cmpl $0x3e7, %ebx            # imm = 0x3E7
cmovgel -0x34(%rbp), %r14d
cmovgel -0x30(%rbp), %r15d
leaq 0x150a95(%rip), %rax    # 0x21ac70
cmpl $0x0, (%rax)
je 0xca225
leaq 0x150bf1(%rip), %rax    # 0x21add8
movl (%rax), %edx
leaq 0x272030(%rip), %rbx    # 0x33c220
leaq 0x65b8c(%rip), %rsi     # 0x12fd83
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x150aa4(%rip), %rax    # 0x21acd0
cmpl $0x0, (%rax)
je 0xca276
leaq 0x150bc4(%rip), %rax    # 0x21adfc
movl (%rax), %edx
leaq 0x271fdf(%rip), %rbx    # 0x33c220
leaq 0x65b55(%rip), %rsi     # 0x12fd9d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x1509f7(%rip), %rax    # 0x21ac74
cmpl $0x0, (%rax)
je 0xca2c7
leaq 0x150b53(%rip), %rax    # 0x21addc
movl (%rax), %edx
leaq 0x271f8e(%rip), %rbx    # 0x33c220
leaq 0x65b1a(%rip), %rsi     # 0x12fdb3
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x1509aa(%rip), %rax    # 0x21ac78
cmpl $0x0, (%rax)
je 0xca318
leaq 0x150b06(%rip), %rax    # 0x21ade0
movl (%rax), %edx
leaq 0x271f3d(%rip), %rbx    # 0x33c220
leaq 0x65adf(%rip), %rsi     # 0x12fdc9
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x150961(%rip), %rax    # 0x21ac80
cmpl $0x0, (%rax)
je 0xca369
leaq 0x150abd(%rip), %rax    # 0x21ade8
movl (%rax), %edx
leaq 0x271eec(%rip), %rbx    # 0x33c220
leaq 0x65aa4(%rip), %rsi     # 0x12fddf
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x150914(%rip), %rax    # 0x21ac84
cmpl $0x0, (%rax)
je 0xca3ba
leaq 0x150a70(%rip), %rax    # 0x21adec
movl (%rax), %edx
leaq 0x271e9b(%rip), %rbx    # 0x33c220
leaq 0x65a69(%rip), %rsi     # 0x12fdf5
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x1508c7(%rip), %rax    # 0x21ac88
cmpl $0x0, (%rax)
je 0xca40b
leaq 0x150a23(%rip), %rax    # 0x21adf0
movl (%rax), %edx
leaq 0x271e4a(%rip), %rbx    # 0x33c220
leaq 0x65a2e(%rip), %rsi     # 0x12fe0b
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x15087a(%rip), %rax    # 0x21ac8c
cmpl $0x0, (%rax)
je 0xca45c
leaq 0x1509d6(%rip), %rax    # 0x21adf4
movl (%rax), %edx
leaq 0x271df9(%rip), %rbx    # 0x33c220
leaq 0x659f3(%rip), %rsi     # 0x12fe21
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x242e65(%rip), %rax    # 0x30d2c8
cmpl $0x0, (%rax)
je 0xca4ad
leaq 0x242fed(%rip), %rax    # 0x30d45c
movl (%rax), %edx
leaq 0x271da8(%rip), %rbx    # 0x33c220
leaq 0x659b8(%rip), %rsi     # 0x12fe37
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x1507c8(%rip), %rax    # 0x21ac7c
cmpl $0x0, (%rax)
je 0xca4fe
leaq 0x150924(%rip), %rax    # 0x21ade4
movl (%rax), %edx
leaq 0x271d57(%rip), %rbx    # 0x33c220
leaq 0x6597d(%rip), %rsi     # 0x12fe4d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x242783(%rip), %rax    # 0x30cc88
movl (%rax), %r12d
movl $0x2, (%rax)
leaq 0x242d37(%rip), %rax    # 0x30d24c
cmpl $0x0, (%rax)
je 0xca569
leaq 0x2424f7(%rip), %rax    # 0x30ca18
movsd (%rax), %xmm0
callq 0x13266
leaq 0x271cef(%rip), %rbx    # 0x33c220
leaq 0x6592b(%rip), %rsi     # 0x12fe63
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x242718(%rip), %rax    # 0x30cc88
movl %r12d, (%rax)
movl %r15d, %r13d
jmp 0xcaa46
callq 0xeceb
leaq 0x14e221(%rip), %rax    # 0x2187a8
movl (%rax), %edx
movl %r15d, %edi
movl %r12d, %esi
callq 0xb70ab
movl %eax, %r12d
leaq 0x15073e(%rip), %rax    # 0x21acdc
cmpl $0x0, (%rax)
je 0xca5ea
leaq 0x1507fe(%rip), %rax    # 0x21ada8
movsd (%rax), %xmm0
leaq 0x271c6b(%rip), %rbx    # 0x33c220
leaq 0x65507(%rip), %rsi     # 0x12fac3
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x15078f(%rip), %rax    # 0x21ad80
cmpb $0x0, (%rax)
je 0xca639
leaq 0x271c23(%rip), %rbx    # 0x33c220
leaq 0x654d8(%rip), %rsi     # 0x12fadc
leaq 0x150775(%rip), %rdx    # 0x21ad80
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x1506a8(%rip), %rax    # 0x21ace8
cmpl $0x0, (%rax)
je 0xca68a
leaq 0x1506e4(%rip), %rax    # 0x21ad30
movl (%rax), %edx
leaq 0x271bcb(%rip), %rbx    # 0x33c220
leaq 0x65497(%rip), %rsi     # 0x12faf3
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x1506bf(%rip), %rax    # 0x21ad50
cmpb $0x0, (%rax)
je 0xca6d9
leaq 0x271b83(%rip), %rbx    # 0x33c220
leaq 0x65466(%rip), %rsi     # 0x12fb0a
leaq 0x1506a5(%rip), %rdx    # 0x21ad50
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x150620(%rip), %rax    # 0x21ad00
cmpl $0x0, (%rax)
je 0xca72a
leaq 0x150648(%rip), %rax    # 0x21ad34
movl (%rax), %edx
leaq 0x271b2b(%rip), %rbx    # 0x33c220
leaq 0x65425(%rip), %rsi     # 0x12fb21
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
movl %r13d, %r15d
cmpl -0x2c(%rbp), %r13d
jge 0xcaa46
leaq 0x150537(%rip), %rax    # 0x21ac68
movsd (%rax), %xmm0
leaq 0x271ae4(%rip), %rbx    # 0x33c220
leaq 0x653f5(%rip), %rsi     # 0x12fb38
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r15), %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x15057d(%rip), %rax    # 0x21acf4
cmpl $0x0, (%rax)
je 0xca7c5
leaq 0x15063d(%rip), %rax    # 0x21adc0
movsd (%rax), %xmm0
leaq 0x271a92(%rip), %rbx    # 0x33c220
leaq 0x653bf(%rip), %rsi     # 0x12fb54
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
addl $0x2, %r15d
movl %r13d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r15d, %r13d
cmpl %ebx, %r15d
jge 0xcaa46
leaq 0x15052c(%rip), %rax    # 0x21acf8
cmpl $0x0, (%rax)
je 0xca81a
leaq 0x1505f0(%rip), %rax    # 0x21adc8
movsd (%rax), %xmm0
leaq 0x271a3d(%rip), %rbx    # 0x33c220
leaq 0x65384(%rip), %rsi     # 0x12fb6e
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r13), %r15d
movl %r13d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r15d, %r13d
cmpl %ebx, %r15d
jge 0xcaa46
leaq 0x1504db(%rip), %rax    # 0x21acfc
cmpl $0x0, (%rax)
je 0xca86f
leaq 0x1505a3(%rip), %rax    # 0x21add0
movsd (%rax), %xmm0
leaq 0x2719e8(%rip), %rbx    # 0x33c220
leaq 0x65349(%rip), %rsi     # 0x12fb88
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r13), %r15d
movl %r13d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r15d, %r13d
cmpl %ebx, %r15d
jge 0xcaa46
leaq 0x150476(%rip), %rax    # 0x21acec
cmpl $0x0, (%rax)
je 0xca8c4
leaq 0x15052e(%rip), %rax    # 0x21adb0
movsd (%rax), %xmm0
leaq 0x271993(%rip), %rbx    # 0x33c220
leaq 0x6530e(%rip), %rsi     # 0x12fba2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r13), %r15d
movl %r13d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r15d, %r13d
cmpl %ebx, %r15d
jge 0xcaa46
leaq 0x150425(%rip), %rax    # 0x21acf0
cmpl $0x0, (%rax)
je 0xca919
leaq 0x1504e1(%rip), %rax    # 0x21adb8
movsd (%rax), %xmm0
leaq 0x27193e(%rip), %rbx    # 0x33c220
leaq 0x652d1(%rip), %rsi     # 0x12fbba
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r13), %r15d
movl %r13d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r15d, %r13d
cmpl %ebx, %r15d
jge 0xcaa46
leaq 0x1503b8(%rip), %rax    # 0x21acd8
cmpl $0x0, (%rax)
je 0xca9bb
leaq 0x150578(%rip), %rax    # 0x21aea8
movsd (%rax), %xmm0
leaq 0x2718e5(%rip), %rbx    # 0x33c220
leaq 0x65290(%rip), %rsi     # 0x12fbd2
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r13), %r15d
movl %r13d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
cmpl -0x2c(%rbp), %r15d
jge 0xcaa43
leaq 0x150534(%rip), %rax    # 0x21aea8
movsd (%rax), %xmm0
mulsd 0x53de0(%rip), %xmm0    # 0x11e760
leaq 0x271899(%rip), %rbx    # 0x33c220
leaq 0x6525c(%rip), %rsi     # 0x12fbea
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
addl $0x2, %r13d
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
cmpl %ebx, %r13d
jge 0xcaa46
leaq 0x1504f6(%rip), %rax    # 0x21aeb8
cmpl $0x0, (%rax)
setne %cl
leaq 0x1504fd(%rip), %rax    # 0x21aecc
movl (%rax), %eax
testl %eax, %eax
setne %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0xcaa32
leaq 0x150284(%rip), %rcx    # 0x21ac68
movsd (%rcx), %xmm0
mulsd 0x3e678(%rip), %xmm0    # 0x109068
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
leaq 0x271821(%rip), %rbx    # 0x33c220
leaq 0x651fc(%rip), %rsi     # 0x12fc02
movq %rbx, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r13), %r15d
movl %r13d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
movl -0x2c(%rbp), %ebx
callq 0xe787
movl %r15d, %r13d
cmpl %ebx, %r15d
jge 0xcaa46
incl %r13d
movl %r13d, %r15d
cmpl %ebx, %r13d
jl 0xc9c28
jmp 0xcaa46
movl %r15d, %r13d
leaq 0x14de0e(%rip), %rax    # 0x21885b
movb $0x0, (%rax)
movl %r13d, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq