// File: /workspace/github_cpp_makefile_star2_O2/manikandan5[P]Image-Matching-Stitching-Warping/./CImg.h
// Function: cimg_library::CImg<double>::_load_inr(_IO_FILE*, char const*, float*)
CImg<T>& _load_inr(std::FILE *const file, const char *const filename, float *const voxel_size) {
#define _cimg_load_inr_case(Tf,sign,pixsize,Ts) \
     if (!loaded && fopt[6]==pixsize && fopt[4]==Tf && fopt[5]==sign) { \
        Ts *xval, *const val = new Ts[fopt[0]*fopt[3]]; \
        cimg_forYZ(*this,y,z) { \
            cimg::fread(val,fopt[0]*fopt[3],nfile); \
            if (fopt[7]!=endian) cimg::invert_endianness(val,fopt[0]*fopt[3]); \
            xval = val; cimg_forX(*this,x) cimg_forC(*this,c) (*this)(x,y,z,c) = (T)*(xval++); \
          } \
        delete[] val; \
        loaded = true; \
      }

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

      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
      int fopt[8], endian=cimg::endianness()?1:0;
      bool loaded = false;
      if (voxel_size) voxel_size[0] = voxel_size[1] = voxel_size[2] = 1;
      _load_inr_header(nfile,fopt,voxel_size);
      assign(fopt[0],fopt[1],fopt[2],fopt[3]);
      _cimg_load_inr_case(0,0,8,unsigned char);
      _cimg_load_inr_case(0,1,8,char);
      _cimg_load_inr_case(0,0,16,unsigned short);
      _cimg_load_inr_case(0,1,16,short);
      _cimg_load_inr_case(0,0,32,unsigned int);
      _cimg_load_inr_case(0,1,32,int);
      _cimg_load_inr_case(1,0,32,float);
      _cimg_load_inr_case(1,1,32,float);
      _cimg_load_inr_case(1,0,64,double);
      _cimg_load_inr_case(1,1,64,double);
      if (!loaded) {
        if (!file) cimg::fclose(nfile);
        throw CImgIOException(_cimg_instance
                              "load_inr(): Unknown pixel type defined in file '%s'.",
                              cimg_instance,
                              filename?filename:"(FILE*)");
      }
      if (!file) cimg::fclose(nfile);
      return *this;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %rdi, %rbx
movq %rsi, %rax
orq %rdx, %rax
je 0x3cc50
movq %rcx, %r13
movq %rdx, %r14
movq %rsi, 0x38(%rsp)
testq %rsi, %rsi
movq %rsi, 0x48(%rsp)
jne 0x3be00
leaq 0x39448(%rip), %rsi     # 0x7523b
movq %r14, %rdi
callq 0x2dca5
movq %rax, 0x38(%rsp)
movq %r14, 0x50(%rsp)
testq %r13, %r13
je 0x3be20
movl $0x3f800000, 0x8(%r13)  # imm = 0x3F800000
movsd 0x18376(%rip), %xmm0    # 0x54190
movsd %xmm0, (%r13)
leaq 0x10(%rsp), %rbp
movq 0x38(%rsp), %rdi
movq %rbp, %rsi
movq %r13, %rdx
callq 0x3ccd2
movl (%rbp), %esi
movl 0x4(%rbp), %edx
movl 0x8(%rbp), %ecx
movl 0xc(%rbp), %r8d
movq %rbx, %rdi
callq 0x988e
movl 0x18(%rbp), %eax
movl %eax, %esi
xorl $0x8, %esi
movl 0x10(%rbp), %ecx
movl 0x14(%rbp), %edx
orl %ecx, %esi
xorl %r9d, %r9d
orl %edx, %esi
pushq $-0x1
popq %r10
jne 0x3bf85
movl 0x1c(%rsp), %eax
imull 0x10(%rsp), %eax
testl %eax, %eax
cmovsl %r10d, %eax
movslq %eax, %rdi
callq 0x4040
movq %rax, %r13
movq $0x0, 0x8(%rsp)
xorl %ecx, %ecx
movslq 0x8(%rbx), %rax
cmpq %rax, %rcx
jge 0x3bf6a
movq %rcx, 0x40(%rsp)
xorl %ebp, %ebp
xorl %r12d, %r12d
movslq 0x4(%rbx), %rax
cmpq %rax, %r12
jge 0x3bf57
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
movq 0x38(%rsp), %rdx
callq 0x36072
movl (%rbx), %eax
movl 0xc(%rbx), %ecx
testl %ecx, %ecx
movl $0x0, %edx
cmovlel %edx, %ecx
testl %eax, %eax
movl $0x0, %edx
cmovgl %eax, %edx
movq %rbp, %rsi
imulq %rax, %rsi
movq 0x8(%rsp), %rdi
imulq %rax, %rdi
shlq $0x3, %rax
xorl %r8d, %r8d
movq %r13, %r9
cmpq %rdx, %r8
je 0x3bf4b
movl 0x4(%rbx), %r10d
movq %rdi, %r11
imulq %r10, %r11
addq %rsi, %r11
addq 0x18(%rbx), %r11
movl 0x8(%rbx), %r15d
imulq %rax, %r10
imulq %r15, %r10
movq %rcx, %r15
subq $0x1, %r15
jb 0x3bf42
movzbl (%r9), %r14d
incq %r9
cvtsi2sd %r14d, %xmm0
movsd %xmm0, (%r11)
addq %r10, %r11
jmp 0x3bf26
incq %r8
addq $0x8, %rsi
jmp 0x3bf00
incq %r12
addq $0x8, %rbp
jmp 0x3bea5
movq 0x40(%rsp), %rcx
incq %rcx
addq $0x8, 0x8(%rsp)
jmp 0x3be8e
movq %r13, %rdi
callq 0x4670
movl 0x28(%rsp), %eax
movl 0x20(%rsp), %ecx
movl 0x24(%rsp), %edx
movb $0x1, %r9b
pushq $-0x1
popq %r10
movl %r9d, %esi
notb %sil
cmpl $0x8, %eax
sete %dil
andb %sil, %dil
testl %ecx, %ecx
sete %sil
cmpl $0x1, %edx
sete %r8b
andb %sil, %r8b
andb %dil, %r8b
cmpb $0x1, %r8b
jne 0x3c0ca
movl 0x1c(%rsp), %eax
imull 0x10(%rsp), %eax
testl %eax, %eax
cmovnsl %eax, %r10d
movslq %r10d, %rdi
callq 0x4040
movq %rax, %r13
movq $0x0, 0x8(%rsp)
xorl %ecx, %ecx
movslq 0x8(%rbx), %rax
cmpq %rax, %rcx
jge 0x3c0b3
movq %rcx, 0x40(%rsp)
xorl %ebp, %ebp
xorl %r14d, %r14d
movslq 0x4(%rbx), %rax
cmpq %rax, %r14
jge 0x3c0a0
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
movq 0x38(%rsp), %rdx
callq 0x3d151
movl (%rbx), %eax
movl 0xc(%rbx), %ecx
testl %ecx, %ecx
movl $0x0, %edx
cmovlel %edx, %ecx
testl %eax, %eax
movl $0x0, %edx
cmovgl %eax, %edx
movq %rbp, %rsi
imulq %rax, %rsi
movq 0x8(%rsp), %rdi
imulq %rax, %rdi
shlq $0x3, %rax
xorl %r8d, %r8d
movq %r13, %r9
cmpq %rdx, %r8
je 0x3c094
movl 0x4(%rbx), %r10d
movq %rdi, %r11
imulq %r10, %r11
addq %rsi, %r11
addq 0x18(%rbx), %r11
movl 0x8(%rbx), %r15d
imulq %rax, %r10
imulq %r15, %r10
movq %rcx, %r15
subq $0x1, %r15
jb 0x3c08b
movsbl (%r9), %r12d
incq %r9
cvtsi2sd %r12d, %xmm0
movsd %xmm0, (%r11)
addq %r10, %r11
jmp 0x3c06f
incq %r8
addq $0x8, %rsi
jmp 0x3c049
incq %r14
addq $0x8, %rbp
jmp 0x3bfee
movq 0x40(%rsp), %rcx
incq %rcx
addq $0x8, 0x8(%rsp)
jmp 0x3bfd7
movq %r13, %rdi
callq 0x4670
movl 0x28(%rsp), %eax
movl 0x20(%rsp), %ecx
movl 0x24(%rsp), %edx
movb $0x1, %r9b
testb %r9b, %r9b
jne 0x3c22d
cmpl $0x10, %eax
jne 0x3c22d
testl %ecx, %ecx
jne 0x3c22d
testl %edx, %edx
jne 0x3c22d
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rcx
imulq %rax, %rcx
movq %rcx, %rdi
addq %rcx, %rdi
testl %ecx, %ecx
pushq $-0x1
popq %rax
cmovsq %rax, %rdi
callq 0x4040
movq %rax, %r13
movq $0x0, 0x8(%rsp)
xorl %ecx, %ecx
movslq 0x8(%rbx), %rax
cmpq %rax, %rcx
jge 0x3c216
movq %rcx, 0x40(%rsp)
xorl %r14d, %r14d
xorl %r12d, %r12d
movslq 0x4(%rbx), %rax
cmpq %rax, %r12
jge 0x3c203
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
movq 0x38(%rsp), %rdx
callq 0x37cea
cmpl $0x0, 0x2c(%rsp)
je 0x3c179
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
callq 0x37dec
movl (%rbx), %eax
movl 0xc(%rbx), %ecx
testl %ecx, %ecx
movl $0x0, %edx
cmovlel %edx, %ecx
testl %eax, %eax
movl $0x0, %edx
cmovgl %eax, %edx
movq %r14, %rsi
imulq %rax, %rsi
movq 0x8(%rsp), %rdi
imulq %rax, %rdi
shlq $0x3, %rax
xorl %r8d, %r8d
movq %r13, %r9
cmpq %rdx, %r8
je 0x3c1f7
movl 0x4(%rbx), %r10d
movq %rdi, %r11
imulq %r10, %r11
addq %rsi, %r11
addq 0x18(%rbx), %r11
movl 0x8(%rbx), %r15d
imulq %rax, %r10
imulq %r15, %r10
movq %rcx, %r15
subq $0x1, %r15
jb 0x3c1ee
movzwl (%r9), %ebp
addq $0x2, %r9
cvtsi2sd %ebp, %xmm0
movsd %xmm0, (%r11)
addq %r10, %r11
jmp 0x3c1d2
incq %r8
addq $0x8, %rsi
jmp 0x3c1ac
incq %r12
addq $0x8, %r14
jmp 0x3c134
movq 0x40(%rsp), %rcx
incq %rcx
addq $0x8, 0x8(%rsp)
jmp 0x3c11c
movq %r13, %rdi
callq 0x4670
movl 0x28(%rsp), %eax
movl 0x20(%rsp), %ecx
movl 0x24(%rsp), %edx
movb $0x1, %r9b
testb %r9b, %r9b
jne 0x3c391
cmpl $0x10, %eax
jne 0x3c391
testl %ecx, %ecx
jne 0x3c391
cmpl $0x1, %edx
jne 0x3c391
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rcx
imulq %rax, %rcx
movq %rcx, %rdi
addq %rcx, %rdi
testl %ecx, %ecx
pushq $-0x1
popq %rax
cmovsq %rax, %rdi
callq 0x4040
movq %rax, %r13
movq $0x0, 0x8(%rsp)
xorl %ecx, %ecx
movslq 0x8(%rbx), %rax
cmpq %rax, %rcx
jge 0x3c37a
movq %rcx, 0x40(%rsp)
xorl %r14d, %r14d
xorl %r12d, %r12d
movslq 0x4(%rbx), %rax
cmpq %rax, %r12
jge 0x3c367
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
movq 0x38(%rsp), %rdx
callq 0x3a4a2
cmpl $0x0, 0x2c(%rsp)
je 0x3c2dd
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
callq 0x3a488
movl (%rbx), %eax
movl 0xc(%rbx), %ecx
testl %ecx, %ecx
movl $0x0, %edx
cmovlel %edx, %ecx
testl %eax, %eax
movl $0x0, %edx
cmovgl %eax, %edx
movq %r14, %rsi
imulq %rax, %rsi
movq 0x8(%rsp), %rdi
imulq %rax, %rdi
shlq $0x3, %rax
xorl %r8d, %r8d
movq %r13, %r9
cmpq %rdx, %r8
je 0x3c35b
movl 0x4(%rbx), %r10d
movq %rdi, %r11
imulq %r10, %r11
addq %rsi, %r11
addq 0x18(%rbx), %r11
movl 0x8(%rbx), %r15d
imulq %rax, %r10
imulq %r15, %r10
movq %rcx, %r15
subq $0x1, %r15
jb 0x3c352
movswl (%r9), %ebp
addq $0x2, %r9
cvtsi2sd %ebp, %xmm0
movsd %xmm0, (%r11)
addq %r10, %r11
jmp 0x3c336
incq %r8
addq $0x8, %rsi
jmp 0x3c310
incq %r12
addq $0x8, %r14
jmp 0x3c298
movq 0x40(%rsp), %rcx
incq %rcx
addq $0x8, 0x8(%rsp)
jmp 0x3c280
movq %r13, %rdi
callq 0x4670
movl 0x28(%rsp), %eax
movl 0x20(%rsp), %ecx
movl 0x24(%rsp), %edx
movb $0x1, %r9b
testb %r9b, %r9b
jne 0x3c4f7
cmpl $0x20, %eax
jne 0x3c4f7
testl %ecx, %ecx
jne 0x3c4f7
testl %edx, %edx
jne 0x3c4f7
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rcx
imulq %rax, %rcx
movq %rcx, %rdi
shlq $0x2, %rdi
testl %ecx, %ecx
pushq $-0x1
popq %rax
cmovsq %rax, %rdi
callq 0x4040
movq %rax, %r13
movq $0x0, 0x8(%rsp)
xorl %ecx, %ecx
movslq 0x8(%rbx), %rax
cmpq %rax, %rcx
jge 0x3c4e0
movq %rcx, 0x40(%rsp)
xorl %r14d, %r14d
xorl %r12d, %r12d
movslq 0x4(%rbx), %rax
cmpq %rax, %r12
jge 0x3c4cd
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
movq 0x38(%rsp), %rdx
callq 0x3a371
cmpl $0x0, 0x2c(%rsp)
je 0x3c441
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
callq 0x3a703
movl (%rbx), %eax
movl 0xc(%rbx), %r15d
testl %r15d, %r15d
movl $0x0, %ecx
cmovlel %ecx, %r15d
testl %eax, %eax
movl $0x0, %edx
cmovgl %eax, %edx
movq %r14, %rsi
imulq %rax, %rsi
movq 0x8(%rsp), %rdi
imulq %rax, %rdi
shlq $0x3, %rax
xorl %r8d, %r8d
movq %r13, %r9
cmpq %rdx, %r8
je 0x3c4c1
movl 0x4(%rbx), %r10d
movq %rdi, %r11
imulq %r10, %r11
addq %rsi, %r11
addq 0x18(%rbx), %r11
movl 0x8(%rbx), %ecx
imulq %rax, %r10
imulq %rcx, %r10
movq %r15, %rcx
subq $0x1, %rcx
jb 0x3c4b8
movl (%r9), %ebp
addq $0x4, %r9
cvtsi2sd %rbp, %xmm0
movsd %xmm0, (%r11)
addq %r10, %r11
jmp 0x3c49c
incq %r8
addq $0x8, %rsi
jmp 0x3c477
incq %r12
addq $0x8, %r14
jmp 0x3c3fc
movq 0x40(%rsp), %rcx
incq %rcx
addq $0x8, 0x8(%rsp)
jmp 0x3c3e4
movq %r13, %rdi
callq 0x4670
movl 0x28(%rsp), %eax
movl 0x20(%rsp), %ecx
movl 0x24(%rsp), %edx
movb $0x1, %r9b
testb %r9b, %r9b
jne 0x3c64e
cmpl $0x20, %eax
jne 0x3c64e
testl %ecx, %ecx
jne 0x3c64e
cmpl $0x1, %edx
jne 0x3c64e
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rcx
imulq %rax, %rcx
movq %rcx, %rdi
shlq $0x2, %rdi
testl %ecx, %ecx
pushq $-0x1
popq %rax
cmovsq %rax, %rdi
callq 0x4040
movq %rax, %r13
xorl %r14d, %r14d
xorl %ecx, %ecx
movslq 0x8(%rbx), %rax
cmpq %rax, %rcx
jge 0x3c637
movq %rcx, 0x8(%rsp)
xorl %ebp, %ebp
xorl %r12d, %r12d
movslq 0x4(%rbx), %rax
cmpq %rax, %r12
jge 0x3c626
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
movq 0x38(%rsp), %rdx
callq 0x363e1
cmpl $0x0, 0x2c(%rsp)
je 0x3c5a1
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
callq 0x3a5a4
movl (%rbx), %eax
movl 0xc(%rbx), %ecx
testl %ecx, %ecx
movl $0x0, %edx
cmovlel %edx, %ecx
testl %eax, %eax
movl $0x0, %edx
cmovgl %eax, %edx
movq %rbp, %rsi
imulq %rax, %rsi
movq %r14, %rdi
imulq %rax, %rdi
shlq $0x3, %rax
xorl %r8d, %r8d
movq %r13, %r9
cmpq %rdx, %r8
je 0x3c61a
movl 0x4(%rbx), %r10d
movq %rdi, %r11
imulq %r10, %r11
addq %rsi, %r11
addq 0x18(%rbx), %r11
movl 0x8(%rbx), %r15d
imulq %rax, %r10
imulq %r15, %r10
movq %rcx, %r15
subq $0x1, %r15
jb 0x3c611
cvtsi2sdl (%r9), %xmm0
addq $0x4, %r9
movsd %xmm0, (%r11)
addq %r10, %r11
jmp 0x3c5f8
incq %r8
addq $0x8, %rsi
jmp 0x3c5d2
incq %r12
addq $0x8, %rbp
jmp 0x3c55c
movq 0x8(%rsp), %rcx
incq %rcx
addq $0x8, %r14
jmp 0x3c545
movq %r13, %rdi
callq 0x4670
movl 0x28(%rsp), %eax
movl 0x20(%rsp), %ecx
movl 0x24(%rsp), %edx
movb $0x1, %r9b
testb %r9b, %r9b
jne 0x3c7a5
cmpl $0x20, %eax
jne 0x3c7a5
cmpl $0x1, %ecx
jne 0x3c7a5
testl %edx, %edx
jne 0x3c7a5
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rcx
imulq %rax, %rcx
movq %rcx, %rdi
shlq $0x2, %rdi
testl %ecx, %ecx
pushq $-0x1
popq %rax
cmovsq %rax, %rdi
callq 0x4040
movq %rax, %r13
xorl %r14d, %r14d
xorl %ecx, %ecx
movslq 0x8(%rbx), %rax
cmpq %rax, %rcx
jge 0x3c78e
movq %rcx, 0x8(%rsp)
xorl %ebp, %ebp
xorl %r12d, %r12d
movslq 0x4(%rbx), %rax
cmpq %rax, %r12
jge 0x3c77d
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
movq 0x38(%rsp), %rdx
callq 0x38089
cmpl $0x0, 0x2c(%rsp)
je 0x3c6f8
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
callq 0x38732
movl (%rbx), %eax
movl 0xc(%rbx), %ecx
testl %ecx, %ecx
movl $0x0, %edx
cmovlel %edx, %ecx
testl %eax, %eax
movl $0x0, %edx
cmovgl %eax, %edx
movq %rbp, %rsi
imulq %rax, %rsi
movq %r14, %rdi
imulq %rax, %rdi
shlq $0x3, %rax
xorl %r8d, %r8d
movq %r13, %r9
cmpq %rdx, %r8
je 0x3c771
movl 0x4(%rbx), %r10d
movq %rdi, %r11
imulq %r10, %r11
addq %rsi, %r11
addq 0x18(%rbx), %r11
movl 0x8(%rbx), %r15d
imulq %rax, %r10
imulq %r15, %r10
movq %rcx, %r15
subq $0x1, %r15
jb 0x3c768
cvtss2sd (%r9), %xmm0
addq $0x4, %r9
movsd %xmm0, (%r11)
addq %r10, %r11
jmp 0x3c74f
incq %r8
addq $0x8, %rsi
jmp 0x3c729
incq %r12
addq $0x8, %rbp
jmp 0x3c6b3
movq 0x8(%rsp), %rcx
incq %rcx
addq $0x8, %r14
jmp 0x3c69c
movq %r13, %rdi
callq 0x4670
movl 0x28(%rsp), %eax
movl 0x20(%rsp), %ecx
movl 0x24(%rsp), %edx
movb $0x1, %r9b
testb %r9b, %r9b
jne 0x3c8fd
cmpl $0x20, %eax
jne 0x3c8fd
cmpl $0x1, %ecx
jne 0x3c8fd
cmpl $0x1, %edx
jne 0x3c8fd
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rcx
imulq %rax, %rcx
movq %rcx, %rdi
shlq $0x2, %rdi
testl %ecx, %ecx
pushq $-0x1
popq %rax
cmovsq %rax, %rdi
callq 0x4040
movq %rax, %r13
xorl %r14d, %r14d
xorl %ecx, %ecx
movslq 0x8(%rbx), %rax
cmpq %rax, %rcx
jge 0x3c8e6
movq %rcx, 0x8(%rsp)
xorl %ebp, %ebp
xorl %r12d, %r12d
movslq 0x4(%rbx), %rax
cmpq %rax, %r12
jge 0x3c8d5
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
movq 0x38(%rsp), %rdx
callq 0x38089
cmpl $0x0, 0x2c(%rsp)
je 0x3c850
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
callq 0x38732
movl (%rbx), %eax
movl 0xc(%rbx), %ecx
testl %ecx, %ecx
movl $0x0, %edx
cmovlel %edx, %ecx
testl %eax, %eax
movl $0x0, %edx
cmovgl %eax, %edx
movq %rbp, %rsi
imulq %rax, %rsi
movq %r14, %rdi
imulq %rax, %rdi
shlq $0x3, %rax
xorl %r8d, %r8d
movq %r13, %r9
cmpq %rdx, %r8
je 0x3c8c9
movl 0x4(%rbx), %r10d
movq %rdi, %r11
imulq %r10, %r11
addq %rsi, %r11
addq 0x18(%rbx), %r11
movl 0x8(%rbx), %r15d
imulq %rax, %r10
imulq %r15, %r10
movq %rcx, %r15
subq $0x1, %r15
jb 0x3c8c0
cvtss2sd (%r9), %xmm0
addq $0x4, %r9
movsd %xmm0, (%r11)
addq %r10, %r11
jmp 0x3c8a7
incq %r8
addq $0x8, %rsi
jmp 0x3c881
incq %r12
addq $0x8, %rbp
jmp 0x3c80b
movq 0x8(%rsp), %rcx
incq %rcx
addq $0x8, %r14
jmp 0x3c7f4
movq %r13, %rdi
callq 0x4670
movl 0x28(%rsp), %eax
movl 0x20(%rsp), %ecx
movl 0x24(%rsp), %edx
movb $0x1, %r9b
testb %r9b, %r9b
jne 0x3ca54
cmpl $0x40, %eax
jne 0x3ca54
cmpl $0x1, %ecx
jne 0x3ca54
testl %edx, %edx
jne 0x3ca54
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rcx
imulq %rax, %rcx
movq %rcx, %rdi
shlq $0x3, %rdi
testl %ecx, %ecx
pushq $-0x1
popq %rax
cmovsq %rax, %rdi
callq 0x4040
movq %rax, %r13
xorl %r14d, %r14d
xorl %ecx, %ecx
movslq 0x8(%rbx), %rax
cmpq %rax, %rcx
jge 0x3ca3d
movq %rcx, 0x8(%rsp)
xorl %ebp, %ebp
xorl %r12d, %r12d
movslq 0x4(%rbx), %rax
cmpq %rax, %r12
jge 0x3ca2c
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
movq 0x38(%rsp), %rdx
callq 0x3a5c1
cmpl $0x0, 0x2c(%rsp)
je 0x3c9a7
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r13, %rdi
callq 0x3a6c7
movl (%rbx), %eax
movl 0xc(%rbx), %ecx
testl %ecx, %ecx
movl $0x0, %edx
cmovlel %edx, %ecx
testl %eax, %eax
movl $0x0, %edx
cmovgl %eax, %edx
movq %rbp, %rsi
imulq %rax, %rsi
movq %r14, %rdi
imulq %rax, %rdi
shlq $0x3, %rax
xorl %r8d, %r8d
movq %r13, %r9
cmpq %rdx, %r8
je 0x3ca20
movl 0x4(%rbx), %r10d
movq %rdi, %r11
imulq %r10, %r11
addq %rsi, %r11
addq 0x18(%rbx), %r11
movl 0x8(%rbx), %r15d
imulq %rax, %r10
imulq %r15, %r10
movq %rcx, %r15
subq $0x1, %r15
jb 0x3ca17
movsd (%r9), %xmm0
addq $0x8, %r9
movsd %xmm0, (%r11)
addq %r10, %r11
jmp 0x3c9fe
incq %r8
addq $0x8, %rsi
jmp 0x3c9d8
incq %r12
addq $0x8, %rbp
jmp 0x3c962
movq 0x8(%rsp), %rcx
incq %rcx
addq $0x8, %r14
jmp 0x3c94b
movq %r13, %rdi
callq 0x4670
movl 0x28(%rsp), %eax
movl 0x20(%rsp), %ecx
movl 0x24(%rsp), %edx
movb $0x1, %r9b
testb %r9b, %r9b
jne 0x3cb95
cmpl $0x40, %eax
jne 0x3cb95
cmpl $0x1, %ecx
jne 0x3cb95
cmpl $0x1, %edx
jne 0x3cb95
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rcx
imulq %rax, %rcx
movq %rcx, %rdi
shlq $0x3, %rdi
testl %ecx, %ecx
pushq $-0x1
popq %rax
cmovsq %rax, %rdi
callq 0x4040
movq %rax, %r12
xorl %r14d, %r14d
xorl %ecx, %ecx
movslq 0x8(%rbx), %rax
cmpq %rax, %rcx
jge 0x3cc24
movq %rcx, 0x8(%rsp)
xorl %ebp, %ebp
xorl %r13d, %r13d
movslq 0x4(%rbx), %rax
cmpq %rax, %r13
jge 0x3cb84
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r12, %rdi
movq 0x38(%rsp), %rdx
callq 0x3a5c1
cmpl $0x0, 0x2c(%rsp)
je 0x3caff
movslq 0x10(%rsp), %rax
movslq 0x1c(%rsp), %rsi
imulq %rax, %rsi
movq %r12, %rdi
callq 0x3a6c7
movl (%rbx), %eax
movl 0xc(%rbx), %ecx
testl %ecx, %ecx
movl $0x0, %edx
cmovlel %edx, %ecx
testl %eax, %eax
movl $0x0, %edx
cmovgl %eax, %edx
movq %rbp, %rsi
imulq %rax, %rsi
movq %r14, %rdi
imulq %rax, %rdi
shlq $0x3, %rax
xorl %r8d, %r8d
movq %r12, %r9
cmpq %rdx, %r8
je 0x3cb78
movl 0x4(%rbx), %r10d
movq %rdi, %r11
imulq %r10, %r11
addq %rsi, %r11
addq 0x18(%rbx), %r11
movl 0x8(%rbx), %r15d
imulq %rax, %r10
imulq %r15, %r10
movq %rcx, %r15
subq $0x1, %r15
jb 0x3cb6f
movsd (%r9), %xmm0
addq $0x8, %r9
movsd %xmm0, (%r11)
addq %r10, %r11
jmp 0x3cb56
incq %r8
addq $0x8, %rsi
jmp 0x3cb30
incq %r13
addq $0x8, %rbp
jmp 0x3caba
movq 0x8(%rsp), %rcx
incq %rcx
addq $0x8, %r14
jmp 0x3caa3
testb %r9b, %r9b
jne 0x3cc2c
cmpq $0x0, 0x48(%rsp)
jne 0x3cbb0
movq 0x38(%rsp), %rdi
callq 0x2a2f8
movl $0x4008, %edi           # imm = 0x4008
callq 0x4210
movq %rax, %r14
leaq 0x17c24(%rip), %rax     # 0x547e8
leaq 0x18ff7(%rip), %r10     # 0x55bc2
cmpb $0x0, 0x10(%rbx)
cmovneq %rax, %r10
movq 0x50(%rsp), %rax
testq %rax, %rax
movl (%rbx), %edx
movl 0x4(%rbx), %ecx
movl 0x8(%rbx), %r8d
movl 0xc(%rbx), %r9d
leaq 0x38978(%rip), %r11     # 0x75567
cmovneq %rax, %r11
leaq 0x384a5(%rip), %r15     # 0x7509f
leaq 0x39b28(%rip), %rsi     # 0x76729
movq %r14, %rdi
xorl %eax, %eax
pushq %r11
pushq %r15
pushq %r10
pushq 0x18(%rbx)
callq 0x2a3de
addq $0x20, %rsp
leaq 0x530e1(%rip), %rsi     # 0x8fd00
jmp 0x3ccae
movq %r12, %rdi
callq 0x4670
cmpq $0x0, 0x48(%rsp)
jne 0x3cc3e
movq 0x38(%rsp), %rdi
callq 0x2a2f8
movq %rbx, %rax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
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 0x17b77(%rip), %rax     # 0x547e8
leaq 0x18f4a(%rip), %r10     # 0x55bc2
cmpb $0x0, 0x10(%rbx)
cmovneq %rax, %r10
subq $0x8, %rsp
leaq 0x38414(%rip), %r11     # 0x7509f
leaq 0x39a3f(%rip), %rsi     # 0x766d1
movq %r14, %rdi
xorl %eax, %eax
pushq %r11
pushq %r10
pushq 0x18(%rbx)
callq 0x9d52
addq $0x20, %rsp
leaq 0x52fb2(%rip), %rsi     # 0x8fc60
movq 0x53323(%rip), %rdx     # 0x8ffd8
movq %r14, %rdi
callq 0x4910
jmp 0x3ccbf
movq %rax, %rbx
movq %r14, %rdi
callq 0x4390
movq %rbx, %rdi
callq 0x4950