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

      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
      unsigned char header[64] = { 0 };
      cimg::fread(header,54,nfile);
      if (*header!='B' || header[1]!='M') {
        if (!file) cimg::fclose(nfile);
        throw CImgIOException(_cimg_instance
                              "load_bmp(): Invalid BMP file '%s'.",
                              cimg_instance,
                              filename?filename:"(FILE*)");
      }

      // Read header and pixel buffer
      int
        file_size = header[0x02] + (header[0x03]<<8) + (header[0x04]<<16) + (header[0x05]<<24),
        offset = header[0x0A] + (header[0x0B]<<8) + (header[0x0C]<<16) + (header[0x0D]<<24),
        header_size = header[0x0E] + (header[0x0F]<<8) + (header[0x10]<<16) + (header[0x11]<<24),
        dx = header[0x12] + (header[0x13]<<8) + (header[0x14]<<16) + (header[0x15]<<24),
        dy = header[0x16] + (header[0x17]<<8) + (header[0x18]<<16) + (header[0x19]<<24),
        compression = header[0x1E] + (header[0x1F]<<8) + (header[0x20]<<16) + (header[0x21]<<24),
        nb_colors = header[0x2E] + (header[0x2F]<<8) + (header[0x30]<<16) + (header[0x31]<<24),
        bpp = header[0x1C] + (header[0x1D]<<8);

      if (!file_size || file_size==offset) {
        std::fseek(nfile,0,SEEK_END);
        file_size = (int)std::ftell(nfile);
        std::fseek(nfile,54,SEEK_SET);
      }
      if (header_size>40) std::fseek(nfile, header_size - 40, SEEK_CUR);

      const int
        cimg_iobuffer = 12*1024*1024,
        dx_bytes = (bpp==1)?(dx/8+(dx%8?1:0)):((bpp==4)?(dx/2+(dx%2?1:0)):(dx*bpp/8)),
        align_bytes = (4-dx_bytes%4)%4,
        buf_size = cimg::min(cimg::abs(dy)*(dx_bytes + align_bytes),file_size - offset);

      CImg<intT> colormap;
      if (bpp<16) { if (!nb_colors) nb_colors = 1<<bpp; } else nb_colors = 0;
      if (nb_colors) { colormap.assign(nb_colors); cimg::fread(colormap._data,nb_colors,nfile); }
      const int xoffset = offset - 14 - header_size - 4*nb_colors;
      if (xoffset>0) std::fseek(nfile,xoffset,SEEK_CUR);

      CImg<ucharT> buffer;
      if (buf_size<cimg_iobuffer) { buffer.assign(buf_size); cimg::fread(buffer._data,buf_size,nfile); }
      else buffer.assign(dx_bytes + align_bytes);
      unsigned char *ptrs = buffer;

      // Decompress buffer (if necessary)
      if (compression) {
        if (file)
          throw CImgIOException(_cimg_instance
                                "load_bmp(): Unable to load compressed data from '(*FILE)' inputs.",
                                cimg_instance);
        else {
          if (!file) cimg::fclose(nfile);
          return load_other(filename);
        }
      }

      // Read pixel data
      assign(dx,cimg::abs(dy),1,3);
      switch (bpp) {
      case 1 : { // Monochrome
        for (int y = height()-1; y>=0; --y) {
          if (buf_size>=cimg_iobuffer) {
            cimg::fread(ptrs=buffer._data,dx_bytes,nfile);
            std::fseek(nfile,align_bytes,SEEK_CUR);
          }
          unsigned char mask = 0x80, val = 0;
          cimg_forX(*this,x) {
            if (mask==0x80) val = *(ptrs++);
            const unsigned char *col = (unsigned char*)(colormap._data + (val&mask?1:0));
            (*this)(x,y,2) = (T)*(col++);
            (*this)(x,y,1) = (T)*(col++);
            (*this)(x,y,0) = (T)*(col++);
            mask = cimg::ror(mask);
          }
          ptrs+=align_bytes;
        }
      } break;
      case 4 : { // 16 colors
        for (int y = height()-1; y>=0; --y) {
          if (buf_size>=cimg_iobuffer) {
            cimg::fread(ptrs=buffer._data,dx_bytes,nfile);
            std::fseek(nfile,align_bytes,SEEK_CUR);
          }
          unsigned char mask = 0xF0, val = 0;
          cimg_forX(*this,x) {
            if (mask==0xF0) val = *(ptrs++);
            const unsigned char color = (unsigned char)((mask<16)?(val&mask):((val&mask)>>4));
            const unsigned char *col = (unsigned char*)(colormap._data + color);
            (*this)(x,y,2) = (T)*(col++);
            (*this)(x,y,1) = (T)*(col++);
            (*this)(x,y,0) = (T)*(col++);
            mask = cimg::ror(mask,4);
          }
          ptrs+=align_bytes;
        }
      } break;
      case 8 : { //  256 colors
        for (int y = height()-1; y>=0; --y) {
          if (buf_size>=cimg_iobuffer) {
            cimg::fread(ptrs=buffer._data,dx_bytes,nfile);
            std::fseek(nfile,align_bytes,SEEK_CUR);
          }
          cimg_forX(*this,x) {
            const unsigned char *col = (unsigned char*)(colormap._data + *(ptrs++));
            (*this)(x,y,2) = (T)*(col++);
            (*this)(x,y,1) = (T)*(col++);
            (*this)(x,y,0) = (T)*(col++);
          }
          ptrs+=align_bytes;
        }
      } break;
      case 16 : { // 16 bits colors
        for (int y = height()-1; y>=0; --y) {
          if (buf_size>=cimg_iobuffer) {
            cimg::fread(ptrs=buffer._data,dx_bytes,nfile);
            std::fseek(nfile,align_bytes,SEEK_CUR);
          }
          cimg_forX(*this,x) {
            const unsigned char c1 = *(ptrs++), c2 = *(ptrs++);
            const unsigned short col = (unsigned short)(c1|(c2<<8));
            (*this)(x,y,2) = (T)(col&0x1F);
            (*this)(x,y,1) = (T)((col>>5)&0x1F);
            (*this)(x,y,0) = (T)((col>>10)&0x1F);
          }
          ptrs+=align_bytes;
        }
      } break;
      case 24 : { // 24 bits colors
        for (int y = height()-1; y>=0; --y) {
          if (buf_size>=cimg_iobuffer) {
            cimg::fread(ptrs=buffer._data,dx_bytes,nfile);
            std::fseek(nfile,align_bytes,SEEK_CUR);
          }
          cimg_forX(*this,x) {
            (*this)(x,y,2) = (T)*(ptrs++);
            (*this)(x,y,1) = (T)*(ptrs++);
            (*this)(x,y,0) = (T)*(ptrs++);
          }
          ptrs+=align_bytes;
        }
      } break;
      case 32 : { // 32 bits colors
        for (int y = height()-1; y>=0; --y) {
          if (buf_size>=cimg_iobuffer) {
            cimg::fread(ptrs=buffer._data,dx_bytes,nfile);
            std::fseek(nfile,align_bytes,SEEK_CUR);
          }
          cimg_forX(*this,x) {
            (*this)(x,y,2) = (T)*(ptrs++);
            (*this)(x,y,1) = (T)*(ptrs++);
            (*this)(x,y,0) = (T)*(ptrs++);
            ++ptrs;
          }
          ptrs+=align_bytes;
        }
      } break;
      }

// Assembly:
pushq %rbx
subq $0x3b0, %rsp            # imm = 0x3B0
movq %rdi, 0x3a0(%rsp)
movq %rsi, 0x398(%rsp)
movq %rdx, 0x390(%rsp)
movq 0x3a0(%rsp), %rax
movq %rax, 0x240(%rsp)
cmpq $0x0, 0x398(%rsp)
jne 0x73c6a
cmpq $0x0, 0x390(%rsp)
jne 0x73c6a
movl $0x4008, %edi           # imm = 0x4008
callq 0x5240
movq %rax, %rcx
movq 0x240(%rsp), %rax
movq %rcx, 0x210(%rsp)
movl (%rax), %ecx
movl %ecx, 0x218(%rsp)
movl 0x4(%rax), %ecx
movl %ecx, 0x21c(%rsp)
movl 0x8(%rax), %ecx
movl %ecx, 0x220(%rsp)
movl 0xc(%rax), %ecx
movl %ecx, 0x224(%rsp)
movq 0x18(%rax), %rcx
movq %rcx, 0x228(%rsp)
movb 0x10(%rax), %dl
leaq 0x74e2a(%rip), %rcx     # 0xe89d2
leaq 0x55f32(%rip), %rax     # 0xc9ae1
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x230(%rsp)
callq 0x118f0
movq %rax, 0x238(%rsp)
jmp 0x73bcd
movl 0x224(%rsp), %r9d
movl 0x220(%rsp), %r8d
movl 0x21c(%rsp), %ecx
movl 0x218(%rsp), %edx
movq 0x210(%rsp), %rdi
movq 0x228(%rsp), %rsi
movq 0x230(%rsp), %r10
movq 0x238(%rsp), %r11
movq %rsp, %rax
movq %r11, 0x10(%rax)
movq %r10, 0x8(%rax)
movq %rsi, (%rax)
leaq 0x759ad(%rip), %rsi     # 0xe95cd
xorl %eax, %eax
callq 0x12220
jmp 0x73c29
movq 0x210(%rsp), %rdi
leaq 0x8bf28(%rip), %rsi     # 0xffb60
leaq -0x617df(%rip), %rdx    # 0x12460
callq 0x5920
movq 0x210(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
callq 0x53a0
jmp 0x754af
cmpq $0x0, 0x398(%rsp)
je 0x73c87
movq 0x398(%rsp), %rax
movq %rax, 0x208(%rsp)
jmp 0x73ca3
movq 0x390(%rsp), %rdi
leaq 0x754c8(%rip), %rsi     # 0xe915e
callq 0x654a0
movq %rax, 0x208(%rsp)
movq 0x208(%rsp), %rax
movq %rax, 0x378(%rsp)
leaq 0x330(%rsp), %rdi
xorl %esi, %esi
movl $0x40, %edx
callq 0x52a0
leaq 0x330(%rsp), %rdi
movq 0x378(%rsp), %rdx
movl $0x36, %esi
callq 0x754c0
movzbl 0x330(%rsp), %eax
cmpl $0x42, %eax
jne 0x73cff
movzbl 0x331(%rsp), %eax
cmpl $0x4d, %eax
je 0x73e6d
cmpq $0x0, 0x398(%rsp)
jne 0x73d17
movq 0x378(%rsp), %rdi
callq 0x5c6f0
movl $0x4008, %edi           # imm = 0x4008
callq 0x5240
movq %rax, %rcx
movq 0x240(%rsp), %rax
movq %rcx, 0x1d8(%rsp)
movl (%rax), %ecx
movl %ecx, 0x1e0(%rsp)
movl 0x4(%rax), %ecx
movl %ecx, 0x1e4(%rsp)
movl 0x8(%rax), %ecx
movl %ecx, 0x1e8(%rsp)
movl 0xc(%rax), %ecx
movl %ecx, 0x1ec(%rsp)
movq 0x18(%rax), %rcx
movq %rcx, 0x1f0(%rsp)
movb 0x10(%rax), %dl
leaq 0x74c61(%rip), %rcx     # 0xe89d2
leaq 0x55d69(%rip), %rax     # 0xc9ae1
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x1f8(%rsp)
callq 0x118f0
movq %rax, 0x200(%rsp)
jmp 0x73d96
cmpq $0x0, 0x390(%rsp)
je 0x73db3
movq 0x390(%rsp), %rax
movq %rax, 0x1d0(%rsp)
jmp 0x73dc4
leaq 0x756d0(%rip), %rax     # 0xe948a
movq %rax, 0x1d0(%rsp)
jmp 0x73dc4
movl 0x1ec(%rsp), %r9d
movl 0x1e8(%rsp), %r8d
movl 0x1e4(%rsp), %ecx
movl 0x1e0(%rsp), %edx
movq 0x1d8(%rsp), %rdi
movq 0x1f0(%rsp), %rsi
movq 0x1f8(%rsp), %r10
movq 0x200(%rsp), %r11
movq 0x1d0(%rsp), %rbx
movq %rsp, %rax
movq %rbx, 0x18(%rax)
movq %r11, 0x10(%rax)
movq %r10, 0x8(%rax)
movq %rsi, (%rax)
leaq 0x75802(%rip), %rsi     # 0xe9625
xorl %eax, %eax
callq 0x5c880
jmp 0x73e2c
movq 0x1d8(%rsp), %rdi
leaq 0x8be35(%rip), %rsi     # 0xffc70
leaq -0x17382(%rip), %rdx    # 0x5cac0
callq 0x5920
movq 0x1d8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
callq 0x53a0
jmp 0x754af
movzbl 0x332(%rsp), %eax
movzbl 0x333(%rsp), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movzbl 0x334(%rsp), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movzbl 0x335(%rsp), %ecx
shll $0x18, %ecx
addl %ecx, %eax
movl %eax, 0x32c(%rsp)
movzbl 0x33a(%rsp), %eax
movzbl 0x33b(%rsp), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movzbl 0x33c(%rsp), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movzbl 0x33d(%rsp), %ecx
shll $0x18, %ecx
addl %ecx, %eax
movl %eax, 0x328(%rsp)
movzbl 0x33e(%rsp), %eax
movzbl 0x33f(%rsp), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movzbl 0x340(%rsp), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movzbl 0x341(%rsp), %ecx
shll $0x18, %ecx
addl %ecx, %eax
movl %eax, 0x324(%rsp)
movzbl 0x342(%rsp), %eax
movzbl 0x343(%rsp), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movzbl 0x344(%rsp), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movzbl 0x345(%rsp), %ecx
shll $0x18, %ecx
addl %ecx, %eax
movl %eax, 0x320(%rsp)
movzbl 0x346(%rsp), %eax
movzbl 0x347(%rsp), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movzbl 0x348(%rsp), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movzbl 0x349(%rsp), %ecx
shll $0x18, %ecx
addl %ecx, %eax
movl %eax, 0x31c(%rsp)
movzbl 0x34e(%rsp), %eax
movzbl 0x34f(%rsp), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movzbl 0x350(%rsp), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movzbl 0x351(%rsp), %ecx
shll $0x18, %ecx
addl %ecx, %eax
movl %eax, 0x318(%rsp)
movzbl 0x35e(%rsp), %eax
movzbl 0x35f(%rsp), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movzbl 0x360(%rsp), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movzbl 0x361(%rsp), %ecx
shll $0x18, %ecx
addl %ecx, %eax
movl %eax, 0x314(%rsp)
movzbl 0x34c(%rsp), %eax
movzbl 0x34d(%rsp), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movl %eax, 0x310(%rsp)
cmpl $0x0, 0x32c(%rsp)
je 0x7401d
movl 0x32c(%rsp), %eax
cmpl 0x328(%rsp), %eax
jne 0x7405b
movq 0x378(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x2, %edx
callq 0x55a0
movq 0x378(%rsp), %rdi
callq 0x5030
movl %eax, 0x32c(%rsp)
movq 0x378(%rsp), %rdi
movl $0x36, %esi
xorl %edx, %edx
callq 0x55a0
cmpl $0x28, 0x324(%rsp)
jle 0x74084
movq 0x378(%rsp), %rdi
movl 0x324(%rsp), %eax
subl $0x28, %eax
movslq %eax, %rsi
movl $0x1, %edx
callq 0x55a0
movl $0xc00000, 0x30c(%rsp) # imm = 0xC00000
cmpl $0x1, 0x310(%rsp)
jne 0x740df
movl 0x320(%rsp), %eax
movl $0x8, %ecx
cltd
idivl %ecx
movl %eax, 0x1c8(%rsp)
movl 0x320(%rsp), %eax
movl $0x8, %ecx
cltd
idivl %ecx
movl 0x1c8(%rsp), %eax
movl %edx, %esi
xorl %ecx, %ecx
movl $0x1, %edx
cmpl $0x0, %esi
cmovnel %edx, %ecx
addl %ecx, %eax
movl %eax, 0x1cc(%rsp)
jmp 0x7415b
cmpl $0x4, 0x310(%rsp)
jne 0x7412f
movl 0x320(%rsp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, 0x1c0(%rsp)
movl 0x320(%rsp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl 0x1c0(%rsp), %eax
movl %edx, %esi
xorl %ecx, %ecx
movl $0x1, %edx
cmpl $0x0, %esi
cmovnel %edx, %ecx
addl %ecx, %eax
movl %eax, 0x1c4(%rsp)
jmp 0x7414d
movl 0x320(%rsp), %eax
imull 0x310(%rsp), %eax
movl $0x8, %ecx
cltd
idivl %ecx
movl %eax, 0x1c4(%rsp)
movl 0x1c4(%rsp), %eax
movl %eax, 0x1cc(%rsp)
movl 0x1cc(%rsp), %eax
movl %eax, 0x308(%rsp)
movl 0x308(%rsp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl $0x4, %eax
subl %edx, %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %edx, 0x304(%rsp)
movl 0x31c(%rsp), %edi
callq 0x756f0
movl 0x308(%rsp), %ecx
addl 0x304(%rsp), %ecx
imull %ecx, %eax
movl %eax, 0x2fc(%rsp)
movl 0x32c(%rsp), %eax
subl 0x328(%rsp), %eax
movl %eax, 0x2f8(%rsp)
leaq 0x2fc(%rsp), %rdi
leaq 0x2f8(%rsp), %rsi
callq 0x756b0
movl %eax, 0x300(%rsp)
leaq 0x2d8(%rsp), %rdi
callq 0x75700
cmpl $0x10, 0x310(%rsp)
jge 0x7421b
cmpl $0x0, 0x314(%rsp)
jne 0x74219
movl 0x310(%rsp), %ecx
movl $0x1, %eax
shll %cl, %eax
movl %eax, 0x314(%rsp)
jmp 0x74226
movl $0x0, 0x314(%rsp)
cmpl $0x0, 0x314(%rsp)
je 0x7428c
movl 0x314(%rsp), %esi
leaq 0x2d8(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x75740
jmp 0x74252
movq 0x2f0(%rsp), %rdi
movslq 0x314(%rsp), %rsi
movq 0x378(%rsp), %rdx
callq 0x75c00
jmp 0x74271
jmp 0x7428c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x754a2
movl 0x328(%rsp), %eax
subl $0xe, %eax
subl 0x324(%rsp), %eax
movl 0x314(%rsp), %ecx
shll $0x2, %ecx
subl %ecx, %eax
movl %eax, 0x2d4(%rsp)
cmpl $0x0, 0x2d4(%rsp)
jle 0x742d8
movq 0x378(%rsp), %rdi
movslq 0x2d4(%rsp), %rsi
movl $0x1, %edx
callq 0x55a0
jmp 0x742d6
jmp 0x742d8
leaq 0x2b0(%rsp), %rdi
callq 0x156b0
jmp 0x742e7
cmpl $0xc00000, 0x300(%rsp) # imm = 0xC00000
jge 0x74350
movl 0x300(%rsp), %esi
leaq 0x2b0(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x199a0
jmp 0x74316
movq 0x2c8(%rsp), %rdi
movslq 0x300(%rsp), %rsi
movq 0x378(%rsp), %rdx
callq 0x754c0
jmp 0x74335
jmp 0x7437d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
jmp 0x75495
movl 0x308(%rsp), %esi
movl 0x304(%rsp), %eax
addl %eax, %esi
leaq 0x2b0(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x199a0
jmp 0x7437b
jmp 0x7437d
leaq 0x2b0(%rsp), %rdi
callq 0x19990
movq %rax, 0x2a8(%rsp)
cmpl $0x0, 0x318(%rsp)
je 0x7452b
cmpq $0x0, 0x398(%rsp)
je 0x744d0
movl $0x4008, %edi           # imm = 0x4008
callq 0x5240
movq %rax, %rcx
movq 0x240(%rsp), %rax
movq %rcx, 0x190(%rsp)
movl (%rax), %ecx
movl %ecx, 0x198(%rsp)
movl 0x4(%rax), %ecx
movl %ecx, 0x19c(%rsp)
movl 0x8(%rax), %ecx
movl %ecx, 0x1a0(%rsp)
movl 0xc(%rax), %ecx
movl %ecx, 0x1a4(%rsp)
movq 0x18(%rax), %rcx
movq %rcx, 0x1a8(%rsp)
movb 0x10(%rax), %dl
leaq 0x745c9(%rip), %rcx     # 0xe89d2
leaq 0x556d1(%rip), %rax     # 0xc9ae1
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x1b0(%rsp)
callq 0x118f0
movq %rax, 0x1b8(%rsp)
jmp 0x7442e
movl 0x1a4(%rsp), %r9d
movl 0x1a0(%rsp), %r8d
movl 0x19c(%rsp), %ecx
movl 0x198(%rsp), %edx
movq 0x190(%rsp), %rdi
movq 0x1a8(%rsp), %rsi
movq 0x1b0(%rsp), %r10
movq 0x1b8(%rsp), %r11
movq %rsp, %rax
movq %r11, 0x10(%rax)
movq %r10, 0x8(%rax)
movq %rsi, (%rax)
leaq 0x751f5(%rip), %rsi     # 0xe9676
xorl %eax, %eax
callq 0x5c880
jmp 0x7448a
movq 0x190(%rsp), %rdi
leaq 0x8b7d7(%rip), %rsi     # 0xffc70
leaq -0x179e0(%rip), %rdx    # 0x5cac0
callq 0x5920
jmp 0x754bc
movq 0x190(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x388(%rsp)
movl %eax, 0x384(%rsp)
callq 0x53a0
jmp 0x75495
cmpq $0x0, 0x398(%rsp)
jne 0x744ec
movq 0x378(%rsp), %rdi
callq 0x5c6f0
jmp 0x744ea
jmp 0x744ec
movq 0x240(%rsp), %rdi
movq 0x390(%rsp), %rsi
callq 0x65ba0
movq %rax, 0x188(%rsp)
jmp 0x7450b
movq 0x188(%rsp), %rax
movq %rax, 0x3a8(%rsp)
movl $0x1, 0x2a4(%rsp)
jmp 0x7546a
movl 0x320(%rsp), %eax
movl %eax, 0x180(%rsp)
movl 0x31c(%rsp), %edi
callq 0x756f0
movl %eax, 0x184(%rsp)
jmp 0x7454e
movl 0x184(%rsp), %edx
movl 0x180(%rsp), %esi
movq 0x240(%rsp), %rdi
movl $0x1, %ecx
movl $0x3, %r8d
callq 0x11900
jmp 0x74576
movl 0x310(%rsp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, 0x178(%rsp)
subl $0x1f, %eax
ja 0x75413
movq 0x178(%rsp), %rax
leaq 0x53e5f(%rip), %rcx     # 0xc8400
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x240(%rsp), %rdi
callq 0x89d0
movl %eax, 0x174(%rsp)
jmp 0x745c0
movl 0x174(%rsp), %eax
subl $0x1, %eax
movl %eax, 0x2a0(%rsp)
cmpl $0x0, 0x2a0(%rsp)
jl 0x7485c
cmpl $0xc00000, 0x300(%rsp) # imm = 0xC00000
jl 0x74631
movq 0x2c8(%rsp), %rdi
movq %rdi, 0x2a8(%rsp)
movslq 0x308(%rsp), %rsi
movq 0x378(%rsp), %rdx
callq 0x754c0
jmp 0x74613
movq 0x378(%rsp), %rdi
movslq 0x304(%rsp), %rsi
movl $0x1, %edx
callq 0x55a0
jmp 0x7462f
jmp 0x74631
movb $-0x80, 0x29f(%rsp)
movb $0x0, 0x29e(%rsp)
movl $0x0, 0x298(%rsp)
movq 0x240(%rsp), %rcx
movl 0x298(%rsp), %eax
cmpl (%rcx), %eax
jge 0x74829
movzbl 0x29f(%rsp), %eax
cmpl $0x80, %eax
jne 0x74692
movq 0x2a8(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x2a8(%rsp)
movb (%rax), %al
movb %al, 0x29e(%rsp)
movq 0x240(%rsp), %rdi
movq 0x2f0(%rsp), %rax
movb 0x29e(%rsp), %cl
movb 0x29f(%rsp), %dl
andb %dl, %cl
testb %cl, %cl
setne %cl
movzbl %cl, %ecx
leaq (%rax,%rcx,4), %rax
movq %rax, 0x290(%rsp)
movq 0x290(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x290(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x160(%rsp)
movl 0x298(%rsp), %esi
movl 0x2a0(%rsp), %edx
movl $0x2, %ecx
callq 0x98f0
movq %rax, 0x168(%rsp)
jmp 0x7470e
movq 0x240(%rsp), %rdi
movq 0x168(%rsp), %rax
movsd 0x160(%rsp), %xmm0
movsd %xmm0, (%rax)
movq 0x290(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x290(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x150(%rsp)
movl 0x298(%rsp), %esi
movl 0x2a0(%rsp), %edx
movl $0x1, %ecx
callq 0x98f0
movq %rax, 0x158(%rsp)
jmp 0x74773
movq 0x240(%rsp), %rdi
movq 0x158(%rsp), %rax
movsd 0x150(%rsp), %xmm0
movsd %xmm0, (%rax)
movq 0x290(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x290(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x140(%rsp)
movl 0x298(%rsp), %esi
movl 0x2a0(%rsp), %edx
xorl %ecx, %ecx
callq 0x98f0
movq %rax, 0x148(%rsp)
jmp 0x747d5
movq 0x148(%rsp), %rax
movsd 0x140(%rsp), %xmm0
movsd %xmm0, (%rax)
movzbl 0x29f(%rsp), %edi
movl $0x1, %esi
callq 0x75e00
movb %al, 0x13f(%rsp)
jmp 0x74805
movb 0x13f(%rsp), %al
movb %al, 0x29f(%rsp)
movl 0x298(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x298(%rsp)
jmp 0x7464c
movl 0x304(%rsp), %ecx
movq 0x2a8(%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x2a8(%rsp)
movl 0x2a0(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x2a0(%rsp)
jmp 0x745d1
jmp 0x75413
movq 0x240(%rsp), %rdi
callq 0x89d0
movl %eax, 0x138(%rsp)
jmp 0x74877
movl 0x138(%rsp), %eax
subl $0x1, %eax
movl %eax, 0x28c(%rsp)
cmpl $0x0, 0x28c(%rsp)
jl 0x74b55
cmpl $0xc00000, 0x300(%rsp) # imm = 0xC00000
jl 0x748e8
movq 0x2c8(%rsp), %rdi
movq %rdi, 0x2a8(%rsp)
movslq 0x308(%rsp), %rsi
movq 0x378(%rsp), %rdx
callq 0x754c0
jmp 0x748ca
movq 0x378(%rsp), %rdi
movslq 0x304(%rsp), %rsi
movl $0x1, %edx
callq 0x55a0
jmp 0x748e6
jmp 0x748e8
movb $-0x10, 0x28b(%rsp)
movb $0x0, 0x28a(%rsp)
movl $0x0, 0x284(%rsp)
movq 0x240(%rsp), %rcx
movl 0x284(%rsp), %eax
cmpl (%rcx), %eax
jge 0x74b22
movzbl 0x28b(%rsp), %eax
cmpl $0xf0, %eax
jne 0x74949
movq 0x2a8(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x2a8(%rsp)
movb (%rax), %al
movb %al, 0x28a(%rsp)
movzbl 0x28b(%rsp), %eax
cmpl $0x10, %eax
jge 0x74971
movzbl 0x28a(%rsp), %eax
movzbl 0x28b(%rsp), %ecx
andl %ecx, %eax
movl %eax, 0x134(%rsp)
jmp 0x7498d
movzbl 0x28a(%rsp), %eax
movzbl 0x28b(%rsp), %ecx
andl %ecx, %eax
sarl $0x4, %eax
movl %eax, 0x134(%rsp)
movq 0x240(%rsp), %rdi
movl 0x134(%rsp), %eax
movb %al, 0x283(%rsp)
movq 0x2f0(%rsp), %rax
movzbl 0x283(%rsp), %ecx
leaq (%rax,%rcx,4), %rax
movq %rax, 0x278(%rsp)
movq 0x278(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x278(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x120(%rsp)
movl 0x284(%rsp), %esi
movl 0x28c(%rsp), %edx
movl $0x2, %ecx
callq 0x98f0
movq %rax, 0x128(%rsp)
jmp 0x74a07
movq 0x240(%rsp), %rdi
movq 0x128(%rsp), %rax
movsd 0x120(%rsp), %xmm0
movsd %xmm0, (%rax)
movq 0x278(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x278(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x110(%rsp)
movl 0x284(%rsp), %esi
movl 0x28c(%rsp), %edx
movl $0x1, %ecx
callq 0x98f0
movq %rax, 0x118(%rsp)
jmp 0x74a6c
movq 0x240(%rsp), %rdi
movq 0x118(%rsp), %rax
movsd 0x110(%rsp), %xmm0
movsd %xmm0, (%rax)
movq 0x278(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x278(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x100(%rsp)
movl 0x284(%rsp), %esi
movl 0x28c(%rsp), %edx
xorl %ecx, %ecx
callq 0x98f0
movq %rax, 0x108(%rsp)
jmp 0x74ace
movq 0x108(%rsp), %rax
movsd 0x100(%rsp), %xmm0
movsd %xmm0, (%rax)
movzbl 0x28b(%rsp), %edi
movl $0x4, %esi
callq 0x75e00
movb %al, 0xff(%rsp)
jmp 0x74afe
movb 0xff(%rsp), %al
movb %al, 0x28b(%rsp)
movl 0x284(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x284(%rsp)
jmp 0x74903
movl 0x304(%rsp), %ecx
movq 0x2a8(%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x2a8(%rsp)
movl 0x28c(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x28c(%rsp)
jmp 0x74888
jmp 0x75413
movq 0x240(%rsp), %rdi
callq 0x89d0
movl %eax, 0xf8(%rsp)
jmp 0x74b70
movl 0xf8(%rsp), %eax
subl $0x1, %eax
movl %eax, 0x274(%rsp)
cmpl $0x0, 0x274(%rsp)
jl 0x74da5
cmpl $0xc00000, 0x300(%rsp) # imm = 0xC00000
jl 0x74be1
movq 0x2c8(%rsp), %rdi
movq %rdi, 0x2a8(%rsp)
movslq 0x308(%rsp), %rsi
movq 0x378(%rsp), %rdx
callq 0x754c0
jmp 0x74bc3
movq 0x378(%rsp), %rdi
movslq 0x304(%rsp), %rsi
movl $0x1, %edx
callq 0x55a0
jmp 0x74bdf
jmp 0x74be1
movl $0x0, 0x270(%rsp)
movq 0x240(%rsp), %rcx
movl 0x270(%rsp), %eax
cmpl (%rcx), %eax
jge 0x74d72
movq 0x240(%rsp), %rdi
movq 0x2f0(%rsp), %rax
movq 0x2a8(%rsp), %rcx
movq %rcx, %rdx
incq %rdx
movq %rdx, 0x2a8(%rsp)
movzbl (%rcx), %ecx
leaq (%rax,%rcx,4), %rax
movq %rax, 0x268(%rsp)
movq 0x268(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x268(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0xe8(%rsp)
movl 0x270(%rsp), %esi
movl 0x274(%rsp), %edx
movl $0x2, %ecx
callq 0x98f0
movq %rax, 0xf0(%rsp)
jmp 0x74c80
movq 0x240(%rsp), %rdi
movq 0xf0(%rsp), %rax
movsd 0xe8(%rsp), %xmm0
movsd %xmm0, (%rax)
movq 0x268(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x268(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0xd8(%rsp)
movl 0x270(%rsp), %esi
movl 0x274(%rsp), %edx
movl $0x1, %ecx
callq 0x98f0
movq %rax, 0xe0(%rsp)
jmp 0x74ce5
movq 0x240(%rsp), %rdi
movq 0xe0(%rsp), %rax
movsd 0xd8(%rsp), %xmm0
movsd %xmm0, (%rax)
movq 0x268(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x268(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0xc8(%rsp)
movl 0x270(%rsp), %esi
movl 0x274(%rsp), %edx
xorl %ecx, %ecx
callq 0x98f0
movq %rax, 0xd0(%rsp)
jmp 0x74d47
movq 0xd0(%rsp), %rax
movsd 0xc8(%rsp), %xmm0
movsd %xmm0, (%rax)
movl 0x270(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x270(%rsp)
jmp 0x74bec
movl 0x304(%rsp), %ecx
movq 0x2a8(%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x2a8(%rsp)
movl 0x274(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x274(%rsp)
jmp 0x74b81
jmp 0x75413
movq 0x240(%rsp), %rdi
callq 0x89d0
movl %eax, 0xc4(%rsp)
jmp 0x74dc0
movl 0xc4(%rsp), %eax
subl $0x1, %eax
movl %eax, 0x264(%rsp)
cmpl $0x0, 0x264(%rsp)
jl 0x74fff
cmpl $0xc00000, 0x300(%rsp) # imm = 0xC00000
jl 0x74e31
movq 0x2c8(%rsp), %rdi
movq %rdi, 0x2a8(%rsp)
movslq 0x308(%rsp), %rsi
movq 0x378(%rsp), %rdx
callq 0x754c0
jmp 0x74e13
movq 0x378(%rsp), %rdi
movslq 0x304(%rsp), %rsi
movl $0x1, %edx
callq 0x55a0
jmp 0x74e2f
jmp 0x74e31
movl $0x0, 0x260(%rsp)
movq 0x240(%rsp), %rcx
movl 0x260(%rsp), %eax
cmpl (%rcx), %eax
jge 0x74fcc
movq 0x240(%rsp), %rdi
movq 0x2a8(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x2a8(%rsp)
movb (%rax), %al
movb %al, 0x25f(%rsp)
movq 0x2a8(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x2a8(%rsp)
movb (%rax), %al
movb %al, 0x25e(%rsp)
movzbl 0x25f(%rsp), %eax
movzbl 0x25e(%rsp), %ecx
shll $0x8, %ecx
orl %ecx, %eax
movw %ax, 0x25c(%rsp)
movzwl 0x25c(%rsp), %eax
andl $0x1f, %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0xb0(%rsp)
movl 0x260(%rsp), %esi
movl 0x264(%rsp), %edx
movl $0x2, %ecx
callq 0x98f0
movq %rax, 0xb8(%rsp)
jmp 0x74ef0
movq 0x240(%rsp), %rdi
movq 0xb8(%rsp), %rax
movsd 0xb0(%rsp), %xmm0
movsd %xmm0, (%rax)
movzwl 0x25c(%rsp), %eax
shrl $0x5, %eax
andl $0x1f, %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0xa0(%rsp)
movl 0x260(%rsp), %esi
movl 0x264(%rsp), %edx
movl $0x1, %ecx
callq 0x98f0
movq %rax, 0xa8(%rsp)
jmp 0x74f4a
movq 0x240(%rsp), %rdi
movq 0xa8(%rsp), %rax
movsd 0xa0(%rsp), %xmm0
movsd %xmm0, (%rax)
movzwl 0x25c(%rsp), %eax
shrl $0xa, %eax
andl $0x1f, %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x90(%rsp)
movl 0x260(%rsp), %esi
movl 0x264(%rsp), %edx
xorl %ecx, %ecx
callq 0x98f0
movq %rax, 0x98(%rsp)
jmp 0x74fa1
movq 0x98(%rsp), %rax
movsd 0x90(%rsp), %xmm0
movsd %xmm0, (%rax)
movl 0x260(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x260(%rsp)
jmp 0x74e3c
movl 0x304(%rsp), %ecx
movq 0x2a8(%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x2a8(%rsp)
movl 0x264(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x264(%rsp)
jmp 0x74dd1
jmp 0x75413
movq 0x240(%rsp), %rdi
callq 0x89d0
movl %eax, 0x8c(%rsp)
jmp 0x7501a
movl 0x8c(%rsp), %eax
subl $0x1, %eax
movl %eax, 0x258(%rsp)
cmpl $0x0, 0x258(%rsp)
jl 0x75204
cmpl $0xc00000, 0x300(%rsp) # imm = 0xC00000
jl 0x7508b
movq 0x2c8(%rsp), %rdi
movq %rdi, 0x2a8(%rsp)
movslq 0x308(%rsp), %rsi
movq 0x378(%rsp), %rdx
callq 0x754c0
jmp 0x7506d
movq 0x378(%rsp), %rdi
movslq 0x304(%rsp), %rsi
movl $0x1, %edx
callq 0x55a0
jmp 0x75089
jmp 0x7508b
movl $0x0, 0x254(%rsp)
movq 0x240(%rsp), %rcx
movl 0x254(%rsp), %eax
cmpl (%rcx), %eax
jge 0x751d1
movq 0x240(%rsp), %rdi
movq 0x2a8(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x2a8(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x78(%rsp)
movl 0x254(%rsp), %esi
movl 0x258(%rsp), %edx
movl $0x2, %ecx
callq 0x98f0
movq %rax, 0x80(%rsp)
jmp 0x750fa
movq 0x240(%rsp), %rdi
movq 0x80(%rsp), %rax
movsd 0x78(%rsp), %xmm0
movsd %xmm0, (%rax)
movq 0x2a8(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x2a8(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x68(%rsp)
movl 0x254(%rsp), %esi
movl 0x258(%rsp), %edx
movl $0x1, %ecx
callq 0x98f0
movq %rax, 0x70(%rsp)
jmp 0x75156
movq 0x240(%rsp), %rdi
movq 0x70(%rsp), %rax
movsd 0x68(%rsp), %xmm0
movsd %xmm0, (%rax)
movq 0x2a8(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x2a8(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x58(%rsp)
movl 0x254(%rsp), %esi
movl 0x258(%rsp), %edx
xorl %ecx, %ecx
callq 0x98f0
movq %rax, 0x60(%rsp)
jmp 0x751ac
movq 0x60(%rsp), %rax
movsd 0x58(%rsp), %xmm0
movsd %xmm0, (%rax)
movl 0x254(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x254(%rsp)
jmp 0x75096
movl 0x304(%rsp), %ecx
movq 0x2a8(%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x2a8(%rsp)
movl 0x258(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x258(%rsp)
jmp 0x7502b
jmp 0x75413
movq 0x240(%rsp), %rdi
callq 0x89d0
movl %eax, 0x54(%rsp)
jmp 0x7521c
movl 0x54(%rsp), %eax
subl $0x1, %eax
movl %eax, 0x250(%rsp)
cmpl $0x0, 0x250(%rsp)
jl 0x75411
cmpl $0xc00000, 0x300(%rsp) # imm = 0xC00000
jl 0x7528a
movq 0x2c8(%rsp), %rdi
movq %rdi, 0x2a8(%rsp)
movslq 0x308(%rsp), %rsi
movq 0x378(%rsp), %rdx
callq 0x754c0
jmp 0x7526c
movq 0x378(%rsp), %rdi
movslq 0x304(%rsp), %rsi
movl $0x1, %edx
callq 0x55a0
jmp 0x75288
jmp 0x7528a
movl $0x0, 0x24c(%rsp)
movq 0x240(%rsp), %rcx
movl 0x24c(%rsp), %eax
cmpl (%rcx), %eax
jge 0x753de
movq 0x240(%rsp), %rdi
movq 0x2a8(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x2a8(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x40(%rsp)
movl 0x24c(%rsp), %esi
movl 0x250(%rsp), %edx
movl $0x2, %ecx
callq 0x98f0
movq %rax, 0x48(%rsp)
jmp 0x752f6
movq 0x240(%rsp), %rdi
movq 0x48(%rsp), %rax
movsd 0x40(%rsp), %xmm0
movsd %xmm0, (%rax)
movq 0x2a8(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x2a8(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x30(%rsp)
movl 0x24c(%rsp), %esi
movl 0x250(%rsp), %edx
movl $0x1, %ecx
callq 0x98f0
movq %rax, 0x38(%rsp)
jmp 0x7534f
movq 0x240(%rsp), %rdi
movq 0x38(%rsp), %rax
movsd 0x30(%rsp), %xmm0
movsd %xmm0, (%rax)
movq 0x2a8(%rsp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, 0x2a8(%rsp)
movzbl (%rax), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x20(%rsp)
movl 0x24c(%rsp), %esi
movl 0x250(%rsp), %edx
xorl %ecx, %ecx
callq 0x98f0
movq %rax, 0x28(%rsp)
jmp 0x753a5
movq 0x28(%rsp), %rax
movsd 0x20(%rsp), %xmm0
movsd %xmm0, (%rax)
movq 0x2a8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x2a8(%rsp)
movl 0x24c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x24c(%rsp)
jmp 0x75295
movl 0x304(%rsp), %ecx
movq 0x2a8(%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, 0x2a8(%rsp)
movl 0x250(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x250(%rsp)
jmp 0x7522a
jmp 0x75413
cmpl $0x0, 0x31c(%rsp)
jge 0x75433
movq 0x240(%rsp), %rdi
movl $0x79, %esi
callq 0x75e50
jmp 0x75431
jmp 0x75433
cmpq $0x0, 0x398(%rsp)
jne 0x7544f
movq 0x378(%rsp), %rdi
callq 0x5c6f0
jmp 0x7544d
jmp 0x7544f
movq 0x240(%rsp), %rax
movq %rax, 0x3a8(%rsp)
movl $0x1, 0x2a4(%rsp)
leaq 0x2b0(%rsp), %rdi
callq 0x15650
leaq 0x2d8(%rsp), %rdi
callq 0x766d0
movq 0x3a8(%rsp), %rax
addq $0x3b0, %rsp            # imm = 0x3B0
popq %rbx
retq
leaq 0x2b0(%rsp), %rdi
callq 0x15650
leaq 0x2d8(%rsp), %rdi
callq 0x766d0
movq 0x388(%rsp), %rdi
callq 0x5970
nopl (%rax)