// File: /workspace/github_cpp_makefile_star2_O2/manikandan5[P]Image-Matching-Stitching-Warping/./CImg.h
// Function: cimg_library::CImg<double>::_load_pandore(_IO_FILE*, char const*)
CImg<T>& _load_pandore(std::FILE *const file, const char *const filename) {
#define __cimg_load_pandore_case(nbdim,nwidth,nheight,ndepth,ndim,stype) \
        cimg::fread(dims,nbdim,nfile); \
        if (endian) cimg::invert_endianness(dims,nbdim); \
        assign(nwidth,nheight,ndepth,ndim); \
        const unsigned int siz = size(); \
        stype *buffer = new stype[siz]; \
        cimg::fread(buffer,siz,nfile); \
        if (endian) cimg::invert_endianness(buffer,siz); \
        T *ptrd = _data; \
        cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++); \
        buffer-=siz; \
        delete[] buffer

#define _cimg_load_pandore_case(nbdim,nwidth,nheight,ndepth,dim,stype1,stype2,stype3,ltype) { \
        if (sizeof(stype1)==ltype) { __cimg_load_pandore_case(nbdim,nwidth,nheight,ndepth,dim,stype1); } \
        else if (sizeof(stype2)==ltype) { __cimg_load_pandore_case(nbdim,nwidth,nheight,ndepth,dim,stype2); } \
        else if (sizeof(stype3)==ltype) { __cimg_load_pandore_case(nbdim,nwidth,nheight,ndepth,dim,stype3); } \
        else throw CImgIOException(_cimg_instance \
                                   "load_pandore(): Unknown pixel datatype in file '%s'.", \
                                   cimg_instance, \
                                   filename?filename:"(FILE*)"); }

      if (!file && !filename)
        throw CImgArgumentException(_cimg_instance
                                    "load_pandore(): Specified filename is (null).",
                                    cimg_instance);

      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
      char header[32] = { 0 };
      cimg::fread(header,12,nfile);
      if (cimg::strncasecmp("PANDORE",header,7)) {
        if (!file) cimg::fclose(nfile);
        throw CImgIOException(_cimg_instance
                              "load_pandore(): PANDORE header not found in file '%s'.",
                              cimg_instance,
                              filename?filename:"(FILE*)");
      }
      unsigned int imageid, dims[8] = { 0 };
      cimg::fread(&imageid,1,nfile);
      const bool endian = (imageid>255);
      if (endian) cimg::invert_endianness(imageid);
      cimg::fread(header,20,nfile);

      switch (imageid) {
      case 2 : _cimg_load_pandore_case(2,dims[1],1,1,1,unsigned char,unsigned char,unsigned char,1); break;
      case 3 : _cimg_load_pandore_case(2,dims[1],1,1,1,long,int,short,4); break;
      case 4 : _cimg_load_pandore_case(2,dims[1],1,1,1,double,float,float,4); break;
      case 5 : _cimg_load_pandore_case(3,dims[2],dims[1],1,1,unsigned char,unsigned char,unsigned char,1); break;
      case 6 : _cimg_load_pandore_case(3,dims[2],dims[1],1,1,long,int,short,4); break;
      case 7 : _cimg_load_pandore_case(3,dims[2],dims[1],1,1,double,float,float,4); break;
      case 8 : _cimg_load_pandore_case(4,dims[3],dims[2],dims[1],1,unsigned char,unsigned char,unsigned char,1); break;
      case 9 : _cimg_load_pandore_case(4,dims[3],dims[2],dims[1],1,long,int,short,4); break;
      case 10 : _cimg_load_pandore_case(4,dims[3],dims[2],dims[1],1,double,float,float,4); break;
      case 11 : { // Region 1d
        cimg::fread(dims,3,nfile);
        if (endian) cimg::invert_endianness(dims,3);
        assign(dims[1],1,1,1);
        const unsigned siz = size();
        if (dims[2]<256) {
          unsigned char *buffer = new unsigned char[siz];
          cimg::fread(buffer,siz,nfile);
          T *ptrd = _data;
          cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
          buffer-=siz;
          delete[] buffer;
        } else {
          if (dims[2]<65536) {
            unsigned short *buffer = new unsigned short[siz];
            cimg::fread(buffer,siz,nfile);
            if (endian) cimg::invert_endianness(buffer,siz);
            T *ptrd = _data;
            cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
            buffer-=siz;
            delete[] buffer;
          } else {
            unsigned int *buffer = new unsigned int[siz];
            cimg::fread(buffer,siz,nfile);
            if (endian) cimg::invert_endianness(buffer,siz);
            T *ptrd = _data;
            cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
            buffer-=siz;
            delete[] buffer;
          }
        }
      }
        break;
      case 12 : { // Region 2d
        cimg::fread(dims,4,nfile);
        if (endian) cimg::invert_endianness(dims,4);
        assign(dims[2],dims[1],1,1);
        const unsigned int siz = size();
        if (dims[3]<256) {
          unsigned char *buffer = new unsigned char[siz];
          cimg::fread(buffer,siz,nfile);
          T *ptrd = _data;
          cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
          buffer-=siz;
          delete[] buffer;
        } else {
          if (dims[3]<65536) {
            unsigned short *buffer = new unsigned short[siz];
            cimg::fread(buffer,siz,nfile);
            if (endian) cimg::invert_endianness(buffer,siz);
            T *ptrd = _data;
            cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
            buffer-=siz;
            delete[] buffer;
          } else {
            unsigned long *buffer = new unsigned long[siz];
            cimg::fread(buffer,siz,nfile);
            if (endian) cimg::invert_endianness(buffer,siz);
            T *ptrd = _data;
            cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
            buffer-=siz;
            delete[] buffer;
          }
        }
      }
        break;
      case 13 : { // Region 3d
        cimg::fread(dims,5,nfile);
        if (endian) cimg::invert_endianness(dims,5);
        assign(dims[3],dims[2],dims[1],1);
        const unsigned int siz = size();
        if (dims[4]<256) {
          unsigned char *buffer = new unsigned char[siz];
          cimg::fread(buffer,siz,nfile);
          T *ptrd = _data;
          cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
          buffer-=siz;
          delete[] buffer;
        } else {
          if (dims[4]<65536) {
            unsigned short *buffer = new unsigned short[siz];
            cimg::fread(buffer,siz,nfile);
            if (endian) cimg::invert_endianness(buffer,siz);
            T *ptrd = _data;
            cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
            buffer-=siz;
            delete[] buffer;
          } else {
            unsigned int *buffer = new unsigned int[siz];
            cimg::fread(buffer,siz,nfile);
            if (endian) cimg::invert_endianness(buffer,siz);
            T *ptrd = _data;
            cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
            buffer-=siz;
            delete[] buffer;
          }
        }
      }
        break;
      case 16 : _cimg_load_pandore_case(4,dims[2],dims[1],1,3,unsigned char,unsigned char,unsigned char,1); break;
      case 17 : _cimg_load_pandore_case(4,dims[2],dims[1],1,3,long,int,short,4); break;
      case 18 : _cimg_load_pandore_case(4,dims[2],dims[1],1,3,double,float,float,4); break;
      case 19 : _cimg_load_pandore_case(5,dims[3],dims[2],dims[1],3,unsigned char,unsigned char,unsigned char,1); break;
      case 20 : _cimg_load_pandore_case(5,dims[3],dims[2],dims[1],3,long,int,short,4); break;
      case 21 : _cimg_load_pandore_case(5,dims[3],dims[2],dims[1],3,double,float,float,4); break;
      case 22 : _cimg_load_pandore_case(2,dims[1],1,1,dims[0],unsigned char,unsigned char,unsigned char,1); break;
      case 23 : _cimg_load_pandore_case(2,dims[1],1,1,dims[0],long,int,short,4);
      case 24 : _cimg_load_pandore_case(2,dims[1],1,1,dims[0],unsigned long,unsigned int,unsigned short,4); break;
      case 25 : _cimg_load_pandore_case(2,dims[1],1,1,dims[0],double,float,float,4); break;
      case 26 : _cimg_load_pandore_case(3,dims[2],dims[1],1,dims[0],unsigned char,unsigned char,unsigned char,1); break;
      case 27 : _cimg_load_pandore_case(3,dims[2],dims[1],1,dims[0],long,int,short,4); break;
      case 28 : _cimg_load_pandore_case(3,dims[2],dims[1],1,dims[0],unsigned long,unsigned int,unsigned short,4); break;
      case 29 : _cimg_load_pandore_case(3,dims[2],dims[1],1,dims[0],double,float,float,4); break;
      case 30 : _cimg_load_pandore_case(4,dims[3],dims[2],dims[1],dims[0],unsigned char,unsigned char,unsigned char,1);
        break;
      case 31 : _cimg_load_pandore_case(4,dims[3],dims[2],dims[1],dims[0],long,int,short,4); break;
      case 32 : _cimg_load_pandore_case(4,dims[3],dims[2],dims[1],dims[0],unsigned long,unsigned int,unsigned short,4);
        break;
      case 33 : _cimg_load_pandore_case(4,dims[3],dims[2],dims[1],dims[0],double,float,float,4); break;
      case 34 : { // Points 1d
        int ptbuf[4] = { 0 };
        cimg::fread(ptbuf,1,nfile);
        if (endian) cimg::invert_endianness(ptbuf,1);
        assign(1); (*this)(0) = (T)ptbuf[0];
      } break;
      case 35 : { // Points 2d
        int ptbuf[4] = { 0 };
        cimg::fread(ptbuf,2,nfile);
        if (endian) cimg::invert_endianness(ptbuf,2);
        assign(2); (*this)(0) = (T)ptbuf[1]; (*this)(1) = (T)ptbuf[0];
      } break;
      case 36 : { // Points 3d
        int ptbuf[4] = { 0 };
        cimg::fread(ptbuf,3,nfile);
        if (endian) cimg::invert_endianness(ptbuf,3);
        assign(3); (*this)(0) = (T)ptbuf[2]; (*this)(1) = (T)ptbuf[1]; (*this)(2) = (T)ptbuf[0];
      } break;
      default :
        if (!file) cimg::fclose(nfile);
        throw CImgIOException(_cimg_instance
                              "load_pandore(): Unable to load data with ID_type %u in file '%s'.",
                              cimg_instance,
                              imageid,filename?filename:"(FILE*)");
      }
      if (!file) cimg::fclose(nfile);
      return *this;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rdi, %rbx
movq %rsi, %rax
orq %rdx, %rax
je 0x3ed7a
movq %rdx, %r12
movq %rsi, %rbp
movq %rsi, %r15
testq %rsi, %rsi
jne 0x3d28f
leaq 0x37fb7(%rip), %rsi     # 0x7523b
movq %r12, %rdi
callq 0x2dca5
movq %rax, %r15
xorps %xmm0, %xmm0
leaq 0x50(%rsp), %r13
movaps %xmm0, 0x10(%r13)
movaps %xmm0, (%r13)
pushq $0xc
popq %rsi
movq %r13, %rdi
movq %r15, %rdx
callq 0x3d151
leaq 0x3979b(%rip), %rdi     # 0x76a51
pushq $0x7
popq %rdx
movq %r13, %rsi
callq 0x1b5ab
testl %eax, %eax
jne 0x3edda
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movaps %xmm0, 0x10(%rsp)
leaq 0x3c(%rsp), %r13
pushq $0x1
popq %rsi
movq %r13, %rdi
movq %r15, %rdx
callq 0x3a371
movl (%r13), %r14d
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d300
leaq 0x3c(%rsp), %rdi
callq 0x3a477
leaq 0x50(%rsp), %rdi
pushq $0x14
popq %rsi
movq %r15, %rdx
callq 0x3d151
movl 0x3c(%rsp), %eax
addl $-0x2, %eax
cmpl $0x22, %eax
ja 0x3ee60
leaq 0x173e1(%rip), %rcx     # 0x54708
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x10(%rsp), %rdi
pushq $0x2
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d356
leaq 0x10(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x3a703
movl 0x14(%rsp), %esi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %edx
movl %ecx, %r8d
callq 0x988e
movl 0x4(%rbx), %r12d
imull (%rbx), %r12d
imull 0x8(%rbx), %r12d
imull 0xc(%rbx), %r12d
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x36072
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x3e893
movzbl (%r13,%rdx), %esi
cvtsi2sd %esi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
jmp 0x3d3b2
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d3fa
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x3a703
movl 0x18(%rsp), %esi
movl 0x10(%rsp), %r8d
movl 0x14(%rsp), %edx
pushq $0x1
popq %rcx
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x363e1
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d455
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3a5a4
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtsi2sdl (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3d477
leaq 0x10(%rsp), %rdi
pushq $0x5
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d4bb
leaq 0x10(%rsp), %rdi
pushq $0x5
popq %rsi
callq 0x3a703
movl 0x1c(%rsp), %esi
movl 0x14(%rsp), %ecx
movl 0x18(%rsp), %edx
pushq $0x1
popq %r8
movq %rbx, %rdi
callq 0x988e
movl (%rbx), %eax
movl 0x4(%rbx), %ecx
imulq %rax, %rcx
movl 0x8(%rbx), %edx
movl 0xc(%rbx), %eax
imulq %rdx, %rax
imulq %rcx, %rax
movl 0x20(%rsp), %ecx
cmpl $0xff, %ecx
ja 0x3ea2b
movl %eax, %r12d
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x36072
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x3e893
movzbl (%r13,%rdx), %esi
cvtsi2sd %esi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
jmp 0x3d533
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x2
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d57b
leaq 0x10(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x3a703
movl 0x10(%rsp), %r8d
movl 0x14(%rsp), %esi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %edx
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x363e1
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d5d4
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3a5a4
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3d610
cvtsi2sdl (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3d5f6
subq %r12, %r13
movq %r13, %rdi
callq 0x4670
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x2
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d646
leaq 0x10(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x3a703
movl 0x10(%rsp), %r8d
movl 0x14(%rsp), %esi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %edx
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d69f
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3a703
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
movl (%r13,%rdx,4), %esi
cvtsi2sd %rsi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3d6c1
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d708
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x3a703
movl 0x14(%rsp), %esi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %edx
movl %ecx, %r8d
callq 0x988e
movl (%rbx), %eax
movl 0x4(%rbx), %ecx
imulq %rax, %rcx
movl 0x8(%rbx), %edx
movl 0xc(%rbx), %eax
imulq %rdx, %rax
imulq %rcx, %rax
movl 0x18(%rsp), %ecx
cmpl $0xff, %ecx
ja 0x3eab6
movl %eax, %r12d
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x36072
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x3e893
movzbl (%r13,%rdx), %esi
cvtsi2sd %esi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
jmp 0x3d77c
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d7bf
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
callq 0x3a703
movl 0x14(%rsp), %edx
movl 0x18(%rsp), %esi
pushq $0x1
popq %rcx
pushq $0x3
popq %r8
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %r12d
imull (%rbx), %r12d
imull 0x8(%rbx), %r12d
imull 0xc(%rbx), %r12d
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x36072
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x3e893
movzbl (%r13,%rdx), %esi
cvtsi2sd %esi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
jmp 0x3d81e
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d861
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
callq 0x3a703
movl 0x14(%rsp), %edx
movl 0x18(%rsp), %esi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %r8d
callq 0x988e
movl (%rbx), %eax
movl 0x4(%rbx), %ecx
imulq %rax, %rcx
movl 0x8(%rbx), %edx
movl 0xc(%rbx), %eax
imulq %rdx, %rax
imulq %rcx, %rax
movl 0x1c(%rsp), %ecx
cmpl $0xff, %ecx
ja 0x3eb41
movl %eax, %r12d
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x36072
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x3e893
movzbl (%r13,%rdx), %esi
cvtsi2sd %esi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
jmp 0x3d8d7
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d91f
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
callq 0x3a703
movl 0x1c(%rsp), %esi
movl 0x14(%rsp), %ecx
movl 0x18(%rsp), %edx
pushq $0x1
popq %r8
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x38089
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d97a
movq %r13, %rdi
movq %rbp, %rsi
callq 0x38732
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtss2sd (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3d99c
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3d9e5
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
callq 0x3a703
movl 0x14(%rsp), %edx
movl 0x18(%rsp), %esi
pushq $0x1
popq %rcx
pushq $0x3
popq %r8
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x363e1
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3da3f
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3a5a4
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtsi2sdl (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3da61
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x5
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3daaa
leaq 0x10(%rsp), %rdi
pushq $0x5
popq %rsi
callq 0x3a703
movl 0x1c(%rsp), %esi
movl 0x14(%rsp), %ecx
movl 0x18(%rsp), %edx
pushq $0x3
popq %r8
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x38089
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3db05
movq %r13, %rdi
movq %rbp, %rsi
callq 0x38732
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtss2sd (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3db27
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x2
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3db70
leaq 0x10(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x3a703
movl 0x10(%rsp), %r8d
movl 0x14(%rsp), %esi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %edx
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x38089
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3dbc9
movq %r13, %rdi
movq %rbp, %rsi
callq 0x38732
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtss2sd (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3dbeb
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3dc34
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
callq 0x3a703
movl 0x14(%rsp), %edx
movl 0x18(%rsp), %esi
pushq $0x1
popq %rcx
pushq $0x3
popq %r8
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x38089
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3dc8e
movq %r13, %rdi
movq %rbp, %rsi
callq 0x38732
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtss2sd (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3dcb0
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x5
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3dcf9
leaq 0x10(%rsp), %rdi
pushq $0x5
popq %rsi
callq 0x3a703
movl 0x1c(%rsp), %esi
movl 0x14(%rsp), %ecx
movl 0x18(%rsp), %edx
pushq $0x3
popq %r8
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x363e1
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3dd54
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3a5a4
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtsi2sdl (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3dd76
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3ddbf
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x3a703
movl 0x14(%rsp), %edx
movl 0x18(%rsp), %esi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %r8d
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x363e1
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3de18
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3a5a4
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtsi2sdl (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3de3a
leaq 0x10(%rsp), %rdi
pushq $0x5
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3de7e
leaq 0x10(%rsp), %rdi
pushq $0x5
popq %rsi
callq 0x3a703
movl 0x1c(%rsp), %esi
movl 0x14(%rsp), %ecx
movl 0x18(%rsp), %edx
pushq $0x3
popq %r8
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %r12d
imull (%rbx), %r12d
imull 0x8(%rbx), %r12d
imull 0xc(%rbx), %r12d
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x36072
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x3e893
movzbl (%r13,%rdx), %esi
cvtsi2sd %esi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
jmp 0x3dede
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3df21
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
callq 0x3a703
movl 0x1c(%rsp), %esi
movl 0x18(%rsp), %edx
movl 0x10(%rsp), %r8d
movl 0x14(%rsp), %ecx
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %r12d
imull (%rbx), %r12d
imull 0x8(%rbx), %r12d
imull 0xc(%rbx), %r12d
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x36072
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x3e893
movzbl (%r13,%rdx), %esi
cvtsi2sd %esi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
jmp 0x3df82
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %rdi
movaps %xmm0, (%rdi)
pushq $0x1
popq %rsi
movq %r15, %rdx
callq 0x363e1
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3dfcb
leaq 0x40(%rsp), %rdi
pushq $0x1
popq %rsi
callq 0x3a5a4
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %esi
movl %ecx, %edx
movl %ecx, %r8d
callq 0x988e
cvtsi2sdl 0x40(%rsp), %xmm0
movq 0x18(%rbx), %rax
movsd %xmm0, (%rax)
jmp 0x3ed5b
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %rdi
movaps %xmm0, (%rdi)
pushq $0x2
popq %rsi
movq %r15, %rdx
callq 0x363e1
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e01c
leaq 0x40(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x3a5a4
pushq $0x2
popq %rsi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %edx
movl %ecx, %r8d
callq 0x988e
cvtdq2pd 0x40(%rsp), %xmm0
movq 0x18(%rbx), %rax
shufpd $0x1, %xmm0, %xmm0      # xmm0 = xmm0[1,0]
movupd %xmm0, (%rax)
jmp 0x3ed5b
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e072
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x3a703
movl 0x14(%rsp), %edx
movl 0x18(%rsp), %esi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %r8d
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x38089
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e0cb
movq %r13, %rdi
movq %rbp, %rsi
callq 0x38732
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtss2sd (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3e0ed
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x2
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e136
leaq 0x10(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x3a703
movl 0x14(%rsp), %esi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %edx
movl %ecx, %r8d
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x38089
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e18d
movq %r13, %rdi
movq %rbp, %rsi
callq 0x38732
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtss2sd (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3e1af
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e1f8
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
callq 0x3a703
movl 0x1c(%rsp), %esi
movl 0x14(%rsp), %ecx
movl 0x18(%rsp), %edx
pushq $0x1
popq %r8
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x363e1
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e253
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3a5a4
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtsi2sdl (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3e275
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e2b9
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x3a703
movl 0x14(%rsp), %edx
movl 0x18(%rsp), %esi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %r8d
callq 0x988e
movl 0x4(%rbx), %r12d
imull (%rbx), %r12d
imull 0x8(%rbx), %r12d
imull 0xc(%rbx), %r12d
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x36072
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x3e893
movzbl (%r13,%rdx), %esi
cvtsi2sd %esi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
jmp 0x3e317
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x2
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e35f
leaq 0x10(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x3a703
movl 0x14(%rsp), %esi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %edx
movl %ecx, %r8d
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x363e1
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e3b6
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3a5a4
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtsi2sdl (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3e3d8
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e421
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
callq 0x3a703
movl 0x1c(%rsp), %esi
movl 0x18(%rsp), %edx
movl 0x10(%rsp), %r8d
movl 0x14(%rsp), %ecx
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e47d
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3a703
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
movl (%r13,%rdx,4), %esi
cvtsi2sd %rsi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3e49f
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e4eb
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
callq 0x3a703
movl 0x1c(%rsp), %esi
movl 0x18(%rsp), %edx
movl 0x10(%rsp), %r8d
movl 0x14(%rsp), %ecx
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x38089
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e547
movq %r13, %rdi
movq %rbp, %rsi
callq 0x38732
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtss2sd (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3e569
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e5ad
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
callq 0x3a703
movl 0x1c(%rsp), %esi
movl 0x14(%rsp), %ecx
movl 0x18(%rsp), %edx
pushq $0x1
popq %r8
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %r12d
imull (%rbx), %r12d
imull 0x8(%rbx), %r12d
imull 0xc(%rbx), %r12d
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x36072
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x3e893
movzbl (%r13,%rdx), %esi
cvtsi2sd %esi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
jmp 0x3e60d
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %rdi
movaps %xmm0, (%rdi)
pushq $0x3
popq %rsi
movq %r15, %rdx
callq 0x363e1
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e656
leaq 0x40(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x3a5a4
pushq $0x3
popq %rsi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %edx
movl %ecx, %r8d
callq 0x988e
movq 0x18(%rbx), %rax
cvtdq2pd 0x44(%rsp), %xmm0
shufps $0x4e, %xmm0, %xmm0     # xmm0 = xmm0[2,3,0,1]
movups %xmm0, (%rax)
cvtsi2sdl 0x40(%rsp), %xmm0
movsd %xmm0, 0x10(%rax)
jmp 0x3ed5b
leaq 0x10(%rsp), %rdi
pushq $0x2
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e6b0
leaq 0x10(%rsp), %rdi
pushq $0x2
popq %rsi
callq 0x3a703
movl 0x10(%rsp), %r8d
movl 0x14(%rsp), %esi
pushq $0x1
popq %rcx
movq %rbx, %rdi
movl %ecx, %edx
callq 0x988e
movl 0x4(%rbx), %r12d
imull (%rbx), %r12d
imull 0x8(%rbx), %r12d
imull 0xc(%rbx), %r12d
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x36072
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x3e893
movzbl (%r13,%rdx), %esi
cvtsi2sd %esi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
jmp 0x3e70e
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e756
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x3a703
movl 0x18(%rsp), %esi
movl 0x10(%rsp), %r8d
movl 0x14(%rsp), %edx
pushq $0x1
popq %rcx
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e7b1
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3a703
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
movl (%r13,%rdx,4), %esi
cvtsi2sd %rsi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3e7d3
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e81a
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x3a703
movl 0x18(%rsp), %esi
movl 0x10(%rsp), %r8d
movl 0x14(%rsp), %edx
pushq $0x1
popq %rcx
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %r12d
imull (%rbx), %r12d
imull 0x8(%rbx), %r12d
imull 0xc(%rbx), %r12d
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x36072
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
cmpq %rdx, %rcx
je 0x3e893
movzbl (%r13,%rdx), %esi
cvtsi2sd %esi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
jmp 0x3e87a
subq %r12, %r13
addq %rdx, %r13
jmp 0x3ed53
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e8c9
leaq 0x10(%rsp), %rdi
pushq $0x4
popq %rsi
callq 0x3a703
movl 0x1c(%rsp), %esi
movl 0x18(%rsp), %edx
movl 0x10(%rsp), %r8d
movl 0x14(%rsp), %ecx
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x363e1
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e925
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3a5a4
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtsi2sdl (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3e947
movq %rbp, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e990
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x3a703
movl 0x18(%rsp), %esi
movl 0x10(%rsp), %r8d
movl 0x14(%rsp), %edx
pushq $0x1
popq %rcx
movq %rbx, %rdi
callq 0x988e
movl 0x4(%rbx), %ebp
imull (%rbx), %ebp
imull 0x8(%rbx), %ebp
imull 0xc(%rbx), %ebp
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x38089
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3e9eb
movq %r13, %rdi
movq %rbp, %rsi
callq 0x38732
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
cvtss2sd (%r13,%rdx,4), %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3ea0d
movq %rbp, 0x8(%rsp)
movl %eax, %ebp
cmpl $0xffff, %ecx           # imm = 0xFFFF
ja 0x3ebcc
leaq (,%rbp,2), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x37cea
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3ea73
movq %r13, %rdi
movq %rbp, %rsi
callq 0x37dec
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
movzwl (%r13,%rdx,2), %esi
cvtsi2sd %esi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x2, %r12
jmp 0x3ea95
movq %rbp, 0x8(%rsp)
movl %eax, %ebp
cmpl $0xffff, %ecx           # imm = 0xFFFF
ja 0x3ec44
leaq (,%rbp,2), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x37cea
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3eafe
movq %r13, %rdi
movq %rbp, %rsi
callq 0x37dec
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
movzwl (%r13,%rdx,2), %esi
cvtsi2sd %esi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x2, %r12
jmp 0x3eb20
movq %rbp, 0x8(%rsp)
movl %eax, %ebp
cmpl $0xffff, %ecx           # imm = 0xFFFF
ja 0x3ecbc
leaq (,%rbp,2), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x37cea
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3eb89
movq %r13, %rdi
movq %rbp, %rsi
callq 0x37dec
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
movzwl (%r13,%rdx,2), %esi
cvtsi2sd %esi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x2, %r12
jmp 0x3ebab
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3ec01
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3a703
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
movl (%r13,%rdx,4), %esi
cvtsi2sd %rsi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3ec23
leaq (,%rbp,4), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x3a371
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3ec79
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3a703
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
movl (%r13,%rdx,4), %esi
cvtsi2sd %rsi, %xmm0
movsd %xmm0, (%rax,%rdx,8)
incq %rdx
addq $-0x4, %r12
jmp 0x3ec9b
leaq (,%rbp,8), %r12
movq %r12, %rdi
callq 0x4040
movq %rax, %r13
movq %rax, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x3eef7
cmpl $0x100, %r14d           # imm = 0x100
jb 0x3ecf1
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3effd
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
imulq %rsi, %rcx
imulq %rdx, %rcx
xorl %edx, %edx
movsd 0x1549a(%rip), %xmm0    # 0x541b0
movapd 0x154a2(%rip), %xmm1    # 0x541c0
movq 0x8(%rsp), %rbp
cmpq %rdx, %rcx
je 0x3ed50
movsd (%r13,%rdx,8), %xmm2
unpcklps %xmm0, %xmm2            # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
subpd %xmm1, %xmm2
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
addsd %xmm2, %xmm3
movsd %xmm3, (%rax,%rdx,8)
incq %rdx
addq $-0x8, %r12
jmp 0x3ed23
subq %r12, %r13
movq %r13, %rdi
callq 0x4670
testq %rbp, %rbp
jne 0x3ed68
movq %r15, %rdi
callq 0x2a2f8
movq %rbx, %rax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x4008, %edi           # imm = 0x4008
callq 0x4210
movq %rax, %r14
movl (%rbx), %edx
movl 0x4(%rbx), %ecx
movl 0x8(%rbx), %r8d
movl 0xc(%rbx), %r9d
leaq 0x15a4d(%rip), %rax     # 0x547e8
leaq 0x16e20(%rip), %r10     # 0x55bc2
cmpb $0x0, 0x10(%rbx)
cmovneq %rax, %r10
subq $0x8, %rsp
leaq 0x362ea(%rip), %r11     # 0x7509f
leaq 0x37c39(%rip), %rsi     # 0x769f5
movq %r14, %rdi
xorl %eax, %eax
pushq %r11
pushq %r10
pushq 0x18(%rbx)
callq 0x9d52
addq $0x20, %rsp
leaq 0x50e88(%rip), %rsi     # 0x8fc60
jmp 0x3ee51
testq %rbp, %rbp
jne 0x3ede7
movq %r15, %rdi
callq 0x2a2f8
movl $0x4008, %edi           # imm = 0x4008
callq 0x4210
movq %rax, %r14
leaq 0x159ed(%rip), %rax     # 0x547e8
leaq 0x16dc0(%rip), %r10     # 0x55bc2
cmpb $0x0, 0x10(%rbx)
cmovneq %rax, %r10
testq %r12, %r12
movl (%rbx), %edx
movl 0x4(%rbx), %ecx
movl 0x8(%rbx), %r8d
movl 0xc(%rbx), %r9d
leaq 0x36746(%rip), %r11     # 0x75567
cmovneq %r12, %r11
leaq 0x36273(%rip), %r15     # 0x7509f
leaq 0x37c26(%rip), %rsi     # 0x76a59
movq %r14, %rdi
xorl %eax, %eax
pushq %r11
pushq %r15
pushq %r10
pushq 0x18(%rbx)
callq 0x2a3de
addq $0x20, %rsp
leaq 0x50eaf(%rip), %rsi     # 0x8fd00
movq 0x51180(%rip), %rdx     # 0x8ffd8
movq %r14, %rdi
callq 0x4910
testq %rbp, %rbp
jne 0x3ee6d
movq %r15, %rdi
callq 0x2a2f8
movl $0x4008, %edi           # imm = 0x4008
callq 0x4210
movq %rax, %r14
leaq 0x15967(%rip), %rax     # 0x547e8
cmpb $0x0, 0x10(%rbx)
leaq 0x16d36(%rip), %r10     # 0x55bc2
cmovneq %rax, %r10
testq %r12, %r12
movl (%rbx), %edx
movl 0x4(%rbx), %ecx
movl 0x8(%rbx), %r8d
movl 0xc(%rbx), %r9d
movl 0x3c(%rsp), %r11d
leaq 0x366bb(%rip), %r15     # 0x75567
cmovneq %r12, %r15
subq $0x8, %rsp
leaq 0x361e4(%rip), %r12     # 0x7509f
leaq 0x37bfc(%rip), %rsi     # 0x76abe
movq %r14, %rdi
xorl %eax, %eax
pushq %r15
pushq %r11
pushq %r12
pushq %r10
pushq 0x18(%rbx)
callq 0x2a3de
addq $0x30, %rsp
jmp 0x3ee4a
jmp 0x3eee4
jmp 0x3eee4
movq %rax, %rbx
movq %r14, %rdi
callq 0x4390
movq %rbx, %rdi
callq 0x4950