// File: /workspace/github_c_makefile_star2_O0/mincebert[P]maketzx/maketzx.c
// Function: RawRead
void RawRead(void)
{
   dword bytes;
   blocks++;
   raw=1;
//   header.type=0x0e;
   pilotlength=0;
   PushFilePointers();
   tonesearch=1;
   pilot.freq=BeepSearch(48);
   if (!pilot.freq) return;
   tonesearch=0;
   syncx.freq=2450;
   SetTimings();
   PopFilePointers();
   lseek(inpfile.handle,filepos,SEEK_SET);
   inpfile.bufpoint=0;
   do {
	PilotSearch(256);
	if (!blocktype) return;
	SyncSearch();
	if (!blocktype) return;
      }
   while (!SyncLoadOK);
   if (!SyncLoadOK && lastpulse) syncx.freq=samprate/(2*lastpulse); SetTimings();
   PushFilePointers();
   printf("Analysing pulses...            \xd");
   SearchDataFrequencies();
   if (!bit0.freq || !bit1.freq) return;
   PopFilePointers();
   lseek(inpfile.handle,filepos,SEEK_SET);
   inpfile.bufpoint=0;
   mspause=0;
   bytes=DataRead(bit0.samples,bit1.samples,0);
   if (blocktype) mspause+=(FindPause()/samprate)*1000;
   if (fabs(pilot.freq-810)<60)
      {
	double ratio=(808/pilot.freq);
	pilot.freq=808; pilotlength/=ratio; mspause/=ratio;
	bit0.freq*=ratio; bit1.freq*=ratio;
      }
   if (fabs(bit1.freq-1022)<=60)
      {
	bit0.freq=2*(bit1.freq=1022);
	raw=0;
      }
   else {
	  header.type=0x0e;
	  if (fabs(bit1.freq-1225)<=70) { bit0.freq=2*(bit1.freq=1225); }
	  else if (soft || fabs(bit1.freq-1300)<=50) { bit0.freq=2*(bit1.freq=1300); }
	     //else if (abs(bit1.freq-1400)<50) { bit0.freq=2*(bit1.freq=1400); SetTimings(); }
	       else if (slocktype || (!alk && fabs(bit1.freq-1480)<55)) { bit0.freq=2*(bit1.freq=1500); }
		    else if (alk || (!slocktype && fabs(bit1.freq-1550)<15)) { bit0.freq=2*(bit1.freq=1550); }
	}
   SetTimings();
   if (bytes==19)
      {
	byte count;
	dword savefilepos=filepos;
	ResetTempFile();
	if (GetData(&tempfile)==0)
	   {
	     header.type=GetData(&tempfile);
	     for (count=0; count<10; count++)
		 {
		   header.name[count]=GetData(&tempfile);
		   if (header.name[count]<' ') header.name[count]='*';
		 }
	     header.name[10]=0;
	     header.length=(byte)(GetData(&tempfile));
	     header.length+=(word)(256*GetData(&tempfile));
	     header.start=(byte)(GetData(&tempfile));
	     header.start+=(word)(256*GetData(&tempfile));
	     expectedlength=(header.length)+2;
	     if (header.type==0) nxtloadpos=header.start=23755;
	     else nxtloadpos=header.start;
	   }
	filepos=savefilepos;
      }
   else {
	  if (header.type>3) header.start=0;
	  if (header.type!=0xe) header.type=0xf;
	}

   PrintBlockInfo(header.start,bytes);
   if (pilot.freq==808 && syncx.freq==2450 && bit0.freq==2044 && bit1.freq==1022) WriteTZXNormalBlock(bytes);
   else WriteTZXTurboBlock(pilotlength,8,bytes);
   raw=0;
}

// Assembly:
subq $0x38, %rsp
movl 0x97ee(%rip), %eax      # 0x13208
incl %eax
movl %eax, 0x97e6(%rip)      # 0x13208
movb $0x1, 0x976d(%rip)      # 0x13196
movq $0x0, 0x1618c(%rip) # 0x1fbc0
callq 0x18e0
movb $0x1, 0x97a0(%rip)      # 0x131e0
movl $0x30, %edi
callq 0x4680
movl %eax, %eax
cvtsi2sd %rax, %xmm0
movsd %xmm0, 0x15cbf(%rip)    # 0x1f718
movsd 0x15cb7(%rip), %xmm0    # 0x1f718
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x9a71
jp 0x9a71
jmp 0xa18f
movb $0x0, 0x9768(%rip)      # 0x131e0
movsd 0x5fe8(%rip), %xmm0     # 0xfa68
movsd %xmm0, 0x15cb0(%rip)    # 0x1f738
callq 0x2d90
callq 0x1a10
movzbl 0x97c7(%rip), %edi      # 0x13260
movq 0x9728(%rip), %rsi      # 0x131c8
xorl %edx, %edx
callq 0x10b0
movl $0x0, 0x98af(%rip)      # 0x13360
movl $0x100, %edi            # imm = 0x100
callq 0x39e0
cmpb $0x0, 0x15bdf(%rip)     # 0x1f6a1
jne 0x9ac9
jmp 0xa18f
callq 0x3ec0
cmpb $0x0, 0x15bcc(%rip)     # 0x1f6a1
jne 0x9adc
jmp 0xa18f
jmp 0x9ade
cmpb $0x0, 0x15cb5(%rip)     # 0x1f79a
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x9ab1
cmpb $0x0, 0x15ca5(%rip)     # 0x1f79a
jne 0x9b70
cmpq $0x0, 0x15bb1(%rip)     # 0x1f6b0
je 0x9b70
movss 0x96c7(%rip), %xmm0     # 0x131d0
movss %xmm0, 0xc(%rsp)
movq 0x15b9a(%rip), %rcx     # 0x1f6b0
movq %rcx, %rax
addq %rax, %rax
movabsq $0x7fffffffffffffff, %rdx # imm = 0x7FFFFFFFFFFFFFFF
andq %rdx, %rcx
cvtsi2ss %rcx, %xmm0
addss %xmm0, %xmm0
cvtsi2ss %rax, %xmm1
movss %xmm1, 0x10(%rsp)
testq %rax, %rax
movss %xmm0, 0x14(%rsp)
js 0x9b54
movss 0x10(%rsp), %xmm0
movss %xmm0, 0x14(%rsp)
movss 0xc(%rsp), %xmm0
movss 0x14(%rsp), %xmm1
divss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, 0x15bc8(%rip)    # 0x1f738
callq 0x2d90
callq 0x18e0
leaq 0x6a5d(%rip), %rdi      # 0x105de
movb $0x0, %al
callq 0x1090
callq 0xa1a0
movsd 0x15bc3(%rip), %xmm0    # 0x1f758
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x9ba2
jp 0x9ba2
jmp 0x9bb5
movsd 0x15bce(%rip), %xmm0    # 0x1f778
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x9bba
jp 0x9bba
jmp 0xa18f
callq 0x1a10
movzbl 0x969a(%rip), %edi      # 0x13260
movq 0x95fb(%rip), %rsi      # 0x131c8
xorl %edx, %edx
callq 0x10b0
movl $0x0, 0x9782(%rip)      # 0x13360
xorps %xmm0, %xmm0
movsd %xmm0, 0x9617(%rip)     # 0x13200
movsd 0x15b77(%rip), %xmm0    # 0x1f768
movsd 0x15b8f(%rip), %xmm1    # 0x1f788
xorl %edi, %edi
callq 0x4d70
movq %rax, 0x30(%rsp)
cmpb $0x0, 0x15a95(%rip)     # 0x1f6a1
je 0x9c7a
callq 0x5d40
movq %rax, %rdx
shrq %rdx
movl %eax, %ecx
andl $0x1, %ecx
orq %rdx, %rcx
cvtsi2ss %rcx, %xmm0
addss %xmm0, %xmm0
cvtsi2ss %rax, %xmm1
movss %xmm1, 0x4(%rsp)
testq %rax, %rax
movss %xmm0, 0x8(%rsp)
js 0x9c4c
movss 0x4(%rsp), %xmm0
movss %xmm0, 0x8(%rsp)
movss 0x8(%rsp), %xmm0
divss 0x9576(%rip), %xmm0     # 0x131d0
movss 0x5ee2(%rip), %xmm1     # 0xfb44
mulss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
addsd 0x958e(%rip), %xmm0     # 0x13200
movsd %xmm0, 0x9586(%rip)     # 0x13200
movsd 0x15a96(%rip), %xmm1    # 0x1f718
movsd 0x5e3e(%rip), %xmm0     # 0xfac8
subsd %xmm0, %xmm1
movaps 0x5ecb(%rip), %xmm0     # 0xfb60
pand %xmm0, %xmm1
movsd 0x5e1f(%rip), %xmm0     # 0xfac0
ucomisd %xmm1, %xmm0
jbe 0x9d7d
movsd 0x15a65(%rip), %xmm1    # 0x1f718
movsd 0x5d2d(%rip), %xmm0     # 0xf9e8
divsd %xmm1, %xmm0
movsd %xmm0, 0x28(%rsp)
movabsq $0x4089400000000000, %rax # imm = 0x4089400000000000
movq %rax, 0x15a42(%rip)     # 0x1f718
movsd 0x28(%rsp), %xmm1
movaps 0x5e8d(%rip), %xmm2     # 0xfb70
movq 0x15ed5(%rip), %xmm0    # 0x1fbc0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
movapd 0x5e89(%rip), %xmm2     # 0xfb80
subpd %xmm2, %xmm0
movaps %xmm0, %xmm2
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm2, %xmm0
divsd %xmm1, %xmm0
movaps %xmm0, %xmm1
cvttsd2si %xmm1, %rax
movq %rax, %rdx
sarq $0x3f, %rdx
movsd 0x5d27(%rip), %xmm1     # 0xfa48
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rcx
andq %rdx, %rcx
orq %rcx, %rax
movq %rax, 0x15e89(%rip)     # 0x1fbc0
movsd 0x28(%rsp), %xmm1
movsd 0x94bb(%rip), %xmm0     # 0x13200
divsd %xmm1, %xmm0
movsd %xmm0, 0x94af(%rip)     # 0x13200
movsd 0x28(%rsp), %xmm0
mulsd 0x159f9(%rip), %xmm0    # 0x1f758
movsd %xmm0, 0x159f1(%rip)    # 0x1f758
movsd 0x28(%rsp), %xmm0
mulsd 0x15a03(%rip), %xmm0    # 0x1f778
movsd %xmm0, 0x159fb(%rip)    # 0x1f778
movsd 0x159f3(%rip), %xmm1    # 0x1f778
movsd 0x5ccb(%rip), %xmm0     # 0xfa58
subsd %xmm0, %xmm1
movaps 0x5dc8(%rip), %xmm0     # 0xfb60
pand %xmm0, %xmm1
movsd 0x5d1c(%rip), %xmm0     # 0xfac0
ucomisd %xmm1, %xmm0
jb 0x9dd6
movsd 0x5ca6(%rip), %xmm0     # 0xfa58
movsd %xmm0, 0x159be(%rip)    # 0x1f778
movsd 0x5c9e(%rip), %xmm0     # 0xfa60
movsd %xmm0, 0x1598e(%rip)    # 0x1f758
movb $0x0, 0x93c5(%rip)      # 0x13196
jmp 0x9f5b
movb $0xe, 0x15df3(%rip)     # 0x1fbd0
movsd 0x15993(%rip), %xmm1    # 0x1f778
movsd 0x5ceb(%rip), %xmm0     # 0xfad8
subsd %xmm0, %xmm1
movaps 0x5d68(%rip), %xmm0     # 0xfb60
pand %xmm0, %xmm1
movsd 0x5ccc(%rip), %xmm0     # 0xfad0
ucomisd %xmm1, %xmm0
jb 0x9e2f
movsd 0x5cc6(%rip), %xmm0     # 0xfad8
movsd %xmm0, 0x1595e(%rip)    # 0x1f778
movsd 0x5c46(%rip), %xmm0     # 0xfa68
movsd %xmm0, 0x1592e(%rip)    # 0x1f758
jmp 0x9f59
movzbl 0x935c(%rip), %eax      # 0x13192
cmpl $0x0, %eax
jne 0x9e68
movsd 0x15935(%rip), %xmm1    # 0x1f778
movsd 0x5c2d(%rip), %xmm0     # 0xfa78
subsd %xmm0, %xmm1
movaps 0x5d0a(%rip), %xmm0     # 0xfb60
pand %xmm0, %xmm1
movsd 0x5bc6(%rip), %xmm0     # 0xfa28
ucomisd %xmm1, %xmm0
jb 0x9e8d
movsd 0x5c08(%rip), %xmm0     # 0xfa78
movsd %xmm0, 0x15900(%rip)    # 0x1f778
movsd 0x5c00(%rip), %xmm0     # 0xfa80
movsd %xmm0, 0x158d0(%rip)    # 0x1f758
jmp 0x9f57
movzbl 0x9300(%rip), %eax      # 0x13194
cmpl $0x0, %eax
jne 0x9ecf
cmpb $0x0, 0x92f1(%rip)      # 0x13191
jne 0x9ef1
movsd 0x158ce(%rip), %xmm1    # 0x1f778
movsd 0x5c36(%rip), %xmm0     # 0xfae8
subsd %xmm0, %xmm1
movaps 0x5ca3(%rip), %xmm0     # 0xfb60
pand %xmm0, %xmm1
movsd 0x5c17(%rip), %xmm0     # 0xfae0
ucomisd %xmm1, %xmm0
jbe 0x9ef1
movsd 0x5c29(%rip), %xmm0     # 0xfb00
movsd %xmm0, 0x15899(%rip)    # 0x1f778
movsd 0x5c11(%rip), %xmm0     # 0xfaf8
movsd %xmm0, 0x15869(%rip)    # 0x1f758
jmp 0x9f55
movzbl 0x9299(%rip), %eax      # 0x13191
cmpl $0x0, %eax
jne 0x9f33
cmpb $0x0, 0x9290(%rip)      # 0x13194
jne 0x9f53
movsd 0x1586a(%rip), %xmm1    # 0x1f778
movsd 0x5b72(%rip), %xmm0     # 0xfa88
subsd %xmm0, %xmm1
movaps 0x5c3f(%rip), %xmm0     # 0xfb60
pand %xmm0, %xmm1
movsd 0x5bc3(%rip), %xmm0     # 0xfaf0
ucomisd %xmm1, %xmm0
jbe 0x9f53
movsd 0x5b4d(%rip), %xmm0     # 0xfa88
movsd %xmm0, 0x15835(%rip)    # 0x1f778
movsd 0x5b45(%rip), %xmm0     # 0xfa90
movsd %xmm0, 0x15805(%rip)    # 0x1f758
jmp 0x9f55
jmp 0x9f57
jmp 0x9f59
jmp 0x9f5b
callq 0x2d90
cmpq $0x13, 0x30(%rsp)
jne 0xa0c9
movq 0x9255(%rip), %rax      # 0x131c8
movq %rax, 0x18(%rsp)
callq 0x18a0
leaq 0x11514(%rip), %rdi     # 0x1b498
callq 0x2370
movzbl %al, %eax
cmpl $0x0, %eax
jne 0xa0bb
leaq 0x114fc(%rip), %rdi     # 0x1b498
callq 0x2370
movb %al, 0x15c29(%rip)      # 0x1fbd0
movb $0x0, 0x27(%rsp)
movzbl 0x27(%rsp), %eax
cmpl $0xa, %eax
jge 0xa00f
leaq 0x114db(%rip), %rdi     # 0x1b498
callq 0x2370
movb %al, %dl
movzbl 0x27(%rsp), %eax
movl %eax, %ecx
leaq 0x15bfe(%rip), %rax     # 0x1fbd0
movb %dl, 0x1(%rax,%rcx)
movzbl 0x27(%rsp), %eax
movl %eax, %ecx
leaq 0x15bec(%rip), %rax     # 0x1fbd0
movsbl 0x1(%rax,%rcx), %eax
cmpl $0x20, %eax
jge 0xa001
movzbl 0x27(%rsp), %eax
movl %eax, %ecx
leaq 0x15bd4(%rip), %rax     # 0x1fbd0
movb $0x2a, 0x1(%rax,%rcx)
jmp 0xa003
movb 0x27(%rsp), %al
addb $0x1, %al
movb %al, 0x27(%rsp)
jmp 0x9fac
movb $0x0, 0x15bc5(%rip)     # 0x1fbdb
leaq 0x1147b(%rip), %rdi     # 0x1b498
callq 0x2370
movzbl %al, %eax
movl %eax, 0x15bb1(%rip)     # 0x1fbdc
leaq 0x11466(%rip), %rdi     # 0x1b498
callq 0x2370
movzbl %al, %eax
shll $0x8, %eax
addl 0x15b99(%rip), %eax     # 0x1fbdc
movl %eax, 0x15b93(%rip)     # 0x1fbdc
leaq 0x11448(%rip), %rdi     # 0x1b498
callq 0x2370
movzbl %al, %eax
movl %eax, 0x15b82(%rip)     # 0x1fbe0
leaq 0x11433(%rip), %rdi     # 0x1b498
callq 0x2370
movzbl %al, %eax
shll $0x8, %eax
addl 0x15b6a(%rip), %eax     # 0x1fbe0
movl %eax, 0x15b64(%rip)     # 0x1fbe0
movl 0x15b5a(%rip), %eax     # 0x1fbdc
addl $0x2, %eax
movl %eax, 0x9169(%rip)      # 0x131f4
movzbl 0x15b3e(%rip), %eax     # 0x1fbd0
cmpl $0x0, %eax
jne 0xa0ad
movl $0x5ccb, 0x15b3f(%rip)  # imm = 0x5CCB
movl $0x5ccb, 0x9145(%rip)   # imm = 0x5CCB
jmp 0xa0b9
movl 0x15b2d(%rip), %eax     # 0x1fbe0
movl %eax, 0x9137(%rip)      # 0x131f0
jmp 0xa0bb
movq 0x18(%rsp), %rax
movq %rax, 0x9101(%rip)      # 0x131c8
jmp 0xa0f4
movzbl 0x15b00(%rip), %eax     # 0x1fbd0
cmpl $0x3, %eax
jle 0xa0df
movl $0x0, 0x15b01(%rip)     # 0x1fbe0
movzbl 0x15aea(%rip), %eax     # 0x1fbd0
cmpl $0xe, %eax
je 0xa0f2
movb $0xf, 0x15ade(%rip)     # 0x1fbd0
jmp 0xa0f4
movl 0x15ae6(%rip), %edi     # 0x1fbe0
movq 0x30(%rsp), %rsi
callq 0x68b0
movsd 0x1560c(%rip), %xmm0    # 0x1f718
movsd 0x58d4(%rip), %xmm1     # 0xf9e8
ucomisd %xmm1, %xmm0
jne 0xa172
jp 0xa172
movsd 0x15614(%rip), %xmm0    # 0x1f738
movsd 0x593c(%rip), %xmm1     # 0xfa68
ucomisd %xmm1, %xmm0
jne 0xa172
jp 0xa172
movsd 0x1561c(%rip), %xmm0    # 0x1f758
movsd 0x591c(%rip), %xmm1     # 0xfa60
ucomisd %xmm1, %xmm0
jne 0xa172
jp 0xa172
movsd 0x15624(%rip), %xmm0    # 0x1f778
movsd 0x58fc(%rip), %xmm1     # 0xfa58
ucomisd %xmm1, %xmm0
jne 0xa172
jp 0xa172
movq 0x30(%rsp), %rax
movl %eax, %edi
callq 0xa7a0
jmp 0xa188
movq 0x15a47(%rip), %rdi     # 0x1fbc0
movq 0x30(%rsp), %rdx
movl $0x8, %esi
callq 0x7260
movb $0x0, 0x9007(%rip)      # 0x13196
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)