// File: /workspace/github_c_makefile_star2_O0/josch[P]stride/report.c
// Function: ReportDetailed
void ReportDetailed(CHAIN **Chain, int NChain, FILE *Out, COMMAND *Cmd)
{
  register int i, Cn;
  RESIDUE *p;
  BUFFER Bf, Tmp, Tmp1;

  PrepareBuffer(Bf,Chain);

  Glue(Bf,"REM",Out);
  sprintf(Tmp,"REM  --------------- ");
  strcat(Tmp,"Detailed secondary structure assignment");
  strcat(Tmp,"-------------");
  Glue(Bf,Tmp,Out);
  Glue(Bf,"REM",Out);
  Glue(Bf,"REM  |---Residue---|    |--Structure--|   |-Phi-|   |-Psi-|  |-Area-|      ",Out);

  for( Cn=0; Cn<NChain; Cn++ ) {

    if( !Chain[Cn]->Valid )
      continue;
    
    for( i=0; i<Chain[Cn]->NRes; i++ ) {
      p = Chain[Cn]->Rsd[i];
      sprintf(Tmp,"ASG  %3s %c %4s %4d    %c   %11s   %7.2f   %7.2f   %7.1f",
	      p->ResType,SpaceToDash(Chain[Cn]->Id),p->PDB_ResNumb,i+1,
	      p->Prop->Asn,Translate(p->Prop->Asn),p->Prop->Phi,
	      p->Prop->Psi,p->Prop->Solv);

      if( Cmd->BrookhavenAsn ) {
	Tmp[26] = p->Prop->PdbAsn;
	Tmp[25] = ' ';
	Tmp[27] = ' ';
      }

      if( Cmd->DsspAsn ) {
	Tmp[28] = p->Prop->DsspAsn;
	Tmp[27] = ' ';
	Tmp[29] = ' ';
	sprintf(Tmp1," %6.1f ",p->Prop->DsspSolv);
	strcat(Tmp,Tmp1);
      }
      Glue(Bf,Tmp,Out);
    }
  }
  
}

// Assembly:
subq $0xc98, %rsp            # imm = 0xC98
movq %rdi, 0xc90(%rsp)
movl %esi, 0xc8c(%rsp)
movq %rdx, 0xc80(%rsp)
movq %rcx, 0xc78(%rsp)
leaq 0x860(%rsp), %rdi
movq 0xc90(%rsp), %rsi
callq 0x1d3d0
leaq 0x860(%rsp), %rdi
movq 0xc80(%rsp), %rdx
leaq 0xf85f(%rip), %rsi      # 0x2c0f1
callq 0x1d430
leaq 0x450(%rsp), %rdi
leaq 0xfa54(%rip), %rsi      # 0x2c2fa
movb $0x0, %al
callq 0x2200
leaq 0x450(%rsp), %rdi
leaq 0xfa54(%rip), %rsi      # 0x2c310
callq 0x21e0
leaq 0x450(%rsp), %rdi
leaq 0xf9f0(%rip), %rsi      # 0x2c2c0
callq 0x21e0
leaq 0x860(%rsp), %rdi
leaq 0x450(%rsp), %rsi
movq 0xc80(%rsp), %rdx
callq 0x1d430
leaq 0x860(%rsp), %rdi
movq 0xc80(%rsp), %rdx
leaq 0xf7e8(%rip), %rsi      # 0x2c0f1
callq 0x1d430
leaq 0x860(%rsp), %rdi
movq 0xc80(%rsp), %rdx
leaq 0xfa13(%rip), %rsi      # 0x2c338
callq 0x1d430
movl $0x0, 0xc70(%rsp)
movl 0xc70(%rsp), %eax
cmpl 0xc8c(%rsp), %eax
jge 0x1cbc9
movq 0xc90(%rsp), %rax
movslq 0xc70(%rsp), %rcx
movq (%rax,%rcx,8), %rax
cmpl $0x0, 0x58(%rax)
jne 0x1c968
jmp 0x1cbb3
movl $0x0, 0xc74(%rsp)
movl 0xc74(%rsp), %eax
movq 0xc90(%rsp), %rcx
movslq 0xc70(%rsp), %rdx
movq (%rcx,%rdx,8), %rcx
cmpl (%rcx), %eax
jge 0x1cbb1
movq 0xc90(%rsp), %rax
movslq 0xc70(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x68(%rax), %rax
movslq 0xc74(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0xc68(%rsp)
leaq 0x450(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0xc68(%rsp), %rax
addq $0xa, %rax
movq %rax, 0x20(%rsp)
movq 0xc90(%rsp), %rax
movslq 0xc70(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x40(%rax), %edi
callq 0x6550
movsbl %al, %eax
movl %eax, 0x2c(%rsp)
movq 0xc68(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x30(%rsp)
movl 0xc74(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x38(%rsp)
movq 0xc68(%rsp), %rax
movq 0x768(%rax), %rax
movsbl 0x1c(%rax), %eax
movl %eax, 0x3c(%rsp)
movq 0xc68(%rsp), %rax
movq 0x768(%rax), %rax
movsbl 0x1c(%rax), %edi
callq 0x6400
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rdx
movl 0x2c(%rsp), %ecx
movq 0x30(%rsp), %r8
movl 0x38(%rsp), %r9d
movl 0x3c(%rsp), %r10d
movq 0xc68(%rsp), %rsi
movq 0x768(%rsi), %rsi
movss (%rsi), %xmm0
cvtss2sd %xmm0, %xmm0
movq 0xc68(%rsp), %rsi
movq 0x768(%rsi), %rsi
movss 0x4(%rsi), %xmm1
cvtss2sd %xmm1, %xmm1
movq 0xc68(%rsp), %rsi
movq 0x768(%rsi), %rsi
movss 0x14(%rsi), %xmm2
cvtss2sd %xmm2, %xmm2
leaq 0xf8c7(%rip), %rsi      # 0x2c384
movl %r10d, (%rsp)
movq %rax, 0x8(%rsp)
movb $0x3, %al
callq 0x2200
movq 0xc78(%rsp), %rax
cmpl $0x0, 0x1d74(%rax)
je 0x1cb07
movq 0xc68(%rsp), %rax
movq 0x768(%rax), %rax
movb 0x1d(%rax), %al
movb %al, 0x46a(%rsp)
movb $0x20, 0x469(%rsp)
movb $0x20, 0x46b(%rsp)
movq 0xc78(%rsp), %rax
cmpl $0x0, 0x1d78(%rax)
je 0x1cb7e
movq 0xc68(%rsp), %rax
movq 0x768(%rax), %rax
movb 0x1e(%rax), %al
movb %al, 0x46c(%rsp)
movb $0x20, 0x46b(%rsp)
movb $0x20, 0x46d(%rsp)
leaq 0x40(%rsp), %rdi
movq 0xc68(%rsp), %rax
movq 0x768(%rax), %rax
movss 0x18(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0xfa22(%rip), %rsi      # 0x2c587
movb $0x1, %al
callq 0x2200
leaq 0x450(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x21e0
leaq 0x860(%rsp), %rdi
leaq 0x450(%rsp), %rsi
movq 0xc80(%rsp), %rdx
callq 0x1d430
movl 0xc74(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc74(%rsp)
jmp 0x1c973
jmp 0x1cbb3
movl 0xc70(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc70(%rsp)
jmp 0x1c935
addq $0xc98, %rsp            # imm = 0xC98
retq
nopw %cs:(%rax,%rax)