// File: /workspace/github_c_makefile_star2_O0/josch[P]stride/asngener.c
// Function: CorrectAsnDouble
void CorrectAsnDouble(char *Asn1, char *Asn2, char *KnownAsn, int Length, 
		      char SecStrType, char EditChar)
{

  register int Res;

  for( Res=0; Res<Length; Res++ )
    if( (Asn1[Res] == SecStrType || Asn2[Res] == SecStrType) && KnownAsn[Res] != SecStrType &&
        ( (Res == 0 && Asn1[Res+1] != SecStrType && Asn2[Res+1] != SecStrType) ||
	  (Res == Length-1 && Asn1[Res-1] != SecStrType && Asn2[Res-1] != SecStrType) ||
          (Res > 0 && Res < Length-1 && 
	   Asn1[Res-1] != SecStrType && Asn2[Res-1] != SecStrType && 
	   Asn1[Res+1] != SecStrType && Asn2[Res+1] != SecStrType) ) )
      Asn1[Res] = Asn2[Res] = EditChar;
      
}

// Assembly:
movl %r8d, -0x40(%rsp)
movl %ecx, %eax
movl -0x40(%rsp), %ecx
movl %eax, -0x3c(%rsp)
movq %rdx, %rax
movl -0x3c(%rsp), %edx
movq %rax, -0x38(%rsp)
movq %rsi, %rax
movq -0x38(%rsp), %rsi
movq %rax, -0x30(%rsp)
movq %rdi, %r8
movq -0x30(%rsp), %rdi
movb %r9b, %al
movq %r8, -0x8(%rsp)
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movl %edx, -0x1c(%rsp)
movb %cl, -0x1d(%rsp)
movb %al, -0x1e(%rsp)
movl $0x0, -0x24(%rsp)
movl -0x24(%rsp), %eax
cmpl -0x1c(%rsp), %eax
jge 0x294bd
movq -0x8(%rsp), %rax
movslq -0x24(%rsp), %rcx
movsbl (%rax,%rcx), %eax
movsbl -0x1d(%rsp), %ecx
cmpl %ecx, %eax
je 0x29356
movq -0x10(%rsp), %rax
movslq -0x24(%rsp), %rcx
movsbl (%rax,%rcx), %eax
movsbl -0x1d(%rsp), %ecx
cmpl %ecx, %eax
jne 0x294ab
movq -0x18(%rsp), %rax
movslq -0x24(%rsp), %rcx
movsbl (%rax,%rcx), %eax
movsbl -0x1d(%rsp), %ecx
cmpl %ecx, %eax
je 0x294ab
cmpl $0x0, -0x24(%rsp)
jne 0x293b4
movq -0x8(%rsp), %rax
movl -0x24(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
movsbl -0x1d(%rsp), %ecx
cmpl %ecx, %eax
je 0x293b4
movq -0x10(%rsp), %rax
movl -0x24(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
movsbl -0x1d(%rsp), %ecx
cmpl %ecx, %eax
jne 0x2948d
movl -0x24(%rsp), %eax
movl -0x1c(%rsp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jne 0x293ff
movq -0x8(%rsp), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
movsbl -0x1d(%rsp), %ecx
cmpl %ecx, %eax
je 0x293ff
movq -0x10(%rsp), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
movsbl -0x1d(%rsp), %ecx
cmpl %ecx, %eax
jne 0x2948d
cmpl $0x0, -0x24(%rsp)
jle 0x294ab
movl -0x24(%rsp), %eax
movl -0x1c(%rsp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x294ab
movq -0x8(%rsp), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
movsbl -0x1d(%rsp), %ecx
cmpl %ecx, %eax
je 0x294ab
movq -0x10(%rsp), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
movsbl -0x1d(%rsp), %ecx
cmpl %ecx, %eax
je 0x294ab
movq -0x8(%rsp), %rax
movl -0x24(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
movsbl -0x1d(%rsp), %ecx
cmpl %ecx, %eax
je 0x294ab
movq -0x10(%rsp), %rax
movl -0x24(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
movsbl -0x1d(%rsp), %ecx
cmpl %ecx, %eax
je 0x294ab
movb -0x1e(%rsp), %dl
movq -0x10(%rsp), %rax
movslq -0x24(%rsp), %rcx
movb %dl, (%rax,%rcx)
movq -0x8(%rsp), %rax
movslq -0x24(%rsp), %rcx
movb %dl, (%rax,%rcx)
jmp 0x294ad
movl -0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rsp)
jmp 0x29316
retq
nop