// File: /workspace/github_c_makefile_star2_O1/mincebert[P]maketzx/maketzx.c
// Function: FindEdge2
dword FindEdge2(void)
{
  byte good=0;
  dword hp1=0,hp2=0,total=0;

  if (FindingPause)
     {
       hp1=FindEdge1();
       if (!blocktype)
          {
            if (!FindingPause && hp1>(int)(samprate/500))
	       {
	         mspause=(hp1/samprate)*1000;
	         hp2=hp1=0;
	         EndBlock=1;
	         return hp2;
	       }
            else return hp1;
          }
       hp2=FindEdge1();
       if (!FindingPause && hp2>(int)(samprate/500))
	  {
	    mspause=((hp2-hp1)/samprate)*1000;
	    hp2=hp1;
	    EndBlock=1;
	  }
     }
  else {
	 do {
	      hp1+=FindEdge1();
	      //
	      if (!blocktype)
	         {
	           if (!FindingPause && hp1>(int)(samprate/500))
		      {
		        mspause=(hp1/samprate)*1000;
		        hp2=hp1=0;
		        EndBlock=1;
		        return hp2;
		      }
	           else return hp1;
	         }
	      //
	      if (currpulse<2 && bit0.samples>3)
		 {
		   PushFilePointers();
		   FindEdge1();
		   if (currpulse<2) { RemoveFilePointers(); good=0; }
		   else {
			  PopFilePointers();
			  lseek(inpfile.handle,filepos,SEEK_SET);
			  inpfile.bufpoint=0;
			  good=1;
			}
		 }
	      else good=1;
	    }
	 while (!good && blocktype);
	 do {
	      hp2+=FindEdge1();
	      //
	      if (!FindingPause && hp2>(int)(samprate/500))
		 {
		   mspause=((hp2-hp1)/samprate)*1000;
		   hp2=hp1;
		   EndBlock=1;
		 }
	      //
	      if (currpulse<2 && bit0.samples>3)
		 {
		   PushFilePointers();
		   FindEdge1();
		   if (currpulse<2) { RemoveFilePointers(); good=0; }
		   else {
			  PopFilePointers();
			  lseek(inpfile.handle,filepos,SEEK_SET);
			  inpfile.bufpoint=0;
			  good=1;
			}
		 }
	      else good=1;
	    }
	  while (!good && blocktype);

       }
  total=(hp1+hp2);
  return total;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
cmpb $0x0, 0xcb64(%rip)      # 0xf1ba
je 0x26ba
callq 0x24b6
movq %rax, %rbx
cmpb $0x0, 0x1905a(%rip)     # 0x1b6c1
je 0x284d
callq 0x24b6
movq %rax, %r14
cmpb $0x0, 0xcb3e(%rip)      # 0xf1ba
jne 0x2907
movss 0xcb66(%rip), %xmm0     # 0xf1f0
movaps %xmm0, %xmm1
divss 0x8d4b(%rip), %xmm1     # 0xb3e0
cvttss2si %xmm1, %eax
cltq
cmpq %rax, %r14
jbe 0x2907
subq %rbx, %r14
js 0x28c9
xorps %xmm1, %xmm1
cvtsi2ss %r14, %xmm1
jmp 0x28e2
xorl %ebx, %ebx
movq %rbx, %r14
callq 0x24b6
movq %rax, %rbx
addq %r14, %rbx
cmpb $0x0, 0x18ff0(%rip)     # 0x1b6c1
je 0x284d
xorl %ebp, %ebp
cmpq $0x1, 0x18ff7(%rip)     # 0x1b6d8
ja 0x2739
movsd 0x1909d(%rip), %xmm0    # 0x1b788
ucomisd 0x8b95(%rip), %xmm0     # 0xb288
jbe 0x2739
callq 0x165a
callq 0x24b6
cmpq $0x1, 0x18fd1(%rip)     # 0x1b6d8
ja 0x2713
callq 0x178c
movb $0x1, %bpl
jmp 0x2739
callq 0x16fb
movzbl 0xcb61(%rip), %edi      # 0xf280
movq 0xcac2(%rip), %rsi      # 0xf1e8
xorl %ebp, %ebp
xorl %edx, %edx
callq 0x10d0
movl $0x0, 0xcc47(%rip)      # 0xf380
testb %bpl, %bpl
je 0x274b
cmpb $0x0, 0x18f7c(%rip)     # 0x1b6c1
jne 0x26bc
xorl %r14d, %r14d
movq %r14, %r15
callq 0x24b6
movq %rax, %r14
addq %r15, %r14
cmpb $0x0, 0xca57(%rip)      # 0xf1ba
jne 0x27d0
movss 0xca83(%rip), %xmm0     # 0xf1f0
movaps %xmm0, %xmm1
divss 0x8c68(%rip), %xmm1     # 0xb3e0
cvttss2si %xmm1, %eax
cltq
cmpq %rax, %r14
jbe 0x27d0
subq %rbx, %r14
js 0x2792
xorps %xmm1, %xmm1
cvtsi2ss %r14, %xmm1
jmp 0x27ab
movq %r14, %rax
shrq %rax
andl $0x1, %r14d
orq %rax, %r14
xorps %xmm1, %xmm1
cvtsi2ss %r14, %xmm1
addss %xmm1, %xmm1
divss %xmm0, %xmm1
mulss 0x8c2d(%rip), %xmm1     # 0xb3e4
xorps %xmm0, %xmm0
cvtss2sd %xmm1, %xmm0
movsd %xmm0, 0xca5a(%rip)     # 0xf220
movb $0x1, 0x18feb(%rip)     # 0x1b7b8
movq %rbx, %r14
xorl %ebp, %ebp
cmpq $0x1, 0x18efe(%rip)     # 0x1b6d8
ja 0x2832
movsd 0x18fa4(%rip), %xmm0    # 0x1b788
ucomisd 0x8a9c(%rip), %xmm0     # 0xb288
jbe 0x2832
callq 0x165a
callq 0x24b6
cmpq $0x1, 0x18ed8(%rip)     # 0x1b6d8
ja 0x280c
callq 0x178c
movb $0x1, %bpl
jmp 0x2832
callq 0x16fb
movzbl 0xca68(%rip), %edi      # 0xf280
movq 0xc9c9(%rip), %rsi      # 0xf1e8
xorl %ebp, %ebp
xorl %edx, %edx
callq 0x10d0
movl $0x0, 0xcb4e(%rip)      # 0xf380
testb %bpl, %bpl
je 0x2907
cmpb $0x0, 0x18e7f(%rip)     # 0x1b6c1
jne 0x274e
jmp 0x2907
cmpb $0x0, 0xc966(%rip)      # 0xf1ba
jne 0x290a
movss 0xc98e(%rip), %xmm0     # 0xf1f0
movaps %xmm0, %xmm1
divss 0x8b73(%rip), %xmm1     # 0xb3e0
cvttss2si %xmm1, %eax
cltq
cmpq %rax, %rbx
jbe 0x290a
testq %rbx, %rbx
js 0x288b
xorps %xmm1, %xmm1
cvtsi2ss %rbx, %xmm1
jmp 0x28a3
movq %rbx, %rax
shrq %rax
andl $0x1, %ebx
orq %rax, %rbx
xorps %xmm1, %xmm1
cvtsi2ss %rbx, %xmm1
addss %xmm1, %xmm1
divss %xmm0, %xmm1
mulss 0x8b35(%rip), %xmm1     # 0xb3e4
xorps %xmm0, %xmm0
cvtss2sd %xmm1, %xmm0
movsd %xmm0, 0xc962(%rip)     # 0xf220
movb $0x1, 0x18ef3(%rip)     # 0x1b7b8
xorl %ebx, %ebx
jmp 0x290a
movq %r14, %rax
shrq %rax
andl $0x1, %r14d
orq %rax, %r14
xorps %xmm1, %xmm1
cvtsi2ss %r14, %xmm1
addss %xmm1, %xmm1
divss %xmm0, %xmm1
mulss 0x8af6(%rip), %xmm1     # 0xb3e4
xorps %xmm0, %xmm0
cvtss2sd %xmm1, %xmm0
movsd %xmm0, 0xc923(%rip)     # 0xf220
movb $0x1, 0x18eb4(%rip)     # 0x1b7b8
movq %rbx, %r14
addq %r14, %rbx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq