// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/dataset.c
// Function: k_way_anova_dataset_cont
void k_way_anova_dataset_cont(Datasetptr d, Instanceptr data, int* features, int fdependent)
{
 /*!Last Changed 07.05.2004 only for two way currently*/
 Instanceptr tmp;
 int rowsize, colsize, i, j, row, col, *rowcounts, *colcounts, **cellcounts, datasize;
 double grandmean = 0, value, criticalvalue;
 double** cellmeans;
 double* rowmeans;
 double* colmeans, sstotal = 0.0, sswithin = 0.0, sscolumns = 0.0, ssrows = 0.0;
 double mscolumn, msrow, msinteraction, mswithin;
 double columnconf, rowconf, interactionconf;
 datasize = data_size(data);
 rowsize = d->features[features[0]].valuecount;
 colsize = d->features[features[1]].valuecount;
 cellmeans = (double**) safecalloc_2d(sizeof(double *), sizeof(double), rowsize, colsize, "k_way_anova_dataset_cont", 9);
 cellcounts = (int**) safecalloc_2d(sizeof(int *), sizeof(int), rowsize, colsize, "k_way_anova_dataset_cont", 10);
 rowmeans = safecalloc(rowsize, sizeof(double), "k_way_anova_dataset_cont", 14);
 colmeans = safecalloc(colsize, sizeof(double), "k_way_anova_dataset_cont", 15);
 rowcounts = safecalloc(rowsize, sizeof(double), "k_way_anova_dataset_cont", 16);
 colcounts = safecalloc(colsize, sizeof(double), "k_way_anova_dataset_cont", 17);
 tmp = data;
 while (tmp)
  {
   switch (d->features[fdependent].type)
    {
     case INTEGER:value = tmp->values[fdependent].intvalue;
                  break;
     case    REAL:
     case  REGDEF:value = tmp->values[fdependent].floatvalue;
                  break;
     default     :value = 0;
                  printf(m1226);
                  break;
    }
   row = tmp->values[features[0]].stringindex;
   col = tmp->values[features[1]].stringindex;
   grandmean += value;
   rowmeans[row] += value;
   rowcounts[row]++;
   colmeans[col] += value;
   colcounts[col]++;
   cellmeans[row][col] += value;
   cellcounts[row][col]++;
   tmp = tmp->next;
  }
 check_and_set_mean(&grandmean, datasize);
 for (i = 0; i < rowsize; i++)
   check_and_set_mean(&(rowmeans[i]), rowcounts[i]);
 for (i = 0; i < colsize; i++)
   check_and_set_mean(&(colmeans[i]), colcounts[i]);
 for (i = 0; i < rowsize; i++)
   for (j = 0; j < colsize; j++)
     check_and_set_mean(&(cellmeans[i][j]), cellcounts[i][j]);
 tmp = data;
 while (tmp)
  {
   switch (d->features[fdependent].type)
    {
     case INTEGER:value = tmp->values[fdependent].intvalue;
                  break;
     case    REAL:
     case  REGDEF:value = tmp->values[fdependent].floatvalue;
                  break;
     default     :value = 0;
                  printf(m1226);
                  break;
    }   
   row = tmp->values[features[0]].stringindex;
   col = tmp->values[features[1]].stringindex;
   sstotal += (value - grandmean) * (value - grandmean);
   sswithin += (value - cellmeans[row][col]) * (value - cellmeans[row][col]);
   tmp = tmp->next;
  }
 for (i = 0; i < rowsize; i++)
   ssrows += rowcounts[i] * (rowmeans[i] - grandmean) * (rowmeans[i] - grandmean);
 for (i = 0; i < colsize; i++)
   sscolumns += colcounts[i] * (colmeans[i] - grandmean) * (colmeans[i] - grandmean);
 mscolumn = sscolumns / (colsize - 1);
 msrow = ssrows / (rowsize - 1);
 msinteraction = (sstotal - sscolumns - ssrows - sswithin) / ((colsize - 1) * (rowsize - 1));
 mswithin = sswithin / (datasize - rowsize * colsize);
 criticalvalue = msrow / mswithin;
 rowconf = f_distribution(criticalvalue, rowsize - 1, datasize - rowsize * colsize);
 criticalvalue = mscolumn / mswithin;
 columnconf = f_distribution(criticalvalue, colsize - 1, datasize - rowsize * colsize);
 criticalvalue = msinteraction / mswithin;
 interactionconf = f_distribution(criticalvalue, (colsize - 1) * (rowsize - 1), datasize - rowsize * colsize);
 if (get_parameter_o("displayresulton"))
  {
   if (rowconf < get_parameter_f("confidencelevel"))
     printf(m1249, features[0] + 1);
   else
     printf(m1250, features[0] + 1);
   if (columnconf < get_parameter_f("confidencelevel"))
     printf(m1249, features[1] + 1);
   else
     printf(m1250, features[1] + 1);
   if (interactionconf < get_parameter_f("confidencelevel"))
     printf(m1251, features[0] + 1, features[1] + 1);
   else
     printf(m1252, features[0] + 1, features[1] + 1);
  }
 set_default_variable("out1", rowconf);
 set_default_variable("out2", columnconf);
 set_default_variable("out3", interactionconf);
 safe_free(rowmeans);
 safe_free(colmeans);
 safe_free(rowcounts);
 safe_free(colcounts);
 free_2d((void**)cellmeans, rowsize);
 free_2d((void**)cellcounts, rowsize);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x68(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x98(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xa0(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xa8(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xb0(%rbp)
movq -0x10(%rbp), %rdi
callq 0x449f0
movl %eax, -0x5c(%rbp)
movq -0x8(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movq -0x18(%rbp), %rcx
movslq (%rcx), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movl 0x18(%rax), %eax
movl %eax, -0x2c(%rbp)
movq -0x8(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movq -0x18(%rbp), %rcx
movslq 0x4(%rcx), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movl 0x18(%rax), %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %edx
movl -0x30(%rbp), %ecx
movl $0x8, %esi
leaq 0xc753d(%rip), %r8      # 0xe322c
movl $0x9, %r9d
movq %rsi, %rdi
callq 0x52fa0
movq %rax, -0x80(%rbp)
movl -0x2c(%rbp), %edx
movl -0x30(%rbp), %ecx
movl $0x8, %edi
movl $0x4, %esi
leaq 0xc7514(%rip), %r8      # 0xe322c
movl $0xa, %r9d
callq 0x52fa0
movq %rax, -0x58(%rbp)
movslq -0x2c(%rbp), %rdi
movl $0x8, %esi
leaq 0xc74f5(%rip), %rdx     # 0xe322c
movl $0xe, %ecx
callq 0x52f40
movq %rax, -0x88(%rbp)
movslq -0x30(%rbp), %rdi
movl $0x8, %esi
leaq 0xc74d4(%rip), %rdx     # 0xe322c
movl $0xf, %ecx
callq 0x52f40
movq %rax, -0x90(%rbp)
movslq -0x2c(%rbp), %rdi
movl $0x8, %esi
leaq 0xc74b3(%rip), %rdx     # 0xe322c
movl $0x10, %ecx
callq 0x52f40
movq %rax, -0x48(%rbp)
movslq -0x30(%rbp), %rdi
movl $0x8, %esi
leaq 0xc7495(%rip), %rdx     # 0xe322c
movl $0x11, %ecx
callq 0x52f40
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x1bf0f
movq -0x8(%rbp), %rax
movslq -0x1c(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
movl 0x30f08(%rax,%rcx), %eax
movl %eax, -0xec(%rbp)
testl %eax, %eax
je 0x1bdf4
jmp 0x1bdda
movl -0xec(%rbp), %eax
subl $0x2, %eax
je 0x1be0b
jmp 0x1bde7
movl -0xec(%rbp), %eax
subl $0x4, %eax
je 0x1be0b
jmp 0x1be22
movq -0x28(%rbp), %rax
movq (%rax), %rax
movslq -0x1c(%rbp), %rcx
cvtsi2sdl (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x70(%rbp)
jmp 0x1be38
movq -0x28(%rbp), %rax
movq (%rax), %rax
movslq -0x1c(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x70(%rbp)
jmp 0x1be38
xorps %xmm0, %xmm0
movsd %xmm0, -0x70(%rbp)
leaq 0xc7414(%rip), %rdi     # 0xe3245
movb $0x0, %al
callq 0x4030
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movslq (%rcx), %rcx
movl (%rax,%rcx,8), %eax
movl %eax, -0x3c(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movslq 0x4(%rcx), %rcx
movl (%rax,%rcx,8), %eax
movl %eax, -0x40(%rbp)
movsd -0x70(%rbp), %xmm0
addsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movsd -0x70(%rbp), %xmm0
movq -0x88(%rbp), %rax
movslq -0x3c(%rbp), %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq -0x48(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
movl %edx, (%rax,%rcx,4)
movsd -0x70(%rbp), %xmm0
movq -0x90(%rbp), %rax
movslq -0x40(%rbp), %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq -0x50(%rbp), %rax
movslq -0x40(%rbp), %rcx
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
movl %edx, (%rax,%rcx,4)
movsd -0x70(%rbp), %xmm0
movq -0x80(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x40(%rbp), %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq -0x58(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x40(%rbp), %rcx
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
movl %edx, (%rax,%rcx,4)
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x1bdad
movl -0x5c(%rbp), %esi
leaq -0x68(%rbp), %rdi
callq 0x54110
movl $0x0, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x2c(%rbp), %eax
jge 0x1bf57
movq -0x88(%rbp), %rdi
movslq -0x34(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x48(%rbp), %rax
movslq -0x34(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x54110
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x1bf22
movl $0x0, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x30(%rbp), %eax
jge 0x1bf93
movq -0x90(%rbp), %rdi
movslq -0x34(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x50(%rbp), %rax
movslq -0x34(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x54110
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x1bf5e
movl $0x0, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x2c(%rbp), %eax
jge 0x1bff8
movl $0x0, -0x38(%rbp)
movl -0x38(%rbp), %eax
cmpl -0x30(%rbp), %eax
jge 0x1bfeb
movq -0x80(%rbp), %rax
movslq -0x34(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movslq -0x38(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x58(%rbp), %rax
movslq -0x34(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x54110
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x1bfa9
jmp 0x1bfed
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x1bf9a
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x1c13d
movq -0x8(%rbp), %rax
movslq -0x1c(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
movl 0x30f08(%rax,%rcx), %eax
movl %eax, -0xf0(%rbp)
testl %eax, %eax
je 0x1c047
jmp 0x1c02d
movl -0xf0(%rbp), %eax
subl $0x2, %eax
je 0x1c05e
jmp 0x1c03a
movl -0xf0(%rbp), %eax
subl $0x4, %eax
je 0x1c05e
jmp 0x1c075
movq -0x28(%rbp), %rax
movq (%rax), %rax
movslq -0x1c(%rbp), %rcx
cvtsi2sdl (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x70(%rbp)
jmp 0x1c08b
movq -0x28(%rbp), %rax
movq (%rax), %rax
movslq -0x1c(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x70(%rbp)
jmp 0x1c08b
xorps %xmm0, %xmm0
movsd %xmm0, -0x70(%rbp)
leaq 0xc71c1(%rip), %rdi     # 0xe3245
movb $0x0, %al
callq 0x4030
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movslq (%rcx), %rcx
movl (%rax,%rcx,8), %eax
movl %eax, -0x3c(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movslq 0x4(%rcx), %rcx
movl (%rax,%rcx,8), %eax
movl %eax, -0x40(%rbp)
movsd -0x70(%rbp), %xmm0
subsd -0x68(%rbp), %xmm0
movsd -0x70(%rbp), %xmm2
subsd -0x68(%rbp), %xmm2
movsd -0x98(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x70(%rbp), %xmm0
movq -0x80(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x40(%rbp), %rcx
subsd (%rax,%rcx,8), %xmm0
movsd -0x70(%rbp), %xmm2
movq -0x80(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x40(%rbp), %rcx
subsd (%rax,%rcx,8), %xmm2
movsd -0xa0(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x1c000
movl $0x0, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x2c(%rbp), %eax
jge 0x1c1aa
movq -0x48(%rbp), %rax
movslq -0x34(%rbp), %rcx
cvtsi2sdl (%rax,%rcx,4), %xmm0
movq -0x88(%rbp), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
subsd -0x68(%rbp), %xmm1
mulsd %xmm1, %xmm0
movq -0x88(%rbp), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
subsd -0x68(%rbp), %xmm2
movsd -0xb0(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x1c144
movl $0x0, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x30(%rbp), %eax
jge 0x1c217
movq -0x50(%rbp), %rax
movslq -0x34(%rbp), %rcx
cvtsi2sdl (%rax,%rcx,4), %xmm0
movq -0x90(%rbp), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
subsd -0x68(%rbp), %xmm1
mulsd %xmm1, %xmm0
movq -0x90(%rbp), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
subsd -0x68(%rbp), %xmm2
movsd -0xa8(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xa8(%rbp)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x1c1b1
movsd -0xa8(%rbp), %xmm0
movl -0x30(%rbp), %eax
subl $0x1, %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0xb0(%rbp), %xmm0
movl -0x2c(%rbp), %eax
subl $0x1, %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd -0x98(%rbp), %xmm0
subsd -0xa8(%rbp), %xmm0
subsd -0xb0(%rbp), %xmm0
subsd -0xa0(%rbp), %xmm0
movl -0x30(%rbp), %eax
subl $0x1, %eax
movl -0x2c(%rbp), %ecx
subl $0x1, %ecx
imull %ecx, %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd -0xa0(%rbp), %xmm0
movl -0x5c(%rbp), %eax
movl -0x2c(%rbp), %ecx
imull -0x30(%rbp), %ecx
subl %ecx, %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0xd0(%rbp)
movsd -0xc0(%rbp), %xmm0
divsd -0xd0(%rbp), %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x78(%rbp), %xmm0
movl -0x2c(%rbp), %edi
subl $0x1, %edi
movl -0x5c(%rbp), %esi
movl -0x2c(%rbp), %eax
imull -0x30(%rbp), %eax
subl %eax, %esi
callq 0x2ddf0
movsd %xmm0, -0xe0(%rbp)
movsd -0xb8(%rbp), %xmm0
divsd -0xd0(%rbp), %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x78(%rbp), %xmm0
movl -0x30(%rbp), %edi
subl $0x1, %edi
movl -0x5c(%rbp), %esi
movl -0x2c(%rbp), %eax
imull -0x30(%rbp), %eax
subl %eax, %esi
callq 0x2ddf0
movsd %xmm0, -0xd8(%rbp)
movsd -0xc8(%rbp), %xmm0
divsd -0xd0(%rbp), %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x78(%rbp), %xmm0
movl -0x30(%rbp), %edi
subl $0x1, %edi
movl -0x2c(%rbp), %eax
subl $0x1, %eax
imull %eax, %edi
movl -0x5c(%rbp), %esi
movl -0x2c(%rbp), %eax
imull -0x30(%rbp), %eax
subl %eax, %esi
callq 0x2ddf0
movsd %xmm0, -0xe8(%rbp)
leaq 0xc6efa(%rip), %rdi     # 0xe326b
callq 0x79440
cmpl $0x0, %eax
je 0x1c4a5
movsd -0xe0(%rbp), %xmm0
movsd %xmm0, -0xf8(%rbp)
leaq 0xc6307(%rip), %rdi     # 0xe269d
callq 0x79040
movsd -0xf8(%rbp), %xmm1
ucomisd %xmm1, %xmm0
jbe 0x1c3c2
movq -0x18(%rbp), %rax
movl (%rax), %esi
addl $0x1, %esi
leaq 0xc6ed1(%rip), %rdi     # 0xe328a
movb $0x0, %al
callq 0x4030
jmp 0x1c3d9
movq -0x18(%rbp), %rax
movl (%rax), %esi
addl $0x1, %esi
leaq 0xc6ef1(%rip), %rdi     # 0xe32c3
movb $0x0, %al
callq 0x4030
movsd -0xd8(%rbp), %xmm0
movsd %xmm0, -0x100(%rbp)
leaq 0xc62ad(%rip), %rdi     # 0xe269d
callq 0x79040
movsd -0x100(%rbp), %xmm1
ucomisd %xmm1, %xmm0
jbe 0x1c41d
movq -0x18(%rbp), %rax
movl 0x4(%rax), %esi
addl $0x1, %esi
leaq 0xc6e76(%rip), %rdi     # 0xe328a
movb $0x0, %al
callq 0x4030
jmp 0x1c435
movq -0x18(%rbp), %rax
movl 0x4(%rax), %esi
addl $0x1, %esi
leaq 0xc6e95(%rip), %rdi     # 0xe32c3
movb $0x0, %al
callq 0x4030
movsd -0xe8(%rbp), %xmm0
movsd %xmm0, -0x108(%rbp)
leaq 0xc6251(%rip), %rdi     # 0xe269d
callq 0x79040
movsd -0x108(%rbp), %xmm1
ucomisd %xmm1, %xmm0
jbe 0x1c482
movq -0x18(%rbp), %rax
movl (%rax), %esi
addl $0x1, %esi
movq -0x18(%rbp), %rax
movl 0x4(%rax), %edx
addl $0x1, %edx
leaq 0xc6e02(%rip), %rdi     # 0xe327b
movb $0x0, %al
callq 0x4030
jmp 0x1c4a3
movq -0x18(%rbp), %rax
movl (%rax), %esi
addl $0x1, %esi
movq -0x18(%rbp), %rax
movl 0x4(%rax), %edx
addl $0x1, %edx
leaq 0xc6e18(%rip), %rdi     # 0xe32b4
movb $0x0, %al
callq 0x4030
jmp 0x1c4a5
movsd -0xe0(%rbp), %xmm0
leaq 0xc96d4(%rip), %rdi     # 0xe5b88
callq 0x4b070
movsd -0xd8(%rbp), %xmm0
leaq 0xc96c6(%rip), %rdi     # 0xe5b8e
callq 0x4b070
movsd -0xe8(%rbp), %xmm0
leaq 0xc96b8(%rip), %rdi     # 0xe5b94
callq 0x4b070
movq -0x88(%rbp), %rdi
callq 0x52e80
movq -0x90(%rbp), %rdi
callq 0x52e80
movq -0x48(%rbp), %rdi
callq 0x52e80
movq -0x50(%rbp), %rdi
callq 0x52e80
movq -0x80(%rbp), %rdi
movl -0x2c(%rbp), %esi
callq 0x52e20
movq -0x58(%rbp), %rdi
movl -0x2c(%rbp), %esi
callq 0x52e20
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
nopl (%rax)