// File: /workspace/github_cpp_makefile_star2_O3/atfrank[P]PCASA/lib/Trajectory.cpp
// Function: Trajectory::readFrame(std::basic_ifstream<char, std::char_traits<char>>&, unsigned int)
bool Trajectory::readFrame(std::ifstream &trjin, unsigned int frame){
  double *dbuffer; //Needed for crystal!
  float *xbuffer;
  float *ybuffer;
  float *zbuffer;
  int length;
  int i;
  unsigned int j;
  unsigned int maxSeekFrame;

  if (this->getFrameSize() == 0){
    this->setFrameSize((this->getNAtom()*sizeof(float)+sizeof(int)*2)*3);
    if (qcrystal > 0){
      this->setFrameSize(this->getFrameSize()+sizeof(double)*6+2*sizeof(int));
    }
  }

  maxSeekFrame=(std::numeric_limits<int>::max()/this->getFrameSize())-10; //10 buffer

  //Assume header has been read
  //Seek frames
  if (frame-this->getLastFrame() > maxSeekFrame){
    //Seek frame by frame to be safe
    for (j=0; j< frame-this->getLastFrame(); j++){
      trjin.seekg(this->getFrameSize(), std::ios::cur);
    }
  }
  else{
    trjin.seekg((frame-this->getLastFrame())*this->getFrameSize(), std::ios::cur);
  }
  this->setLastFrame(frame+1); 
  //The "+1" positions the pointer at the end of this frame after it has been read


  if (trjin.tellg() == this->getLastPos()){
    //End-of-file, note that trjin.good()/trjin.eof() wouldn't work!
    return false;
  }

  this->iframe++;
  if (this->getShow() == true || this->getScan() == true){
    std::cout << std::fixed;
    std::cout << "Frame : " << this->iframe << " ( " << frame+1 << " / " << getNFrame() << " ) " << std::endl; 
  }

  dbuffer=NULL;
  xbuffer=NULL;
  ybuffer=NULL;
  zbuffer=NULL;

  if (qcrystal > 0){
    dbuffer=readFortran(trjin, dbuffer, length);

    if (this->getScan() == false){ //
      pb.resize(6);
      for (j=0; j< pb.size(); j++){
        pb.at(j)=dbuffer[j];
      }

      //Box dimensions
      pbx=sqrt(pb.at(0)*pb.at(0)+pb.at(1)*pb.at(1)+pb.at(3)*pb.at(3));
      pby=sqrt(pb.at(1)*pb.at(1)+pb.at(2)*pb.at(2)+pb.at(4)*pb.at(4));
      pbz=sqrt(pb.at(3)*pb.at(3)+pb.at(4)*pb.at(4)+pb.at(5)*pb.at(5));

      //Box angles
      pbalpha=acos(pb.at(4)*(pb.at(2)+pb.at(5))+pb.at(1)*pb.at(3)/(pby*pbz))*180.0/PI;
      pbbeta=acos(pb.at(3)*(pb.at(0)+pb.at(5))+pb.at(1)*pb.at(4)/(pbz*pbx))*180.0/PI;
      pbgamma=acos(pb.at(1)*(pb.at(0)+pb.at(2))+pb.at(3)*pb.at(4)/(pbx*pby))*180.0/PI;

      if (this->getShow() == true){ 
        std::cout << "Periodic Box :  ";
        std::cout << pbx << " x " << pby << " x " << pbz << " ";
        std::cout << "( " << pbalpha << " x " << pbbeta << " x " << pbgamma << " )" << std::endl;
      }
    }

    if (dbuffer != NULL){
      delete dbuffer;
    }
  }

  //Coordinates
  xbuffer=readFortran(trjin, xbuffer, length);
  ybuffer=readFortran(trjin, ybuffer, length);
  zbuffer=readFortran(trjin, zbuffer, length);

  if (this->getScan() == false){
    if (x.size() == 0 || y.size() == 0 || z.size() == 0){
      x.resize(natom);
      y.resize(natom);
      z.resize(natom);
    }
    if (natom != static_cast<int>(x.size()) || 
      natom != static_cast<int>(y.size()) || 
      natom != static_cast<int>(z.size())){
        std::cerr << "Error: The number of atoms \"natom\" does not match the number of atoms in each frame" << std::endl;
    }

    if (nfixed > 0){
      for (i=0; i< nfixed; i++){
        //Do something
      }
      std::cerr << "Warning: Fixed atoms has yet to be implemented"<< std::endl;
    }
    else{
      if (mol != NULL && length/sizeof(float) != mol->getNAtom()){
        std::cerr << "Error: The natom mismatch!" << std::endl;
      }
      for (i=0; i< natom; i++){
        if (mol == NULL){
          x.at(i)=xbuffer[i];
          y.at(i)=ybuffer[i];
          z.at(i)=zbuffer[i];
        }
        else{
          mol->getAtom(i)->setCoor(Coor(static_cast<double>(xbuffer[i]), static_cast<double>(ybuffer[i]), static_cast<double>(zbuffer[i])));
        }
  
        if (this->getShow() == true){
          std::cout << std::fixed;
          std::cout << "coor" << std::setw(10) << std::right << i+1;
          std::cout << std::setw(14) << xbuffer[i] << " ";
          std::cout << std::setw(14) << ybuffer[i] << " ";
          std::cout << std::setw(14) << zbuffer[i] << std::endl;
        } 
      }
    }
  }

  if (xbuffer != NULL){
    delete xbuffer;
  }
  if (ybuffer != NULL){
    delete ybuffer;
  }
  if (zbuffer != NULL){
    delete zbuffer;
  }

  return true; 
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movl %edx, %ebp
movq %rsi, %r15
movq %rdi, %rbx
movl 0x3c(%rdi), %ecx
testl %ecx, %ecx
jne 0x38955
movl 0xc8(%rbx), %eax
shll $0x2, %eax
leal (%rax,%rax,2), %ecx
addl $0x18, %ecx
movl %ecx, 0x3c(%rbx)
cmpl $0x0, 0x9c(%rbx)
jle 0x38955
leal (%rax,%rax,2), %ecx
addl $0x50, %ecx
movl %ecx, 0x3c(%rbx)
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
xorl %edx, %edx
divl %ecx
addl $-0xa, %eax
movl 0x40(%rbx), %edx
movl %ebp, %esi
subl %edx, %esi
cmpl %eax, %esi
jbe 0x38992
cmpl %edx, %ebp
je 0x389a2
xorl %r14d, %r14d
movl 0x3c(%rbx), %esi
movq %r15, %rdi
movl $0x1, %edx
callq 0x43e0
incl %r14d
movl %ebp, %eax
subl 0x40(%rbx), %eax
cmpl %eax, %r14d
jb 0x38973
jmp 0x389a2
imull %ecx, %esi
movq %r15, %rdi
movl $0x1, %edx
callq 0x43e0
incl %ebp
movl %ebp, 0x40(%rbx)
movq %r15, %rdi
callq 0x4510
movq %rax, %r14
movq 0x48(%rbx), %r12
cmpq %r12, %rax
je 0x3905e
movq %r12, 0x20(%rsp)
movq %r14, 0x28(%rsp)
incl 0x34(%rbx)
cmpb $0x0, 0x30(%rbx)
jne 0x389dc
cmpb $0x1, 0x31(%rbx)
jne 0x38a9c
movq 0x3b75e5(%rip), %r14    # 0x3effc8
movq (%r14), %rax
movq -0x18(%rax), %rax
movl $0xfffffefb, %ecx       # imm = 0xFFFFFEFB
andl 0x18(%r14,%rax), %ecx
orl $0x4, %ecx
movl %ecx, 0x18(%r14,%rax)
leaq 0x473a(%rip), %rsi      # 0x3d13d
movl $0x8, %edx
movq %r14, %rdi
callq 0x4340
movl 0x34(%rbx), %esi
movq %r14, %rdi
callq 0x41e0
movq %rax, %r14
leaq 0x4721(%rip), %rsi      # 0x3d146
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movl %ebp, %esi
movq %r14, %rdi
callq 0x41e0
movq %rax, %r14
leaq 0x4704(%rip), %rsi      # 0x3d14a
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movl 0x78(%rbx), %esi
movq %r14, %rdi
callq 0x4500
movq %rax, %r14
leaq 0x46e6(%rip), %rsi      # 0x3d14e
movl $0x3, %edx
movq %rax, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
cmpl $0x0, 0x9c(%rbx)
jle 0x38e83
leaq 0x10(%rsp), %rcx
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x39a80
movq %rax, %r12
cmpb $0x0, 0x31(%rbx)
je 0x38ad2
testq %r12, %r12
jne 0x38e76
jmp 0x38e83
leaq 0xe8(%rbx), %rdi
movl $0x6, %esi
callq 0x12410
movq 0xe8(%rbx), %rax
movq 0xf0(%rbx), %rsi
movq %rsi, %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movq %rsi, %rcx
subq %rax, %rcx
je 0x3934c
xorl %edi, %edi
movsd (%r12,%rdi,8), %xmm0
movsd %xmm0, (%rax,%rdi,8)
incq %rdi
movl %edi, %r8d
cmpq %r8, %rdx
ja 0x38b09
cmpq %rax, %rsi
je 0x3934c
cmpq $0x1, %rdx
jbe 0x39357
cmpq $0x3, %rdx
jbe 0x3933e
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
mulsd %xmm1, %xmm1
mulsd %xmm0, %xmm0
addsd %xmm1, %xmm0
movsd 0x18(%rax), %xmm1
mulsd %xmm1, %xmm1
addsd %xmm0, %xmm1
xorps %xmm0, %xmm0
sqrtsd %xmm1, %xmm0
movsd %xmm0, 0x100(%rbx)
cmpq $0x20, %rcx
je 0x39373
cmpq $0x10, %rcx
je 0x39365
movsd 0x8(%rax), %xmm0
movsd 0x10(%rax), %xmm1
mulsd %xmm1, %xmm1
mulsd %xmm0, %xmm0
addsd %xmm1, %xmm0
movsd 0x20(%rax), %xmm1
mulsd %xmm1, %xmm1
addsd %xmm0, %xmm1
sqrtsd %xmm1, %xmm1
movsd %xmm1, 0x108(%rbx)
cmpq $0x5, %rdx
jbe 0x39330
movsd 0x18(%rax), %xmm0
movsd 0x20(%rax), %xmm2
mulsd %xmm2, %xmm2
mulsd %xmm0, %xmm0
addsd %xmm2, %xmm0
movsd 0x28(%rax), %xmm2
mulsd %xmm2, %xmm2
addsd %xmm0, %xmm2
sqrtsd %xmm2, %xmm2
movsd %xmm2, 0x110(%rbx)
cmpq $0x28, %rcx
je 0x39330
movsd 0x10(%rax), %xmm0
addsd 0x28(%rax), %xmm0
movsd 0x8(%rax), %xmm3
mulsd 0x18(%rax), %xmm3
mulsd %xmm1, %xmm2
divsd %xmm2, %xmm3
mulsd 0x20(%rax), %xmm0
addsd %xmm3, %xmm0
callq 0x4290
mulsd 0x2823(%rip), %xmm0     # 0x3b448
divsd 0x3b770b(%rip), %xmm0   # 0x3f0338
movsd %xmm0, 0x118(%rbx)
movq 0xe8(%rbx), %rax
movq 0xf0(%rbx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq $0x3, %rdx
jbe 0x3933e
cmpq $0x5, %rdx
jbe 0x39330
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
addsd 0x28(%rax), %xmm0
mulsd 0x20(%rax), %xmm1
movsd 0x110(%rbx), %xmm2
mulsd 0x100(%rbx), %xmm2
divsd %xmm2, %xmm1
mulsd 0x18(%rax), %xmm0
addsd %xmm1, %xmm0
callq 0x4290
mulsd 0x27ad(%rip), %xmm0     # 0x3b448
divsd 0x3b7695(%rip), %xmm0   # 0x3f0338
movsd %xmm0, 0x120(%rbx)
movq 0xe8(%rbx), %rax
movq 0xf0(%rbx), %rcx
subq %rax, %rcx
movq %rcx, %rdx
sarq $0x3, %rdx
cmpq $0x1, %rdx
jbe 0x39357
cmpq $0x10, %rcx
je 0x39365
cmpq $0x3, %rdx
jbe 0x3933e
cmpq $0x20, %rcx
je 0x39373
movsd (%rax), %xmm0
addsd 0x10(%rax), %xmm0
movsd 0x18(%rax), %xmm1
mulsd 0x20(%rax), %xmm1
movsd 0x100(%rbx), %xmm2
mulsd 0x108(%rbx), %xmm2
divsd %xmm2, %xmm1
mulsd 0x8(%rax), %xmm0
addsd %xmm1, %xmm0
callq 0x4290
mulsd 0x2720(%rip), %xmm0     # 0x3b448
divsd 0x3b7608(%rip), %xmm0   # 0x3f0338
movsd %xmm0, 0x128(%rbx)
cmpb $0x1, 0x30(%rbx)
jne 0x38e76
movq 0x3b727f(%rip), %r13    # 0x3effc8
leaq 0x4402(%rip), %rsi      # 0x3d152
movl $0x10, %edx
movq %r13, %rdi
callq 0x4340
movsd 0x100(%rbx), %xmm0
movq %r13, %rdi
callq 0x44a0
movq %rax, %rbp
leaq 0x43ec(%rip), %r14      # 0x3d163
movl $0x3, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x4340
movsd 0x108(%rbx), %xmm0
movq %rbp, %rdi
callq 0x44a0
movq %rax, %rbp
movl $0x3, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x4340
movsd 0x110(%rbx), %xmm0
movq %rbp, %rdi
callq 0x44a0
leaq 0x38bf(%rip), %rsi      # 0x3c680
movl $0x1, %edx
movq %rax, %rdi
callq 0x4340
leaq 0x4372(%rip), %rsi      # 0x3d147
movl $0x2, %edx
movq %r13, %rdi
callq 0x4340
movsd 0x118(%rbx), %xmm0
movq %r13, %rdi
callq 0x44a0
movq %rax, %r13
movl $0x3, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x4340
movsd 0x120(%rbx), %xmm0
movq %r13, %rdi
callq 0x44a0
movq %rax, %r13
movl $0x3, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x4340
movsd 0x128(%rbx), %xmm0
movq %r13, %rdi
callq 0x44a0
movq %rax, %r14
leaq 0x3553(%rip), %rsi      # 0x3c395
movl $0x2, %edx
movq %rax, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movl $0x8, %esi
movq %r12, %rdi
callq 0x42e0
leaq 0x10(%rsp), %r14
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
movq %r14, %rcx
callq 0x39b2a
movq %rax, (%rsp)
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
movq %r14, %rcx
callq 0x39b2a
movq %rax, 0x8(%rsp)
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
movq %r14, %rcx
callq 0x39b2a
movq %rax, %r15
cmpb $0x0, 0x31(%rbx)
jne 0x39016
movq 0x130(%rbx), %rcx
movq 0x138(%rbx), %rax
cmpq %rcx, %rax
je 0x38f01
movq 0x150(%rbx), %rdx
cmpq 0x148(%rbx), %rdx
je 0x38f01
movq 0x168(%rbx), %rdx
cmpq 0x160(%rbx), %rdx
jne 0x38f48
leaq 0x130(%rbx), %rdi
movslq 0xc8(%rbx), %rsi
callq 0x39db8
leaq 0x148(%rbx), %rdi
movslq 0xc8(%rbx), %rsi
callq 0x39db8
leaq 0x160(%rbx), %rdi
movslq 0xc8(%rbx), %rsi
callq 0x39db8
movq 0x130(%rbx), %rcx
movq 0x138(%rbx), %rax
subq %rcx, %rax
movl 0xc8(%rbx), %ecx
shrq $0x2, %rax
cmpl %eax, %ecx
jne 0x38f85
movq 0x150(%rbx), %rax
subq 0x148(%rbx), %rax
shrq $0x2, %rax
cmpl %eax, %ecx
jne 0x38f85
movq 0x168(%rbx), %rax
subq 0x160(%rbx), %rax
shrq $0x2, %rax
cmpl %eax, %ecx
je 0x38fc7
movq 0x3b7064(%rip), %r14    # 0x3efff0
leaq 0x41d4(%rip), %rsi      # 0x3d167
movl $0x53, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
cmpl $0x0, 0x94(%rbx)
jle 0x39073
movq 0x3b7015(%rip), %rbx    # 0x3efff0
leaq 0x4037(%rip), %rsi      # 0x3d019
movl $0x2e, %edx
movq %rbx, %rdi
callq 0x4340
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
cmpq $0x0, (%rsp)
je 0x3902b
movl $0x4, %esi
movq (%rsp), %rdi
callq 0x42e0
cmpq $0x0, 0x8(%rsp)
je 0x39042
movl $0x4, %esi
movq 0x8(%rsp), %rdi
callq 0x42e0
testq %r15, %r15
movq 0x28(%rsp), %r14
movq 0x20(%rsp), %r12
je 0x3905e
movl $0x4, %esi
movq %r15, %rdi
callq 0x42e0
cmpq %r12, %r14
setne %al
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x28(%rbx), %rdi
testq %rdi, %rdi
je 0x390d3
movslq 0x10(%rsp), %r14
shrq $0x2, %r14
callq 0x2557c
movl %eax, %eax
cmpq %rax, %r14
je 0x390d3
movq 0x3b6f58(%rip), %r14    # 0x3efff0
leaq 0x411c(%rip), %rsi      # 0x3d1bb
movl $0x1a, %edx
movq %r14, %rdi
callq 0x4340
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
cmpl $0x0, 0xc8(%rbx)
jle 0x39016
xorl %r14d, %r14d
movq 0x3b6ede(%rip), %rbp    # 0x3effc8
movq %r15, 0x18(%rsp)
movq 0x28(%rbx), %rdi
testq %rdi, %rdi
je 0x3914b
movl %r14d, 0x14(%rsp)
leaq 0x14(%rsp), %rsi
callq 0x24578
movq %rax, %r13
movq (%rsp), %rax
xorps %xmm0, %xmm0
cvtss2sd (%rax,%r14,4), %xmm0
movq 0x8(%rsp), %rax
xorps %xmm1, %xmm1
cvtss2sd (%rax,%r14,4), %xmm1
xorps %xmm2, %xmm2
cvtss2sd (%r15,%r14,4), %xmm2
leaq 0x30(%rsp), %r12
movq %r12, %rdi
callq 0x39fe4
movq %r13, %rdi
movq %r12, %rsi
callq 0x14edc
jmp 0x391d2
movq 0x130(%rbx), %rax
movq 0x138(%rbx), %rdx
subq %rax, %rdx
sarq $0x2, %rdx
cmpq %r14, %rdx
jbe 0x3931f
movq (%rsp), %rcx
movss (%rcx,%r14,4), %xmm0
movss %xmm0, (%rax,%r14,4)
movq 0x148(%rbx), %rax
movq 0x150(%rbx), %rdx
subq %rax, %rdx
sarq $0x2, %rdx
cmpq %r14, %rdx
jbe 0x3931f
movq 0x8(%rsp), %rcx
movss (%rcx,%r14,4), %xmm0
movss %xmm0, (%rax,%r14,4)
movq 0x160(%rbx), %rax
movq 0x168(%rbx), %rdx
subq %rax, %rdx
sarq $0x2, %rdx
cmpq %r14, %rdx
jbe 0x3931f
movss (%r15,%r14,4), %xmm0
movss %xmm0, (%rax,%r14,4)
cmpb $0x0, 0x30(%rbx)
je 0x39307
movq (%rbp), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbp,%rax), %ecx
movl $0xfffffefb, %edx       # imm = 0xFFFFFEFB
andl %edx, %ecx
orl $0x4, %ecx
movl %ecx, 0x18(%rbp,%rax)
movl $0x4, %edx
movq %rbp, %rdi
leaq 0x3fd1(%rip), %rsi      # 0x3d1d6
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rcx
movq $0xa, 0x10(%rbp,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%rbp,%rax), %ecx
movl $0xffffff4f, %edx       # imm = 0xFFFFFF4F
andl %edx, %ecx
orl $0x80, %ecx
movl %ecx, 0x18(%rbp,%rax)
leaq 0x1(%r14), %r12
movq %rbp, %rdi
movl %r12d, %esi
callq 0x4500
movq (%rbp), %rax
movq -0x18(%rax), %rax
movl $0xe, %r15d
movq %r15, 0x10(%rbp,%rax)
movq (%rsp), %rax
xorps %xmm0, %xmm0
cvtss2sd (%rax,%r14,4), %xmm0
movq %rbp, %rdi
callq 0x44a0
movl $0x1, %edx
movq %rax, %rdi
leaq 0x3406(%rip), %r13      # 0x3c680
movq %r13, %rsi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rax
movq %r15, 0x10(%rbp,%rax)
movq 0x8(%rsp), %rax
xorps %xmm0, %xmm0
cvtss2sd (%rax,%r14,4), %xmm0
movq %rbp, %rdi
callq 0x44a0
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x4340
movq (%rbp), %rax
movq -0x18(%rax), %rax
movq %r15, 0x10(%rbp,%rax)
movq 0x18(%rsp), %r15
xorps %xmm0, %xmm0
cvtss2sd (%r15,%r14,4), %xmm0
movq %rbp, %rdi
callq 0x44a0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42a0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq %r12, %r14
jmp 0x3930a
incq %r14
movslq 0xc8(%rbx), %rax
cmpq %rax, %r14
jl 0x390ef
jmp 0x3901d
leaq 0x2003(%rip), %rdi      # 0x3b329
movq %r14, %rsi
xorl %eax, %eax
callq 0x4440
leaq 0x1ff2(%rip), %rdi      # 0x3b329
movl $0x5, %esi
jmp 0x39329
leaq 0x1fe4(%rip), %rdi      # 0x3b329
movl $0x3, %esi
jmp 0x39329
leaq 0x1fd6(%rip), %rdi      # 0x3b329
xorl %esi, %esi
jmp 0x39329
leaq 0x1fcb(%rip), %rdi      # 0x3b329
movl $0x1, %esi
jmp 0x39329
leaq 0x1fbd(%rip), %rdi      # 0x3b329
movl $0x2, %esi
jmp 0x39329
leaq 0x1faf(%rip), %rdi      # 0x3b329
movl $0x4, %esi
jmp 0x39329
nop