// File: atfrank[P]PCASA/lib/Prmtop.cpp
// Function: Prmtop::readTopology(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Prmtop::readTopology(const std::string& topin){
  std::ifstream topFile;
  std::istream* topinp;
  std::string line;
  std::vector<std::string> s;
  double m; //mass
  double c; //charge
  std::map<std::string, double> massRef;
  std::string resname;
  std::string word;

  resname.clear();

  if (topin.length() > 0){
    topFile.open(topin.c_str(), std::ios::in);
    topinp=&topFile;

    if (topinp->good() == false){
      std::cerr << "Warning: Topology file \"" << topin;
      std::cerr << " could not be read!" << std::endl;
    }

    while (topinp->good() && !(topinp->eof())){
      getline(*topinp, line);
      word=Misc::toupper(Misc::trim(line).substr(0,4));
      if (word.compare(0,4,"MASS") == 0){
        Misc::splitStr(line, " \t", s, false);
        if (s.size() >= 4){
          std::stringstream(s.at(3)) >> m;
          massRef.insert(std::make_pair(s.at(2), m));
          atomTypes.push_back(s.at(2));
        }
      }
      else if (word.compare(0,4,"RESI") == 0 || Misc::trim(line).compare(0,4,"PRES") == 0){
        Misc::splitStr(line, " \t", s, false);
        if (s.size() >= 3){
          resname=s.at(1);
        }
      }
      else if (word.compare(0,4,"ATOM") == 0){
        Misc::splitStr(line, " \t", s, false);
        if (s.size() >= 3){
          atmtype.insert(std::make_pair(std::make_pair(resname, s.at(1)), s.at(2)));
          mass.insert(std::make_pair(std::make_pair(resname, s.at(1)), massRef[s.at(2)]));
          std::stringstream(s.at(3)) >> c;
          charge.insert(std::make_pair(std::make_pair(resname, s.at(1)), c));
        }
      }
      else{
        //Do nothing
      }
    }
  }

  //Sort, remove duplicates, and resize atom type vector
  std::sort(atomTypes.begin(), atomTypes.end());
  std::vector<std::string>::iterator it=std::unique(atomTypes.begin(), atomTypes.end());
  atomTypes.resize(distance(atomTypes.begin(),it));

}

// Assembly:
subq $0xb08, %rsp            # imm = 0xB08
movq %rdi, 0xb00(%rsp)
movq %rsi, 0xaf8(%rsp)
movq 0xb00(%rsp), %rax
movq %rax, 0x170(%rsp)
leaq 0x8f0(%rsp), %rdi
callq 0x54c0
leaq 0x8c8(%rsp), %rdi
callq 0x5600
leaq 0x8b0(%rsp), %rdi
callq 0x77e0
leaq 0x870(%rsp), %rdi
callq 0x38530
leaq 0x850(%rsp), %rdi
callq 0x5600
leaq 0x830(%rsp), %rdi
callq 0x5600
leaq 0x850(%rsp), %rdi
callq 0x5580
movq 0xaf8(%rsp), %rdi
callq 0x5630
cmpq $0x0, %rax
jbe 0x59a44
movq 0xaf8(%rsp), %rdi
callq 0x51a0
movq %rax, %rsi
leaq 0x8f0(%rsp), %rdi
movl $0x8, %edx
callq 0x5260
jmp 0x58cbd
leaq 0x8f0(%rsp), %rax
movq %rax, 0x8e8(%rsp)
movq 0x8e8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x56e0
movb %al, 0x16f(%rsp)
jmp 0x58ced
movb 0x16f(%rsp), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x58d84
movq 0x3e22e7(%rip), %rdi    # 0x43aff0
leaq 0x23942(%rip), %rsi     # 0x7c652
callq 0x53f0
movq %rax, 0x160(%rsp)
jmp 0x58d1f
movq 0x160(%rsp), %rdi
movq 0xaf8(%rsp), %rsi
callq 0x5390
jmp 0x58d36
movq 0x3e22b3(%rip), %rdi    # 0x43aff0
leaq 0x23927(%rip), %rsi     # 0x7c66b
callq 0x53f0
movq %rax, 0x158(%rsp)
jmp 0x58d53
movq 0x158(%rsp), %rdi
movq 0x3e2246(%rip), %rsi    # 0x43afa8
callq 0x5460
jmp 0x58d69
jmp 0x58d84
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
jmp 0x59b9e
jmp 0x58d86
movq 0x8e8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x56e0
movb %al, 0x157(%rsp)
jmp 0x58da6
movb 0x157(%rsp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x156(%rsp)
jne 0x58dbd
jmp 0x58ded
movq 0x8e8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x5760
movb %al, 0x155(%rsp)
jmp 0x58ddd
movb 0x155(%rsp), %al
xorb $-0x1, %al
movb %al, 0x156(%rsp)
movb 0x156(%rsp), %al
testb $0x1, %al
jne 0x58dfd
jmp 0x59a42
movq 0x8e8(%rsp), %rdi
leaq 0x8c8(%rsp), %rsi
callq 0x50c0
jmp 0x58e14
leaq 0x79f(%rsp), %rdi
movq %rdi, 0x148(%rsp)
callq 0x5730
movq 0x148(%rsp), %rdx
leaq 0x23760(%rip), %rsi     # 0x7c598
leaq 0x7a0(%rsp), %rdi
callq 0x7900
jmp 0x58e47
leaq 0x7c0(%rsp), %rdi
leaq 0x8c8(%rsp), %rsi
leaq 0x7a0(%rsp), %rdx
callq 0x3dee0
jmp 0x58e66
xorl %eax, %eax
movl %eax, %edx
leaq 0x7e0(%rsp), %rdi
leaq 0x7c0(%rsp), %rsi
movl $0x4, %ecx
callq 0x5440
jmp 0x58e86
leaq 0x800(%rsp), %rdi
leaq 0x7e0(%rsp), %rsi
callq 0x3e230
jmp 0x58e9d
leaq 0x830(%rsp), %rdi
movq %rdi, 0x138(%rsp)
leaq 0x800(%rsp), %rsi
movq %rsi, 0x130(%rsp)
callq 0x5510
movq 0x130(%rsp), %rdi
callq 0x5250
leaq 0x7e0(%rsp), %rdi
callq 0x5250
leaq 0x7c0(%rsp), %rdi
callq 0x5250
leaq 0x7a0(%rsp), %rdi
callq 0x5250
leaq 0x79f(%rsp), %rdi
callq 0x5480
movq 0x138(%rsp), %rdi
leaq 0x2376d(%rip), %rcx     # 0x7c67f
xorl %eax, %eax
movl %eax, %esi
movl $0x4, %edx
callq 0x55a0
movl %eax, 0x144(%rsp)
jmp 0x58f29
movl 0x144(%rsp), %eax
cmpl $0x0, %eax
jne 0x59237
leaq 0x777(%rsp), %rdi
movq %rdi, 0x128(%rsp)
callq 0x5730
movq 0x128(%rsp), %rdx
leaq 0x22453(%rip), %rsi     # 0x7b3b0
leaq 0x778(%rsp), %rdi
callq 0x7900
jmp 0x58f6c
leaq 0x8c8(%rsp), %rdi
leaq 0x778(%rsp), %rsi
leaq 0x8b0(%rsp), %rdx
xorl %ecx, %ecx
callq 0x3d840
jmp 0x58f8d
leaq 0x778(%rsp), %rdi
callq 0x5250
leaq 0x777(%rsp), %rdi
callq 0x5480
leaq 0x8b0(%rsp), %rdi
callq 0x78e0
cmpq $0x4, %rax
jb 0x59232
leaq 0x8b0(%rsp), %rdi
movl $0x3, %esi
callq 0x79c0
movq %rax, 0x120(%rsp)
jmp 0x58fda
movl $0x10, %edi
movl $0x8, %esi
callq 0x7850
movl %eax, 0x11c(%rsp)
jmp 0x58ff2
movl 0x11c(%rsp), %edx
movq 0x120(%rsp), %rsi
leaq 0x5e8(%rsp), %rdi
callq 0x5670
jmp 0x59010
leaq 0x5e8(%rsp), %rdi
leaq 0x8a8(%rsp), %rsi
callq 0x3c750
jmp 0x59027
leaq 0x5e8(%rsp), %rdi
callq 0x52e0
leaq 0x8b0(%rsp), %rdi
movl $0x2, %esi
callq 0x79c0
movq %rax, 0x110(%rsp)
jmp 0x59050
movq 0x110(%rsp), %rsi
leaq 0x5c0(%rsp), %rdi
leaq 0x8a8(%rsp), %rdx
callq 0x5a510
jmp 0x5906f
leaq 0x870(%rsp), %rdi
leaq 0x5c0(%rsp), %rsi
callq 0x386b0
movb %dl, 0x107(%rsp)
movq %rax, 0x108(%rsp)
jmp 0x59095
movb 0x107(%rsp), %al
movq 0x108(%rsp), %rcx
movq %rcx, 0x5b0(%rsp)
movb %al, 0x5b8(%rsp)
leaq 0x5c0(%rsp), %rdi
callq 0x38790
movq 0x170(%rsp), %rax
addq $0x90, %rax
movq %rax, 0xf0(%rsp)
leaq 0x8b0(%rsp), %rdi
movl $0x2, %esi
callq 0x79c0
movq %rax, 0xf8(%rsp)
jmp 0x590f2
movq 0xf8(%rsp), %rsi
movq 0xf0(%rsp), %rdi
callq 0x7870
jmp 0x59109
jmp 0x59232
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
jmp 0x5918b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
jmp 0x5917e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
jmp 0x59171
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
leaq 0x7e0(%rsp), %rdi
callq 0x5250
leaq 0x7c0(%rsp), %rdi
callq 0x5250
leaq 0x7a0(%rsp), %rdi
callq 0x5250
leaq 0x79f(%rsp), %rdi
callq 0x5480
jmp 0x59b9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
jmp 0x591d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
leaq 0x778(%rsp), %rdi
callq 0x5250
leaq 0x777(%rsp), %rdi
callq 0x5480
jmp 0x59b9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
leaq 0x5e8(%rsp), %rdi
callq 0x52e0
jmp 0x59b9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
leaq 0x5c0(%rsp), %rdi
callq 0x38790
jmp 0x59b9e
jmp 0x59a3d
movb $0x0, 0x56e(%rsp)
movb $0x0, 0x56d(%rsp)
movb $0x0, 0x56c(%rsp)
leaq 0x2342e(%rip), %rcx     # 0x7c684
xorl %eax, %eax
movl %eax, %esi
leaq 0x830(%rsp), %rdi
movl $0x4, %edx
callq 0x55a0
movl %eax, 0xec(%rsp)
jmp 0x59275
movl 0xec(%rsp), %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, 0xeb(%rsp)
je 0x59332
leaq 0x56f(%rsp), %rdi
movq %rdi, 0xe0(%rsp)
callq 0x5730
movq 0xe0(%rsp), %rdx
movb $0x1, 0x56e(%rsp)
leaq 0x232de(%rip), %rsi     # 0x7c598
leaq 0x570(%rsp), %rdi
callq 0x7900
jmp 0x592c9
movb $0x1, 0x56d(%rsp)
leaq 0x590(%rsp), %rdi
leaq 0x8c8(%rsp), %rsi
leaq 0x570(%rsp), %rdx
callq 0x3dee0
jmp 0x592f0
movb $0x1, 0x56c(%rsp)
leaq 0x2338a(%rip), %rcx     # 0x7c689
xorl %eax, %eax
movl %eax, %esi
leaq 0x590(%rsp), %rdi
movl $0x4, %edx
callq 0x55a0
movl %eax, 0xdc(%rsp)
jmp 0x5931e
movl 0xdc(%rsp), %eax
cmpl $0x0, %eax
sete %al
movb %al, 0xeb(%rsp)
movb 0xeb(%rsp), %al
movb %al, 0xdb(%rsp)
testb $0x1, 0x56c(%rsp)
jne 0x5934c
jmp 0x59359
leaq 0x590(%rsp), %rdi
callq 0x5250
testb $0x1, 0x56d(%rsp)
jne 0x59365
jmp 0x59372
leaq 0x570(%rsp), %rdi
callq 0x5250
testb $0x1, 0x56e(%rsp)
jne 0x5937e
jmp 0x5938b
leaq 0x56f(%rsp), %rdi
callq 0x5480
movb 0xdb(%rsp), %al
testb $0x1, %al
jne 0x5939b
jmp 0x5953a
leaq 0x547(%rsp), %rdi
movq %rdi, 0xd0(%rsp)
callq 0x5730
movq 0xd0(%rsp), %rdx
leaq 0x21ff1(%rip), %rsi     # 0x7b3b0
leaq 0x548(%rsp), %rdi
callq 0x7900
jmp 0x593ce
leaq 0x8c8(%rsp), %rdi
leaq 0x548(%rsp), %rsi
leaq 0x8b0(%rsp), %rdx
xorl %ecx, %ecx
callq 0x3d840
jmp 0x593ef
leaq 0x548(%rsp), %rdi
callq 0x5250
leaq 0x547(%rsp), %rdi
callq 0x5480
leaq 0x8b0(%rsp), %rdi
callq 0x78e0
cmpq $0x3, %rax
jb 0x59535
leaq 0x8b0(%rsp), %rdi
movl $0x1, %esi
callq 0x79c0
movq %rax, 0xc8(%rsp)
jmp 0x5943c
movq 0xc8(%rsp), %rsi
leaq 0x850(%rsp), %rdi
callq 0x5060
jmp 0x59453
jmp 0x59535
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
jmp 0x594ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
jmp 0x594b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
testb $0x1, 0x56c(%rsp)
jne 0x594a4
jmp 0x594b1
leaq 0x590(%rsp), %rdi
callq 0x5250
jmp 0x594b3
testb $0x1, 0x56d(%rsp)
jne 0x594bf
jmp 0x594cc
leaq 0x570(%rsp), %rdi
callq 0x5250
jmp 0x594ce
testb $0x1, 0x56e(%rsp)
jne 0x594da
jmp 0x594e7
leaq 0x56f(%rsp), %rdi
callq 0x5480
jmp 0x59b9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
jmp 0x59523
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
leaq 0x548(%rsp), %rdi
callq 0x5250
leaq 0x547(%rsp), %rdi
callq 0x5480
jmp 0x59b9e
jmp 0x59a3b
leaq 0x2209d(%rip), %rcx     # 0x7b5de
xorl %eax, %eax
movl %eax, %esi
leaq 0x830(%rsp), %rdi
movl $0x4, %edx
callq 0x55a0
movl %eax, 0xc4(%rsp)
jmp 0x59560
movl 0xc4(%rsp), %eax
cmpl $0x0, %eax
jne 0x59a37
leaq 0x51f(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0x5730
movq 0xb8(%rsp), %rdx
leaq 0x21e1c(%rip), %rsi     # 0x7b3b0
leaq 0x520(%rsp), %rdi
callq 0x7900
jmp 0x595a3
leaq 0x8c8(%rsp), %rdi
leaq 0x520(%rsp), %rsi
leaq 0x8b0(%rsp), %rdx
xorl %ecx, %ecx
callq 0x3d840
jmp 0x595c4
leaq 0x520(%rsp), %rdi
callq 0x5250
leaq 0x51f(%rsp), %rdi
callq 0x5480
leaq 0x8b0(%rsp), %rdi
callq 0x78e0
cmpq $0x3, %rax
jb 0x59a35
movq 0x170(%rsp), %rax
addq $0x60, %rax
movq %rax, 0xa8(%rsp)
leaq 0x8b0(%rsp), %rdi
movl $0x1, %esi
callq 0x79c0
movq %rax, 0xb0(%rsp)
jmp 0x59625
movq 0xb0(%rsp), %rdx
leaq 0x478(%rsp), %rdi
leaq 0x850(%rsp), %rsi
callq 0x5a5e0
jmp 0x59644
leaq 0x8b0(%rsp), %rdi
movl $0x2, %esi
callq 0x79c0
movq %rax, 0xa0(%rsp)
jmp 0x59660
movq 0xa0(%rsp), %rdx
leaq 0x4b8(%rsp), %rdi
leaq 0x478(%rsp), %rsi
callq 0x5a5a0
jmp 0x5967f
movq 0xa8(%rsp), %rdi
leaq 0x4b8(%rsp), %rsi
callq 0x5a550
movb %dl, 0x97(%rsp)
movq %rax, 0x98(%rsp)
jmp 0x596a5
movb 0x97(%rsp), %al
movq 0x98(%rsp), %rcx
movq %rcx, 0x468(%rsp)
movb %al, 0x470(%rsp)
leaq 0x4b8(%rsp), %rdi
callq 0x5a620
leaq 0x478(%rsp), %rdi
callq 0x3c8c0
movq 0x170(%rsp), %rax
movq %rax, 0x80(%rsp)
leaq 0x8b0(%rsp), %rdi
movl $0x1, %esi
callq 0x79c0
movq %rax, 0x88(%rsp)
jmp 0x59709
movq 0x88(%rsp), %rdx
leaq 0x3e0(%rsp), %rdi
leaq 0x850(%rsp), %rsi
callq 0x5a5e0
jmp 0x59728
leaq 0x8b0(%rsp), %rdi
movl $0x2, %esi
callq 0x79c0
movq %rax, 0x78(%rsp)
jmp 0x59741
movq 0x78(%rsp), %rsi
leaq 0x870(%rsp), %rdi
callq 0x5a6e0
movq %rax, 0x70(%rsp)
jmp 0x5975a
movq 0x70(%rsp), %rdx
leaq 0x420(%rsp), %rdi
leaq 0x3e0(%rsp), %rsi
callq 0x5a6a0
jmp 0x59776
movq 0x80(%rsp), %rdi
leaq 0x420(%rsp), %rsi
callq 0x5a650
movb %dl, 0x67(%rsp)
movq %rax, 0x68(%rsp)
jmp 0x59796
movb 0x67(%rsp), %al
movq 0x68(%rsp), %rcx
movq %rcx, 0x3d0(%rsp)
movb %al, 0x3d8(%rsp)
leaq 0x420(%rsp), %rdi
callq 0x5a7d0
leaq 0x3e0(%rsp), %rdi
callq 0x3c8c0
leaq 0x8b0(%rsp), %rdi
movl $0x3, %esi
callq 0x79c0
movq %rax, 0x58(%rsp)
jmp 0x597e1
movl $0x10, %edi
movl $0x8, %esi
callq 0x7850
movl %eax, 0x54(%rsp)
jmp 0x597f6
movl 0x54(%rsp), %edx
movq 0x58(%rsp), %rsi
leaq 0x248(%rsp), %rdi
callq 0x5670
jmp 0x5980e
leaq 0x248(%rsp), %rdi
leaq 0x8a0(%rsp), %rsi
callq 0x3c750
jmp 0x59825
leaq 0x248(%rsp), %rdi
callq 0x52e0
movq 0x170(%rsp), %rax
addq $0x30, %rax
movq %rax, 0x40(%rsp)
leaq 0x8b0(%rsp), %rdi
movl $0x1, %esi
callq 0x79c0
movq %rax, 0x48(%rsp)
jmp 0x5985c
movq 0x48(%rsp), %rdx
leaq 0x1c0(%rsp), %rdi
leaq 0x850(%rsp), %rsi
callq 0x5a5e0
jmp 0x59878
leaq 0x200(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
leaq 0x8a0(%rsp), %rdx
callq 0x5a6a0
jmp 0x59897
movq 0x40(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0x5a650
movb %dl, 0x37(%rsp)
movq %rax, 0x38(%rsp)
jmp 0x598b4
movb 0x37(%rsp), %al
movq 0x38(%rsp), %rcx
movq %rcx, 0x1b0(%rsp)
movb %al, 0x1b8(%rsp)
leaq 0x200(%rsp), %rdi
callq 0x5a7d0
leaq 0x1c0(%rsp), %rdi
callq 0x3c8c0
jmp 0x59a35
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
jmp 0x59922
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
leaq 0x520(%rsp), %rdi
callq 0x5250
leaq 0x51f(%rsp), %rdi
callq 0x5480
jmp 0x59b9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
jmp 0x5996b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
leaq 0x4b8(%rsp), %rdi
callq 0x5a620
leaq 0x478(%rsp), %rdi
callq 0x3c8c0
jmp 0x59b9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
jmp 0x599b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
leaq 0x420(%rsp), %rdi
callq 0x5a7d0
leaq 0x3e0(%rsp), %rdi
callq 0x3c8c0
jmp 0x59b9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
leaq 0x248(%rsp), %rdi
callq 0x52e0
jmp 0x59b9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
jmp 0x59a23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x828(%rsp)
movl %eax, 0x824(%rsp)
leaq 0x200(%rsp), %rdi
callq 0x5a7d0
leaq 0x1c0(%rsp), %rdi
callq 0x3c8c0
jmp 0x59b9e
jmp 0x59a39
jmp 0x59a39
jmp 0x59a3b
jmp 0x59a3d
jmp 0x58d86
jmp 0x59a44
movq 0x170(%rsp), %rdi
addq $0x90, %rdi
movq %rdi, 0x28(%rsp)
callq 0x8840
movq 0x28(%rsp), %rdi
movq %rax, 0x1a8(%rsp)
callq 0x86b0
movq %rax, 0x1a0(%rsp)
movq 0x1a8(%rsp), %rdi
movq 0x1a0(%rsp), %rsi
callq 0x47630
jmp 0x59a8e
movq 0x170(%rsp), %rdi
addq $0x90, %rdi
movq %rdi, 0x18(%rsp)
callq 0x8840
movq 0x18(%rsp), %rdi
movq %rax, 0x190(%rsp)
callq 0x86b0
movq %rax, 0x188(%rsp)
movq 0x190(%rsp), %rdi
movq 0x188(%rsp), %rsi
callq 0x38580
movq %rax, 0x20(%rsp)
jmp 0x59add
movq 0x170(%rsp), %rdi
movq 0x20(%rsp), %rax
movq %rax, 0x198(%rsp)
addq $0x90, %rdi
movq %rdi, 0x8(%rsp)
callq 0x8840
movq %rax, 0x180(%rsp)
movq 0x198(%rsp), %rax
movq %rax, 0x178(%rsp)
movq 0x180(%rsp), %rdi
movq 0x178(%rsp), %rsi
callq 0x38670
movq %rax, 0x10(%rsp)
jmp 0x59b37
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x385d0
jmp 0x59b48
leaq 0x830(%rsp), %rdi
callq 0x5250
leaq 0x850(%rsp), %rdi
callq 0x5250
leaq 0x870(%rsp), %rdi
callq 0x38540
leaq 0x8b0(%rsp), %rdi
callq 0x7ab0
leaq 0x8c8(%rsp), %rdi
callq 0x5250
leaq 0x8f0(%rsp), %rdi
callq 0x5120
addq $0xb08, %rsp            # imm = 0xB08
retq
leaq 0x830(%rsp), %rdi
callq 0x5250
leaq 0x850(%rsp), %rdi
callq 0x5250
leaq 0x870(%rsp), %rdi
callq 0x38540
leaq 0x8b0(%rsp), %rdi
callq 0x7ab0
leaq 0x8c8(%rsp), %rdi
callq 0x5250
leaq 0x8f0(%rsp), %rdi
callq 0x5120
movq 0x828(%rsp), %rdi
callq 0x5720
nopl (%rax)