// File: navrajsaini[P]PL_Compiler_design_project/Assembler.cpp
// Function: Assembler::secondPass()
void Assembler::secondPass()
{
   string nextop;
   (*insource) >> nextop;
   // Loop until ENDPROG.
   for (;;) {
      if (nextop == "ADD") {
	 (*outsource) << 0 << endl;;
	 currentAddress++;
      }
      else if (nextop == "AND") {
	 (*outsource) << 1 << endl;;
	 currentAddress++;
      }
      else if (nextop == "ARROW") {
	 (*outsource) << 2 << endl;;
	 int temp;
	 (*insource) >> temp;
	 // Output the absolute jump address.
	 (*outsource) << labelTable[temp] << endl;
	 currentAddress += 2;
      }
      else if (nextop == "ASSIGN") {
	 (*outsource) << 3 << endl;
	 int temp;
	 (*insource) >> temp;
	 (*outsource) << temp << endl;
	 currentAddress += 2;
      }
      else if (nextop == "BAR") {
	 (*outsource) << 4 << endl;
	 int temp;
	 (*insource) >> temp;
	 (*outsource) << labelTable[temp] << endl;
	 currentAddress += 2;
      }
      else if (nextop == "CALL") {
	 (*outsource) << 5 << endl;
	 int temp;
	 (*insource) >> temp;
	 (*outsource) << temp << endl;
	 (*insource) >> temp;
	 (*outsource) << labelTable[temp] << endl;
	 currentAddress += 3;
      }
      else if (nextop == "CONSTANT") {
	 (*outsource) << 6 << endl;
	 int temp;
	 (*insource) >> temp;
	 (*outsource) << temp << endl;
	 currentAddress += 2;
      }
      else if (nextop == "DIVIDE") {
	 (*outsource) << 7 << endl;
	 currentAddress++;
      }
      else if (nextop == "ENDPROC") {
	 (*outsource) << 8 << endl;
	 currentAddress++;
      }
      else if (nextop == "ENDPROG") {
	 (*outsource) << 9 << endl;
	 break;
      }
      else if (nextop == "EQUAL") {
	 (*outsource) << 10 << endl;
	 currentAddress++;
      }
      else if (nextop == "FI") {
	 (*outsource) << 11 << endl;
	 int temp;
	 (*insource) >> temp;
	 (*outsource) << temp << endl;
	 currentAddress += 2;
      }
      else if (nextop == "GREATER") {
	 (*outsource) << 12 << endl;
	 currentAddress++;
      }
      else if (nextop == "INDEX") {
	 (*outsource) << 13 << endl;
	 int temp;
	 (*insource) >> temp;
	 (*outsource) << temp << endl;
	 (*insource) >> temp;
	 (*outsource) << temp << endl;
	 currentAddress += 3;
      }
      else if (nextop == "LESS") {
	 (*outsource) << 14 << endl;
	 currentAddress++;
      }
      else if (nextop == "MINUS") {
	 (*outsource) << 15 << endl;
	 currentAddress++;
      }
      else if (nextop == "MODULO") {
	 (*outsource) << 16 << endl;
	 currentAddress++;
      }
      else if (nextop == "MULTIPLY") {
	 (*outsource) << 17 << endl;
	 currentAddress++;
      }
      else if (nextop == "NOT") {
	 (*outsource) << 18 << endl;
	 currentAddress++;
      }
      else if (nextop == "OR") {
	 (*outsource) << 19 << endl;
	 currentAddress++;
      }
      else if (nextop == "PROC") {
	 (*outsource) << 20 << endl;
	 int temp;
	 (*insource) >> temp;
	 (*outsource) << labelTable[temp] << endl;
	 (*insource) >> temp;
	 (*outsource) << labelTable[temp] << endl;
	 currentAddress += 3;
      }
      else if (nextop == "PROG") {
	 (*outsource) << 21 << endl;
	 int temp;
	 (*insource) >> temp;
	 (*outsource) << labelTable[temp] << endl;
	 (*insource) >> temp;
	 (*outsource) << labelTable[temp] << endl;
	 currentAddress += 3;
      }
      else if (nextop == "READ") {
	 (*outsource) << 22 << endl;
	 int temp;
	 (*insource) >> temp;
	 (*outsource) << temp << endl;
	 currentAddress += 2;
      }
      else if (nextop == "SUBTRACT") {
	 (*outsource) << 23 << endl;
	 currentAddress++;
      }
      else if (nextop == "VALUE") {
	 (*outsource) << 24 << endl;
	 currentAddress++;
      }
      else if (nextop == "VARIABLE") {
	 (*outsource) << 25 << endl;
	 int temp;
	 (*insource) >> temp;
	 (*outsource) << temp << endl;
	 (*insource) >> temp;
	 (*outsource) << temp << endl;
	 currentAddress += 3;
      }
      else if (nextop == "WRITE") {
	 (*outsource) << 26 << endl;
	 int temp;
	 (*insource) >> temp;
	 (*outsource) << temp << endl;
	 currentAddress += 2;
      }
      else if (nextop == "DEFADDR") {
	 int temp;
	 (*insource) >> temp;
      }
      else if (nextop == "DEFARG") {
	 int temp1, temp2;
	 (*insource) >> temp1 >> temp2;
      }
      else {
	 // We should never see this message.
	 cerr << "Assembler encountered an unknown operator.  Bailing..."
	      << endl;
	 exit(2);
      }
      (*insource) >> nextop;
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2d0, %rsp            # imm = 0x2D0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq -0x28(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x22a0
movq -0x80(%rbp), %rax
movq -0x78(%rbp), %rsi
movq 0x7d8(%rax), %rdi
callq 0x2250
jmp 0x1bfda
jmp 0x1bfdc
leaq 0x39dd(%rip), %rsi      # 0x1f9c0
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x81(%rbp)
jmp 0x1bff4
movb -0x81(%rbp), %al
testb $0x1, %al
jne 0x1c000
jmp 0x1c062
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
xorl %esi, %esi
callq 0x2320
movq %rax, -0x90(%rbp)
jmp 0x1c01b
movq -0x90(%rbp), %rdi
movq 0xaf8f(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c030
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d193
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x2130
jmp 0x1d1c0
leaq 0x3929(%rip), %rsi      # 0x1f992
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x91(%rbp)
jmp 0x1c07a
movb -0x91(%rbp), %al
testb $0x1, %al
jne 0x1c086
jmp 0x1c0d1
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x1, %esi
callq 0x2320
movq %rax, -0xa0(%rbp)
jmp 0x1c0a4
movq -0xa0(%rbp), %rdi
movq 0xaf06(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c0b9
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d191
leaq 0x38ad(%rip), %rsi      # 0x1f985
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0xa1(%rbp)
jmp 0x1c0e9
movb -0xa1(%rbp), %al
testb $0x1, %al
jne 0x1c0f8
jmp 0x1c18e
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x2, %esi
callq 0x2320
movq %rax, -0xb0(%rbp)
jmp 0x1c116
movq -0xb0(%rbp), %rdi
movq 0xae94(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c12b
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x38(%rbp), %rsi
callq 0x2120
jmp 0x1c141
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movslq -0x38(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x2320
movq %rax, -0xb8(%rbp)
jmp 0x1c161
movq -0xb8(%rbp), %rdi
movq 0xae49(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c176
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d18f
leaq 0x37a7(%rip), %rsi      # 0x1f93c
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0xb9(%rbp)
jmp 0x1c1a6
movb -0xb9(%rbp), %al
testb $0x1, %al
jne 0x1c1b5
jmp 0x1c247
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x3, %esi
callq 0x2320
movq %rax, -0xc8(%rbp)
jmp 0x1c1d3
movq -0xc8(%rbp), %rdi
movq 0xadd7(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c1e8
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x3c(%rbp), %rsi
callq 0x2120
jmp 0x1c1fe
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl -0x3c(%rbp), %esi
callq 0x2320
movq %rax, -0xd0(%rbp)
jmp 0x1c21a
movq -0xd0(%rbp), %rdi
movq 0xad90(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c22f
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d18d
leaq 0x373d(%rip), %rsi      # 0x1f98b
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0xd1(%rbp)
jmp 0x1c25f
movb -0xd1(%rbp), %al
testb $0x1, %al
jne 0x1c26e
jmp 0x1c304
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x4, %esi
callq 0x2320
movq %rax, -0xe0(%rbp)
jmp 0x1c28c
movq -0xe0(%rbp), %rdi
movq 0xad1e(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c2a1
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x40(%rbp), %rsi
callq 0x2120
jmp 0x1c2b7
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movslq -0x40(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x2320
movq %rax, -0xe8(%rbp)
jmp 0x1c2d7
movq -0xe8(%rbp), %rdi
movq 0xacd3(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c2ec
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d18b
leaq 0x365d(%rip), %rsi      # 0x1f968
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0xe9(%rbp)
jmp 0x1c31c
movb -0xe9(%rbp), %al
testb $0x1, %al
jne 0x1c32b
jmp 0x1c408
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x5, %esi
callq 0x2320
movq %rax, -0xf8(%rbp)
jmp 0x1c349
movq -0xf8(%rbp), %rdi
movq 0xac61(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c35e
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x44(%rbp), %rsi
callq 0x2120
jmp 0x1c374
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl -0x44(%rbp), %esi
callq 0x2320
movq %rax, -0x100(%rbp)
jmp 0x1c390
movq -0x100(%rbp), %rdi
movq 0xac1a(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c3a5
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x44(%rbp), %rsi
callq 0x2120
jmp 0x1c3bb
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movslq -0x44(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x2320
movq %rax, -0x108(%rbp)
jmp 0x1c3db
movq -0x108(%rbp), %rdi
movq 0xabcf(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c3f0
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x3, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d189
leaq 0x35da(%rip), %rsi      # 0x1f9e9
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x109(%rbp)
jmp 0x1c420
movb -0x109(%rbp), %al
testb $0x1, %al
jne 0x1c42f
jmp 0x1c4c1
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x6, %esi
callq 0x2320
movq %rax, -0x118(%rbp)
jmp 0x1c44d
movq -0x118(%rbp), %rdi
movq 0xab5d(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c462
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2120
jmp 0x1c478
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl -0x48(%rbp), %esi
callq 0x2320
movq %rax, -0x120(%rbp)
jmp 0x1c494
movq -0x120(%rbp), %rdi
movq 0xab16(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c4a9
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d187
leaq 0x3518(%rip), %rsi      # 0x1f9e0
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x121(%rbp)
jmp 0x1c4d9
movb -0x121(%rbp), %al
testb $0x1, %al
jne 0x1c4e5
jmp 0x1c530
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x7, %esi
callq 0x2320
movq %rax, -0x130(%rbp)
jmp 0x1c503
movq -0x130(%rbp), %rdi
movq 0xaaa7(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c518
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d185
leaq 0x33d6(%rip), %rsi      # 0x1f90d
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x131(%rbp)
jmp 0x1c548
movb -0x131(%rbp), %al
testb $0x1, %al
jne 0x1c554
jmp 0x1c59f
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x8, %esi
callq 0x2320
movq %rax, -0x140(%rbp)
jmp 0x1c572
movq -0x140(%rbp), %rdi
movq 0xaa38(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c587
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d183
leaq 0x3251(%rip), %rsi      # 0x1f7f7
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x141(%rbp)
jmp 0x1c5b7
movb -0x141(%rbp), %al
testb $0x1, %al
jne 0x1c5c3
jmp 0x1c5fb
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x9, %esi
callq 0x2320
movq %rax, -0x150(%rbp)
jmp 0x1c5e1
movq -0x150(%rbp), %rdi
movq 0xa9c9(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c5f6
jmp 0x1d1ae
leaq 0x33a6(%rip), %rsi      # 0x1f9a8
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x151(%rbp)
jmp 0x1c613
movb -0x151(%rbp), %al
testb $0x1, %al
jne 0x1c61f
jmp 0x1c66a
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0xa, %esi
callq 0x2320
movq %rax, -0x160(%rbp)
jmp 0x1c63d
movq -0x160(%rbp), %rdi
movq 0xa96d(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c652
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d17f
leaq 0x32ff(%rip), %rsi      # 0x1f970
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x161(%rbp)
jmp 0x1c682
movb -0x161(%rbp), %al
testb $0x1, %al
jne 0x1c691
jmp 0x1c723
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0xb, %esi
callq 0x2320
movq %rax, -0x170(%rbp)
jmp 0x1c6af
movq -0x170(%rbp), %rdi
movq 0xa8fb(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c6c4
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x4c(%rbp), %rsi
callq 0x2120
jmp 0x1c6da
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl -0x4c(%rbp), %esi
callq 0x2320
movq %rax, -0x178(%rbp)
jmp 0x1c6f6
movq -0x178(%rbp), %rdi
movq 0xa8b4(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c70b
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d17d
leaq 0x3284(%rip), %rsi      # 0x1f9ae
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x179(%rbp)
jmp 0x1c73b
movb -0x179(%rbp), %al
testb $0x1, %al
jne 0x1c747
jmp 0x1c792
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0xc, %esi
callq 0x2320
movq %rax, -0x188(%rbp)
jmp 0x1c765
movq -0x188(%rbp), %rdi
movq 0xa845(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c77a
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d17b
leaq 0x3292(%rip), %rsi      # 0x1fa2b
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x189(%rbp)
jmp 0x1c7aa
movb -0x189(%rbp), %al
testb $0x1, %al
jne 0x1c7b9
jmp 0x1c892
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0xd, %esi
callq 0x2320
movq %rax, -0x198(%rbp)
jmp 0x1c7d7
movq -0x198(%rbp), %rdi
movq 0xa7d3(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c7ec
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x50(%rbp), %rsi
callq 0x2120
jmp 0x1c802
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl -0x50(%rbp), %esi
callq 0x2320
movq %rax, -0x1a0(%rbp)
jmp 0x1c81e
movq -0x1a0(%rbp), %rdi
movq 0xa78c(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c833
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x50(%rbp), %rsi
callq 0x2120
jmp 0x1c849
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl -0x50(%rbp), %esi
callq 0x2320
movq %rax, -0x1a8(%rbp)
jmp 0x1c865
movq -0x1a8(%rbp), %rdi
movq 0xa745(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c87a
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x3, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d179
leaq 0x310a(%rip), %rsi      # 0x1f9a3
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x1a9(%rbp)
jmp 0x1c8aa
movb -0x1a9(%rbp), %al
testb $0x1, %al
jne 0x1c8b6
jmp 0x1c901
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0xe, %esi
callq 0x2320
movq %rax, -0x1b8(%rbp)
jmp 0x1c8d4
movq -0x1b8(%rbp), %rdi
movq 0xa6d6(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c8e9
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d177
leaq 0x3191(%rip), %rsi      # 0x1fa99
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x1b9(%rbp)
jmp 0x1c919
movb -0x1b9(%rbp), %al
testb $0x1, %al
jne 0x1c925
jmp 0x1c970
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0xf, %esi
callq 0x2320
movq %rax, -0x1c8(%rbp)
jmp 0x1c943
movq -0x1c8(%rbp), %rdi
movq 0xa667(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c958
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d175
leaq 0x3062(%rip), %rsi      # 0x1f9d9
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x1c9(%rbp)
jmp 0x1c988
movb -0x1c9(%rbp), %al
testb $0x1, %al
jne 0x1c994
jmp 0x1c9df
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x10, %esi
callq 0x2320
movq %rax, -0x1d8(%rbp)
jmp 0x1c9b2
movq -0x1d8(%rbp), %rdi
movq 0xa5f8(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1c9c7
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d173
leaq 0x30b9(%rip), %rsi      # 0x1fa9f
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x1d9(%rbp)
jmp 0x1c9f7
movb -0x1d9(%rbp), %al
testb $0x1, %al
jne 0x1ca03
jmp 0x1ca4e
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x11, %esi
callq 0x2320
movq %rax, -0x1e8(%rbp)
jmp 0x1ca21
movq -0x1e8(%rbp), %rdi
movq 0xa589(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1ca36
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d171
leaq 0x2fa3(%rip), %rsi      # 0x1f9f8
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x1e9(%rbp)
jmp 0x1ca66
movb -0x1e9(%rbp), %al
testb $0x1, %al
jne 0x1ca72
jmp 0x1cabd
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x12, %esi
callq 0x2320
movq %rax, -0x1f8(%rbp)
jmp 0x1ca90
movq -0x1f8(%rbp), %rdi
movq 0xa51a(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1caa5
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d16f
leaq 0x2ed2(%rip), %rsi      # 0x1f996
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x1f9(%rbp)
jmp 0x1cad5
movb -0x1f9(%rbp), %al
testb $0x1, %al
jne 0x1cae1
jmp 0x1cb2c
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x13, %esi
callq 0x2320
movq %rax, -0x208(%rbp)
jmp 0x1caff
movq -0x208(%rbp), %rdi
movq 0xa4ab(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1cb14
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d16d
leaq 0x2ddd(%rip), %rsi      # 0x1f910
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x209(%rbp)
jmp 0x1cb44
movb -0x209(%rbp), %al
testb $0x1, %al
jne 0x1cb53
jmp 0x1cc34
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x14, %esi
callq 0x2320
movq %rax, -0x218(%rbp)
jmp 0x1cb71
movq -0x218(%rbp), %rdi
movq 0xa439(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1cb86
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x54(%rbp), %rsi
callq 0x2120
jmp 0x1cb9c
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movslq -0x54(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x2320
movq %rax, -0x220(%rbp)
jmp 0x1cbbc
movq -0x220(%rbp), %rdi
movq 0xa3ee(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1cbd1
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x54(%rbp), %rsi
callq 0x2120
jmp 0x1cbe7
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movslq -0x54(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x2320
movq %rax, -0x228(%rbp)
jmp 0x1cc07
movq -0x228(%rbp), %rdi
movq 0xa3a3(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1cc1c
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x3, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d16b
leaq 0x2bbf(%rip), %rsi      # 0x1f7fa
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x229(%rbp)
jmp 0x1cc4c
movb -0x229(%rbp), %al
testb $0x1, %al
jne 0x1cc5b
jmp 0x1cd3c
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x15, %esi
callq 0x2320
movq %rax, -0x238(%rbp)
jmp 0x1cc79
movq -0x238(%rbp), %rdi
movq 0xa331(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1cc8e
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x58(%rbp), %rsi
callq 0x2120
jmp 0x1cca4
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movslq -0x58(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x2320
movq %rax, -0x240(%rbp)
jmp 0x1ccc4
movq -0x240(%rbp), %rdi
movq 0xa2e6(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1ccd9
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x58(%rbp), %rsi
callq 0x2120
jmp 0x1ccef
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movslq -0x58(%rbp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x2320
movq %rax, -0x248(%rbp)
jmp 0x1cd0f
movq -0x248(%rbp), %rdi
movq 0xa29b(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1cd24
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x3, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d169
leaq 0x2bd8(%rip), %rsi      # 0x1f91b
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x249(%rbp)
jmp 0x1cd54
movb -0x249(%rbp), %al
testb $0x1, %al
jne 0x1cd63
jmp 0x1cdf5
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x16, %esi
callq 0x2320
movq %rax, -0x258(%rbp)
jmp 0x1cd81
movq -0x258(%rbp), %rdi
movq 0xa229(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1cd96
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x5c(%rbp), %rsi
callq 0x2120
jmp 0x1cdac
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl -0x5c(%rbp), %esi
callq 0x2320
movq %rax, -0x260(%rbp)
jmp 0x1cdc8
movq -0x260(%rbp), %rdi
movq 0xa1e2(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1cddd
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d167
leaq 0x2bc8(%rip), %rsi      # 0x1f9c4
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x261(%rbp)
jmp 0x1ce0d
movb -0x261(%rbp), %al
testb $0x1, %al
jne 0x1ce19
jmp 0x1ce64
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x17, %esi
callq 0x2320
movq %rax, -0x270(%rbp)
jmp 0x1ce37
movq -0x270(%rbp), %rdi
movq 0xa173(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1ce4c
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d165
leaq 0x2b87(%rip), %rsi      # 0x1f9f2
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x271(%rbp)
jmp 0x1ce7c
movb -0x271(%rbp), %al
testb $0x1, %al
jne 0x1ce88
jmp 0x1ced3
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x18, %esi
callq 0x2320
movq %rax, -0x280(%rbp)
jmp 0x1cea6
movq -0x280(%rbp), %rdi
movq 0xa104(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1cebb
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d163
leaq 0x2b25(%rip), %rsi      # 0x1f9ff
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x281(%rbp)
jmp 0x1ceeb
movb -0x281(%rbp), %al
testb $0x1, %al
jne 0x1cefa
jmp 0x1cfd3
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x19, %esi
callq 0x2320
movq %rax, -0x290(%rbp)
jmp 0x1cf18
movq -0x290(%rbp), %rdi
movq 0xa092(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1cf2d
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x60(%rbp), %rsi
callq 0x2120
jmp 0x1cf43
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl -0x60(%rbp), %esi
callq 0x2320
movq %rax, -0x298(%rbp)
jmp 0x1cf5f
movq -0x298(%rbp), %rdi
movq 0xa04b(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1cf74
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x60(%rbp), %rsi
callq 0x2120
jmp 0x1cf8a
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl -0x60(%rbp), %esi
callq 0x2320
movq %rax, -0x2a0(%rbp)
jmp 0x1cfa6
movq -0x2a0(%rbp), %rdi
movq 0xa004(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1cfbb
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x3, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d161
leaq 0x2952(%rip), %rsi      # 0x1f92c
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x2a1(%rbp)
jmp 0x1cfeb
movb -0x2a1(%rbp), %al
testb $0x1, %al
jne 0x1cffa
jmp 0x1d08c
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl $0x1a, %esi
callq 0x2320
movq %rax, -0x2b0(%rbp)
jmp 0x1d018
movq -0x2b0(%rbp), %rdi
movq 0x9f92(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1d02d
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x64(%rbp), %rsi
callq 0x2120
jmp 0x1d043
movq -0x80(%rbp), %rax
movq 0x7e0(%rax), %rdi
movl -0x64(%rbp), %esi
callq 0x2320
movq %rax, -0x2b8(%rbp)
jmp 0x1d05f
movq -0x2b8(%rbp), %rdi
movq 0x9f4b(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1d074
movq -0x80(%rbp), %rax
movl 0x7d0(%rax), %ecx
addl $0x2, %ecx
movl %ecx, 0x7d0(%rax)
jmp 0x1d15f
leaq 0x2773(%rip), %rsi      # 0x1f806
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x2b9(%rbp)
jmp 0x1d0a4
movb -0x2b9(%rbp), %al
testb $0x1, %al
jne 0x1d0b0
jmp 0x1d0cb
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x68(%rbp), %rsi
callq 0x2120
jmp 0x1d0c6
jmp 0x1d15d
leaq 0x272d(%rip), %rsi      # 0x1f7ff
leaq -0x28(%rbp), %rdi
callq 0x10ea0
movb %al, -0x2ba(%rbp)
jmp 0x1d0e3
movb -0x2ba(%rbp), %al
testb $0x1, %al
jne 0x1d0ef
jmp 0x1d120
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x6c(%rbp), %rsi
callq 0x2120
movq %rax, -0x2c8(%rbp)
jmp 0x1d10c
movq -0x2c8(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x2120
jmp 0x1d11e
jmp 0x1d15b
movq 0x9ec9(%rip), %rdi      # 0x26ff0
leaq 0x297a(%rip), %rsi      # 0x1faa8
callq 0x21b0
movq %rax, -0x2d0(%rbp)
jmp 0x1d13c
movq -0x2d0(%rbp), %rdi
movq 0x9e6e(%rip), %rsi      # 0x26fb8
callq 0x21d0
jmp 0x1d151
movl $0x2, %edi
callq 0x2230
jmp 0x1d15d
jmp 0x1d15f
jmp 0x1d161
jmp 0x1d163
jmp 0x1d165
jmp 0x1d167
jmp 0x1d169
jmp 0x1d16b
jmp 0x1d16d
jmp 0x1d16f
jmp 0x1d171
jmp 0x1d173
jmp 0x1d175
jmp 0x1d177
jmp 0x1d179
jmp 0x1d17b
jmp 0x1d17d
jmp 0x1d17f
jmp 0x1d181
jmp 0x1d183
jmp 0x1d185
jmp 0x1d187
jmp 0x1d189
jmp 0x1d18b
jmp 0x1d18d
jmp 0x1d18f
jmp 0x1d191
jmp 0x1d193
movq -0x80(%rbp), %rax
movq 0x7d8(%rax), %rdi
leaq -0x28(%rbp), %rsi
callq 0x2250
jmp 0x1d1a9
jmp 0x1bfdc
leaq -0x28(%rbp), %rdi
callq 0x2130
addq $0x2d0, %rsp            # imm = 0x2D0
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x2340
nopl (%rax)