// File: /workspace/github_cpp_makefile_star2_O2/trapexit[P]bbf/src/bbf.cpp
// Function: main
int
main(int    argc_,
     char **argv_)
{
  AppError rv;
  Options opts;

  signals::setup_handlers();

  rv = opts.parse(argc_,argv_);
  if(rv.succeeded())
    rv = l::process_instruction(opts);

  if(!rv.succeeded())
    std::cerr << rv.to_string() << std::endl;

  return rv.type;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x110, %rsp            # imm = 0x110
leaq 0x30(%rsp), %rbx
andq $0x0, -0x8(%rbx)
leaq 0x40(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
movabsq $0x1ffffffff, %rdx      # imm = 0x1FFFFFFFF
leaq 0x68(%rsp), %r8
movq %rdx, -0x18(%r8)
movq %r8, -0x10(%r8)
andq $0x0, -0x8(%r8)
movb %cl, (%r8)
andl $0x0, 0x10(%r8)
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%r8)
orq $-0x1, 0x28(%r8)
andq $0x0, 0x30(%r8)
movq $0x400, 0x38(%r8)       # imm = 0x400
leaq 0xb8(%rsp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
movb %cl, (%rdx)
leaq 0xd8(%rsp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
movq %rsi, %r14
movb %cl, (%rdx)
leaq 0xf8(%rsp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
movl %edi, %ebp
movb %cl, (%rax)
movb %cl, (%rdx)
movb %cl, 0x10(%rdx)
callq 0x1170d
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
movl %ebp, %edx
movq %r14, %rcx
callq 0xcc10
leaq 0x28(%rsp), %r14
movq %rsp, %rsi
movq %r14, %rdi
callq 0x5284
leaq 0x8(%rsp), %rdi
callq 0x4200
movq %r14, %rdi
callq 0xb4c2
testb %al, %al
je 0x51f5
cmpl $0x0, 0x78(%rsp)
je 0x50d4
movq 0x1bef3(%rip), %rdi     # 0x20fb8
movq (%rdi), %rax
addq -0x18(%rax), %rdi
pushq $0x4
popq %rsi
callq 0x42e0
movl 0x50(%rsp), %eax
cmpq $0x10, %rax
ja 0x51d6
leaq 0xcf4f(%rip), %rcx      # 0x12038
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0xa6bc
jmp 0x51de
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x9908
jmp 0x51de
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x66f0
jmp 0x51de
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0xa014
jmp 0x51de
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x8791
jmp 0x51de
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x6604
jmp 0x51de
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0xa6ab
jmp 0x51de
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x7368
jmp 0x51de
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x52d0
jmp 0x51de
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x63f8
jmp 0x51de
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x6d1c
jmp 0x51de
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x6ef4
jmp 0x51de
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x9243
jmp 0x51de
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x67f4
jmp 0x51de
movq %rsp, %rdi
callq 0xb6d0
leaq 0x28(%rsp), %rdi
movq %rsp, %rsi
callq 0x5284
leaq 0x8(%rsp), %rdi
callq 0x4200
leaq 0x28(%rsp), %rdi
callq 0xb4c2
testb %al, %al
jne 0x522f
movq %rsp, %rdi
leaq 0x28(%rsp), %rsi
callq 0xb4ca
movq 0x1bdd9(%rip), %rdi     # 0x20ff0
movq %rsp, %rsi
callq 0x4430
movq %rax, %rdi
callq 0x4230
movq %rsp, %rdi
callq 0x4200
movl 0x28(%rsp), %ebp
leaq 0x50(%rsp), %rdi
callq 0x52a0
movq %rbx, %rdi
callq 0x4200
movl %ebp, %eax
addq $0x110, %rsp            # imm = 0x110
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x5266
jmp 0x5266
movq %rax, %r14
movq %rsp, %rdi
callq 0x4200
jmp 0x5269
jmp 0x5266
movq %rax, %r14
leaq 0x50(%rsp), %rdi
callq 0x52a0
movq %rbx, %rdi
callq 0x4200
movq %r14, %rdi
callq 0x4730
nop