// File: /workspace/github_c_makefile_star2_O0/mishun[P]plantri/fullgen.c
// Function: baue_polygon
void baue_polygon(int n, PLANMAP map, KANTE **marke )
{
int j;

if (n<3) { fprintf(stderr,"Error, no 2-gons allowed !\n"); return; }

/* sicherheitshalber erstmal loeschen und initialisieren */

init_map(map);

/* Immer: erster Eintrag zurueck, 2. nach aussen, dritter vor */

map[1][0].name=n;   map[1][1].name=aussen;   map[1][2].name=2;
map[1][0].invers=map[n]+2; map[1][1].invers=nil; map[1][2].invers=map[2];

(*marke)=map[1]+1;

for (j=2; j<n; j++)
{
map[j][0].name=j-1;   map[j][1].name=aussen;   map[j][2].name=j+1;
map[j][0].invers=map[j-1]+2; map[j][1].invers=nil; map[j][2].invers=map[j+1];
}

map[n][0].name=n-1;   map[n][1].name=aussen;   map[n][2].name=1;
map[n][0].invers=map[n-1]+2; map[n][1].invers=nil; map[n][2].invers=map[1];

map[0][0].name=n;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpl $0x3, -0x4(%rbp)
jge 0x4146
movq 0x17ec8(%rip), %rax     # 0x1bff8
movq (%rax), %rdi
leaq 0x14422(%rip), %rsi     # 0x1855c
movb $0x0, %al
callq 0x1080
jmp 0x4391
movq -0x10(%rbp), %rdi
callq 0x3f40
movl -0x4(%rbp), %eax
movw %ax, %cx
movq -0x10(%rbp), %rax
movw %cx, 0x92(%rax)
movq -0x10(%rbp), %rax
movw $0x246, 0xc2(%rax)      # imm = 0x246
movq -0x10(%rbp), %rax
movw $0x2, 0xf2(%rax)
movq -0x10(%rbp), %rcx
movslq -0x4(%rbp), %rax
imulq $0x90, %rax, %rax
addq %rax, %rcx
addq $0x60, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0xb8(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0xe8(%rax)
movq -0x10(%rbp), %rcx
addq $0x120, %rcx            # imm = 0x120
movq -0x10(%rbp), %rax
movq %rcx, 0x118(%rax)
movq -0x10(%rbp), %rcx
addq $0x90, %rcx
addq $0x30, %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movl $0x2, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x4(%rbp), %eax
jge 0x42c6
movl -0x1c(%rbp), %eax
subl $0x1, %eax
movw %ax, %cx
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rdx
imulq $0x90, %rdx, %rdx
addq %rdx, %rax
movw %cx, 0x2(%rax)
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
imulq $0x90, %rcx, %rcx
addq %rcx, %rax
movw $0x246, 0x32(%rax)      # imm = 0x246
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movw %ax, %cx
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rdx
imulq $0x90, %rdx, %rdx
addq %rdx, %rax
movw %cx, 0x62(%rax)
movq -0x10(%rbp), %rcx
movl -0x1c(%rbp), %eax
subl $0x1, %eax
cltq
imulq $0x90, %rax, %rax
addq %rax, %rcx
addq $0x60, %rcx
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rdx
imulq $0x90, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x28(%rax)
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
imulq $0x90, %rcx, %rcx
addq %rcx, %rax
movq $0x0, 0x58(%rax)
movq -0x10(%rbp), %rcx
movl -0x1c(%rbp), %eax
addl $0x1, %eax
cltq
imulq $0x90, %rax, %rax
addq %rax, %rcx
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rdx
imulq $0x90, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x88(%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x41dd
movl -0x4(%rbp), %eax
subl $0x1, %eax
movw %ax, %cx
movq -0x10(%rbp), %rax
movslq -0x4(%rbp), %rdx
imulq $0x90, %rdx, %rdx
addq %rdx, %rax
movw %cx, 0x2(%rax)
movq -0x10(%rbp), %rax
movslq -0x4(%rbp), %rcx
imulq $0x90, %rcx, %rcx
addq %rcx, %rax
movw $0x246, 0x32(%rax)      # imm = 0x246
movq -0x10(%rbp), %rax
movslq -0x4(%rbp), %rcx
imulq $0x90, %rcx, %rcx
addq %rcx, %rax
movw $0x1, 0x62(%rax)
movq -0x10(%rbp), %rcx
movl -0x4(%rbp), %eax
subl $0x1, %eax
cltq
imulq $0x90, %rax, %rax
addq %rax, %rcx
addq $0x60, %rcx
movq -0x10(%rbp), %rax
movslq -0x4(%rbp), %rdx
imulq $0x90, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x28(%rax)
movq -0x10(%rbp), %rax
movslq -0x4(%rbp), %rcx
imulq $0x90, %rcx, %rcx
addq %rcx, %rax
movq $0x0, 0x58(%rax)
movq -0x10(%rbp), %rcx
addq $0x90, %rcx
movq -0x10(%rbp), %rax
movslq -0x4(%rbp), %rdx
imulq $0x90, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x88(%rax)
movl -0x4(%rbp), %eax
movw %ax, %cx
movq -0x10(%rbp), %rax
movw %cx, 0x2(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)