// File: Kingsford-Group[P]ghost2/src/readFromGexf.hpp
// Function: getAttribute[abi:cxx11](std::basic_ifstream<char, std::char_traits<char>>*)
string getAttribute(ifstream *fin)
{
  string cur = nextTag(fin);
  while(cur.substr(0,10) != "attributes")
  {
    cur = nextTag(fin);
    if(cur == "<EOF>") {cout << "read attribute error\n"; break;}
  }
  while(cur != "/attributes")
  {
    cur = nextTag(fin);
    if(cur == "<EOF>") {cout << "read attribute error\n"; break;}
    string title = extract(cur,"title");
    if(title != "<EOS>")
      return title;
  }
  return "";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
movq %rdi, -0x108(%rbp)
movq %rdi, %rax
movq %rax, -0x100(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0x12580
xorl %eax, %eax
movl %eax, %edx
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rsi
movl $0xa, %ecx
callq 0x10740
jmp 0x12ba9
leaq 0xa9b48(%rip), %rsi     # 0xbc6f8
leaq -0x50(%rbp), %rdi
callq 0x23540
movb %al, -0x109(%rbp)
jmp 0x12bc1
leaq -0x50(%rbp), %rdi
callq 0x10460
movb -0x109(%rbp), %al
testb $0x1, %al
jne 0x12bd9
jmp 0x12c7d
movq -0x10(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x12580
jmp 0x12be8
leaq -0x30(%rbp), %rdi
movq %rdi, -0x118(%rbp)
leaq -0x80(%rbp), %rsi
movq %rsi, -0x120(%rbp)
callq 0x108a0
movq -0x120(%rbp), %rdi
callq 0x10460
movq -0x118(%rbp), %rdi
leaq 0xa9ab6(%rip), %rsi     # 0xbc6d3
callq 0x233d0
movb %al, -0x10a(%rbp)
jmp 0x12c2a
movb -0x10a(%rbp), %al
testb $0x1, %al
jne 0x12c36
jmp 0x12c78
movq 0x11e35b(%rip), %rdi    # 0x130f98
leaq 0xa9a9d(%rip), %rsi     # 0xbc6e1
callq 0x106c0
jmp 0x12c4b
jmp 0x12c7d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x12eef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x10460
jmp 0x12eef
jmp 0x12b91
jmp 0x12c7f
leaq 0xa9a71(%rip), %rsi     # 0xbc6f7
leaq -0x30(%rbp), %rdi
callq 0x23540
movb %al, -0x121(%rbp)
jmp 0x12c97
movb -0x121(%rbp), %al
testb $0x1, %al
jne 0x12ca6
jmp 0x12e75
movq -0x10(%rbp), %rsi
leaq -0xa0(%rbp), %rdi
callq 0x12580
jmp 0x12cb8
leaq -0x30(%rbp), %rdi
movq %rdi, -0x130(%rbp)
leaq -0xa0(%rbp), %rsi
movq %rsi, -0x138(%rbp)
callq 0x108a0
movq -0x138(%rbp), %rdi
callq 0x10460
movq -0x130(%rbp), %rdi
leaq 0xa99e3(%rip), %rsi     # 0xbc6d3
callq 0x233d0
movb %al, -0x122(%rbp)
jmp 0x12cfd
movb -0x122(%rbp), %al
testb $0x1, %al
jne 0x12d09
jmp 0x12d23
movq 0x11e288(%rip), %rdi    # 0x130f98
leaq 0xa99ca(%rip), %rsi     # 0xbc6e1
callq 0x106c0
jmp 0x12d1e
jmp 0x12e75
movb $0x0, -0xa1(%rbp)
leaq -0xc8(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x10300
jmp 0x12d3c
leaq -0xe9(%rbp), %rdi
movq %rdi, -0x140(%rbp)
callq 0x10ce0
movq -0x140(%rbp), %rdx
leaq 0xa99a6(%rip), %rsi     # 0xbc703
leaq -0xe8(%rbp), %rdi
callq 0x23400
jmp 0x12d6b
movq -0x108(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
leaq -0xe8(%rbp), %rdx
callq 0x12780
jmp 0x12d87
leaq -0xe8(%rbp), %rdi
callq 0x10460
leaq -0xe9(%rbp), %rdi
callq 0x10770
leaq -0xc8(%rbp), %rdi
callq 0x10460
movq -0x108(%rbp), %rdi
leaq 0xa9922(%rip), %rsi     # 0xbc6db
callq 0x23540
movb %al, -0x141(%rbp)
jmp 0x12dc6
movb -0x141(%rbp), %al
testb $0x1, %al
jne 0x12dd2
jmp 0x12e45
movb $0x1, -0xa1(%rbp)
movl $0x1, -0xf0(%rbp)
jmp 0x12e4f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x12e0b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x10460
leaq -0xe9(%rbp), %rdi
callq 0x10770
leaq -0xc8(%rbp), %rdi
callq 0x10460
jmp 0x12eef
movq -0x108(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
callq 0x10460
jmp 0x12eef
movl $0x0, -0xf0(%rbp)
testb $0x1, -0xa1(%rbp)
jne 0x12e64
movq -0x108(%rbp), %rdi
callq 0x10460
movl -0xf0(%rbp), %eax
testl %eax, %eax
jne 0x12ed6
jmp 0x12e70
jmp 0x12c7f
leaq -0xf1(%rbp), %rdi
movq %rdi, -0x150(%rbp)
callq 0x10ce0
movq -0x108(%rbp), %rdi
movq -0x150(%rbp), %rdx
leaq 0xa99ef(%rip), %rsi     # 0xbc88c
callq 0x23400
jmp 0x12ea4
leaq -0xf1(%rbp), %rdi
callq 0x10770
movl $0x1, -0xf0(%rbp)
jmp 0x12ed6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xf1(%rbp), %rdi
callq 0x10770
jmp 0x12eef
leaq -0x30(%rbp), %rdi
callq 0x10460
movq -0x100(%rbp), %rax
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0x10460
movq -0x58(%rbp), %rdi
callq 0x10cc0
nopw %cs:(%rax,%rax)