// File: /workspace/github_cpp_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq -0x40(%rbp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq 0x7d8(%rdi), %rdi
leaq -0x50(%rbp), %rsi
callq 0x2250
leaq 0x28f7(%rip), %r14      # 0x1386d
leaq -0x50(%rbp), %r15
leaq 0x28be(%rip), %r12      # 0x1383f
movq %r15, %rdi
movq %r14, %rsi
callq 0x2080
testl %eax, %eax
je 0x11235
movq %r15, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x1126f
movq %r15, %rdi
leaq 0x2881(%rip), %rsi      # 0x13832
callq 0x2080
testl %eax, %eax
je 0x112b5
movq %r15, %rdi
leaq 0x2821(%rip), %rsi      # 0x137e9
callq 0x2080
testl %eax, %eax
je 0x11342
movq %r15, %rdi
leaq 0x2859(%rip), %rsi      # 0x13838
callq 0x2080
testl %eax, %eax
je 0x113cb
movq %r15, %rdi
leaq 0x281f(%rip), %rsi      # 0x13815
callq 0x2080
testl %eax, %eax
je 0x11458
movq %r15, %rdi
leaq 0x2889(%rip), %rsi      # 0x13896
callq 0x2080
testl %eax, %eax
je 0x11535
movq %r15, %rdi
leaq 0x2869(%rip), %rsi      # 0x1388d
callq 0x2080
testl %eax, %eax
je 0x115d4
movq %r15, %rdi
leaq 0x277f(%rip), %rsi      # 0x137ba
callq 0x2080
testl %eax, %eax
je 0x11614
movq %r15, %rdi
leaq 0x2652(%rip), %rsi      # 0x136a4
callq 0x2080
testl %eax, %eax
je 0x11bde
movq %r15, %rdi
leaq 0x27ec(%rip), %rsi      # 0x13855
callq 0x2080
testl %eax, %eax
je 0x11654
movq %r15, %rdi
leaq 0x279d(%rip), %rsi      # 0x1381d
callq 0x2080
testl %eax, %eax
je 0x11694
movq %r15, %rdi
leaq 0x27c4(%rip), %rsi      # 0x1385b
callq 0x2080
testl %eax, %eax
je 0x1171d
movq %r15, %rdi
leaq 0x282a(%rip), %rsi      # 0x138d8
callq 0x2080
testl %eax, %eax
je 0x1175d
movq %r15, %rdi
leaq 0x278b(%rip), %rsi      # 0x13850
callq 0x2080
testl %eax, %eax
je 0x1182f
movq %r15, %rdi
leaq 0x286a(%rip), %rsi      # 0x13946
callq 0x2080
testl %eax, %eax
je 0x1186f
movq %r15, %rdi
leaq 0x2793(%rip), %rsi      # 0x13886
callq 0x2080
testl %eax, %eax
je 0x118af
movq %r15, %rdi
leaq 0x2842(%rip), %rsi      # 0x1394c
callq 0x2080
testl %eax, %eax
je 0x118ef
movq %r15, %rdi
leaq 0x2784(%rip), %rsi      # 0x138a5
callq 0x2080
testl %eax, %eax
je 0x1192f
movq %r15, %rdi
leaq 0x270b(%rip), %rsi      # 0x13843
callq 0x2080
testl %eax, %eax
je 0x1196f
movq %r15, %rdi
leaq 0x266e(%rip), %rsi      # 0x137bd
callq 0x2080
testl %eax, %eax
je 0x119af
movq %r15, %rdi
leaq 0x2541(%rip), %rsi      # 0x136a7
callq 0x2080
testl %eax, %eax
je 0x11a23
movq %r15, %rdi
leaq 0x264b(%rip), %rsi      # 0x137c8
callq 0x2080
testl %eax, %eax
je 0x11a97
movq %r15, %rdi
leaq 0x26dd(%rip), %rsi      # 0x13871
callq 0x2080
testl %eax, %eax
je 0x11adc
movq %r15, %rdi
leaq 0x26f4(%rip), %rsi      # 0x1389f
callq 0x2080
testl %eax, %eax
je 0x11afa
movq %r15, %rdi
leaq 0x26ea(%rip), %rsi      # 0x138ac
callq 0x2080
testl %eax, %eax
je 0x11b18
movq %r15, %rdi
leaq 0x2600(%rip), %rsi      # 0x137d9
callq 0x2080
testl %eax, %eax
je 0x11b84
movq %r15, %rdi
leaq 0x24c3(%rip), %rsi      # 0x136b3
callq 0x2080
testl %eax, %eax
je 0x11bc9
movq %r15, %rdi
leaq 0x24a5(%rip), %rsi      # 0x136ac
callq 0x2080
testl %eax, %eax
jne 0x11c3a
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq %rax, %rdi
leaq -0x30(%rbp), %rsi
callq 0x2120
jmp 0x115c0
movq 0x7e0(%rbx), %rdi
xorl %esi, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x112aa
movq 0x7e0(%rbx), %rdi
movl $0x1, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
incl 0x7d0(%rbx)
jmp 0x115c0
movq 0x7e0(%rbx), %rdi
movl $0x2, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movslq -0x2c(%rbp), %rax
movl (%rbx,%rax,4), %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x115b9
movq 0x7e0(%rbx), %rdi
movl $0x3, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movl -0x2c(%rbp), %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x115b9
movq 0x7e0(%rbx), %rdi
movl $0x4, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movslq -0x2c(%rbp), %rax
movl (%rbx,%rax,4), %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x115b9
movq 0x7e0(%rbx), %rdi
movl $0x5, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movl -0x2c(%rbp), %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movslq -0x2c(%rbp), %rax
movl (%rbx,%rax,4), %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
addl $0x3, 0x7d0(%rbx)
jmp 0x115c0
movq 0x7e0(%rbx), %rdi
movl $0x6, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movl -0x2c(%rbp), %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
addl $0x2, 0x7d0(%rbx)
movq 0x7d8(%rbx), %rdi
movq %r15, %rsi
callq 0x2250
jmp 0x10f81
movq 0x7e0(%rbx), %rdi
movl $0x7, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x112aa
movq 0x7e0(%rbx), %rdi
movl $0x8, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x112aa
movq 0x7e0(%rbx), %rdi
movl $0xa, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x112aa
movq 0x7e0(%rbx), %rdi
movl $0xb, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movl -0x2c(%rbp), %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x115b9
movq 0x7e0(%rbx), %rdi
movl $0xc, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x112aa
movq 0x7e0(%rbx), %rdi
movl $0xd, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movl -0x2c(%rbp), %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movl -0x2c(%rbp), %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x11529
movq 0x7e0(%rbx), %rdi
movl $0xe, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x112aa
movq 0x7e0(%rbx), %rdi
movl $0xf, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x112aa
movq 0x7e0(%rbx), %rdi
movl $0x10, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x112aa
movq 0x7e0(%rbx), %rdi
movl $0x11, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x112aa
movq 0x7e0(%rbx), %rdi
movl $0x12, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x112aa
movq 0x7e0(%rbx), %rdi
movl $0x13, %esi
callq 0x22f0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
jmp 0x112aa
movq 0x7e0(%rbx), %rdi
movl $0x14, %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movslq -0x2c(%rbp), %rax
movl (%rbx,%rax,4), %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movslq -0x2c(%rbp), %rax
movl (%rbx,%rax,4), %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
jmp 0x11529
movq 0x7e0(%rbx), %rdi
movl $0x15, %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movslq -0x2c(%rbp), %rax
movl (%rbx,%rax,4), %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movslq -0x2c(%rbp), %rax
movl (%rbx,%rax,4), %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
jmp 0x11529
movq 0x7e0(%rbx), %rdi
movl $0x16, %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movl -0x2c(%rbp), %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
jmp 0x115b9
movq 0x7e0(%rbx), %rdi
movl $0x17, %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
jmp 0x112aa
movq 0x7e0(%rbx), %rdi
movl $0x18, %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
jmp 0x112aa
movq 0x7e0(%rbx), %rdi
movl $0x19, %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movl -0x2c(%rbp), %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movl -0x2c(%rbp), %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
jmp 0x11529
movq 0x7e0(%rbx), %rdi
movl $0x1a, %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq 0x7e0(%rbx), %rdi
movl -0x2c(%rbp), %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
jmp 0x115b9
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
jmp 0x115c0
movq 0x7e0(%rbx), %rdi
movl $0x9, %esi
callq 0x22f0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x11c2b
callq 0x21b0
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x73af(%rip), %rdi      # 0x18ff0
leaq 0x1d0d(%rip), %rsi      # 0x13955
movl $0x36, %edx
callq 0x2210
movq 0x7397(%rip), %rdi      # 0x18ff0
callq 0x20e0
movl $0x2, %edi
callq 0x2230
jmp 0x11c86
jmp 0x11c86
jmp 0x11c86
jmp 0x11c86
jmp 0x11c86
jmp 0x11c86
jmp 0x11c86
jmp 0x11c86
jmp 0x11c86
jmp 0x11c86
jmp 0x11c86
jmp 0x11c86
jmp 0x11c86
jmp 0x11c86
jmp 0x11c86
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x11c9b
callq 0x21b0
movq %rbx, %rdi
callq 0x2310
nop