// File: /workspace/github_cpp_makefile_star2_O2/afinit[P]afin/process.cpp
// Function: Process::start_run()
void Process::start_run(){
  // initialize logfile if logging enabled
  if( log_output || screen_output ){
    logfile_init();
  }

  // prevent printing of 
  if( no_fusion )
    print_fused = 0;

  // log output file
  Log::Inst()->log_it( string("output file: ") + outfile );
  
  // initialize objects
  reads = new Readlist( readsfiles ); 
  contigs = new Contiglist( reads, contigsfiles, outfile );
  fuse = new Fusion( contigs, reads );

  Log::Inst()->log_it( "End initialization phase" );
  
  // make initial attempt to fuse contigs  
  if( ! no_fusion )
    fuse->run_fusion( true );
  
  if( test_run )
    contigs->output_contigs( 0, outfile + ".fus", "mid" );

  run_manager();

  contigs->create_final_fasta();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x110, %rsp            # imm = 0x110
movq %rdi, %rbx
movl 0x14dc7(%rip), %eax     # 0x1b650
orl 0x14dc5(%rip), %eax     # 0x1b654
je 0x6899
movq %rbx, %rdi
callq 0x6408
cmpl $0x0, 0x14dbc(%rip)     # 0x1b65c
je 0x68a9
andl $0x0, 0x14da3(%rip)     # 0x1b64c
callq 0x81fe
movq %rax, %r15
leaq 0xc3f7(%rip), %rsi      # 0x12caf
leaq -0x48(%rbp), %rdi
leaq -0x21(%rbp), %rdx
callq 0x4120
leaq 0x18(%rbx), %r14
leaq -0x128(%rbp), %rdi
leaq -0x48(%rbp), %rsi
movq %r14, %rdx
callq 0x5a47
leaq -0x128(%rbp), %rsi
movq %r15, %rdi
callq 0x83ae
leaq -0x128(%rbp), %rdi
callq 0x4160
leaq -0x48(%rbp), %rdi
callq 0x4160
pushq $0x38
popq %rdi
callq 0x4320
movq %rax, %r15
leaq 0x38(%rbx), %rsi
leaq -0x108(%rbp), %rdi
callq 0x4410
leaq -0x108(%rbp), %rsi
movq %r15, %rdi
callq 0xbda4
movq %r15, (%rbx)
leaq -0x108(%rbp), %rdi
callq 0x4160
pushq $0x58
popq %rdi
callq 0x4320
movq %rax, %r15
movq (%rbx), %r12
leaq 0x58(%rbx), %rsi
leaq -0xe8(%rbp), %rdi
callq 0x4410
leaq -0xc8(%rbp), %rdi
movq %r14, %rsi
callq 0x4410
leaq -0xe8(%rbp), %rdx
leaq -0xc8(%rbp), %rcx
movq %r15, %rdi
movq %r12, %rsi
callq 0x100f8
movq %r15, 0x8(%rbx)
leaq -0xc8(%rbp), %rdi
callq 0x4160
leaq -0xe8(%rbp), %rdi
callq 0x4160
pushq $0x40
popq %rdi
callq 0x4320
movq %rax, %r15
movq (%rbx), %rdx
movq 0x8(%rbx), %rsi
movq %rax, %rdi
callq 0x8b60
movq %r15, 0x10(%rbx)
callq 0x81fe
movq %rax, %r15
leaq 0xc2f5(%rip), %rsi      # 0x12cbd
leaq -0xa8(%rbp), %rdi
leaq -0x48(%rbp), %rdx
callq 0x4120
leaq -0xa8(%rbp), %rsi
movq %r15, %rdi
callq 0x83ae
leaq -0xa8(%rbp), %rdi
callq 0x4160
cmpl $0x0, 0x14c62(%rip)     # 0x1b65c
jne 0x6a08
movq 0x10(%rbx), %rdi
pushq $0x1
popq %rsi
callq 0xab86
cmpb $0x1, 0x14c39(%rip)     # 0x1b648
jne 0x6a69
movq 0x8(%rbx), %r15
leaq 0xc2ba(%rip), %rdx      # 0x12cd6
leaq -0x88(%rbp), %rdi
movq %r14, %rsi
callq 0x6fc3
leaq 0xc2a9(%rip), %rsi      # 0x12cdb
leaq -0x68(%rbp), %rdi
leaq -0x48(%rbp), %rdx
callq 0x4120
leaq -0x88(%rbp), %rdx
leaq -0x68(%rbp), %rcx
movq %r15, %rdi
xorl %esi, %esi
callq 0x108e8
leaq -0x68(%rbp), %rdi
callq 0x4160
leaq -0x88(%rbp), %rdi
callq 0x4160
movq %rbx, %rdi
callq 0x6b1c
movq 0x8(%rbx), %rdi
callq 0x10ab0
addq $0x110, %rsp            # imm = 0x110
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
callq 0x4160
jmp 0x6a9b
movq %rax, %rbx
leaq -0x88(%rbp), %rdi
jmp 0x6b09
movq %rax, %rbx
leaq -0xa8(%rbp), %rdi
jmp 0x6b09
jmp 0x6b10
jmp 0x6ae4
movq %rax, %rbx
leaq -0xc8(%rbp), %rdi
callq 0x4160
jmp 0x6ac8
movq %rax, %rbx
leaq -0xe8(%rbp), %rdi
jmp 0x6add
jmp 0x6ae4
movq %rax, %rbx
leaq -0x108(%rbp), %rdi
callq 0x4160
jmp 0x6ae7
movq %rax, %rbx
movq %r15, %rdi
callq 0x42f0
jmp 0x6b13
movq %rax, %rbx
leaq -0x128(%rbp), %rdi
callq 0x4160
jmp 0x6b05
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x4160
jmp 0x6b13
movq %rax, %rbx
movq %rbx, %rdi
callq 0x4590
nop