// File: /workspace/github_c_makefile_star2_O0/josch[P]stride/initchn.c
// Function: InitChain
void InitChain(CHAIN **Chain)
{
  
  *Chain = (CHAIN *)ckalloc(sizeof(CHAIN));

  (*Chain)->NRes                = 0;
  (*Chain)->NHetRes             = 0;
  (*Chain)->NonStandRes         = 0;
  (*Chain)->NHet                = 0;
  (*Chain)->NonStandAtom        = 0;
  (*Chain)->NHelix              = 0;
  (*Chain)->NSheet              = -1;
  (*Chain)->NTurn               = 0;
  (*Chain)->NAssignedTurn       = 0;
  (*Chain)->NBond               = 0;
  (*Chain)->NHydrBond           = 0;
  (*Chain)->NHydrBondTotal      = 0;
  (*Chain)->NHydrBondInterchain = 0;
  (*Chain)->Method              = XRay;
  (*Chain)->Ter                 = 0;
  (*Chain)->Resolution          = 0.0;

  (*Chain)->File                = (char           *)ckalloc(BUFSZ*sizeof(char));
  (*Chain)->Rsd                 = (RESIDUE       **)ckalloc(MAX_RES*sizeof(RESIDUE *));
  (*Chain)->HetRsd              = (HETERORESIDUE **)ckalloc(MAX_HETRES*sizeof(HETERORESIDUE *));
  (*Chain)->Het                 = (HET           **)ckalloc(MAX_HET*sizeof(HET *));
  (*Chain)->Helix               = (HELIX         **)ckalloc(MAX_HELIX*sizeof(HELIX *));
  (*Chain)->Sheet               = (SHEET         **)ckalloc(MAX_SHEET*sizeof(SHEET *));
  (*Chain)->Turn                = (TURN          **)ckalloc(MAX_TURN*sizeof(TURN *));
  (*Chain)->AssignedTurn        = (TURN          **)ckalloc(MAX_TURN*sizeof(TURN *));
  (*Chain)->SSbond              = (SSBOND        **)ckalloc(MAX_BOND*sizeof(SSBOND *));
  (*Chain)->Info                = (char          **)ckalloc(MAX_INFO*sizeof(char *));

  (*Chain)->Valid               = YES;
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
movl $0xb8, %edi
callq 0x7360
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0x0, (%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0x0, 0x4(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0x0, 0x8(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0x0, 0x10(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0x0, 0x18(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0x0, 0x1c(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0xffffffff, 0x20(%rax) # imm = 0xFFFFFFFF
movq (%rsp), %rax
movq (%rax), %rax
movl $0x0, 0x24(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0x0, 0x28(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0x0, 0x2c(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0x0, 0x30(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0x0, 0x38(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0x0, 0x34(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0x0, 0x54(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0x0, 0xc(%rax)
movq (%rsp), %rax
movq (%rax), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x50(%rax)
movl $0x400, %edi            # imm = 0x400
callq 0x7360
movq %rax, %rcx
movq (%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x48(%rax)
movl $0x27100, %edi          # imm = 0x27100
callq 0x7360
movq %rax, %rcx
movq (%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x68(%rax)
movl $0x27100, %edi          # imm = 0x27100
callq 0x7360
movq %rax, %rcx
movq (%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x70(%rax)
movl $0x640, %edi            # imm = 0x640
callq 0x7360
movq %rax, %rcx
movq (%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x78(%rax)
movl $0xfa0, %edi            # imm = 0xFA0
callq 0x7360
movq %rax, %rcx
movq (%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x80(%rax)
movl $0xfa0, %edi            # imm = 0xFA0
callq 0x7360
movq %rax, %rcx
movq (%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x88(%rax)
movl $0x960, %edi            # imm = 0x960
callq 0x7360
movq %rax, %rcx
movq (%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x90(%rax)
movl $0x960, %edi            # imm = 0x960
callq 0x7360
movq %rax, %rcx
movq (%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x98(%rax)
movl $0x320, %edi            # imm = 0x320
callq 0x7360
movq %rax, %rcx
movq (%rsp), %rax
movq (%rax), %rax
movq %rcx, 0xa0(%rax)
movl $0x1f40, %edi           # imm = 0x1F40
callq 0x7360
movq %rax, %rcx
movq (%rsp), %rax
movq (%rax), %rax
movq %rcx, 0xa8(%rax)
movq (%rsp), %rax
movq (%rax), %rax
movl $0x1, 0x58(%rax)
popq %rax
retq
nopl (%rax,%rax)