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

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

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

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

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x830, %rsp            # imm = 0x830
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x638(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x305dc
cmpq $0x0, -0x28(%rbp)
jne 0x305dc
movl $0x4008, %edi           # imm = 0x4008
callq 0x4190
movq %rax, %rcx
movq -0x638(%rbp), %rax
movq %rcx, -0x668(%rbp)
movl (%rax), %ecx
movl %ecx, -0x660(%rbp)
movl 0x4(%rax), %ecx
movl %ecx, -0x65c(%rbp)
movl 0x8(%rax), %ecx
movl %ecx, -0x658(%rbp)
movl 0xc(%rax), %ecx
movl %ecx, -0x654(%rbp)
movq 0x18(%rax), %rcx
movq %rcx, -0x650(%rbp)
movb 0x10(%rax), %dl
leaq 0x12232(%rip), %rcx     # 0x42760
leaq 0x11fe4(%rip), %rax     # 0x42519
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, -0x648(%rbp)
callq 0x8cc0
movq %rax, -0x640(%rbp)
jmp 0x30551
movl -0x654(%rbp), %r9d
movl -0x658(%rbp), %r8d
movl -0x65c(%rbp), %ecx
movl -0x660(%rbp), %edx
movq -0x668(%rbp), %rdi
movq -0x650(%rbp), %rsi
movq -0x648(%rbp), %r10
movq -0x640(%rbp), %r11
movq %rsp, %rax
movq %r11, 0x10(%rax)
movq %r10, 0x8(%rax)
movq %rsi, (%rax)
leaq 0x142f3(%rip), %rsi     # 0x4488f
xorl %eax, %eax
callq 0x8cd0
jmp 0x305a5
movq -0x668(%rbp), %rdi
leaq 0x1f635(%rip), %rsi     # 0x4fbe8
leaq -0x2777a(%rip), %rdx    # 0x8e40
callq 0x4600
movq -0x668(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x4270
jmp 0x33fb1
cmpq $0x0, -0x20(%rbp)
je 0x305f0
movq -0x20(%rbp), %rax
movq %rax, -0x670(%rbp)
jmp 0x30607
movq -0x28(%rbp), %rdi
leaq 0x12027(%rip), %rsi     # 0x42622
callq 0xb540
movq %rax, -0x670(%rbp)
movq -0x670(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq -0x60(%rbp), %rdi
xorl %esi, %esi
movl $0x20, %edx
callq 0x41c0
leaq -0x60(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0xc, %esi
callq 0x302c0
leaq -0x60(%rbp), %rsi
leaq 0x142ac(%rip), %rdi     # 0x448eb
movl $0x7, %edx
callq 0x8e60
cmpl $0x0, %eax
je 0x30792
cmpq $0x0, -0x20(%rbp)
jne 0x30662
movq -0x40(%rbp), %rdi
callq 0xd0a0
movl $0x4008, %edi           # imm = 0x4008
callq 0x4190
movq %rax, %rcx
movq -0x638(%rbp), %rax
movq %rcx, -0x6a0(%rbp)
movl (%rax), %ecx
movl %ecx, -0x698(%rbp)
movl 0x4(%rax), %ecx
movl %ecx, -0x694(%rbp)
movl 0x8(%rax), %ecx
movl %ecx, -0x690(%rbp)
movl 0xc(%rax), %ecx
movl %ecx, -0x68c(%rbp)
movq 0x18(%rax), %rcx
movq %rcx, -0x688(%rbp)
movb 0x10(%rax), %dl
leaq 0x120ab(%rip), %rcx     # 0x42760
leaq 0x11e5d(%rip), %rax     # 0x42519
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, -0x680(%rbp)
callq 0x8cc0
movq %rax, -0x678(%rbp)
jmp 0x306d8
cmpq $0x0, -0x28(%rbp)
je 0x306ec
movq -0x28(%rbp), %rax
movq %rax, -0x6a8(%rbp)
jmp 0x306fc
leaq 0x12860(%rip), %rax     # 0x42f53
movq %rax, -0x6a8(%rbp)
jmp 0x306fc
movl -0x68c(%rbp), %r9d
movl -0x690(%rbp), %r8d
movl -0x694(%rbp), %ecx
movl -0x698(%rbp), %edx
movq -0x6a0(%rbp), %rdi
movq -0x688(%rbp), %rsi
movq -0x680(%rbp), %r10
movq -0x678(%rbp), %r11
movq -0x6a8(%rbp), %rbx
movq %rsp, %rax
movq %rbx, 0x18(%rax)
movq %r11, 0x10(%rax)
movq %r10, 0x8(%rax)
movq %rsi, (%rax)
leaq 0x141a1(%rip), %rsi     # 0x448f3
xorl %eax, %eax
callq 0xb3b0
jmp 0x3075b
movq -0x6a0(%rbp), %rdi
leaq 0x1f497(%rip), %rsi     # 0x4fc00
leaq -0x25250(%rip), %rdx    # 0xb520
callq 0x4600
movq -0x6a0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x4270
jmp 0x33fb1
leaq -0x90(%rbp), %rdi
xorl %esi, %esi
movl $0x20, %edx
callq 0x41c0
movq -0x40(%rbp), %rdx
leaq -0x64(%rbp), %rdi
movl $0x1, %esi
callq 0x29c10
cmpl $0xff, -0x64(%rbp)
seta %al
andb $0x1, %al
movb %al, -0x91(%rbp)
testb $0x1, -0x91(%rbp)
je 0x307db
leaq -0x64(%rbp), %rdi
callq 0x29dd0
movq -0x40(%rbp), %rdx
leaq -0x60(%rbp), %rdi
movl $0x14, %esi
callq 0x302c0
movl -0x64(%rbp), %eax
addl $-0x2, %eax
movl %eax, %ecx
movq %rcx, -0x6b0(%rbp)
subl $0x22, %eax
ja 0x33e3f
movq -0x6b0(%rbp), %rax
leaq 0x11961(%rip), %rcx     # 0x42174
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x2, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x3084b
leaq -0x90(%rbp), %rdi
movl $0x2, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x8c(%rbp), %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x98(%rbp)
movl -0x98(%rbp), %eax
movl %eax, %edi
callq 0x4040
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rdi
movl -0x98(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e190
testb $0x1, -0x91(%rbp)
je 0x308c4
movq -0xa0(%rbp), %rdi
movl -0x98(%rbp), %eax
movl %eax, %esi
callq 0x2ba60
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0xa8(%rbp)
movq $0x0, -0xb0(%rbp)
callq 0xe200
movq %rax, -0xb8(%rbp)
movq -0xb0(%rbp), %rax
cmpq -0xb8(%rbp), %rax
jae 0x3093f
movq -0xa0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa0(%rbp)
movb (%rax), %cl
movq -0xa8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0xa8(%rbp)
movb %cl, (%rax)
movq -0xb0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xb0(%rbp)
jmp 0x308ed
movl -0x98(%rbp), %ecx
movq -0xa0(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x6b8(%rbp)
cmpq $0x0, %rax
je 0x3097f
movq -0x6b8(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x2, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x309b3
leaq -0x90(%rbp), %rdi
movl $0x2, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x8c(%rbp), %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0xbc(%rbp)
movl -0xbc(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rdi
movl -0xbc(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e7e0
testb $0x1, -0x91(%rbp)
je 0x30a46
movq -0xc8(%rbp), %rdi
movl -0xbc(%rbp), %eax
movl %eax, %esi
callq 0x2a030
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0xd0(%rbp)
movq $0x0, -0xd8(%rbp)
callq 0xe200
movq %rax, -0xe0(%rbp)
movq -0xd8(%rbp), %rax
cmpq -0xe0(%rbp), %rax
jae 0x30ac3
movq -0xc8(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0xc8(%rbp)
movl (%rax), %eax
movb %al, %cl
movq -0xd0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0xd0(%rbp)
movb %cl, (%rax)
movq -0xd8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xd8(%rbp)
jmp 0x30a6f
movl -0xbc(%rbp), %ecx
movq -0xc8(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rax
movq %rax, -0x6c0(%rbp)
cmpq $0x0, %rax
je 0x30b07
movq -0x6c0(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x2, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x30b3b
leaq -0x90(%rbp), %rdi
movl $0x2, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x8c(%rbp), %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0xf0(%rbp)
movq -0xf0(%rbp), %rdi
movl -0xe4(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x219c0
testb $0x1, -0x91(%rbp)
je 0x30bce
movq -0xf0(%rbp), %rdi
movl -0xe4(%rbp), %eax
movl %eax, %esi
callq 0x22760
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0xf8(%rbp)
movq $0x0, -0x100(%rbp)
callq 0xe200
movq %rax, -0x108(%rbp)
movq -0x100(%rbp), %rax
cmpq -0x108(%rbp), %rax
jae 0x30c4d
movq -0xf0(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0xf0(%rbp)
cvttss2si (%rax), %eax
movb %al, %cl
movq -0xf8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0xf8(%rbp)
movb %cl, (%rax)
movq -0x100(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x100(%rbp)
jmp 0x30bf7
movl -0xe4(%rbp), %ecx
movq -0xf0(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xf0(%rbp)
movq -0xf0(%rbp), %rax
movq %rax, -0x6c8(%rbp)
cmpq $0x0, %rax
je 0x30c91
movq -0x6c8(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x3, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x30cc5
leaq -0x90(%rbp), %rdi
movl $0x3, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x88(%rbp), %esi
movl -0x8c(%rbp), %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x10c(%rbp)
movl -0x10c(%rbp), %eax
movl %eax, %edi
callq 0x4040
movq %rax, -0x118(%rbp)
movq -0x118(%rbp), %rdi
movl -0x10c(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e190
testb $0x1, -0x91(%rbp)
je 0x30d41
movq -0x118(%rbp), %rdi
movl -0x10c(%rbp), %eax
movl %eax, %esi
callq 0x2ba60
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x120(%rbp)
movq $0x0, -0x128(%rbp)
callq 0xe200
movq %rax, -0x130(%rbp)
movq -0x128(%rbp), %rax
cmpq -0x130(%rbp), %rax
jae 0x30dbc
movq -0x118(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x118(%rbp)
movb (%rax), %cl
movq -0x120(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x120(%rbp)
movb %cl, (%rax)
movq -0x128(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x128(%rbp)
jmp 0x30d6a
movl -0x10c(%rbp), %ecx
movq -0x118(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x118(%rbp)
movq -0x118(%rbp), %rax
movq %rax, -0x6d0(%rbp)
cmpq $0x0, %rax
je 0x30dfc
movq -0x6d0(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x3, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x30e30
leaq -0x90(%rbp), %rdi
movl $0x3, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x88(%rbp), %esi
movl -0x8c(%rbp), %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x134(%rbp)
movl -0x134(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x140(%rbp)
movq -0x140(%rbp), %rdi
movl -0x134(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e7e0
testb $0x1, -0x91(%rbp)
je 0x30ec6
movq -0x140(%rbp), %rdi
movl -0x134(%rbp), %eax
movl %eax, %esi
callq 0x2a030
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x148(%rbp)
movq $0x0, -0x150(%rbp)
callq 0xe200
movq %rax, -0x158(%rbp)
movq -0x150(%rbp), %rax
cmpq -0x158(%rbp), %rax
jae 0x30f43
movq -0x140(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x140(%rbp)
movl (%rax), %eax
movb %al, %cl
movq -0x148(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x148(%rbp)
movb %cl, (%rax)
movq -0x150(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x150(%rbp)
jmp 0x30eef
movl -0x134(%rbp), %ecx
movq -0x140(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x140(%rbp)
movq -0x140(%rbp), %rax
movq %rax, -0x6d8(%rbp)
cmpq $0x0, %rax
je 0x30f87
movq -0x6d8(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x3, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x30fbb
leaq -0x90(%rbp), %rdi
movl $0x3, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x88(%rbp), %esi
movl -0x8c(%rbp), %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x15c(%rbp)
movl -0x15c(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x168(%rbp)
movq -0x168(%rbp), %rdi
movl -0x15c(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x219c0
testb $0x1, -0x91(%rbp)
je 0x31051
movq -0x168(%rbp), %rdi
movl -0x15c(%rbp), %eax
movl %eax, %esi
callq 0x22760
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x170(%rbp)
movq $0x0, -0x178(%rbp)
callq 0xe200
movq %rax, -0x180(%rbp)
movq -0x178(%rbp), %rax
cmpq -0x180(%rbp), %rax
jae 0x310d0
movq -0x168(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x168(%rbp)
cvttss2si (%rax), %eax
movb %al, %cl
movq -0x170(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x170(%rbp)
movb %cl, (%rax)
movq -0x178(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x178(%rbp)
jmp 0x3107a
movl -0x15c(%rbp), %ecx
movq -0x168(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x168(%rbp)
movq -0x168(%rbp), %rax
movq %rax, -0x6e0(%rbp)
cmpq $0x0, %rax
je 0x31114
movq -0x6e0(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x4, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x31148
leaq -0x90(%rbp), %rdi
movl $0x4, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x88(%rbp), %edx
movl -0x8c(%rbp), %ecx
movl $0x1, %r8d
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x184(%rbp)
movl -0x184(%rbp), %eax
movl %eax, %edi
callq 0x4040
movq %rax, -0x190(%rbp)
movq -0x190(%rbp), %rdi
movl -0x184(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e190
testb $0x1, -0x91(%rbp)
je 0x311c7
movq -0x190(%rbp), %rdi
movl -0x184(%rbp), %eax
movl %eax, %esi
callq 0x2ba60
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x198(%rbp)
movq $0x0, -0x1a0(%rbp)
callq 0xe200
movq %rax, -0x1a8(%rbp)
movq -0x1a0(%rbp), %rax
cmpq -0x1a8(%rbp), %rax
jae 0x31242
movq -0x190(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x190(%rbp)
movb (%rax), %cl
movq -0x198(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x198(%rbp)
movb %cl, (%rax)
movq -0x1a0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x1a0(%rbp)
jmp 0x311f0
movl -0x184(%rbp), %ecx
movq -0x190(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x190(%rbp)
movq -0x190(%rbp), %rax
movq %rax, -0x6e8(%rbp)
cmpq $0x0, %rax
je 0x31282
movq -0x6e8(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x4, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x312b6
leaq -0x90(%rbp), %rdi
movl $0x4, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x88(%rbp), %edx
movl -0x8c(%rbp), %ecx
movl $0x1, %r8d
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x1ac(%rbp)
movl -0x1ac(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rdi
movl -0x1ac(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e7e0
testb $0x1, -0x91(%rbp)
je 0x3134f
movq -0x1b8(%rbp), %rdi
movl -0x1ac(%rbp), %eax
movl %eax, %esi
callq 0x2a030
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x1c0(%rbp)
movq $0x0, -0x1c8(%rbp)
callq 0xe200
movq %rax, -0x1d0(%rbp)
movq -0x1c8(%rbp), %rax
cmpq -0x1d0(%rbp), %rax
jae 0x313cc
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x1b8(%rbp)
movl (%rax), %eax
movb %al, %cl
movq -0x1c0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x1c0(%rbp)
movb %cl, (%rax)
movq -0x1c8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x1c8(%rbp)
jmp 0x31378
movl -0x1ac(%rbp), %ecx
movq -0x1b8(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rax
movq %rax, -0x6f0(%rbp)
cmpq $0x0, %rax
je 0x31410
movq -0x6f0(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x4, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x31444
leaq -0x90(%rbp), %rdi
movl $0x4, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x88(%rbp), %edx
movl -0x8c(%rbp), %ecx
movl $0x1, %r8d
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x1d4(%rbp)
movl -0x1d4(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x1e0(%rbp)
movq -0x1e0(%rbp), %rdi
movl -0x1d4(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x219c0
testb $0x1, -0x91(%rbp)
je 0x314dd
movq -0x1e0(%rbp), %rdi
movl -0x1d4(%rbp), %eax
movl %eax, %esi
callq 0x22760
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x1e8(%rbp)
movq $0x0, -0x1f0(%rbp)
callq 0xe200
movq %rax, -0x1f8(%rbp)
movq -0x1f0(%rbp), %rax
cmpq -0x1f8(%rbp), %rax
jae 0x3155c
movq -0x1e0(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x1e0(%rbp)
cvttss2si (%rax), %eax
movb %al, %cl
movq -0x1e8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x1e8(%rbp)
movb %cl, (%rax)
movq -0x1f0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x1f0(%rbp)
jmp 0x31506
movl -0x1d4(%rbp), %ecx
movq -0x1e0(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x1e0(%rbp)
movq -0x1e0(%rbp), %rax
movq %rax, -0x6f8(%rbp)
cmpq $0x0, %rax
je 0x315a0
movq -0x6f8(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x3, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x315d4
leaq -0x90(%rbp), %rdi
movl $0x3, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x8c(%rbp), %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x1fc(%rbp)
cmpl $0x100, -0x88(%rbp)     # imm = 0x100
jae 0x31700
movl -0x1fc(%rbp), %eax
movl %eax, %edi
callq 0x4040
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rdi
movl -0x1fc(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e190
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x210(%rbp)
movq $0x0, -0x218(%rbp)
callq 0xe200
movq %rax, -0x220(%rbp)
movq -0x218(%rbp), %rax
cmpq -0x220(%rbp), %rax
jae 0x316bb
movq -0x208(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x208(%rbp)
movb (%rax), %cl
movq -0x210(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x210(%rbp)
movb %cl, (%rax)
movq -0x218(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x218(%rbp)
jmp 0x31669
movl -0x1fc(%rbp), %ecx
movq -0x208(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rax
movq %rax, -0x700(%rbp)
cmpq $0x0, %rax
je 0x316fb
movq -0x700(%rbp), %rdi
callq 0x4490
jmp 0x31961
cmpl $0x10000, -0x88(%rbp)   # imm = 0x10000
jae 0x31839
movl -0x1fc(%rbp), %eax
movl $0x2, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x228(%rbp)
movq -0x228(%rbp), %rdi
movl -0x1fc(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x21320
testb $0x1, -0x91(%rbp)
je 0x31773
movq -0x228(%rbp), %rdi
movl -0x1fc(%rbp), %eax
movl %eax, %esi
callq 0x214e0
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x230(%rbp)
movq $0x0, -0x238(%rbp)
callq 0xe200
movq %rax, -0x240(%rbp)
movq -0x238(%rbp), %rax
cmpq -0x240(%rbp), %rax
jae 0x317f1
movq -0x228(%rbp), %rax
movq %rax, %rcx
addq $0x2, %rcx
movq %rcx, -0x228(%rbp)
movw (%rax), %ax
movb %al, %cl
movq -0x230(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x230(%rbp)
movb %cl, (%rax)
movq -0x238(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x238(%rbp)
jmp 0x3179c
movl -0x1fc(%rbp), %ecx
movq -0x228(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x228(%rbp)
movq -0x228(%rbp), %rax
movq %rax, -0x708(%rbp)
cmpq $0x0, %rax
je 0x31834
movq -0x708(%rbp), %rdi
callq 0x4490
jmp 0x3195f
movl -0x1fc(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x248(%rbp)
movq -0x248(%rbp), %rdi
movl -0x1fc(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x3189c
movq -0x248(%rbp), %rdi
movl -0x1fc(%rbp), %eax
movl %eax, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x250(%rbp)
movq $0x0, -0x258(%rbp)
callq 0xe200
movq %rax, -0x260(%rbp)
movq -0x258(%rbp), %rax
cmpq -0x260(%rbp), %rax
jae 0x31919
movq -0x248(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x248(%rbp)
movl (%rax), %eax
movb %al, %cl
movq -0x250(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x250(%rbp)
movb %cl, (%rax)
movq -0x258(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x258(%rbp)
jmp 0x318c5
movl -0x1fc(%rbp), %ecx
movq -0x248(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x248(%rbp)
movq -0x248(%rbp), %rax
movq %rax, -0x710(%rbp)
cmpq $0x0, %rax
je 0x3195d
movq -0x710(%rbp), %rdi
callq 0x4490
jmp 0x3195f
jmp 0x31961
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x4, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x31995
leaq -0x90(%rbp), %rdi
movl $0x4, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x88(%rbp), %esi
movl -0x8c(%rbp), %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x264(%rbp)
cmpl $0x100, -0x84(%rbp)     # imm = 0x100
jae 0x31ac4
movl -0x264(%rbp), %eax
movl %eax, %edi
callq 0x4040
movq %rax, -0x270(%rbp)
movq -0x270(%rbp), %rdi
movl -0x264(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e190
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x278(%rbp)
movq $0x0, -0x280(%rbp)
callq 0xe200
movq %rax, -0x288(%rbp)
movq -0x280(%rbp), %rax
cmpq -0x288(%rbp), %rax
jae 0x31a7f
movq -0x270(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x270(%rbp)
movb (%rax), %cl
movq -0x278(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x278(%rbp)
movb %cl, (%rax)
movq -0x280(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x280(%rbp)
jmp 0x31a2d
movl -0x264(%rbp), %ecx
movq -0x270(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x270(%rbp)
movq -0x270(%rbp), %rax
movq %rax, -0x718(%rbp)
cmpq $0x0, %rax
je 0x31abf
movq -0x718(%rbp), %rdi
callq 0x4490
jmp 0x31d26
cmpl $0x10000, -0x84(%rbp)   # imm = 0x10000
jae 0x31bfd
movl -0x264(%rbp), %eax
movl $0x2, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x290(%rbp)
movq -0x290(%rbp), %rdi
movl -0x264(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x21320
testb $0x1, -0x91(%rbp)
je 0x31b37
movq -0x290(%rbp), %rdi
movl -0x264(%rbp), %eax
movl %eax, %esi
callq 0x214e0
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x298(%rbp)
movq $0x0, -0x2a0(%rbp)
callq 0xe200
movq %rax, -0x2a8(%rbp)
movq -0x2a0(%rbp), %rax
cmpq -0x2a8(%rbp), %rax
jae 0x31bb5
movq -0x290(%rbp), %rax
movq %rax, %rcx
addq $0x2, %rcx
movq %rcx, -0x290(%rbp)
movw (%rax), %ax
movb %al, %cl
movq -0x298(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x298(%rbp)
movb %cl, (%rax)
movq -0x2a0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x2a0(%rbp)
jmp 0x31b60
movl -0x264(%rbp), %ecx
movq -0x290(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x290(%rbp)
movq -0x290(%rbp), %rax
movq %rax, -0x720(%rbp)
cmpq $0x0, %rax
je 0x31bf8
movq -0x720(%rbp), %rdi
callq 0x4490
jmp 0x31d24
movl -0x264(%rbp), %eax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x2b0(%rbp)
movq -0x2b0(%rbp), %rdi
movl -0x264(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x33fc0
testb $0x1, -0x91(%rbp)
je 0x31c60
movq -0x2b0(%rbp), %rdi
movl -0x264(%rbp), %eax
movl %eax, %esi
callq 0x34180
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x2b8(%rbp)
movq $0x0, -0x2c0(%rbp)
callq 0xe200
movq %rax, -0x2c8(%rbp)
movq -0x2c0(%rbp), %rax
cmpq -0x2c8(%rbp), %rax
jae 0x31cde
movq -0x2b0(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x2b0(%rbp)
movq (%rax), %rax
movb %al, %cl
movq -0x2b8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x2b8(%rbp)
movb %cl, (%rax)
movq -0x2c0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x2c0(%rbp)
jmp 0x31c89
movl -0x264(%rbp), %ecx
movq -0x2b0(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x2b0(%rbp)
movq -0x2b0(%rbp), %rax
movq %rax, -0x728(%rbp)
cmpq $0x0, %rax
je 0x31d22
movq -0x728(%rbp), %rdi
callq 0x4490
jmp 0x31d24
jmp 0x31d26
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x5, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x31d5a
leaq -0x90(%rbp), %rdi
movl $0x5, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x88(%rbp), %edx
movl -0x8c(%rbp), %ecx
movl $0x1, %r8d
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x2cc(%rbp)
cmpl $0x100, -0x80(%rbp)     # imm = 0x100
jae 0x31e89
movl -0x2cc(%rbp), %eax
movl %eax, %edi
callq 0x4040
movq %rax, -0x2d8(%rbp)
movq -0x2d8(%rbp), %rdi
movl -0x2cc(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e190
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x2e0(%rbp)
movq $0x0, -0x2e8(%rbp)
callq 0xe200
movq %rax, -0x2f0(%rbp)
movq -0x2e8(%rbp), %rax
cmpq -0x2f0(%rbp), %rax
jae 0x31e44
movq -0x2d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2d8(%rbp)
movb (%rax), %cl
movq -0x2e0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x2e0(%rbp)
movb %cl, (%rax)
movq -0x2e8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x2e8(%rbp)
jmp 0x31df2
movl -0x2cc(%rbp), %ecx
movq -0x2d8(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x2d8(%rbp)
movq -0x2d8(%rbp), %rax
movq %rax, -0x730(%rbp)
cmpq $0x0, %rax
je 0x31e84
movq -0x730(%rbp), %rdi
callq 0x4490
jmp 0x320e7
cmpl $0x10000, -0x80(%rbp)   # imm = 0x10000
jae 0x31fbf
movl -0x2cc(%rbp), %eax
movl $0x2, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x2f8(%rbp)
movq -0x2f8(%rbp), %rdi
movl -0x2cc(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x21320
testb $0x1, -0x91(%rbp)
je 0x31ef9
movq -0x2f8(%rbp), %rdi
movl -0x2cc(%rbp), %eax
movl %eax, %esi
callq 0x214e0
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x300(%rbp)
movq $0x0, -0x308(%rbp)
callq 0xe200
movq %rax, -0x310(%rbp)
movq -0x308(%rbp), %rax
cmpq -0x310(%rbp), %rax
jae 0x31f77
movq -0x2f8(%rbp), %rax
movq %rax, %rcx
addq $0x2, %rcx
movq %rcx, -0x2f8(%rbp)
movw (%rax), %ax
movb %al, %cl
movq -0x300(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x300(%rbp)
movb %cl, (%rax)
movq -0x308(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x308(%rbp)
jmp 0x31f22
movl -0x2cc(%rbp), %ecx
movq -0x2f8(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x2f8(%rbp)
movq -0x2f8(%rbp), %rax
movq %rax, -0x738(%rbp)
cmpq $0x0, %rax
je 0x31fba
movq -0x738(%rbp), %rdi
callq 0x4490
jmp 0x320e5
movl -0x2cc(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x318(%rbp)
movq -0x318(%rbp), %rdi
movl -0x2cc(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x32022
movq -0x318(%rbp), %rdi
movl -0x2cc(%rbp), %eax
movl %eax, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x320(%rbp)
movq $0x0, -0x328(%rbp)
callq 0xe200
movq %rax, -0x330(%rbp)
movq -0x328(%rbp), %rax
cmpq -0x330(%rbp), %rax
jae 0x3209f
movq -0x318(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x318(%rbp)
movl (%rax), %eax
movb %al, %cl
movq -0x320(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x320(%rbp)
movb %cl, (%rax)
movq -0x328(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x328(%rbp)
jmp 0x3204b
movl -0x2cc(%rbp), %ecx
movq -0x318(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x318(%rbp)
movq -0x318(%rbp), %rax
movq %rax, -0x740(%rbp)
cmpq $0x0, %rax
je 0x320e3
movq -0x740(%rbp), %rdi
callq 0x4490
jmp 0x320e5
jmp 0x320e7
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x4, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x3211b
leaq -0x90(%rbp), %rdi
movl $0x4, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x88(%rbp), %esi
movl -0x8c(%rbp), %edx
movl $0x1, %ecx
movl $0x3, %r8d
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x334(%rbp)
movl -0x334(%rbp), %eax
movl %eax, %edi
callq 0x4040
movq %rax, -0x340(%rbp)
movq -0x340(%rbp), %rdi
movl -0x334(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e190
testb $0x1, -0x91(%rbp)
je 0x32199
movq -0x340(%rbp), %rdi
movl -0x334(%rbp), %eax
movl %eax, %esi
callq 0x2ba60
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x348(%rbp)
movq $0x0, -0x350(%rbp)
callq 0xe200
movq %rax, -0x358(%rbp)
movq -0x350(%rbp), %rax
cmpq -0x358(%rbp), %rax
jae 0x32214
movq -0x340(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x340(%rbp)
movb (%rax), %cl
movq -0x348(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x348(%rbp)
movb %cl, (%rax)
movq -0x350(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x350(%rbp)
jmp 0x321c2
movl -0x334(%rbp), %ecx
movq -0x340(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x340(%rbp)
movq -0x340(%rbp), %rax
movq %rax, -0x748(%rbp)
cmpq $0x0, %rax
je 0x32254
movq -0x748(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x4, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x32288
leaq -0x90(%rbp), %rdi
movl $0x4, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x88(%rbp), %esi
movl -0x8c(%rbp), %edx
movl $0x1, %ecx
movl $0x3, %r8d
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x35c(%rbp)
movl -0x35c(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x368(%rbp)
movq -0x368(%rbp), %rdi
movl -0x35c(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e7e0
testb $0x1, -0x91(%rbp)
je 0x32320
movq -0x368(%rbp), %rdi
movl -0x35c(%rbp), %eax
movl %eax, %esi
callq 0x2a030
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x370(%rbp)
movq $0x0, -0x378(%rbp)
callq 0xe200
movq %rax, -0x380(%rbp)
movq -0x378(%rbp), %rax
cmpq -0x380(%rbp), %rax
jae 0x3239d
movq -0x368(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x368(%rbp)
movl (%rax), %eax
movb %al, %cl
movq -0x370(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x370(%rbp)
movb %cl, (%rax)
movq -0x378(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x378(%rbp)
jmp 0x32349
movl -0x35c(%rbp), %ecx
movq -0x368(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x368(%rbp)
movq -0x368(%rbp), %rax
movq %rax, -0x750(%rbp)
cmpq $0x0, %rax
je 0x323e1
movq -0x750(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x4, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x32415
leaq -0x90(%rbp), %rdi
movl $0x4, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x88(%rbp), %esi
movl -0x8c(%rbp), %edx
movl $0x1, %ecx
movl $0x3, %r8d
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x384(%rbp)
movl -0x384(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x390(%rbp)
movq -0x390(%rbp), %rdi
movl -0x384(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x219c0
testb $0x1, -0x91(%rbp)
je 0x324ad
movq -0x390(%rbp), %rdi
movl -0x384(%rbp), %eax
movl %eax, %esi
callq 0x22760
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x398(%rbp)
movq $0x0, -0x3a0(%rbp)
callq 0xe200
movq %rax, -0x3a8(%rbp)
movq -0x3a0(%rbp), %rax
cmpq -0x3a8(%rbp), %rax
jae 0x3252c
movq -0x390(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x390(%rbp)
cvttss2si (%rax), %eax
movb %al, %cl
movq -0x398(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x398(%rbp)
movb %cl, (%rax)
movq -0x3a0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x3a0(%rbp)
jmp 0x324d6
movl -0x384(%rbp), %ecx
movq -0x390(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x390(%rbp)
movq -0x390(%rbp), %rax
movq %rax, -0x758(%rbp)
cmpq $0x0, %rax
je 0x32570
movq -0x758(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x5, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x325a4
leaq -0x90(%rbp), %rdi
movl $0x5, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x88(%rbp), %edx
movl -0x8c(%rbp), %ecx
movl $0x3, %r8d
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x3ac(%rbp)
movl -0x3ac(%rbp), %eax
movl %eax, %edi
callq 0x4040
movq %rax, -0x3b8(%rbp)
movq -0x3b8(%rbp), %rdi
movl -0x3ac(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e190
testb $0x1, -0x91(%rbp)
je 0x32623
movq -0x3b8(%rbp), %rdi
movl -0x3ac(%rbp), %eax
movl %eax, %esi
callq 0x2ba60
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x3c0(%rbp)
movq $0x0, -0x3c8(%rbp)
callq 0xe200
movq %rax, -0x3d0(%rbp)
movq -0x3c8(%rbp), %rax
cmpq -0x3d0(%rbp), %rax
jae 0x3269e
movq -0x3b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3b8(%rbp)
movb (%rax), %cl
movq -0x3c0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x3c0(%rbp)
movb %cl, (%rax)
movq -0x3c8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x3c8(%rbp)
jmp 0x3264c
movl -0x3ac(%rbp), %ecx
movq -0x3b8(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x3b8(%rbp)
movq -0x3b8(%rbp), %rax
movq %rax, -0x760(%rbp)
cmpq $0x0, %rax
je 0x326de
movq -0x760(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x5, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x32712
leaq -0x90(%rbp), %rdi
movl $0x5, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x88(%rbp), %edx
movl -0x8c(%rbp), %ecx
movl $0x3, %r8d
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x3d4(%rbp)
movl -0x3d4(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x3e0(%rbp)
movq -0x3e0(%rbp), %rdi
movl -0x3d4(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e7e0
testb $0x1, -0x91(%rbp)
je 0x327ab
movq -0x3e0(%rbp), %rdi
movl -0x3d4(%rbp), %eax
movl %eax, %esi
callq 0x2a030
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x3e8(%rbp)
movq $0x0, -0x3f0(%rbp)
callq 0xe200
movq %rax, -0x3f8(%rbp)
movq -0x3f0(%rbp), %rax
cmpq -0x3f8(%rbp), %rax
jae 0x32828
movq -0x3e0(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x3e0(%rbp)
movl (%rax), %eax
movb %al, %cl
movq -0x3e8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x3e8(%rbp)
movb %cl, (%rax)
movq -0x3f0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x3f0(%rbp)
jmp 0x327d4
movl -0x3d4(%rbp), %ecx
movq -0x3e0(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x3e0(%rbp)
movq -0x3e0(%rbp), %rax
movq %rax, -0x768(%rbp)
cmpq $0x0, %rax
je 0x3286c
movq -0x768(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x5, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x328a0
leaq -0x90(%rbp), %rdi
movl $0x5, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x88(%rbp), %edx
movl -0x8c(%rbp), %ecx
movl $0x3, %r8d
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x3fc(%rbp)
movl -0x3fc(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x408(%rbp)
movq -0x408(%rbp), %rdi
movl -0x3fc(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x219c0
testb $0x1, -0x91(%rbp)
je 0x32939
movq -0x408(%rbp), %rdi
movl -0x3fc(%rbp), %eax
movl %eax, %esi
callq 0x22760
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x410(%rbp)
movq $0x0, -0x418(%rbp)
callq 0xe200
movq %rax, -0x420(%rbp)
movq -0x418(%rbp), %rax
cmpq -0x420(%rbp), %rax
jae 0x329b8
movq -0x408(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x408(%rbp)
cvttss2si (%rax), %eax
movb %al, %cl
movq -0x410(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x410(%rbp)
movb %cl, (%rax)
movq -0x418(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x418(%rbp)
jmp 0x32962
movl -0x3fc(%rbp), %ecx
movq -0x408(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x408(%rbp)
movq -0x408(%rbp), %rax
movq %rax, -0x770(%rbp)
cmpq $0x0, %rax
je 0x329fc
movq -0x770(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x2, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x32a30
leaq -0x90(%rbp), %rdi
movl $0x2, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x8c(%rbp), %esi
movl -0x90(%rbp), %r8d
movl $0x1, %ecx
movl %ecx, %edx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x424(%rbp)
movl -0x424(%rbp), %eax
movl %eax, %edi
callq 0x4040
movq %rax, -0x430(%rbp)
movq -0x430(%rbp), %rdi
movl -0x424(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e190
testb $0x1, -0x91(%rbp)
je 0x32aab
movq -0x430(%rbp), %rdi
movl -0x424(%rbp), %eax
movl %eax, %esi
callq 0x2ba60
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x438(%rbp)
movq $0x0, -0x440(%rbp)
callq 0xe200
movq %rax, -0x448(%rbp)
movq -0x440(%rbp), %rax
cmpq -0x448(%rbp), %rax
jae 0x32b26
movq -0x430(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x430(%rbp)
movb (%rax), %cl
movq -0x438(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x438(%rbp)
movb %cl, (%rax)
movq -0x440(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x440(%rbp)
jmp 0x32ad4
movl -0x424(%rbp), %ecx
movq -0x430(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x430(%rbp)
movq -0x430(%rbp), %rax
movq %rax, -0x778(%rbp)
cmpq $0x0, %rax
je 0x32b66
movq -0x778(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x2, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x32b9a
leaq -0x90(%rbp), %rdi
movl $0x2, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x8c(%rbp), %esi
movl -0x90(%rbp), %r8d
movl $0x1, %ecx
movl %ecx, %edx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x44c(%rbp)
movl -0x44c(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x458(%rbp)
movq -0x458(%rbp), %rdi
movl -0x44c(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e7e0
testb $0x1, -0x91(%rbp)
je 0x32c2f
movq -0x458(%rbp), %rdi
movl -0x44c(%rbp), %eax
movl %eax, %esi
callq 0x2a030
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x460(%rbp)
movq $0x0, -0x468(%rbp)
callq 0xe200
movq %rax, -0x470(%rbp)
movq -0x468(%rbp), %rax
cmpq -0x470(%rbp), %rax
jae 0x32cac
movq -0x458(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x458(%rbp)
movl (%rax), %eax
movb %al, %cl
movq -0x460(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x460(%rbp)
movb %cl, (%rax)
movq -0x468(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x468(%rbp)
jmp 0x32c58
movl -0x44c(%rbp), %ecx
movq -0x458(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x458(%rbp)
movq -0x458(%rbp), %rax
movq %rax, -0x780(%rbp)
cmpq $0x0, %rax
je 0x32cf0
movq -0x780(%rbp), %rdi
callq 0x4490
jmp 0x32cf2
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x2, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x32d21
leaq -0x90(%rbp), %rdi
movl $0x2, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x8c(%rbp), %esi
movl -0x90(%rbp), %r8d
movl $0x1, %ecx
movl %ecx, %edx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x474(%rbp)
movl -0x474(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x480(%rbp)
movq -0x480(%rbp), %rdi
movl -0x474(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x32db6
movq -0x480(%rbp), %rdi
movl -0x474(%rbp), %eax
movl %eax, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x488(%rbp)
movq $0x0, -0x490(%rbp)
callq 0xe200
movq %rax, -0x498(%rbp)
movq -0x490(%rbp), %rax
cmpq -0x498(%rbp), %rax
jae 0x32e33
movq -0x480(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x480(%rbp)
movl (%rax), %eax
movb %al, %cl
movq -0x488(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x488(%rbp)
movb %cl, (%rax)
movq -0x490(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x490(%rbp)
jmp 0x32ddf
movl -0x474(%rbp), %ecx
movq -0x480(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x480(%rbp)
movq -0x480(%rbp), %rax
movq %rax, -0x788(%rbp)
cmpq $0x0, %rax
je 0x32e77
movq -0x788(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x2, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x32eab
leaq -0x90(%rbp), %rdi
movl $0x2, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x8c(%rbp), %esi
movl -0x90(%rbp), %r8d
movl $0x1, %ecx
movl %ecx, %edx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x49c(%rbp)
movl -0x49c(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x4a8(%rbp)
movq -0x4a8(%rbp), %rdi
movl -0x49c(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x219c0
testb $0x1, -0x91(%rbp)
je 0x32f40
movq -0x4a8(%rbp), %rdi
movl -0x49c(%rbp), %eax
movl %eax, %esi
callq 0x22760
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x4b0(%rbp)
movq $0x0, -0x4b8(%rbp)
callq 0xe200
movq %rax, -0x4c0(%rbp)
movq -0x4b8(%rbp), %rax
cmpq -0x4c0(%rbp), %rax
jae 0x32fbf
movq -0x4a8(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x4a8(%rbp)
cvttss2si (%rax), %eax
movb %al, %cl
movq -0x4b0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x4b0(%rbp)
movb %cl, (%rax)
movq -0x4b8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x4b8(%rbp)
jmp 0x32f69
movl -0x49c(%rbp), %ecx
movq -0x4a8(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x4a8(%rbp)
movq -0x4a8(%rbp), %rax
movq %rax, -0x790(%rbp)
cmpq $0x0, %rax
je 0x33003
movq -0x790(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x3, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x33037
leaq -0x90(%rbp), %rdi
movl $0x3, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x88(%rbp), %esi
movl -0x8c(%rbp), %edx
movl -0x90(%rbp), %r8d
movl $0x1, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x4c4(%rbp)
movl -0x4c4(%rbp), %eax
movl %eax, %edi
callq 0x4040
movq %rax, -0x4d0(%rbp)
movq -0x4d0(%rbp), %rdi
movl -0x4c4(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e190
testb $0x1, -0x91(%rbp)
je 0x330b6
movq -0x4d0(%rbp), %rdi
movl -0x4c4(%rbp), %eax
movl %eax, %esi
callq 0x2ba60
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x4d8(%rbp)
movq $0x0, -0x4e0(%rbp)
callq 0xe200
movq %rax, -0x4e8(%rbp)
movq -0x4e0(%rbp), %rax
cmpq -0x4e8(%rbp), %rax
jae 0x33131
movq -0x4d0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x4d0(%rbp)
movb (%rax), %cl
movq -0x4d8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x4d8(%rbp)
movb %cl, (%rax)
movq -0x4e0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x4e0(%rbp)
jmp 0x330df
movl -0x4c4(%rbp), %ecx
movq -0x4d0(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x4d0(%rbp)
movq -0x4d0(%rbp), %rax
movq %rax, -0x798(%rbp)
cmpq $0x0, %rax
je 0x33171
movq -0x798(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x3, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x331a5
leaq -0x90(%rbp), %rdi
movl $0x3, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x88(%rbp), %esi
movl -0x8c(%rbp), %edx
movl -0x90(%rbp), %r8d
movl $0x1, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x4ec(%rbp)
movl -0x4ec(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x4f8(%rbp)
movq -0x4f8(%rbp), %rdi
movl -0x4ec(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e7e0
testb $0x1, -0x91(%rbp)
je 0x3323e
movq -0x4f8(%rbp), %rdi
movl -0x4ec(%rbp), %eax
movl %eax, %esi
callq 0x2a030
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x500(%rbp)
movq $0x0, -0x508(%rbp)
callq 0xe200
movq %rax, -0x510(%rbp)
movq -0x508(%rbp), %rax
cmpq -0x510(%rbp), %rax
jae 0x332bb
movq -0x4f8(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x4f8(%rbp)
movl (%rax), %eax
movb %al, %cl
movq -0x500(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x500(%rbp)
movb %cl, (%rax)
movq -0x508(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x508(%rbp)
jmp 0x33267
movl -0x4ec(%rbp), %ecx
movq -0x4f8(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x4f8(%rbp)
movq -0x4f8(%rbp), %rax
movq %rax, -0x7a0(%rbp)
cmpq $0x0, %rax
je 0x332ff
movq -0x7a0(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x3, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x33333
leaq -0x90(%rbp), %rdi
movl $0x3, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x88(%rbp), %esi
movl -0x8c(%rbp), %edx
movl -0x90(%rbp), %r8d
movl $0x1, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x514(%rbp)
movl -0x514(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x520(%rbp)
movq -0x520(%rbp), %rdi
movl -0x514(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x333cc
movq -0x520(%rbp), %rdi
movl -0x514(%rbp), %eax
movl %eax, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x528(%rbp)
movq $0x0, -0x530(%rbp)
callq 0xe200
movq %rax, -0x538(%rbp)
movq -0x530(%rbp), %rax
cmpq -0x538(%rbp), %rax
jae 0x33449
movq -0x520(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x520(%rbp)
movl (%rax), %eax
movb %al, %cl
movq -0x528(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x528(%rbp)
movb %cl, (%rax)
movq -0x530(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x530(%rbp)
jmp 0x333f5
movl -0x514(%rbp), %ecx
movq -0x520(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x520(%rbp)
movq -0x520(%rbp), %rax
movq %rax, -0x7a8(%rbp)
cmpq $0x0, %rax
je 0x3348d
movq -0x7a8(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x3, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x334c1
leaq -0x90(%rbp), %rdi
movl $0x3, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x88(%rbp), %esi
movl -0x8c(%rbp), %edx
movl -0x90(%rbp), %r8d
movl $0x1, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x53c(%rbp)
movl -0x53c(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x548(%rbp)
movq -0x548(%rbp), %rdi
movl -0x53c(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x219c0
testb $0x1, -0x91(%rbp)
je 0x3355a
movq -0x548(%rbp), %rdi
movl -0x53c(%rbp), %eax
movl %eax, %esi
callq 0x22760
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x550(%rbp)
movq $0x0, -0x558(%rbp)
callq 0xe200
movq %rax, -0x560(%rbp)
movq -0x558(%rbp), %rax
cmpq -0x560(%rbp), %rax
jae 0x335d9
movq -0x548(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x548(%rbp)
cvttss2si (%rax), %eax
movb %al, %cl
movq -0x550(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x550(%rbp)
movb %cl, (%rax)
movq -0x558(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x558(%rbp)
jmp 0x33583
movl -0x53c(%rbp), %ecx
movq -0x548(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x548(%rbp)
movq -0x548(%rbp), %rax
movq %rax, -0x7b0(%rbp)
cmpq $0x0, %rax
je 0x3361d
movq -0x7b0(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x4, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x33651
leaq -0x90(%rbp), %rdi
movl $0x4, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x88(%rbp), %edx
movl -0x8c(%rbp), %ecx
movl -0x90(%rbp), %r8d
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x564(%rbp)
movl -0x564(%rbp), %eax
movl %eax, %edi
callq 0x4040
movq %rax, -0x570(%rbp)
movq -0x570(%rbp), %rdi
movl -0x564(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e190
testb $0x1, -0x91(%rbp)
je 0x336d1
movq -0x570(%rbp), %rdi
movl -0x564(%rbp), %eax
movl %eax, %esi
callq 0x2ba60
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x578(%rbp)
movq $0x0, -0x580(%rbp)
callq 0xe200
movq %rax, -0x588(%rbp)
movq -0x580(%rbp), %rax
cmpq -0x588(%rbp), %rax
jae 0x3374c
movq -0x570(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x570(%rbp)
movb (%rax), %cl
movq -0x578(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x578(%rbp)
movb %cl, (%rax)
movq -0x580(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x580(%rbp)
jmp 0x336fa
movl -0x564(%rbp), %ecx
movq -0x570(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x570(%rbp)
movq -0x570(%rbp), %rax
movq %rax, -0x7b8(%rbp)
cmpq $0x0, %rax
je 0x3378c
movq -0x7b8(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x4, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x337c0
leaq -0x90(%rbp), %rdi
movl $0x4, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x88(%rbp), %edx
movl -0x8c(%rbp), %ecx
movl -0x90(%rbp), %r8d
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x58c(%rbp)
movl -0x58c(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x598(%rbp)
movq -0x598(%rbp), %rdi
movl -0x58c(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x1e7e0
testb $0x1, -0x91(%rbp)
je 0x3385a
movq -0x598(%rbp), %rdi
movl -0x58c(%rbp), %eax
movl %eax, %esi
callq 0x2a030
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x5a0(%rbp)
movq $0x0, -0x5a8(%rbp)
callq 0xe200
movq %rax, -0x5b0(%rbp)
movq -0x5a8(%rbp), %rax
cmpq -0x5b0(%rbp), %rax
jae 0x338d7
movq -0x598(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x598(%rbp)
movl (%rax), %eax
movb %al, %cl
movq -0x5a0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x5a0(%rbp)
movb %cl, (%rax)
movq -0x5a8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x5a8(%rbp)
jmp 0x33883
movl -0x58c(%rbp), %ecx
movq -0x598(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x598(%rbp)
movq -0x598(%rbp), %rax
movq %rax, -0x7c0(%rbp)
cmpq $0x0, %rax
je 0x3391b
movq -0x7c0(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x4, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x3394f
leaq -0x90(%rbp), %rdi
movl $0x4, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x88(%rbp), %edx
movl -0x8c(%rbp), %ecx
movl -0x90(%rbp), %r8d
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x5b4(%rbp)
movl -0x5b4(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x5c0(%rbp)
movq -0x5c0(%rbp), %rdi
movl -0x5b4(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x339e9
movq -0x5c0(%rbp), %rdi
movl -0x5b4(%rbp), %eax
movl %eax, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x5c8(%rbp)
movq $0x0, -0x5d0(%rbp)
callq 0xe200
movq %rax, -0x5d8(%rbp)
movq -0x5d0(%rbp), %rax
cmpq -0x5d8(%rbp), %rax
jae 0x33a66
movq -0x5c0(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x5c0(%rbp)
movl (%rax), %eax
movb %al, %cl
movq -0x5c8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x5c8(%rbp)
movb %cl, (%rax)
movq -0x5d0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x5d0(%rbp)
jmp 0x33a12
movl -0x5b4(%rbp), %ecx
movq -0x5c0(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x5c0(%rbp)
movq -0x5c0(%rbp), %rax
movq %rax, -0x7c8(%rbp)
cmpq $0x0, %rax
je 0x33aaa
movq -0x7c8(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x90(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x4, %esi
callq 0x29c10
testb $0x1, -0x91(%rbp)
je 0x33ade
leaq -0x90(%rbp), %rdi
movl $0x4, %esi
callq 0x2a310
movq -0x638(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x88(%rbp), %edx
movl -0x8c(%rbp), %ecx
movl -0x90(%rbp), %r8d
callq 0xde20
movq -0x638(%rbp), %rdi
callq 0xe200
movl %eax, -0x5dc(%rbp)
movl -0x5dc(%rbp), %eax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x4040
movq %rax, -0x5e8(%rbp)
movq -0x5e8(%rbp), %rdi
movl -0x5dc(%rbp), %eax
movl %eax, %esi
movq -0x40(%rbp), %rdx
callq 0x219c0
testb $0x1, -0x91(%rbp)
je 0x33b78
movq -0x5e8(%rbp), %rdi
movl -0x5dc(%rbp), %eax
movl %eax, %esi
callq 0x22760
movq -0x638(%rbp), %rdi
movq 0x18(%rdi), %rax
movq %rax, -0x5f0(%rbp)
movq $0x0, -0x5f8(%rbp)
callq 0xe200
movq %rax, -0x600(%rbp)
movq -0x5f8(%rbp), %rax
cmpq -0x600(%rbp), %rax
jae 0x33bf7
movq -0x5e8(%rbp), %rax
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x5e8(%rbp)
cvttss2si (%rax), %eax
movb %al, %cl
movq -0x5f0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x5f0(%rbp)
movb %cl, (%rax)
movq -0x5f8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x5f8(%rbp)
jmp 0x33ba1
movl -0x5dc(%rbp), %ecx
movq -0x5e8(%rbp), %rax
movl %ecx, %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x5e8(%rbp)
movq -0x5e8(%rbp), %rax
movq %rax, -0x7d0(%rbp)
cmpq $0x0, %rax
je 0x33c3b
movq -0x7d0(%rbp), %rdi
callq 0x4490
jmp 0x33f8e
leaq -0x610(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x41c0
leaq -0x610(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x1, %esi
callq 0x1e7e0
testb $0x1, -0x91(%rbp)
je 0x33c82
leaq -0x610(%rbp), %rdi
movl $0x1, %esi
callq 0x2a030
movq -0x638(%rbp), %rdi
movl $0x1, %r8d
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
movl -0x610(%rbp), %eax
movb %al, -0x7d1(%rbp)
xorl %esi, %esi
callq 0x34220
movb -0x7d1(%rbp), %cl
movb %cl, (%rax)
jmp 0x33f8e
leaq -0x620(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x41c0
leaq -0x620(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x2, %esi
callq 0x1e7e0
testb $0x1, -0x91(%rbp)
je 0x33d06
leaq -0x620(%rbp), %rdi
movl $0x2, %esi
callq 0x2a030
movq -0x638(%rbp), %rdi
movl $0x2, %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
movl -0x61c(%rbp), %eax
movb %al, -0x7d3(%rbp)
xorl %esi, %esi
callq 0x34220
movb -0x7d3(%rbp), %cl
movq -0x638(%rbp), %rdi
movb %cl, (%rax)
movl -0x620(%rbp), %eax
movb %al, -0x7d2(%rbp)
movl $0x1, %esi
callq 0x34220
movb -0x7d2(%rbp), %cl
movb %cl, (%rax)
jmp 0x33f8e
leaq -0x630(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x41c0
leaq -0x630(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x3, %esi
callq 0x1e7e0
testb $0x1, -0x91(%rbp)
je 0x33db1
leaq -0x630(%rbp), %rdi
movl $0x3, %esi
callq 0x2a030
movq -0x638(%rbp), %rdi
movl $0x3, %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xde20
movq -0x638(%rbp), %rdi
movl -0x628(%rbp), %eax
movb %al, -0x7d6(%rbp)
xorl %esi, %esi
callq 0x34220
movb -0x7d6(%rbp), %cl
movq -0x638(%rbp), %rdi
movb %cl, (%rax)
movl -0x62c(%rbp), %eax
movb %al, -0x7d5(%rbp)
movl $0x1, %esi
callq 0x34220
movb -0x7d5(%rbp), %cl
movq -0x638(%rbp), %rdi
movb %cl, (%rax)
movl -0x630(%rbp), %eax
movb %al, -0x7d4(%rbp)
movl $0x2, %esi
callq 0x34220
movb -0x7d4(%rbp), %cl
movb %cl, (%rax)
jmp 0x33f8e
cmpq $0x0, -0x20(%rbp)
jne 0x33e4f
movq -0x40(%rbp), %rdi
callq 0xd0a0
movl $0x4008, %edi           # imm = 0x4008
callq 0x4190
movq %rax, %rcx
movq -0x638(%rbp), %rax
movq %rcx, -0x808(%rbp)
movl (%rax), %ecx
movl %ecx, -0x800(%rbp)
movl 0x4(%rax), %ecx
movl %ecx, -0x7fc(%rbp)
movl 0x8(%rax), %ecx
movl %ecx, -0x7f8(%rbp)
movl 0xc(%rax), %ecx
movl %ecx, -0x7f4(%rbp)
movq 0x18(%rax), %rcx
movq %rcx, -0x7f0(%rbp)
movb 0x10(%rax), %dl
leaq 0xe8be(%rip), %rcx      # 0x42760
leaq 0xe670(%rip), %rax      # 0x42519
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, -0x7e8(%rbp)
callq 0x8cc0
movq %rax, -0x7e0(%rbp)
jmp 0x33ec5
movl -0x64(%rbp), %eax
movl %eax, -0x80c(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x33ee2
movq -0x28(%rbp), %rax
movq %rax, -0x818(%rbp)
jmp 0x33ef2
leaq 0xf06a(%rip), %rax      # 0x42f53
movq %rax, -0x818(%rbp)
jmp 0x33ef2
movl -0x7f4(%rbp), %r9d
movl -0x7f8(%rbp), %r8d
movl -0x7fc(%rbp), %ecx
movl -0x800(%rbp), %edx
movq -0x808(%rbp), %rdi
movq -0x7f0(%rbp), %rsi
movq -0x7e8(%rbp), %r10
movq -0x7e0(%rbp), %r11
movl -0x80c(%rbp), %ebx
movq -0x818(%rbp), %r14
movq %rsp, %rax
movq %r14, 0x20(%rax)
movl %ebx, 0x18(%rax)
movq %r11, 0x10(%rax)
movq %r10, 0x8(%rax)
movq %rsi, (%rax)
leaq 0x10a07(%rip), %rsi     # 0x44958
xorl %eax, %eax
callq 0xb3b0
jmp 0x33f5a
movq -0x808(%rbp), %rdi
leaq 0x1bc98(%rip), %rsi     # 0x4fc00
leaq -0x28a4f(%rip), %rdx    # 0xb520
callq 0x4600
movq -0x808(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x4270
jmp 0x33fb1
cmpq $0x0, -0x20(%rbp)
jne 0x33f9e
movq -0x40(%rbp), %rdi
callq 0xd0a0
movq -0x638(%rbp), %rax
addq $0x830, %rsp            # imm = 0x830
popq %rbx
popq %r14
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x4620
nopw (%rax,%rax)