// File: /workspace/github_cpp_makefile_star2_O2/saeefahmad[P]MIPS-pipeline-simulator/pipeline.cpp
// Function: initialize(int)
void initialize(int choice) {
  int i;
  pc = 0;
  for (i = 0; i < TOTAL_REGISTER_TYPE; i++)
    registers[i] = 0;
  imem = new Instruction*[IMEMSIZE];
  assert(imem != NULL);
  for (i = 0; i < IMEMSIZE; i++)
    imem[i] = NULL;
  for (i = 0; i < DMEMSIZE ; i++)
    dmem[i] = 0;
  continueSimulation = true;
  clockCycle = 1;
  AbstractStage::setPtrGetPc(&getPc);
  AbstractStage::setPtrSetPc(&setPc);
  AbstractStage::setPtrResolveDependence(&resolveDependence);
  AbstractStage::setPtrGetInstrCount(&getInstrCount);
  AbstractStage::setPtrSetInstrCount(&setInstrCount);
  AbstractStage::setPtrGetNextIns(&getNextIns);
  AbstractStage::setPtrGetCurrentIns(&getCurrentIns);
  AbstractStage::setPtrGetReg(&getReg);
  AbstractStage::setPtrSetReg(&setReg);
  AbstractStage::setPtrGetData(&getData);
  AbstractStage::setPtrSetData(&setData);
  AbstractStage::setPtrStopSimulation(&stopSimulation);
  AbstractStage::setPtrGetCycle(&getCycle);
  AbstractStage::setPtrIncStatistics(&incStatistics);

  // Load program
  switch (choice) {
  // Program 1
  case 1:
    i = 0;
    imem[i] = new Instruction(ADDI, R1, R0, 10, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R5, R0, 2, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R2, R0, 196, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R3, R0, 396, i);
    i+=4;
    imem[i/4] = new Instruction(ST, R1, R2, 0, i);
    i+=4;
    imem[i/4] = new Instruction(MUL, R4, R1, R5, i);
    i+=4;
    imem[i/4] = new Instruction(ST, R4, R3, 0, i);
    i+=4;
    imem[i/4] = new Instruction(SUBI, R2, R2, 4, i);
    i+=4;
    imem[i/4] = new Instruction(SUBI, R3, R3, 4, i);
    i+=4;
    imem[i/4] = new Instruction(SUBI, R1, R1, 1, i);
    i+=4;
    imem[i/4] = new Instruction(BNEQZ, R1, -7, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R1, R0, 10, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R2, R0, 196, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R3, R0, 396, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R4, R0, 596, i);
    i+=4;
    imem[i/4] = new Instruction(LD, R5, R2, 0, i);
    i+=4;
    imem[i/4] = new Instruction(LD, R6, R3, 0, i);
    i+=4;
    imem[i/4] = new Instruction(ADD, R5, R5, R6, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R7, R0, 4, i);
    i+=4;
    imem[i/4] = new Instruction(DIV, R5, R5, R7, i);
    i+=4;
    imem[i/4] = new Instruction(ST, R5, R4, 0, i);
    i+=4;
    imem[i/4] = new Instruction(SUBI, R2, R2, 4, i);
    i+=4;
    imem[i/4] = new Instruction(SUBI, R3, R3, 4, i);
    i+=4;
    imem[i/4] = new Instruction(SUBI, R4, R4, 4, i);
    i+=4;
    imem[i/4] = new Instruction(SUBI, R1, R1, 1, i);
    i+=4;
    imem[i/4] = new Instruction(BNEQZ, R1, -11, i);
    i+=4;
    imem[i/4] = new Instruction(HLT, i);
    setInstrCount(i/4+1);
    break; 
  
  // Program 2
  case 2:
    i = 0;
    imem[i] = new Instruction(ADDI, R7, R0, 0, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R1, R0, 1, i);
    i+=4;
    imem[i/4] = new Instruction(SUBI, R2, R1, 10, i);
    i+=4;
    imem[i/4] = new Instruction(BEQZ, R2, 12, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R3, R0, 1, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R4, R0, 1, i);
    i+=4;
    imem[i/4] = new Instruction(SUB, R2, R4, R1, i);
    i+=4;
    imem[i/4] = new Instruction(SUBI, R2, R2, 1, i);
    i+=4;
    imem[i/4] = new Instruction(BEQZ, R2, 3, i);
    i+=4;
    imem[i/4] = new Instruction(MUL, R3, R3, R4, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R4, R4, 1, i);
    i+=4;
    imem[i/4] = new Instruction(BEQZ, R0, -6, i);
    i+=4;
    imem[i/4] = new Instruction(ST, R3, R7, 0, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R7, R7, 4, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R1, R1, 1, i);
    i+=4;
    imem[i/4] = new Instruction(BEQZ, R0, -14, i);
    i+=4;
    imem[i/4] = new Instruction(HLT, i);
    setInstrCount(i/4+1);
    break;
  
  // Program 3
  case 3:
    i = 0;
    imem[i] = new Instruction(ADDI, R1, R0, 10, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R1, R0, 8, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R1, R0, 16, i);
    i+=4;
    imem[i/4] = new Instruction(ST, R1, R1, 4, i);
    i+=4;
    imem[i/4] = new Instruction(HLT, i);
    setInstrCount(i/4 + 1);
    break; 
   
  // Program 4
  case 4:
    i = 0;
    imem[i] = new Instruction(ADDI, R4, R0, 0, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R1, R0, 0, i);
    i+=4;
    imem[i/4] = new Instruction(SUBI, R5, R1, 10, i);
    i+=4;
    imem[i/4] = new Instruction(BEQZ, R5, 13, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R2, R0, 0, i);
    i+=4;
    imem[i/4] = new Instruction(SUBI, R5, R2, 10, i);
    i+=4;
    imem[i/4] = new Instruction(BEQZ, R5, 8, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R3, R0, 0, i);
    i+=4;
    imem[i/4] = new Instruction(SUBI, R5, R3, 5, i);
    i+=4;
    imem[i/4] = new Instruction(BEQZ, R5, 3, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R4, R4, 1, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R3, R3, 1, i);
    i+=4;
    imem[i/4] = new Instruction(BEQZ, R0, -5, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R2, R2, 1, i);
    i+=4;
    imem[i/4] = new Instruction(BEQZ, R0, -10, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R1, R1, 1, i);
    i+=4;
    imem[i/4] = new Instruction(BEQZ, R0, -15, i);
    i+=4;
    imem[i/4] = new Instruction(HLT, i);
    setInstrCount(i/4+1);
    break;
  
  // Program 5
  case 5:
    i = 0;
    imem[i] = new Instruction(ADDI, R1, R0, 0, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R2, R0, 1023, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R3, R0, 1, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R7, R0, 2, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R4, R0, 0, i);
    i+=4;
    imem[i/4] = new Instruction(SUBI, R5, R4, 32, i);
    i+=4;
    imem[i/4] = new Instruction(BEQZ, R5, 6, i);
    i+=4;
    imem[i/4] = new Instruction(AND, R6, R2, R3, i);
    i+=4;
    imem[i/4] = new Instruction(BEQZ, R6, 1, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R1, R1, 1, i);
    i+=4;
    imem[i/4] = new Instruction(MUL, R3, R3, R7, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R4, R4, 1, i);
    i+=4;
    imem[i/4] = new Instruction(BEQZ, R0, -8, i);
    i+=4;
    imem[i/4] = new Instruction(HLT, i);
    setInstrCount(i/4+1);
    break;

  //Program 6
  case 6:
    i = 0;
    imem[i] = new Instruction(ADDI, R1, R0, 0, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R2, R0, 1, i);
    i+=4;
    imem[i/4] = new Instruction(ADDI, R5, R0, 10, i);
    i+=4;
    imem[i/4] = new Instruction(ADD, R3, R1, R2, i);
    i+=4;
    imem[i/4] = new Instruction(ADD, R1, R2, R0, i);
    i+=4;
    imem[i/4] = new Instruction(ADD, R2, R3, R0, i);
    i+=4;
    imem[i/4] = new Instruction(SUBI, R5, R5, 1, i);
    i+=4;
    imem[i/4] = new Instruction(BNEQZ, R5, -5, i);
    i+=4;
    imem[i/4] = new Instruction(ST, R3, R0, 0, i);
    i+=4;
    imem[i/4] = new Instruction(HLT, i);
    setInstrCount(i/4+1);
    break;

  default:
    cout << "No program exists!!!"<< endl;
    assert(0);
    break;
  }
  
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
andl $0x0, 0x6978(%rip)      # 0x90e4
movl %edi, %ebx
xorl %eax, %eax
leaq 0x6979(%rip), %rcx      # 0x90f0
cmpq $0x20, %rax
je 0x2787
andl $0x0, (%rax,%rcx)
addq $0x4, %rax
jmp 0x2777
movl $0x800, %edi            # imm = 0x800
callq 0x2030
movq %rax, 0x6978(%rip)      # 0x9110
xorl %eax, %eax
cmpq $0x100, %rax            # imm = 0x100
je 0x27b3
movq 0x6967(%rip), %rcx      # 0x9110
andq $0x0, (%rcx,%rax,8)
incq %rax
jmp 0x279a
xorl %eax, %eax
leaq 0x6964(%rip), %rcx      # 0x9120
cmpq $0x400, %rax            # imm = 0x400
je 0x27ce
andl $0x0, (%rax,%rcx)
addq $0x4, %rax
jmp 0x27bc
movb $0x1, 0x6d4b(%rip)      # 0x9520
movl $0x1, 0x6d45(%rip)      # 0x9524
leaq 0x12b8(%rip), %rax      # 0x3a9e
leaq 0x6edb(%rip), %rcx      # 0x96c8
movq %rax, (%rcx)
leaq 0x12ae(%rip), %rax      # 0x3aa5
leaq 0x6ed2(%rip), %rcx      # 0x96d0
movq %rax, (%rcx)
leaq 0x12a4(%rip), %rax      # 0x3aac
leaq 0x6ed1(%rip), %rcx      # 0x96e0
movq %rax, (%rcx)
leaq 0x134f(%rip), %rax      # 0x3b68
leaq 0x6eb8(%rip), %rcx      # 0x96d8
movq %rax, (%rcx)
leaq 0x1345(%rip), %rax      # 0x3b6f
leaq 0x6eb7(%rip), %rcx      # 0x96e8
movq %rax, (%rcx)
leaq 0x133b(%rip), %rax      # 0x3b76
leaq 0x6eae(%rip), %rcx      # 0x96f0
movq %rax, (%rcx)
leaq 0x1367(%rip), %rax      # 0x3bb3
leaq 0x6ea5(%rip), %rcx      # 0x96f8
movq %rax, (%rcx)
leaq 0x11e3(%rip), %rax      # 0x3a40
leaq 0x6e9c(%rip), %rcx      # 0x9700
movq %rax, (%rcx)
leaq 0x1360(%rip), %rax      # 0x3bce
leaq 0x6e93(%rip), %rcx      # 0x9708
movq %rax, (%rcx)
leaq 0x135c(%rip), %rax      # 0x3bdb
leaq 0x6e8a(%rip), %rcx      # 0x9710
movq %rax, (%rcx)
leaq 0x135c(%rip), %rax      # 0x3bec
leaq 0x6e81(%rip), %rcx      # 0x9718
movq %rax, (%rcx)
leaq 0x135c(%rip), %rax      # 0x3bfd
leaq 0x6e78(%rip), %rcx      # 0x9720
movq %rax, (%rcx)
leaq 0x1353(%rip), %rax      # 0x3c05
leaq 0x6e6f(%rip), %rcx      # 0x9728
movq %rax, (%rcx)
leaq 0x1349(%rip), %rax      # 0x3c0c
leaq 0x6e66(%rip), %rcx      # 0x9730
movq %rax, (%rcx)
decl %ebx
cmpl $0x5, %ebx
ja 0x38ee
leaq 0x2725(%rip), %rax      # 0x5004
movslq (%rax,%rbx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
pushq $0xa
popq %r8
movq %rax, %rdi
xorl %ecx, %ecx
xorl %r9d, %r9d
callq 0x448c
movq 0x67ff(%rip), %rax      # 0x9110
movq %rbx, (%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x5
popq %rdx
pushq $0x2
popq %r8
pushq $0x4
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
callq 0x448c
movq 0x67d2(%rip), %rax      # 0x9110
movq %rbx, 0x8(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x2
popq %rdx
pushq $0x8
popq %rsi
movq %rax, %rdi
xorl %ecx, %ecx
movl $0xc4, %r8d
movl %esi, %r9d
callq 0x448c
movq 0x67a3(%rip), %rax      # 0x9110
movq %rbx, 0x10(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x3
popq %rdx
pushq $0xc
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
movl $0x18c, %r8d            # imm = 0x18C
callq 0x448c
movq 0x6773(%rip), %rax      # 0x9110
movq %rbx, 0x18(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xb
popq %rsi
pushq $0x1
popq %rdx
pushq $0x2
popq %rcx
pushq $0x10
popq %r9
movq %rax, %rdi
xorl %r8d, %r8d
callq 0x448c
movq 0x6745(%rip), %rax      # 0x9110
movq %rbx, 0x20(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x3
popq %rsi
pushq $0x4
popq %rdx
pushq $0x1
popq %rcx
pushq $0x5
popq %r8
pushq $0x14
popq %r9
movq %rax, %rdi
callq 0x44b0
movq 0x6716(%rip), %rax      # 0x9110
movq %rbx, 0x28(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xb
popq %rsi
pushq $0x4
popq %rdx
pushq $0x3
popq %rcx
pushq $0x18
popq %r9
movq %rax, %rdi
xorl %r8d, %r8d
callq 0x448c
movq 0x66e8(%rip), %rax      # 0x9110
movq %rbx, 0x30(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x9
popq %rsi
pushq $0x2
popq %rcx
pushq $0x4
popq %r8
pushq $0x1c
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x448c
movq 0x66ba(%rip), %rax      # 0x9110
movq %rbx, 0x38(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x9
popq %rsi
pushq $0x3
popq %rcx
pushq $0x4
popq %r8
pushq $0x20
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x448c
movq 0x668c(%rip), %rax      # 0x9110
movq %rbx, 0x40(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x9
popq %rsi
pushq $0x1
popq %rcx
pushq $0x24
popq %r9
movq %rax, %rdi
movl %ecx, %edx
movl %ecx, %r8d
callq 0x448c
movq 0x665f(%rip), %rax      # 0x9110
movq %rbx, 0x48(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xd
popq %rsi
pushq $0x1
popq %rdx
pushq $-0x7
popq %rcx
pushq $0x28
popq %r8
movq %rax, %rdi
callq 0x446a
movq 0x6634(%rip), %rax      # 0x9110
movq %rbx, 0x50(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
pushq $0xa
popq %r8
pushq $0x2c
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
callq 0x448c
movq 0x6606(%rip), %rax      # 0x9110
movq %rbx, 0x58(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x2
popq %rdx
pushq $0x30
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
movl $0xc4, %r8d
callq 0x448c
movq 0x65d6(%rip), %rax      # 0x9110
movq %rbx, 0x60(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x3
popq %rdx
pushq $0x34
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
movl $0x18c, %r8d            # imm = 0x18C
callq 0x448c
movq 0x65a6(%rip), %rax      # 0x9110
movq %rbx, 0x68(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x4
popq %rdx
pushq $0x38
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
movl $0x254, %r8d            # imm = 0x254
callq 0x448c
movq 0x6576(%rip), %rax      # 0x9110
movq %rbx, 0x70(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xa
popq %rsi
pushq $0x5
popq %rdx
pushq $0x2
popq %rcx
pushq $0x3c
popq %r9
movq %rax, %rdi
xorl %r8d, %r8d
callq 0x448c
movq 0x6548(%rip), %rax      # 0x9110
movq %rbx, 0x78(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xa
popq %rsi
pushq $0x6
popq %rdx
pushq $0x3
popq %rcx
pushq $0x40
popq %r9
movq %rax, %rdi
xorl %r8d, %r8d
callq 0x448c
movq 0x651a(%rip), %rax      # 0x9110
movq %rbx, 0x80(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x1
popq %rsi
pushq $0x5
popq %rcx
pushq $0x6
popq %r8
pushq $0x44
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x44b0
movq 0x64e9(%rip), %rax      # 0x9110
movq %rbx, 0x88(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x7
popq %rdx
pushq $0x4
popq %r8
pushq $0x48
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
callq 0x448c
movq 0x64b8(%rip), %rax      # 0x9110
movq %rbx, 0x90(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x4
popq %rsi
pushq $0x5
popq %rcx
pushq $0x7
popq %r8
pushq $0x4c
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x44b0
movq 0x6487(%rip), %rax      # 0x9110
movq %rbx, 0x98(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xb
popq %rsi
pushq $0x5
popq %rdx
pushq $0x4
popq %rcx
pushq $0x50
popq %r9
movq %rax, %rdi
xorl %r8d, %r8d
callq 0x448c
movq 0x6456(%rip), %rax      # 0x9110
movq %rbx, 0xa0(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x9
popq %rsi
pushq $0x2
popq %rcx
pushq $0x4
popq %r8
pushq $0x54
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x448c
movq 0x6425(%rip), %rax      # 0x9110
movq %rbx, 0xa8(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x9
popq %rsi
pushq $0x3
popq %rcx
pushq $0x4
popq %r8
pushq $0x58
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x448c
movq 0x63f4(%rip), %rax      # 0x9110
movq %rbx, 0xb0(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x9
popq %rsi
pushq $0x4
popq %rcx
pushq $0x5c
popq %r9
movq %rax, %rdi
movl %ecx, %edx
movl %ecx, %r8d
callq 0x448c
movq 0x63c4(%rip), %rax      # 0x9110
movq %rbx, 0xb8(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x9
popq %rsi
pushq $0x1
popq %rcx
pushq $0x60
popq %r9
movq %rax, %rdi
movl %ecx, %edx
movl %ecx, %r8d
callq 0x448c
movq 0x6394(%rip), %rax      # 0x9110
movq %rbx, 0xc0(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xd
popq %rsi
pushq $0x1
popq %rdx
pushq $-0xb
popq %rcx
pushq $0x64
popq %r8
movq %rax, %rdi
callq 0x446a
movq 0x6366(%rip), %rax      # 0x9110
movq %rbx, 0xc8(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xe
popq %rsi
pushq $0x68
popq %rdx
movq %rax, %rdi
callq 0x4450
pushq $0x1b
popq %rbp
movl $0xd0, %eax
jmp 0x38d8
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
movq %rax, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x448c
movq 0x6311(%rip), %rax      # 0x9110
movq %rbx, (%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x2
popq %rdx
pushq $0x4
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
movl $0x3ff, %r8d            # imm = 0x3FF
callq 0x448c
movq 0x62e2(%rip), %rax      # 0x9110
movq %rbx, 0x8(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x3
popq %rdx
pushq $0x1
popq %r8
pushq $0x8
popq %rsi
movq %rax, %rdi
xorl %ecx, %ecx
movl %esi, %r9d
callq 0x448c
movq 0x62b5(%rip), %rax      # 0x9110
movq %rbx, 0x10(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x7
popq %rdx
pushq $0x2
popq %r8
pushq $0xc
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
callq 0x448c
movq 0x6287(%rip), %rax      # 0x9110
movq %rbx, 0x18(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x4
popq %rdx
pushq $0x10
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x448c
movq 0x625a(%rip), %rax      # 0x9110
movq %rbx, 0x20(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x9
popq %rsi
pushq $0x5
popq %rdx
pushq $0x4
popq %rcx
pushq $0x20
popq %r8
pushq $0x14
popq %r9
movq %rax, %rdi
callq 0x448c
movq 0x622b(%rip), %rax      # 0x9110
movq %rbx, 0x28(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xc
popq %rsi
pushq $0x5
popq %rdx
pushq $0x6
popq %rcx
pushq $0x18
popq %r8
movq %rax, %rdi
callq 0x446a
movq 0x6200(%rip), %rax      # 0x9110
movq %rbx, 0x30(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x6
popq %rdx
pushq $0x2
popq %rcx
pushq $0x3
popq %r8
pushq $0x1c
popq %r9
movq %rax, %rdi
movl %edx, %esi
callq 0x44b0
movq 0x61d2(%rip), %rax      # 0x9110
movq %rbx, 0x38(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xc
popq %rsi
pushq $0x6
popq %rdx
pushq $0x1
popq %rcx
pushq $0x20
popq %r8
movq %rax, %rdi
callq 0x446a
movq 0x61a7(%rip), %rax      # 0x9110
movq %rbx, 0x40(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x1
popq %rcx
pushq $0x24
popq %r9
movq %rax, %rdi
movl %ecx, %edx
movl %ecx, %r8d
callq 0x448c
movq 0x617a(%rip), %rax      # 0x9110
movq %rbx, 0x48(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x3
popq %rcx
pushq $0x7
popq %r8
pushq $0x28
popq %r9
movq %rax, %rdi
movl %ecx, %esi
movl %ecx, %edx
callq 0x44b0
movq 0x614d(%rip), %rax      # 0x9110
movq %rbx, 0x50(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x4
popq %rcx
pushq $0x1
popq %r8
pushq $0x2c
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x448c
movq 0x611f(%rip), %rax      # 0x9110
movq %rbx, 0x58(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xc
popq %rsi
pushq $-0x8
popq %rcx
pushq $0x30
popq %r8
movq %rax, %rdi
xorl %edx, %edx
callq 0x446a
movq 0x60f5(%rip), %rax      # 0x9110
movq %rbx, 0x60(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xe
popq %rbp
pushq $0x34
popq %rdx
movq %rax, %rdi
movl %ebp, %esi
callq 0x4450
pushq $0x68
jmp 0x38d7
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
pushq $0xa
popq %r8
movq %rax, %rdi
xorl %ecx, %ecx
xorl %r9d, %r9d
callq 0x448c
movq 0x60a6(%rip), %rax      # 0x9110
movq %rbx, (%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x1
popq %rdx
pushq $0x8
popq %rsi
pushq $0x4
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
movl %esi, %r8d
callq 0x448c
movq 0x607a(%rip), %rax      # 0x9110
movq %rbx, 0x8(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x1
popq %rdx
pushq $0x10
popq %r8
pushq $0x8
popq %rsi
movq %rax, %rdi
xorl %ecx, %ecx
movl %esi, %r9d
callq 0x448c
movq 0x604d(%rip), %rax      # 0x9110
movq %rbx, 0x10(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xb
popq %rsi
pushq $0x1
popq %rcx
pushq $0x4
popq %r8
pushq $0xc
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x448c
movq 0x601f(%rip), %rax      # 0x9110
movq %rbx, 0x18(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xe
popq %rsi
pushq $0x10
popq %rdx
movq %rax, %rdi
callq 0x4450
pushq $0x5
popq %rbp
pushq $0x20
jmp 0x38d7
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x4
popq %rdx
movq %rax, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x448c
movq 0x5fd0(%rip), %rax      # 0x9110
movq %rbx, (%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
pushq $0x4
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x448c
movq 0x5fa4(%rip), %rax      # 0x9110
movq %rbx, 0x8(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x9
popq %rsi
pushq $0x5
popq %rdx
pushq $0x1
popq %rcx
pushq $0xa
popq %r8
pushq $0x8
popq %r9
movq %rax, %rdi
callq 0x448c
movq 0x5f75(%rip), %rax      # 0x9110
movq %rbx, 0x10(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x5
popq %rdx
pushq $0xd
popq %rcx
pushq $0xc
popq %rsi
movq %rax, %rdi
movl %esi, %r8d
callq 0x446a
movq 0x5f4b(%rip), %rax      # 0x9110
movq %rbx, 0x18(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x2
popq %rdx
pushq $0x10
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x448c
movq 0x5f1e(%rip), %rax      # 0x9110
movq %rbx, 0x20(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x9
popq %rsi
pushq $0x5
popq %rdx
pushq $0x2
popq %rcx
pushq $0xa
popq %r8
pushq $0x14
popq %r9
movq %rax, %rdi
callq 0x448c
movq 0x5eef(%rip), %rax      # 0x9110
movq %rbx, 0x28(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xc
popq %rsi
pushq $0x5
popq %rdx
pushq $0x8
popq %rcx
pushq $0x18
popq %r8
movq %rax, %rdi
callq 0x446a
movq 0x5ec4(%rip), %rax      # 0x9110
movq %rbx, 0x30(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x3
popq %rdx
pushq $0x1c
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x448c
movq 0x5e97(%rip), %rax      # 0x9110
movq %rbx, 0x38(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x9
popq %rsi
pushq $0x3
popq %rcx
pushq $0x5
popq %rdx
pushq $0x20
popq %r9
movq %rax, %rdi
movl %edx, %r8d
callq 0x448c
movq 0x5e69(%rip), %rax      # 0x9110
movq %rbx, 0x40(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xc
popq %rsi
pushq $0x5
popq %rdx
pushq $0x3
popq %rcx
pushq $0x24
popq %r8
movq %rax, %rdi
callq 0x446a
movq 0x5e3e(%rip), %rax      # 0x9110
movq %rbx, 0x48(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x4
popq %rcx
pushq $0x1
popq %r8
pushq $0x28
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x448c
movq 0x5e10(%rip), %rax      # 0x9110
movq %rbx, 0x50(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x3
popq %rcx
pushq $0x1
popq %r8
pushq $0x2c
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x448c
movq 0x5de2(%rip), %rax      # 0x9110
movq %rbx, 0x58(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xc
popq %rsi
pushq $-0x5
popq %rcx
pushq $0x30
popq %r8
movq %rax, %rdi
xorl %edx, %edx
callq 0x446a
movq 0x5db8(%rip), %rax      # 0x9110
movq %rbx, 0x60(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x2
popq %rcx
pushq $0x1
popq %r8
pushq $0x34
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x448c
movq 0x5d8a(%rip), %rax      # 0x9110
movq %rbx, 0x68(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xc
popq %rsi
pushq $-0xa
popq %rcx
pushq $0x38
popq %r8
movq %rax, %rdi
xorl %edx, %edx
callq 0x446a
movq 0x5d60(%rip), %rax      # 0x9110
movq %rbx, 0x70(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x1
popq %rcx
pushq $0x3c
popq %r9
movq %rax, %rdi
movl %ecx, %edx
movl %ecx, %r8d
callq 0x448c
movq 0x5d33(%rip), %rax      # 0x9110
movq %rbx, 0x78(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xc
popq %rsi
pushq $-0xf
popq %rcx
pushq $0x40
popq %r8
movq %rax, %rdi
xorl %edx, %edx
callq 0x446a
movq 0x5d09(%rip), %rax      # 0x9110
movq %rbx, 0x80(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xe
popq %rsi
pushq $0x44
popq %rdx
movq %rax, %rdi
callq 0x4450
pushq $0x12
popq %rbp
movl $0x88, %eax
jmp 0x38d8
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x7
popq %rdx
movq %rax, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x448c
movq 0x5cb4(%rip), %rax      # 0x9110
movq %rbx, (%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
pushq $0x4
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
movl %edx, %r8d
callq 0x448c
movq 0x5c88(%rip), %rax      # 0x9110
movq %rbx, 0x8(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x9
popq %rsi
pushq $0x2
popq %rdx
pushq $0x1
popq %rcx
pushq $0xa
popq %r8
pushq $0x8
popq %r9
movq %rax, %rdi
callq 0x448c
movq 0x5c59(%rip), %rax      # 0x9110
movq %rbx, 0x10(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x2
popq %rdx
pushq $0xc
popq %rcx
movq %rax, %rdi
movl %ecx, %esi
movl %ecx, %r8d
callq 0x446a
movq 0x5c30(%rip), %rax      # 0x9110
movq %rbx, 0x18(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x3
popq %rdx
pushq $0x1
popq %r8
pushq $0x10
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
callq 0x448c
movq 0x5c02(%rip), %rax      # 0x9110
movq %rbx, 0x20(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x4
popq %rdx
pushq $0x1
popq %r8
pushq $0x14
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
callq 0x448c
movq 0x5bd4(%rip), %rax      # 0x9110
movq %rbx, 0x28(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x2
popq %rdx
pushq $0x4
popq %rcx
pushq $0x1
popq %r8
pushq $0x18
popq %r9
movq %rax, %rdi
movl %edx, %esi
callq 0x44b0
movq 0x5ba6(%rip), %rax      # 0x9110
movq %rbx, 0x30(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x9
popq %rsi
pushq $0x2
popq %rcx
pushq $0x1
popq %r8
pushq $0x1c
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x448c
movq 0x5b78(%rip), %rax      # 0x9110
movq %rbx, 0x38(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xc
popq %rsi
pushq $0x2
popq %rdx
pushq $0x3
popq %rcx
pushq $0x20
popq %r8
movq %rax, %rdi
callq 0x446a
movq 0x5b4d(%rip), %rax      # 0x9110
movq %rbx, 0x40(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x3
popq %rcx
pushq $0x4
popq %r8
pushq $0x24
popq %r9
movq %rax, %rdi
movl %ecx, %esi
movl %ecx, %edx
callq 0x44b0
movq 0x5b20(%rip), %rax      # 0x9110
movq %rbx, 0x48(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x4
popq %rcx
pushq $0x1
popq %r8
pushq $0x28
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x448c
movq 0x5af2(%rip), %rax      # 0x9110
movq %rbx, 0x50(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xc
popq %rsi
pushq $-0x6
popq %rcx
pushq $0x2c
popq %r8
movq %rax, %rdi
xorl %edx, %edx
callq 0x446a
movq 0x5ac8(%rip), %rax      # 0x9110
movq %rbx, 0x58(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xb
popq %rsi
pushq $0x3
popq %rdx
pushq $0x7
popq %rcx
pushq $0x30
popq %r9
movq %rax, %rdi
xorl %r8d, %r8d
callq 0x448c
movq 0x5a9a(%rip), %rax      # 0x9110
movq %rbx, 0x60(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x7
popq %rcx
pushq $0x4
popq %r8
pushq $0x34
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x448c
movq 0x5a6c(%rip), %rax      # 0x9110
movq %rbx, 0x68(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x1
popq %rcx
pushq $0x38
popq %r9
movq %rax, %rdi
movl %ecx, %edx
movl %ecx, %r8d
callq 0x448c
movq 0x5a3f(%rip), %rax      # 0x9110
movq %rbx, 0x70(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xc
popq %rsi
pushq $-0xe
popq %rcx
pushq $0x3c
popq %r8
movq %rax, %rdi
xorl %edx, %edx
callq 0x446a
movq 0x5a15(%rip), %rax      # 0x9110
movq %rbx, 0x78(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xe
popq %rsi
pushq $0x40
popq %rdx
movq %rax, %rdi
callq 0x4450
pushq $0x11
popq %rbp
movl $0x80, %eax
jmp 0x38d8
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
movq %rax, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x448c
movq 0x59c3(%rip), %rax      # 0x9110
movq %rbx, (%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x8
popq %rsi
pushq $0x2
popq %rdx
pushq $0x1
popq %r8
pushq $0x4
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
callq 0x448c
movq 0x5996(%rip), %rax      # 0x9110
movq %rbx, 0x8(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x5
popq %rdx
pushq $0xa
popq %rbp
pushq $0x8
popq %rsi
movq %rax, %rdi
xorl %ecx, %ecx
movl %ebp, %r8d
movl %esi, %r9d
callq 0x448c
movq 0x5967(%rip), %rax      # 0x9110
movq %rbx, 0x10(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x3
popq %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
pushq $0xc
popq %r9
movq %rax, %rdi
movl %ecx, %esi
callq 0x44b0
movq 0x5939(%rip), %rax      # 0x9110
movq %rbx, 0x18(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x1
popq %rdx
pushq $0x2
popq %rcx
pushq $0x10
popq %r9
movq %rax, %rdi
movl %edx, %esi
xorl %r8d, %r8d
callq 0x44b0
movq 0x590c(%rip), %rax      # 0x9110
movq %rbx, 0x20(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x1
popq %rsi
pushq $0x2
popq %rdx
pushq $0x3
popq %rcx
pushq $0x14
popq %r9
movq %rax, %rdi
xorl %r8d, %r8d
callq 0x44b0
movq 0x58de(%rip), %rax      # 0x9110
movq %rbx, 0x28(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0x9
popq %rsi
pushq $0x5
popq %rcx
pushq $0x1
popq %r8
pushq $0x18
popq %r9
movq %rax, %rdi
movl %ecx, %edx
callq 0x448c
movq 0x58b0(%rip), %rax      # 0x9110
movq %rbx, 0x30(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xd
popq %rsi
pushq $0x5
popq %rdx
pushq $-0x5
popq %rcx
pushq $0x1c
popq %r8
movq %rax, %rdi
callq 0x446a
movq 0x5885(%rip), %rax      # 0x9110
movq %rbx, 0x38(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xb
popq %rsi
pushq $0x3
popq %rdx
pushq $0x20
popq %r9
movq %rax, %rdi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x448c
movq 0x5858(%rip), %rax      # 0x9110
movq %rbx, 0x40(%rax)
pushq $0x5c
popq %rdi
callq 0x20d0
movq %rax, %rbx
pushq $0xe
popq %rsi
pushq $0x24
popq %rdx
movq %rax, %rdi
callq 0x4450
pushq $0x48
popq %rax
movq 0x5831(%rip), %rcx      # 0x9110
movq %rbx, (%rcx,%rax)
movl %ebp, 0x5d57(%rip)      # 0x9640
popq %rbx
popq %r14
popq %rbp
retq
movq 0x56e3(%rip), %rdi      # 0x8fd8
leaq 0x17e7(%rip), %rsi      # 0x50e3
callq 0x20c0
movq %rax, %rdi
callq 0x2060
leaq 0x170d(%rip), %rdi      # 0x501d
leaq 0x17aa(%rip), %rsi      # 0x50c1
leaq 0x17b0(%rip), %rcx      # 0x50ce
movl $0x15a, %edx            # imm = 0x15A
callq 0x2070
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
jmp 0x3a2a
movq %rax, %r14
pushq $0x5c
popq %rsi
movq %rbx, %rdi
callq 0x20e0
movq %r14, %rdi
callq 0x2140