// File: /workspace/github_cpp_makefile_star2_O3/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 $0x698, %rsp            # imm = 0x698
movq %rsi, %rbx
movl %edi, %r14d
leaq 0x1064(%rip), %rsi      # 0x33c99
movl $0xb, %edi
callq 0xf450
cmpl $0x1, %r14d
jle 0x337dd
leaq 0xb0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2fe50(%rip), %rsi     # 0x62aac
leaq 0x2fe4d(%rip), %rdx     # 0x62ab0
leaq 0xa0(%rsp), %rdi
callq 0x117f6
leaq 0xd0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x2fe2e(%rip), %rsi     # 0x62ab1
leaq 0x2fe2f(%rip), %rdx     # 0x62ab9
leaq 0xc0(%rsp), %rdi
callq 0x117f6
movq %r14, 0x90(%rsp)
movl %r14d, %r14d
leaq 0x108(%rsp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq $0x0, 0x30(%rsp)
movq %rcx, 0x20(%rax)
movl $0x1, %r13d
leaq 0x338(%rsp), %r12
movq $0x0, 0x98(%rsp)
movq $0x0, 0x28(%rsp)
movq $0x0, 0x38(%rsp)
movq $0x0, 0x40(%rsp)
movq $0x0, 0x48(%rsp)
movq $0x0, 0x20(%rsp)
movq (%rbx,%r13,8), %r15
cmpb $0x2d, (%r15)
jne 0x32ecc
movzbl 0x1(%r15), %eax
cmpl $0x6b, %eax
jg 0x32d4d
cmpl $0x44, %eax
je 0x32d74
cmpl $0x61, %eax
je 0x32ea4
cmpl $0x63, %eax
jne 0x32e82
movb $0x1, %al
movq %rax, 0x40(%rsp)
jmp 0x32ebd
cmpl $0x6c, %eax
je 0x32e79
cmpl $0x6e, %eax
je 0x32ead
cmpl $0x75, %eax
jne 0x32e82
movb $0x1, %al
movq %rax, 0x20(%rsp)
jmp 0x32ebd
leaq 0x2(%r15), %rbp
leaq 0x348(%rsp), %rax
movq %rax, 0x338(%rsp)
movq %rbp, %rdi
callq 0xf190
leaq (%r15,%rax), %rdx
addq $0x2, %rdx
movq %r12, %rdi
movq %rbp, %rsi
callq 0x117f6
movq %r12, %rdi
movl $0x3d, %esi
xorl %edx, %edx
callq 0xf4f0
cmpq $-0x1, %rax
je 0x33773
movq %rax, %rbp
leaq 0x130(%rsp), %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0xf3c0
incq %rbp
movq %rsp, %rdi
movq %r12, %r15
movq %r12, %rsi
movq %rbp, %rdx
movq $-0x1, %rcx
callq 0xf3c0
leaq 0x100(%rsp), %rdi
leaq 0x130(%rsp), %rsi
callq 0x342c8
movq %rax, %rdi
movq %rsp, %rsi
callq 0xf1f0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x32e2a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rax
cmpq %rax, %rdi
je 0x32e4f
movq 0x140(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x338(%rsp), %rdi
leaq 0x348(%rsp), %rax
cmpq %rax, %rdi
je 0x32e74
movq 0x348(%rsp), %rsi
incq %rsi
callq 0xf380
movq %r15, %r12
jmp 0x32ebd
movb $0x1, %al
movq %rax, 0x48(%rsp)
jmp 0x32ebd
movq 0x8(%rbx), %rax
movzbl 0x1(%rax), %eax
cmpl $0x74, %eax
je 0x32eb6
cmpl $0x65, %eax
jne 0x337a8
movb $0x1, %al
movq %rax, 0x98(%rsp)
jmp 0x32ebd
movb $0x1, %al
movq %rax, 0x30(%rsp)
jmp 0x32ebd
movb $0x1, %al
movq %rax, 0x38(%rsp)
jmp 0x32ebd
movb $0x1, %al
movq %rax, 0x28(%rsp)
incq %r13
cmpq %r13, %r14
jne 0x32d12
movl %r14d, %r13d
testb $0x1, 0x30(%rsp)
je 0x33203
movq 0x90(%rsp), %r14
leal -0x1(%r14), %eax
cmpl %eax, %r13d
jl 0x338d4
movq 0xc8(%rsp), %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
leaq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rax
movq %rax, (%rdi)
leaq 0x2a40e(%rip), %rsi     # 0x5d32d
leaq 0x2a408(%rip), %rdx     # 0x5d32e
callq 0x117f6
cmpl %r14d, %r13d
je 0x32f5e
movl %r13d, %eax
movq (%rbx,%rax,8), %rbx
leaq 0x130(%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 0x50(%rsp), %rdi
leaq 0x130(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0x33ca4
movq 0x5a041(%rip), %rdi     # 0x8cfc0
leaq 0x2fb6d(%rip), %rsi     # 0x62af3
movl $0xa, %edx
callq 0xf420
movq 0x58(%rsp), %rsi
subq 0x50(%rsp), %rsi
sarq $0x5, %rsi
movq 0x5a01b(%rip), %rdi     # 0x8cfc0
callq 0xf250
movq %rax, %rbx
leaq 0x2fb4a(%rip), %rsi     # 0x62afe
movl $0x12, %edx
movq %rax, %rdi
callq 0xf420
movq 0x130(%rsp), %rsi
movq 0x138(%rsp), %rdx
movq %rbx, %rdi
callq 0xf420
leaq 0x3727d(%rip), %rsi     # 0x6a25d
movl $0x1, %edx
movq %rax, %rdi
callq 0xf420
movl $0x8, %ebp
movzbl 0x98(%rsp), %eax
andl $0x1, %eax
movq %rax, 0x30(%rsp)
movzbl 0x28(%rsp), %eax
andl $0x1, %eax
movq %rax, 0x28(%rsp)
movzbl 0x20(%rsp), %eax
andl $0x1, %eax
movl %eax, 0x20(%rsp)
movzbl 0x48(%rsp), %eax
andl $0x1, %eax
movl %eax, 0x48(%rsp)
movzbl 0x40(%rsp), %eax
andl $0x1, %eax
movl %eax, 0x40(%rsp)
movzbl 0x38(%rsp), %eax
andl $0x1, %eax
movl %eax, 0x38(%rsp)
leaq 0x70(%rsp), %r14
leaq 0x338(%rsp), %r12
xorl %ebx, %ebx
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
cmpq %rbx, %rcx
jbe 0x332d3
leaq 0x10(%rsp), %rcx
movq %rcx, (%rsp)
movq -0x8(%rax,%rbp), %rsi
movq (%rax,%rbp), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x15420
movl $0xb, %edx
movq 0x59f2f(%rip), %rdi     # 0x8cfc0
leaq 0x2fa79(%rip), %rsi     # 0x62b11
callq 0xf420
leal 0x1(%rbx), %esi
movq 0x59f19(%rip), %rdi     # 0x8cfc0
callq 0xf6e0
movq %rax, %r13
movl $0x4, %edx
movq %rax, %rdi
leaq 0x2fa5f(%rip), %rsi     # 0x62b1d
callq 0xf420
movq 0x58(%rsp), %rsi
subq 0x50(%rsp), %rsi
sarq $0x5, %rsi
movq %r13, %rdi
callq 0xf250
movq %rax, %r13
movl $0x2, %edx
movq %rax, %rdi
leaq 0x2fa37(%rip), %rsi     # 0x62b22
callq 0xf420
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r13, %rdi
callq 0xf420
movl $0x1, %edx
movq %rax, %rdi
leaq 0x3714d(%rip), %rsi     # 0x6a25d
callq 0xf420
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
movq %r14, %r13
movq %r14, %rdi
callq 0x15420
movq 0x8(%rsp), %rsi
subq %r15, %rsi
movq 0xa0(%rsp), %rcx
movq 0xa8(%rsp), %r8
movq %r13, %rdi
movq %r15, %rdx
callq 0xf400
movq %r12, %rdi
callq 0x2d852
movq %r12, %rdi
leaq 0x100(%rsp), %rsi
movl 0x20(%rsp), %edx
movl 0x48(%rsp), %ecx
movl 0x40(%rsp), %r8d
movl 0x38(%rsp), %r9d
pushq 0x30(%rsp)
pushq 0x30(%rsp)
callq 0x33d2a
addq $0x10, %rsp
movq (%rsp), %rdi
movq 0x70(%rsp), %rsi
movq %r12, %rdx
callq 0x33df1
movl %eax, %r13d
movq %r12, %rdi
callq 0x344ae
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x331d0
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xf380
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x331eb
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xf380
addq $0x20, %rbp
incq %rbx
testl %r13d, %r13d
je 0x3304e
movl %r13d, %ebx
jmp 0x332d5
movq 0x90(%rsp), %r12
cmpl %r12d, %r13d
je 0x338fa
movl %r13d, %r14d
movq (%rbx,%r14,8), %rsi
leaq 0x50(%rsp), %rdi
leaq 0x338(%rsp), %rdx
callq 0x153e2
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rcx
leaq 0x50(%rsp), %rdi
xorl %edx, %edx
callq 0xf700
movq %rax, %r15
leaq 0xf0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x36a31(%rip), %rdx     # 0x69c90
leaq 0xe0(%rsp), %rdi
movq %rdx, %rsi
callq 0x117f6
cmpq $-0x1, %r15
je 0x33309
leaq 0x338(%rsp), %rdi
leaq 0x50(%rsp), %rsi
xorl %edx, %edx
movq %r15, %rcx
callq 0xf3c0
leaq 0xe0(%rsp), %rdi
leaq 0x338(%rsp), %r12
movq %r12, %rsi
callq 0xf490
movq (%r12), %rdi
leaq 0x348(%rsp), %rax
cmpq %rax, %rdi
je 0x332c9
movq 0x348(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x90(%rsp), %r12
jmp 0x33335
xorl %ebx, %ebx
movq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rax
cmpq %rax, %rdi
je 0x332fa
movq 0x140(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x50(%rsp), %rdi
callq 0x138c4
jmp 0x33708
leaq 0xe0(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0xf1f0
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rdx
leaq 0x50(%rsp), %rdi
callq 0xf130
leal -0x2(%r12), %eax
cmpl %eax, %r13d
jl 0x33920
leaq 0x338(%rsp), %rdi
callq 0x2d852
movzbl 0x98(%rsp), %eax
andl $0x1, %eax
movzbl 0x28(%rsp), %r10d
andl $0x1, %r10d
movzbl 0x20(%rsp), %edx
andl $0x1, %edx
movzbl 0x48(%rsp), %ecx
andl $0x1, %ecx
movzbl 0x40(%rsp), %r8d
andl $0x1, %r8d
movzbl 0x38(%rsp), %r9d
andl $0x1, %r9d
leaq 0x338(%rsp), %rdi
leaq 0x100(%rsp), %rsi
pushq %rax
pushq %r10
callq 0x33d2a
addq $0x10, %rsp
decl %r12d
cmpl %r12d, %r13d
jge 0x33423
movq 0x8(%rbx,%r14,8), %rsi
leaq 0x130(%rsp), %rdi
movq %rsp, %rdx
callq 0x153e2
movq 0xa0(%rsp), %rsi
movq 0xa8(%rsp), %rcx
leaq 0x130(%rsp), %rdi
xorl %edx, %edx
callq 0xf700
cmpq $-0x1, %rax
jne 0x33404
movq 0xa0(%rsp), %rsi
movq 0xa8(%rsp), %rdx
leaq 0x130(%rsp), %rdi
callq 0xf130
movq 0x50(%rsp), %rdi
movq 0x130(%rsp), %rsi
leaq 0x338(%rsp), %rdx
callq 0x33df1
jmp 0x3369c
cmpq $-0x1, %r15
je 0x3363a
movq 0x50(%rsp), %rbx
leaq 0x130(%rsp), %rdi
movq %rbx, %rsi
movl $0x8, %edx
callq 0xf750
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
xorl %eax, %eax
movq %rax, 0x8(%rsp)
movb %al, 0x10(%rsp)
leaq 0x80(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x130(%rsp), %rdi
callq 0x5bd49
movq %rax, %r14
movq %rbx, 0x20(%rsp)
leaq 0x130(%rsp), %rdi
callq 0xf0c0
movq %r14, 0x28(%rsp)
movq 0x78(%r14), %rax
movq (%rax), %r13
leaq 0x2f610(%rip), %rbp     # 0x62ab2
movq 0x78(%r13), %r14
movq %r13, 0x30(%rsp)
cmpq 0x80(%r13), %r14
je 0x33599
movq (%r14), %r13
movq %r13, %rdi
leaq 0x2f708(%rip), %rsi     # 0x62bcd
callq 0xf110
testl %eax, %eax
je 0x334fd
movq %r13, %rdi
leaq 0x2f703(%rip), %rsi     # 0x62bdb
callq 0xf110
testl %eax, %eax
je 0x33587
movq %r13, %rdi
leaq 0x2f6fa(%rip), %rsi     # 0x62be9
callq 0xf110
testl %eax, %eax
jne 0x33571
jmp 0x33587
leaq 0x20(%r13), %rsi
movq %rsp, %rdi
callq 0xf1f0
movq 0x48(%r13), %r12
subq 0x40(%r13), %r12
shrq $0x5, %r12
testl %r12d, %r12d
jle 0x33571
andl $0x7fffffff, %r12d      # imm = 0x7FFFFFFF
xorl %r15d, %r15d
movq 0x40(%r13), %rdi
addq %r15, %rdi
movq %rbp, %rsi
callq 0xf110
testl %eax, %eax
je 0x33551
movq 0x40(%r13), %rsi
addq %r15, %rsi
movq 0x58(%r13), %rbx
leaq 0x548(%rsp), %rdi
callq 0x342c8
jmp 0x3355a
movq 0x58(%r13), %rbx
leaq 0x70(%rsp), %rax
addq %r15, %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0xf1f0
addq $0x20, %r15
decq %r12
jne 0x33524
addq $0x8, %r14
movq 0x30(%rsp), %rax
cmpq 0x80(%rax), %r14
jne 0x334b8
movq 0x30(%rsp), %rax
cmpq 0x80(%rax), %r14
jne 0x334a2
movq 0x28(%rsp), %rbx
movq %rbx, %rdi
callq 0x5bc6a
movl $0x90, %esi
movq %rbx, %rdi
callq 0xf380
cmpq $0x0, 0x78(%rsp)
je 0x3394e
cmpq $0x0, 0x8(%rsp)
leaq 0xf0(%rsp), %rbp
je 0x33981
movq 0x70(%rsp), %rdi
movq (%rsp), %rsi
leaq 0x338(%rsp), %rdx
callq 0x33df1
movl %eax, %ebx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x3360d
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xf380
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x33628
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x130(%rsp), %rdi
callq 0xf0f0
jmp 0x336c3
leaq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rax
movq %rax, (%rdi)
movq 0xe0(%rsp), %rsi
movq 0xe8(%rsp), %rdx
addq %rsi, %rdx
callq 0x15420
movq 0xa0(%rsp), %rsi
movq 0xa8(%rsp), %rdx
leaq 0x130(%rsp), %rdi
callq 0xf130
movq 0x50(%rsp), %rdi
movq 0x130(%rsp), %rsi
leaq 0x338(%rsp), %rdx
callq 0x33df1
movl %eax, %ebx
movq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rax
cmpq %rax, %rdi
je 0x336c3
movq 0x140(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x338(%rsp), %rdi
callq 0x344ae
movq 0xe0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x336ed
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x33708
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x100(%rsp), %rdi
callq 0x3468c
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x3373a
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x3375f
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0xf380
movl %ebx, %eax
addq $0x698, %rsp            # imm = 0x698
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x5986e(%rip), %rdi     # 0x8cfe8
leaq 0x2f339(%rip), %rsi     # 0x62aba
movl $0x13, %edx
callq 0xf420
movq (%rbx,%r13,8), %rsi
movq 0x59852(%rip), %rdi     # 0x8cfe8
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
jmp 0x33944
movq 0x59839(%rip), %rdi     # 0x8cfe8
leaq 0x2f318(%rip), %rsi     # 0x62ace
movl $0x10, %edx
callq 0xf420
movq (%rbx,%r13,8), %rsi
movq 0x5981d(%rip), %rdi     # 0x8cfe8
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
jmp 0x33944
movq 0x59804(%rip), %rbx     # 0x8cfe8
leaq 0x2f048(%rip), %rsi     # 0x62833
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2f06a(%rip), %rsi     # 0x6286c
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2f0ac(%rip), %rsi     # 0x628c5
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2f0c2(%rip), %rsi     # 0x628f2
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2f0f0(%rip), %rsi     # 0x62937
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2f105(%rip), %rsi     # 0x62963
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2f129(%rip), %rsi     # 0x6299e
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2f149(%rip), %rsi     # 0x629d5
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2f174(%rip), %rsi     # 0x62a17
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
leaq 0x2f1ac(%rip), %rsi     # 0x62a66
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
movl $0x2, %edi
callq 0xf480
movq 0x5970d(%rip), %rdi     # 0x8cfe8
leaq 0x2f1fd(%rip), %rsi     # 0x62adf
movl $0x13, %edx
callq 0xf420
movq 0x596f5(%rip), %rdi     # 0x8cfe8
callq 0xf1a0
jmp 0x33944
movq 0x596e7(%rip), %rdi     # 0x8cfe8
leaq 0x2f21d(%rip), %rsi     # 0x62b25
movl $0x17, %edx
callq 0xf420
movq 0x596cf(%rip), %rdi     # 0x8cfe8
callq 0xf1a0
jmp 0x33944
movq 0x596c1(%rip), %rdi     # 0x8cfe8
leaq 0x2f1b1(%rip), %rsi     # 0x62adf
movl $0x13, %edx
callq 0xf420
movq 0x596a9(%rip), %rdi     # 0x8cfe8
callq 0xf1a0
movl $0x1, %edi
callq 0xf480
movq 0x59693(%rip), %rdi     # 0x8cfe8
leaq 0x2f2a2(%rip), %rsi     # 0x62bfe
movl $0x28, %edx
callq 0xf420
movq 0x5967b(%rip), %rdi     # 0x8cfe8
movq 0x20(%rsp), %rsi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
jmp 0x33944
movq 0x59660(%rip), %rdi     # 0x8cfe8
leaq 0x2f298(%rip), %rsi     # 0x62c27
movl $0x25, %edx
callq 0xf420
movq 0x59648(%rip), %rdi     # 0x8cfe8
movq 0x20(%rsp), %rsi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
jmp 0x33944
jmp 0x33a6e
jmp 0x33ba0
movq %rbx, %r14
movq %rax, %rbx
cmpl $0x1, %edx
jne 0x33ba3
movq %rbx, %rdi
callq 0xf180
movq 0x5960c(%rip), %rdi     # 0x8cfe8
leaq 0x2f1ba(%rip), %rsi     # 0x62b9d
movl $0x2f, %edx
callq 0xf420
movq 0x595f4(%rip), %rdi     # 0x8cfe8
movq %r14, %rsi
callq 0xf350
movq %rax, %rdi
callq 0xf1a0
jmp 0x33944
movq %rax, %rbx
callq 0xf680
jmp 0x33ba3
movq %rax, %rdi
callq 0x13a37
jmp 0x33a24
jmp 0x33a6e
jmp 0x33a76
movq %rax, %rbx
movq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rax
cmpq %rax, %rdi
je 0x33bf5
movq 0x140(%rsp), %rsi
incq %rsi
callq 0xf380
jmp 0x33bf5
jmp 0x33ba0
jmp 0x33a76
movq %rax, %rbx
jmp 0x33c1f
jmp 0x33a94
movq %rax, %rbx
jmp 0x33b91
movq %rax, %rbx
jmp 0x33bf5
movq %rax, %rbx
jmp 0x33c02
movq %rax, %rbx
jmp 0x33c6c
jmp 0x33a94
jmp 0x33a8f
movq %rax, %rbx
jmp 0x33abc
movq %rax, %rbx
jmp 0x33ae1
movq %rax, %rbx
jmp 0x33c3a
jmp 0x33b07
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x33abc
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rax
cmpq %rax, %rdi
je 0x33ae1
movq 0x140(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x338(%rsp), %rdi
leaq 0x348(%rsp), %rax
cmpq %rax, %rdi
je 0x33c3a
movq 0x348(%rsp), %rsi
jmp 0x33c32
movq %rax, %rbx
jmp 0x33b6c
jmp 0x33b4e
jmp 0x33b10
movq %rax, %rbx
jmp 0x33b2a
jmp 0x33ba0
movq %rax, %rbx
leaq 0x338(%rsp), %rdi
callq 0x344ae
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x33b51
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xf380
jmp 0x33b51
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x33b6c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rax
cmpq %rax, %rdi
je 0x33b91
movq 0x140(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x50(%rsp), %rdi
callq 0x138c4
jmp 0x33c3a
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
leaq 0xf0(%rsp), %rbp
je 0x33bcd
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xf380
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x33be8
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x130(%rsp), %rdi
callq 0xf0f0
leaq 0x338(%rsp), %rdi
callq 0x344ae
movq 0xe0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x33c1f
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x33c3a
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xf380
leaq 0x100(%rsp), %rdi
callq 0x3468c
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x33c6c
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0xf380
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x33c91
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0xf380
movq %rbx, %rdi
callq 0xf730