// File: /workspace/github_cpp_makefile_star2_O2/jkingan[P]ladyheather/heathgps.cpp
// Function: find_moto_cmd(int, int)
int find_moto_cmd(int cmd1, int cmd2)
{
   // !!!!! lookup Motorola binary command and return message length
   if     ((cmd1 == 'A') && (cmd2 == '@')) return (-1);

   else if((cmd1 == 'A') && (cmd2 == 'a')) return (10-7);
   else if((cmd1 == 'A') && (cmd2 == 'A')) return (8-7);
   else if((cmd1 == 'A') && (cmd2 == 'b')) return (10-7);
   else if((cmd1 == 'A') && (cmd2 == 'B')) return (8-7);
   else if((cmd1 == 'A') && (cmd2 == 'c')) return (11-7);
   else if((cmd1 == 'A') && (cmd2 == 'C')) return (9-7);
   else if((cmd1 == 'A') && (cmd2 == 'd')) return 11-7;
   else if((cmd1 == 'A') && (cmd2 == 'D')) return (9-7);
   else if((cmd1 == 'A') && (cmd2 == 'e')) return 11-7;
   else if((cmd1 == 'A') && (cmd2 == 'E')) return (8-7);
   else if((cmd1 == 'A') && (cmd2 == 'f')) return 15-7;
   else if((cmd1 == 'A') && (cmd2 == 'g')) return 8-7;
   else if((cmd1 == 'A') && (cmd2 == 'h')) return (8-7);
   else if((cmd1 == 'A') && (cmd2 == 'i')) return (9-7);
   else if((cmd1 == 'A') && (cmd2 == 'j')) return (8-7);
   else if((cmd1 == 'A') && (cmd2 == 'k')) return (9-7);
   else if((cmd1 == 'A') && (cmd2 == 'l')) return (9-7);
   else if((cmd1 == 'A') && (cmd2 == 'm')) return 12-7;
   else if((cmd1 == 'A') && (cmd2 == 'M')) return 11-7;
   else if((cmd1 == 'A') && (cmd2 == 'n')) return (8-7);
   else if((cmd1 == 'A') && (cmd2 == 'N')) return 8-7;
   else if((cmd1 == 'A') && (cmd2 == 'o')) return 25-7;
   else if((cmd1 == 'A') && (cmd2 == 'O')) return 8-7;
   else if((cmd1 == 'A') && (cmd2 == 'p')) return 25-7;
   else if((cmd1 == 'A') && (cmd2 == 'P')) return 8-7;
   else if((cmd1 == 'A') && (cmd2 == 'q')) return 8-7;
   else if((cmd1 == 'A') && (cmd2 == 'Q')) return 8-7;
   else if((cmd1 == 'A') && (cmd2 == 'r')) return (8-7);
   else if((cmd1 == 'A') && (cmd2 == 's')) return (20-7);
   else if((cmd1 == 'A') && (cmd2 == 't')) return (8-7);
   else if((cmd1 == 'A') && (cmd2 == 'u')) return (12-7);
   else if((cmd1 == 'A') && (cmd2 == 'v')) return (8-7);
   else if((cmd1 == 'A') && (cmd2 == 'w')) return 8-7;
   else if((cmd1 == 'A') && (cmd2 == 'x')) return (9-7);
   else if((cmd1 == 'A') && (cmd2 == 'y')) return 11-7;
   else if((cmd1 == 'A') && (cmd2 == 'z')) return 11-7;

   else if((cmd1 == 'B') && (cmd2 == 'a')) return 68-7;
   else if((cmd1 == 'B') && (cmd2 == 'b')) return 92-7;
   else if((cmd1 == 'B') && (cmd2 == 'c')) return 82-7;
   else if((cmd1 == 'B') && (cmd2 == 'd')) return 23-7;
   else if((cmd1 == 'B') && (cmd2 == 'e')) return 33-7;
   else if((cmd1 == 'B') && (cmd2 == 'f')) return 80-7;
   else if((cmd1 == 'B') && (cmd2 == 'g')) return 122-7;
   else if((cmd1 == 'B') && (cmd2 == 'h')) return 52-7;
   else if((cmd1 == 'B') && (cmd2 == 'i')) return 80-7;
   else if((cmd1 == 'B') && (cmd2 == 'j')) return 8-7;
   else if((cmd1 == 'B') && (cmd2 == 'k')) return 69-7;
   else if((cmd1 == 'B') && (cmd2 == 'l')) return 41-7;
   else if((cmd1 == 'B') && (cmd2 == 'n')) return 59-7;
   else if((cmd1 == 'B') && (cmd2 == 'o')) return 8-7;
   else if((cmd1 == 'B') && (cmd2 == 'p')) return 29-7;

   else if((cmd1 == 'C') && (cmd2 == 'a')) return 9-7;
   else if((cmd1 == 'C') && (cmd2 == 'b')) return 9-7;
   else if((cmd1 == 'C') && (cmd2 == 'd')) return 171-7;
   else if((cmd1 == 'C') && (cmd2 == 'e')) return 7-7;
   else if((cmd1 == 'C') && (cmd2 == 'f')) return 7-7;
   else if((cmd1 == 'C') && (cmd2 == 'g')) return 8-7;
   else if((cmd1 == 'C') && (cmd2 == 'h')) return 9-7;
   else if((cmd1 == 'C') && (cmd2 == 'i')) return 8-7;   // actually msg has no response
   else if((cmd1 == 'C') && (cmd2 == 'j')) return 294-7;
   else if((cmd1 == 'C') && (cmd2 == 'k')) return 7-7;
   else if((cmd1 == 'C') && (cmd2 == 'o')) return 29-7;

   else if((cmd1 == 'E') && (cmd2 == 'a')) return 76-7;
   else if((cmd1 == 'E') && (cmd2 == 'c')) return 82-7;
   else if((cmd1 == 'E') && (cmd2 == 'g')) return 158-7;
   else if((cmd1 == 'E') && (cmd2 == 'k')) return 71-7;
   else if((cmd1 == 'E') && (cmd2 == 'n')) return 69-7;
   else if((cmd1 == 'E') && (cmd2 == 'q')) return 96-9;  // !!!! BASTARD format

   else if((cmd1 == 'F') && (cmd2 == 'a')) return 9-7;
   else if((cmd1 == 'F') && (cmd2 == 'd')) return 189-7;

   else if((cmd1 == 'G') && (cmd2 == 'a')) return 20-7;
   else if((cmd1 == 'G') && (cmd2 == 'b')) return 17-7;
   else if((cmd1 == 'G') && (cmd2 == 'c')) return 8-7;
   else if((cmd1 == 'G') && (cmd2 == 'd')) return 8-7;
   else if((cmd1 == 'G') && (cmd2 == 'e')) return 8-7;
   else if((cmd1 == 'G') && (cmd2 == 'f')) return 9-7;
   else if((cmd1 == 'G') && (cmd2 == 'j')) return 21-7;
   else if((cmd1 == 'G') && (cmd2 == 'k')) return 13-7;

   else if((cmd1 == 'H') && (cmd2 == 'a')) return 154-7;
   else if((cmd1 == 'H') && (cmd2 == 'b')) return 54-7;
   else if((cmd1 == 'H') && (cmd2 == 'n')) return 78-7;
   else if((cmd1 == 'H') && (cmd2 == 'r')) return 170-7;

   else if((cmd1 == 'I') && (cmd2 == 'a')) return 10-7;

   else if((cmd1 == 'S') && (cmd2 == 'z')) return 8-7;

   else if((cmd1 == 'W') && (cmd2 == 'b')) return 8-7;

   return (-1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movl %edi, %r14d
xorl $0x41, %r14d
movl %esi, %eax
xorl $0x40, %eax
orl %r14d, %eax
jne 0x8db93
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x8dbbe
movl %esi, %r9d
xorl $0x61, %r9d
movl $0x3, %r8d
movl %r14d, %eax
orl %r9d, %eax
jne 0x8dbad
movl %r8d, %eax
jmp 0x8dbbe
movl %esi, %eax
xorl $0x41, %eax
movl $0x1, %ecx
orl %r14d, %eax
jne 0x8dbc9
movl %ecx, %eax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl %esi, %edx
xorl $0x62, %edx
movl %r14d, %eax
orl %edx, %eax
je 0x8dba8
movl %esi, %eax
xorl $0x42, %eax
orl %r14d, %eax
je 0x8dbbc
movl %esi, %r12d
xorl $0x63, %r12d
movl $0x4, %r15d
movl %r14d, %eax
orl %r12d, %eax
jne 0x8dbf9
movl %r15d, %eax
jmp 0x8dbbe
movl %edi, %r11d
movl %esi, %eax
xorl $0x43, %eax
movl $0x2, %edi
orl %r14d, %eax
jne 0x8dc0f
movl %edi, %eax
jmp 0x8dbbe
movl %esi, %ebx
xorl $0x64, %ebx
movl %r14d, %eax
orl %ebx, %eax
je 0x8dbf4
movl %esi, %eax
xorl $0x44, %eax
orl %r14d, %eax
je 0x8dc0b
movl %esi, %r13d
xorl $0x65, %r13d
movl %r14d, %eax
orl %r13d, %eax
je 0x8dbf4
movl %esi, %eax
xorl $0x45, %eax
orl %r14d, %eax
je 0x8dbbc
movl %esi, %edi
xorl $0x66, %edi
movl %r14d, %eax
orl %edi, %eax
jne 0x8dc58
movl $0x8, %eax
jmp 0x8dbbe
movl %esi, %r10d
xorl $0x67, %r10d
movl %r14d, %eax
movl %r10d, -0x40(%rbp)
orl %r10d, %eax
je 0x8dbbc
movl %esi, %r10d
xorl $0x68, %r10d
movl %r14d, %eax
orl %r10d, %eax
je 0x8dbbc
movl %edi, -0x48(%rbp)
movl %esi, %edi
xorl $0x69, %edi
movl %r14d, %eax
movl %edi, -0x44(%rbp)
orl %edi, %eax
jne 0x8dc9e
movl $0x2, %eax
jmp 0x8dbbe
movl %esi, %edi
xorl $0x6a, %edi
movl %r14d, %eax
movl %edi, -0x3c(%rbp)
orl %edi, %eax
je 0x8dbbc
movl %esi, %edi
xorl $0x6b, %edi
movl %r14d, %eax
movl %edi, -0x34(%rbp)
orl %edi, %eax
je 0x8dc94
movl %esi, %edi
xorl $0x6c, %edi
movl %r14d, %eax
movl %edi, -0x30(%rbp)
orl %edi, %eax
je 0x8dc94
movl %esi, %eax
xorl $0x6d, %eax
orl %r14d, %eax
jne 0x8dce3
movl $0x5, %eax
jmp 0x8dbbe
movl %esi, %eax
xorl $0x4d, %eax
orl %r14d, %eax
je 0x8dbf4
leal -0x4e(%rsi), %eax
testl $0xffffffdf, %eax       # imm = 0xFFFFFFDF
sete %al
cmpl $0x41, %r11d
jne 0x8dd0a
testb %al, %al
jne 0x8dbbc
movl %esi, %eax
xorl $0x6f, %eax
movl %eax, -0x38(%rbp)
movl $0x12, %eax
movl %r14d, %edi
orl -0x38(%rbp), %edi
je 0x8dbbe
movl %esi, %edi
xorl $0x4f, %edi
orl %r14d, %edi
je 0x8dbbc
movl %esi, %edi
xorl $0x70, %edi
movl %edi, -0x2c(%rbp)
movl %r14d, %edi
orl -0x2c(%rbp), %edi
je 0x8dbbe
movl %esi, %eax
xorl $0x50, %eax
orl %r14d, %eax
je 0x8dbbc
leal -0x51(%rsi), %eax
testl $0xffffffdf, %eax       # imm = 0xFFFFFFDF
sete %al
cmpl $0x41, %r11d
jne 0x8dd6c
testb %al, %al
jne 0x8dbbc
movl %esi, %edi
xorl $0x72, %edi
movl %r14d, %eax
movl %edi, -0x50(%rbp)
orl %edi, %eax
je 0x8dbbc
movl %esi, %eax
xorl $0x73, %eax
orl %r14d, %eax
jne 0x8dd93
movl $0xd, %eax
jmp 0x8dbbe
movl %esi, %eax
xorl $0x74, %eax
orl %r14d, %eax
je 0x8dbbc
movl %esi, %eax
xorl $0x75, %eax
orl %r14d, %eax
movl $0x5, %eax
je 0x8dbbe
movl %esi, %eax
andl $-0x2, %eax
xorl $0x76, %eax
orl %r14d, %eax
je 0x8dbbc
movl %esi, %eax
xorl $0x78, %eax
orl %r14d, %eax
je 0x8dc94
movl %esi, %eax
xorl $0x79, %eax
orl %r14d, %eax
je 0x8dbf4
movl %esi, %eax
xorl $0x7a, %eax
movl %eax, -0x4c(%rbp)
orl %eax, %r14d
movl %r15d, %eax
je 0x8dbbe
movl %r11d, %edi
xorl $0x42, %edi
movl %edi, %eax
orl %r9d, %eax
jne 0x8de0c
movl $0x3d, %eax
jmp 0x8dbbe
movl %edi, %eax
orl %edx, %eax
jne 0x8de1c
movl $0x55, %eax
jmp 0x8dbbe
movl $0x4b, %r15d
movl %edi, %eax
orl %r12d, %eax
je 0x8dbf4
movl %edi, %eax
orl %ebx, %eax
jne 0x8de3d
movl $0x10, %eax
jmp 0x8dbbe
orl %edi, %r13d
jne 0x8de4c
movl $0x1a, %eax
jmp 0x8dbbe
movl $0x49, %eax
movl %edi, %r14d
orl -0x48(%rbp), %r14d
je 0x8dbbe
movl %edi, %r14d
orl -0x40(%rbp), %r14d
jne 0x8de71
movl $0x73, %eax
jmp 0x8dbbe
movl %edi, %r14d
orl %r10d, %r14d
jne 0x8de83
movl $0x2d, %eax
jmp 0x8dbbe
movl %edi, %r14d
orl -0x44(%rbp), %r14d
je 0x8dbbe
movl %edi, %eax
orl -0x3c(%rbp), %eax
je 0x8dbbc
movl $0x3e, %r13d
movl %edi, %eax
orl -0x34(%rbp), %eax
jne 0x8deb0
movl %r13d, %eax
jmp 0x8dbbe
orl %edi, -0x30(%rbp)
jne 0x8debf
movl $0x22, %eax
jmp 0x8dbbe
movl %esi, %r14d
xorl $0x6e, %r14d
movl %edi, %eax
movl %r14d, -0x30(%rbp)
orl %r14d, %eax
jne 0x8dedb
movl $0x34, %eax
jmp 0x8dbbe
movl %edi, %eax
orl -0x38(%rbp), %eax
je 0x8dbbc
orl -0x2c(%rbp), %edi
jne 0x8def5
movl $0x16, %eax
jmp 0x8dbbe
cmpl $0x43, %r11d
sete %al
leal -0x61(%rsi), %edi
cmpl $0x2, %edi
setb %dil
testb %dil, %al
jne 0x8dc94
movl %r11d, %edi
xorl $0x43, %edi
movl $0xa4, %eax
movl %edi, %r14d
orl %ebx, %r14d
je 0x8dbbe
cmpl $0x43, %r11d
sete -0x2c(%rbp)
leal -0x65(%rsi), %eax
cmpl $0x2, %eax
setb %r14b
xorl %eax, %eax
testb %r14b, -0x2c(%rbp)
jne 0x8dbbe
movl %edi, %eax
orl -0x40(%rbp), %eax
je 0x8dbbc
orl %edi, %r10d
je 0x8dc94
orl %edi, -0x44(%rbp)
je 0x8dbbc
movl $0x11f, %eax            # imm = 0x11F
movl %edi, %r14d
orl -0x3c(%rbp), %r14d
je 0x8dbbe
movl %edi, %eax
orl -0x34(%rbp), %eax
movl $0x0, %eax
je 0x8dbbe
orl -0x38(%rbp), %edi
movl $0x16, %eax
je 0x8dbbe
movl %r11d, %edi
xorl $0x45, %edi
movl %edi, %eax
orl %r9d, %eax
jne 0x8dfa8
movl $0x45, %eax
jmp 0x8dbbe
orl %edi, %r12d
movl %r15d, %eax
je 0x8dbbe
movl $0x97, %eax
orl %edi, -0x40(%rbp)
je 0x8dbbe
movl %edi, %eax
orl -0x34(%rbp), %eax
jne 0x8dfd3
movl $0x40, %eax
jmp 0x8dbbe
movl %edi, %eax
orl -0x30(%rbp), %eax
movl %r13d, %eax
je 0x8dbbe
movl %esi, %eax
xorl $0x71, %eax
orl %eax, %edi
jne 0x8dff4
movl $0x57, %eax
jmp 0x8dbbe
movl %r11d, %edi
xorl $0x46, %edi
movl %edi, %eax
orl %r9d, %eax
je 0x8dc94
movl $0xb6, %eax
orl %ebx, %edi
je 0x8dbbe
movl %r11d, %edi
xorl $0x47, %edi
movl %edi, %eax
orl %r9d, %eax
movl $0xd, %eax
je 0x8dbbe
movl %edi, %eax
orl %edx, %eax
jne 0x8e038
movl $0xa, %eax
jmp 0x8dbbe
cmpl $0x47, %r11d
sete %al
addl $-0x63, %esi
cmpl $0x3, %esi
setb %sil
testb %sil, %al
jne 0x8dbbc
orl %edi, -0x48(%rbp)
movl $0x2, %eax
je 0x8dbbe
orl %edi, -0x3c(%rbp)
jne 0x8e06f
movl $0xe, %eax
jmp 0x8dbbe
orl -0x34(%rbp), %edi
jne 0x8e07e
movl $0x6, %eax
jmp 0x8dbbe
movl %r11d, %esi
xorl $0x48, %esi
movl $0x93, %eax
movl %esi, %edi
orl %r9d, %edi
je 0x8dbbe
movl %esi, %eax
orl %edx, %eax
jne 0x8e0a4
movl $0x2f, %eax
jmp 0x8dbbe
orl %esi, -0x30(%rbp)
jne 0x8e0b3
movl $0x47, %eax
jmp 0x8dbbe
movl $0xa3, %eax
orl -0x50(%rbp), %esi
je 0x8dbbe
movl %r11d, %eax
xorl $0x49, %eax
orl %r9d, %eax
movl %r8d, %eax
je 0x8dbbe
movl %r11d, %eax
xorl $0x53, %eax
orl -0x4c(%rbp), %eax
movl %ecx, %eax
je 0x8dbbe
xorl $0x57, %r11d
xorl %eax, %eax
orl %edx, %r11d
sete %al
leal -0x1(,%rax,2), %eax
jmp 0x8dbbe