// File: 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
movq %rsp, %rbp
subq $0x330, %rsp            # imm = 0x330
movl %edi, -0x4(%rbp)
movl $0x0, 0xa49c(%rip)      # 0xd154
movl $0x0, -0x8(%rbp)
cmpl $0x8, -0x8(%rbp)
jge 0x2ce2
movslq -0x8(%rbp), %rcx
leaq 0xa490(%rip), %rax      # 0xd160
movl $0x0, (%rax,%rcx,4)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x2cbf
movl $0x800, %edi            # imm = 0x800
callq 0x2030
movq %rax, 0xa48d(%rip)      # 0xd180
cmpq $0x0, 0xa485(%rip)      # 0xd180
je 0x2cff
jmp 0x2d1e
leaq 0x63bb(%rip), %rdi      # 0x90c1
leaq 0x63c1(%rip), %rsi      # 0x90ce
movl $0x6c, %edx
leaq 0x63c2(%rip), %rcx      # 0x90db
callq 0x2090
movl $0x0, -0x8(%rbp)
cmpl $0x100, -0x8(%rbp)      # imm = 0x100
jge 0x2d4c
movq 0xa44b(%rip), %rax      # 0xd180
movslq -0x8(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x2d25
movl $0x0, -0x8(%rbp)
cmpl $0x100, -0x8(%rbp)      # imm = 0x100
jge 0x2d79
movslq -0x8(%rbp), %rcx
leaq 0xa429(%rip), %rax      # 0xd190
movl $0x0, (%rax,%rcx,4)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x2d53
movb $0x1, 0xa810(%rip)      # 0xd590
movl $0x1, 0xa80a(%rip)      # 0xd594
leaq 0x301f(%rip), %rdi      # 0x5db0
callq 0x6420
leaq 0x3023(%rip), %rdi      # 0x5dc0
callq 0x6440
leaq 0x3037(%rip), %rdi      # 0x5de0
callq 0x6460
leaq 0x338b(%rip), %rdi      # 0x6140
callq 0x6480
leaq 0x338f(%rip), %rdi      # 0x6150
callq 0x64a0
leaq 0x33a3(%rip), %rdi      # 0x6170
callq 0x64c0
leaq 0x33f7(%rip), %rdi      # 0x61d0
callq 0x64e0
leaq 0x2f1b(%rip), %rdi      # 0x5d00
callq 0x6500
leaq 0x341f(%rip), %rdi      # 0x6210
callq 0x6520
leaq 0x3433(%rip), %rdi      # 0x6230
callq 0x6540
leaq 0x3447(%rip), %rdi      # 0x6250
callq 0x6560
leaq 0x346b(%rip), %rdi      # 0x6280
callq 0x6580
leaq 0x346f(%rip), %rdi      # 0x6290
callq 0x65a0
leaq 0x3473(%rip), %rdi      # 0x62a0
callq 0x65c0
movl -0x4(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0x5, %eax
ja 0x5c9e
movq -0x20(%rbp), %rax
leaq 0x61b3(%rip), %rcx      # 0x9004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x0, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x28(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x1, %edx
xorl %ecx, %ecx
movl $0xa, %r8d
callq 0x8540
jmp 0x2e92
movq -0x28(%rbp), %rdx
movq 0xa2e3(%rip), %rax      # 0xd180
movslq -0x8(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x30(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x5, %edx
xorl %ecx, %ecx
movl $0x2, %r8d
callq 0x8540
jmp 0x2edf
movq -0x30(%rbp), %rdx
movq 0xa296(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x38(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x2, %edx
xorl %ecx, %ecx
movl $0xc4, %r8d
callq 0x8540
jmp 0x2f3b
movq -0x38(%rbp), %rdx
movq 0xa23a(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x40(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x3, %edx
xorl %ecx, %ecx
movl $0x18c, %r8d            # imm = 0x18C
callq 0x8540
jmp 0x2f97
movq -0x40(%rbp), %rdx
movq 0xa1de(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x48(%rbp)
movl -0x8(%rbp), %r9d
movl $0xb, %esi
movl $0x1, %edx
movl $0x2, %ecx
xorl %r8d, %r8d
callq 0x8540
jmp 0x2ff3
movq -0x48(%rbp), %rdx
movq 0xa182(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x50(%rbp)
movl -0x8(%rbp), %r9d
movl $0x3, %esi
movl $0x4, %edx
movl $0x1, %ecx
movl $0x5, %r8d
callq 0x8590
jmp 0x3052
movq -0x50(%rbp), %rdx
movq 0xa123(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x58(%rbp)
movl -0x8(%rbp), %r9d
movl $0xb, %esi
movl $0x4, %edx
movl $0x3, %ecx
xorl %r8d, %r8d
callq 0x8540
jmp 0x30ae
movq -0x58(%rbp), %rdx
movq 0xa0c7(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x60(%rbp)
movl -0x8(%rbp), %r9d
movl $0x9, %esi
movl $0x2, %ecx
movl $0x4, %r8d
movl %ecx, %edx
callq 0x8540
jmp 0x310a
movq -0x60(%rbp), %rdx
movq 0xa06b(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x68(%rbp)
movl -0x8(%rbp), %r9d
movl $0x9, %esi
movl $0x3, %ecx
movl $0x4, %r8d
movl %ecx, %edx
callq 0x8540
jmp 0x3166
movq -0x68(%rbp), %rdx
movq 0xa00f(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x70(%rbp)
movl -0x8(%rbp), %r9d
movl $0x9, %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x8540
jmp 0x31c1
movq -0x70(%rbp), %rdx
movq 0x9fb4(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x78(%rbp)
movl -0x8(%rbp), %r8d
movl $0xd, %esi
movl $0x1, %edx
movl $0xfffffff9, %ecx       # imm = 0xFFFFFFF9
callq 0x8500
jmp 0x321a
movq -0x78(%rbp), %rdx
movq 0x9f5b(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x80(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x1, %edx
xorl %ecx, %ecx
movl $0xa, %r8d
callq 0x8540
jmp 0x3276
movq -0x80(%rbp), %rdx
movq 0x9eff(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x88(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x2, %edx
xorl %ecx, %ecx
movl $0xc4, %r8d
callq 0x8540
jmp 0x32d5
movq -0x88(%rbp), %rdx
movq 0x9e9d(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x90(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x3, %edx
xorl %ecx, %ecx
movl $0x18c, %r8d            # imm = 0x18C
callq 0x8540
jmp 0x3337
movq -0x90(%rbp), %rdx
movq 0x9e3b(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x98(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x4, %edx
xorl %ecx, %ecx
movl $0x254, %r8d            # imm = 0x254
callq 0x8540
jmp 0x3399
movq -0x98(%rbp), %rdx
movq 0x9dd9(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xa0(%rbp)
movl -0x8(%rbp), %r9d
movl $0xa, %esi
movl $0x5, %edx
movl $0x2, %ecx
xorl %r8d, %r8d
callq 0x8540
jmp 0x33fb
movq -0xa0(%rbp), %rdx
movq 0x9d77(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xa8(%rbp)
movl -0x8(%rbp), %r9d
movl $0xa, %esi
movl $0x6, %edx
movl $0x3, %ecx
xorl %r8d, %r8d
callq 0x8540
jmp 0x345d
movq -0xa8(%rbp), %rdx
movq 0x9d15(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xb0(%rbp)
movl -0x8(%rbp), %r9d
movl $0x1, %esi
movl $0x5, %ecx
movl $0x6, %r8d
movl %ecx, %edx
callq 0x8590
jmp 0x34bf
movq -0xb0(%rbp), %rdx
movq 0x9cb3(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xb8(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x7, %edx
xorl %ecx, %ecx
movl $0x4, %r8d
callq 0x8540
jmp 0x3521
movq -0xb8(%rbp), %rdx
movq 0x9c51(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xc0(%rbp)
movl -0x8(%rbp), %r9d
movl $0x4, %esi
movl $0x5, %ecx
movl $0x7, %r8d
movl %ecx, %edx
callq 0x8590
jmp 0x3583
movq -0xc0(%rbp), %rdx
movq 0x9bef(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xc8(%rbp)
movl -0x8(%rbp), %r9d
movl $0xb, %esi
movl $0x5, %edx
movl $0x4, %ecx
xorl %r8d, %r8d
callq 0x8540
jmp 0x35e5
movq -0xc8(%rbp), %rdx
movq 0x9b8d(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xd0(%rbp)
movl -0x8(%rbp), %r9d
movl $0x9, %esi
movl $0x2, %ecx
movl $0x4, %r8d
movl %ecx, %edx
callq 0x8540
jmp 0x3647
movq -0xd0(%rbp), %rdx
movq 0x9b2b(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xd8(%rbp)
movl -0x8(%rbp), %r9d
movl $0x9, %esi
movl $0x3, %ecx
movl $0x4, %r8d
movl %ecx, %edx
callq 0x8540
jmp 0x36a9
movq -0xd8(%rbp), %rdx
movq 0x9ac9(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xe0(%rbp)
movl -0x8(%rbp), %r9d
movl $0x9, %esi
movl $0x4, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x8540
jmp 0x370a
movq -0xe0(%rbp), %rdx
movq 0x9a68(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xe8(%rbp)
movl -0x8(%rbp), %r9d
movl $0x9, %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x8540
jmp 0x376b
movq -0xe8(%rbp), %rdx
movq 0x9a07(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xf0(%rbp)
movl -0x8(%rbp), %r8d
movl $0xd, %esi
movl $0x1, %edx
movl $0xfffffff5, %ecx       # imm = 0xFFFFFFF5
callq 0x8500
jmp 0x37ca
movq -0xf0(%rbp), %rdx
movq 0x99a8(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xf8(%rbp)
movl -0x8(%rbp), %edx
movl $0xe, %esi
callq 0x84c0
jmp 0x381e
movq 0x995b(%rip), %rax      # 0xd180
movq %rax, -0x100(%rbp)
movl -0x8(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movq -0xf8(%rbp), %rdx
movl %eax, %ecx
movq -0x100(%rbp), %rax
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x1, %edi
callq 0x6150
jmp 0x5cdf
movq -0x28(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x30(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x38(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x40(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x48(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x50(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x58(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x60(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x68(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x70(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x78(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x80(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x88(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x90(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x98(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0xa0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0xa8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0xb0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0xb8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0xc0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0xc8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0xd0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0xd8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0xe0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0xe8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0xf0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0xf8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movl $0x0, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x108(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x7, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8540
jmp 0x3c13
movq -0x108(%rbp), %rdx
movq 0x955f(%rip), %rax      # 0xd180
movslq -0x8(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x110(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %r8d, %edx
callq 0x8540
jmp 0x3c64
movq -0x110(%rbp), %rdx
movq 0x950e(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x118(%rbp)
movl -0x8(%rbp), %r9d
movl $0x9, %esi
movl $0x2, %edx
movl $0x1, %ecx
movl $0xa, %r8d
callq 0x8540
jmp 0x3cc9
movq -0x118(%rbp), %rdx
movq 0x94a9(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x120(%rbp)
movl -0x8(%rbp), %r8d
movl $0x2, %edx
movl $0xc, %ecx
movl %ecx, %esi
callq 0x8500
jmp 0x3d25
movq -0x120(%rbp), %rdx
movq 0x944d(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x128(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x3, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x8540
jmp 0x3d87
movq -0x128(%rbp), %rdx
movq 0x93eb(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x130(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x4, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x8540
jmp 0x3de9
movq -0x130(%rbp), %rdx
movq 0x9389(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x138(%rbp)
movl -0x8(%rbp), %r9d
movl $0x2, %edx
movl $0x4, %ecx
movl $0x1, %r8d
movl %edx, %esi
callq 0x8590
jmp 0x3e4b
movq -0x138(%rbp), %rdx
movq 0x9327(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x140(%rbp)
movl -0x8(%rbp), %r9d
movl $0x9, %esi
movl $0x2, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x8540
jmp 0x3ead
movq -0x140(%rbp), %rdx
movq 0x92c5(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x148(%rbp)
movl -0x8(%rbp), %r8d
movl $0xc, %esi
movl $0x2, %edx
movl $0x3, %ecx
callq 0x8500
jmp 0x3f0c
movq -0x148(%rbp), %rdx
movq 0x9266(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x150(%rbp)
movl -0x8(%rbp), %r9d
movl $0x3, %ecx
movl $0x4, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x8590
jmp 0x3f6b
movq -0x150(%rbp), %rdx
movq 0x9207(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x158(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x4, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x8540
jmp 0x3fcd
movq -0x158(%rbp), %rdx
movq 0x91a5(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x160(%rbp)
movl -0x8(%rbp), %r8d
movl $0xc, %esi
xorl %edx, %edx
movl $0xfffffffa, %ecx       # imm = 0xFFFFFFFA
callq 0x8500
jmp 0x4029
movq -0x160(%rbp), %rdx
movq 0x9149(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x168(%rbp)
movl -0x8(%rbp), %r9d
movl $0xb, %esi
movl $0x3, %edx
movl $0x7, %ecx
xorl %r8d, %r8d
callq 0x8540
jmp 0x408b
movq -0x168(%rbp), %rdx
movq 0x90e7(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x170(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x7, %ecx
movl $0x4, %r8d
movl %ecx, %edx
callq 0x8540
jmp 0x40ed
movq -0x170(%rbp), %rdx
movq 0x9085(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x178(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x8540
jmp 0x414e
movq -0x178(%rbp), %rdx
movq 0x9024(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x180(%rbp)
movl -0x8(%rbp), %r8d
movl $0xc, %esi
xorl %edx, %edx
movl $0xfffffff2, %ecx       # imm = 0xFFFFFFF2
callq 0x8500
jmp 0x41aa
movq -0x180(%rbp), %rdx
movq 0x8fc8(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x188(%rbp)
movl -0x8(%rbp), %edx
movl $0xe, %esi
callq 0x84c0
jmp 0x41fe
movq 0x8f7b(%rip), %rax      # 0xd180
movq %rax, -0x190(%rbp)
movl -0x8(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movq -0x188(%rbp), %rdx
movl %eax, %ecx
movq -0x190(%rbp), %rax
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x1, %edi
callq 0x6150
jmp 0x5cdf
movq -0x108(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x110(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x118(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x120(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x128(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x130(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x138(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x140(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x148(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x150(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x158(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x160(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x168(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x170(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x178(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x180(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x188(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movl $0x0, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x198(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x1, %edx
xorl %ecx, %ecx
movl $0xa, %r8d
callq 0x8540
jmp 0x44c5
movq -0x198(%rbp), %rdx
movq 0x8cad(%rip), %rax      # 0xd180
movslq -0x8(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x1a0(%rbp)
movl -0x8(%rbp), %r9d
movl $0x1, %edx
xorl %ecx, %ecx
movl $0x8, %r8d
movl %r8d, %esi
callq 0x8540
jmp 0x4516
movq -0x1a0(%rbp), %rdx
movq 0x8c5c(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x1a8(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x1, %edx
xorl %ecx, %ecx
movl $0x10, %r8d
callq 0x8540
jmp 0x4578
movq -0x1a8(%rbp), %rdx
movq 0x8bfa(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x1b0(%rbp)
movl -0x8(%rbp), %r9d
movl $0xb, %esi
movl $0x1, %ecx
movl $0x4, %r8d
movl %ecx, %edx
callq 0x8540
jmp 0x45da
movq -0x1b0(%rbp), %rdx
movq 0x8b98(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x1b8(%rbp)
movl -0x8(%rbp), %edx
movl $0xe, %esi
callq 0x84c0
jmp 0x462e
movq 0x8b4b(%rip), %rax      # 0xd180
movq %rax, -0x1c0(%rbp)
movl -0x8(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movq -0x1b8(%rbp), %rdx
movl %eax, %ecx
movq -0x1c0(%rbp), %rax
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x1, %edi
callq 0x6150
jmp 0x5cdf
movq -0x198(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x1a0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x1a8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x1b0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x1b8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movl $0x0, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x1c8(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x4, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8540
jmp 0x475b
movq -0x1c8(%rbp), %rdx
movq 0x8a17(%rip), %rax      # 0xd180
movslq -0x8(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x1d0(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8540
jmp 0x47ac
movq -0x1d0(%rbp), %rdx
movq 0x89c6(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x1d8(%rbp)
movl -0x8(%rbp), %r9d
movl $0x9, %esi
movl $0x5, %edx
movl $0x1, %ecx
movl $0xa, %r8d
callq 0x8540
jmp 0x4811
movq -0x1d8(%rbp), %rdx
movq 0x8961(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x1e0(%rbp)
movl -0x8(%rbp), %r8d
movl $0xc, %esi
movl $0x5, %edx
movl $0xd, %ecx
callq 0x8500
jmp 0x4870
movq -0x1e0(%rbp), %rdx
movq 0x8902(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x1e8(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x2, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8540
jmp 0x48d0
movq -0x1e8(%rbp), %rdx
movq 0x88a2(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x1f0(%rbp)
movl -0x8(%rbp), %r9d
movl $0x9, %esi
movl $0x5, %edx
movl $0x2, %ecx
movl $0xa, %r8d
callq 0x8540
jmp 0x4935
movq -0x1f0(%rbp), %rdx
movq 0x883d(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x1f8(%rbp)
movl -0x8(%rbp), %r8d
movl $0xc, %esi
movl $0x5, %edx
movl $0x8, %ecx
callq 0x8500
jmp 0x4994
movq -0x1f8(%rbp), %rdx
movq 0x87de(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x200(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x3, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8540
jmp 0x49f4
movq -0x200(%rbp), %rdx
movq 0x877e(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x208(%rbp)
movl -0x8(%rbp), %r9d
movl $0x9, %esi
movl $0x3, %ecx
movl $0x5, %r8d
movl %r8d, %edx
callq 0x8540
jmp 0x4a57
movq -0x208(%rbp), %rdx
movq 0x871b(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x210(%rbp)
movl -0x8(%rbp), %r8d
movl $0xc, %esi
movl $0x5, %edx
movl $0x3, %ecx
callq 0x8500
jmp 0x4ab6
movq -0x210(%rbp), %rdx
movq 0x86bc(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x218(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x4, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x8540
jmp 0x4b18
movq -0x218(%rbp), %rdx
movq 0x865a(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x220(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x3, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x8540
jmp 0x4b7a
movq -0x220(%rbp), %rdx
movq 0x85f8(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x228(%rbp)
movl -0x8(%rbp), %r8d
movl $0xc, %esi
xorl %edx, %edx
movl $0xfffffffb, %ecx       # imm = 0xFFFFFFFB
callq 0x8500
jmp 0x4bd6
movq -0x228(%rbp), %rdx
movq 0x859c(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x230(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x2, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x8540
jmp 0x4c38
movq -0x230(%rbp), %rdx
movq 0x853a(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x238(%rbp)
movl -0x8(%rbp), %r8d
movl $0xc, %esi
xorl %edx, %edx
movl $0xfffffff6, %ecx       # imm = 0xFFFFFFF6
callq 0x8500
jmp 0x4c94
movq -0x238(%rbp), %rdx
movq 0x84de(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x240(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x8540
jmp 0x4cf5
movq -0x240(%rbp), %rdx
movq 0x847d(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x248(%rbp)
movl -0x8(%rbp), %r8d
movl $0xc, %esi
xorl %edx, %edx
movl $0xfffffff1, %ecx       # imm = 0xFFFFFFF1
callq 0x8500
jmp 0x4d51
movq -0x248(%rbp), %rdx
movq 0x8421(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x250(%rbp)
movl -0x8(%rbp), %edx
movl $0xe, %esi
callq 0x84c0
jmp 0x4da5
movq 0x83d4(%rip), %rax      # 0xd180
movq %rax, -0x258(%rbp)
movl -0x8(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movq -0x250(%rbp), %rdx
movl %eax, %ecx
movq -0x258(%rbp), %rax
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x1, %edi
callq 0x6150
jmp 0x5cdf
movq -0x1c8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x1d0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x1d8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x1e0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x1e8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x1f0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x1f8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x200(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x208(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x210(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x218(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x220(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x228(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x230(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x238(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x240(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x248(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x250(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movl $0x0, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x260(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8540
jmp 0x508c
movq -0x260(%rbp), %rdx
movq 0x80e6(%rip), %rax      # 0xd180
movslq -0x8(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x268(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x2, %edx
xorl %ecx, %ecx
movl $0x3ff, %r8d            # imm = 0x3FF
callq 0x8540
jmp 0x50df
movq -0x268(%rbp), %rdx
movq 0x8093(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x270(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x3, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x8540
jmp 0x5141
movq -0x270(%rbp), %rdx
movq 0x8031(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x278(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x7, %edx
xorl %ecx, %ecx
movl $0x2, %r8d
callq 0x8540
jmp 0x51a3
movq -0x278(%rbp), %rdx
movq 0x7fcf(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x280(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x4, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8540
jmp 0x5203
movq -0x280(%rbp), %rdx
movq 0x7f6f(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x288(%rbp)
movl -0x8(%rbp), %r9d
movl $0x9, %esi
movl $0x5, %edx
movl $0x4, %ecx
movl $0x20, %r8d
callq 0x8540
jmp 0x5268
movq -0x288(%rbp), %rdx
movq 0x7f0a(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x290(%rbp)
movl -0x8(%rbp), %r8d
movl $0xc, %esi
movl $0x5, %edx
movl $0x6, %ecx
callq 0x8500
jmp 0x52c7
movq -0x290(%rbp), %rdx
movq 0x7eab(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x298(%rbp)
movl -0x8(%rbp), %r9d
movl $0x6, %edx
movl $0x2, %ecx
movl $0x3, %r8d
movl %edx, %esi
callq 0x8590
jmp 0x5329
movq -0x298(%rbp), %rdx
movq 0x7e49(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x2a0(%rbp)
movl -0x8(%rbp), %r8d
movl $0xc, %esi
movl $0x6, %edx
movl $0x1, %ecx
callq 0x8500
jmp 0x5388
movq -0x2a0(%rbp), %rdx
movq 0x7dea(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x2a8(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0x8540
jmp 0x53e9
movq -0x2a8(%rbp), %rdx
movq 0x7d89(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x2b0(%rbp)
movl -0x8(%rbp), %r9d
movl $0x3, %ecx
movl $0x7, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x8590
jmp 0x5448
movq -0x2b0(%rbp), %rdx
movq 0x7d2a(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x2b8(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x4, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x8540
jmp 0x54aa
movq -0x2b8(%rbp), %rdx
movq 0x7cc8(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x2c0(%rbp)
movl -0x8(%rbp), %r8d
movl $0xc, %esi
xorl %edx, %edx
movl $0xfffffff8, %ecx       # imm = 0xFFFFFFF8
callq 0x8500
jmp 0x5506
movq -0x2c0(%rbp), %rdx
movq 0x7c6c(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x2c8(%rbp)
movl -0x8(%rbp), %edx
movl $0xe, %esi
callq 0x84c0
jmp 0x555a
movq 0x7c1f(%rip), %rax      # 0xd180
movq %rax, -0x2d0(%rbp)
movl -0x8(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movq -0x2c8(%rbp), %rdx
movl %eax, %ecx
movq -0x2d0(%rbp), %rax
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x1, %edi
callq 0x6150
jmp 0x5cdf
movq -0x260(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x268(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x270(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x278(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x280(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x288(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x290(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x298(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x2a0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x2a8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x2b0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x2b8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x2c0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x2c8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movl $0x0, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x2d8(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8540
jmp 0x57b9
movq -0x2d8(%rbp), %rdx
movq 0x79b9(%rip), %rax      # 0xd180
movslq -0x8(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x2e0(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x2, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x8540
jmp 0x580c
movq -0x2e0(%rbp), %rdx
movq 0x7966(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x2e8(%rbp)
movl -0x8(%rbp), %r9d
movl $0x8, %esi
movl $0x5, %edx
xorl %ecx, %ecx
movl $0xa, %r8d
callq 0x8540
jmp 0x586e
movq -0x2e8(%rbp), %rdx
movq 0x7904(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x2f0(%rbp)
movl -0x8(%rbp), %r9d
movl $0x3, %edx
movl $0x1, %ecx
movl $0x2, %r8d
movl %ecx, %esi
callq 0x8590
jmp 0x58d0
movq -0x2f0(%rbp), %rdx
movq 0x78a2(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x2f8(%rbp)
movl -0x8(%rbp), %r9d
movl $0x1, %edx
movl $0x2, %ecx
xorl %r8d, %r8d
movl %edx, %esi
callq 0x8590
jmp 0x592f
movq -0x2f8(%rbp), %rdx
movq 0x7843(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x300(%rbp)
movl -0x8(%rbp), %r9d
movl $0x1, %esi
movl $0x2, %edx
movl $0x3, %ecx
xorl %r8d, %r8d
callq 0x8590
jmp 0x5991
movq -0x300(%rbp), %rdx
movq 0x77e1(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x308(%rbp)
movl -0x8(%rbp), %r9d
movl $0x9, %esi
movl $0x5, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x8540
jmp 0x59f3
movq -0x308(%rbp), %rdx
movq 0x777f(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x310(%rbp)
movl -0x8(%rbp), %r8d
movl $0xd, %esi
movl $0x5, %edx
movl $0xfffffffb, %ecx       # imm = 0xFFFFFFFB
callq 0x8500
jmp 0x5a52
movq -0x310(%rbp), %rdx
movq 0x7720(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x318(%rbp)
movl -0x8(%rbp), %r9d
movl $0xb, %esi
movl $0x3, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x8540
jmp 0x5ab2
movq -0x318(%rbp), %rdx
movq 0x76c0(%rip), %rax      # 0xd180
movl -0x8(%rbp), %ecx
movl %ecx, %esi
addl $0x3, %esi
testl %ecx, %ecx
cmovsl %esi, %ecx
sarl $0x2, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x8(%rbp)
movl $0x5c, %edi
callq 0x2110
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x320(%rbp)
movl -0x8(%rbp), %edx
movl $0xe, %esi
callq 0x84c0
jmp 0x5b06
movq 0x7673(%rip), %rax      # 0xd180
movq %rax, -0x328(%rbp)
movl -0x8(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movq -0x320(%rbp), %rdx
movl %eax, %ecx
movq -0x328(%rbp), %rax
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x8(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, %edi
addl $0x1, %edi
callq 0x6150
jmp 0x5cdf
movq -0x2d8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x2e0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x2e8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x2f0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x2f8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x300(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x308(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x310(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x318(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq -0x320(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x5c, %esi
callq 0x2120
jmp 0x5ce8
movq 0x7333(%rip), %rdi      # 0xcfd8
leaq 0x3444(%rip), %rsi      # 0x90f0
callq 0x2100
movq %rax, %rdi
movq 0x730d(%rip), %rsi      # 0xcfc8
callq 0x2130
leaq 0x3356(%rip), %rdi      # 0x901d
leaq 0x3400(%rip), %rsi      # 0x90ce
movl $0x15a, %edx            # imm = 0x15A
leaq 0x3401(%rip), %rcx      # 0x90db
callq 0x2090
addq $0x330, %rsp            # imm = 0x330
popq %rbp
retq
movq -0x10(%rbp), %rdi
callq 0x2200
nopw %cs:(%rax,%rax)