// File: manikandan5[P]Image-Matching-Stitching-Warping/./CImg.h
// Function: cimg_library::CImg<double>::_load_pnm(_IO_FILE*, char const*)
CImg<T>& _load_pnm(std::FILE *const file, const char *const filename) {
      if (!file && !filename)
        throw CImgArgumentException(_cimg_instance
                                    "load_pnm(): Specified filename is (null).",
                                    cimg_instance);

      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
      unsigned int ppm_type, W, H, D = 1, colormax = 255;
      CImg<charT> item(16384,1,1,1,0);
      int err, rval, gval, bval;
      const long cimg_iobuffer = 12*1024*1024;
      while ((err=std::fscanf(nfile,"%16383[^\n]",item.data()))!=EOF && (*item=='#' || !err)) std::fgetc(nfile);
      if (std::sscanf(item," P%u",&ppm_type)!=1) {
        if (!file) cimg::fclose(nfile);
        throw CImgIOException(_cimg_instance
                              "load_pnm(): PNM header not found in file '%s'.",
                              cimg_instance,
                              filename?filename:"(FILE*)");
      }
      while ((err=std::fscanf(nfile," %16383[^\n]",item.data()))!=EOF && (*item=='#' || !err)) std::fgetc(nfile);
      if ((err=std::sscanf(item," %u %u %u %u",&W,&H,&D,&colormax))<2) {
        if (!file) cimg::fclose(nfile);
        throw CImgIOException(_cimg_instance
                              "load_pnm(): WIDTH and HEIGHT fields undefined in file '%s'.",
                              cimg_instance,
                              filename?filename:"(FILE*)");
      }
      if (ppm_type!=1 && ppm_type!=4) {
        if (err==2 || (err==3 && (ppm_type==5 || ppm_type==7 || ppm_type==8 || ppm_type==9))) {
          while ((err=std::fscanf(nfile," %16383[^\n]",item.data()))!=EOF && (*item=='#' || !err)) std::fgetc(nfile);
          if (std::sscanf(item,"%u",&colormax)!=1)
            cimg::warn(_cimg_instance
                       "load_pnm(): COLORMAX field is undefined in file '%s'.",
                       cimg_instance,
                       filename?filename:"(FILE*)");
        } else { colormax = D; D = 1; }
      }
      std::fgetc(nfile);

      switch (ppm_type) {
      case 1 : { // 2d b&w ascii.
        assign(W,H,1,1);
        T* ptrd = _data;
        cimg_foroff(*this,off) { if (std::fscanf(nfile,"%d",&rval)>0) *(ptrd++) = (T)(rval?0:255); else break; }
      } break;
      case 2 : { // 2d grey ascii.
        assign(W,H,1,1);
        T* ptrd = _data;
        cimg_foroff(*this,off) { if (std::fscanf(nfile,"%d",&rval)>0) *(ptrd++) = (T)rval; else break; }
      } break;
      case 3 : { // 2d color ascii.
        assign(W,H,1,3);
        T *ptrd = data(0,0,0,0), *ptr_g = data(0,0,0,1), *ptr_b = data(0,0,0,2);
        cimg_forXY(*this,x,y) {
          if (std::fscanf(nfile,"%d %d %d",&rval,&gval,&bval)==3) {
            *(ptrd++) = (T)rval; *(ptr_g++) = (T)gval; *(ptr_b++) = (T)bval;
          } else break;
        }
      } break;
      case 4 : { // 2d b&w binary (support 3D PINK extension).
        CImg<ucharT> raw;
        assign(W,H,D,1);
        T *ptrd = data(0,0,0,0);
        unsigned int w = 0, h = 0, d = 0;
        for (long to_read = (long)((W/8 + (W%8?1:0))*H*D); to_read>0; ) {
          raw.assign(cimg::min(to_read,cimg_iobuffer));
          cimg::fread(raw._data,raw._width,nfile);
          to_read-=raw._width;
          const unsigned char *ptrs = raw._data;
          unsigned char mask = 0, val = 0;
          for (unsigned long off = (unsigned long)raw._width; off || mask; mask>>=1) {
            if (!mask) { if (off--) val = *(ptrs++); mask = 128; }
            *(ptrd++) = (T)((val&mask)?0:255);
            if (++w==W) { w = 0; mask = 0; if (++h==H) { h = 0; if (++d==D) break; }}
          }
        }
      } break;
      case 5 : case 7 : { // 2d/3d grey binary (support 3D PINK extension).
        if (colormax<256) { // 8 bits.
          CImg<ucharT> raw;
          assign(W,H,D,1);
          T *ptrd = data(0,0,0,0);
          for (long to_read = (long)size(); to_read>0; ) {
            raw.assign(cimg::min(to_read,cimg_iobuffer));
            cimg::fread(raw._data,raw._width,nfile);
            to_read-=raw._width;
            const unsigned char *ptrs = raw._data;
            for (unsigned long off = (unsigned long)raw._width; off; --off) *(ptrd++) = (T)*(ptrs++);
          }
        } else { // 16 bits.
          CImg<ushortT> raw;
          assign(W,H,D,1);
          T *ptrd = data(0,0,0,0);
          for (long to_read = (long)size(); to_read>0; ) {
            raw.assign(cimg::min(to_read,cimg_iobuffer/2));
            cimg::fread(raw._data,raw._width,nfile);
            if (!cimg::endianness()) cimg::invert_endianness(raw._data,raw._width);
            to_read-=raw._width;
            const unsigned short *ptrs = raw._data;
            for (unsigned long off = (unsigned long)raw._width; off; --off) *(ptrd++) = (T)*(ptrs++);
          }
        }
      } break;
      case 6 : { // 2d color binary.
        if (colormax<256) { // 8 bits.
          CImg<ucharT> raw;
          assign(W,H,1,3);
          T
            *ptr_r = data(0,0,0,0),
            *ptr_g = data(0,0,0,1),
            *ptr_b = data(0,0,0,2);
          for (long to_read = (long)size(); to_read>0; ) {
            raw.assign(cimg::min(to_read,cimg_iobuffer));
            cimg::fread(raw._data,raw._width,nfile);
            to_read-=raw._width;
            const unsigned char *ptrs = raw._data;
            for (unsigned long off = (unsigned long)raw._width/3; off; --off) {
              *(ptr_r++) = (T)*(ptrs++);
              *(ptr_g++) = (T)*(ptrs++);
              *(ptr_b++) = (T)*(ptrs++);
            }
          }
        } else { // 16 bits.
          CImg<ushortT> raw;
          assign(W,H,1,3);
          T
            *ptr_r = data(0,0,0,0),
            *ptr_g = data(0,0,0,1),
            *ptr_b = data(0,0,0,2);
          for (long to_read = (int)size(); to_read>0; ) {
            raw.assign(cimg::min(to_read,cimg_iobuffer/2));
            cimg::fread(raw._data,raw._width,nfile);
            if (!cimg::endianness()) cimg::invert_endianness(raw._data,raw._width);
            to_read-=raw._width;
            const unsigned short *ptrs = raw._data;
            for (unsigned long off = (unsigned long)raw._width/3; off; --off) {
              *(ptr_r++) = (T)*(ptrs++);
              *(ptr_g++) = (T)*(ptrs++);
              *(ptr_b++) = (T)*(ptrs++);
            }
          }
        }
      } break;
      case 8 : { // 2d/3d grey binary with int32 integers (PINK extension).
        CImg<intT> raw;
        assign(W,H,D,1);
        T *ptrd = data(0,0,0,0);
        for (long to_read = (long)size(); to_read>0; ) {
          raw.assign(cimg::min(to_read,cimg_iobuffer));
          cimg::fread(raw._data,raw._width,nfile);
          to_read-=raw._width;
          const int *ptrs = raw._data;
          for (unsigned long off = (unsigned long)raw._width; off; --off) *(ptrd++) = (T)*(ptrs++);
        }
      } break;
      case 9 : { // 2d/3d grey binary with float values (PINK extension).
        CImg<floatT> raw;
        assign(W,H,D,1);
        T *ptrd = data(0,0,0,0);
        for (long to_read = (long)size(); to_read>0; ) {
          raw.assign(cimg::min(to_read,cimg_iobuffer));
          cimg::fread(raw._data,raw._width,nfile);
          to_read-=raw._width;
          const float *ptrs = raw._data;
          for (unsigned long off = (unsigned long)raw._width; off; --off) *(ptrd++) = (T)*(ptrs++);
        }
      } break;
      default :
        assign();
        if (!file) cimg::fclose(nfile);
        throw CImgIOException(_cimg_instance
                              "load_pnm(): PNM type 'P%d' found, but type is not supported.",
                              cimg_instance,
                              filename?filename:"(FILE*)",ppm_type);
      }
      if (!file) cimg::fclose(nfile);
      return *this;
    }

// Assembly:
pushq %rbp
pushq %rbx
subq $0x4b8, %rsp            # imm = 0x4B8
movq %rdi, 0x4b0(%rsp)
movq %rsi, 0x4a8(%rsp)
movq %rdx, 0x4a0(%rsp)
movq 0x4b0(%rsp), %rax
movq %rax, 0x1d8(%rsp)
cmpq $0x0, 0x4a8(%rsp)
jne 0x76ddb
cmpq $0x0, 0x4a0(%rsp)
jne 0x76ddb
movl $0x4008, %edi           # imm = 0x4008
callq 0x5240
movq %rax, %rcx
movq 0x1d8(%rsp), %rax
movq %rcx, 0x1a8(%rsp)
movl (%rax), %ecx
movl %ecx, 0x1b0(%rsp)
movl 0x4(%rax), %ecx
movl %ecx, 0x1b4(%rsp)
movl 0x8(%rax), %ecx
movl %ecx, 0x1b8(%rsp)
movl 0xc(%rax), %ecx
movl %ecx, 0x1bc(%rsp)
movq 0x18(%rax), %rcx
movq %rcx, 0x1c0(%rsp)
movb 0x10(%rax), %dl
leaq 0x71cb9(%rip), %rcx     # 0xe89d2
leaq 0x52dc1(%rip), %rax     # 0xc9ae1
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x1c8(%rsp)
callq 0x118f0
movq %rax, 0x1d0(%rsp)
jmp 0x76d3e
movl 0x1bc(%rsp), %r9d
movl 0x1b8(%rsp), %r8d
movl 0x1b4(%rsp), %ecx
movl 0x1b0(%rsp), %edx
movq 0x1a8(%rsp), %rdi
movq 0x1c0(%rsp), %rsi
movq 0x1c8(%rsp), %r10
movq 0x1d0(%rsp), %r11
movq %rsp, %rax
movq %r11, 0x10(%rax)
movq %r10, 0x8(%rax)
movq %rsi, (%rax)
leaq 0x72bd4(%rip), %rsi     # 0xe9965
xorl %eax, %eax
callq 0x12220
jmp 0x76d9a
movq 0x1a8(%rsp), %rdi
leaq 0x88db7(%rip), %rsi     # 0xffb60
leaq -0x64950(%rip), %rdx    # 0x12460
callq 0x5920
movq 0x1a8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x498(%rsp)
movl %eax, 0x494(%rsp)
callq 0x53a0
jmp 0x78a47
cmpq $0x0, 0x4a8(%rsp)
je 0x76df8
movq 0x4a8(%rsp), %rax
movq %rax, 0x1a0(%rsp)
jmp 0x76e14
movq 0x4a0(%rsp), %rdi
leaq 0x72357(%rip), %rsi     # 0xe915e
callq 0x654a0
movq %rax, 0x1a0(%rsp)
movq 0x1a0(%rsp), %rax
movq %rax, 0x488(%rsp)
movl $0x1, 0x478(%rsp)
movl $0xff, 0x474(%rsp)
leaq 0x450(%rsp), %rdi
movl $0x4000, %esi           # imm = 0x4000
movl $0x1, %r8d
xorl %r9d, %r9d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x78a60
movq $0xc00000, 0x438(%rsp) # imm = 0xC00000
movq 0x488(%rsp), %rax
movq %rax, 0x190(%rsp)
leaq 0x450(%rsp), %rdi
callq 0x1a3e0
movq 0x190(%rsp), %rdi
movq %rax, %rdx
leaq 0x72b8a(%rip), %rsi     # 0xe9a20
xorl %eax, %eax
callq 0x5a10
movl %eax, 0x19c(%rsp)
jmp 0x76ea6
movl 0x19c(%rsp), %ecx
movl %ecx, 0x44c(%rsp)
xorl %eax, %eax
cmpl $-0x1, %ecx
movb %al, 0x18f(%rsp)
je 0x76f02
leaq 0x450(%rsp), %rdi
callq 0x1e140
movsbl (%rax), %ecx
movb $0x1, %al
cmpl $0x23, %ecx
movb %al, 0x18e(%rsp)
je 0x76ef4
cmpl $0x0, 0x44c(%rsp)
setne %al
xorb $-0x1, %al
movb %al, 0x18e(%rsp)
movb 0x18e(%rsp), %al
movb %al, 0x18f(%rsp)
movb 0x18f(%rsp), %al
testb $0x1, %al
jne 0x76f0f
jmp 0x76f3c
movq 0x488(%rsp), %rdi
callq 0x5860
jmp 0x76f1e
jmp 0x76e67
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x498(%rsp)
movl %eax, 0x494(%rsp)
jmp 0x78a3a
leaq 0x450(%rsp), %rdi
callq 0x1e140
movq %rax, %rdi
leaq 0x72a6a(%rip), %rsi     # 0xe99bd
leaq 0x484(%rsp), %rdx
movb $0x0, %al
callq 0x5510
cmpl $0x1, %eax
je 0x770e2
cmpq $0x0, 0x4a8(%rsp)
jne 0x76f87
movq 0x488(%rsp), %rdi
callq 0x5c6f0
jmp 0x76f85
jmp 0x76f87
movl $0x4008, %edi           # imm = 0x4008
callq 0x5240
movq %rax, %rcx
movq 0x1d8(%rsp), %rax
movq %rcx, 0x158(%rsp)
movl (%rax), %ecx
movl %ecx, 0x160(%rsp)
movl 0x4(%rax), %ecx
movl %ecx, 0x164(%rsp)
movl 0x8(%rax), %ecx
movl %ecx, 0x168(%rsp)
movl 0xc(%rax), %ecx
movl %ecx, 0x16c(%rsp)
movq 0x18(%rax), %rcx
movq %rcx, 0x170(%rsp)
movb 0x10(%rax), %dl
leaq 0x719f1(%rip), %rcx     # 0xe89d2
leaq 0x52af9(%rip), %rax     # 0xc9ae1
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x178(%rsp)
callq 0x118f0
movq %rax, 0x180(%rsp)
jmp 0x77006
cmpq $0x0, 0x4a0(%rsp)
je 0x77023
movq 0x4a0(%rsp), %rax
movq %rax, 0x150(%rsp)
jmp 0x77034
leaq 0x72460(%rip), %rax     # 0xe948a
movq %rax, 0x150(%rsp)
jmp 0x77034
movl 0x16c(%rsp), %r9d
movl 0x168(%rsp), %r8d
movl 0x164(%rsp), %ecx
movl 0x160(%rsp), %edx
movq 0x158(%rsp), %rdi
movq 0x170(%rsp), %rsi
movq 0x178(%rsp), %r10
movq 0x180(%rsp), %r11
movq 0x150(%rsp), %rbx
movq %rsp, %rax
movq %rbx, 0x18(%rax)
movq %r11, 0x10(%rax)
movq %r10, 0x8(%rax)
movq %rsi, (%rax)
leaq 0x7292f(%rip), %rsi     # 0xe99c2
xorl %eax, %eax
callq 0x5c880
jmp 0x7709c
movq 0x158(%rsp), %rdi
leaq 0x88bc5(%rip), %rsi     # 0xffc70
leaq -0x1a5f2(%rip), %rdx    # 0x5cac0
callq 0x5920
jmp 0x78a54
movq 0x158(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x498(%rsp)
movl %eax, 0x494(%rsp)
callq 0x53a0
jmp 0x78a3a
jmp 0x770e4
movq 0x488(%rsp), %rax
movq %rax, 0x140(%rsp)
leaq 0x450(%rsp), %rdi
callq 0x1a3e0
movq 0x140(%rsp), %rdi
movq %rax, %rdx
leaq 0x7290c(%rip), %rsi     # 0xe9a1f
xorl %eax, %eax
callq 0x5a10
movl %eax, 0x14c(%rsp)
jmp 0x77123
movl 0x14c(%rsp), %ecx
movl %ecx, 0x44c(%rsp)
xorl %eax, %eax
cmpl $-0x1, %ecx
movb %al, 0x13f(%rsp)
je 0x7717f
leaq 0x450(%rsp), %rdi
callq 0x1e140
movsbl (%rax), %ecx
movb $0x1, %al
cmpl $0x23, %ecx
movb %al, 0x13e(%rsp)
je 0x77171
cmpl $0x0, 0x44c(%rsp)
setne %al
xorb $-0x1, %al
movb %al, 0x13e(%rsp)
movb 0x13e(%rsp), %al
movb %al, 0x13f(%rsp)
movb 0x13f(%rsp), %al
testb $0x1, %al
jne 0x7718c
jmp 0x771a0
movq 0x488(%rsp), %rdi
callq 0x5860
jmp 0x7719b
jmp 0x770e4
leaq 0x450(%rsp), %rdi
callq 0x1e140
movq %rax, %rdi
leaq 0x72874(%rip), %rsi     # 0xe9a2b
leaq 0x480(%rsp), %rdx
leaq 0x47c(%rsp), %rcx
leaq 0x478(%rsp), %r8
leaq 0x474(%rsp), %r9
movb $0x0, %al
callq 0x5510
movl %eax, 0x44c(%rsp)
cmpl $0x2, %eax
jge 0x77365
cmpq $0x0, 0x4a8(%rsp)
jne 0x7720a
movq 0x488(%rsp), %rdi
callq 0x5c6f0
jmp 0x77208
jmp 0x7720a
movl $0x4008, %edi           # imm = 0x4008
callq 0x5240
movq %rax, %rcx
movq 0x1d8(%rsp), %rax
movq %rcx, 0x108(%rsp)
movl (%rax), %ecx
movl %ecx, 0x110(%rsp)
movl 0x4(%rax), %ecx
movl %ecx, 0x114(%rsp)
movl 0x8(%rax), %ecx
movl %ecx, 0x118(%rsp)
movl 0xc(%rax), %ecx
movl %ecx, 0x11c(%rsp)
movq 0x18(%rax), %rcx
movq %rcx, 0x120(%rsp)
movb 0x10(%rax), %dl
leaq 0x7176e(%rip), %rcx     # 0xe89d2
leaq 0x52876(%rip), %rax     # 0xc9ae1
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x128(%rsp)
callq 0x118f0
movq %rax, 0x130(%rsp)
jmp 0x77289
cmpq $0x0, 0x4a0(%rsp)
je 0x772a6
movq 0x4a0(%rsp), %rax
movq %rax, 0x100(%rsp)
jmp 0x772b7
leaq 0x721dd(%rip), %rax     # 0xe948a
movq %rax, 0x100(%rsp)
jmp 0x772b7
movl 0x11c(%rsp), %r9d
movl 0x118(%rsp), %r8d
movl 0x114(%rsp), %ecx
movl 0x110(%rsp), %edx
movq 0x108(%rsp), %rdi
movq 0x120(%rsp), %rsi
movq 0x128(%rsp), %r10
movq 0x130(%rsp), %r11
movq 0x100(%rsp), %rbx
movq %rsp, %rax
movq %rbx, 0x18(%rax)
movq %r11, 0x10(%rax)
movq %r10, 0x8(%rax)
movq %rsi, (%rax)
leaq 0x72722(%rip), %rsi     # 0xe9a38
xorl %eax, %eax
callq 0x5c880
jmp 0x7731f
movq 0x108(%rsp), %rdi
leaq 0x88942(%rip), %rsi     # 0xffc70
leaq -0x1a875(%rip), %rdx    # 0x5cac0
callq 0x5920
jmp 0x78a54
movq 0x108(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x498(%rsp)
movl %eax, 0x494(%rsp)
callq 0x53a0
jmp 0x78a3a
cmpl $0x1, 0x484(%rsp)
je 0x775c4
cmpl $0x4, 0x484(%rsp)
je 0x775c4
cmpl $0x2, 0x44c(%rsp)
je 0x773c5
cmpl $0x3, 0x44c(%rsp)
jne 0x775a9
cmpl $0x5, 0x484(%rsp)
je 0x773c5
cmpl $0x7, 0x484(%rsp)
je 0x773c5
cmpl $0x8, 0x484(%rsp)
je 0x773c5
cmpl $0x9, 0x484(%rsp)
jne 0x775a9
jmp 0x773c7
movq 0x488(%rsp), %rax
movq %rax, 0xf0(%rsp)
leaq 0x450(%rsp), %rdi
callq 0x1a3e0
movq 0xf0(%rsp), %rdi
movq %rax, %rdx
leaq 0x72629(%rip), %rsi     # 0xe9a1f
xorl %eax, %eax
callq 0x5a10
movl %eax, 0xfc(%rsp)
jmp 0x77406
movl 0xfc(%rsp), %ecx
movl %ecx, 0x44c(%rsp)
xorl %eax, %eax
cmpl $-0x1, %ecx
movb %al, 0xef(%rsp)
je 0x77462
leaq 0x450(%rsp), %rdi
callq 0x1e140
movsbl (%rax), %ecx
movb $0x1, %al
cmpl $0x23, %ecx
movb %al, 0xee(%rsp)
je 0x77454
cmpl $0x0, 0x44c(%rsp)
setne %al
xorb $-0x1, %al
movb %al, 0xee(%rsp)
movb 0xee(%rsp), %al
movb %al, 0xef(%rsp)
movb 0xef(%rsp), %al
testb $0x1, %al
jne 0x7746f
jmp 0x77483
movq 0x488(%rsp), %rdi
callq 0x5860
jmp 0x7747e
jmp 0x773c7
leaq 0x450(%rsp), %rdi
callq 0x1e140
movq %rax, %rdi
leaq 0x7259b(%rip), %rsi     # 0xe9a35
leaq 0x474(%rsp), %rdx
movb $0x0, %al
callq 0x5510
cmpl $0x1, %eax
je 0x775a7
movq 0x1d8(%rsp), %rax
movl (%rax), %ecx
movl %ecx, 0xc0(%rsp)
movl 0x4(%rax), %ecx
movl %ecx, 0xc4(%rsp)
movl 0x8(%rax), %ecx
movl %ecx, 0xc8(%rsp)
movl 0xc(%rax), %ecx
movl %ecx, 0xcc(%rsp)
movq 0x18(%rax), %rcx
movq %rcx, 0xd0(%rsp)
movb 0x10(%rax), %dl
leaq 0x714db(%rip), %rcx     # 0xe89d2
leaq 0x525e3(%rip), %rax     # 0xc9ae1
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0xd8(%rsp)
callq 0x118f0
movq %rax, 0xe0(%rsp)
jmp 0x7751c
cmpq $0x0, 0x4a0(%rsp)
je 0x77539
movq 0x4a0(%rsp), %rax
movq %rax, 0xb8(%rsp)
jmp 0x7754a
leaq 0x71f4a(%rip), %rax     # 0xe948a
movq %rax, 0xb8(%rsp)
jmp 0x7754a
movq 0xd0(%rsp), %r9
movl 0xcc(%rsp), %r8d
movl 0xc8(%rsp), %ecx
movl 0xc4(%rsp), %edx
movl 0xc0(%rsp), %esi
movq 0xd8(%rsp), %rdi
movq 0xe0(%rsp), %r10
movq 0xb8(%rsp), %r11
movq %rsp, %rax
movq %r11, 0x10(%rax)
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
leaq 0x72506(%rip), %rdi     # 0xe9aa2
xorl %eax, %eax
callq 0x117e0
jmp 0x775a5
jmp 0x775a7
jmp 0x775c2
movl 0x478(%rsp), %eax
movl %eax, 0x474(%rsp)
movl $0x1, 0x478(%rsp)
jmp 0x775c4
movq 0x488(%rsp), %rdi
callq 0x5860
jmp 0x775d3
movl 0x484(%rsp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, 0xb0(%rsp)
subl $0x8, %eax
ja 0x788b6
movq 0xb0(%rsp), %rax
leaq 0x50ee2(%rip), %rcx     # 0xc84e0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x1d8(%rsp), %rdi
movl 0x480(%rsp), %esi
movl 0x47c(%rsp), %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0x11900
jmp 0x7762d
movq 0x1d8(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x430(%rsp)
movq $0x0, 0x428(%rsp)
callq 0x117b0
movq %rax, 0x420(%rsp)
movq 0x428(%rsp), %rax
cmpq 0x420(%rsp), %rax
jae 0x776f5
movq 0x488(%rsp), %rdi
leaq 0x7248d(%rip), %rsi     # 0xe9b0c
xorl %eax, %eax
leaq 0x448(%rsp), %rdx
callq 0x5a10
movl %eax, 0xac(%rsp)
jmp 0x77697
movl 0xac(%rsp), %eax
cmpl $0x0, %eax
jle 0x776d8
movl 0x448(%rsp), %edx
movl $0xff, %eax
xorl %ecx, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
cvtsi2sd %eax, %xmm0
movq 0x430(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x430(%rsp)
movsd %xmm0, (%rax)
jmp 0x776da
jmp 0x776f5
jmp 0x776dc
movq 0x428(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x428(%rsp)
jmp 0x7765a
jmp 0x789ff
movq 0x1d8(%rsp), %rdi
movl 0x480(%rsp), %esi
movl 0x47c(%rsp), %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0x11900
jmp 0x77720
movq 0x1d8(%rsp), %rdi
movq 0x18(%rdi), %rax
movq %rax, 0x418(%rsp)
movq $0x0, 0x410(%rsp)
callq 0x117b0
movq %rax, 0x408(%rsp)
movq 0x410(%rsp), %rax
cmpq 0x408(%rsp), %rax
jae 0x777d5
movq 0x488(%rsp), %rdi
leaq 0x7239e(%rip), %rsi     # 0xe9b0c
xorl %eax, %eax
leaq 0x448(%rsp), %rdx
callq 0x5a10
movl %eax, 0xa8(%rsp)
jmp 0x77786
movl 0xa8(%rsp), %eax
cmpl $0x0, %eax
jle 0x777b8
cvtsi2sdl 0x448(%rsp), %xmm0
movq 0x418(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x418(%rsp)
movsd %xmm0, (%rax)
jmp 0x777ba
jmp 0x777d5
jmp 0x777bc
movq 0x410(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x410(%rsp)
jmp 0x7774d
jmp 0x789ff
movq 0x1d8(%rsp), %rdi
movl 0x480(%rsp), %esi
movl 0x47c(%rsp), %edx
movl $0x1, %ecx
movl $0x3, %r8d
callq 0x11900
jmp 0x77802
movq 0x1d8(%rsp), %rdi
xorl %r8d, %r8d
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x5e180
movq 0x1d8(%rsp), %rdi
movq %rax, 0x400(%rsp)
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x5e180
movq 0x1d8(%rsp), %rdi
movq %rax, 0x3f8(%rsp)
xorl %ecx, %ecx
movl $0x2, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x5e180
movq %rax, 0x3f0(%rsp)
movl $0x0, 0x3ec(%rsp)
movq 0x1d8(%rsp), %rcx
movl 0x3ec(%rsp), %eax
cmpl 0x4(%rcx), %eax
jge 0x7798d
movl $0x0, 0x3e8(%rsp)
movq 0x1d8(%rsp), %rcx
movl 0x3e8(%rsp), %eax
cmpl (%rcx), %eax
jge 0x77975
movq 0x488(%rsp), %rdi
leaq 0x7224d(%rip), %rsi     # 0xe9b06
xorl %eax, %eax
leaq 0x448(%rsp), %rdx
leaq 0x444(%rsp), %rcx
leaq 0x440(%rsp), %r8
callq 0x5a10
movl %eax, 0xa4(%rsp)
jmp 0x778e1
movl 0xa4(%rsp), %eax
cmpl $0x3, %eax
jne 0x7795b
cvtsi2sdl 0x448(%rsp), %xmm0
movq 0x400(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x400(%rsp)
movsd %xmm0, (%rax)
cvtsi2sdl 0x444(%rsp), %xmm0
movq 0x3f8(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x3f8(%rsp)
movsd %xmm0, (%rax)
cvtsi2sdl 0x440(%rsp), %xmm0
movq 0x3f0(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x3f0(%rsp)
movsd %xmm0, (%rax)
jmp 0x7795d
jmp 0x77975
jmp 0x7795f
movl 0x3e8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3e8(%rsp)
jmp 0x77893
jmp 0x77977
movl 0x3ec(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3ec(%rsp)
jmp 0x77870
jmp 0x789ff
leaq 0x3c8(%rsp), %rdi
callq 0x156b0
jmp 0x779a1
movq 0x1d8(%rsp), %rdi
movl 0x480(%rsp), %esi
movl 0x47c(%rsp), %edx
movl 0x478(%rsp), %ecx
movl $0x1, %r8d
callq 0x11900
jmp 0x779cb
movq 0x1d8(%rsp), %rdi
xorl %r8d, %r8d
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x5e180
movq %rax, 0x3c0(%rsp)
movl $0x0, 0x3bc(%rsp)
movl $0x0, 0x3b8(%rsp)
movl $0x0, 0x3b4(%rsp)
movl 0x480(%rsp), %eax
shrl $0x3, %eax
movl 0x480(%rsp), %esi
andl $0x7, %esi
xorl %ecx, %ecx
movl $0x1, %edx
cmpl $0x0, %esi
cmovnel %edx, %ecx
addl %ecx, %eax
imull 0x47c(%rsp), %eax
imull 0x478(%rsp), %eax
movl %eax, %eax
movq %rax, 0x3a8(%rsp)
cmpq $0x0, 0x3a8(%rsp)
jle 0x77c82
leaq 0x3a8(%rsp), %rdi
leaq 0x438(%rsp), %rsi
callq 0x78d80
movq %rax, 0x98(%rsp)
jmp 0x77a78
movq 0x98(%rsp), %rax
movl %eax, %esi
leaq 0x3c8(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x199a0
jmp 0x77a9d
movq 0x3e0(%rsp), %rdi
movl 0x3c8(%rsp), %eax
movl %eax, %esi
movq 0x488(%rsp), %rdx
callq 0x754c0
jmp 0x77abd
movl 0x3c8(%rsp), %eax
movl %eax, %ecx
movq 0x3a8(%rsp), %rax
subq %rcx, %rax
movq %rax, 0x3a8(%rsp)
movq 0x3e0(%rsp), %rax
movq %rax, 0x3a0(%rsp)
movb $0x0, 0x39f(%rsp)
movb $0x0, 0x39e(%rsp)
movl 0x3c8(%rsp), %eax
movq %rax, 0x390(%rsp)
movb $0x1, %al
cmpq $0x0, 0x390(%rsp)
movb %al, 0x97(%rsp)
jne 0x77b2e
cmpb $0x0, 0x39f(%rsp)
setne %al
movb %al, 0x97(%rsp)
movb 0x97(%rsp), %al
testb $0x1, %al
jne 0x77b3e
jmp 0x77c7d
cmpb $0x0, 0x39f(%rsp)
jne 0x77bb5
movq 0x390(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, 0x390(%rsp)
cmpq $0x0, %rax
je 0x77bad
movq 0x3a0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x3a0(%rsp)
movb (%rax), %al
movb %al, 0x39e(%rsp)
jmp 0x77bad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x498(%rsp)
movl %eax, 0x494(%rsp)
leaq 0x3c8(%rsp), %rdi
callq 0x15650
jmp 0x78a3a
movb $-0x80, 0x39f(%rsp)
movzbl 0x39e(%rsp), %edx
movzbl 0x39f(%rsp), %eax
andl %eax, %edx
movl $0xff, %eax
xorl %ecx, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
cvtsi2sd %eax, %xmm0
movq 0x3c0(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x3c0(%rsp)
movsd %xmm0, (%rax)
movl 0x3bc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3bc(%rsp)
cmpl 0x480(%rsp), %eax
jne 0x77c65
movl $0x0, 0x3bc(%rsp)
movb $0x0, 0x39f(%rsp)
movl 0x3b8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3b8(%rsp)
cmpl 0x47c(%rsp), %eax
jne 0x77c63
movl $0x0, 0x3b8(%rsp)
movl 0x3b4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3b4(%rsp)
cmpl 0x478(%rsp), %eax
jne 0x77c61
jmp 0x77c7d
jmp 0x77c63
jmp 0x77c65
jmp 0x77c67
movzbl 0x39f(%rsp), %eax
sarl %eax
movb %al, 0x39f(%rsp)
jmp 0x77b08
jmp 0x77a4a
leaq 0x3c8(%rsp), %rdi
callq 0x15650
jmp 0x789ff
cmpl $0x100, 0x474(%rsp) # imm = 0x100
jae 0x77e58
leaq 0x370(%rsp), %rdi
callq 0x156b0
jmp 0x77cb4
movq 0x1d8(%rsp), %rdi
movl 0x480(%rsp), %esi
movl 0x47c(%rsp), %edx
movl 0x478(%rsp), %ecx
movl $0x1, %r8d
callq 0x11900
jmp 0x77cde
movq 0x1d8(%rsp), %rdi
xorl %r8d, %r8d
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x5e180
movq 0x1d8(%rsp), %rdi
movq %rax, 0x368(%rsp)
callq 0x117b0
movq %rax, 0x360(%rsp)
cmpq $0x0, 0x360(%rsp)
jle 0x77e46
leaq 0x360(%rsp), %rdi
leaq 0x438(%rsp), %rsi
callq 0x78d80
movq %rax, 0x88(%rsp)
jmp 0x77d42
movq 0x88(%rsp), %rax
movl %eax, %esi
leaq 0x370(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x199a0
jmp 0x77d67
movq 0x388(%rsp), %rdi
movl 0x370(%rsp), %eax
movl %eax, %esi
movq 0x488(%rsp), %rdx
callq 0x754c0
jmp 0x77d87
movl 0x370(%rsp), %eax
movl %eax, %ecx
movq 0x360(%rsp), %rax
subq %rcx, %rax
movq %rax, 0x360(%rsp)
movq 0x388(%rsp), %rax
movq %rax, 0x358(%rsp)
movl 0x370(%rsp), %eax
movq %rax, 0x350(%rsp)
cmpq $0x0, 0x350(%rsp)
je 0x77e41
movq 0x358(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x358(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x368(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x368(%rsp)
movsd %xmm0, (%rax)
movq 0x350(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x350(%rsp)
jmp 0x77dc2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x498(%rsp)
movl %eax, 0x494(%rsp)
leaq 0x370(%rsp), %rdi
callq 0x15650
jmp 0x78a3a
jmp 0x77d14
leaq 0x370(%rsp), %rdi
callq 0x15650
jmp 0x78036
leaq 0x330(%rsp), %rdi
callq 0x78dc0
jmp 0x77e67
movq 0x1d8(%rsp), %rdi
movl 0x480(%rsp), %esi
movl 0x47c(%rsp), %edx
movl 0x478(%rsp), %ecx
movl $0x1, %r8d
callq 0x11900
jmp 0x77e91
movq 0x1d8(%rsp), %rdi
xorl %r8d, %r8d
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x5e180
movq 0x1d8(%rsp), %rdi
movq %rax, 0x328(%rsp)
callq 0x117b0
movq %rax, 0x320(%rsp)
cmpq $0x0, 0x320(%rsp)
jle 0x78029
movq $0x600000, 0x318(%rsp) # imm = 0x600000
leaq 0x320(%rsp), %rdi
leaq 0x318(%rsp), %rsi
callq 0x78d80
movq %rax, 0x80(%rsp)
jmp 0x77f01
movq 0x80(%rsp), %rax
movl %eax, %esi
leaq 0x330(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x78e00
jmp 0x77f26
movq 0x348(%rsp), %rdi
movl 0x330(%rsp), %eax
movl %eax, %esi
movq 0x488(%rsp), %rdx
callq 0x792c0
jmp 0x77f46
callq 0x43af0
testb $0x1, %al
jne 0x77f8f
movq 0x348(%rsp), %rdi
movl 0x330(%rsp), %eax
movl %eax, %esi
callq 0x794c0
jmp 0x77f67
jmp 0x77f8f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x498(%rsp)
movl %eax, 0x494(%rsp)
leaq 0x330(%rsp), %rdi
callq 0x79530
jmp 0x78a3a
movl 0x330(%rsp), %eax
movl %eax, %ecx
movq 0x320(%rsp), %rax
subq %rcx, %rax
movq %rax, 0x320(%rsp)
movq 0x348(%rsp), %rax
movq %rax, 0x310(%rsp)
movl 0x330(%rsp), %eax
movq %rax, 0x308(%rsp)
cmpq $0x0, 0x308(%rsp)
je 0x78024
movq 0x310(%rsp), %rax
movq %rax, %rcx
addq $0x2, %rcx
movq %rcx, 0x310(%rsp)
movzwl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x328(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x328(%rsp)
movsd %xmm0, (%rax)
movq 0x308(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x308(%rsp)
jmp 0x77fca
jmp 0x77ec7
leaq 0x330(%rsp), %rdi
callq 0x79530
jmp 0x789ff
cmpl $0x100, 0x474(%rsp) # imm = 0x100
jae 0x782ba
leaq 0x2e8(%rsp), %rdi
callq 0x156b0
jmp 0x7805b
movq 0x1d8(%rsp), %rdi
movl 0x480(%rsp), %esi
movl 0x47c(%rsp), %edx
movl $0x1, %ecx
movl $0x3, %r8d
callq 0x11900
jmp 0x78083
movq 0x1d8(%rsp), %rdi
xorl %r8d, %r8d
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x5e180
movq 0x1d8(%rsp), %rdi
movq %rax, 0x2e0(%rsp)
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x5e180
movq 0x1d8(%rsp), %rdi
movq %rax, 0x2d8(%rsp)
xorl %ecx, %ecx
movl $0x2, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x5e180
movq 0x1d8(%rsp), %rdi
movq %rax, 0x2d0(%rsp)
callq 0x117b0
movq %rax, 0x2c8(%rsp)
cmpq $0x0, 0x2c8(%rsp)
jle 0x782a8
leaq 0x2c8(%rsp), %rdi
leaq 0x438(%rsp), %rsi
callq 0x78d80
movq %rax, 0x78(%rsp)
jmp 0x78126
movq 0x78(%rsp), %rax
movl %eax, %esi
leaq 0x2e8(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x199a0
jmp 0x78148
movq 0x300(%rsp), %rdi
movl 0x2e8(%rsp), %eax
movl %eax, %esi
movq 0x488(%rsp), %rdx
callq 0x754c0
jmp 0x78168
movl 0x2e8(%rsp), %eax
movl %eax, %ecx
movq 0x2c8(%rsp), %rax
subq %rcx, %rax
movq %rax, 0x2c8(%rsp)
movq 0x300(%rsp), %rax
movq %rax, 0x2c0(%rsp)
movl 0x2e8(%rsp), %eax
movl $0x3, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, 0x2b8(%rsp)
cmpq $0x0, 0x2b8(%rsp)
je 0x782a3
movq 0x2c0(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x2c0(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x2e0(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x2e0(%rsp)
movsd %xmm0, (%rax)
movq 0x2c0(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x2c0(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x2d8(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x2d8(%rsp)
movsd %xmm0, (%rax)
movq 0x2c0(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x2c0(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x2d0(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x2d0(%rsp)
movsd %xmm0, (%rax)
movq 0x2b8(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x2b8(%rsp)
jmp 0x781ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x498(%rsp)
movl %eax, 0x494(%rsp)
leaq 0x2e8(%rsp), %rdi
callq 0x15650
jmp 0x78a3a
jmp 0x780fb
leaq 0x2e8(%rsp), %rdi
callq 0x15650
jmp 0x78557
leaq 0x298(%rsp), %rdi
callq 0x78dc0
jmp 0x782c9
movq 0x1d8(%rsp), %rdi
movl 0x480(%rsp), %esi
movl 0x47c(%rsp), %edx
movl $0x1, %ecx
movl $0x3, %r8d
callq 0x11900
jmp 0x782f1
movq 0x1d8(%rsp), %rdi
xorl %r8d, %r8d
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x5e180
movq 0x1d8(%rsp), %rdi
movq %rax, 0x290(%rsp)
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x5e180
movq 0x1d8(%rsp), %rdi
movq %rax, 0x288(%rsp)
xorl %ecx, %ecx
movl $0x2, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x5e180
movq 0x1d8(%rsp), %rdi
movq %rax, 0x280(%rsp)
callq 0x117b0
cltq
movq %rax, 0x278(%rsp)
cmpq $0x0, 0x278(%rsp)
jle 0x7854a
movq $0x600000, 0x270(%rsp) # imm = 0x600000
leaq 0x278(%rsp), %rdi
leaq 0x270(%rsp), %rsi
callq 0x78d80
movq %rax, 0x70(%rsp)
jmp 0x783a2
movq 0x70(%rsp), %rax
movl %eax, %esi
leaq 0x298(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x78e00
jmp 0x783c4
movq 0x2b0(%rsp), %rdi
movl 0x298(%rsp), %eax
movl %eax, %esi
movq 0x488(%rsp), %rdx
callq 0x792c0
jmp 0x783e4
callq 0x43af0
testb $0x1, %al
jne 0x7842d
movq 0x2b0(%rsp), %rdi
movl 0x298(%rsp), %eax
movl %eax, %esi
callq 0x794c0
jmp 0x78405
jmp 0x7842d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x498(%rsp)
movl %eax, 0x494(%rsp)
leaq 0x298(%rsp), %rdi
callq 0x79530
jmp 0x78a3a
movl 0x298(%rsp), %eax
movl %eax, %ecx
movq 0x278(%rsp), %rax
subq %rcx, %rax
movq %rax, 0x278(%rsp)
movq 0x2b0(%rsp), %rax
movq %rax, 0x268(%rsp)
movl 0x298(%rsp), %eax
movl $0x3, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, 0x260(%rsp)
cmpq $0x0, 0x260(%rsp)
je 0x78545
movq 0x268(%rsp), %rax
movq %rax, %rcx
addq $0x2, %rcx
movq %rcx, 0x268(%rsp)
movzwl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x290(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x290(%rsp)
movsd %xmm0, (%rax)
movq 0x268(%rsp), %rax
movq %rax, %rcx
addq $0x2, %rcx
movq %rcx, 0x268(%rsp)
movzwl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x288(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x288(%rsp)
movsd %xmm0, (%rax)
movq 0x268(%rsp), %rax
movq %rax, %rcx
addq $0x2, %rcx
movq %rcx, 0x268(%rsp)
movzwl (%rax), %eax
cvtsi2sd %eax, %xmm0
movq 0x280(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x280(%rsp)
movsd %xmm0, (%rax)
movq 0x260(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x260(%rsp)
jmp 0x78472
jmp 0x7836b
leaq 0x298(%rsp), %rdi
callq 0x79530
jmp 0x789ff
leaq 0x240(%rsp), %rdi
callq 0x75700
jmp 0x7856b
movq 0x1d8(%rsp), %rdi
movl 0x480(%rsp), %esi
movl 0x47c(%rsp), %edx
movl 0x478(%rsp), %ecx
movl $0x1, %r8d
callq 0x11900
jmp 0x78595
movq 0x1d8(%rsp), %rdi
xorl %r8d, %r8d
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x5e180
movq 0x1d8(%rsp), %rdi
movq %rax, 0x238(%rsp)
callq 0x117b0
movq %rax, 0x230(%rsp)
cmpq $0x0, 0x230(%rsp)
jle 0x786f5
leaq 0x230(%rsp), %rdi
leaq 0x438(%rsp), %rsi
callq 0x78d80
movq %rax, 0x68(%rsp)
jmp 0x785f6
movq 0x68(%rsp), %rax
movl %eax, %esi
leaq 0x240(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x75740
jmp 0x78618
movq 0x258(%rsp), %rdi
movl 0x240(%rsp), %eax
movl %eax, %esi
movq 0x488(%rsp), %rdx
callq 0x75c00
jmp 0x78638
movl 0x240(%rsp), %eax
movl %eax, %ecx
movq 0x230(%rsp), %rax
subq %rcx, %rax
movq %rax, 0x230(%rsp)
movq 0x258(%rsp), %rax
movq %rax, 0x228(%rsp)
movl 0x240(%rsp), %eax
movq %rax, 0x220(%rsp)
cmpq $0x0, 0x220(%rsp)
je 0x786f0
movq 0x228(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x228(%rsp)
cvtsi2sdl (%rax), %xmm0
movq 0x238(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x238(%rsp)
movsd %xmm0, (%rax)
movq 0x220(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x220(%rsp)
jmp 0x78673
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x498(%rsp)
movl %eax, 0x494(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x766d0
jmp 0x78a3a
jmp 0x785cb
leaq 0x240(%rsp), %rdi
callq 0x766d0
jmp 0x789ff
leaq 0x200(%rsp), %rdi
callq 0x79570
jmp 0x78716
movq 0x1d8(%rsp), %rdi
movl 0x480(%rsp), %esi
movl 0x47c(%rsp), %edx
movl 0x478(%rsp), %ecx
movl $0x1, %r8d
callq 0x11900
jmp 0x78740
movq 0x1d8(%rsp), %rdi
xorl %r8d, %r8d
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x5e180
movq 0x1d8(%rsp), %rdi
movq %rax, 0x1f8(%rsp)
callq 0x117b0
movq %rax, 0x1f0(%rsp)
cmpq $0x0, 0x1f0(%rsp)
jle 0x788a4
leaq 0x1f0(%rsp), %rdi
leaq 0x438(%rsp), %rsi
callq 0x78d80
movq %rax, 0x60(%rsp)
jmp 0x787a1
movq 0x60(%rsp), %rax
movl %eax, %esi
leaq 0x200(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x795b0
jmp 0x787c3
movq 0x218(%rsp), %rdi
movl 0x200(%rsp), %eax
movl %eax, %esi
movq 0x488(%rsp), %rdx
callq 0x79a70
jmp 0x787e3
movl 0x200(%rsp), %eax
movl %eax, %ecx
movq 0x1f0(%rsp), %rax
subq %rcx, %rax
movq %rax, 0x1f0(%rsp)
movq 0x218(%rsp), %rax
movq %rax, 0x1e8(%rsp)
movl 0x200(%rsp), %eax
movq %rax, 0x1e0(%rsp)
cmpq $0x0, 0x1e0(%rsp)
je 0x7889f
movq 0x1e8(%rsp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, 0x1e8(%rsp)
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movq 0x1f8(%rsp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, 0x1f8(%rsp)
movsd %xmm0, (%rax)
movq 0x1e0(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x1e0(%rsp)
jmp 0x7881e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x498(%rsp)
movl %eax, 0x494(%rsp)
leaq 0x200(%rsp), %rdi
callq 0x31710
jmp 0x78a3a
jmp 0x78776
leaq 0x200(%rsp), %rdi
callq 0x31710
jmp 0x789ff
movq 0x1d8(%rsp), %rdi
callq 0x11230
cmpq $0x0, 0x4a8(%rsp)
jne 0x788df
movq 0x488(%rsp), %rdi
callq 0x5c6f0
jmp 0x788dd
jmp 0x788df
movl $0x4008, %edi           # imm = 0x4008
callq 0x5240
movq %rax, %rcx
movq 0x1d8(%rsp), %rax
movq %rcx, 0x30(%rsp)
movl (%rax), %ecx
movl %ecx, 0x38(%rsp)
movl 0x4(%rax), %ecx
movl %ecx, 0x3c(%rsp)
movl 0x8(%rax), %ecx
movl %ecx, 0x40(%rsp)
movl 0xc(%rax), %ecx
movl %ecx, 0x44(%rsp)
movq 0x18(%rax), %rcx
movq %rcx, 0x48(%rsp)
movb 0x10(%rax), %dl
leaq 0x700ab(%rip), %rcx     # 0xe89d2
leaq 0x511b3(%rip), %rax     # 0xc9ae1
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x50(%rsp)
callq 0x118f0
movq %rax, 0x58(%rsp)
jmp 0x78946
cmpq $0x0, 0x4a0(%rsp)
je 0x78960
movq 0x4a0(%rsp), %rax
movq %rax, 0x28(%rsp)
jmp 0x7896e
leaq 0x70b23(%rip), %rax     # 0xe948a
movq %rax, 0x28(%rsp)
jmp 0x7896e
movl 0x44(%rsp), %r9d
movl 0x40(%rsp), %r8d
movl 0x3c(%rsp), %ecx
movl 0x38(%rsp), %edx
movq 0x30(%rsp), %rdi
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %r10
movq 0x58(%rsp), %r11
movq 0x28(%rsp), %rbx
movl 0x484(%rsp), %ebp
movq %rsp, %rax
movl %ebp, 0x20(%rax)
movq %rbx, 0x18(%rax)
movq %r11, 0x10(%rax)
movq %r10, 0x8(%rax)
movq %rsi, (%rax)
leaq 0x71153(%rip), %rsi     # 0xe9b0f
xorl %eax, %eax
callq 0x5c880
jmp 0x789c5
movq 0x30(%rsp), %rdi
leaq 0x8729f(%rip), %rsi     # 0xffc70
leaq -0x1bf18(%rip), %rdx    # 0x5cac0
callq 0x5920
jmp 0x78a54
movq 0x30(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x498(%rsp)
movl %eax, 0x494(%rsp)
callq 0x53a0
jmp 0x78a3a
cmpq $0x0, 0x4a8(%rsp)
jne 0x78a1b
movq 0x488(%rsp), %rdi
callq 0x5c6f0
jmp 0x78a19
jmp 0x78a1b
leaq 0x450(%rsp), %rdi
callq 0x1a320
movq 0x1d8(%rsp), %rax
addq $0x4b8, %rsp            # imm = 0x4B8
popq %rbx
popq %rbp
retq
leaq 0x450(%rsp), %rdi
callq 0x1a320
movq 0x498(%rsp), %rdi
callq 0x5970
nopw %cs:(%rax,%rax)
nop