// File: Luthaf[P]zeopp/networkinfo.cc
// Function: readMassTable(char*)
void readMassTable(char *filename){
  massTable.clear();
  fstream input;
  input.open(filename);
  
  if(!input.is_open()){
    cerr << "Failed to open molar mass input file " << filename << "\n";
    cerr << "Exiting ..." << "\n";
    exit(1);
  }
  else{
    string type = "N/A";
    double mass = -1;

    while(!input.eof()){
      input >> type >> mass;
      massTable.insert(pair<string,double> (type,mass));
    }
  }
  input.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2f0, %rsp            # imm = 0x2F0
movq %rdi, -0x8(%rbp)
leaq 0x22d202(%rip), %rdi    # 0x273608
callq 0x475e0
leaq -0x218(%rbp), %rdi
callq 0x5660
movq -0x8(%rbp), %rax
movq %rax, -0x2a0(%rbp)
movl $0x8, %edi
movl $0x10, %esi
callq 0x47640
movl %eax, -0x294(%rbp)
jmp 0x46439
movl -0x294(%rbp), %edx
movq -0x2a0(%rbp), %rsi
leaq -0x218(%rbp), %rdi
callq 0x54b0
jmp 0x46454
leaq -0x218(%rbp), %rdi
callq 0x58b0
movb %al, -0x2a1(%rbp)
jmp 0x46468
movb -0x2a1(%rbp), %al
testb $0x1, %al
jne 0x46514
jmp 0x46478
movq 0x22cb71(%rip), %rdi    # 0x272ff0
leaq 0x1ac461(%rip), %rsi    # 0x1f28e7
callq 0x5540
movq %rax, -0x2b0(%rbp)
jmp 0x46494
movq -0x2b0(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x5540
movq %rax, -0x2b8(%rbp)
jmp 0x464ad
movq -0x2b8(%rbp), %rdi
leaq 0x1b316a(%rip), %rsi    # 0x1f9625
callq 0x5540
jmp 0x464c2
movq 0x22cb27(%rip), %rdi    # 0x272ff0
leaq 0x1ac733(%rip), %rsi    # 0x1f2c03
callq 0x5540
movq %rax, -0x2c0(%rbp)
jmp 0x464de
movq -0x2c0(%rbp), %rdi
leaq 0x1b3139(%rip), %rsi    # 0x1f9625
callq 0x5540
jmp 0x464f3
movl $0x1, %edi
callq 0x67c0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
jmp 0x466bd
leaq -0x249(%rbp), %rdi
movq %rdi, -0x2c8(%rbp)
callq 0x5900
movq -0x2c8(%rbp), %rdx
leaq 0x1ac3ae(%rip), %rsi    # 0x1f28e3
leaq -0x248(%rbp), %rdi
callq 0x47530
jmp 0x46543
leaq -0x249(%rbp), %rdi
callq 0x55d0
movsd 0x1ac221(%rip), %xmm0   # 0x1f2778
movsd %xmm0, -0x258(%rbp)
movq -0x218(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x218(%rbp,%rax), %rdi
callq 0x5960
movb %al, -0x2c9(%rbp)
jmp 0x4657f
movb -0x2c9(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x46590
jmp 0x4667e
leaq -0x218(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x56a0
movq %rax, -0x2d8(%rbp)
jmp 0x465ac
movq -0x2d8(%rbp), %rdi
leaq -0x258(%rbp), %rsi
callq 0x5420
jmp 0x465c1
leaq -0x280(%rbp), %rdi
leaq -0x248(%rbp), %rsi
leaq -0x258(%rbp), %rdx
callq 0x47600
jmp 0x465dd
leaq 0x22d024(%rip), %rdi    # 0x273608
leaq -0x280(%rbp), %rsi
callq 0x46ee0
movb %dl, -0x2e1(%rbp)
movq %rax, -0x2e0(%rbp)
jmp 0x465ff
movb -0x2e1(%rbp), %al
movq -0x2e0(%rbp), %rcx
movq %rcx, -0x290(%rbp)
movb %al, -0x288(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x46fb0
jmp 0x4655f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
leaq -0x249(%rbp), %rdi
callq 0x55d0
jmp 0x466bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
jmp 0x4668c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x46fb0
jmp 0x4668c
leaq -0x248(%rbp), %rdi
callq 0x5300
jmp 0x4669a
leaq -0x248(%rbp), %rdi
callq 0x5300
jmp 0x466bd
leaq -0x218(%rbp), %rdi
callq 0x50a0
jmp 0x466a8
leaq -0x218(%rbp), %rdi
callq 0x5150
addq $0x2f0, %rsp            # imm = 0x2F0
popq %rbp
retq
leaq -0x218(%rbp), %rdi
callq 0x5150
movq -0x220(%rbp), %rdi
callq 0x58f0
nopw %cs:(%rax,%rax)