// File: /workspace/github_c_makefile_star2_O2/mabdi[P]bunney/bunny-main.c
// Function: register_new_exec
static _u8 register_new_exec(struct bunny_traceitem* t, _u8 queue) {
  _u8* inp;
  _u32 pos = t->exec_cksum & 0xFFF;
  _u32 i;

  for (i=0;i<known_exec[pos].c;i++)
    if (known_exec[pos].v[i] == t->exec_cksum) return 0;
  
  ADDINT64(known_exec[pos],t->exec_cksum);
  ADDPTR(known_exti[pos],t);
  epath_cnt++;

  t->param_cksum = 0; /* unknown */

  if (queue) {
    inp = make_input("case");
    add_queue(inp,0);
    outf("    + New call path stored at '%s' (c=%016llx).\n",inp,t->exec_cksum);

    if (t->func_skip)
      outf("      >>> Skipped %u function calls (limit is %u, use -M to adjust).\n",t->func_skip,func_limit);

  }

  return 1;
  
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %esi, %ebp
movq %rdi, %rbx
movq 0x10(%rdi), %rcx
movl %ecx, %r14d
andl $0xfff, %r14d           # imm = 0xFFF
movl %r14d, %eax
shll $0x4, %eax
leaq 0x8068(%rip), %rdx      # 0x10360
leaq (%rdx,%rax), %r15
movl 0x8(%rax,%rdx), %r12d
xorl %eax, %eax
cmpq %rax, %r12
je 0x8320
movq (%r15), %rdx
leaq 0x1(%rax), %rsi
cmpq %rcx, (%rdx,%rax,8)
movq %rsi, %rax
jne 0x8303
xorl %r14d, %r14d
jmp 0x8449
movq (%r15), %rax
testb $0x7f, %r12b
jne 0x834d
leal 0x81(%r12), %esi
shlq $0x3, %rsi
movq %rax, %rdi
callq 0x2370
movq %rax, (%r15)
testq %rax, %rax
je 0x8455
movq 0x10(%rbx), %rcx
leal 0x1(%r12), %edx
movl %edx, 0x8(%r15)
movq %rcx, (%rax,%r12,8)
shll $0x4, %r14d
leaq 0x17ffb(%rip), %rax     # 0x20360
leaq (%rax,%r14), %r15
movl 0x8(%r14,%rax), %r12d
movq (%r14,%rax), %rax
testb $0x7f, %r12b
jne 0x8398
leal 0x81(%r12), %esi
shlq $0x3, %rsi
movq %rax, %rdi
callq 0x2370
movq %rax, (%r15)
testq %rax, %rax
je 0x84cf
leal 0x1(%r12), %ecx
movl %ecx, 0x8(%r15)
movq %rbx, (%rax,%r12,8)
incl 0x7f41(%rip)            # 0x102ec
andq $0x0, 0x18(%rbx)
movb $0x1, %r14b
testb %bpl, %bpl
je 0x8449
leaq 0x4cdf(%rip), %rdi      # 0xd0a2
callq 0x9a6e
movq %rax, %r15
movq %rax, %rdi
xorl %esi, %esi
callq 0x691f
movq 0x10(%rbx), %rdx
leaq 0x4cc7(%rip), %rdi      # 0xd0a7
movq %r15, %rsi
xorl %eax, %eax
callq 0x2030
movq 0x7e77(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x840b
movq 0x10(%rbx), %rcx
leaq 0x4ca6(%rip), %rsi      # 0xd0a7
movq %r15, %rdx
xorl %eax, %eax
callq 0x22d0
movl 0x38(%rbx), %esi
testl %esi, %esi
je 0x8449
movl 0x7e00(%rip), %edx      # 0x10218
leaq 0x4cb9(%rip), %rdi      # 0xd0d8
xorl %eax, %eax
callq 0x2030
movq 0x7e3b(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x8449
movl 0x38(%rbx), %edx
movl 0x7ddd(%rip), %ecx      # 0x10218
leaq 0x4c96(%rip), %rsi      # 0xd0d8
xorl %eax, %eax
callq 0x22d0
movl %r14d, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x313c(%rip), %rdi      # 0xb598
xorl %eax, %eax
callq 0x2030
movq 0x7dfe(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0x8481
leaq 0x3122(%rip), %rdi      # 0xb598
pushq $0x24
popq %rsi
pushq $0x1
popq %rdx
callq 0x23b0
leaq 0x2db5(%rip), %rdi      # 0xb23d
leaq 0x4c01(%rip), %rsi      # 0xd090
leaq 0x2db7(%rip), %rdx      # 0xb24d
movl $0x386, %ecx            # imm = 0x386
xorl %eax, %eax
callq 0x2030
movq 0x7dbf(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x854a
leaq 0x2d84(%rip), %rsi      # 0xb23d
leaq 0x4bd0(%rip), %rdx      # 0xd090
leaq 0x2d86(%rip), %rcx      # 0xb24d
movl $0x386, %r8d            # imm = 0x386
jmp 0x8543
leaq 0x30c2(%rip), %rdi      # 0xb598
xorl %eax, %eax
callq 0x2030
movq 0x7d84(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0x84fb
leaq 0x30a8(%rip), %rdi      # 0xb598
pushq $0x24
popq %rsi
pushq $0x1
popq %rdx
callq 0x23b0
leaq 0x2d3b(%rip), %rdi      # 0xb23d
leaq 0x4b87(%rip), %rsi      # 0xd090
leaq 0x2d3d(%rip), %rdx      # 0xb24d
movl $0x387, %ecx            # imm = 0x387
xorl %eax, %eax
callq 0x2030
movq 0x7d45(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x854a
leaq 0x2d0e(%rip), %rsi      # 0xb23d
leaq 0x4b5a(%rip), %rdx      # 0xd090
leaq 0x2d10(%rip), %rcx      # 0xb24d
movl $0x387, %r8d            # imm = 0x387
xorl %eax, %eax
callq 0x22d0
pushq $0x1
popq %rdi
callq 0x2230