// File: /workspace/github_cpp_makefile_star2_O1/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 0x28e7(%rip), %r14      # 0x1386d
leaq -0x50(%rbp), %r15
leaq 0x28ae(%rip), %r12      # 0x1383f
movq %r15, %rdi
movq %r14, %rsi
callq 0x2080
testl %eax, %eax
je 0x11245
movq %r15, %rdi
movq %r12, %rsi
callq 0x2080
testl %eax, %eax
je 0x1127f
movq %r15, %rdi
leaq 0x2871(%rip), %rsi      # 0x13832
callq 0x2080
testl %eax, %eax
je 0x112c5
movq %r15, %rdi
leaq 0x2811(%rip), %rsi      # 0x137e9
callq 0x2080
testl %eax, %eax
je 0x11352
movq %r15, %rdi
leaq 0x2849(%rip), %rsi      # 0x13838
callq 0x2080
testl %eax, %eax
je 0x113db
movq %r15, %rdi
leaq 0x280f(%rip), %rsi      # 0x13815
callq 0x2080
testl %eax, %eax
je 0x11468
movq %r15, %rdi
leaq 0x2879(%rip), %rsi      # 0x13896
callq 0x2080
testl %eax, %eax
je 0x11545
movq %r15, %rdi
leaq 0x2859(%rip), %rsi      # 0x1388d
callq 0x2080
testl %eax, %eax
je 0x115e4
movq %r15, %rdi
leaq 0x276f(%rip), %rsi      # 0x137ba
callq 0x2080
testl %eax, %eax
je 0x11624
movq %r15, %rdi
leaq 0x2642(%rip), %rsi      # 0x136a4
callq 0x2080
testl %eax, %eax
je 0x11bee
movq %r15, %rdi
leaq 0x27dc(%rip), %rsi      # 0x13855
callq 0x2080
testl %eax, %eax
je 0x11664
movq %r15, %rdi
leaq 0x278d(%rip), %rsi      # 0x1381d
callq 0x2080
testl %eax, %eax
je 0x116a4
movq %r15, %rdi
leaq 0x27b4(%rip), %rsi      # 0x1385b
callq 0x2080
testl %eax, %eax
je 0x1172d
movq %r15, %rdi
leaq 0x281a(%rip), %rsi      # 0x138d8
callq 0x2080
testl %eax, %eax
je 0x1176d
movq %r15, %rdi
leaq 0x277b(%rip), %rsi      # 0x13850
callq 0x2080
testl %eax, %eax
je 0x1183f
movq %r15, %rdi
leaq 0x285a(%rip), %rsi      # 0x13946
callq 0x2080
testl %eax, %eax
je 0x1187f
movq %r15, %rdi
leaq 0x2783(%rip), %rsi      # 0x13886
callq 0x2080
testl %eax, %eax
je 0x118bf
movq %r15, %rdi
leaq 0x2832(%rip), %rsi      # 0x1394c
callq 0x2080
testl %eax, %eax
je 0x118ff
movq %r15, %rdi
leaq 0x2774(%rip), %rsi      # 0x138a5
callq 0x2080
testl %eax, %eax
je 0x1193f
movq %r15, %rdi
leaq 0x26fb(%rip), %rsi      # 0x13843
callq 0x2080
testl %eax, %eax
je 0x1197f
movq %r15, %rdi
leaq 0x265e(%rip), %rsi      # 0x137bd
callq 0x2080
testl %eax, %eax
je 0x119bf
movq %r15, %rdi
leaq 0x2531(%rip), %rsi      # 0x136a7
callq 0x2080
testl %eax, %eax
je 0x11a33
movq %r15, %rdi
leaq 0x263b(%rip), %rsi      # 0x137c8
callq 0x2080
testl %eax, %eax
je 0x11aa7
movq %r15, %rdi
leaq 0x26cd(%rip), %rsi      # 0x13871
callq 0x2080
testl %eax, %eax
je 0x11aec
movq %r15, %rdi
leaq 0x26e4(%rip), %rsi      # 0x1389f
callq 0x2080
testl %eax, %eax
je 0x11b0a
movq %r15, %rdi
leaq 0x26da(%rip), %rsi      # 0x138ac
callq 0x2080
testl %eax, %eax
je 0x11b28
movq %r15, %rdi
leaq 0x25f0(%rip), %rsi      # 0x137d9
callq 0x2080
testl %eax, %eax
je 0x11b94
movq %r15, %rdi
leaq 0x24b3(%rip), %rsi      # 0x136b3
callq 0x2080
testl %eax, %eax
je 0x11bd9
movq %r15, %rdi
leaq 0x2495(%rip), %rsi      # 0x136ac
callq 0x2080
testl %eax, %eax
jne 0x11c4a
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
movq %rax, %rdi
leaq -0x30(%rbp), %rsi
callq 0x2120
jmp 0x115d0
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 0x112ba
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 0x115d0
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 0x115c9
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 0x115c9
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 0x115c9
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 0x115d0
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 0x10f91
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 0x112ba
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 0x112ba
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 0x112ba
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 0x115c9
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 0x112ba
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 0x11539
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 0x112ba
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 0x112ba
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 0x112ba
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 0x112ba
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 0x112ba
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 0x112ba
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 0x11539
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 0x11539
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 0x115c9
movq 0x7e0(%rbx), %rdi
movl $0x17, %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
jmp 0x112ba
movq 0x7e0(%rbx), %rdi
movl $0x18, %esi
callq 0x22f0
movq %rax, %rdi
callq 0x20e0
jmp 0x112ba
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 0x11539
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 0x115c9
movq 0x7d8(%rbx), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x2120
jmp 0x115d0
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 0x11c3b
callq 0x21b0
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x739f(%rip), %rdi      # 0x18ff0
leaq 0x1cfd(%rip), %rsi      # 0x13955
movl $0x36, %edx
callq 0x2210
movq 0x7387(%rip), %rdi      # 0x18ff0
callq 0x20e0
movl $0x2, %edi
callq 0x2230
jmp 0x11c96
jmp 0x11c96
jmp 0x11c96
jmp 0x11c96
jmp 0x11c96
jmp 0x11c96
jmp 0x11c96
jmp 0x11c96
jmp 0x11c96
jmp 0x11c96
jmp 0x11c96
jmp 0x11c96
jmp 0x11c96
jmp 0x11c96
jmp 0x11c96
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x11cab
callq 0x21b0
movq %rbx, %rdi
callq 0x2310
nop