// File: /workspace/github_c_makefile_star2_O0/42Bastian[P]lyxass/macro.c
// Function: GetOperand
int GetOperand(char * dst)
{
  int StringFlag = 0;
  int ParenFlag = 0;
  int exit = FALSE;
  char *ptr = dst;

  if ( KillSpace() ){
    while ( atom  && !exit ) {
      switch ( atom ){
      case  '"' :
	StringFlag ^= 1;
	*ptr++=atom;
	break;
      case '{' :
	ParenFlag ++;
	break;
      case '}':
	ParenFlag --;
	break;
      case ',':
	if  ( !StringFlag && !ParenFlag ){
	  exit = TRUE;
	  continue;
	} else
	  *ptr++ = atom;
	break;
      case ';':
	if ( !StringFlag && !ParenFlag ){
	  exit = TRUE;
	  continue;
	} else
	  *ptr++ = atom;
	break;
      case SPACE:
	if ( StringFlag || ParenFlag ){
	  *ptr++ = atom;
	}
	break;
      default:
	*ptr++ = atom;
      }
      GetAtom();
    }
  }
  *ptr=0;
  return ptr != dst;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movb $0x0, %al
callq 0x5ad0
cmpl $0x0, %eax
je 0xcd68
jmp 0xcbeb
xorl %eax, %eax
leaq 0x1432c(%rip), %rcx     # 0x20f20
cmpl $0x0, (%rcx)
movb %al, -0x21(%rbp)
je 0xcc08
cmpl $0x0, -0x14(%rbp)
setne %al
xorb $-0x1, %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
testb $0x1, %al
jne 0xcc14
jmp 0xcd66
leaq 0x14305(%rip), %rax     # 0x20f20
movl (%rax), %eax
movl %eax, -0x28(%rbp)
subl $0x20, %eax
je 0xcd16
jmp 0xcc2b
movl -0x28(%rbp), %eax
subl $0x22, %eax
je 0xcc64
jmp 0xcc35
movl -0x28(%rbp), %eax
subl $0x2c, %eax
je 0xccaa
jmp 0xcc3f
movl -0x28(%rbp), %eax
subl $0x3b, %eax
je 0xcce0
jmp 0xcc4d
movl -0x28(%rbp), %eax
subl $0x7b, %eax
je 0xcc8e
jmp 0xcc57
movl -0x28(%rbp), %eax
subl $0x7d, %eax
je 0xcc9c
jmp 0xcd40
movl -0xc(%rbp), %eax
xorl $0x1, %eax
movl %eax, -0xc(%rbp)
leaq 0x142ac(%rip), %rax     # 0x20f20
movl (%rax), %eax
movb %al, %cl
movq -0x20(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x20(%rbp)
movb %cl, (%rax)
jmp 0xcd5c
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0xcd5c
movl -0x10(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0xcd5c
cmpl $0x0, -0xc(%rbp)
jne 0xccc2
cmpl $0x0, -0x10(%rbp)
jne 0xccc2
movl $0x1, -0x14(%rbp)
jmp 0xcbeb
leaq 0x14257(%rip), %rax     # 0x20f20
movl (%rax), %eax
movb %al, %cl
movq -0x20(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x20(%rbp)
movb %cl, (%rax)
jmp 0xcd5c
cmpl $0x0, -0xc(%rbp)
jne 0xccf8
cmpl $0x0, -0x10(%rbp)
jne 0xccf8
movl $0x1, -0x14(%rbp)
jmp 0xcbeb
leaq 0x14221(%rip), %rax     # 0x20f20
movl (%rax), %eax
movb %al, %cl
movq -0x20(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x20(%rbp)
movb %cl, (%rax)
jmp 0xcd5c
cmpl $0x0, -0xc(%rbp)
jne 0xcd22
cmpl $0x0, -0x10(%rbp)
je 0xcd3e
leaq 0x141f7(%rip), %rax     # 0x20f20
movl (%rax), %eax
movb %al, %cl
movq -0x20(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x20(%rbp)
movb %cl, (%rax)
jmp 0xcd5c
leaq 0x141d9(%rip), %rax     # 0x20f20
movl (%rax), %eax
movb %al, %cl
movq -0x20(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x20(%rbp)
movb %cl, (%rax)
callq 0x59e0
jmp 0xcbeb
jmp 0xcd68
movq -0x20(%rbp), %rax
movb $0x0, (%rax)
movq -0x20(%rbp), %rax
cmpq -0x8(%rbp), %rax
setne %al
andb $0x1, %al
movzbl %al, %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)