// File: /workspace/github_c_makefile_star2_O0/mishun[P]plantri/fullgen.c
// Function: check_mark_und_schreibe
void check_mark_und_schreibe(PLANMAP map, KANTE *first, int laenge, int rest_sechsecke)
{


SEQUENZ localsq;
int sechsecke;
FLAECHENTYP code[8];

if (!do_bauchbinde) return;
if (IPR && (!is_ipr))  return; 

localsq.laenge=0; localsq.sequenz[0]=laenge;
localsq.kanten[0]=first;

sechsecke=((map[0][0].name)-10-laenge)/2;
               /* leicht aus Euler Formel */

if (sechsecke+rest_sechsecke != max_sechsecke) 
  { fprintf(stderr,"Error in 6-gon calculation (check_mark_und_schreibe) !\n");
						 exit(18); }

if (!codiere(map, code, first, 8, laenge)) return; /* nicht kanonisch */
if (code[0] !=0) { fprintf(stderr," there was a hexagon ring.......\n"); exit(19); }
put_in_bb_liste(sechsecke, localsq, code);

bblmark[laenge]=1;

/* neue ringe hinzufuegen */
while (rest_sechsecke >= laenge)
  { 
    rest_sechsecke -= laenge;
    sechsecke+= laenge;
    (code[0])++;
    put_in_bb_liste(sechsecke, localsq, code);
  }

return;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl %ecx, -0x18(%rbp)
cmpb $0x0, 0x213cc(%rip)     # 0x278bc
jne 0x64f7
jmp 0x6683
movsbl 0x15c83(%rip), %eax     # 0x1c181
cmpl $0x0, %eax
je 0x6511
cmpb $0x0, 0x15c2a(%rip)     # 0x1c134
jne 0x6511
jmp 0x6683
movl $0x0, -0x78(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x74(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x8(%rbp), %rax
movzwl 0x2(%rax), %eax
subl $0xa, %eax
subl -0x14(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, -0x7c(%rbp)
movl -0x7c(%rbp), %eax
addl -0x18(%rbp), %eax
cmpl 0x2136d(%rip), %eax     # 0x278b8
je 0x656f
movq 0x15aa4(%rip), %rax     # 0x1bff8
movq (%rax), %rdi
leaq 0x121d2(%rip), %rsi     # 0x18730
movb $0x0, %al
callq 0x1080
movl $0x12, %edi
callq 0x1120
movq -0x8(%rbp), %rdi
leaq -0x84(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x14(%rbp), %r8d
movl $0x8, %ecx
callq 0x5690
cmpl $0x0, %eax
jne 0x6596
jmp 0x6683
movzbl -0x84(%rbp), %eax
cmpl $0x0, %eax
je 0x65c4
movq 0x15a4f(%rip), %rax     # 0x1bff8
movq (%rax), %rdi
leaq 0x121b5(%rip), %rsi     # 0x18768
movb $0x0, %al
callq 0x1080
movl $0x13, %edi
callq 0x1120
movl -0x7c(%rbp), %edi
leaq -0x84(%rbp), %rsi
movups -0x28(%rbp), %xmm0
movq %rsp, %rax
movups %xmm0, 0x50(%rax)
movups -0x38(%rbp), %xmm0
movups %xmm0, 0x40(%rax)
movups -0x78(%rbp), %xmm0
movups -0x68(%rbp), %xmm1
movups -0x58(%rbp), %xmm2
movups -0x48(%rbp), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x6080
movslq -0x14(%rbp), %rcx
leaq 0x212b0(%rip), %rax     # 0x278c0
movb $0x1, (%rax,%rcx)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jl 0x6681
movl -0x14(%rbp), %ecx
movl -0x18(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x18(%rbp)
movl -0x14(%rbp), %eax
addl -0x7c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movb -0x84(%rbp), %al
addb $0x1, %al
movb %al, -0x84(%rbp)
movl -0x7c(%rbp), %edi
leaq -0x84(%rbp), %rsi
movups -0x28(%rbp), %xmm0
movq %rsp, %rax
movups %xmm0, 0x50(%rax)
movups -0x38(%rbp), %xmm0
movups %xmm0, 0x40(%rax)
movups -0x78(%rbp), %xmm0
movups -0x68(%rbp), %xmm1
movups -0x58(%rbp), %xmm2
movups -0x48(%rbp), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x6080
jmp 0x6614
jmp 0x6683
addq $0xf0, %rsp
popq %rbp
retq
nopl (%rax)