// File: /workspace/github_c_makefile_star2_O1/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), %rax
movl %eax, %r14d
andl $0xfff, %r14d           # imm = 0xFFF
movl %r14d, %ecx
shll $0x4, %ecx
leaq 0x7815(%rip), %rdx      # 0x10360
leaq (%rdx,%rcx), %r15
movl 0x8(%rcx,%rdx), %r12d
testq %r12, %r12
je 0x8b70
movq (%r15), %rcx
xorl %edx, %edx
cmpq %rax, (%rcx,%rdx,8)
je 0x8c9b
incq %rdx
cmpl %edx, %r12d
jne 0x8b5e
testb $0x7f, %r12b
jne 0x8b96
movq (%r15), %rdi
leal 0x81(%r12), %esi
shlq $0x3, %rsi
callq 0x2370
movq %rax, (%r15)
testq %rax, %rax
je 0x8caa
movq 0x10(%rbx), %rax
movq (%r15), %rcx
leal 0x1(%r12), %edx
movl %edx, 0x8(%r15)
movq %rax, (%rcx,%r12,8)
shll $0x4, %r14d
leaq 0x177ab(%rip), %rax     # 0x20360
leaq (%rax,%r14), %r15
movl 0x8(%r14,%rax), %r14d
testb $0x7f, %r14b
jne 0x8be3
movq (%r15), %rdi
leal 0x81(%r14), %esi
shlq $0x3, %rsi
callq 0x2370
movq %rax, (%r15)
testq %rax, %rax
je 0x8d28
movq (%r15), %rax
leal 0x1(%r14), %ecx
movl %ecx, 0x8(%r15)
movq %rbx, (%rax,%r14,8)
incl 0x76f4(%rip)            # 0x102ec
movq $0x0, 0x18(%rbx)
movb $0x1, %r14b
testb %bpl, %bpl
je 0x8c9e
leaq 0x448f(%rip), %rdi      # 0xd0a2
callq 0xa226
movq %rax, %r15
movq %rax, %rdi
xorl %esi, %esi
callq 0x73eb
movq 0x10(%rbx), %rdx
leaq 0x4477(%rip), %rdi      # 0xd0a7
movq %r15, %rsi
xorl %eax, %eax
callq 0x2030
movq 0x7627(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x8c5b
movq 0x10(%rbx), %rcx
leaq 0x4456(%rip), %rsi      # 0xd0a7
movq %r15, %rdx
xorl %eax, %eax
callq 0x22d0
movl 0x38(%rbx), %esi
testl %esi, %esi
je 0x8c9e
movl 0x75b0(%rip), %edx      # 0x10218
leaq 0x4469(%rip), %rdi      # 0xd0d8
xorl %eax, %eax
callq 0x2030
movq 0x75eb(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x8c9e
movl 0x38(%rbx), %edx
movl 0x758d(%rip), %ecx      # 0x10218
leaq 0x4446(%rip), %rsi      # 0xd0d8
xorl %eax, %eax
callq 0x22d0
jmp 0x8c9e
xorl %r14d, %r14d
movl %r14d, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x28e7(%rip), %rdi      # 0xb598
xorl %eax, %eax
callq 0x2030
movq 0x75a9(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0x8cda
leaq 0x28cd(%rip), %rdi      # 0xb598
movl $0x24, %esi
movl $0x1, %edx
callq 0x23b0
leaq 0x255c(%rip), %rdi      # 0xb23d
leaq 0x43a8(%rip), %rsi      # 0xd090
leaq 0x255e(%rip), %rdx      # 0xb24d
movl $0x386, %ecx            # imm = 0x386
xorl %eax, %eax
callq 0x2030
movq 0x7566(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x8da7
leaq 0x252b(%rip), %rsi      # 0xb23d
leaq 0x4377(%rip), %rdx      # 0xd090
leaq 0x252d(%rip), %rcx      # 0xb24d
movl $0x386, %r8d            # imm = 0x386
jmp 0x8da0
leaq 0x2869(%rip), %rdi      # 0xb598
xorl %eax, %eax
callq 0x2030
movq 0x752b(%rip), %rcx      # 0x10268
testq %rcx, %rcx
je 0x8d58
leaq 0x284f(%rip), %rdi      # 0xb598
movl $0x24, %esi
movl $0x1, %edx
callq 0x23b0
leaq 0x24de(%rip), %rdi      # 0xb23d
leaq 0x432a(%rip), %rsi      # 0xd090
leaq 0x24e0(%rip), %rdx      # 0xb24d
movl $0x387, %ecx            # imm = 0x387
xorl %eax, %eax
callq 0x2030
movq 0x74e8(%rip), %rdi      # 0x10268
testq %rdi, %rdi
je 0x8da7
leaq 0x24b1(%rip), %rsi      # 0xb23d
leaq 0x42fd(%rip), %rdx      # 0xd090
leaq 0x24b3(%rip), %rcx      # 0xb24d
movl $0x387, %r8d            # imm = 0x387
xorl %eax, %eax
callq 0x22d0
movl $0x1, %edi
callq 0x2230