// File: /workspace/github_c_makefile_star2_O0/mishun[P]plantri/fullgen.c
// Function: bauchbinde_reko
int bauchbinde_reko(PLANMAP map,KNOTENTYP *code,KANTE *anfangskante)
{
int i,j,k, patchknz1, patchknz2, test, test2, test3, test4, returnwert;
KANTE *run;
KNOTENTYP code1[8], code2[8], spiegelcode1[8], spiegelcode2[8];
KANTE *ministart1[7], *ministart2[7], *spiegelministart1[7], *spiegelministart2[7];
KNOTENTYP *ucode, *lcode, *uscode, *lscode;
KANTE **ustart, **lstart, **us_start, **ls_start;
BOOL gleich, ende;
BOOL j_gleich1, j_gleich2, j_gleich3, j_gleich4;                 /* TH */
FLAECHENTYP c3, c11;


c3=code[3]; c11=code[11];
code[3]=code[11]=0;

for (i=1; i<=map[0][0].name; i++) for (j=0;j<3; j++) { map[i][j].dummy=0;
						       map[i][j].mininame=map[i][j].name; }

for (i=1, run=anfangskante->invers->prev; i<code[0]; i+=2)
  { run->prev->mininame=aussen;
    run=run->invers->next->invers->prev; }

reko_bb_code(map, code1, spiegelcode1, code[0], anfangskante->invers->next, ministart1, spiegelministart1, 
	     &patchknz1);


for (i=1, run=anfangskante->invers->prev; i<code[0]; i+=2)
  { run->prev->mininame=run->prev->name;
    run->invers->prev->mininame=aussen;
    run=run->invers->next->invers->prev; }

reko_bb_code(map, code2, spiegelcode2, code[0], anfangskante->next, ministart2, spiegelministart2, 
	     &patchknz2);


if (patchknz2>patchknz1) { ucode=code2; uscode=spiegelcode2; lcode=code1; lscode=spiegelcode1; 
			   ustart=ministart2; lstart=ministart1; us_start=spiegelministart2;
			   ls_start=spiegelministart1; gleich=0; }
   else if (patchknz2<patchknz1) { ucode=code1; uscode=spiegelcode1; lcode=code2; lscode=spiegelcode2; 
				   ustart=ministart1; lstart=ministart2; us_start=spiegelministart1;
				   ls_start=spiegelministart2; gleich=0; }
        else /* d.h. beide patchknotenzahlen gleich */
	  { test=codecmp_kn(code1,code2,8);
	    if (test>0) { ucode=code1; lcode=code2; ustart=ministart1; lstart=ministart2; gleich=0; }
	      else { if (test<0) { ucode=code2; lcode=code1; ustart=ministart2; lstart=ministart1; gleich=0; }
		     else { ucode=code1; lcode=code2; ustart=ministart1; lstart=ministart2; /*vorerst*/ gleich=1;
			  }
		   }
	    test=codecmp_kn(spiegelcode1,spiegelcode2,8);
	    if (test>0) { uscode=spiegelcode1; lscode=spiegelcode2; us_start=spiegelministart1; 
			  ls_start=spiegelministart2;  }
	      else { if (test<0) { uscode=spiegelcode2; lscode=spiegelcode1; us_start=spiegelministart2; 
				   ls_start=spiegelministart1;  }
		     else { uscode=spiegelcode1; lscode=spiegelcode2; us_start=spiegelministart1; /*vorerst*/ 
			    ls_start=spiegelministart2; }
		   }
	  }

j_gleich1 = j_gleich2 = 0;       /* TH */
if ((test=codecmp_kn(lcode,code+2,8)) < 0) {code[3]=c3; code[11]=c11; return(0);}
   else if (test==0)
         { if ((test2=codecmp_kn(ucode,code+10,8)) < 0) {code[3]=c3; code[11]=c11; return(0);}
	   else if (test2==0) /* d.h. die verschiebung muss entscheiden */
	     { for (i=0; ustart[i]!=nil; i++)
		 { run=ustart[i]->next->invers->prev;
		   j=ende=0;
		   while (!ende)
		     { 
		       for (k=0; lstart[k] != nil; k++) if (lstart[k]==run) ende=1;
		       if (!ende) { j++; run=run->prev->invers->prev->invers->prev; }
		     }
		   if (j<code[18])  {code[3]=c3; code[11]=c11; return(0);}
		   if (j==code[18]) {j_gleich1 = 1;}            /* TH */
                 }
	       if (gleich) {
		 for (i=0; lstart[i]!=nil; i++)
		   { run=lstart[i]->next->invers->prev;
		     j=ende=0;
		     while (!ende)
		       {
		         for (k=0; ustart[k] != nil; k++) if (ustart[k]==run) ende=1;
		         if (!ende) { j++; run=run->prev->invers->prev->invers->prev; }
		       }
		     if (j<code[18]) {code[3]=c3; code[11]=c11; return(0);}
                     if (j==code[18]) {j_gleich2 = 1;}     /* TH */
                   }
               }
               else {j_gleich2 = 1;}     /* TH */
	     } /* ende test2==0 */
	 } /* ende test==0 */


/* nun fuer die gespiegelte version: */

j_gleich3 = j_gleich4 = 0;          /* TH */
if ((test3=codecmp_kn(lscode,code+2,8)) < 0) { code[3]=c3; code[11]=c11; return(0); }
   else if (test3==0)
         { if ((test4=codecmp_kn(uscode,code+10,8)) < 0) {code[3]=c3; code[11]=c11; return(0);}
	   else if (test4==0) /* d.h. die verschiebung muss entscheiden */
	     { 
	       for (i=0; us_start[i]!=nil; i++)
		 { run=us_start[i]->prev->invers->next;
		   j=ende=0;
		   while (!ende)
		     { for (k=0; ls_start[k] != nil; k++) if (ls_start[k]==run) ende=1;
		       if (!ende) { j++; run=run->next->invers->next->invers->next; }
		     }
		   if (j<code[18]) {code[3]=c3; code[11]=c11; return(0);}
                   if (j==code[18]) {j_gleich3 = 1;}         /* TH */
		 }
	       if (gleich) {
		 for (i=0; ls_start[i]!=nil; i++)
		 { run=ls_start[i]->prev->invers->next;
		   j=ende=0;
		   while (!ende)
		     { for (k=0; us_start[k] != nil; k++) if (us_start[k]==run) ende=1;
		       if (!ende) { j++; run=run->next->invers->next->invers->next; }
		     }
		   if (j<code[18]) {code[3]=c3; code[11]=c11; return(0);}
                   if (j==code[18]) {j_gleich4 = 1;}
		 }
               }
               else {j_gleich4 = 1;}      /* TH */
	     } /* ende test2==0 */
	 } /* ende test==0 */

code[3]=c3; code[11]=c11;

/* TH: Auswertung */
returnwert = 1;
if (test==0 && test2==0 && j_gleich1 && j_gleich2) {returnwert=2;}
if (test3==0 && test4==0 && j_gleich3 && j_gleich4) {
  if (returnwert==1) {returnwert=4;} else {returnwert=6;}
}
return(returnwert);

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1f0, %rsp            # imm = 0x1F0
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rax
movw 0x6(%rax), %ax
movb %al, -0x1d7(%rbp)
movq -0x18(%rbp), %rax
movw 0x16(%rax), %ax
movb %al, -0x1d8(%rbp)
movq -0x18(%rbp), %rax
movw $0x0, 0x16(%rax)
movq -0x18(%rbp), %rax
movw $0x0, 0x6(%rax)
movl $0x1, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x10(%rbp), %rcx
movzwl 0x2(%rcx), %ecx
cmpl %ecx, %eax
jg 0x9480
movl $0x0, -0x28(%rbp)
cmpl $0x3, -0x28(%rbp)
jge 0x9470
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
imulq $0x90, %rcx, %rcx
addq %rcx, %rax
movslq -0x28(%rbp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq $0x0, 0x8(%rax)
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
imulq $0x90, %rcx, %rcx
addq %rcx, %rax
movslq -0x28(%rbp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movw 0x2(%rax), %cx
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rdx
imulq $0x90, %rdx, %rdx
addq %rdx, %rax
movslq -0x28(%rbp), %rdx
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movw %cx, 0x14(%rax)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x93f8
jmp 0x9472
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x93de
movl $0x1, -0x24(%rbp)
movq -0x20(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x50(%rbp)
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
movzwl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x94d6
movq -0x50(%rbp), %rax
movq 0x18(%rax), %rax
movw $0x246, 0x14(%rax)      # imm = 0x246
movq -0x50(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movq 0x28(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x50(%rbp)
movl -0x24(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x24(%rbp)
jmp 0x9497
movq -0x10(%rbp), %rdi
leaq -0x60(%rbp), %rsi
leaq -0x80(%rbp), %rdx
movq -0x18(%rbp), %rax
movzwl (%rax), %ecx
movq -0x20(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %r8
leaq -0xd0(%rbp), %r9
leaq -0x150(%rbp), %r10
leaq -0x30(%rbp), %rax
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x87b0
movl $0x1, -0x24(%rbp)
movq -0x20(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x50(%rbp)
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
movzwl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x9587
movq -0x50(%rbp), %rax
movq 0x18(%rax), %rax
movw 0x2(%rax), %cx
movq -0x50(%rbp), %rax
movq 0x18(%rax), %rax
movw %cx, 0x14(%rax)
movq -0x50(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x18(%rax), %rax
movw $0x246, 0x14(%rax)      # imm = 0x246
movq -0x50(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movq 0x28(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x50(%rbp)
movl -0x24(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x24(%rbp)
jmp 0x952c
movq -0x10(%rbp), %rdi
leaq -0x70(%rbp), %rsi
leaq -0x90(%rbp), %rdx
movq -0x18(%rbp), %rax
movzwl (%rax), %ecx
movq -0x20(%rbp), %rax
movq 0x20(%rax), %r8
leaq -0x110(%rbp), %r9
leaq -0x190(%rbp), %r10
leaq -0x34(%rbp), %rax
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x87b0
movl -0x34(%rbp), %eax
cmpl -0x30(%rbp), %eax
jle 0x9640
leaq -0x70(%rbp), %rax
movq %rax, -0x198(%rbp)
leaq -0x90(%rbp), %rax
movq %rax, -0x1a8(%rbp)
leaq -0x60(%rbp), %rax
movq %rax, -0x1a0(%rbp)
leaq -0x80(%rbp), %rax
movq %rax, -0x1b0(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x1b8(%rbp)
leaq -0xd0(%rbp), %rax
movq %rax, -0x1c0(%rbp)
leaq -0x190(%rbp), %rax
movq %rax, -0x1c8(%rbp)
leaq -0x150(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movb $0x0, -0x1d1(%rbp)
jmp 0x985a
movl -0x34(%rbp), %eax
cmpl -0x30(%rbp), %eax
jge 0x96bb
leaq -0x60(%rbp), %rax
movq %rax, -0x198(%rbp)
leaq -0x80(%rbp), %rax
movq %rax, -0x1a8(%rbp)
leaq -0x70(%rbp), %rax
movq %rax, -0x1a0(%rbp)
leaq -0x90(%rbp), %rax
movq %rax, -0x1b0(%rbp)
leaq -0xd0(%rbp), %rax
movq %rax, -0x1b8(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x1c0(%rbp)
leaq -0x150(%rbp), %rax
movq %rax, -0x1c8(%rbp)
leaq -0x190(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movb $0x0, -0x1d1(%rbp)
jmp 0x9858
leaq -0x60(%rbp), %rdi
leaq -0x70(%rbp), %rsi
movl $0x8, %edx
callq 0x2f30
movl %eax, -0x38(%rbp)
cmpl $0x0, -0x38(%rbp)
jle 0x9711
leaq -0x60(%rbp), %rax
movq %rax, -0x198(%rbp)
leaq -0x70(%rbp), %rax
movq %rax, -0x1a0(%rbp)
leaq -0xd0(%rbp), %rax
movq %rax, -0x1b8(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movb $0x0, -0x1d1(%rbp)
jmp 0x978d
cmpl $0x0, -0x38(%rbp)
jge 0x9752
leaq -0x70(%rbp), %rax
movq %rax, -0x198(%rbp)
leaq -0x60(%rbp), %rax
movq %rax, -0x1a0(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x1b8(%rbp)
leaq -0xd0(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movb $0x0, -0x1d1(%rbp)
jmp 0x978b
leaq -0x60(%rbp), %rax
movq %rax, -0x198(%rbp)
leaq -0x70(%rbp), %rax
movq %rax, -0x1a0(%rbp)
leaq -0xd0(%rbp), %rax
movq %rax, -0x1b8(%rbp)
leaq -0x110(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movb $0x1, -0x1d1(%rbp)
jmp 0x978d
leaq -0x80(%rbp), %rdi
leaq -0x90(%rbp), %rsi
movl $0x8, %edx
callq 0x2f30
movl %eax, -0x38(%rbp)
cmpl $0x0, -0x38(%rbp)
jle 0x97e2
leaq -0x80(%rbp), %rax
movq %rax, -0x1a8(%rbp)
leaq -0x90(%rbp), %rax
movq %rax, -0x1b0(%rbp)
leaq -0x150(%rbp), %rax
movq %rax, -0x1c8(%rbp)
leaq -0x190(%rbp), %rax
movq %rax, -0x1d0(%rbp)
jmp 0x9856
cmpl $0x0, -0x38(%rbp)
jge 0x981f
leaq -0x90(%rbp), %rax
movq %rax, -0x1a8(%rbp)
leaq -0x80(%rbp), %rax
movq %rax, -0x1b0(%rbp)
leaq -0x190(%rbp), %rax
movq %rax, -0x1c8(%rbp)
leaq -0x150(%rbp), %rax
movq %rax, -0x1d0(%rbp)
jmp 0x9854
leaq -0x80(%rbp), %rax
movq %rax, -0x1a8(%rbp)
leaq -0x90(%rbp), %rax
movq %rax, -0x1b0(%rbp)
leaq -0x150(%rbp), %rax
movq %rax, -0x1c8(%rbp)
leaq -0x190(%rbp), %rax
movq %rax, -0x1d0(%rbp)
jmp 0x9856
jmp 0x9858
jmp 0x985a
movb $0x0, -0x1d4(%rbp)
movb $0x0, -0x1d3(%rbp)
movq -0x1a0(%rbp), %rdi
movq -0x18(%rbp), %rsi
addq $0x4, %rsi
movl $0x8, %edx
callq 0x2f30
movl %eax, -0x38(%rbp)
cmpl $0x0, %eax
jge 0x98b9
movzbl -0x1d7(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x6(%rax)
movzbl -0x1d8(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x16(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x9f8e
cmpl $0x0, -0x38(%rbp)
jne 0x9ba6
movq -0x198(%rbp), %rdi
movq -0x18(%rbp), %rsi
addq $0x14, %rsi
movl $0x8, %edx
callq 0x2f30
movl %eax, -0x3c(%rbp)
cmpl $0x0, %eax
jge 0x9914
movzbl -0x1d7(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x6(%rax)
movzbl -0x1d8(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x16(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x9f8e
cmpl $0x0, -0x3c(%rbp)
jne 0x9ba2
movl $0x0, -0x24(%rbp)
movq -0x1b8(%rbp), %rax
movslq -0x24(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x9a54
movq -0x1b8(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rax
movq 0x28(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x50(%rbp)
movb $0x0, -0x1d2(%rbp)
movl $0x0, -0x28(%rbp)
cmpb $0x0, -0x1d2(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x997a
jmp 0x99ef
movl $0x0, -0x2c(%rbp)
movq -0x1c0(%rbp), %rax
movslq -0x2c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x99bc
movq -0x1c0(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpq -0x50(%rbp), %rax
jne 0x99af
movb $0x1, -0x1d2(%rbp)
jmp 0x99b1
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x9981
cmpb $0x0, -0x1d2(%rbp)
jne 0x99ea
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
movq -0x50(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x28(%rax), %rax
movq 0x18(%rax), %rax
movq 0x28(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x50(%rbp)
jmp 0x9968
movl -0x28(%rbp), %eax
movq -0x18(%rbp), %rcx
movzwl 0x24(%rcx), %ecx
cmpl %ecx, %eax
jge 0x9a2e
movzbl -0x1d7(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x6(%rax)
movzbl -0x1d8(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x16(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x9f8e
movl -0x28(%rbp), %eax
movq -0x18(%rbp), %rcx
movzwl 0x24(%rcx), %ecx
cmpl %ecx, %eax
jne 0x9a44
movb $0x1, -0x1d3(%rbp)
jmp 0x9a46
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x9925
cmpb $0x0, -0x1d1(%rbp)
je 0x9b99
movl $0x0, -0x24(%rbp)
movq -0x1c0(%rbp), %rax
movslq -0x24(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x9b97
movq -0x1c0(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rax
movq 0x28(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x50(%rbp)
movb $0x0, -0x1d2(%rbp)
movl $0x0, -0x28(%rbp)
cmpb $0x0, -0x1d2(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x9abd
jmp 0x9b32
movl $0x0, -0x2c(%rbp)
movq -0x1b8(%rbp), %rax
movslq -0x2c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x9aff
movq -0x1b8(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpq -0x50(%rbp), %rax
jne 0x9af2
movb $0x1, -0x1d2(%rbp)
jmp 0x9af4
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x9ac4
cmpb $0x0, -0x1d2(%rbp)
jne 0x9b2d
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
movq -0x50(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x28(%rax), %rax
movq 0x18(%rax), %rax
movq 0x28(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x50(%rbp)
jmp 0x9aab
movl -0x28(%rbp), %eax
movq -0x18(%rbp), %rcx
movzwl 0x24(%rcx), %ecx
cmpl %ecx, %eax
jge 0x9b71
movzbl -0x1d7(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x6(%rax)
movzbl -0x1d8(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x16(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x9f8e
movl -0x28(%rbp), %eax
movq -0x18(%rbp), %rcx
movzwl 0x24(%rcx), %ecx
cmpl %ecx, %eax
jne 0x9b87
movb $0x1, -0x1d4(%rbp)
jmp 0x9b89
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x9a68
jmp 0x9ba0
movb $0x1, -0x1d4(%rbp)
jmp 0x9ba2
jmp 0x9ba4
jmp 0x9ba6
jmp 0x9ba8
movb $0x0, -0x1d6(%rbp)
movb $0x0, -0x1d5(%rbp)
movq -0x1b0(%rbp), %rdi
movq -0x18(%rbp), %rsi
addq $0x4, %rsi
movl $0x8, %edx
callq 0x2f30
movl %eax, -0x40(%rbp)
cmpl $0x0, %eax
jge 0x9c07
movzbl -0x1d7(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x6(%rax)
movzbl -0x1d8(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x16(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x9f8e
cmpl $0x0, -0x40(%rbp)
jne 0x9ef4
movq -0x1a8(%rbp), %rdi
movq -0x18(%rbp), %rsi
addq $0x14, %rsi
movl $0x8, %edx
callq 0x2f30
movl %eax, -0x44(%rbp)
cmpl $0x0, %eax
jge 0x9c62
movzbl -0x1d7(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x6(%rax)
movzbl -0x1d8(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x16(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x9f8e
cmpl $0x0, -0x44(%rbp)
jne 0x9ef0
movl $0x0, -0x24(%rbp)
movq -0x1c8(%rbp), %rax
movslq -0x24(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x9da2
movq -0x1c8(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x18(%rax), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movq %rax, -0x50(%rbp)
movb $0x0, -0x1d2(%rbp)
movl $0x0, -0x28(%rbp)
cmpb $0x0, -0x1d2(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x9cc8
jmp 0x9d3d
movl $0x0, -0x2c(%rbp)
movq -0x1d0(%rbp), %rax
movslq -0x2c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x9d0a
movq -0x1d0(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpq -0x50(%rbp), %rax
jne 0x9cfd
movb $0x1, -0x1d2(%rbp)
jmp 0x9cff
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x9ccf
cmpb $0x0, -0x1d2(%rbp)
jne 0x9d38
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
movq -0x50(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movq %rax, -0x50(%rbp)
jmp 0x9cb6
movl -0x28(%rbp), %eax
movq -0x18(%rbp), %rcx
movzwl 0x24(%rcx), %ecx
cmpl %ecx, %eax
jge 0x9d7c
movzbl -0x1d7(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x6(%rax)
movzbl -0x1d8(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x16(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x9f8e
movl -0x28(%rbp), %eax
movq -0x18(%rbp), %rcx
movzwl 0x24(%rcx), %ecx
cmpl %ecx, %eax
jne 0x9d92
movb $0x1, -0x1d5(%rbp)
jmp 0x9d94
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x9c73
cmpb $0x0, -0x1d1(%rbp)
je 0x9ee7
movl $0x0, -0x24(%rbp)
movq -0x1d0(%rbp), %rax
movslq -0x24(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x9ee5
movq -0x1d0(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x18(%rax), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movq %rax, -0x50(%rbp)
movb $0x0, -0x1d2(%rbp)
movl $0x0, -0x28(%rbp)
cmpb $0x0, -0x1d2(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x9e0b
jmp 0x9e80
movl $0x0, -0x2c(%rbp)
movq -0x1c8(%rbp), %rax
movslq -0x2c(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x9e4d
movq -0x1c8(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpq -0x50(%rbp), %rax
jne 0x9e40
movb $0x1, -0x1d2(%rbp)
jmp 0x9e42
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x9e12
cmpb $0x0, -0x1d2(%rbp)
jne 0x9e7b
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
movq -0x50(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movq %rax, -0x50(%rbp)
jmp 0x9df9
movl -0x28(%rbp), %eax
movq -0x18(%rbp), %rcx
movzwl 0x24(%rcx), %ecx
cmpl %ecx, %eax
jge 0x9ebf
movzbl -0x1d7(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x6(%rax)
movzbl -0x1d8(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x16(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x9f8e
movl -0x28(%rbp), %eax
movq -0x18(%rbp), %rcx
movzwl 0x24(%rcx), %ecx
cmpl %ecx, %eax
jne 0x9ed5
movb $0x1, -0x1d6(%rbp)
jmp 0x9ed7
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x9db6
jmp 0x9eee
movb $0x1, -0x1d6(%rbp)
jmp 0x9ef0
jmp 0x9ef2
jmp 0x9ef4
jmp 0x9ef6
movzbl -0x1d7(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x6(%rax)
movzbl -0x1d8(%rbp), %eax
movw %ax, %cx
movq -0x18(%rbp), %rax
movw %cx, 0x16(%rax)
movl $0x1, -0x48(%rbp)
cmpl $0x0, -0x38(%rbp)
jne 0x9f4c
cmpl $0x0, -0x3c(%rbp)
jne 0x9f4c
movsbl -0x1d3(%rbp), %eax
cmpl $0x0, %eax
je 0x9f4c
movsbl -0x1d4(%rbp), %eax
cmpl $0x0, %eax
je 0x9f4c
movl $0x2, -0x48(%rbp)
cmpl $0x0, -0x40(%rbp)
jne 0x9f88
cmpl $0x0, -0x44(%rbp)
jne 0x9f88
movsbl -0x1d5(%rbp), %eax
cmpl $0x0, %eax
je 0x9f88
movsbl -0x1d6(%rbp), %eax
cmpl $0x0, %eax
je 0x9f88
cmpl $0x1, -0x48(%rbp)
jne 0x9f7f
movl $0x4, -0x48(%rbp)
jmp 0x9f86
movl $0x6, -0x48(%rbp)
jmp 0x9f88
movl -0x48(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbp
retq
nopw (%rax,%rax)