// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/cmdline.h
// Function: cmdline::parser::parse(int, char const* const*)
bool parse(int argc, const char * const argv[]){
    errors.clear();
    others.clear();

    if (argc<1){
      errors.push_back("argument number must be longer than 0");
      return false;
    }
    if (prog_name=="")
      prog_name=argv[0];

    std::map<char, std::string> lookup;
    for (std::map<std::string, option_base*>::iterator p=options.begin();
         p!=options.end(); p++){
      if (p->first.length()==0) continue;
      char initial=p->second->short_name();
      if (initial){
        if (lookup.count(initial)>0){
          lookup[initial]="";
          errors.push_back(std::string("short option '")+initial+"' is ambiguous");
          return false;
        }
        else lookup[initial]=p->first;
      }
    }

    for (int i=1; i<argc; i++){
      if (strncmp(argv[i], "--", 2)==0){
        const char *p=strchr(argv[i]+2, '=');
        if (p){
          std::string name(argv[i]+2, p);
          std::string val(p+1);
          set_option(name, val);
        }
        else{
          std::string name(argv[i]+2);
          if (options.count(name)==0){
            errors.push_back("undefined option: --"+name);
            continue;
          }
          if (options[name]->has_value()){
            if (i+1>=argc){
              errors.push_back("option needs value: --"+name);
              continue;
            }
            else{
              i++;
              set_option(name, argv[i]);
            }
          }
          else{
            set_option(name);
          }
        }
      }
      else if (strncmp(argv[i], "-", 1)==0){
        if (!argv[i][1]) continue;
        char last=argv[i][1];
        for (int j=2; argv[i][j]; j++){
          last=argv[i][j];
          if (lookup.count(argv[i][j-1])==0){
            errors.push_back(std::string("undefined short option: -")+argv[i][j-1]);
            continue;
          }
          if (lookup[argv[i][j-1]]==""){
            errors.push_back(std::string("ambiguous short option: -")+argv[i][j-1]);
            continue;
          }
          set_option(lookup[argv[i][j-1]]);
        }

        if (lookup.count(last)==0){
          errors.push_back(std::string("undefined short option: -")+last);
          continue;
        }
        if (lookup[last]==""){
          errors.push_back(std::string("ambiguous short option: -")+last);
          continue;
        }

        if (i+1<argc && options[lookup[last]]->has_value()){
          set_option(lookup[last], argv[i+1]);
          i++;
        }
        else{
          set_option(lookup[last]);
        }
      }
      else{
        others.push_back(argv[i]);
      }
    }

    for (std::map<std::string, option_base*>::iterator p=options.begin();
         p!=options.end(); p++)
      if (!p->second->valid())
        errors.push_back("need option: --"+std::string(p->first));

    return errors.size()==0;
  }

// Assembly:
subq $0x568, %rsp            # imm = 0x568
movq %rdi, 0x558(%rsp)
movl %esi, 0x554(%rsp)
movq %rdx, 0x548(%rsp)
movq 0x558(%rsp), %rdi
movq %rdi, 0x198(%rsp)
addq $0xa0, %rdi
callq 0xcc90
movq 0x198(%rsp), %rdi
addq $0x88, %rdi
callq 0xcc90
cmpl $0x1, 0x554(%rsp)
jge 0x8ecc
movq 0x198(%rsp), %rax
addq $0xa0, %rax
movq %rax, 0x188(%rsp)
leaq 0x527(%rsp), %rdi
movq %rdi, 0x190(%rsp)
callq 0x46b0
movq 0x190(%rsp), %rdx
leaq 0xd3cd(%rip), %rsi      # 0x16203
leaq 0x528(%rsp), %rdi
callq 0x67f0
jmp 0x8e45
movq 0x188(%rsp), %rdi
leaq 0x528(%rsp), %rsi
callq 0xccb0
jmp 0x8e5c
leaq 0x528(%rsp), %rdi
callq 0x4758
leaq 0x527(%rsp), %rdi
callq 0x43e0
movb $0x0, 0x567(%rsp)
jmp 0xa2c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x8eba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x528(%rsp), %rdi
callq 0x4758
leaq 0x527(%rsp), %rdi
callq 0x43e0
jmp 0xa2d8
movq 0x198(%rsp), %rdi
addq $0x68, %rdi
leaq 0xde2e(%rip), %rsi      # 0x16d0d
callq 0x68b0
testb $0x1, %al
jne 0x8eea
jmp 0x8f06
movq 0x198(%rsp), %rdi
movq 0x548(%rsp), %rax
movq (%rax), %rsi
addq $0x68, %rdi
callq 0x4500
leaq 0x4e0(%rsp), %rdi
callq 0xcce0
movq 0x198(%rsp), %rdi
callq 0xccf0
movq %rax, 0x4d8(%rsp)
movq 0x198(%rsp), %rdi
callq 0xab10
movq %rax, 0x4d0(%rsp)
leaq 0x4d8(%rsp), %rdi
leaq 0x4d0(%rsp), %rsi
callq 0xcd20
testb $0x1, %al
jne 0x8f5b
jmp 0x921e
leaq 0x4d8(%rsp), %rdi
callq 0xcd40
movq %rax, %rdi
callq 0x4590
cmpq $0x0, %rax
jne 0x8f7b
jmp 0x9202
leaq 0x4d8(%rsp), %rdi
callq 0xcd40
movq 0x20(%rax), %rdi
movq (%rdi), %rax
movq 0x48(%rax), %rax
callq *%rax
movb %al, 0x187(%rsp)
jmp 0x8f9e
movb 0x187(%rsp), %al
movb %al, 0x4cf(%rsp)
cmpb $0x0, 0x4cf(%rsp)
je 0x9200
leaq 0x4e0(%rsp), %rdi
leaq 0x4cf(%rsp), %rsi
callq 0xcd60
movq %rax, 0x178(%rsp)
jmp 0x8fd9
movq 0x178(%rsp), %rax
cmpq $0x0, %rax
jbe 0x91b1
leaq 0x4e0(%rsp), %rdi
leaq 0x4cf(%rsp), %rsi
callq 0xcdc0
movq %rax, 0x170(%rsp)
jmp 0x900a
movq 0x170(%rsp), %rdi
leaq 0xdcf4(%rip), %rsi      # 0x16d0d
callq 0x4500
jmp 0x9020
movq 0x198(%rsp), %rax
addq $0xa0, %rax
movq %rax, 0x160(%rsp)
leaq 0x467(%rsp), %rdi
movq %rdi, 0x168(%rsp)
callq 0x46b0
movq 0x168(%rsp), %rdx
leaq 0xd1cf(%rip), %rsi      # 0x16229
leaq 0x468(%rsp), %rdi
callq 0x67f0
jmp 0x9069
movsbl 0x4cf(%rsp), %edx
leaq 0x488(%rsp), %rdi
leaq 0x468(%rsp), %rsi
callq 0xcf00
jmp 0x9088
leaq 0xd1a9(%rip), %rdx      # 0x16238
leaq 0x4a8(%rsp), %rdi
leaq 0x488(%rsp), %rsi
callq 0xceb0
jmp 0x90a6
movq 0x160(%rsp), %rdi
leaq 0x4a8(%rsp), %rsi
callq 0xccb0
jmp 0x90bd
leaq 0x4a8(%rsp), %rdi
callq 0x4758
leaq 0x488(%rsp), %rdi
callq 0x4758
leaq 0x468(%rsp), %rdi
callq 0x4758
leaq 0x467(%rsp), %rdi
callq 0x43e0
movb $0x0, 0x567(%rsp)
movl $0x1, 0x460(%rsp)
jmp 0xa2a9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0xa2b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x919f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x9192
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x9185
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x4a8(%rsp), %rdi
callq 0x4758
leaq 0x488(%rsp), %rdi
callq 0x4758
leaq 0x468(%rsp), %rdi
callq 0x4758
leaq 0x467(%rsp), %rdi
callq 0x43e0
jmp 0xa2b8
leaq 0x4d8(%rsp), %rdi
callq 0xcd40
movq %rax, 0x150(%rsp)
leaq 0x4e0(%rsp), %rdi
leaq 0x4cf(%rsp), %rsi
callq 0xcdc0
movq %rax, 0x158(%rsp)
jmp 0x91e5
movq 0x150(%rsp), %rsi
movq 0x158(%rsp), %rdi
callq 0x4070
jmp 0x91fc
jmp 0x91fe
jmp 0x9200
jmp 0x9202
leaq 0x4d8(%rsp), %rdi
xorl %esi, %esi
callq 0xcf50
movq %rax, 0x458(%rsp)
jmp 0x8f28
movl $0x1, 0x454(%rsp)
movl 0x454(%rsp), %eax
cmpl 0x554(%rsp), %eax
jge 0xa122
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xd078(%rip), %rsi      # 0x162d0
movl $0x2, %edx
callq 0x41b0
cmpl $0x0, %eax
jne 0x97ba
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x2, %rdi
movl $0x3d, %esi
callq 0x4140
movq %rax, 0x448(%rsp)
cmpq $0x0, 0x448(%rsp)
je 0x942b
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rax
addq $0x2, %rax
movq %rax, 0x138(%rsp)
movq 0x448(%rsp), %rax
movq %rax, 0x140(%rsp)
leaq 0x427(%rsp), %rdi
movq %rdi, 0x148(%rsp)
callq 0x46b0
movq 0x138(%rsp), %rsi
movq 0x140(%rsp), %rdx
movq 0x148(%rsp), %rcx
leaq 0x428(%rsp), %rdi
callq 0xcf90
jmp 0x9310
leaq 0x427(%rsp), %rdi
callq 0x43e0
movq 0x448(%rsp), %rax
incq %rax
movq %rax, 0x128(%rsp)
leaq 0x3ff(%rsp), %rdi
movq %rdi, 0x130(%rsp)
callq 0x46b0
movq 0x128(%rsp), %rsi
movq 0x130(%rsp), %rdx
leaq 0x400(%rsp), %rdi
callq 0x67f0
jmp 0x9364
leaq 0x3ff(%rsp), %rdi
callq 0x43e0
movq 0x198(%rsp), %rdi
leaq 0x428(%rsp), %rsi
leaq 0x400(%rsp), %rdx
callq 0xd010
jmp 0x9390
leaq 0x400(%rsp), %rdi
callq 0x4758
leaq 0x428(%rsp), %rdi
callq 0x4758
jmp 0x97b5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x427(%rsp), %rdi
callq 0x43e0
jmp 0xa2b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x3ff(%rsp), %rdi
callq 0x43e0
jmp 0x9419
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x400(%rsp), %rdi
callq 0x4758
leaq 0x428(%rsp), %rdi
callq 0x4758
jmp 0xa2b8
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rax
addq $0x2, %rax
movq %rax, 0x118(%rsp)
leaq 0x3d7(%rsp), %rdi
movq %rdi, 0x120(%rsp)
callq 0x46b0
movq 0x118(%rsp), %rsi
movq 0x120(%rsp), %rdx
leaq 0x3d8(%rsp), %rdi
callq 0x67f0
jmp 0x947f
leaq 0x3d7(%rsp), %rdi
callq 0x43e0
movq 0x198(%rsp), %rdi
leaq 0x3d8(%rsp), %rsi
callq 0x8920
movq %rax, 0x110(%rsp)
jmp 0x94ab
movq 0x110(%rsp), %rax
cmpq $0x0, %rax
jne 0x958a
movq 0x198(%rsp), %rax
addq $0xa0, %rax
movq %rax, 0x108(%rsp)
leaq 0xcd6d(%rip), %rsi      # 0x16247
leaq 0x3b0(%rsp), %rdi
leaq 0x3d8(%rsp), %rdx
callq 0x6920
jmp 0x94f1
movq 0x108(%rsp), %rdi
leaq 0x3b0(%rsp), %rsi
callq 0xccb0
jmp 0x9508
leaq 0x3b0(%rsp), %rdi
callq 0x4758
movl $0x7, 0x460(%rsp)
jmp 0x9782
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x3d7(%rsp), %rdi
callq 0x43e0
jmp 0xa2b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x97a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x3b0(%rsp), %rdi
callq 0x4758
jmp 0x97a3
movq 0x198(%rsp), %rdi
leaq 0x3d8(%rsp), %rsi
callq 0xa750
movq %rax, 0x100(%rsp)
jmp 0x95a9
movq 0x100(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movb %al, 0xff(%rsp)
jmp 0x95c6
movb 0xff(%rsp), %al
testb $0x1, %al
jne 0x95d6
jmp 0x975e
movl 0x454(%rsp), %eax
addl $0x1, %eax
cmpl 0x554(%rsp), %eax
jl 0x967b
movq 0x198(%rsp), %rax
addq $0xa0, %rax
movq %rax, 0xf0(%rsp)
leaq 0xcc52(%rip), %rsi      # 0x1625c
leaq 0x390(%rsp), %rdi
leaq 0x3d8(%rsp), %rdx
callq 0x6920
jmp 0x9621
movq 0xf0(%rsp), %rdi
leaq 0x390(%rsp), %rsi
callq 0xccb0
jmp 0x9638
leaq 0x390(%rsp), %rdi
callq 0x4758
movl $0x7, 0x460(%rsp)
jmp 0x9782
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x390(%rsp), %rdi
callq 0x4758
jmp 0x97a3
movl 0x454(%rsp), %eax
incl %eax
movl %eax, 0x454(%rsp)
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0xe0(%rsp)
leaq 0x36f(%rsp), %rdi
movq %rdi, 0xe8(%rsp)
callq 0x46b0
movq 0xe0(%rsp), %rsi
movq 0xe8(%rsp), %rdx
leaq 0x370(%rsp), %rdi
callq 0x67f0
jmp 0x96db
movq 0x198(%rsp), %rdi
leaq 0x3d8(%rsp), %rsi
leaq 0x370(%rsp), %rdx
callq 0xd010
jmp 0x96fa
leaq 0x370(%rsp), %rdi
callq 0x4758
leaq 0x36f(%rsp), %rdi
callq 0x43e0
jmp 0x975c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x974d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x370(%rsp), %rdi
callq 0x4758
leaq 0x36f(%rsp), %rdi
callq 0x43e0
jmp 0x97a3
jmp 0x9777
movq 0x198(%rsp), %rdi
leaq 0x3d8(%rsp), %rsi
callq 0xd200
jmp 0x9775
jmp 0x9777
movl $0x0, 0x460(%rsp)
leaq 0x3d8(%rsp), %rdi
callq 0x4758
movl 0x460(%rsp), %eax
testl %eax, %eax
je 0x97a1
jmp 0x979c
jmp 0xa10c
jmp 0x97b5
leaq 0x3d8(%rsp), %rdi
callq 0x4758
jmp 0xa2b8
jmp 0xa10a
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xca22(%rip), %rsi      # 0x161f7
movl $0x1, %edx
callq 0x41b0
cmpl $0x0, %eax
jne 0xa038
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rax
cmpb $0x0, 0x1(%rax)
jne 0x9807
jmp 0xa10c
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movb 0x1(%rax), %al
movb %al, 0x36e(%rsp)
movl $0x2, 0x368(%rsp)
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x368(%rsp), %rcx
cmpb $0x0, (%rax,%rcx)
je 0x9bfb
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x368(%rsp), %rcx
movb (%rax,%rcx), %al
movb %al, 0x36e(%rsp)
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movl 0x368(%rsp), %eax
decl %eax
cltq
addq %rax, %rsi
leaq 0x4e0(%rsp), %rdi
callq 0xcd60
movq %rax, 0xd8(%rsp)
jmp 0x98b5
movq 0xd8(%rsp), %rax
cmpq $0x0, %rax
jne 0x99fa
movq 0x198(%rsp), %rax
addq $0xa0, %rax
movq %rax, 0xc8(%rsp)
leaq 0x327(%rsp), %rdi
movq %rdi, 0xd0(%rsp)
callq 0x46b0
movq 0xd0(%rsp), %rdx
leaq 0xc972(%rip), %rsi      # 0x16273
leaq 0x328(%rsp), %rdi
callq 0x67f0
jmp 0x9910
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movl 0x368(%rsp), %ecx
decl %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edx
leaq 0x348(%rsp), %rdi
leaq 0x328(%rsp), %rsi
callq 0xcf00
jmp 0x994b
movq 0xc8(%rsp), %rdi
leaq 0x348(%rsp), %rsi
callq 0xccb0
jmp 0x9962
leaq 0x348(%rsp), %rdi
callq 0x4758
leaq 0x328(%rsp), %rdi
callq 0x4758
leaq 0x327(%rsp), %rdi
callq 0x43e0
jmp 0x9be5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x99e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x99db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x348(%rsp), %rdi
callq 0x4758
leaq 0x328(%rsp), %rdi
callq 0x4758
leaq 0x327(%rsp), %rdi
callq 0x43e0
jmp 0xa2b8
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movl 0x368(%rsp), %eax
decl %eax
cltq
addq %rax, %rsi
leaq 0x4e0(%rsp), %rdi
callq 0xcdc0
movq %rax, 0xc0(%rsp)
jmp 0x9a33
movq 0xc0(%rsp), %rdi
leaq 0xd2cb(%rip), %rsi      # 0x16d0d
callq 0x68b0
movb %al, 0xbf(%rsp)
jmp 0x9a50
movb 0xbf(%rsp), %al
testb $0x1, %al
jne 0x9a60
jmp 0x9b93
movq 0x198(%rsp), %rax
addq $0xa0, %rax
movq %rax, 0xa8(%rsp)
leaq 0x2df(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
callq 0x46b0
movq 0xb0(%rsp), %rdx
leaq 0xc7f3(%rip), %rsi      # 0x1628d
leaq 0x2e0(%rsp), %rdi
callq 0x67f0
jmp 0x9aa9
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movl 0x368(%rsp), %ecx
decl %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %edx
leaq 0x300(%rsp), %rdi
leaq 0x2e0(%rsp), %rsi
callq 0xcf00
jmp 0x9ae4
movq 0xa8(%rsp), %rdi
leaq 0x300(%rsp), %rsi
callq 0xccb0
jmp 0x9afb
leaq 0x300(%rsp), %rdi
callq 0x4758
leaq 0x2e0(%rsp), %rdi
callq 0x4758
leaq 0x2df(%rsp), %rdi
callq 0x43e0
jmp 0x9be5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x9b81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x9b74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x300(%rsp), %rdi
callq 0x4758
leaq 0x2e0(%rsp), %rdi
callq 0x4758
leaq 0x2df(%rsp), %rdi
callq 0x43e0
jmp 0xa2b8
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movl 0x368(%rsp), %eax
decl %eax
cltq
addq %rax, %rsi
leaq 0x4e0(%rsp), %rdi
callq 0xcdc0
movq %rax, 0xa0(%rsp)
jmp 0x9bcc
movq 0xa0(%rsp), %rsi
movq 0x198(%rsp), %rdi
callq 0xd200
jmp 0x9be3
jmp 0x9be5
movl 0x368(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x368(%rsp)
jmp 0x9830
leaq 0x4e0(%rsp), %rdi
leaq 0x36e(%rsp), %rsi
callq 0xcd60
movq %rax, 0x98(%rsp)
jmp 0x9c1a
movq 0x98(%rsp), %rax
cmpq $0x0, %rax
jne 0x9d43
movq 0x198(%rsp), %rax
addq $0xa0, %rax
movq %rax, 0x88(%rsp)
leaq 0x297(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0x46b0
movq 0x90(%rsp), %rdx
leaq 0xc60d(%rip), %rsi      # 0x16273
leaq 0x298(%rsp), %rdi
callq 0x67f0
jmp 0x9c75
movsbl 0x36e(%rsp), %edx
leaq 0x2b8(%rsp), %rdi
leaq 0x298(%rsp), %rsi
callq 0xcf00
jmp 0x9c94
movq 0x88(%rsp), %rdi
leaq 0x2b8(%rsp), %rsi
callq 0xccb0
jmp 0x9cab
leaq 0x2b8(%rsp), %rdi
callq 0x4758
leaq 0x298(%rsp), %rdi
callq 0x4758
leaq 0x297(%rsp), %rdi
callq 0x43e0
jmp 0xa10c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x9d31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x9d24
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x2b8(%rsp), %rdi
callq 0x4758
leaq 0x298(%rsp), %rdi
callq 0x4758
leaq 0x297(%rsp), %rdi
callq 0x43e0
jmp 0xa2b8
leaq 0x4e0(%rsp), %rdi
leaq 0x36e(%rsp), %rsi
callq 0xcdc0
movq %rax, 0x80(%rsp)
jmp 0x9d62
movq 0x80(%rsp), %rdi
leaq 0xcf9c(%rip), %rsi      # 0x16d0d
callq 0x68b0
movb %al, 0x7f(%rsp)
jmp 0x9d7c
movb 0x7f(%rsp), %al
testb $0x1, %al
jne 0x9d89
jmp 0x9e94
movq 0x198(%rsp), %rax
addq $0xa0, %rax
movq %rax, 0x68(%rsp)
leaq 0x24f(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x46b0
movq 0x70(%rsp), %rdx
leaq 0xc4d3(%rip), %rsi      # 0x1628d
leaq 0x250(%rsp), %rdi
callq 0x67f0
jmp 0x9dc9
movsbl 0x36e(%rsp), %edx
leaq 0x270(%rsp), %rdi
leaq 0x250(%rsp), %rsi
callq 0xcf00
jmp 0x9de8
movq 0x68(%rsp), %rdi
leaq 0x270(%rsp), %rsi
callq 0xccb0
jmp 0x9dfc
leaq 0x270(%rsp), %rdi
callq 0x4758
leaq 0x250(%rsp), %rdi
callq 0x4758
leaq 0x24f(%rsp), %rdi
callq 0x43e0
jmp 0xa10c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x9e82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x9e75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x270(%rsp), %rdi
callq 0x4758
leaq 0x250(%rsp), %rdi
callq 0x4758
leaq 0x24f(%rsp), %rdi
callq 0x43e0
jmp 0xa2b8
movl 0x454(%rsp), %eax
addl $0x1, %eax
cmpl 0x554(%rsp), %eax
jge 0xa001
movq 0x198(%rsp), %rax
movq %rax, 0x58(%rsp)
leaq 0x4e0(%rsp), %rdi
leaq 0x36e(%rsp), %rsi
callq 0xcdc0
movq %rax, 0x60(%rsp)
jmp 0x9ed4
movq 0x60(%rsp), %rsi
movq 0x58(%rsp), %rdi
callq 0xa750
movq %rax, 0x50(%rsp)
jmp 0x9eea
movq 0x50(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movb %al, 0x4f(%rsp)
jmp 0x9f01
movb 0x4f(%rsp), %al
testb $0x1, %al
jne 0x9f0e
jmp 0xa001
leaq 0x4e0(%rsp), %rdi
leaq 0x36e(%rsp), %rsi
callq 0xcdc0
movq %rax, 0x40(%rsp)
jmp 0x9f2a
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, 0x30(%rsp)
leaq 0x227(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x46b0
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rdx
leaq 0x228(%rsp), %rdi
callq 0x67f0
jmp 0x9f6f
movq 0x40(%rsp), %rsi
movq 0x198(%rsp), %rdi
leaq 0x228(%rsp), %rdx
callq 0xd010
jmp 0x9f8b
leaq 0x228(%rsp), %rdi
callq 0x4758
leaq 0x227(%rsp), %rdi
callq 0x43e0
movl 0x454(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x454(%rsp)
jmp 0xa033
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0x9fef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x228(%rsp), %rdi
callq 0x4758
leaq 0x227(%rsp), %rdi
callq 0x43e0
jmp 0xa2b8
leaq 0x4e0(%rsp), %rdi
leaq 0x36e(%rsp), %rsi
callq 0xcdc0
movq %rax, 0x28(%rsp)
jmp 0xa01d
movq 0x28(%rsp), %rsi
movq 0x198(%rsp), %rdi
callq 0xd200
jmp 0xa031
jmp 0xa033
jmp 0xa108
movq 0x198(%rsp), %rax
addq $0x88, %rax
movq %rax, 0x10(%rsp)
movq 0x548(%rsp), %rax
movslq 0x454(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x18(%rsp)
leaq 0x1ff(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x46b0
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rdx
leaq 0x200(%rsp), %rdi
callq 0x67f0
jmp 0xa08f
movq 0x10(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0xccb0
jmp 0xa0a3
leaq 0x200(%rsp), %rdi
callq 0x4758
leaq 0x1ff(%rsp), %rdi
callq 0x43e0
jmp 0xa108
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0xa0f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x200(%rsp), %rdi
callq 0x4758
leaq 0x1ff(%rsp), %rdi
callq 0x43e0
jmp 0xa2b8
jmp 0xa10a
jmp 0xa10c
movl 0x454(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x454(%rsp)
jmp 0x9229
movq 0x198(%rsp), %rdi
callq 0xccf0
movq %rax, 0x1f0(%rsp)
movq 0x198(%rsp), %rdi
callq 0xab10
movq %rax, 0x1e8(%rsp)
leaq 0x1f0(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
callq 0xcd20
testb $0x1, %al
jne 0xa16a
jmp 0xa27a
leaq 0x1f0(%rsp), %rdi
callq 0xcd40
movq 0x20(%rax), %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movb %al, 0xf(%rsp)
jmp 0xa18a
movb 0xf(%rsp), %al
testb $0x1, %al
jne 0xa25c
jmp 0xa198
movq 0x198(%rsp), %rax
addq $0xa0, %rax
movq %rax, (%rsp)
leaq 0x1f0(%rsp), %rdi
callq 0xcd40
movq %rax, %rsi
leaq 0x1a8(%rsp), %rdi
callq 0x4180
jmp 0xa1c9
leaq 0xc0d7(%rip), %rsi      # 0x162a7
leaq 0x1c8(%rsp), %rdi
leaq 0x1a8(%rsp), %rdx
callq 0xd330
jmp 0xa1e7
movq (%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
callq 0xccb0
jmp 0xa1fa
leaq 0x1c8(%rsp), %rdi
callq 0x4758
leaq 0x1a8(%rsp), %rdi
callq 0x4758
jmp 0xa25c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
jmp 0xa24d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x518(%rsp)
movl %eax, 0x514(%rsp)
leaq 0x1c8(%rsp), %rdi
callq 0x4758
leaq 0x1a8(%rsp), %rdi
callq 0x4758
jmp 0xa2b8
jmp 0xa25e
leaq 0x1f0(%rsp), %rdi
xorl %esi, %esi
callq 0xcf50
movq %rax, 0x1a0(%rsp)
jmp 0xa137
movq 0x198(%rsp), %rdi
addq $0xa0, %rdi
callq 0xcc50
cmpq $0x0, %rax
sete %al
andb $0x1, %al
movb %al, 0x567(%rsp)
movl $0x1, 0x460(%rsp)
leaq 0x4e0(%rsp), %rdi
callq 0xd380
jmp 0xa2c7
leaq 0x4e0(%rsp), %rdi
callq 0xd380
jmp 0xa2d8
movb 0x567(%rsp), %al
andb $0x1, %al
addq $0x568, %rsp            # imm = 0x568
retq
movq 0x518(%rsp), %rdi
callq 0x46a0
nopw %cs:(%rax,%rax)
nop