// File: /workspace/github_c_makefile_star2_O0/j4r0g[P]Projet_Labyrinthe/Boite_outils/Outil.c
// Function: OctetGereR
void OctetGereR(char *sMalloc){
	//prend note de l'allocation de sMalloc sur l'espace courant et libère le demi-espace le plus ancien si cette allocation sature l'espace courant
	int nAlloc;
	char *sAlloc;
	if (zuOctetGereR==0){
		yOctetGereR0[nOctetGereR0++]=(long) sMalloc;
		if (nOctetGereR0>=kuOctetGererMaX){
			Confirmer("Changement de demi-espace de chaînes de caractères (0 vers 1)");//mettre en commentaire après mise au point
			for (nAlloc=0; nAlloc<=kuOctetGererMaX; nAlloc++) {
				sAlloc=(char *) yOctetGereR1[nAlloc];
				if (sAlloc!=0)
					free(sAlloc);
				yOctetGereR1[nAlloc]=0;
			}
			zuOctetGereR=1-zuOctetGereR;//change de demi-espace
			nOctetGereR1=0;//premier index valide sur le futur demi-espace 
		}
	} else {
		yOctetGereR1[nOctetGereR1++]=(long) sMalloc;
		if (nOctetGereR1>=kuOctetGererMaX){
			Confirmer("Changement de demi-espace de chaînes de caractères (1 vers 0)");//mettre en commentaire après mise au point
			for (nAlloc=0; nAlloc<=kuOctetGererMaX; nAlloc++) {
				sAlloc=(char *) yOctetGereR0[nAlloc];
				if (sAlloc!=0)
					free(sAlloc);
				yOctetGereR0[nAlloc]=0;
			}
			zuOctetGereR=1-zuOctetGereR;//change de demi-espace
			nOctetGereR0=0;//premier index valide sur le futur demi-espace
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
cmpl $0x0, 0xdbcd(%rip)      # 0x13980
jne 0x5e65
movq -0x8(%rbp), %rdx
movl 0xe3cd(%rip), %eax      # 0x14190
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0xe3c2(%rip)      # 0x14190
movslq %eax, %rcx
leaq 0xdbb8(%rip), %rax      # 0x13990
movq %rdx, (%rax,%rcx,8)
cmpl $0xff, 0xe3aa(%rip)     # 0x14190
jl 0x5e60
leaq 0x40c5(%rip), %rdi      # 0x9eb4
callq 0x6e70
movl $0x0, -0xc(%rbp)
cmpl $0xff, -0xc(%rbp)
jg 0x5e45
movslq -0xc(%rbp), %rcx
leaq 0xe391(%rip), %rax      # 0x141a0
movq (%rax,%rcx,8), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x5e27
movq -0x18(%rbp), %rdi
callq 0x1030
movslq -0xc(%rbp), %rcx
leaq 0xe36e(%rip), %rax      # 0x141a0
movq $0x0, (%rax,%rcx,8)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x5dfb
movl $0x1, %eax
subl 0xdb30(%rip), %eax      # 0x13980
movl %eax, 0xdb2a(%rip)      # 0x13980
movl $0x0, 0xeb40(%rip)      # 0x149a0
jmp 0x5f0e
movq -0x8(%rbp), %rdx
movl 0xeb31(%rip), %eax      # 0x149a0
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0xeb26(%rip)      # 0x149a0
movslq %eax, %rcx
leaq 0xe31c(%rip), %rax      # 0x141a0
movq %rdx, (%rax,%rcx,8)
cmpl $0xff, 0xeb0e(%rip)     # 0x149a0
jl 0x5f0c
leaq 0x4059(%rip), %rdi      # 0x9ef4
callq 0x6e70
movl $0x0, -0xc(%rbp)
cmpl $0xff, -0xc(%rbp)
jg 0x5ef1
movslq -0xc(%rbp), %rcx
leaq 0xdad5(%rip), %rax      # 0x13990
movq (%rax,%rcx,8), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x5ed3
movq -0x18(%rbp), %rdi
callq 0x1030
movslq -0xc(%rbp), %rcx
leaq 0xdab2(%rip), %rax      # 0x13990
movq $0x0, (%rax,%rcx,8)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x5ea7
movl $0x1, %eax
subl 0xda84(%rip), %eax      # 0x13980
movl %eax, 0xda7e(%rip)      # 0x13980
movl $0x0, 0xe284(%rip)      # 0x14190
jmp 0x5f0e
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)