// File: /workspace/github_cpp_makefile_star2_O1/CMU-SAFARI[P]ramulator/src/Processor.cpp
// Function: ramulator::Core::Core(ramulator::Config const&, int, char const*, std::function<bool (ramulator::Request)>, ramulator::Cache*, std::shared_ptr<ramulator::CacheSystem>, ramulator::MemoryBase&)
Core::Core(const Config& configs, int coreid,
    const char* trace_fname, function<bool(Request)> send_next,
    Cache* llc, std::shared_ptr<CacheSystem> cachesys, MemoryBase& memory)
    : id(coreid), no_core_caches(!configs.has_core_caches()),
    no_shared_cache(!configs.has_l3_cache()),
    llc(llc), trace(trace_fname), memory(memory)
{
  // set expected limit instruction for calculating weighted speedup
  expected_limit_insts = configs.get_expected_limit_insts();
  trace.expected_limit_insts = expected_limit_insts;

  // Build cache hierarchy
  if (no_core_caches) {
    send = send_next;
  } else {
    // L2 caches[0]
    caches.emplace_back(new Cache(
        l2_size, l2_assoc, l2_blocksz, l2_mshr_num,
        Cache::Level::L2, cachesys));
    // L1 caches[1]
    caches.emplace_back(new Cache(
        l1_size, l1_assoc, l1_blocksz, l1_mshr_num,
        Cache::Level::L1, cachesys));
    send = bind(&Cache::send, caches[1].get(), placeholders::_1);
    if (llc != nullptr) {
      caches[0]->concatlower(llc);
    }
    caches[1]->concatlower(caches[0].get());

    first_level_cache = caches[1].get();
  }
  if (no_core_caches) {
    more_reqs = trace.get_filtered_request(
        bubble_cnt, req_addr, req_type);
    req_addr = memory.page_allocator(req_addr, id);
  } else {
    more_reqs = trace.get_unfiltered_request(
        bubble_cnt, req_addr, req_type);
    req_addr = memory.page_allocator(req_addr, id);
  }

  
  // regStats
  record_cycs.name("record_cycs_core_" + to_string(id))
             .desc("Record cycle number for calculating weighted speedup. (Only valid when expected limit instruction number is non zero in config file.)")
             .precision(0)
             ;

  record_insts.name("record_insts_core_" + to_string(id))
              .desc("Retired instruction number when record cycle number. (Only valid when expected limit instruction number is non zero in config file.)")
              .precision(0)
              ;

  memory_access_cycles.name("memory_access_cycles_core_" + to_string(id))
                      .desc("memory access cycles in memory time domain")
                      .precision(0)
                      ;
  memory_access_cycles = 0;
  cpu_inst.name("cpu_instructions_core_" + to_string(id))
          .desc("cpu instruction number")
          .precision(0)
          ;
  cpu_inst = 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x188, %rsp            # imm = 0x188
movq %r9, %r13
movq %r8, %r14
movq %rcx, %rbp
movq %rsi, %r12
movq %rdi, %rbx
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movl %edx, 0x10(%rdi)
leaq 0x18(%rdi), %rax
movq %rax, 0x30(%rsp)
movups %xmm0, 0x18(%rdi)
movups %xmm0, 0x28(%rdi)
movups %xmm0, 0x38(%rdi)
movups %xmm0, 0x48(%rdi)
movq %rsi, %rdi
callq 0x13184c
xorb $0x1, %al
movb %al, 0x58(%rbx)
movq %r12, %rdi
callq 0x131958
xorb $0x1, %al
movb %al, 0x59(%rbx)
movaps 0x2d9f5(%rip), %xmm0    # 0x15da50
movups %xmm0, 0x5c(%rbx)
movaps 0x2d9fa(%rip), %xmm0    # 0x15da60
movups %xmm0, 0x6c(%rbx)
leaq 0x80(%rbx), %rax
movq %rax, 0x8(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, 0x80(%rbx)
movq $0x0, 0x90(%rbx)
movq %r13, 0x98(%rbx)
leaq 0xa0(%rbx), %rdi
movq %rdi, 0x58(%rsp)
callq 0x21be2
leaq 0x7104e(%rip), %r15     # 0x1a10f8
movq %r15, 0xa0(%rbx)
xorl %eax, %eax
movq %rax, 0x110(%rbx)
leaq 0x128(%rbx), %rcx
movq %rcx, 0x118(%rbx)
movq %rax, 0x120(%rbx)
movb $0x0, 0x128(%rbx)
leaq 0x138(%rbx), %rdi
movq %rdi, 0x50(%rsp)
callq 0x21be2
movq %r15, 0x138(%rbx)
xorl %eax, %eax
movq %rax, 0x1a8(%rbx)
leaq 0x1c0(%rbx), %rcx
movq %rcx, 0x1b0(%rbx)
movq %rax, 0x1b8(%rbx)
movb %al, 0x1c0(%rbx)
movb %al, 0x1d8(%rbx)
leaq 0x1e0(%rbx), %rdi
movq %rdi, 0x38(%rsp)
movq %rbp, %rsi
callq 0x1314f0
leaq 0x410(%rbx), %rbp
movq %rbp, %rdi
callq 0x131c88
movq $-0x1, 0x470(%rbx)
leaq 0x490(%rbx), %rdi
xorps %xmm0, %xmm0
movups %xmm0, 0x480(%rbx)
movq %rdi, 0x48(%rsp)
movq %rbp, 0x80(%rsp)
callq 0x21be2
movq %r15, 0x490(%rbx)
xorl %eax, %eax
movq %rax, 0x500(%rbx)
leaq 0x518(%rbx), %rcx
movq %rcx, 0x508(%rbx)
movq %rax, 0x510(%rbx)
movb $0x0, 0x518(%rbx)
leaq 0x528(%rbx), %rdi
movq %rdi, 0x40(%rsp)
callq 0x21be2
movq 0x1c8(%rsp), %rbp
movq %r15, 0x528(%rbx)
xorl %eax, %eax
movq %rax, 0x598(%rbx)
leaq 0x5b0(%rbx), %rcx
movq %rcx, 0x5a0(%rbx)
movq %rax, 0x5a8(%rbx)
movb $0x0, 0x5b0(%rbx)
movq %rbp, 0x5c0(%rbx)
movq 0x48(%r12), %rax
movq %rax, 0x1d0(%rbx)
movq %rax, 0x1e0(%rbx)
cmpb $0x1, 0x58(%rbx)
jne 0x13020c
movq 0x30(%rsp), %rdi
movq %r14, %rsi
callq 0x131d06
jmp 0x130386
movl $0x6f0, %edi            # imm = 0x6F0
callq 0xb2e0
movq %rax, %r14
movq 0x1c0(%rsp), %r15
movl 0x6c(%rbx), %esi
movl 0x70(%rbx), %edx
movl 0x74(%rbx), %ecx
movl 0x78(%rbx), %r8d
movq (%r15), %rax
movq %rax, 0x70(%rsp)
movq 0x8(%r15), %rax
movq %rax, 0x78(%rsp)
testq %rax, %rax
je 0x130259
movq 0x73d45(%rip), %rdi     # 0x1a3f90
cmpb $0x0, (%rdi)
je 0x130255
incl 0x8(%rax)
jmp 0x130259
lock
incl 0x8(%rax)
movb $0x1, %r12b
leaq 0x70(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl $0x1, %r9d
callq 0x105bcc
leaq 0x10(%rsp), %rsi
movq %r14, (%rsi)
xorl %r12d, %r12d
movq 0x8(%rsp), %rdi
callq 0x131d74
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x130297
callq 0x2c468
movl $0x6f0, %edi            # imm = 0x6F0
callq 0xb2e0
movq %rax, %r14
movl 0x5c(%rbx), %esi
movl 0x60(%rbx), %edx
movl 0x64(%rbx), %ecx
movl 0x68(%rbx), %r8d
movq (%r15), %rax
movq %rax, 0x60(%rsp)
movq 0x8(%r15), %rax
movq %rax, 0x68(%rsp)
testq %rax, %rax
je 0x1302dc
movq 0x73cc2(%rip), %rdi     # 0x1a3f90
cmpb $0x0, (%rdi)
je 0x1302d8
incl 0x8(%rax)
jmp 0x1302dc
lock
incl 0x8(%rax)
movb $0x1, %r15b
leaq 0x60(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
xorl %r9d, %r9d
callq 0x105bcc
leaq 0x10(%rsp), %rsi
movq %r14, (%rsi)
xorl %r15d, %r15d
movq 0x8(%rsp), %rdi
callq 0x131d74
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x130317
callq 0x2c468
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
leaq -0x29240(%rip), %rcx    # 0x1070ea
leaq 0x10(%rsp), %rsi
movq %rcx, (%rsi)
movq $0x0, 0x8(%rsi)
movq %rax, 0x10(%rsi)
movq 0x30(%rsp), %rdi
callq 0x131db4
testq %r13, %r13
je 0x130360
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq (%rax), %rdi
movq %r13, %rsi
callq 0x107b82
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq (%rax), %rsi
movq 0x10(%rax), %rdi
callq 0x107b82
movq 0x80(%rbx), %rax
movq 0x10(%rax), %rax
movq %rax, 0x488(%rbx)
leaq 0x470(%rbx), %rdx
leaq 0x468(%rbx), %rsi
leaq 0x478(%rbx), %rcx
cmpb $0x1, 0x58(%rbx)
jne 0x1303b3
movq 0x38(%rsp), %rdi
callq 0x130cce
movb %al, 0x47c(%rbx)
jmp 0x1303c4
movq 0x38(%rsp), %rdi
callq 0x131052
movb $0x1, 0x47c(%rbx)
movq 0x470(%rbx), %rsi
movl 0x10(%rbx), %edx
movq (%rbp), %rax
movq %rbp, %rdi
callq *0x38(%rax)
movq %rax, 0x470(%rbx)
movl 0x10(%rbx), %r14d
movl %r14d, %ebp
negl %ebp
cmovsl %r14d, %ebp
movl $0x1, %r12d
cmpl $0xa, %ebp
jb 0x130440
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x130437
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x13043d
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x130440
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x130404
addl $-0x3, %r12d
jmp 0x130440
addl $-0x2, %r12d
jmp 0x130440
decl %r12d
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x10(%rsp), %rdi
movl $0x2d, %edx
callq 0xb350
leaq 0x10(%rsp), %r13
addq (%r13), %r14
movq %r14, %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0x23979
leaq 0x2d71e(%rip), %rcx     # 0x15db9b
movl $0x11, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xb330
leaq 0xf8(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1304c0
movq %rdx, 0xe8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xf8(%rsp)
jmp 0x1304c8
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0xe8(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x58(%rsp), %rdi
callq 0x2386a
movq %rax, %r14
leaq 0x178(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2d6a6(%rip), %rsi     # 0x15dbad
leaq 0x2d724(%rip), %rdx     # 0x15dc32
leaq 0x168(%rsp), %rdi
callq 0x17586
leaq 0x28(%r14), %rdi
leaq 0x168(%rsp), %rsi
callq 0xb1c0
movl $0x0, 0x48(%r14)
movq 0x168(%rsp), %rdi
cmpq %r13, %rdi
je 0x130551
movq 0x178(%rsp), %rsi
incq %rsi
callq 0xb2f0
movq 0xe8(%rsp), %rdi
cmpq %r12, %rdi
je 0x13056e
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0xb2f0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x130585
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xb2f0
movl 0x10(%rbx), %r14d
movl %r14d, %ebp
negl %ebp
cmovsl %r14d, %ebp
movl $0x1, %r12d
cmpl $0xa, %ebp
jb 0x1305e6
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x1305dd
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x1305e3
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x1305e6
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x1305aa
addl $-0x3, %r12d
jmp 0x1305e6
addl $-0x2, %r12d
jmp 0x1305e6
decl %r12d
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq 0x10(%rsp), %rdi
movq %r15, (%rdi)
movl $0x2d, %edx
callq 0xb350
leaq 0x10(%rsp), %r13
addq (%r13), %r14
movq %r14, %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0x23979
leaq 0x2d616(%rip), %rcx     # 0x15dc33
movl $0x12, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xb330
leaq 0xd8(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x130660
movq %rdx, 0xc8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xd8(%rsp)
jmp 0x130668
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0xc8(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x50(%rsp), %rdi
callq 0x2386a
movq %rax, %r14
leaq 0x158(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2d59f(%rip), %rsi     # 0x15dc46
leaq 0x2d61c(%rip), %rdx     # 0x15dcca
leaq 0x148(%rsp), %rdi
callq 0x17586
leaq 0x28(%r14), %rdi
leaq 0x148(%rsp), %rsi
callq 0xb1c0
movl $0x0, 0x48(%r14)
movq 0x148(%rsp), %rdi
cmpq %r13, %rdi
je 0x1306f1
movq 0x158(%rsp), %rsi
incq %rsi
callq 0xb2f0
movq 0xc8(%rsp), %rdi
cmpq %r12, %rdi
je 0x13070e
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0xb2f0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x130725
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xb2f0
movl 0x10(%rbx), %r14d
movl %r14d, %ebp
negl %ebp
cmovsl %r14d, %ebp
movl $0x1, %r12d
cmpl $0xa, %ebp
jb 0x130786
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x13077d
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x130783
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x130786
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x13074a
addl $-0x3, %r12d
jmp 0x130786
addl $-0x2, %r12d
jmp 0x130786
decl %r12d
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq 0x10(%rsp), %rdi
movq %r15, (%rdi)
movl $0x2d, %edx
callq 0xb350
leaq 0x10(%rsp), %r13
addq (%r13), %r14
movq %r14, %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0x23979
leaq 0x2d50e(%rip), %rcx     # 0x15dccb
movl $0x1a, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xb330
leaq 0xb8(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x130800
movq %rdx, 0xa8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb8(%rsp)
jmp 0x130808
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0xa8(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x48(%rsp), %rdi
callq 0x2386a
movq %rax, %r14
leaq 0x138(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2d49f(%rip), %rsi     # 0x15dce6
leaq 0x2d4c2(%rip), %rdx     # 0x15dd10
leaq 0x128(%rsp), %rdi
callq 0x17586
leaq 0x28(%r14), %rdi
leaq 0x128(%rsp), %rsi
callq 0xb1c0
movl $0x0, 0x48(%r14)
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
je 0x130891
movq 0x138(%rsp), %rsi
incq %rsi
callq 0xb2f0
movq 0xa8(%rsp), %rdi
cmpq %r12, %rdi
je 0x1308ae
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0xb2f0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x1308c5
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xb2f0
movq $0x0, 0x500(%rbx)
movl 0x10(%rbx), %r14d
movl %r14d, %ebp
negl %ebp
cmovsl %r14d, %ebp
movl $0x1, %r12d
cmpl $0xa, %ebp
jb 0x130931
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x130928
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x13092e
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x130931
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x1308f5
addl $-0x3, %r12d
jmp 0x130931
addl $-0x2, %r12d
jmp 0x130931
decl %r12d
shrl $0x1f, %r14d
leal (%r12,%r14), %esi
leaq 0x10(%rsp), %rdi
movq %r15, (%rdi)
movl $0x2d, %edx
callq 0xb350
leaq 0x10(%rsp), %r13
addq (%r13), %r14
movq %r14, %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0x23979
leaq 0x2d3a9(%rip), %rcx     # 0x15dd11
movl $0x16, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xb330
leaq 0x98(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1309ab
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x1309b3
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x88(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x40(%rsp), %rdi
callq 0x2386a
movq %rax, %r14
leaq 0x118(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2d336(%rip), %rsi     # 0x15dd28
leaq 0x2d345(%rip), %rdx     # 0x15dd3e
leaq 0x108(%rsp), %rdi
callq 0x17586
leaq 0x28(%r14), %rdi
leaq 0x108(%rsp), %rsi
callq 0xb1c0
movl $0x0, 0x48(%r14)
movq 0x108(%rsp), %rdi
cmpq %r13, %rdi
je 0x130a3c
movq 0x118(%rsp), %rsi
incq %rsi
callq 0xb2f0
movq 0x88(%rsp), %rdi
cmpq %r12, %rdi
je 0x130a59
movq 0x98(%rsp), %rsi
incq %rsi
callq 0xb2f0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x130a70
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xb2f0
movq $0x0, 0x598(%rbx)
addq $0x188, %rsp            # imm = 0x188
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x130c40
jmp 0x130c40
jmp 0x130c40
movq %rax, %rbp
movq 0x108(%rsp), %rdi
cmpq %r13, %rdi
je 0x130ac3
movq 0x118(%rsp), %rsi
incq %rsi
callq 0xb2f0
jmp 0x130ac3
jmp 0x130ac0
movq %rax, %rbp
movq 0x88(%rsp), %rdi
cmpq %r12, %rdi
je 0x130bc8
movq 0x98(%rsp), %rsi
jmp 0x130bbb
jmp 0x130bc5
jmp 0x130c40
movq %rax, %rbp
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
je 0x130b12
movq 0x138(%rsp), %rsi
incq %rsi
callq 0xb2f0
jmp 0x130b12
jmp 0x130b0f
movq %rax, %rbp
movq 0xa8(%rsp), %rdi
cmpq %r12, %rdi
je 0x130bc8
movq 0xb8(%rsp), %rsi
jmp 0x130bbb
jmp 0x130bc5
jmp 0x130c40
movq %rax, %rbp
movq 0x148(%rsp), %rdi
cmpq %r13, %rdi
je 0x130b61
movq 0x158(%rsp), %rsi
incq %rsi
callq 0xb2f0
jmp 0x130b61
jmp 0x130b5e
movq %rax, %rbp
movq 0xc8(%rsp), %rdi
cmpq %r12, %rdi
je 0x130bc8
movq 0xd8(%rsp), %rsi
jmp 0x130bbb
jmp 0x130bc5
jmp 0x130c40
movq %rax, %rbp
movq 0x168(%rsp), %rdi
cmpq %r13, %rdi
je 0x130ba6
movq 0x178(%rsp), %rsi
incq %rsi
callq 0xb2f0
jmp 0x130ba6
jmp 0x130ba3
movq %rax, %rbp
movq 0xe8(%rsp), %rdi
cmpq %r12, %rdi
je 0x130bc8
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0xb2f0
jmp 0x130bc8
movq %rax, %rbp
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x130c43
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xb2f0
jmp 0x130c43
jmp 0x130c40
movq %rax, %rbp
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x130bf5
callq 0x2c468
testb %r15b, %r15b
jne 0x130c13
jmp 0x130c43
movq %rax, %rbp
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x130c0e
callq 0x2c468
testb %r12b, %r12b
je 0x130c43
movl $0x6f0, %esi            # imm = 0x6F0
movq %r14, %rdi
jmp 0x130bda
movq %rax, %rbp
jmp 0x130c4d
movq %rax, %rbp
jmp 0x130c57
movq %rax, %rbp
jmp 0x130c64
movq %rax, %rbp
jmp 0x130c6e
movq %rax, %rbp
jmp 0x130c78
movq %rax, %rbp
jmp 0x130c82
movq %rax, %rbp
jmp 0x130c8c
movq %rax, %rbp
movq 0x40(%rsp), %rdi
callq 0x219b2
movq 0x48(%rsp), %rdi
callq 0x219b2
movq 0x80(%rsp), %rdi
callq 0x131e54
movq 0x38(%rsp), %rdi
callq 0x2c7b8
movq 0x50(%rsp), %rdi
callq 0x219b2
movq 0x58(%rsp), %rdi
callq 0x219b2
movq 0x8(%rsp), %rdi
callq 0x2c7e8
movq 0x48(%rbx), %rax
testq %rax, %rax
je 0x130ca3
leaq 0x38(%rbx), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x130cbb
movq 0x30(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq %rbp, %rdi
callq 0xb510
jmp 0x130cc5
movq %rax, %rdi
callq 0x1718f
nop