// File: 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 %r14
pushq %rbx
subq $0x868, %rsp            # imm = 0x868
movq %rdi, 0x860(%rsp)
movq %rsi, 0x858(%rsp)
movq %rdx, 0x850(%rsp)
movq 0x860(%rsp), %rax
movq %rax, 0x238(%rsp)
cmpq $0x0, 0x858(%rsp)
jne 0x8543c
cmpq $0x0, 0x850(%rsp)
jne 0x8543c
movl $0x4008, %edi           # imm = 0x4008
callq 0x5240
movq %rax, %rcx
movq 0x238(%rsp), %rax
movq %rcx, 0x208(%rsp)
movl (%rax), %ecx
movl %ecx, 0x210(%rsp)
movl 0x4(%rax), %ecx
movl %ecx, 0x214(%rsp)
movl 0x8(%rax), %ecx
movl %ecx, 0x218(%rsp)
movl 0xc(%rax), %ecx
movl %ecx, 0x21c(%rsp)
movq 0x18(%rax), %rcx
movq %rcx, 0x220(%rsp)
movb 0x10(%rax), %dl
leaq 0x63658(%rip), %rcx     # 0xe89d2
leaq 0x44760(%rip), %rax     # 0xc9ae1
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x228(%rsp)
callq 0x118f0
movq %rax, 0x230(%rsp)
jmp 0x8539f
movl 0x21c(%rsp), %r9d
movl 0x218(%rsp), %r8d
movl 0x214(%rsp), %ecx
movl 0x210(%rsp), %edx
movq 0x208(%rsp), %rdi
movq 0x220(%rsp), %rsi
movq 0x228(%rsp), %r10
movq 0x230(%rsp), %r11
movq %rsp, %rax
movq %r11, 0x10(%rax)
movq %r10, 0x8(%rax)
movq %rsi, (%rax)
leaq 0x65528(%rip), %rsi     # 0xea91a
xorl %eax, %eax
callq 0x12220
jmp 0x853fb
movq 0x208(%rsp), %rdi
leaq 0x7a756(%rip), %rsi     # 0xffb60
leaq -0x72fb1(%rip), %rdx    # 0x12460
callq 0x5920
movq 0x208(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x848(%rsp)
movl %eax, 0x844(%rsp)
callq 0x53a0
jmp 0x89519
cmpq $0x0, 0x858(%rsp)
je 0x85459
movq 0x858(%rsp), %rax
movq %rax, 0x200(%rsp)
jmp 0x85475
movq 0x850(%rsp), %rdi
leaq 0x63cf6(%rip), %rsi     # 0xe915e
callq 0x654a0
movq %rax, 0x200(%rsp)
movq 0x200(%rsp), %rax
movq %rax, 0x838(%rsp)
leaq 0x810(%rsp), %rdi
xorl %esi, %esi
movl $0x20, %edx
callq 0x52a0
leaq 0x810(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0xc, %esi
callq 0x850c0
leaq 0x810(%rsp), %rsi
leaq 0x654b4(%rip), %rdi     # 0xea976
movl $0x7, %edx
callq 0x3afa0
cmpl $0x0, %eax
je 0x85643
cmpq $0x0, 0x858(%rsp)
jne 0x854ed
movq 0x838(%rsp), %rdi
callq 0x5c6f0
movl $0x4008, %edi           # imm = 0x4008
callq 0x5240
movq %rax, %rcx
movq 0x238(%rsp), %rax
movq %rcx, 0x1d0(%rsp)
movl (%rax), %ecx
movl %ecx, 0x1d8(%rsp)
movl 0x4(%rax), %ecx
movl %ecx, 0x1dc(%rsp)
movl 0x8(%rax), %ecx
movl %ecx, 0x1e0(%rsp)
movl 0xc(%rax), %ecx
movl %ecx, 0x1e4(%rsp)
movq 0x18(%rax), %rcx
movq %rcx, 0x1e8(%rsp)
movb 0x10(%rax), %dl
leaq 0x6348b(%rip), %rcx     # 0xe89d2
leaq 0x44593(%rip), %rax     # 0xc9ae1
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x1f0(%rsp)
callq 0x118f0
movq %rax, 0x1f8(%rsp)
jmp 0x8556c
cmpq $0x0, 0x850(%rsp)
je 0x85589
movq 0x850(%rsp), %rax
movq %rax, 0x1c8(%rsp)
jmp 0x8559a
leaq 0x63efa(%rip), %rax     # 0xe948a
movq %rax, 0x1c8(%rsp)
jmp 0x8559a
movl 0x1e4(%rsp), %r9d
movl 0x1e0(%rsp), %r8d
movl 0x1dc(%rsp), %ecx
movl 0x1d8(%rsp), %edx
movq 0x1d0(%rsp), %rdi
movq 0x1e8(%rsp), %rsi
movq 0x1f0(%rsp), %r10
movq 0x1f8(%rsp), %r11
movq 0x1c8(%rsp), %rbx
movq %rsp, %rax
movq %rbx, 0x18(%rax)
movq %r11, 0x10(%rax)
movq %r10, 0x8(%rax)
movq %rsi, (%rax)
leaq 0x65385(%rip), %rsi     # 0xea97e
xorl %eax, %eax
callq 0x5c880
jmp 0x85602
movq 0x1d0(%rsp), %rdi
leaq 0x7a65f(%rip), %rsi     # 0xffc70
leaq -0x28b58(%rip), %rdx    # 0x5cac0
callq 0x5920
movq 0x1d0(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x848(%rsp)
movl %eax, 0x844(%rsp)
callq 0x53a0
jmp 0x89519
leaq 0x7e0(%rsp), %rdi
xorl %esi, %esi
movl $0x20, %edx
callq 0x52a0
movq 0x838(%rsp), %rdx
leaq 0x80c(%rsp), %rdi
movl $0x1, %esi
callq 0x7eee0
cmpl $0xff, 0x80c(%rsp)
seta %al
andb $0x1, %al
movb %al, 0x7df(%rsp)
testb $0x1, 0x7df(%rsp)
je 0x8569f
leaq 0x80c(%rsp), %rdi
callq 0x7f0e0
movq 0x838(%rsp), %rdx
leaq 0x810(%rsp), %rdi
movl $0x14, %esi
callq 0x850c0
movl 0x80c(%rsp), %eax
addl $-0x2, %eax
movl %eax, %ecx
movq %rcx, 0x1c0(%rsp)
subl $0x22, %eax
ja 0x893b0
movq 0x1c0(%rsp), %rax
leaq 0x42e1f(%rip), %rcx     # 0xc8504
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x2, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x85724
leaq 0x7e0(%rsp), %rdi
movl $0x2, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e4(%rsp), %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x7d8(%rsp)
movl 0x7d8(%rsp), %eax
movl %eax, %edi
callq 0x5040
movq %rax, 0x7d0(%rsp)
movq 0x7d0(%rsp), %rdi
movl 0x7d8(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x754c0
testb $0x1, 0x7df(%rsp)
je 0x857ac
movq 0x7d0(%rsp), %rdi
movl 0x7d8(%rsp), %eax
movl %eax, %esi
callq 0x80e60
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x7c8(%rsp)
movq $0x0, 0x7c0(%rsp)
callq 0x117b0
movq %rax, 0x7b8(%rsp)
movq 0x7c0(%rsp), %rax
cmpq 0x7b8(%rsp), %rax
jae 0x85839
movq 0x7d0(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x7d0(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x7c8(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x7c8(%rsp)
movsd %xmm0, (%rax)
movq 0x7c0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x7c0(%rsp)
jmp 0x857d9
movl 0x7d8(%rsp), %ecx
movq 0x7d0(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0x7d0(%rsp)
movq 0x7d0(%rsp), %rax
movq %rax, 0x1b8(%rsp)
cmpq $0x0, %rax
je 0x8587f
movq 0x1b8(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x2, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x858ba
leaq 0x7e0(%rsp), %rdi
movl $0x2, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e4(%rsp), %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x7b4(%rsp)
movl 0x7b4(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x7a8(%rsp)
movq 0x7a8(%rsp), %rdi
movl 0x7b4(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x75c00
testb $0x1, 0x7df(%rsp)
je 0x8595c
movq 0x7a8(%rsp), %rdi
movl 0x7b4(%rsp), %eax
movl %eax, %esi
callq 0x7f370
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x7a0(%rsp)
movq $0x0, 0x798(%rsp)
callq 0x117b0
movq %rax, 0x790(%rsp)
movq 0x798(%rsp), %rax
cmpq 0x790(%rsp), %rax
jae 0x859e7
movq 0x7a8(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x7a8(%rsp)
cvtsi2sdl (%rax), %xmm0
movq 0x7a0(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x7a0(%rsp)
movsd %xmm0, (%rax)
movq 0x798(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x798(%rsp)
jmp 0x85989
movl 0x7b4(%rsp), %ecx
movq 0x7a8(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x7a8(%rsp)
movq 0x7a8(%rsp), %rax
movq %rax, 0x1b0(%rsp)
cmpq $0x0, %rax
je 0x85a31
movq 0x1b0(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x2, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x85a6c
leaq 0x7e0(%rsp), %rdi
movl $0x2, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e4(%rsp), %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x78c(%rsp)
movl 0x78c(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x780(%rsp)
movq 0x780(%rsp), %rdi
movl 0x78c(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x79a70
testb $0x1, 0x7df(%rsp)
je 0x85b0e
movq 0x780(%rsp), %rdi
movl 0x78c(%rsp), %eax
movl %eax, %esi
callq 0x7aaa0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x778(%rsp)
movq $0x0, 0x770(%rsp)
callq 0x117b0
movq %rax, 0x768(%rsp)
movq 0x770(%rsp), %rax
cmpq 0x768(%rsp), %rax
jae 0x85b9d
movq 0x780(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x780(%rsp)
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movq 0x778(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x778(%rsp)
movsd %xmm0, (%rax)
movq 0x770(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x770(%rsp)
jmp 0x85b3b
movl 0x78c(%rsp), %ecx
movq 0x780(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x780(%rsp)
movq 0x780(%rsp), %rax
movq %rax, 0x1a8(%rsp)
cmpq $0x0, %rax
je 0x85be7
movq 0x1a8(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x3, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x85c22
leaq 0x7e0(%rsp), %rdi
movl $0x3, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e8(%rsp), %esi
movl 0x7e4(%rsp), %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x764(%rsp)
movl 0x764(%rsp), %eax
movl %eax, %edi
callq 0x5040
movq %rax, 0x758(%rsp)
movq 0x758(%rsp), %rdi
movl 0x764(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x754c0
testb $0x1, 0x7df(%rsp)
je 0x85cae
movq 0x758(%rsp), %rdi
movl 0x764(%rsp), %eax
movl %eax, %esi
callq 0x80e60
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x750(%rsp)
movq $0x0, 0x748(%rsp)
callq 0x117b0
movq %rax, 0x740(%rsp)
movq 0x748(%rsp), %rax
cmpq 0x740(%rsp), %rax
jae 0x85d3b
movq 0x758(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x758(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x750(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x750(%rsp)
movsd %xmm0, (%rax)
movq 0x748(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x748(%rsp)
jmp 0x85cdb
movl 0x764(%rsp), %ecx
movq 0x758(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0x758(%rsp)
movq 0x758(%rsp), %rax
movq %rax, 0x1a0(%rsp)
cmpq $0x0, %rax
je 0x85d81
movq 0x1a0(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x3, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x85dbc
leaq 0x7e0(%rsp), %rdi
movl $0x3, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e8(%rsp), %esi
movl 0x7e4(%rsp), %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x73c(%rsp)
movl 0x73c(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x730(%rsp)
movq 0x730(%rsp), %rdi
movl 0x73c(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x75c00
testb $0x1, 0x7df(%rsp)
je 0x85e62
movq 0x730(%rsp), %rdi
movl 0x73c(%rsp), %eax
movl %eax, %esi
callq 0x7f370
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x728(%rsp)
movq $0x0, 0x720(%rsp)
callq 0x117b0
movq %rax, 0x718(%rsp)
movq 0x720(%rsp), %rax
cmpq 0x718(%rsp), %rax
jae 0x85eed
movq 0x730(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x730(%rsp)
cvtsi2sdl (%rax), %xmm0
movq 0x728(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x728(%rsp)
movsd %xmm0, (%rax)
movq 0x720(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x720(%rsp)
jmp 0x85e8f
movl 0x73c(%rsp), %ecx
movq 0x730(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x730(%rsp)
movq 0x730(%rsp), %rax
movq %rax, 0x198(%rsp)
cmpq $0x0, %rax
je 0x85f37
movq 0x198(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x3, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x85f72
leaq 0x7e0(%rsp), %rdi
movl $0x3, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e8(%rsp), %esi
movl 0x7e4(%rsp), %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x714(%rsp)
movl 0x714(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x708(%rsp)
movq 0x708(%rsp), %rdi
movl 0x714(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x79a70
testb $0x1, 0x7df(%rsp)
je 0x86018
movq 0x708(%rsp), %rdi
movl 0x714(%rsp), %eax
movl %eax, %esi
callq 0x7aaa0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x700(%rsp)
movq $0x0, 0x6f8(%rsp)
callq 0x117b0
movq %rax, 0x6f0(%rsp)
movq 0x6f8(%rsp), %rax
cmpq 0x6f0(%rsp), %rax
jae 0x860a7
movq 0x708(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x708(%rsp)
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movq 0x700(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x700(%rsp)
movsd %xmm0, (%rax)
movq 0x6f8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x6f8(%rsp)
jmp 0x86045
movl 0x714(%rsp), %ecx
movq 0x708(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x708(%rsp)
movq 0x708(%rsp), %rax
movq %rax, 0x190(%rsp)
cmpq $0x0, %rax
je 0x860f1
movq 0x190(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x4, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x8612c
leaq 0x7e0(%rsp), %rdi
movl $0x4, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7ec(%rsp), %esi
movl 0x7e8(%rsp), %edx
movl 0x7e4(%rsp), %ecx
movl $0x1, %r8d
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x6ec(%rsp)
movl 0x6ec(%rsp), %eax
movl %eax, %edi
callq 0x5040
movq %rax, 0x6e0(%rsp)
movq 0x6e0(%rsp), %rdi
movl 0x6ec(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x754c0
testb $0x1, 0x7df(%rsp)
je 0x861bc
movq 0x6e0(%rsp), %rdi
movl 0x6ec(%rsp), %eax
movl %eax, %esi
callq 0x80e60
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x6d8(%rsp)
movq $0x0, 0x6d0(%rsp)
callq 0x117b0
movq %rax, 0x6c8(%rsp)
movq 0x6d0(%rsp), %rax
cmpq 0x6c8(%rsp), %rax
jae 0x86249
movq 0x6e0(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x6e0(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x6d8(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x6d8(%rsp)
movsd %xmm0, (%rax)
movq 0x6d0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x6d0(%rsp)
jmp 0x861e9
movl 0x6ec(%rsp), %ecx
movq 0x6e0(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0x6e0(%rsp)
movq 0x6e0(%rsp), %rax
movq %rax, 0x188(%rsp)
cmpq $0x0, %rax
je 0x8628f
movq 0x188(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x4, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x862ca
leaq 0x7e0(%rsp), %rdi
movl $0x4, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7ec(%rsp), %esi
movl 0x7e8(%rsp), %edx
movl 0x7e4(%rsp), %ecx
movl $0x1, %r8d
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x6c4(%rsp)
movl 0x6c4(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x6b8(%rsp)
movq 0x6b8(%rsp), %rdi
movl 0x6c4(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x75c00
testb $0x1, 0x7df(%rsp)
je 0x86374
movq 0x6b8(%rsp), %rdi
movl 0x6c4(%rsp), %eax
movl %eax, %esi
callq 0x7f370
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x6b0(%rsp)
movq $0x0, 0x6a8(%rsp)
callq 0x117b0
movq %rax, 0x6a0(%rsp)
movq 0x6a8(%rsp), %rax
cmpq 0x6a0(%rsp), %rax
jae 0x863ff
movq 0x6b8(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x6b8(%rsp)
cvtsi2sdl (%rax), %xmm0
movq 0x6b0(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x6b0(%rsp)
movsd %xmm0, (%rax)
movq 0x6a8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x6a8(%rsp)
jmp 0x863a1
movl 0x6c4(%rsp), %ecx
movq 0x6b8(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x6b8(%rsp)
movq 0x6b8(%rsp), %rax
movq %rax, 0x180(%rsp)
cmpq $0x0, %rax
je 0x86449
movq 0x180(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x4, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x86484
leaq 0x7e0(%rsp), %rdi
movl $0x4, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7ec(%rsp), %esi
movl 0x7e8(%rsp), %edx
movl 0x7e4(%rsp), %ecx
movl $0x1, %r8d
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x69c(%rsp)
movl 0x69c(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x690(%rsp)
movq 0x690(%rsp), %rdi
movl 0x69c(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x79a70
testb $0x1, 0x7df(%rsp)
je 0x8652e
movq 0x690(%rsp), %rdi
movl 0x69c(%rsp), %eax
movl %eax, %esi
callq 0x7aaa0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x688(%rsp)
movq $0x0, 0x680(%rsp)
callq 0x117b0
movq %rax, 0x678(%rsp)
movq 0x680(%rsp), %rax
cmpq 0x678(%rsp), %rax
jae 0x865bd
movq 0x690(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x690(%rsp)
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movq 0x688(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x688(%rsp)
movsd %xmm0, (%rax)
movq 0x680(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x680(%rsp)
jmp 0x8655b
movl 0x69c(%rsp), %ecx
movq 0x690(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x690(%rsp)
movq 0x690(%rsp), %rax
movq %rax, 0x178(%rsp)
cmpq $0x0, %rax
je 0x86607
movq 0x178(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x3, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x86642
leaq 0x7e0(%rsp), %rdi
movl $0x3, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e4(%rsp), %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x674(%rsp)
cmpl $0x100, 0x7e8(%rsp) # imm = 0x100
jae 0x86793
movl 0x674(%rsp), %eax
movl %eax, %edi
callq 0x5040
movq %rax, 0x668(%rsp)
movq 0x668(%rsp), %rdi
movl 0x674(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x754c0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x660(%rsp)
movq $0x0, 0x658(%rsp)
callq 0x117b0
movq %rax, 0x650(%rsp)
movq 0x658(%rsp), %rax
cmpq 0x650(%rsp), %rax
jae 0x86748
movq 0x668(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x668(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x660(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x660(%rsp)
movsd %xmm0, (%rax)
movq 0x658(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x658(%rsp)
jmp 0x866e8
movl 0x674(%rsp), %ecx
movq 0x668(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0x668(%rsp)
movq 0x668(%rsp), %rax
movq %rax, 0x170(%rsp)
cmpq $0x0, %rax
je 0x8678e
movq 0x170(%rsp), %rdi
callq 0x5680
jmp 0x86a38
cmpl $0x10000, 0x7e8(%rsp) # imm = 0x10000
jae 0x868ee
movl 0x674(%rsp), %eax
movl $0x2, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x648(%rsp)
movq 0x648(%rsp), %rdi
movl 0x674(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x792c0
testb $0x1, 0x7df(%rsp)
je 0x86812
movq 0x648(%rsp), %rdi
movl 0x674(%rsp), %eax
movl %eax, %esi
callq 0x794c0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x640(%rsp)
movq $0x0, 0x638(%rsp)
callq 0x117b0
movq %rax, 0x630(%rsp)
movq 0x638(%rsp), %rax
cmpq 0x630(%rsp), %rax
jae 0x868a0
movq 0x648(%rsp), %rax
movq %rax, %rcx
addq $0x2, %rcx
movq %rcx, 0x648(%rsp)
movzwl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x640(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x640(%rsp)
movsd %xmm0, (%rax)
movq 0x638(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x638(%rsp)
jmp 0x8683f
movl 0x674(%rsp), %ecx
movq 0x648(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq %rcx
addq %rcx, %rax
movq %rax, 0x648(%rsp)
movq 0x648(%rsp), %rax
movq %rax, 0x168(%rsp)
cmpq $0x0, %rax
je 0x868e9
movq 0x168(%rsp), %rdi
callq 0x5680
jmp 0x86a36
movl 0x674(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x628(%rsp)
movq 0x628(%rsp), %rdi
movl 0x674(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x8695c
movq 0x628(%rsp), %rdi
movl 0x674(%rsp), %eax
movl %eax, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x620(%rsp)
movq $0x0, 0x618(%rsp)
callq 0x117b0
movq %rax, 0x610(%rsp)
movq 0x618(%rsp), %rax
cmpq 0x610(%rsp), %rax
jae 0x869ea
movq 0x628(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x628(%rsp)
movl (%rax), %eax
cvtsi2sd %rax, %xmm0
movq 0x620(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x620(%rsp)
movsd %xmm0, (%rax)
movq 0x618(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x618(%rsp)
jmp 0x86989
movl 0x674(%rsp), %ecx
movq 0x628(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x628(%rsp)
movq 0x628(%rsp), %rax
movq %rax, 0x160(%rsp)
cmpq $0x0, %rax
je 0x86a34
movq 0x160(%rsp), %rdi
callq 0x5680
jmp 0x86a36
jmp 0x86a38
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x4, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x86a73
leaq 0x7e0(%rsp), %rdi
movl $0x4, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e8(%rsp), %esi
movl 0x7e4(%rsp), %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x60c(%rsp)
cmpl $0x100, 0x7ec(%rsp) # imm = 0x100
jae 0x86bc8
movl 0x60c(%rsp), %eax
movl %eax, %edi
callq 0x5040
movq %rax, 0x600(%rsp)
movq 0x600(%rsp), %rdi
movl 0x60c(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x754c0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x5f8(%rsp)
movq $0x0, 0x5f0(%rsp)
callq 0x117b0
movq %rax, 0x5e8(%rsp)
movq 0x5f0(%rsp), %rax
cmpq 0x5e8(%rsp), %rax
jae 0x86b7d
movq 0x600(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x600(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x5f8(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x5f8(%rsp)
movsd %xmm0, (%rax)
movq 0x5f0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x5f0(%rsp)
jmp 0x86b1d
movl 0x60c(%rsp), %ecx
movq 0x600(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0x600(%rsp)
movq 0x600(%rsp), %rax
movq %rax, 0x158(%rsp)
cmpq $0x0, %rax
je 0x86bc3
movq 0x158(%rsp), %rdi
callq 0x5680
jmp 0x86e8c
cmpl $0x10000, 0x7ec(%rsp) # imm = 0x10000
jae 0x86d23
movl 0x60c(%rsp), %eax
movl $0x2, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x5e0(%rsp)
movq 0x5e0(%rsp), %rdi
movl 0x60c(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x792c0
testb $0x1, 0x7df(%rsp)
je 0x86c47
movq 0x5e0(%rsp), %rdi
movl 0x60c(%rsp), %eax
movl %eax, %esi
callq 0x794c0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x5d8(%rsp)
movq $0x0, 0x5d0(%rsp)
callq 0x117b0
movq %rax, 0x5c8(%rsp)
movq 0x5d0(%rsp), %rax
cmpq 0x5c8(%rsp), %rax
jae 0x86cd5
movq 0x5e0(%rsp), %rax
movq %rax, %rcx
addq $0x2, %rcx
movq %rcx, 0x5e0(%rsp)
movzwl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x5d8(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x5d8(%rsp)
movsd %xmm0, (%rax)
movq 0x5d0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x5d0(%rsp)
jmp 0x86c74
movl 0x60c(%rsp), %ecx
movq 0x5e0(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq %rcx
addq %rcx, %rax
movq %rax, 0x5e0(%rsp)
movq 0x5e0(%rsp), %rax
movq %rax, 0x150(%rsp)
cmpq $0x0, %rax
je 0x86d1e
movq 0x150(%rsp), %rdi
callq 0x5680
jmp 0x86e8a
movl 0x60c(%rsp), %eax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x5c0(%rsp)
movq 0x5c0(%rsp), %rdi
movl 0x60c(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x89530
testb $0x1, 0x7df(%rsp)
je 0x86d91
movq 0x5c0(%rsp), %rdi
movl 0x60c(%rsp), %eax
movl %eax, %esi
callq 0x89730
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x5b8(%rsp)
movq $0x0, 0x5b0(%rsp)
callq 0x117b0
movq %rax, 0x5a8(%rsp)
movq 0x5b0(%rsp), %rax
cmpq 0x5a8(%rsp), %rax
jae 0x86e3e
movq 0x5c0(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x5c0(%rsp)
movq (%rax), %xmm0
movaps 0x412de(%rip), %xmm1    # 0xc80d0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x412e2(%rip), %xmm1    # 0xc80e0
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq 0x5b8(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x5b8(%rsp)
movsd %xmm0, (%rax)
movq 0x5b0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x5b0(%rsp)
jmp 0x86dbe
movl 0x60c(%rsp), %ecx
movq 0x5c0(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, 0x5c0(%rsp)
movq 0x5c0(%rsp), %rax
movq %rax, 0x148(%rsp)
cmpq $0x0, %rax
je 0x86e88
movq 0x148(%rsp), %rdi
callq 0x5680
jmp 0x86e8a
jmp 0x86e8c
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x5, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x86ec7
leaq 0x7e0(%rsp), %rdi
movl $0x5, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7ec(%rsp), %esi
movl 0x7e8(%rsp), %edx
movl 0x7e4(%rsp), %ecx
movl $0x1, %r8d
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x5a4(%rsp)
cmpl $0x100, 0x7f0(%rsp) # imm = 0x100
jae 0x87020
movl 0x5a4(%rsp), %eax
movl %eax, %edi
callq 0x5040
movq %rax, 0x598(%rsp)
movq 0x598(%rsp), %rdi
movl 0x5a4(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x754c0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x590(%rsp)
movq $0x0, 0x588(%rsp)
callq 0x117b0
movq %rax, 0x580(%rsp)
movq 0x588(%rsp), %rax
cmpq 0x580(%rsp), %rax
jae 0x86fd5
movq 0x598(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x598(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x590(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x590(%rsp)
movsd %xmm0, (%rax)
movq 0x588(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x588(%rsp)
jmp 0x86f75
movl 0x5a4(%rsp), %ecx
movq 0x598(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0x598(%rsp)
movq 0x598(%rsp), %rax
movq %rax, 0x140(%rsp)
cmpq $0x0, %rax
je 0x8701b
movq 0x140(%rsp), %rdi
callq 0x5680
jmp 0x872c5
cmpl $0x10000, 0x7f0(%rsp) # imm = 0x10000
jae 0x8717b
movl 0x5a4(%rsp), %eax
movl $0x2, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x578(%rsp)
movq 0x578(%rsp), %rdi
movl 0x5a4(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x792c0
testb $0x1, 0x7df(%rsp)
je 0x8709f
movq 0x578(%rsp), %rdi
movl 0x5a4(%rsp), %eax
movl %eax, %esi
callq 0x794c0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x570(%rsp)
movq $0x0, 0x568(%rsp)
callq 0x117b0
movq %rax, 0x560(%rsp)
movq 0x568(%rsp), %rax
cmpq 0x560(%rsp), %rax
jae 0x8712d
movq 0x578(%rsp), %rax
movq %rax, %rcx
addq $0x2, %rcx
movq %rcx, 0x578(%rsp)
movzwl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x570(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x570(%rsp)
movsd %xmm0, (%rax)
movq 0x568(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x568(%rsp)
jmp 0x870cc
movl 0x5a4(%rsp), %ecx
movq 0x578(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq %rcx
addq %rcx, %rax
movq %rax, 0x578(%rsp)
movq 0x578(%rsp), %rax
movq %rax, 0x138(%rsp)
cmpq $0x0, %rax
je 0x87176
movq 0x138(%rsp), %rdi
callq 0x5680
jmp 0x872c3
movl 0x5a4(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x558(%rsp)
movq 0x558(%rsp), %rdi
movl 0x5a4(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x871e9
movq 0x558(%rsp), %rdi
movl 0x5a4(%rsp), %eax
movl %eax, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x550(%rsp)
movq $0x0, 0x548(%rsp)
callq 0x117b0
movq %rax, 0x540(%rsp)
movq 0x548(%rsp), %rax
cmpq 0x540(%rsp), %rax
jae 0x87277
movq 0x558(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x558(%rsp)
movl (%rax), %eax
cvtsi2sd %rax, %xmm0
movq 0x550(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x550(%rsp)
movsd %xmm0, (%rax)
movq 0x548(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x548(%rsp)
jmp 0x87216
movl 0x5a4(%rsp), %ecx
movq 0x558(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x558(%rsp)
movq 0x558(%rsp), %rax
movq %rax, 0x130(%rsp)
cmpq $0x0, %rax
je 0x872c1
movq 0x130(%rsp), %rdi
callq 0x5680
jmp 0x872c3
jmp 0x872c5
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x4, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x87300
leaq 0x7e0(%rsp), %rdi
movl $0x4, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e8(%rsp), %esi
movl 0x7e4(%rsp), %edx
movl $0x1, %ecx
movl $0x3, %r8d
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x53c(%rsp)
movl 0x53c(%rsp), %eax
movl %eax, %edi
callq 0x5040
movq %rax, 0x530(%rsp)
movq 0x530(%rsp), %rdi
movl 0x53c(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x754c0
testb $0x1, 0x7df(%rsp)
je 0x8738e
movq 0x530(%rsp), %rdi
movl 0x53c(%rsp), %eax
movl %eax, %esi
callq 0x80e60
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x528(%rsp)
movq $0x0, 0x520(%rsp)
callq 0x117b0
movq %rax, 0x518(%rsp)
movq 0x520(%rsp), %rax
cmpq 0x518(%rsp), %rax
jae 0x8741b
movq 0x530(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x530(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x528(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x528(%rsp)
movsd %xmm0, (%rax)
movq 0x520(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x520(%rsp)
jmp 0x873bb
movl 0x53c(%rsp), %ecx
movq 0x530(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0x530(%rsp)
movq 0x530(%rsp), %rax
movq %rax, 0x128(%rsp)
cmpq $0x0, %rax
je 0x87461
movq 0x128(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x4, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x8749c
leaq 0x7e0(%rsp), %rdi
movl $0x4, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e8(%rsp), %esi
movl 0x7e4(%rsp), %edx
movl $0x1, %ecx
movl $0x3, %r8d
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x514(%rsp)
movl 0x514(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x508(%rsp)
movq 0x508(%rsp), %rdi
movl 0x514(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x75c00
testb $0x1, 0x7df(%rsp)
je 0x87544
movq 0x508(%rsp), %rdi
movl 0x514(%rsp), %eax
movl %eax, %esi
callq 0x7f370
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x500(%rsp)
movq $0x0, 0x4f8(%rsp)
callq 0x117b0
movq %rax, 0x4f0(%rsp)
movq 0x4f8(%rsp), %rax
cmpq 0x4f0(%rsp), %rax
jae 0x875cf
movq 0x508(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x508(%rsp)
cvtsi2sdl (%rax), %xmm0
movq 0x500(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x500(%rsp)
movsd %xmm0, (%rax)
movq 0x4f8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x4f8(%rsp)
jmp 0x87571
movl 0x514(%rsp), %ecx
movq 0x508(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x508(%rsp)
movq 0x508(%rsp), %rax
movq %rax, 0x120(%rsp)
cmpq $0x0, %rax
je 0x87619
movq 0x120(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x4, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x87654
leaq 0x7e0(%rsp), %rdi
movl $0x4, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e8(%rsp), %esi
movl 0x7e4(%rsp), %edx
movl $0x1, %ecx
movl $0x3, %r8d
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x4ec(%rsp)
movl 0x4ec(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x4e0(%rsp)
movq 0x4e0(%rsp), %rdi
movl 0x4ec(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x79a70
testb $0x1, 0x7df(%rsp)
je 0x876fc
movq 0x4e0(%rsp), %rdi
movl 0x4ec(%rsp), %eax
movl %eax, %esi
callq 0x7aaa0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x4d8(%rsp)
movq $0x0, 0x4d0(%rsp)
callq 0x117b0
movq %rax, 0x4c8(%rsp)
movq 0x4d0(%rsp), %rax
cmpq 0x4c8(%rsp), %rax
jae 0x8778b
movq 0x4e0(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x4e0(%rsp)
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movq 0x4d8(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x4d8(%rsp)
movsd %xmm0, (%rax)
movq 0x4d0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x4d0(%rsp)
jmp 0x87729
movl 0x4ec(%rsp), %ecx
movq 0x4e0(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x4e0(%rsp)
movq 0x4e0(%rsp), %rax
movq %rax, 0x118(%rsp)
cmpq $0x0, %rax
je 0x877d5
movq 0x118(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x5, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x87810
leaq 0x7e0(%rsp), %rdi
movl $0x5, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7ec(%rsp), %esi
movl 0x7e8(%rsp), %edx
movl 0x7e4(%rsp), %ecx
movl $0x3, %r8d
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x4c4(%rsp)
movl 0x4c4(%rsp), %eax
movl %eax, %edi
callq 0x5040
movq %rax, 0x4b8(%rsp)
movq 0x4b8(%rsp), %rdi
movl 0x4c4(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x754c0
testb $0x1, 0x7df(%rsp)
je 0x878a0
movq 0x4b8(%rsp), %rdi
movl 0x4c4(%rsp), %eax
movl %eax, %esi
callq 0x80e60
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x4b0(%rsp)
movq $0x0, 0x4a8(%rsp)
callq 0x117b0
movq %rax, 0x4a0(%rsp)
movq 0x4a8(%rsp), %rax
cmpq 0x4a0(%rsp), %rax
jae 0x8792d
movq 0x4b8(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x4b8(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x4b0(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x4b0(%rsp)
movsd %xmm0, (%rax)
movq 0x4a8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x4a8(%rsp)
jmp 0x878cd
movl 0x4c4(%rsp), %ecx
movq 0x4b8(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0x4b8(%rsp)
movq 0x4b8(%rsp), %rax
movq %rax, 0x110(%rsp)
cmpq $0x0, %rax
je 0x87973
movq 0x110(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x5, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x879ae
leaq 0x7e0(%rsp), %rdi
movl $0x5, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7ec(%rsp), %esi
movl 0x7e8(%rsp), %edx
movl 0x7e4(%rsp), %ecx
movl $0x3, %r8d
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x49c(%rsp)
movl 0x49c(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x490(%rsp)
movq 0x490(%rsp), %rdi
movl 0x49c(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x75c00
testb $0x1, 0x7df(%rsp)
je 0x87a58
movq 0x490(%rsp), %rdi
movl 0x49c(%rsp), %eax
movl %eax, %esi
callq 0x7f370
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x488(%rsp)
movq $0x0, 0x480(%rsp)
callq 0x117b0
movq %rax, 0x478(%rsp)
movq 0x480(%rsp), %rax
cmpq 0x478(%rsp), %rax
jae 0x87ae3
movq 0x490(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x490(%rsp)
cvtsi2sdl (%rax), %xmm0
movq 0x488(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x488(%rsp)
movsd %xmm0, (%rax)
movq 0x480(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x480(%rsp)
jmp 0x87a85
movl 0x49c(%rsp), %ecx
movq 0x490(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x490(%rsp)
movq 0x490(%rsp), %rax
movq %rax, 0x108(%rsp)
cmpq $0x0, %rax
je 0x87b2d
movq 0x108(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x5, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x87b68
leaq 0x7e0(%rsp), %rdi
movl $0x5, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7ec(%rsp), %esi
movl 0x7e8(%rsp), %edx
movl 0x7e4(%rsp), %ecx
movl $0x3, %r8d
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x474(%rsp)
movl 0x474(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x468(%rsp)
movq 0x468(%rsp), %rdi
movl 0x474(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x79a70
testb $0x1, 0x7df(%rsp)
je 0x87c12
movq 0x468(%rsp), %rdi
movl 0x474(%rsp), %eax
movl %eax, %esi
callq 0x7aaa0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x460(%rsp)
movq $0x0, 0x458(%rsp)
callq 0x117b0
movq %rax, 0x450(%rsp)
movq 0x458(%rsp), %rax
cmpq 0x450(%rsp), %rax
jae 0x87ca1
movq 0x468(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x468(%rsp)
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movq 0x460(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x460(%rsp)
movsd %xmm0, (%rax)
movq 0x458(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x458(%rsp)
jmp 0x87c3f
movl 0x474(%rsp), %ecx
movq 0x468(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x468(%rsp)
movq 0x468(%rsp), %rax
movq %rax, 0x100(%rsp)
cmpq $0x0, %rax
je 0x87ceb
movq 0x100(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x2, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x87d26
leaq 0x7e0(%rsp), %rdi
movl $0x2, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e4(%rsp), %esi
movl 0x7e0(%rsp), %r8d
movl $0x1, %ecx
movl %ecx, %edx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x44c(%rsp)
movl 0x44c(%rsp), %eax
movl %eax, %edi
callq 0x5040
movq %rax, 0x440(%rsp)
movq 0x440(%rsp), %rdi
movl 0x44c(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x754c0
testb $0x1, 0x7df(%rsp)
je 0x87db1
movq 0x440(%rsp), %rdi
movl 0x44c(%rsp), %eax
movl %eax, %esi
callq 0x80e60
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x438(%rsp)
movq $0x0, 0x430(%rsp)
callq 0x117b0
movq %rax, 0x428(%rsp)
movq 0x430(%rsp), %rax
cmpq 0x428(%rsp), %rax
jae 0x87e3e
movq 0x440(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x440(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x438(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x438(%rsp)
movsd %xmm0, (%rax)
movq 0x430(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x430(%rsp)
jmp 0x87dde
movl 0x44c(%rsp), %ecx
movq 0x440(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0x440(%rsp)
movq 0x440(%rsp), %rax
movq %rax, 0xf8(%rsp)
cmpq $0x0, %rax
je 0x87e84
movq 0xf8(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x2, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x87ebf
leaq 0x7e0(%rsp), %rdi
movl $0x2, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e4(%rsp), %esi
movl 0x7e0(%rsp), %r8d
movl $0x1, %ecx
movl %ecx, %edx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x424(%rsp)
movl 0x424(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x418(%rsp)
movq 0x418(%rsp), %rdi
movl 0x424(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x75c00
testb $0x1, 0x7df(%rsp)
je 0x87f64
movq 0x418(%rsp), %rdi
movl 0x424(%rsp), %eax
movl %eax, %esi
callq 0x7f370
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x410(%rsp)
movq $0x0, 0x408(%rsp)
callq 0x117b0
movq %rax, 0x400(%rsp)
movq 0x408(%rsp), %rax
cmpq 0x400(%rsp), %rax
jae 0x87fef
movq 0x418(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x418(%rsp)
cvtsi2sdl (%rax), %xmm0
movq 0x410(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x410(%rsp)
movsd %xmm0, (%rax)
movq 0x408(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x408(%rsp)
jmp 0x87f91
movl 0x424(%rsp), %ecx
movq 0x418(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x418(%rsp)
movq 0x418(%rsp), %rax
movq %rax, 0xf0(%rsp)
cmpq $0x0, %rax
je 0x88039
movq 0xf0(%rsp), %rdi
callq 0x5680
jmp 0x8803b
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x2, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x88071
leaq 0x7e0(%rsp), %rdi
movl $0x2, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e4(%rsp), %esi
movl 0x7e0(%rsp), %r8d
movl $0x1, %ecx
movl %ecx, %edx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x3fc(%rsp)
movl 0x3fc(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x3f0(%rsp)
movq 0x3f0(%rsp), %rdi
movl 0x3fc(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x88116
movq 0x3f0(%rsp), %rdi
movl 0x3fc(%rsp), %eax
movl %eax, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x3e8(%rsp)
movq $0x0, 0x3e0(%rsp)
callq 0x117b0
movq %rax, 0x3d8(%rsp)
movq 0x3e0(%rsp), %rax
cmpq 0x3d8(%rsp), %rax
jae 0x881a4
movq 0x3f0(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x3f0(%rsp)
movl (%rax), %eax
cvtsi2sd %rax, %xmm0
movq 0x3e8(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x3e8(%rsp)
movsd %xmm0, (%rax)
movq 0x3e0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x3e0(%rsp)
jmp 0x88143
movl 0x3fc(%rsp), %ecx
movq 0x3f0(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x3f0(%rsp)
movq 0x3f0(%rsp), %rax
movq %rax, 0xe8(%rsp)
cmpq $0x0, %rax
je 0x881ee
movq 0xe8(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x2, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x88229
leaq 0x7e0(%rsp), %rdi
movl $0x2, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e4(%rsp), %esi
movl 0x7e0(%rsp), %r8d
movl $0x1, %ecx
movl %ecx, %edx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x3d4(%rsp)
movl 0x3d4(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x3c8(%rsp)
movq 0x3c8(%rsp), %rdi
movl 0x3d4(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x79a70
testb $0x1, 0x7df(%rsp)
je 0x882ce
movq 0x3c8(%rsp), %rdi
movl 0x3d4(%rsp), %eax
movl %eax, %esi
callq 0x7aaa0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x3c0(%rsp)
movq $0x0, 0x3b8(%rsp)
callq 0x117b0
movq %rax, 0x3b0(%rsp)
movq 0x3b8(%rsp), %rax
cmpq 0x3b0(%rsp), %rax
jae 0x8835d
movq 0x3c8(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x3c8(%rsp)
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movq 0x3c0(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x3c0(%rsp)
movsd %xmm0, (%rax)
movq 0x3b8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x3b8(%rsp)
jmp 0x882fb
movl 0x3d4(%rsp), %ecx
movq 0x3c8(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x3c8(%rsp)
movq 0x3c8(%rsp), %rax
movq %rax, 0xe0(%rsp)
cmpq $0x0, %rax
je 0x883a7
movq 0xe0(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x3, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x883e2
leaq 0x7e0(%rsp), %rdi
movl $0x3, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e8(%rsp), %esi
movl 0x7e4(%rsp), %edx
movl 0x7e0(%rsp), %r8d
movl $0x1, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x3ac(%rsp)
movl 0x3ac(%rsp), %eax
movl %eax, %edi
callq 0x5040
movq %rax, 0x3a0(%rsp)
movq 0x3a0(%rsp), %rdi
movl 0x3ac(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x754c0
testb $0x1, 0x7df(%rsp)
je 0x88472
movq 0x3a0(%rsp), %rdi
movl 0x3ac(%rsp), %eax
movl %eax, %esi
callq 0x80e60
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x398(%rsp)
movq $0x0, 0x390(%rsp)
callq 0x117b0
movq %rax, 0x388(%rsp)
movq 0x390(%rsp), %rax
cmpq 0x388(%rsp), %rax
jae 0x884ff
movq 0x3a0(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x3a0(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x398(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x398(%rsp)
movsd %xmm0, (%rax)
movq 0x390(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x390(%rsp)
jmp 0x8849f
movl 0x3ac(%rsp), %ecx
movq 0x3a0(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0x3a0(%rsp)
movq 0x3a0(%rsp), %rax
movq %rax, 0xd8(%rsp)
cmpq $0x0, %rax
je 0x88545
movq 0xd8(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x3, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x88580
leaq 0x7e0(%rsp), %rdi
movl $0x3, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e8(%rsp), %esi
movl 0x7e4(%rsp), %edx
movl 0x7e0(%rsp), %r8d
movl $0x1, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x384(%rsp)
movl 0x384(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x378(%rsp)
movq 0x378(%rsp), %rdi
movl 0x384(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x75c00
testb $0x1, 0x7df(%rsp)
je 0x8862a
movq 0x378(%rsp), %rdi
movl 0x384(%rsp), %eax
movl %eax, %esi
callq 0x7f370
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x370(%rsp)
movq $0x0, 0x368(%rsp)
callq 0x117b0
movq %rax, 0x360(%rsp)
movq 0x368(%rsp), %rax
cmpq 0x360(%rsp), %rax
jae 0x886b5
movq 0x378(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x378(%rsp)
cvtsi2sdl (%rax), %xmm0
movq 0x370(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x370(%rsp)
movsd %xmm0, (%rax)
movq 0x368(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x368(%rsp)
jmp 0x88657
movl 0x384(%rsp), %ecx
movq 0x378(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x378(%rsp)
movq 0x378(%rsp), %rax
movq %rax, 0xd0(%rsp)
cmpq $0x0, %rax
je 0x886ff
movq 0xd0(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x3, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x8873a
leaq 0x7e0(%rsp), %rdi
movl $0x3, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e8(%rsp), %esi
movl 0x7e4(%rsp), %edx
movl 0x7e0(%rsp), %r8d
movl $0x1, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x35c(%rsp)
movl 0x35c(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x350(%rsp)
movq 0x350(%rsp), %rdi
movl 0x35c(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x887e4
movq 0x350(%rsp), %rdi
movl 0x35c(%rsp), %eax
movl %eax, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x348(%rsp)
movq $0x0, 0x340(%rsp)
callq 0x117b0
movq %rax, 0x338(%rsp)
movq 0x340(%rsp), %rax
cmpq 0x338(%rsp), %rax
jae 0x88872
movq 0x350(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x350(%rsp)
movl (%rax), %eax
cvtsi2sd %rax, %xmm0
movq 0x348(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x348(%rsp)
movsd %xmm0, (%rax)
movq 0x340(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x340(%rsp)
jmp 0x88811
movl 0x35c(%rsp), %ecx
movq 0x350(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x350(%rsp)
movq 0x350(%rsp), %rax
movq %rax, 0xc8(%rsp)
cmpq $0x0, %rax
je 0x888bc
movq 0xc8(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x3, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x888f7
leaq 0x7e0(%rsp), %rdi
movl $0x3, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7e8(%rsp), %esi
movl 0x7e4(%rsp), %edx
movl 0x7e0(%rsp), %r8d
movl $0x1, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x334(%rsp)
movl 0x334(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x328(%rsp)
movq 0x328(%rsp), %rdi
movl 0x334(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x79a70
testb $0x1, 0x7df(%rsp)
je 0x889a1
movq 0x328(%rsp), %rdi
movl 0x334(%rsp), %eax
movl %eax, %esi
callq 0x7aaa0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x320(%rsp)
movq $0x0, 0x318(%rsp)
callq 0x117b0
movq %rax, 0x310(%rsp)
movq 0x318(%rsp), %rax
cmpq 0x310(%rsp), %rax
jae 0x88a30
movq 0x328(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x328(%rsp)
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movq 0x320(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x320(%rsp)
movsd %xmm0, (%rax)
movq 0x318(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x318(%rsp)
jmp 0x889ce
movl 0x334(%rsp), %ecx
movq 0x328(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x328(%rsp)
movq 0x328(%rsp), %rax
movq %rax, 0xc0(%rsp)
cmpq $0x0, %rax
je 0x88a7a
movq 0xc0(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x4, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x88ab5
leaq 0x7e0(%rsp), %rdi
movl $0x4, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7ec(%rsp), %esi
movl 0x7e8(%rsp), %edx
movl 0x7e4(%rsp), %ecx
movl 0x7e0(%rsp), %r8d
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x30c(%rsp)
movl 0x30c(%rsp), %eax
movl %eax, %edi
callq 0x5040
movq %rax, 0x300(%rsp)
movq 0x300(%rsp), %rdi
movl 0x30c(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x754c0
testb $0x1, 0x7df(%rsp)
je 0x88b47
movq 0x300(%rsp), %rdi
movl 0x30c(%rsp), %eax
movl %eax, %esi
callq 0x80e60
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x2f8(%rsp)
movq $0x0, 0x2f0(%rsp)
callq 0x117b0
movq %rax, 0x2e8(%rsp)
movq 0x2f0(%rsp), %rax
cmpq 0x2e8(%rsp), %rax
jae 0x88bd4
movq 0x300(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x300(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x2f8(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x2f8(%rsp)
movsd %xmm0, (%rax)
movq 0x2f0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x2f0(%rsp)
jmp 0x88b74
movl 0x30c(%rsp), %ecx
movq 0x300(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0x300(%rsp)
movq 0x300(%rsp), %rax
movq %rax, 0xb8(%rsp)
cmpq $0x0, %rax
je 0x88c1a
movq 0xb8(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x4, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x88c55
leaq 0x7e0(%rsp), %rdi
movl $0x4, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7ec(%rsp), %esi
movl 0x7e8(%rsp), %edx
movl 0x7e4(%rsp), %ecx
movl 0x7e0(%rsp), %r8d
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x2e4(%rsp)
movl 0x2e4(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x2d8(%rsp)
movq 0x2d8(%rsp), %rdi
movl 0x2e4(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x75c00
testb $0x1, 0x7df(%rsp)
je 0x88d01
movq 0x2d8(%rsp), %rdi
movl 0x2e4(%rsp), %eax
movl %eax, %esi
callq 0x7f370
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x2d0(%rsp)
movq $0x0, 0x2c8(%rsp)
callq 0x117b0
movq %rax, 0x2c0(%rsp)
movq 0x2c8(%rsp), %rax
cmpq 0x2c0(%rsp), %rax
jae 0x88d8c
movq 0x2d8(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x2d8(%rsp)
cvtsi2sdl (%rax), %xmm0
movq 0x2d0(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x2d0(%rsp)
movsd %xmm0, (%rax)
movq 0x2c8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x2c8(%rsp)
jmp 0x88d2e
movl 0x2e4(%rsp), %ecx
movq 0x2d8(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x2d8(%rsp)
movq 0x2d8(%rsp), %rax
movq %rax, 0xb0(%rsp)
cmpq $0x0, %rax
je 0x88dd6
movq 0xb0(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x4, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x88e11
leaq 0x7e0(%rsp), %rdi
movl $0x4, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7ec(%rsp), %esi
movl 0x7e8(%rsp), %edx
movl 0x7e4(%rsp), %ecx
movl 0x7e0(%rsp), %r8d
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x2bc(%rsp)
movl 0x2bc(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x2b0(%rsp)
movq 0x2b0(%rsp), %rdi
movl 0x2bc(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x88ebd
movq 0x2b0(%rsp), %rdi
movl 0x2bc(%rsp), %eax
movl %eax, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x2a8(%rsp)
movq $0x0, 0x2a0(%rsp)
callq 0x117b0
movq %rax, 0x298(%rsp)
movq 0x2a0(%rsp), %rax
cmpq 0x298(%rsp), %rax
jae 0x88f4b
movq 0x2b0(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x2b0(%rsp)
movl (%rax), %eax
cvtsi2sd %rax, %xmm0
movq 0x2a8(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x2a8(%rsp)
movsd %xmm0, (%rax)
movq 0x2a0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x2a0(%rsp)
jmp 0x88eea
movl 0x2bc(%rsp), %ecx
movq 0x2b0(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x2b0(%rsp)
movq 0x2b0(%rsp), %rax
movq %rax, 0xa8(%rsp)
cmpq $0x0, %rax
je 0x88f95
movq 0xa8(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x7e0(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x4, %esi
callq 0x7eee0
testb $0x1, 0x7df(%rsp)
je 0x88fd0
leaq 0x7e0(%rsp), %rdi
movl $0x4, %esi
callq 0x7f6b0
movq 0x238(%rsp), %rdi
movl 0x7ec(%rsp), %esi
movl 0x7e8(%rsp), %edx
movl 0x7e4(%rsp), %ecx
movl 0x7e0(%rsp), %r8d
callq 0x11900
movq 0x238(%rsp), %rdi
callq 0x117b0
movl %eax, 0x294(%rsp)
movl 0x294(%rsp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x5040
movq %rax, 0x288(%rsp)
movq 0x288(%rsp), %rdi
movl 0x294(%rsp), %eax
movl %eax, %esi
movq 0x838(%rsp), %rdx
callq 0x79a70
testb $0x1, 0x7df(%rsp)
je 0x8907c
movq 0x288(%rsp), %rdi
movl 0x294(%rsp), %eax
movl %eax, %esi
callq 0x7aaa0
movq 0x238(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x280(%rsp)
movq $0x0, 0x278(%rsp)
callq 0x117b0
movq %rax, 0x270(%rsp)
movq 0x278(%rsp), %rax
cmpq 0x270(%rsp), %rax
jae 0x8910b
movq 0x288(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x288(%rsp)
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movq 0x280(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x280(%rsp)
movsd %xmm0, (%rax)
movq 0x278(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x278(%rsp)
jmp 0x890a9
movl 0x294(%rsp), %ecx
movq 0x288(%rsp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x288(%rsp)
movq 0x288(%rsp), %rax
movq %rax, 0xa0(%rsp)
cmpq $0x0, %rax
je 0x89155
movq 0xa0(%rsp), %rdi
callq 0x5680
jmp 0x894ee
leaq 0x260(%rsp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x52a0
leaq 0x260(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x1, %esi
callq 0x75c00
testb $0x1, 0x7df(%rsp)
je 0x891a4
leaq 0x260(%rsp), %rdi
movl $0x1, %esi
callq 0x7f370
movq 0x238(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
cvtsi2sdl 0x260(%rsp), %xmm0
movsd %xmm0, 0x98(%rsp)
xorl %esi, %esi
callq 0x897e0
movsd 0x98(%rsp), %xmm0
movsd %xmm0, (%rax)
jmp 0x894ee
leaq 0x250(%rsp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x52a0
leaq 0x250(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x2, %esi
callq 0x75c00
testb $0x1, 0x7df(%rsp)
je 0x8923d
leaq 0x250(%rsp), %rdi
movl $0x2, %esi
callq 0x7f370
movq 0x238(%rsp), %rdi
movl $0x2, %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
cvtsi2sdl 0x254(%rsp), %xmm0
movsd %xmm0, 0x88(%rsp)
xorl %esi, %esi
callq 0x897e0
movsd 0x88(%rsp), %xmm0
movq 0x238(%rsp), %rdi
movsd %xmm0, (%rax)
cvtsi2sdl 0x250(%rsp), %xmm0
movsd %xmm0, 0x90(%rsp)
movl $0x1, %esi
callq 0x897e0
movsd 0x90(%rsp), %xmm0
movsd %xmm0, (%rax)
jmp 0x894ee
leaq 0x240(%rsp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x52a0
leaq 0x240(%rsp), %rdi
movq 0x838(%rsp), %rdx
movl $0x3, %esi
callq 0x75c00
testb $0x1, 0x7df(%rsp)
je 0x89309
leaq 0x240(%rsp), %rdi
movl $0x3, %esi
callq 0x7f370
movq 0x238(%rsp), %rdi
movl $0x3, %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x11900
movq 0x238(%rsp), %rdi
cvtsi2sdl 0x248(%rsp), %xmm0
movsd %xmm0, 0x70(%rsp)
xorl %esi, %esi
callq 0x897e0
movsd 0x70(%rsp), %xmm0
movq 0x238(%rsp), %rdi
movsd %xmm0, (%rax)
cvtsi2sdl 0x244(%rsp), %xmm0
movsd %xmm0, 0x78(%rsp)
movl $0x1, %esi
callq 0x897e0
movsd 0x78(%rsp), %xmm0
movq 0x238(%rsp), %rdi
movsd %xmm0, (%rax)
cvtsi2sdl 0x240(%rsp), %xmm0
movsd %xmm0, 0x80(%rsp)
movl $0x2, %esi
callq 0x897e0
movsd 0x80(%rsp), %xmm0
movsd %xmm0, (%rax)
jmp 0x894ee
cmpq $0x0, 0x858(%rsp)
jne 0x893c8
movq 0x838(%rsp), %rdi
callq 0x5c6f0
movl $0x4008, %edi           # imm = 0x4008
callq 0x5240
movq %rax, %rcx
movq 0x238(%rsp), %rax
movq %rcx, 0x40(%rsp)
movl (%rax), %ecx
movl %ecx, 0x48(%rsp)
movl 0x4(%rax), %ecx
movl %ecx, 0x4c(%rsp)
movl 0x8(%rax), %ecx
movl %ecx, 0x50(%rsp)
movl 0xc(%rax), %ecx
movl %ecx, 0x54(%rsp)
movq 0x18(%rax), %rcx
movq %rcx, 0x58(%rsp)
movb 0x10(%rax), %dl
leaq 0x5f5c2(%rip), %rcx     # 0xe89d2
leaq 0x406ca(%rip), %rax     # 0xc9ae1
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x60(%rsp)
callq 0x118f0
movq %rax, 0x68(%rsp)
jmp 0x8942f
movl 0x80c(%rsp), %eax
movl %eax, 0x3c(%rsp)
cmpq $0x0, 0x850(%rsp)
je 0x89454
movq 0x850(%rsp), %rax
movq %rax, 0x30(%rsp)
jmp 0x89462
leaq 0x6002f(%rip), %rax     # 0xe948a
movq %rax, 0x30(%rsp)
jmp 0x89462
movl 0x54(%rsp), %r9d
movl 0x50(%rsp), %r8d
movl 0x4c(%rsp), %ecx
movl 0x48(%rsp), %edx
movq 0x40(%rsp), %rdi
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %r10
movq 0x68(%rsp), %r11
movl 0x3c(%rsp), %ebx
movq 0x30(%rsp), %r14
movq %rsp, %rax
movq %r14, 0x20(%rax)
movl %ebx, 0x18(%rax)
movq %r11, 0x10(%rax)
movq %r10, 0x8(%rax)
movq %rsi, (%rax)
leaq 0x61536(%rip), %rsi     # 0xea9e3
xorl %eax, %eax
callq 0x5c880
jmp 0x894b6
movq 0x40(%rsp), %rdi
leaq 0x767ae(%rip), %rsi     # 0xffc70
leaq -0x2ca09(%rip), %rdx    # 0x5cac0
callq 0x5920
movq 0x40(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x848(%rsp)
movl %eax, 0x844(%rsp)
callq 0x53a0
jmp 0x89519
cmpq $0x0, 0x858(%rsp)
jne 0x89506
movq 0x838(%rsp), %rdi
callq 0x5c6f0
movq 0x238(%rsp), %rax
addq $0x868, %rsp            # imm = 0x868
popq %rbx
popq %r14
retq
movq 0x848(%rsp), %rdi
callq 0x5970
nopw %cs:(%rax,%rax)