// File: Altius[P]hotspot2/src/resolveOverlapsInSummit-CenteredPeaks.cpp
// Function: PeakfromString(char*, Peak&)
bool PeakfromString(char *s, Peak& d)
{
  char *p = strtok(s, "\t");
  int fieldnum(1);
  if (!p)
    {
    MissingField:
      cerr << "Error:  Missing required field " << fieldnum
	   << " in " << s << "." << endl << endl;
      return false;
    }
  d.chrom = string(p);
  fieldnum++;
  if (!(p = strtok(NULL, "\t")))
    goto MissingField;
  d.beg = atol(p);
  fieldnum++;
  if (!(p = strtok(NULL, "\t")))
    goto MissingField;
  d.end = atol(p);
  fieldnum++;
  if (!(p = strtok(NULL, "\t")))
    goto MissingField;
  d.id = string(p);
  fieldnum++;
  if (!(p = strtok(NULL, "\t")))
    goto MissingField;
  d.score = atof(p);
  d.score_string = string(p);
  return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x38b6(%rip), %rsi      # 0x6004
callq 0x22f0
movq %rax, -0x20(%rbp)
movl $0x1, -0x24(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x27d6
jmp 0x2767
movq 0x6882(%rip), %rdi      # 0x8ff0
leaq 0x3891(%rip), %rsi      # 0x6006
callq 0x21d0
movq %rax, %rdi
movl -0x24(%rbp), %esi
callq 0x2320
movq %rax, %rdi
leaq 0x3897(%rip), %rsi      # 0x6026
callq 0x21d0
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0x21d0
movq %rax, %rdi
leaq 0x38c7(%rip), %rsi      # 0x6071
callq 0x21d0
movq %rax, %rdi
movq 0x67ff(%rip), %rsi      # 0x8fb8
callq 0x2200
movq %rax, %rdi
movq 0x67f0(%rip), %rsi      # 0x8fb8
callq 0x2200
movb $0x0, -0x1(%rbp)
jmp 0x2a21
movq -0x20(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq -0x49(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x2340
movq -0xc0(%rbp), %rsi
movq -0xb8(%rbp), %rdx
leaq -0x48(%rbp), %rdi
callq 0x3630
jmp 0x280a
movq -0x18(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2270
leaq -0x48(%rbp), %rdi
callq 0x2130
leaq -0x49(%rbp), %rdi
callq 0x2220
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
xorl %eax, %eax
movl %eax, %edi
leaq 0x37c7(%rip), %rsi      # 0x6004
callq 0x22f0
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x286b
jmp 0x2767
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x49(%rbp), %rdi
callq 0x2220
jmp 0x2a2f
movq -0x20(%rbp), %rdi
callq 0x2260
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x20(%rax)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
xorl %eax, %eax
movl %eax, %edi
leaq 0x3771(%rip), %rsi      # 0x6004
callq 0x22f0
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x28a7
jmp 0x2767
movq -0x20(%rbp), %rdi
callq 0x2260
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x28(%rax)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
xorl %eax, %eax
movl %eax, %edi
leaq 0x3735(%rip), %rsi      # 0x6004
callq 0x22f0
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x28e3
jmp 0x2767
movq -0x20(%rbp), %rax
movq %rax, -0xd0(%rbp)
leaq -0x81(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x2340
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
leaq -0x80(%rbp), %rdi
callq 0x3630
jmp 0x291a
movq -0x18(%rbp), %rdi
addq $0x30, %rdi
leaq -0x80(%rbp), %rsi
callq 0x2270
leaq -0x80(%rbp), %rdi
callq 0x2130
leaq -0x81(%rbp), %rdi
callq 0x2220
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
xorl %eax, %eax
movl %eax, %edi
leaq 0x36b0(%rip), %rsi      # 0x6004
callq 0x22f0
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x2985
jmp 0x2767
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x81(%rbp), %rdi
callq 0x2220
jmp 0x2a2f
movq -0x20(%rbp), %rdi
callq 0x2290
cvtsd2ss %xmm0, %xmm0
movq -0x18(%rbp), %rax
movss %xmm0, 0x50(%rax)
movq -0x20(%rbp), %rax
movq %rax, -0xe0(%rbp)
leaq -0xa9(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x2340
movq -0xe0(%rbp), %rsi
movq -0xd8(%rbp), %rdx
leaq -0xa8(%rbp), %rdi
callq 0x3630
jmp 0x29d5
movq -0x18(%rbp), %rdi
addq $0x58, %rdi
leaq -0xa8(%rbp), %rsi
callq 0x2270
leaq -0xa8(%rbp), %rdi
callq 0x2130
leaq -0xa9(%rbp), %rdi
callq 0x2220
movb $0x1, -0x1(%rbp)
jmp 0x2a21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xa9(%rbp), %rdi
callq 0x2220
jmp 0x2a2f
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0xe0, %rsp
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x2330
nopl (%rax,%rax)