// File: /workspace/github_c_makefile_star2_O0/GregorR[P]lstg/ImageBuilder/imageBuilder.c
// Function: parseMethodHeader
int parseMethodHeader(struct object *theMethod)
{
  char            messageBuffer[100],
                 *q;
  int             keyflag;

  if(isIdentifierChar(*p))
  {
    if(readIdentifier())
    {                           /* keyword message */
      strcpy(messageBuffer, "");
      keyflag = 1;
      while(keyflag)
      {
        strcat(messageBuffer, tokenBuffer);
        if(isIdentifierChar(*p) && !readIdentifier())
          addArgument(tokenBuffer);
        else
          return parseError("missing argument after keyword");
        q = p;
        if(isIdentifierChar(*p) && readIdentifier())
          keyflag = 1;
        else
        {
          p = q;
          keyflag = 0;
        }
      }
    }
    else
      strcpy(messageBuffer, tokenBuffer); /* unary message */
  }
  else if(isBinary(*p))
  {                             /* binary message */
    readBinary();
    strcpy(messageBuffer, tokenBuffer);
    if(!isIdentifierChar(*p))
      return parseError("missing argument");
    readIdentifier();
    addArgument(tokenBuffer);
  }
  else
    return parseError("ill formed method header");
  theMethod->data[nameInMethod] = newSymbol(messageBuffer);
  printf("Method %s>>%s\n", bytePtr(currentClass->data[nameInClass]),
         messageBuffer);
  return 1;
}

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x78(%rsp)
movq 0x637d(%rip), %rax      # 0xa140
movsbl (%rax), %edi
callq 0x1790
cmpl $0x0, %eax
je 0x3ebd
callq 0x18a0
cmpl $0x0, %eax
je 0x3eaa
leaq 0x10(%rsp), %rdi
leaq 0x295d(%rip), %rsi      # 0x674b
callq 0x1050
movl $0x1, 0x4(%rsp)
cmpl $0x0, 0x4(%rsp)
je 0x3ea8
leaq 0x10(%rsp), %rdi
leaq 0x2d44e(%rip), %rsi     # 0x31260
callq 0x1100
movq 0x6322(%rip), %rax      # 0xa140
movsbl (%rax), %edi
callq 0x1790
cmpl $0x0, %eax
je 0x3e43
callq 0x18a0
cmpl $0x0, %eax
jne 0x3e43
leaq 0x2d424(%rip), %rdi     # 0x31260
callq 0x2130
jmp 0x3e5b
leaq 0x2644(%rip), %rdi      # 0x648e
callq 0x1350
movl %eax, 0x84(%rsp)
jmp 0x3f7d
movq 0x62de(%rip), %rax      # 0xa140
movq %rax, 0x8(%rsp)
movq 0x62d2(%rip), %rax      # 0xa140
movsbl (%rax), %edi
callq 0x1790
cmpl $0x0, %eax
je 0x3e8f
callq 0x18a0
cmpl $0x0, %eax
je 0x3e8f
movl $0x1, 0x4(%rsp)
jmp 0x3ea3
movq 0x8(%rsp), %rax
movq %rax, 0x62a5(%rip)      # 0xa140
movl $0x0, 0x4(%rsp)
jmp 0x3dfb
jmp 0x3ebb
leaq 0x10(%rsp), %rdi
leaq 0x2d3aa(%rip), %rsi     # 0x31260
callq 0x1050
jmp 0x3f3a
movq 0x627c(%rip), %rax      # 0xa140
movsbl (%rax), %edi
callq 0x17e0
cmpl $0x0, %eax
je 0x3f23
callq 0x1830
leaq 0x10(%rsp), %rdi
leaq 0x2d37e(%rip), %rsi     # 0x31260
callq 0x1050
movq 0x6252(%rip), %rax      # 0xa140
movsbl (%rax), %edi
callq 0x1790
cmpl $0x0, %eax
jne 0x3f10
leaq 0x25ab(%rip), %rdi      # 0x64ad
callq 0x1350
movl %eax, 0x84(%rsp)
jmp 0x3f7d
callq 0x18a0
leaq 0x2d344(%rip), %rdi     # 0x31260
callq 0x2130
jmp 0x3f38
leaq 0x2594(%rip), %rdi      # 0x64be
callq 0x1350
movl %eax, 0x84(%rsp)
jmp 0x3f7d
jmp 0x3f3a
leaq 0x10(%rsp), %rdi
callq 0x1b40
movq %rax, %rcx
movq 0x78(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x385d9(%rip), %rax     # 0x3c530
movq 0x10(%rax), %rsi
addq $0x10, %rsi
leaq 0x10(%rsp), %rdx
leaq 0x256c(%rip), %rdi      # 0x64d7
movb $0x0, %al
callq 0x1080
movl $0x1, 0x84(%rsp)
movl 0x84(%rsp), %eax
addq $0x88, %rsp
retq
nopl (%rax)