// File: /workspace/github_cpp_makefile_star2_O2/manikandan5[P]Image-Matching-Stitching-Warping/./CImg.h
// Function: cimg_library::CImg<unsigned int> cimg_library::CImg<unsigned int>::_get_permute_axes<unsigned int>(char const*, unsigned int const&) const
CImg<t> _get_permute_axes(const char *const permut, const t&) const {
      if (is_empty() || !permut) return CImg<t>(*this,false);
      CImg<t> res;
      const T* ptrs = _data;
      if (!cimg::strncasecmp(permut,"xyzc",4)) return +*this;
      if (!cimg::strncasecmp(permut,"xycz",4)) {
        res.assign(_width,_height,_spectrum,_depth);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(x,y,c,z,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"xzyc",4)) {
        res.assign(_width,_depth,_height,_spectrum);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(x,z,y,c,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"xzcy",4)) {
        res.assign(_width,_depth,_spectrum,_height);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(x,z,c,y,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"xcyz",4)) {
        res.assign(_width,_spectrum,_height,_depth);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(x,c,y,z,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"xczy",4)) {
        res.assign(_width,_spectrum,_depth,_height);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(x,c,z,y,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"yxzc",4)) {
        res.assign(_height,_width,_depth,_spectrum);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(y,x,z,c,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"yxcz",4)) {
        res.assign(_height,_width,_spectrum,_depth);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(y,x,c,z,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"yzxc",4)) {
        res.assign(_height,_depth,_width,_spectrum);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(y,z,x,c,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"yzcx",4)) {
        res.assign(_height,_depth,_spectrum,_width);
        switch (_width) {
        case 1 : {
          t *ptr_r = res.data(0,0,0,0);
          for (unsigned int siz = _height*_depth*_spectrum; siz; --siz) {
            *(ptr_r++) = (t)*(ptrs++);
          }
        } break;
        case 2 : {
          t *ptr_r = res.data(0,0,0,0), *ptr_g = res.data(0,0,0,1);
          for (unsigned int siz = _height*_depth*_spectrum; siz; --siz) {
            *(ptr_r++) = (t)*(ptrs++); *(ptr_g++) = (t)*(ptrs++);
          }
        } break;
        case 3 : { // Optimization for the classical conversion from interleaved RGB to planar RGB
          t *ptr_r = res.data(0,0,0,0), *ptr_g = res.data(0,0,0,1), *ptr_b = res.data(0,0,0,2);
          for (unsigned int siz = _height*_depth*_spectrum; siz; --siz) {
            *(ptr_r++) = (t)*(ptrs++); *(ptr_g++) = (t)*(ptrs++); *(ptr_b++) = (t)*(ptrs++);
          }
        } break;
        case 4 : { // Optimization for the classical conversion from interleaved RGBA to planar RGBA
          t *ptr_r = res.data(0,0,0,0), *ptr_g = res.data(0,0,0,1), *ptr_b = res.data(0,0,0,2), *ptr_a = res.data(0,0,0,3);
          for (unsigned int siz = _height*_depth*_spectrum; siz; --siz) {
            *(ptr_r++) = (t)*(ptrs++); *(ptr_g++) = (t)*(ptrs++); *(ptr_b++) = (t)*(ptrs++); *(ptr_a++) = (t)*(ptrs++);
          }
        } break;
        default : {
          const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
          cimg_forXYZC(*this,x,y,z,c) res(y,z,c,x,wh,whd) = *(ptrs++);
          return res;
        }
        }
      }
      if (!cimg::strncasecmp(permut,"ycxz",4)) {
        res.assign(_height,_spectrum,_width,_depth);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(y,c,x,z,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"yczx",4)) {
        res.assign(_height,_spectrum,_depth,_width);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(y,c,z,x,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"zxyc",4)) {
        res.assign(_depth,_width,_height,_spectrum);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(z,x,y,c,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"zxcy",4)) {
        res.assign(_depth,_width,_spectrum,_height);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(z,x,c,y,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"zyxc",4)) {
        res.assign(_depth,_height,_width,_spectrum);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(z,y,x,c,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"zycx",4)) {
        res.assign(_depth,_height,_spectrum,_width);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(z,y,c,x,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"zcxy",4)) {
        res.assign(_depth,_spectrum,_width,_height);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(z,c,x,y,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"zcyx",4)) {
        res.assign(_depth,_spectrum,_height,_width);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(z,c,y,x,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"cxyz",4)) {
        res.assign(_spectrum,_width,_height,_depth);
        switch (_spectrum) {
        case 1 : {
          const T *ptr_r = data(0,0,0,0);
          t *ptrd = res._data;
          for (unsigned long siz = (unsigned long)_width*_height*_depth; siz; --siz) *(ptrd++) = (t)*(ptr_r++);
        } break;
        case 2 : {
          const T *ptr_r = data(0,0,0,0), *ptr_g = data(0,0,0,1);
          t *ptrd = res._data;
          for (unsigned long siz = (unsigned long)_width*_height*_depth; siz; --siz) {
            *(ptrd++) = (t)*(ptr_r++); *(ptrd++) = (t)*(ptr_g++);
          }
        } break;
        case 3 : { // Optimization for the classical conversion from planar RGB to interleaved RGB
          const T *ptr_r = data(0,0,0,0), *ptr_g = data(0,0,0,1), *ptr_b = data(0,0,0,2);
          t *ptrd = res._data;
          for (unsigned long siz = (unsigned long)_width*_height*_depth; siz; --siz) {
            *(ptrd++) = (t)*(ptr_r++); *(ptrd++) = (t)*(ptr_g++); *(ptrd++) = (t)*(ptr_b++);
          }
        } break;
        case 4 : { // Optimization for the classical conversion from planar RGBA to interleaved RGBA
          const T *ptr_r = data(0,0,0,0), *ptr_g = data(0,0,0,1), *ptr_b = data(0,0,0,2), *ptr_a = data(0,0,0,3);
          t *ptrd = res._data;
          for (unsigned long siz = (unsigned long)_width*_height*_depth; siz; --siz) {
            *(ptrd++) = (t)*(ptr_r++); *(ptrd++) = (t)*(ptr_g++); *(ptrd++) = (t)*(ptr_b++); *(ptrd++) = (t)*(ptr_a++);
          }
        } break;
        default : {
          const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
          cimg_forXYZC(*this,x,y,z,c) res(c,x,y,z,wh,whd) = (t)*(ptrs++);
        }
        }
      }
      if (!cimg::strncasecmp(permut,"cxzy",4)) {
        res.assign(_spectrum,_width,_depth,_height);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(c,x,z,y,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"cyxz",4)) {
        res.assign(_spectrum,_height,_width,_depth);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(c,y,x,z,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"cyzx",4)) {
        res.assign(_spectrum,_height,_depth,_width);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(c,y,z,x,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"czxy",4)) {
        res.assign(_spectrum,_depth,_width,_height);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(c,z,x,y,wh,whd) = (t)*(ptrs++);
      }
      if (!cimg::strncasecmp(permut,"czyx",4)) {
        res.assign(_spectrum,_depth,_height,_width);
        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
        cimg_forXYZC(*this,x,y,z,c) res(c,z,y,x,wh,whd) = (t)*(ptrs++);
      }
      if (!res)
        throw CImgArgumentException(_cimg_instance
                                    "permute_axes(): Invalid specified permutation '%s'.",
                                    cimg_instance,
                                    permut);
      return res;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdx, %r15
movq %rsi, %rbx
movq %rdi, %r14
movq %rsi, %rdi
callq 0x263a6
xorb $0x1, %al
testq %r15, %r15
setne %cl
testb %al, %cl
jne 0x27ba1
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x26d68
jmp 0x27e53
andq $0x0, 0x18(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, (%rsp)
movb $0x0, 0x10(%rsp)
movq 0x18(%rbx), %r12
leaq 0x4ca56(%rip), %rsi     # 0x74614
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x27e40
leaq 0x4ca41(%rip), %rsi     # 0x74619
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x27e65
leaq 0x4ca1d(%rip), %rsi     # 0x7460f
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x27f00
leaq 0x4ca12(%rip), %rsi     # 0x7461e
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x27f96
leaq 0x4c9fd(%rip), %rsi     # 0x74623
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x2802f
leaq 0x4c9e8(%rip), %rsi     # 0x74628
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x280c5
leaq 0x4c9d3(%rip), %rsi     # 0x7462d
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x2815e
leaq 0x4c9be(%rip), %rsi     # 0x74632
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x281f9
leaq 0x4c9a9(%rip), %rsi     # 0x74637
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x28294
leaq 0x4c994(%rip), %rsi     # 0x7463c
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x28327
leaq 0x4c97f(%rip), %rsi     # 0x74641
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x28383
leaq 0x4c96a(%rip), %rsi     # 0x74646
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x28416
leaq 0x4c955(%rip), %rsi     # 0x7464b
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x284ad
leaq 0x4c940(%rip), %rsi     # 0x74650
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x28543
leaq 0x4c92b(%rip), %rsi     # 0x74655
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x285dc
leaq 0x4c916(%rip), %rsi     # 0x7465a
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x2866f
leaq 0x4c901(%rip), %rsi     # 0x7465f
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x28706
leaq 0x4c8ec(%rip), %rsi     # 0x74664
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x28797
leaq 0x4c8d7(%rip), %rsi     # 0x74669
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x2882c
leaq 0x4c8c2(%rip), %rsi     # 0x7466e
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x2888e
leaq 0x4c8ad(%rip), %rsi     # 0x74673
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x28927
leaq 0x4c898(%rip), %rsi     # 0x74678
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x289ba
leaq 0x4c883(%rip), %rsi     # 0x7467d
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x28a51
leaq 0x4c86e(%rip), %rsi     # 0x74682
pushq $0x4
popq %rdx
movq %r15, %rdi
callq 0x1b5ab
testl %eax, %eax
je 0x28ae2
cmpq $0x0, 0x18(%rsp)
je 0x28e47
movq %rsp, %rsi
movq %r14, %rdi
callq 0x28ed4
jmp 0x27e4b
movq %r14, %rdi
movq %rbx, %rsi
callq 0x263c8
movq %rsp, %rdi
callq 0x17f44
movq %r14, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl (%rbx), %esi
movl 0x4(%rbx), %edx
movl 0xc(%rbx), %ecx
movl 0x8(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
xorl %edx, %edx
movslq 0xc(%rbx), %rsi
cmpq %rsi, %rdx
jge 0x27beb
movq %rax, %rsi
imulq %rdx, %rsi
shlq $0x2, %rsi
xorl %edi, %edi
movslq 0x8(%rbx), %r8
cmpq %r8, %rdi
jge 0x27efb
movq %rcx, %r8
imulq %rdi, %r8
xorl %r9d, %r9d
cmpl 0x4(%rbx), %r9d
jge 0x27ef6
movq 0x18(%rsp), %r10
addq %rsi, %r10
leaq (%r10,%r8,4), %r10
xorl %r11d, %r11d
cmpl (%rbx), %r11d
jge 0x27ef1
movl (%r12), %ebp
addq $0x4, %r12
movl (%rsp), %r13d
imull %r9d, %r13d
addl %r11d, %r13d
movl %ebp, (%r10,%r13,4)
incl %r11d
jmp 0x27ed0
incl %r9d
jmp 0x27ebb
incq %rdi
jmp 0x27ea8
incq %rdx
jmp 0x27e8e
movl 0x8(%rbx), %edx
movl (%rbx), %esi
movl 0x4(%rbx), %ecx
movl 0xc(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
xorl %edx, %edx
movslq 0xc(%rbx), %rsi
cmpq %rsi, %rdx
jge 0x27c05
movq %rcx, %rsi
imulq %rdx, %rsi
xorl %edi, %edi
cmpl 0x8(%rbx), %edi
jge 0x27f91
xorl %r8d, %r8d
movslq 0x4(%rbx), %r9
cmpq %r9, %r8
jge 0x27f8d
movq %rax, %r9
imulq %r8, %r9
shlq $0x2, %r9
addq 0x18(%rsp), %r9
leaq (%r9,%rsi,4), %r9
xorl %r10d, %r10d
cmpl (%rbx), %r10d
jge 0x27f88
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %edi, %r13d
addl %r10d, %r13d
movl %r11d, (%r9,%r13,4)
incl %r10d
jmp 0x27f67
incq %r8
jmp 0x27f47
incl %edi
jmp 0x27f3f
incq %rdx
jmp 0x27f29
movl 0x8(%rbx), %edx
movl 0xc(%rbx), %ecx
movl (%rbx), %esi
movl 0x4(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
xorl %edx, %edx
movslq 0xc(%rbx), %rsi
cmpq %rsi, %rdx
jge 0x27c1f
movq %rax, %rsi
imulq %rdx, %rsi
xorl %edi, %edi
shlq $0x2, %rsi
cmpl 0x8(%rbx), %edi
jge 0x2802a
xorl %r8d, %r8d
movslq 0x4(%rbx), %r9
cmpq %r9, %r8
jge 0x28026
movq %rcx, %r9
imulq %r8, %r9
movq 0x18(%rsp), %r10
addq %rsi, %r10
leaq (%r10,%r9,4), %r9
xorl %r10d, %r10d
cmpl (%rbx), %r10d
jge 0x28021
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %edi, %r13d
addl %r10d, %r13d
movl %r11d, (%r9,%r13,4)
incl %r10d
jmp 0x28000
incq %r8
jmp 0x27fe1
incl %edi
jmp 0x27fd9
incq %rdx
jmp 0x27fbf
movl 0xc(%rbx), %edx
movl (%rbx), %esi
movl 0x4(%rbx), %ecx
movl 0x8(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
xorl %edx, %edx
cmpl 0xc(%rbx), %edx
jge 0x27c39
xorl %esi, %esi
movslq 0x8(%rbx), %rdi
cmpq %rdi, %rsi
jge 0x280c1
movq %rcx, %rdi
imulq %rsi, %rdi
xorl %r8d, %r8d
movslq 0x4(%rbx), %r9
cmpq %r9, %r8
jge 0x280bc
movq %rax, %r9
imulq %r8, %r9
shlq $0x2, %r9
addq 0x18(%rsp), %r9
leaq (%r9,%rdi,4), %r9
xorl %r10d, %r10d
cmpl (%rbx), %r10d
jge 0x280b7
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %edx, %r13d
addl %r10d, %r13d
movl %r11d, (%r9,%r13,4)
incl %r10d
jmp 0x28096
incq %r8
jmp 0x28076
incq %rsi
jmp 0x28063
incl %edx
jmp 0x28058
movl 0xc(%rbx), %edx
movl 0x8(%rbx), %ecx
movl (%rbx), %esi
movl 0x4(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
xorl %edx, %edx
cmpl 0xc(%rbx), %edx
jge 0x27c53
xorl %esi, %esi
movslq 0x8(%rbx), %rdi
cmpq %rdi, %rsi
jge 0x2815a
movq %rax, %rdi
imulq %rsi, %rdi
shlq $0x2, %rdi
xorl %r8d, %r8d
movslq 0x4(%rbx), %r9
cmpq %r9, %r8
jge 0x28155
movq %rcx, %r9
imulq %r8, %r9
movq 0x18(%rsp), %r10
addq %rdi, %r10
leaq (%r10,%r9,4), %r9
xorl %r10d, %r10d
cmpl (%rbx), %r10d
jge 0x28150
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %edx, %r13d
addl %r10d, %r13d
movl %r11d, (%r9,%r13,4)
incl %r10d
jmp 0x2812f
incq %r8
jmp 0x28110
incq %rsi
jmp 0x280f9
incl %edx
jmp 0x280ee
movl (%rbx), %edx
movl 0x4(%rbx), %esi
movl 0x8(%rbx), %ecx
movl 0xc(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
xorl %edx, %edx
movslq 0xc(%rbx), %rsi
cmpq %rsi, %rdx
jge 0x27c6d
movq %rcx, %rsi
imulq %rdx, %rsi
xorl %edi, %edi
movslq 0x8(%rbx), %r8
cmpq %r8, %rdi
jge 0x281f4
movq %rax, %r8
imulq %rdi, %r8
xorl %r9d, %r9d
shlq $0x2, %r8
cmpl 0x4(%rbx), %r9d
jge 0x281ef
movq 0x18(%rsp), %r10
addq %r8, %r10
leaq (%r10,%rsi,4), %r10
xorl %r11d, %r11d
cmpl (%rbx), %r11d
jge 0x281ea
movl (%r12), %ebp
addq $0x4, %r12
movl (%rsp), %r13d
imull %r11d, %r13d
addl %r9d, %r13d
movl %ebp, (%r10,%r13,4)
incl %r11d
jmp 0x281c9
incl %r9d
jmp 0x281b4
incq %rdi
jmp 0x2819d
incq %rdx
jmp 0x28187
movl (%rbx), %edx
movl 0x4(%rbx), %esi
movl 0xc(%rbx), %ecx
movl 0x8(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
xorl %edx, %edx
movslq 0xc(%rbx), %rsi
cmpq %rsi, %rdx
jge 0x27c87
movq %rax, %rsi
imulq %rdx, %rsi
shlq $0x2, %rsi
xorl %edi, %edi
movslq 0x8(%rbx), %r8
cmpq %r8, %rdi
jge 0x2828f
movq %rcx, %r8
imulq %rdi, %r8
xorl %r9d, %r9d
cmpl 0x4(%rbx), %r9d
jge 0x2828a
movq 0x18(%rsp), %r10
addq %rsi, %r10
leaq (%r10,%r8,4), %r10
xorl %r11d, %r11d
cmpl (%rbx), %r11d
jge 0x28285
movl (%r12), %ebp
addq $0x4, %r12
movl (%rsp), %r13d
imull %r11d, %r13d
addl %r9d, %r13d
movl %ebp, (%r10,%r13,4)
incl %r11d
jmp 0x28264
incl %r9d
jmp 0x2824f
incq %rdi
jmp 0x2823c
incq %rdx
jmp 0x28222
movl (%rbx), %ecx
movl 0x4(%rbx), %esi
movl 0x8(%rbx), %edx
movl 0xc(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
shlq $0x2, %rcx
shlq $0x2, %rax
xorl %edx, %edx
xorl %esi, %esi
movslq 0xc(%rbx), %rdi
cmpq %rdi, %rsi
jge 0x27ca1
xorl %edi, %edi
cmpl 0x8(%rbx), %edi
jge 0x2831f
xorl %r8d, %r8d
cmpl 0x4(%rbx), %r8d
jge 0x2831b
movq 0x18(%rsp), %r9
addq %rdx, %r9
xorl %r10d, %r10d
movslq (%rbx), %r11
cmpq %r11, %r10
jge 0x28316
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %edi, %r13d
addl %r8d, %r13d
movl %r11d, (%r9,%r13,4)
incq %r10
addq %rax, %r9
jmp 0x282ef
incl %r8d
jmp 0x282de
incl %edi
jmp 0x282d6
incq %rsi
addq %rcx, %rdx
jmp 0x282c7
movl (%rbx), %r8d
movl 0x4(%rbx), %esi
movl 0x8(%rbx), %edx
movl 0xc(%rbx), %ecx
movq %rsp, %rdi
callq 0x27894
movl (%rbx), %ecx
leal -0x1(%rcx), %eax
cmpl $0x3, %eax
ja 0x28c5f
leaq 0x2c354(%rip), %rcx     # 0x546a4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0x8(%rbx), %eax
imull 0x4(%rbx), %eax
movq 0x18(%rsp), %rcx
imull 0xc(%rbx), %eax
xorl %edx, %edx
cmpl %edx, %eax
je 0x27cbb
movl (%r12), %esi
addq $0x4, %r12
movl %esi, (%rcx,%rdx,4)
incq %rdx
jmp 0x2836b
movl (%rbx), %ecx
movl 0x4(%rbx), %esi
movl 0xc(%rbx), %edx
movl 0x8(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
shlq $0x2, %rcx
shlq $0x2, %rax
xorl %edx, %edx
cmpl 0xc(%rbx), %edx
jge 0x27cd5
xorl %esi, %esi
xorl %edi, %edi
movslq 0x8(%rbx), %r8
cmpq %r8, %rdi
jge 0x28412
xorl %r8d, %r8d
cmpl 0x4(%rbx), %r8d
jge 0x2840a
movq 0x18(%rsp), %r9
addq %rsi, %r9
xorl %r10d, %r10d
movslq (%rbx), %r11
cmpq %r11, %r10
jge 0x28405
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %edx, %r13d
addl %r8d, %r13d
movl %r11d, (%r9,%r13,4)
incq %r10
addq %rax, %r9
jmp 0x283de
incl %r8d
jmp 0x283cd
incq %rdi
addq %rcx, %rsi
jmp 0x283c1
incl %edx
jmp 0x283b4
movl (%rbx), %r8d
movl 0x4(%rbx), %esi
movl 0xc(%rbx), %edx
movl 0x8(%rbx), %ecx
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %eax
movl 0x4(%rsp), %edx
imulq %rax, %rdx
movl 0x8(%rsp), %eax
leaq (,%rdx,4), %rcx
imulq %rdx, %rax
shlq $0x2, %rax
xorl %edx, %edx
cmpl 0xc(%rbx), %edx
jge 0x27cef
xorl %esi, %esi
xorl %edi, %edi
movslq 0x8(%rbx), %r8
cmpq %r8, %rdi
jge 0x284a9
xorl %r8d, %r8d
cmpl 0x4(%rbx), %r8d
jge 0x284a1
movq 0x18(%rsp), %r9
addq %rsi, %r9
xorl %r10d, %r10d
movslq (%rbx), %r11
cmpq %r11, %r10
jge 0x2849c
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %edx, %r13d
addl %r8d, %r13d
movl %r11d, (%r9,%r13,4)
incq %r10
addq %rax, %r9
jmp 0x28475
incl %r8d
jmp 0x28464
incq %rdi
addq %rcx, %rsi
jmp 0x28458
incl %edx
jmp 0x2844b
movl 0x8(%rbx), %esi
movl (%rbx), %edx
movl 0x4(%rbx), %ecx
movl 0xc(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
xorl %edx, %edx
movslq 0xc(%rbx), %rsi
cmpq %rsi, %rdx
jge 0x27d09
movq %rcx, %rsi
imulq %rdx, %rsi
xorl %edi, %edi
cmpl 0x8(%rbx), %edi
jge 0x2853e
xorl %r8d, %r8d
movslq 0x4(%rbx), %r9
cmpq %r9, %r8
jge 0x2853a
movq %rax, %r9
imulq %r8, %r9
shlq $0x2, %r9
addq 0x18(%rsp), %r9
leaq (%r9,%rsi,4), %r9
xorl %r10d, %r10d
cmpl (%rbx), %r10d
jge 0x28535
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %r10d, %r13d
addl %edi, %r13d
movl %r11d, (%r9,%r13,4)
incl %r10d
jmp 0x28514
incq %r8
jmp 0x284f4
incl %edi
jmp 0x284ec
incq %rdx
jmp 0x284d6
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %ecx
movl (%rbx), %edx
movl 0x4(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
xorl %edx, %edx
movslq 0xc(%rbx), %rsi
cmpq %rsi, %rdx
jge 0x27d23
movq %rax, %rsi
imulq %rdx, %rsi
xorl %edi, %edi
shlq $0x2, %rsi
cmpl 0x8(%rbx), %edi
jge 0x285d7
xorl %r8d, %r8d
movslq 0x4(%rbx), %r9
cmpq %r9, %r8
jge 0x285d3
movq %rcx, %r9
imulq %r8, %r9
movq 0x18(%rsp), %r10
addq %rsi, %r10
leaq (%r10,%r9,4), %r9
xorl %r10d, %r10d
cmpl (%rbx), %r10d
jge 0x285ce
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %r10d, %r13d
addl %edi, %r13d
movl %r11d, (%r9,%r13,4)
incl %r10d
jmp 0x285ad
incq %r8
jmp 0x2858e
incl %edi
jmp 0x28586
incq %rdx
jmp 0x2856c
movl 0x8(%rbx), %esi
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
movl 0xc(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
shlq $0x2, %rcx
shlq $0x2, %rax
xorl %edx, %edx
xorl %esi, %esi
movslq 0xc(%rbx), %rdi
cmpq %rdi, %rsi
jge 0x27d3d
xorl %edi, %edi
cmpl 0x8(%rbx), %edi
jge 0x28667
xorl %r8d, %r8d
cmpl 0x4(%rbx), %r8d
jge 0x28663
movq 0x18(%rsp), %r9
addq %rdx, %r9
xorl %r10d, %r10d
movslq (%rbx), %r11
cmpq %r11, %r10
jge 0x2865e
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %r8d, %r13d
addl %edi, %r13d
movl %r11d, (%r9,%r13,4)
incq %r10
addq %rax, %r9
jmp 0x28637
incl %r8d
jmp 0x28626
incl %edi
jmp 0x2861e
incq %rsi
addq %rcx, %rdx
jmp 0x2860f
movl 0x8(%rbx), %esi
movl (%rbx), %r8d
movl 0x4(%rbx), %edx
movl 0xc(%rbx), %ecx
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %eax
movl 0x4(%rsp), %edx
imulq %rax, %rdx
movl 0x8(%rsp), %eax
leaq (,%rdx,4), %rcx
imulq %rdx, %rax
shlq $0x2, %rax
xorl %edx, %edx
xorl %esi, %esi
movslq 0xc(%rbx), %rdi
cmpq %rdi, %rsi
jge 0x27d57
xorl %edi, %edi
cmpl 0x8(%rbx), %edi
jge 0x286fe
xorl %r8d, %r8d
cmpl 0x4(%rbx), %r8d
jge 0x286fa
movq 0x18(%rsp), %r9
addq %rdx, %r9
xorl %r10d, %r10d
movslq (%rbx), %r11
cmpq %r11, %r10
jge 0x286f5
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %r8d, %r13d
addl %edi, %r13d
movl %r11d, (%r9,%r13,4)
incq %r10
addq %rax, %r9
jmp 0x286ce
incl %r8d
jmp 0x286bd
incl %edi
jmp 0x286b5
incq %rsi
addq %rcx, %rdx
jmp 0x286a6
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %edx
movl (%rbx), %ecx
movl 0x4(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
shlq $0x2, %rcx
shlq $0x2, %rax
xorl %edx, %edx
cmpl 0xc(%rbx), %edx
jge 0x27d71
xorl %esi, %esi
cmpl 0x8(%rbx), %esi
jge 0x28793
xorl %edi, %edi
xorl %r8d, %r8d
movslq 0x4(%rbx), %r9
cmpq %r9, %r8
jge 0x2878f
movq 0x18(%rsp), %r9
addq %rdi, %r9
xorl %r10d, %r10d
movslq (%rbx), %r11
cmpq %r11, %r10
jge 0x28787
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %edx, %r13d
addl %esi, %r13d
movl %r11d, (%r9,%r13,4)
incq %r10
addq %rax, %r9
jmp 0x28760
incq %r8
addq %rcx, %rdi
jmp 0x2874c
incl %esi
jmp 0x28742
incl %edx
jmp 0x28737
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %edx
movl (%rbx), %r8d
movl 0x4(%rbx), %ecx
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %eax
movl 0x4(%rsp), %edx
imulq %rax, %rdx
movl 0x8(%rsp), %eax
leaq (,%rdx,4), %rcx
imulq %rdx, %rax
shlq $0x2, %rax
xorl %edx, %edx
cmpl 0xc(%rbx), %edx
jge 0x27d8b
xorl %esi, %esi
cmpl 0x8(%rbx), %esi
jge 0x28828
xorl %edi, %edi
xorl %r8d, %r8d
movslq 0x4(%rbx), %r9
cmpq %r9, %r8
jge 0x28824
movq 0x18(%rsp), %r9
addq %rdi, %r9
xorl %r10d, %r10d
movslq (%rbx), %r11
cmpq %r11, %r10
jge 0x2881c
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %edx, %r13d
addl %esi, %r13d
movl %r11d, (%r9,%r13,4)
incq %r10
addq %rax, %r9
jmp 0x287f5
incq %r8
addq %rcx, %rdi
jmp 0x287e1
incl %esi
jmp 0x287d7
incl %edx
jmp 0x287cc
movl 0xc(%rbx), %esi
movl (%rbx), %edx
movl 0x4(%rbx), %ecx
movl 0x8(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl 0xc(%rbx), %esi
leal -0x1(%rsi), %eax
cmpl $0x3, %eax
ja 0x28dc3
leaq 0x2be5e(%rip), %rcx     # 0x546b4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %ecx
imulq %rdx, %rcx
movq 0x18(%rsp), %rdx
xorl %esi, %esi
cmpq %rsi, %rcx
je 0x27da5
movl (%rax,%rsi,4), %edi
movl %edi, (%rdx,%rsi,4)
incq %rsi
jmp 0x2887a
movl 0xc(%rbx), %esi
movl 0x8(%rbx), %ecx
movl (%rbx), %edx
movl 0x4(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
xorl %edx, %edx
cmpl 0xc(%rbx), %edx
jge 0x27dbf
xorl %esi, %esi
movslq 0x8(%rbx), %rdi
cmpq %rdi, %rsi
jge 0x28923
movq %rax, %rdi
imulq %rsi, %rdi
shlq $0x2, %rdi
xorl %r8d, %r8d
movslq 0x4(%rbx), %r9
cmpq %r9, %r8
jge 0x2891e
movq %rcx, %r9
imulq %r8, %r9
movq 0x18(%rsp), %r10
addq %rdi, %r10
leaq (%r10,%r9,4), %r9
xorl %r10d, %r10d
cmpl (%rbx), %r10d
jge 0x28919
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %r10d, %r13d
addl %edx, %r13d
movl %r11d, (%r9,%r13,4)
incl %r10d
jmp 0x288f8
incq %r8
jmp 0x288d9
incq %rsi
jmp 0x288c2
incl %edx
jmp 0x288b7
movl 0xc(%rbx), %esi
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
movl 0x8(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
shlq $0x2, %rcx
shlq $0x2, %rax
xorl %edx, %edx
cmpl 0xc(%rbx), %edx
jge 0x27dd9
xorl %esi, %esi
xorl %edi, %edi
movslq 0x8(%rbx), %r8
cmpq %r8, %rdi
jge 0x289b6
xorl %r8d, %r8d
cmpl 0x4(%rbx), %r8d
jge 0x289ae
movq 0x18(%rsp), %r9
addq %rsi, %r9
xorl %r10d, %r10d
movslq (%rbx), %r11
cmpq %r11, %r10
jge 0x289a9
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %r8d, %r13d
addl %edx, %r13d
movl %r11d, (%r9,%r13,4)
incq %r10
addq %rax, %r9
jmp 0x28982
incl %r8d
jmp 0x28971
incq %rdi
addq %rcx, %rsi
jmp 0x28965
incl %edx
jmp 0x28958
movl 0xc(%rbx), %esi
movl (%rbx), %r8d
movl 0x4(%rbx), %edx
movl 0x8(%rbx), %ecx
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %eax
movl 0x4(%rsp), %edx
imulq %rax, %rdx
movl 0x8(%rsp), %eax
leaq (,%rdx,4), %rcx
imulq %rdx, %rax
shlq $0x2, %rax
xorl %edx, %edx
cmpl 0xc(%rbx), %edx
jge 0x27df3
xorl %esi, %esi
xorl %edi, %edi
movslq 0x8(%rbx), %r8
cmpq %r8, %rdi
jge 0x28a4d
xorl %r8d, %r8d
cmpl 0x4(%rbx), %r8d
jge 0x28a45
movq 0x18(%rsp), %r9
addq %rsi, %r9
xorl %r10d, %r10d
movslq (%rbx), %r11
cmpq %r11, %r10
jge 0x28a40
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %r8d, %r13d
addl %edx, %r13d
movl %r11d, (%r9,%r13,4)
incq %r10
addq %rax, %r9
jmp 0x28a19
incl %r8d
jmp 0x28a08
incq %rdi
addq %rcx, %rsi
jmp 0x289fc
incl %edx
jmp 0x289ef
movl 0xc(%rbx), %esi
movl 0x8(%rbx), %edx
movl (%rbx), %ecx
movl 0x4(%rbx), %r8d
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
shlq $0x2, %rcx
shlq $0x2, %rax
xorl %edx, %edx
cmpl 0xc(%rbx), %edx
jge 0x27e0d
xorl %esi, %esi
cmpl 0x8(%rbx), %esi
jge 0x28ade
xorl %edi, %edi
xorl %r8d, %r8d
movslq 0x4(%rbx), %r9
cmpq %r9, %r8
jge 0x28ada
movq 0x18(%rsp), %r9
addq %rdi, %r9
xorl %r10d, %r10d
movslq (%rbx), %r11
cmpq %r11, %r10
jge 0x28ad2
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %esi, %r13d
addl %edx, %r13d
movl %r11d, (%r9,%r13,4)
incq %r10
addq %rax, %r9
jmp 0x28aab
incq %r8
addq %rcx, %rdi
jmp 0x28a97
incl %esi
jmp 0x28a8d
incl %edx
jmp 0x28a82
movl 0xc(%rbx), %esi
movl 0x8(%rbx), %edx
movl (%rbx), %r8d
movl 0x4(%rbx), %ecx
movq %rsp, %rdi
callq 0x27894
movl (%rsp), %eax
movl 0x4(%rsp), %edx
imulq %rax, %rdx
movl 0x8(%rsp), %eax
leaq (,%rdx,4), %rcx
imulq %rdx, %rax
shlq $0x2, %rax
xorl %edx, %edx
cmpl 0xc(%rbx), %edx
jge 0x27e27
xorl %esi, %esi
cmpl 0x8(%rbx), %esi
jge 0x28b73
xorl %edi, %edi
xorl %r8d, %r8d
movslq 0x4(%rbx), %r9
cmpq %r9, %r8
jge 0x28b6f
movq 0x18(%rsp), %r9
addq %rdi, %r9
xorl %r10d, %r10d
movslq (%rbx), %r11
cmpq %r11, %r10
jge 0x28b67
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %esi, %r13d
addl %edx, %r13d
movl %r11d, (%r9,%r13,4)
incq %r10
addq %rax, %r9
jmp 0x28b40
incq %r8
addq %rcx, %rdi
jmp 0x28b2c
incl %esi
jmp 0x28b22
incl %edx
jmp 0x28b17
movq 0x18(%rsp), %rax
movl (%rsp), %ecx
movl 0x4(%rsp), %esi
imulq %rcx, %rsi
movl 0x8(%rbx), %ecx
imull 0x4(%rbx), %ecx
movl 0x8(%rsp), %edx
imull 0xc(%rbx), %ecx
imulq %rsi, %rdx
subl $0x1, %ecx
jb 0x27cbb
movl (%r12), %esi
movl %esi, (%rax)
movl 0x4(%r12), %esi
movl %esi, (%rax,%rdx,4)
movl 0x8(%r12), %esi
movl %esi, (%rax,%rdx,8)
addq $0x4, %rax
addq $0xc, %r12
jmp 0x28b9a
movq 0x18(%rsp), %rax
movl (%rsp), %ecx
movl 0x4(%rsp), %edx
imulq %rcx, %rdx
movl 0x8(%rsp), %ecx
imulq %rdx, %rcx
imulq $0xc, %rcx, %rdx
movl 0x8(%rbx), %esi
imull 0x4(%rbx), %esi
imull 0xc(%rbx), %esi
subl $0x1, %esi
jb 0x27cbb
movl (%r12), %edi
movl %edi, (%rax)
movl 0x4(%r12), %edi
movl %edi, (%rax,%rcx,4)
movl 0x8(%r12), %edi
movl %edi, (%rax,%rcx,8)
movl 0xc(%r12), %edi
movl %edi, (%rax,%rdx)
addq $0x4, %rax
addq $0x10, %r12
jmp 0x28bea
movq 0x18(%rsp), %rax
movl (%rsp), %ecx
movl 0x4(%rsp), %esi
imulq %rcx, %rsi
movl 0x8(%rbx), %ecx
imull 0x4(%rbx), %ecx
movl 0x8(%rsp), %edx
imull 0xc(%rbx), %ecx
imulq %rsi, %rdx
subl $0x1, %ecx
jb 0x27cbb
movl (%r12), %esi
movl %esi, (%rax)
movl 0x4(%r12), %esi
movl %esi, (%rax,%rdx,4)
addq $0x4, %rax
addq $0x8, %r12
jmp 0x28c3e
movl (%rsp), %eax
movl 0x4(%rsp), %esi
imulq %rax, %rsi
movl 0x8(%rsp), %eax
leaq (,%rsi,4), %rdx
imulq %rsi, %rax
shlq $0x2, %rax
xorl %esi, %esi
xorl %edi, %edi
movslq 0xc(%rbx), %r8
cmpq %r8, %rdi
jge 0x28ce3
xorl %r8d, %r8d
cmpl 0x8(%rbx), %r8d
jge 0x28cdb
xorl %r9d, %r9d
cmpl 0x4(%rbx), %r9d
jge 0x28cd6
movq 0x18(%rsp), %r10
addq %rsi, %r10
xorl %r11d, %r11d
movslq %ecx, %r15
cmpq %r15, %r11
jge 0x28cd1
movl (%r12), %ecx
addq $0x4, %r12
movl (%rsp), %r15d
imull %r8d, %r15d
addl %r9d, %r15d
movl %ecx, (%r10,%r15,4)
incq %r11
movl (%rbx), %ecx
addq %rax, %r10
jmp 0x28ca8
incl %r9d
jmp 0x28c97
incl %r8d
jmp 0x28c8e
incq %rdi
addq %rdx, %rsi
jmp 0x28c82
movq %rsp, %rsi
movq %r14, %rdi
callq 0x28ed4
jmp 0x27e4b
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %ecx
imulq %rdx, %rcx
movq 0x18(%rsp), %rdx
movq %rcx, %rsi
subq $0x1, %rsi
jb 0x27da5
movl (%rax), %edi
movl %edi, (%rdx)
movl (%rax,%rcx,4), %edi
movl %edi, 0x4(%rdx)
movl (%rax,%rcx,8), %edi
addq $0x4, %rax
movl %edi, 0x8(%rdx)
addq $0xc, %rdx
jmp 0x28d0f
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %ecx
imulq %rdx, %rcx
imulq $0xc, %rcx, %rdx
movq 0x18(%rsp), %rsi
movq %rcx, %rdi
subq $0x1, %rdi
jb 0x27da5
movl (%rax), %r8d
movl %r8d, (%rsi)
movl (%rax,%rcx,4), %r8d
movl %r8d, 0x4(%rsi)
movl (%rax,%rcx,8), %r8d
movl %r8d, 0x8(%rsi)
movl (%rax,%rdx), %r8d
addq $0x4, %rax
movl %r8d, 0xc(%rsi)
addq $0x10, %rsi
jmp 0x28d53
movq 0x18(%rbx), %rax
movl (%rbx), %ecx
movl 0x4(%rbx), %edx
imulq %rcx, %rdx
movl 0x8(%rbx), %ecx
imulq %rdx, %rcx
movq 0x18(%rsp), %rdx
leaq (%rax,%rcx,4), %rsi
xorl %edi, %edi
cmpq %rdi, %rcx
je 0x27da5
movl (%rax,%rdi,4), %r8d
movl %r8d, (%rdx,%rdi,8)
movl (%rsi,%rdi,4), %r8d
movl %r8d, 0x4(%rdx,%rdi,8)
incq %rdi
jmp 0x28da4
movl (%rsp), %ecx
movl 0x4(%rsp), %eax
imulq %rcx, %rax
movl 0x8(%rsp), %ecx
imulq %rax, %rcx
xorl %edx, %edx
cmpl %esi, %edx
jge 0x27da5
xorl %esi, %esi
movslq 0x8(%rbx), %rdi
cmpq %rdi, %rsi
jge 0x28e40
movq %rcx, %rdi
imulq %rsi, %rdi
xorl %r8d, %r8d
movslq 0x4(%rbx), %r9
cmpq %r9, %r8
jge 0x28e3b
movq %rax, %r9
imulq %r8, %r9
shlq $0x2, %r9
addq 0x18(%rsp), %r9
leaq (%r9,%rdi,4), %r9
xorl %r10d, %r10d
cmpl (%rbx), %r10d
jge 0x28e36
movl (%r12), %r11d
addq $0x4, %r12
movl (%rsp), %r13d
imull %r10d, %r13d
addl %edx, %r13d
movl %r11d, (%r9,%r13,4)
incl %r10d
jmp 0x28e15
incq %r8
jmp 0x28df5
incq %rsi
jmp 0x28de2
incl %edx
movl 0xc(%rbx), %esi
jmp 0x28dd8
movl $0x4008, %edi           # imm = 0x4008
callq 0x4210
movq %rax, %r14
movl (%rbx), %edx
movl 0x4(%rbx), %ecx
movl 0x8(%rbx), %r8d
movl 0xc(%rbx), %r9d
leaq 0x2b980(%rip), %rax     # 0x547e8
leaq 0x2cd53(%rip), %r10     # 0x55bc2
cmpb $0x0, 0x10(%rbx)
cmovneq %rax, %r10
leaq 0x4b6d3(%rip), %r11     # 0x74551
leaq 0x4b802(%rip), %rsi     # 0x74687
movq %r14, %rdi
xorl %eax, %eax
pushq %r15
pushq %r11
pushq %r10
pushq 0x18(%rbx)
callq 0x9d52
addq $0x20, %rsp
leaq 0x66dbd(%rip), %rsi     # 0x8fc60
movq 0x6712e(%rip), %rdx     # 0x8ffd8
movq %r14, %rdi
callq 0x4910
jmp 0x28ec1
movq %rax, %rbx
movq %r14, %rdi
callq 0x4390
jmp 0x28ec4
movq %rax, %rbx
movq %rsp, %rdi
callq 0x17f44
movq %rbx, %rdi
callq 0x4950