// File: /workspace/github_cpp_makefile_star2_O3/nompelis[P]INTecplotLib/intecplot.cpp
// Function: inTec_Zone::HandleKeyword(char*)
int inTec_Zone::HandleKeyword( char *buf )
{
#ifdef _DEBUG_
   printf("\n i Handling keyword \n");
#endif
#ifdef _DEBUG2_
   printf(" --- keyword -->|%s|<-- \n", buf );
#endif

   // shift start of buffer to beginning of the keyword
   char *s = buf;
   while( s[0] == ' ' || s[0] == ',' ) s++;
#ifdef _DEBUG_
   printf(" --- start keyword -->|%s|<-- \n", s );
#endif

   // size to equal sign
   size_t i=0,key_size=0;
   while( s[ i ] != '=' ) {
      // nullify spaces as you go
      if( s[ i ] != ' ' ) {
         ++key_size;
      } else {
         s[key_size] = '\0';
      }
      ++i;
   }
#ifdef _DEBUG_
   printf(" --- Equal sign at character %ld \n", i );
#endif
   s[i] = '\0';
#ifdef _DEBUG_
   printf(" --- Cleaned keyword: --->|%s|<--- \n", s );
#endif

   // need to "shift" past the equal sign and to the beginning of the payload
   char *p = &( s[ i+1] );
   while( p[0] == ' ' && p[0] != '\0' ) p++;
#ifdef _DEBUG_
   printf(" --- Payload: --->|%s|<--- \n", p );
#endif

   // trials to match keyword
   // (determine size of keyword and do per-size compar.)
   int iret=1;
   if( key_size == 1 ) {
      if( strncasecmp( s, "T", 1 ) == 0 ) {
         keywords["T"] = p;
         iret = 0;
      }

      if( strncasecmp( s, "I", 1 ) == 0 ) {
         keywords["I"] = p;
         iret = 0;
      }

      if( strncasecmp( s, "J", 1 ) == 0 ) {
         keywords["J"] = p;
         iret = 0;
      }

      if( strncasecmp( s, "K", 1 ) == 0 ) {
         keywords["K"] = p;
         iret = 0;
      }

      if( strncasecmp( s, "E", 1 ) == 0 ) {   // old keyword
         keywords["E"] = p;
         iret = 0;
      }

      if( strncasecmp( s, "N", 1 ) == 0 ) {   // old keyword
         keywords["N"] = p;
         iret = 0;
      }

      if( strncasecmp( s, "F", 1 ) == 0 ) {   // old keyword
         keywords["F"] = p;
         iret = 0;
      }
   }

   if( key_size == 2 ) {
      if( strncasecmp( s, "ET", 2 ) == 0 ) {   // old keyword
         keywords["ET"] = p;
         iret = 0;
      }

      if( strncasecmp( s, "DT", 2 ) == 0 ) {
         keywords["DT"] = p;
         iret = 0;
      }

      if( strncasecmp( s, "NV", 2 ) == 0 ) {
         keywords["NV"] = p;
         iret = 0;
      }
   }

   if( key_size == 5 ) {
      if( strncasecmp( s, "NODES", 5 ) == 0 ) {
         keywords["NODES"] = p;
         iret = 0;
      }

      if( strncasecmp( s, "FACES", 5 ) == 0 ) {
         keywords["FACES"] = p;
         iret = 0;
      }
   }

   if( key_size == 8 ) {
      if( strncasecmp( s, "ELEMENTS", 8 ) == 0 ) {
         keywords["ELEMENTS"] = p;
         iret = 0;
      }
      if( strncasecmp( s, "ZONETYPE", 8 ) == 0 ) {
         keywords["ZONETYPE"] = p;
         iret = 0;
      }
   }

   if( key_size == 11 ) {
      if( strncasecmp( s, "DATAPACKING", 11 ) == 0 ) {
         keywords["DATAPACKING"] = p;
         iret = 0;
      }

      if( strncasecmp( s, "VARLOCATION", 11 ) == 0 ) {
         keywords["VARLOCATION"] = p;
         iret = 0;
      }
   }

   if( key_size == 12 ) {
      if( strncasecmp( s, "VARSHARELIST", 11 ) == 0 ) {
         keywords["VARSHARELIST"] = p;
         iret = 0;
      }
   }

   return( iret );
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r15
movq %rdi, %r14
leaq 0x86ec(%rip), %rdi      # 0xf171
callq 0x5570
movzbl (%r15), %eax
cmpl $0x2c, %eax
je 0x6a98
cmpl $0x20, %eax
jne 0x6a9d
incq %r15
jmp 0x6a8a
leaq 0x7a6f(%rip), %rdi      # 0xe513
xorl %r12d, %r12d
movq %r15, %rsi
xorl %eax, %eax
callq 0x5060
xorl %r13d, %r13d
movzbl (%r15,%r12), %eax
cmpl $0x20, %eax
je 0x6ac8
cmpl $0x3d, %eax
je 0x6ad2
incq %r13
jmp 0x6acd
movb $0x0, (%r15,%r13)
incq %r12
jmp 0x6ab4
leaq (%r15,%r12), %rbx
leaq 0x7a56(%rip), %rdi      # 0xe533
movq %r12, %rsi
xorl %eax, %eax
callq 0x5060
movb $0x0, (%r15,%r12)
leaq 0x7a63(%rip), %rdi      # 0xe556
movq %r15, %rsi
xorl %eax, %eax
callq 0x5060
cmpb $0x20, 0x1(%rbx)
leaq 0x1(%rbx), %rbx
je 0x6afd
leaq 0x7a6d(%rip), %rdi      # 0xe57b
movq %rbx, %rsi
xorl %eax, %eax
callq 0x5060
movl $0x1, %ebp
decq %r13
cmpq $0xb, %r13
ja 0x73f0
leaq 0x7573(%rip), %rax      # 0xe0a4
movslq (%rax,%r13,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x7764(%rip), %rsi      # 0xe2a5
movl $0x1, %edx
movq %r15, %rdi
callq 0x5490
movl $0x1, %ebp
testl %eax, %eax
jne 0x6bc4
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x773e(%rip), %rsi      # 0xe2a5
leaq 0x7738(%rip), %rdx      # 0xe2a6
leaq 0x8(%rsp), %rdi
callq 0x5110
leaq 0xe8(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x56a0
movq %rax, %r12
movq 0x8(%rax), %r13
movq %rbx, %rdi
callq 0x5150
movq %r12, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6bc2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
xorl %ebp, %ebp
leaq 0x79cd(%rip), %rsi      # 0xe598
movl $0x1, %edx
movq %r15, %rdi
callq 0x5490
testl %eax, %eax
jne 0x6c49
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x79ac(%rip), %rsi      # 0xe598
leaq 0x79a6(%rip), %rdx      # 0xe599
leaq 0x8(%rsp), %rdi
callq 0x5110
leaq 0xe8(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x56a0
movq %rax, %r12
movq 0x8(%rax), %r13
movq %rbx, %rdi
callq 0x5150
movq %r12, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6c47
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
xorl %ebp, %ebp
leaq 0x794a(%rip), %rsi      # 0xe59a
movl $0x1, %edx
movq %r15, %rdi
callq 0x5490
testl %eax, %eax
jne 0x6cce
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x7929(%rip), %rsi      # 0xe59a
leaq 0x7923(%rip), %rdx      # 0xe59b
leaq 0x8(%rsp), %rdi
callq 0x5110
leaq 0xe8(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x56a0
movq %rax, %r12
movq 0x8(%rax), %r13
movq %rbx, %rdi
callq 0x5150
movq %r12, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6ccc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
xorl %ebp, %ebp
leaq 0x7a7e(%rip), %rsi      # 0xe753
movl $0x1, %edx
movq %r15, %rdi
callq 0x5490
testl %eax, %eax
jne 0x6d53
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x7a5d(%rip), %rsi      # 0xe753
leaq 0x7a57(%rip), %rdx      # 0xe754
leaq 0x8(%rsp), %rdi
callq 0x5110
leaq 0xe8(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x56a0
movq %rax, %r12
movq 0x8(%rax), %r13
movq %rbx, %rdi
callq 0x5150
movq %r12, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6d51
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
xorl %ebp, %ebp
leaq 0x7a18(%rip), %rsi      # 0xe772
movl $0x1, %edx
movq %r15, %rdi
callq 0x5490
testl %eax, %eax
jne 0x6dd8
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x79f7(%rip), %rsi      # 0xe772
leaq 0x79f1(%rip), %rdx      # 0xe773
leaq 0x8(%rsp), %rdi
callq 0x5110
leaq 0xe8(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x56a0
movq %rax, %r12
movq 0x8(%rax), %r13
movq %rbx, %rdi
callq 0x5150
movq %r12, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6dd6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
xorl %ebp, %ebp
leaq 0x7988(%rip), %rsi      # 0xe767
movl $0x1, %edx
movq %r15, %rdi
callq 0x5490
testl %eax, %eax
jne 0x6e5d
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x7967(%rip), %rsi      # 0xe767
leaq 0x7961(%rip), %rdx      # 0xe768
leaq 0x8(%rsp), %rdi
callq 0x5110
leaq 0xe8(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x56a0
movq %rax, %r12
movq 0x8(%rax), %r13
movq %rbx, %rdi
callq 0x5150
movq %r12, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6e5b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
xorl %ebp, %ebp
leaq 0x7738(%rip), %rsi      # 0xe59c
movl $0x1, %edx
movq %r15, %rdi
callq 0x5490
testl %eax, %eax
jne 0x73f0
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x7712(%rip), %rsi      # 0xe59c
leaq 0x770c(%rip), %rdx      # 0xe59d
leaq 0x8(%rsp), %rdi
callq 0x5110
addq $0xe8, %r14
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x56a0
movq %rax, %r14
movq 0x8(%rax), %r15
movq %rbx, %rdi
callq 0x5150
movq %r14, %rdi
xorl %esi, %esi
movq %r15, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
jmp 0x73d7
leaq 0x76c7(%rip), %rsi      # 0xe5a4
movl $0x5, %edx
movq %r15, %rdi
callq 0x5490
movl $0x1, %ebp
testl %eax, %eax
jne 0x6f60
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x76a1(%rip), %rsi      # 0xe5a4
leaq 0x769f(%rip), %rdx      # 0xe5a9
leaq 0x8(%rsp), %rdi
callq 0x5110
leaq 0xe8(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x56a0
movq %rax, %r12
movq 0x8(%rax), %r13
movq %rbx, %rdi
callq 0x5150
movq %r12, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6f5e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
xorl %ebp, %ebp
leaq 0x7643(%rip), %rsi      # 0xe5aa
movl $0x5, %edx
movq %r15, %rdi
callq 0x5490
testl %eax, %eax
jne 0x73f0
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x761d(%rip), %rsi      # 0xe5aa
leaq 0x761b(%rip), %rdx      # 0xe5af
leaq 0x8(%rsp), %rdi
callq 0x5110
addq $0xe8, %r14
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x56a0
movq %rax, %r14
movq 0x8(%rax), %r15
movq %rbx, %rdi
callq 0x5150
movq %r14, %rdi
xorl %esi, %esi
movq %r15, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
jmp 0x73d7
leaq 0x75d9(%rip), %rsi      # 0xe5b9
movl $0xb, %edx
movq %r15, %rdi
callq 0x5490
testl %eax, %eax
jne 0x73f0
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x75b3(%rip), %rsi      # 0xe5b9
leaq 0x75b8(%rip), %rdx      # 0xe5c5
leaq 0x8(%rsp), %rdi
callq 0x5110
addq $0xe8, %r14
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x56a0
movq %rax, %r14
movq 0x8(%rax), %r15
movq %rbx, %rdi
callq 0x5150
movq %r14, %rdi
xorl %esi, %esi
movq %r15, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
jmp 0x73d7
leaq 0x7545(%rip), %rsi      # 0xe59e
movl $0x2, %edx
movq %r15, %rdi
callq 0x5490
movl $0x1, %ebp
testl %eax, %eax
jne 0x70dc
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x751f(%rip), %rsi      # 0xe59e
leaq 0x751a(%rip), %rdx      # 0xe5a0
leaq 0x8(%rsp), %rdi
callq 0x5110
leaq 0xe8(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x56a0
movq %rax, %r12
movq 0x8(%rax), %r13
movq %rbx, %rdi
callq 0x5150
movq %r12, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x70da
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
xorl %ebp, %ebp
leaq 0x71c1(%rip), %rsi      # 0xe2a4
movl $0x2, %edx
movq %r15, %rdi
callq 0x5490
testl %eax, %eax
jne 0x7161
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x71a0(%rip), %rsi      # 0xe2a4
leaq 0x719b(%rip), %rdx      # 0xe2a6
leaq 0x8(%rsp), %rdi
callq 0x5110
leaq 0xe8(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x56a0
movq %rax, %r12
movq 0x8(%rax), %r13
movq %rbx, %rdi
callq 0x5150
movq %r12, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x715f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
xorl %ebp, %ebp
leaq 0x7439(%rip), %rsi      # 0xe5a1
movl $0x2, %edx
movq %r15, %rdi
callq 0x5490
testl %eax, %eax
jne 0x73f0
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x7413(%rip), %rsi      # 0xe5a1
leaq 0x740e(%rip), %rdx      # 0xe5a3
leaq 0x8(%rsp), %rdi
callq 0x5110
addq $0xe8, %r14
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x56a0
movq %rax, %r14
movq 0x8(%rax), %r15
movq %rbx, %rdi
callq 0x5150
movq %r14, %rdi
xorl %esi, %esi
movq %r15, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
jmp 0x73d7
leaq 0x73cf(%rip), %rsi      # 0xe5b0
movl $0x8, %edx
movq %r15, %rdi
callq 0x5490
movl $0x1, %ebp
testl %eax, %eax
jne 0x7264
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x73a9(%rip), %rsi      # 0xe5b0
leaq 0x73aa(%rip), %rdx      # 0xe5b8
leaq 0x8(%rsp), %rdi
callq 0x5110
leaq 0xe8(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x56a0
movq %rax, %r12
movq 0x8(%rax), %r13
movq %rbx, %rdi
callq 0x5150
movq %r12, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7262
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
xorl %ebp, %ebp
leaq 0x7029(%rip), %rsi      # 0xe294
movl $0x8, %edx
movq %r15, %rdi
callq 0x5490
testl %eax, %eax
jne 0x73f0
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x7003(%rip), %rsi      # 0xe294
leaq 0x7004(%rip), %rdx      # 0xe29c
leaq 0x8(%rsp), %rdi
callq 0x5110
addq $0xe8, %r14
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x56a0
movq %rax, %r14
movq 0x8(%rax), %r15
movq %rbx, %rdi
callq 0x5150
movq %r14, %rdi
xorl %esi, %esi
movq %r15, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
jmp 0x73d7
leaq 0x6fc9(%rip), %rsi      # 0xe2ad
movl $0xb, %edx
movq %r15, %rdi
callq 0x5490
movl $0x1, %ebp
testl %eax, %eax
jne 0x7367
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x6fa3(%rip), %rsi      # 0xe2ad
leaq 0x6fa7(%rip), %rdx      # 0xe2b8
leaq 0x8(%rsp), %rdi
callq 0x5110
leaq 0xe8(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x56a0
movq %rax, %r12
movq 0x8(%rax), %r13
movq %rbx, %rdi
callq 0x5150
movq %r12, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7365
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
xorl %ebp, %ebp
leaq 0x6f53(%rip), %rsi      # 0xe2c1
movl $0xb, %edx
movq %r15, %rdi
callq 0x5490
testl %eax, %eax
jne 0x73f0
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x6f31(%rip), %rsi      # 0xe2c1
leaq 0x6f35(%rip), %rdx      # 0xe2cc
leaq 0x8(%rsp), %rdi
callq 0x5110
addq $0xe8, %r14
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x56a0
movq %rax, %r14
movq 0x8(%rax), %r15
movq %rbx, %rdi
callq 0x5150
movq %r14, %rdi
xorl %esi, %esi
movq %r15, %rdx
movq %rbx, %rcx
movq %rax, %r8
callq 0x5580
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x73ee
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
xorl %ebp, %ebp
movl %ebp, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7421
jmp 0x7421
jmp 0x7421
jmp 0x7421
jmp 0x7421
jmp 0x7421
jmp 0x7421
jmp 0x7421
jmp 0x7421
jmp 0x7421
jmp 0x7421
jmp 0x7421
jmp 0x7421
jmp 0x7421
jmp 0x7421
jmp 0x7421
movq %rax, %rbx
jmp 0x746d
jmp 0x7442
jmp 0x7453
jmp 0x7453
jmp 0x7453
jmp 0x7442
jmp 0x7453
jmp 0x7442
jmp 0x7442
jmp 0x7453
jmp 0x7442
jmp 0x7453
jmp 0x7453
jmp 0x7453
jmp 0x7453
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
jne 0x7460
jmp 0x746d
jmp 0x7453
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x746d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5380
movq %rbx, %rdi
callq 0x5640
nop