// File: /workspace/github_cpp_makefile_star2_O1/jstaursky[P]hutch/src/Sleigh/slgh_compile.cc
// Function: main
int main(int argc,char **argv)

{
  int4 retval = 0;

  signal(SIGSEGV, &segvHandler); // Exit on SEGV errors

#ifdef YYDEBUG
  yydebug = 0;
#endif

  if (argc < 2) {
    cerr << "USAGE: sleigh [-x] [-dNAME=VALUE] inputfile [outputfile]" << endl;
    cerr << "   -a              scan for all slaspec files recursively where inputfile is a directory" << endl;
    cerr << "   -x              turns on parser debugging" << endl;
    cerr << "   -u              print warnings for unnecessary pcode instructions" << endl;
    cerr << "   -l              report pattern conflicts" << endl;
    cerr << "   -n              print warnings for all NOP constructors" << endl;
    cerr << "   -t              print warnings for dead temporaries" << endl;
    cerr << "   -e              enforce use of 'local' keyword for temporaries" << endl;
    cerr << "   -c              print warnings for all constructors with colliding operands" << endl;
    cerr << "   -DNAME=VALUE    defines a preprocessor macro NAME with value VALUE" << endl;
    exit(2);
  }

  const string SLAEXT(".sla");	// Default sla extension
  const string SLASPECEXT(".slaspec");
  map<string,string> defines;
  bool enableUnnecessaryPcodeWarning = false;
  bool disableLenientConflict = false;
  bool enableAllCollisionWarning = false;
  bool enableAllNopWarning = false;
  bool enableDeadTempWarning = false;
  bool enforceLocalKeyWord = false;
  
  bool compileAll = false;
  
  int4 i;
  for(i=1;i<argc;++i) {
    if (argv[i][0] != '-') break;
    if (argv[i][1] == 'a')
      compileAll = true;
    else if (argv[i][1] == 'D') {
      string preproc(argv[i]+2);
      string::size_type pos = preproc.find('=');
      if (pos == string::npos) {
	cerr << "Bad sleigh option: "<< argv[i] << endl;
	exit(1);
      }
      string name = preproc.substr(0,pos);
      string value = preproc.substr(pos+1);
      defines[name] = value;
    }
    else if (argv[i][1] == 'u')
      enableUnnecessaryPcodeWarning = true;
    else if (argv[i][1] == 'l')
      disableLenientConflict = true;
    else if (argv[i][1] == 'c')
      enableAllCollisionWarning = true;
    else if (argv[i][1] == 'n')
      enableAllNopWarning = true;
    else if (argv[1][1] == 't')
      enableDeadTempWarning = true;
    else if (argv[1][1] == 'e')
      enforceLocalKeyWord = true;
#ifdef YYDEBUG
    else if (argv[i][1] == 'x')
      yydebug = 1;		// Debug option
#endif
    else {
      cerr << "Unknown option: " << argv[i] << endl;
      exit(1);
    }
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x6a8, %rsp            # imm = 0x6A8
movq %rsi, %rbx
movl %edi, %r14d
leaq 0x10f5(%rip), %rsi      # 0x3404e
movl $0xb, %edi
callq 0xf450
cmpl $0x1, %r14d
jle 0x33b5b
leaq 0x50(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2fadf(%rip), %rsi     # 0x62a5c
leaq 0x2fadc(%rip), %rdx     # 0x62a60
leaq 0x40(%rsp), %rdi
callq 0x1183c
leaq 0x98(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2fac0(%rip), %rsi     # 0x62a61
leaq 0x2fac1(%rip), %rdx     # 0x62a69
leaq 0x88(%rsp), %rdi
callq 0x1183c
movq %r14, 0xe0(%rsp)
movl %r14d, %r14d
leaq 0x118(%rsp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq $0x0, 0x38(%rsp)
movq %rcx, 0x20(%rax)
movl $0x1, %r13d
leaq 0x348(%rsp), %r12
movq $0x0, 0xe8(%rsp)
movq $0x0, 0x30(%rsp)
movq $0x0, 0xa8(%rsp)
movq $0x0, 0xb0(%rsp)
movq $0x0, 0xb8(%rsp)
movq $0x0, 0x28(%rsp)
movq (%rbx,%r13,8), %r15
cmpb $0x2d, (%r15)
jne 0x33201
movzbl 0x1(%r15), %eax
cmpl $0x6b, %eax
jg 0x33077
cmpl $0x44, %eax
je 0x3309e
cmpl $0x61, %eax
je 0x331d6
cmpl $0x63, %eax
jne 0x331b4
movb $0x1, %al
movq %rax, 0xb0(%rsp)
jmp 0x331f2
cmpl $0x6c, %eax
je 0x331a8
cmpl $0x6e, %eax
je 0x331df
cmpl $0x75, %eax
jne 0x331b4
movb $0x1, %al
movq %rax, 0x28(%rsp)
jmp 0x331f2
leaq 0x2(%r15), %rbp
leaq 0x358(%rsp), %rax
movq %rax, 0x348(%rsp)
movq %rbp, %rdi
callq 0xf190
leaq (%r15,%rax), %rdx
addq $0x2, %rdx
movq %r12, %rdi
movq %rbp, %rsi
callq 0x1183c
movq %r12, %rdi
movl $0x3d, %esi
xorl %edx, %edx
callq 0xf4f0
cmpq $-0x1, %rax
je 0x33af1
movq %rax, %rbp
leaq 0x140(%rsp), %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0xf3c0
incq %rbp
leaq 0x8(%rsp), %rdi
movq %r12, %r15
movq %r12, %rsi
movq %rbp, %rdx
movq $-0x1, %rcx
callq 0xf3c0
leaq 0x110(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0x346ac
movq %rax, %rdi
leaq 0x8(%rsp), %rsi
callq 0xf1f0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x33159
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x3317e
movq 0x150(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x348(%rsp), %rdi
leaq 0x358(%rsp), %rax
cmpq %rax, %rdi
je 0x331a3
movq 0x358(%rsp), %rsi
incq %rsi
callq 0xf380
movq %r15, %r12
jmp 0x331f2
movb $0x1, %al
movq %rax, 0xb8(%rsp)
jmp 0x331f2
movq 0x8(%rbx), %rax
movzbl 0x1(%rax), %eax
cmpl $0x74, %eax
je 0x331eb
cmpl $0x65, %eax
jne 0x33b26
movb $0x1, %al
movq %rax, 0xe8(%rsp)
jmp 0x331f2
movb $0x1, %al
movq %rax, 0x38(%rsp)
jmp 0x331f2
movb $0x1, %al
movq %rax, 0xa8(%rsp)
jmp 0x331f2
movb $0x1, %al
movq %rax, 0x30(%rsp)
incq %r13
cmpq %r13, %r14
jne 0x33039
movl %r14d, %r13d
testb $0x1, 0x38(%rsp)
je 0x33575
movq 0xe0(%rsp), %r14
leal -0x1(%r14), %eax
cmpl %eax, %r13d
jl 0x33c52
movq 0x90(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x60(%rsp)
movq $0x0, 0x70(%rsp)
leaq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
movq %rax, (%rdi)
leaq 0x2a0d9(%rip), %rsi     # 0x5d32d
leaq 0x2a0d3(%rip), %rdx     # 0x5d32e
callq 0x1183c
cmpl %r14d, %r13d
je 0x33293
movl %r13d, %eax
movq (%rbx,%rax,8), %rbx
leaq 0x140(%rsp), %r14
movq 0x8(%r14), %r12
movq %rbx, %rdi
callq 0xf190
movq %r14, %rdi
xorl %esi, %esi
movq %r12, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0xf620
leaq 0x60(%rsp), %rdi
leaq 0x140(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0x34059
movq 0x59d0c(%rip), %rdi     # 0x8cfc0
leaq 0x2f7e8(%rip), %rsi     # 0x62aa3
movl $0xa, %edx
callq 0xf420
movq 0x68(%rsp), %rsi
subq 0x60(%rsp), %rsi
sarq $0x5, %rsi
movq 0x59ce6(%rip), %rdi     # 0x8cfc0
callq 0xf250
movq %rax, %rbx
leaq 0x2f7c5(%rip), %rsi     # 0x62aae
movl $0x12, %edx
movq %rax, %rdi
callq 0xf420
movq 0x140(%rsp), %rsi
movq 0x148(%rsp), %rdx
movq %rbx, %rdi
callq 0xf420
leaq 0x36ee8(%rip), %rsi     # 0x6a1fd
movl $0x1, %edx
movq %rax, %rdi
callq 0xf420
movq 0x60(%rsp), %rax
cmpq %rax, 0x68(%rsp)
je 0x3398e
xorl %r14d, %r14d
movl $0x8, %ebp
movzbl 0xe8(%rsp), %ecx
andl $0x1, %ecx
movq %rcx, 0x38(%rsp)
movzbl 0x30(%rsp), %ecx
andl $0x1, %ecx
movq %rcx, 0x30(%rsp)
movzbl 0x28(%rsp), %ecx
andl $0x1, %ecx
movl %ecx, 0x28(%rsp)
movzbl 0xb8(%rsp), %ecx
andl $0x1, %ecx
movl %ecx, 0xb8(%rsp)
movzbl 0xb0(%rsp), %ecx
andl $0x1, %ecx
movl %ecx, 0xb0(%rsp)
movzbl 0xa8(%rsp), %ecx
andl $0x1, %ecx
movl %ecx, 0xa8(%rsp)
leaq 0x348(%rsp), %r12
xorl %r13d, %r13d
leaq 0x18(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movq -0x8(%rax,%rbp), %rsi
movq (%rax,%rbp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x154be
movl $0xb, %edx
movq 0x59bf0(%rip), %rdi     # 0x8cfc0
leaq 0x2f6ea(%rip), %rsi     # 0x62ac1
callq 0xf420
incq %r14
movq 0x59bda(%rip), %rdi     # 0x8cfc0
movl %r14d, %esi
callq 0xf6e0
movq %rax, %rbx
movl $0x4, %edx
movq %rax, %rdi
leaq 0x2f6cd(%rip), %rsi     # 0x62acd
callq 0xf420
movq 0x68(%rsp), %rsi
subq 0x60(%rsp), %rsi
sarq $0x5, %rsi
movq %rbx, %rdi
callq 0xf250
movq %rax, %rbx
movl $0x2, %edx
movq %rax, %rdi
leaq 0x2f6a5(%rip), %rsi     # 0x62ad2
callq 0xf420
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0xf420
movl $0x1, %edx
movq %rax, %rdi
leaq 0x36daa(%rip), %rsi     # 0x6a1fd
callq 0xf420
leaq 0xd0(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
addq %rsi, %rdx
leaq 0xc0(%rsp), %rbx
movq %rbx, %rdi
callq 0x154be
movq 0x10(%rsp), %rsi
subq %r15, %rsi
movq 0x40(%rsp), %rcx
movq 0x48(%rsp), %r8
movq %rbx, %rdi
movq %r15, %rdx
callq 0xf400
movq %r12, %rdi
callq 0x2daba
movq %r12, %rdi
leaq 0x110(%rsp), %rsi
movl 0x28(%rsp), %edx
movl 0xb8(%rsp), %ecx
movl 0xb0(%rsp), %r8d
movl 0xa8(%rsp), %r9d
pushq 0x38(%rsp)
pushq 0x38(%rsp)
callq 0x340df
addq $0x10, %rsp
movq 0x8(%rsp), %rdi
movq 0xc0(%rsp), %rsi
movq %r12, %rdx
callq 0x341a6
movl %eax, %ebx
testl %eax, %eax
cmovnel %eax, %r13d
movq %r12, %rdi
callq 0x34892
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x3352b
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x33547
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xf380
testl %ebx, %ebx
jne 0x33991
movq 0x60(%rsp), %rax
movq 0x68(%rsp), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
addq $0x20, %rbp
cmpq %r14, %rcx
ja 0x333a4
movl %ebx, %r13d
jmp 0x33991
movq 0xe0(%rsp), %r12
cmpl %r12d, %r13d
je 0x33c78
movl %r13d, %r14d
movq (%rbx,%r14,8), %rsi
leaq 0x60(%rsp), %rdi
leaq 0x348(%rsp), %rdx
callq 0x15480
movq 0x88(%rsp), %rsi
movq 0x90(%rsp), %rcx
leaq 0x60(%rsp), %rdi
xorl %edx, %edx
callq 0xf700
movq %rax, %r15
leaq 0x100(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x3665f(%rip), %rdx     # 0x69c30
leaq 0xf0(%rsp), %rdi
movq %rdx, %rsi
callq 0x1183c
cmpq $-0x1, %r15
je 0x33641
leaq 0x348(%rsp), %rdi
leaq 0x60(%rsp), %rsi
xorl %edx, %edx
movq %r15, %rcx
callq 0xf3c0
leaq 0xf0(%rsp), %rdi
leaq 0x348(%rsp), %r12
movq %r12, %rsi
callq 0xf490
movq (%r12), %rdi
leaq 0x358(%rsp), %rax
cmpq %rax, %rdi
je 0x33637
movq 0x358(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0xe0(%rsp), %r12
jmp 0x3366d
leaq 0xf0(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0xf1f0
movq 0x88(%rsp), %rsi
movq 0x90(%rsp), %rdx
leaq 0x60(%rsp), %rdi
callq 0xf130
leal -0x2(%r12), %eax
cmpl %eax, %r13d
jl 0x33c9e
leaq 0x348(%rsp), %rdi
callq 0x2daba
movzbl 0xe8(%rsp), %eax
andl $0x1, %eax
movzbl 0x30(%rsp), %r10d
andl $0x1, %r10d
movzbl 0x28(%rsp), %edx
andl $0x1, %edx
movzbl 0xb8(%rsp), %ecx
andl $0x1, %ecx
movzbl 0xb0(%rsp), %r8d
andl $0x1, %r8d
movzbl 0xa8(%rsp), %r9d
andl $0x1, %r9d
leaq 0x348(%rsp), %rdi
leaq 0x110(%rsp), %rsi
pushq %rax
pushq %r10
callq 0x340df
addq $0x10, %rsp
decl %r12d
cmpl %r12d, %r13d
jge 0x3375a
movq 0x8(%rbx,%r14,8), %rsi
leaq 0x140(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x15480
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rcx
leaq 0x140(%rsp), %rdi
xorl %edx, %edx
callq 0xf700
cmpq $-0x1, %rax
jne 0x3373b
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
leaq 0x140(%rsp), %rdi
callq 0xf130
movq 0x60(%rsp), %rdi
movq 0x140(%rsp), %rsi
leaq 0x348(%rsp), %rdx
callq 0x341a6
jmp 0x33a21
cmpq $-0x1, %r15
je 0x339c5
movq 0x60(%rsp), %rbx
leaq 0x140(%rsp), %rdi
movq %rbx, %rsi
movl $0x8, %edx
callq 0xf750
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
xorl %eax, %eax
movq %rax, 0x10(%rsp)
movb %al, 0x18(%rsp)
leaq 0xd0(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x140(%rsp), %rdi
callq 0x5b6d3
movq %rax, %r14
movq %rbx, 0x28(%rsp)
leaq 0x140(%rsp), %rdi
callq 0xf0c0
movq %r14, 0x30(%rsp)
movq 0x78(%r14), %rax
movq (%rax), %rbx
leaq 0x2f288(%rip), %rbp     # 0x62a62
movq 0x78(%rbx), %r12
cmpq 0x80(%rbx), %r12
je 0x338c7
movq %rbx, 0x38(%rsp)
movq (%r12), %r13
movq %r13, %rdi
leaq 0x2f37f(%rip), %rsi     # 0x62b7d
callq 0xf110
testl %eax, %eax
je 0x33836
movq %r13, %rdi
leaq 0x2f37a(%rip), %rsi     # 0x62b8b
callq 0xf110
testl %eax, %eax
je 0x338d1
movq %r13, %rdi
leaq 0x2f371(%rip), %rsi     # 0x62b99
callq 0xf110
testl %eax, %eax
jne 0x338af
jmp 0x338cc
leaq 0x20(%r13), %rsi
leaq 0x8(%rsp), %rdi
callq 0xf1f0
movq 0x48(%r13), %r14
subq 0x40(%r13), %r14
shrq $0x5, %r14
testl %r14d, %r14d
jle 0x338af
andl $0x7fffffff, %r14d      # imm = 0x7FFFFFFF
xorl %r15d, %r15d
movq 0x40(%r13), %rdi
addq %r15, %rdi
movq %rbp, %rsi
callq 0xf110
testl %eax, %eax
je 0x3388c
movq 0x40(%r13), %rsi
addq %r15, %rsi
movq 0x58(%r13), %rbx
leaq 0x558(%rsp), %rdi
callq 0x346ac
jmp 0x33898
movq 0x58(%r13), %rbx
leaq 0xc0(%rsp), %rax
addq %r15, %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0xf1f0
addq $0x20, %r15
decq %r14
jne 0x3385f
addq $0x8, %r12
movq 0x38(%rsp), %rbx
cmpq 0x80(%rbx), %r12
jne 0x337f0
jmp 0x338d1
movq %rbx, %r13
jmp 0x338d1
movq 0x38(%rsp), %rbx
cmpq 0x80(%rbx), %r12
movq %r13, %rbx
jne 0x337da
movq 0x30(%rsp), %rbx
movq %rbx, %rdi
callq 0x5b5f6
movl $0x90, %esi
movq %rbx, %rdi
callq 0xf380
cmpq $0x0, 0xc8(%rsp)
je 0x33ccc
cmpq $0x0, 0x10(%rsp)
leaq 0x100(%rsp), %rbp
je 0x33cff
movq 0xc0(%rsp), %rdi
movq 0x8(%rsp), %rsi
leaq 0x348(%rsp), %rdx
callq 0x341a6
movl %eax, %r13d
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x33960
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x3397c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x140(%rsp), %rdi
callq 0xf0f0
jmp 0x33a49
xorl %r13d, %r13d
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x339b6
movq 0x150(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x60(%rsp), %rdi
callq 0x13962
jmp 0x33a8e
leaq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
movq %rax, (%rdi)
movq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rdx
addq %rsi, %rdx
callq 0x154be
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
leaq 0x140(%rsp), %rdi
callq 0xf130
movq 0x60(%rsp), %rdi
movq 0x140(%rsp), %rsi
leaq 0x348(%rsp), %rdx
callq 0x341a6
movl %eax, %r13d
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x33a49
movq 0x150(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x348(%rsp), %rdi
callq 0x34892
movq 0xf0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x33a73
movq 0x100(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x70(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x33a8e
movq 0x70(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x110(%rsp), %rdi
callq 0x34a70
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x33ac0
movq 0x98(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x33adc
movq 0x50(%rsp), %rsi
incq %rsi
callq 0xf380
movl %r13d, %eax
addq $0x6a8, %rsp            # imm = 0x6A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x594f0(%rip), %rdi     # 0x8cfe8
leaq 0x2ef6b(%rip), %rsi     # 0x62a6a
movl $0x13, %edx
callq 0xf420
movq (%rbx,%r13,8), %rsi
movq 0x594d4(%rip), %rdi     # 0x8cfe8
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
jmp 0x33cc2
movq 0x594bb(%rip), %rdi     # 0x8cfe8
leaq 0x2ef4a(%rip), %rsi     # 0x62a7e
movl $0x10, %edx
callq 0xf420
movq (%rbx,%r13,8), %rsi
movq 0x5949f(%rip), %rdi     # 0x8cfe8
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
jmp 0x33cc2
movq 0x59486(%rip), %rbx     # 0x8cfe8
leaq 0x2ec7a(%rip), %rsi     # 0x627e3
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2ec9c(%rip), %rsi     # 0x6281c
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2ecde(%rip), %rsi     # 0x62875
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2ecf4(%rip), %rsi     # 0x628a2
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2ed22(%rip), %rsi     # 0x628e7
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2ed37(%rip), %rsi     # 0x62913
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2ed5b(%rip), %rsi     # 0x6294e
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2ed7b(%rip), %rsi     # 0x62985
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2eda6(%rip), %rsi     # 0x629c7
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2edde(%rip), %rsi     # 0x62a16
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
movl $0x2, %edi
callq 0xf480
movq 0x5938f(%rip), %rdi     # 0x8cfe8
leaq 0x2ee2f(%rip), %rsi     # 0x62a8f
movl $0x13, %edx
callq 0xf420
movq 0x59377(%rip), %rdi     # 0x8cfe8
callq 0xf1a0
jmp 0x33cc2
movq 0x59369(%rip), %rdi     # 0x8cfe8
leaq 0x2ee4f(%rip), %rsi     # 0x62ad5
movl $0x17, %edx
callq 0xf420
movq 0x59351(%rip), %rdi     # 0x8cfe8
callq 0xf1a0
jmp 0x33cc2
movq 0x59343(%rip), %rdi     # 0x8cfe8
leaq 0x2ede3(%rip), %rsi     # 0x62a8f
movl $0x13, %edx
callq 0xf420
movq 0x5932b(%rip), %rdi     # 0x8cfe8
callq 0xf1a0
movl $0x1, %edi
callq 0xf480
movq 0x59315(%rip), %rdi     # 0x8cfe8
leaq 0x2eed4(%rip), %rsi     # 0x62bae
movl $0x28, %edx
callq 0xf420
movq 0x592fd(%rip), %rdi     # 0x8cfe8
movq 0x28(%rsp), %rsi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
jmp 0x33cc2
movq 0x592e2(%rip), %rdi     # 0x8cfe8
leaq 0x2eeca(%rip), %rsi     # 0x62bd7
movl $0x25, %edx
callq 0xf420
movq 0x592ca(%rip), %rdi     # 0x8cfe8
movq 0x28(%rsp), %rsi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
jmp 0x33cc2
jmp 0x33df2
jmp 0x33f5a
movq %rbx, %r14
movq %rax, %rbx
cmpl $0x1, %edx
jne 0x33f5d
movq %rbx, %rdi
callq 0xf180
movq 0x5928e(%rip), %rdi     # 0x8cfe8
leaq 0x2edec(%rip), %rsi     # 0x62b4d
movl $0x2f, %edx
callq 0xf420
movq 0x59276(%rip), %rdi     # 0x8cfe8
movq %r14, %rsi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
jmp 0x33cc2
movq %rax, %rbx
callq 0xf680
jmp 0x33f5d
movq %rax, %rdi
callq 0x13ad1
jmp 0x33da2
jmp 0x33df2
jmp 0x33e07
movq %rax, %rbx
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x33df5
movq 0x150(%rsp), %rsi
incq %rsi
callq 0xf380
jmp 0x33df5
jmp 0x33f5a
jmp 0x33e07
movq %rax, %rbx
leaq 0x50(%rsp), %r14
leaq 0x98(%rsp), %r15
jmp 0x33fea
jmp 0x33e37
movq %rax, %rbx
jmp 0x33f3e
movq %rax, %rbx
leaq 0x50(%rsp), %r14
leaq 0x98(%rsp), %r15
jmp 0x33fc0
movq %rax, %rbx
leaq 0x50(%rsp), %r14
leaq 0x98(%rsp), %r15
jmp 0x33fcd
movq %rax, %rbx
leaq 0x50(%rsp), %r14
jmp 0x3402f
jmp 0x33e37
jmp 0x33e32
movq %rax, %rbx
jmp 0x33e60
movq %rax, %rbx
jmp 0x33e85
movq %rax, %rbx
jmp 0x33f48
jmp 0x33ebc
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x33e60
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x33e85
movq 0x150(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x348(%rsp), %rdi
leaq 0x358(%rsp), %rax
cmpq %rax, %rdi
je 0x33f48
movq 0x358(%rsp), %rsi
incq %rsi
callq 0xf380
jmp 0x33f48
jmp 0x33eb5
movq %rax, %rbx
jmp 0x33ed1
jmp 0x33efa
movq %rax, %rbx
jmp 0x33f19
movq %rax, %rbx
leaq 0x348(%rsp), %rdi
callq 0x34892
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x33efd
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0xf380
jmp 0x33efd
jmp 0x33f5a
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x33f19
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x140(%rsp), %rdi
leaq 0x150(%rsp), %rax
cmpq %rax, %rdi
je 0x33f3e
movq 0x150(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x60(%rsp), %rdi
callq 0x13962
leaq 0x50(%rsp), %r14
leaq 0x98(%rsp), %r15
jmp 0x34005
movq %rax, %rbx
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
leaq 0x50(%rsp), %r14
leaq 0x98(%rsp), %r15
leaq 0x100(%rsp), %rbp
je 0x33f97
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x33fb3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x140(%rsp), %rdi
callq 0xf0f0
leaq 0x348(%rsp), %rdi
callq 0x34892
movq 0xf0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x33fea
movq 0x100(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x70(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x34005
movq 0x70(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x110(%rsp), %rdi
callq 0x34a70
movq 0x88(%rsp), %rdi
cmpq %r15, %rdi
je 0x3402f
movq 0x98(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x40(%rsp), %rdi
cmpq %r14, %rdi
je 0x34046
movq 0x50(%rsp), %rsi
incq %rsi
callq 0xf380
movq %rbx, %rdi
callq 0xf730