unsigned char STPV3_IsAddressOrDataCommand(unsigned int cmd) {
  switch (cmd) {
  case 0x0102:
  case 0x0110:
  case 0x1201:
  case 0x1302:
    return (0x01 | 0x02);
    break;
  case 0x0106:
  case 0x0109:
  case 0x1401:
  case 0x010A:
  case 0x0504:
  case 0x0506:
  case 0x040A:
  case 0x040B:
  case 0x0302:
  case 0x0202:
  case 0x0203:
  case 0x0204:
  case 0x0303:
  case 0x0304:
  case 0x0401:
  case 0x0402:
  case 0x0403:
  case 0x0404:
  case 0x0405:
  case 0x0406:
  case 0x0407:
  case 0x0408:
  case 0x0409:
  case 0x040C:
  case 0x040D:
  case 0x0410:
  case 0x0411:
  case 0x0414:
  case 0x0415:
  case 0x0412:
  case 0x0413:
  case 0x0701:
  case 0x0702:
  case 0x0801:
  case 0x0802:
    return (0x04);
    break;
  case 0x0103:
  case 0x0111:
  case 0x1202:
  case 0x1301:
    return (0x01 | 0x02 | 0x04);
    break;
  case 0x010B:
  case 0x0108:
  case 0x0602:
    return (0x01);
    break;
  case 0x0201:
  case 0x0601:
    return (0x01 | 0x04);
    break;
  default:
    return 0x00;
  }
  return 0x00;
}


x86 assembly (clang, -O0):
<STPV3_IsAddressOrDataCommand>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x8(%rbp)
mov    -0x8(%rbp),%eax
mov    %eax,-0xc(%rbp)
sub    $0x102,%eax
je     12e7 <STPV3_IsAddressOrDataCommand+0x1e7>
jmp    111d <STPV3_IsAddressOrDataCommand+0x1d>
mov    -0xc(%rbp),%eax
sub    $0x103,%eax
je     12f9 <STPV3_IsAddressOrDataCommand+0x1f9>
jmp    1130 <STPV3_IsAddressOrDataCommand+0x30>
mov    -0xc(%rbp),%eax
sub    $0x106,%eax
je     12f0 <STPV3_IsAddressOrDataCommand+0x1f0>
jmp    1143 <STPV3_IsAddressOrDataCommand+0x43>
mov    -0xc(%rbp),%eax
sub    $0x108,%eax
je     1302 <STPV3_IsAddressOrDataCommand+0x202>
jmp    1156 <STPV3_IsAddressOrDataCommand+0x56>
mov    -0xc(%rbp),%eax
add    $0xfffffef7,%eax
sub    $0x2,%eax
jb     12f0 <STPV3_IsAddressOrDataCommand+0x1f0>
jmp    116c <STPV3_IsAddressOrDataCommand+0x6c>
mov    -0xc(%rbp),%eax
sub    $0x10b,%eax
je     1302 <STPV3_IsAddressOrDataCommand+0x202>
jmp    117f <STPV3_IsAddressOrDataCommand+0x7f>
mov    -0xc(%rbp),%eax
sub    $0x110,%eax
je     12e7 <STPV3_IsAddressOrDataCommand+0x1e7>
jmp    1192 <STPV3_IsAddressOrDataCommand+0x92>
mov    -0xc(%rbp),%eax
sub    $0x111,%eax
je     12f9 <STPV3_IsAddressOrDataCommand+0x1f9>
jmp    11a5 <STPV3_IsAddressOrDataCommand+0xa5>
mov    -0xc(%rbp),%eax
sub    $0x201,%eax
je     130b <STPV3_IsAddressOrDataCommand+0x20b>
jmp    11b8 <STPV3_IsAddressOrDataCommand+0xb8>
mov    -0xc(%rbp),%eax
add    $0xfffffdfe,%eax
sub    $0x3,%eax
jb     12f0 <STPV3_IsAddressOrDataCommand+0x1f0>
jmp    11ce <STPV3_IsAddressOrDataCommand+0xce>
mov    -0xc(%rbp),%eax
add    $0xfffffcfe,%eax
sub    $0x3,%eax
jb     12f0 <STPV3_IsAddressOrDataCommand+0x1f0>
jmp    11e4 <STPV3_IsAddressOrDataCommand+0xe4>
mov    -0xc(%rbp),%eax
add    $0xfffffbff,%eax
sub    $0xd,%eax
jb     12f0 <STPV3_IsAddressOrDataCommand+0x1f0>
jmp    11fa <STPV3_IsAddressOrDataCommand+0xfa>
mov    -0xc(%rbp),%eax
add    $0xfffffbf0,%eax
sub    $0x6,%eax
jb     12f0 <STPV3_IsAddressOrDataCommand+0x1f0>
jmp    1210 <STPV3_IsAddressOrDataCommand+0x110>
mov    -0xc(%rbp),%eax
sub    $0x504,%eax
je     12f0 <STPV3_IsAddressOrDataCommand+0x1f0>
jmp    1223 <STPV3_IsAddressOrDataCommand+0x123>
mov    -0xc(%rbp),%eax
sub    $0x506,%eax
je     12f0 <STPV3_IsAddressOrDataCommand+0x1f0>
jmp    1236 <STPV3_IsAddressOrDataCommand+0x136>
mov    -0xc(%rbp),%eax
sub    $0x601,%eax
je     130b <STPV3_IsAddressOrDataCommand+0x20b>
jmp    1249 <STPV3_IsAddressOrDataCommand+0x149>
mov    -0xc(%rbp),%eax
sub    $0x602,%eax
je     1302 <STPV3_IsAddressOrDataCommand+0x202>
jmp    125c <STPV3_IsAddressOrDataCommand+0x15c>
mov    -0xc(%rbp),%eax
add    $0xfffff8ff,%eax
sub    $0x2,%eax
jb     12f0 <STPV3_IsAddressOrDataCommand+0x1f0>
jmp    1272 <STPV3_IsAddressOrDataCommand+0x172>
mov    -0xc(%rbp),%eax
add    $0xfffff7ff,%eax
sub    $0x2,%eax
jb     12f0 <STPV3_IsAddressOrDataCommand+0x1f0>
jmp    1288 <STPV3_IsAddressOrDataCommand+0x188>
mov    -0xc(%rbp),%eax
sub    $0x1201,%eax
je     12e7 <STPV3_IsAddressOrDataCommand+0x1e7>
jmp    129b <STPV3_IsAddressOrDataCommand+0x19b>
mov    -0xc(%rbp),%eax
sub    $0x1202,%eax
je     12f9 <STPV3_IsAddressOrDataCommand+0x1f9>
jmp    12ae <STPV3_IsAddressOrDataCommand+0x1ae>
mov    -0xc(%rbp),%eax
sub    $0x1301,%eax
je     12f9 <STPV3_IsAddressOrDataCommand+0x1f9>
jmp    12c1 <STPV3_IsAddressOrDataCommand+0x1c1>
mov    -0xc(%rbp),%eax
sub    $0x1302,%eax
je     12e7 <STPV3_IsAddressOrDataCommand+0x1e7>
jmp    12d4 <STPV3_IsAddressOrDataCommand+0x1d4>
mov    -0xc(%rbp),%eax
sub    $0x1401,%eax
je     12f0 <STPV3_IsAddressOrDataCommand+0x1f0>
jmp    1314 <STPV3_IsAddressOrDataCommand+0x214>
movb   $0x3,-0x1(%rbp)
jmp    1318 <STPV3_IsAddressOrDataCommand+0x218>
movb   $0x4,-0x1(%rbp)
jmp    1318 <STPV3_IsAddressOrDataCommand+0x218>
movb   $0x7,-0x1(%rbp)
jmp    1318 <STPV3_IsAddressOrDataCommand+0x218>
movb   $0x1,-0x1(%rbp)
jmp    1318 <STPV3_IsAddressOrDataCommand+0x218>
movb   $0x5,-0x1(%rbp)
jmp    1318 <STPV3_IsAddressOrDataCommand+0x218>
movb   $0x0,-0x1(%rbp)
movzbl -0x1(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<STPV3_IsAddressOrDataCommand>:
mov    $0x3,%al
cmp    $0x400,%edi
jle    1132 <STPV3_IsAddressOrDataCommand+0x32>
cmp    $0x600,%edi
jg     115a <STPV3_IsAddressOrDataCommand+0x5a>
lea    -0x401(%rdi),%eax
cmp    $0x14,%eax
ja     11fb <STPV3_IsAddressOrDataCommand+0xfb>
mov    $0x1f9fff,%ecx
bt     %eax,%ecx
jae    11fb <STPV3_IsAddressOrDataCommand+0xfb>
mov    $0x4,%al
ret
cmp    $0x200,%edi
jg     118c <STPV3_IsAddressOrDataCommand+0x8c>
add    $0xfffffefe,%edi
cmp    $0xf,%edi
ja     1213 <STPV3_IsAddressOrDataCommand+0x113>
lea    0xeb0(%rip),%rcx
movslq (%rcx,%rdi,4),%rdx
add    %rcx,%rdx
jmp    *%rdx
ret
cmp    $0x1200,%edi
jg     11ad <STPV3_IsAddressOrDataCommand+0xad>
cmp    $0x800,%edi
jg     11d3 <STPV3_IsAddressOrDataCommand+0xd3>
lea    -0x701(%rdi),%eax
cmp    $0x2,%eax
jb     112f <STPV3_IsAddressOrDataCommand+0x2f>
cmp    $0x601,%edi
je     11aa <STPV3_IsAddressOrDataCommand+0xaa>
cmp    $0x602,%edi
jne    1213 <STPV3_IsAddressOrDataCommand+0x113>
mov    $0x1,%al
ret
lea    -0x202(%rdi),%eax
cmp    $0x3,%eax
jb     112f <STPV3_IsAddressOrDataCommand+0x2f>
lea    -0x302(%rdi),%eax
cmp    $0x3,%eax
jb     112f <STPV3_IsAddressOrDataCommand+0x2f>
cmp    $0x201,%edi
jne    1213 <STPV3_IsAddressOrDataCommand+0x113>
mov    $0x5,%al
ret
cmp    $0x1300,%edi
jle    11e4 <STPV3_IsAddressOrDataCommand+0xe4>
cmp    $0x1301,%edi
je     11f8 <STPV3_IsAddressOrDataCommand+0xf8>
cmp    $0x1302,%edi
je     1159 <STPV3_IsAddressOrDataCommand+0x59>
cmp    $0x1401,%edi
je     112f <STPV3_IsAddressOrDataCommand+0x2f>
jmp    1213 <STPV3_IsAddressOrDataCommand+0x113>
add    $0xfffff7ff,%edi
cmp    $0x2,%edi
jb     112f <STPV3_IsAddressOrDataCommand+0x2f>
jmp    1213 <STPV3_IsAddressOrDataCommand+0x113>
cmp    $0x1201,%edi
je     1159 <STPV3_IsAddressOrDataCommand+0x59>
cmp    $0x1202,%edi
jne    1213 <STPV3_IsAddressOrDataCommand+0x113>
mov    $0x7,%al
ret
cmp    $0x504,%edi
je     112f <STPV3_IsAddressOrDataCommand+0x2f>
cmp    $0x506,%edi
je     112f <STPV3_IsAddressOrDataCommand+0x2f>
xor    %eax,%eax
ret

LLVM IR (-O0):
define zeroext i8 @STPV3_IsAddressOrDataCommand(i32 %0) {
%2 = alloca i8
%3 = alloca i32
store i32 %0, i32* %3
%4 = load i32, i32* %3
switch i32 %4, label %10 [
i32 258, label %5
i32 272, label %5
i32 4609, label %5
i32 4866, label %5
i32 262, label %6
i32 265, label %6
i32 5121, label %6
i32 266, label %6
i32 1284, label %6
i32 1286, label %6
i32 1034, label %6
i32 1035, label %6
i32 770, label %6
i32 514, label %6
i32 515, label %6
i32 516, label %6
i32 771, label %6
i32 772, label %6
i32 1025, label %6
i32 1026, label %6
i32 1027, label %6
i32 1028, label %6
i32 1029, label %6
i32 1030, label %6
i32 1031, label %6
i32 1032, label %6
i32 1033, label %6
i32 1036, label %6
i32 1037, label %6
i32 1040, label %6
i32 1041, label %6
i32 1044, label %6
i32 1045, label %6
i32 1042, label %6
i32 1043, label %6
i32 1793, label %6
i32 1794, label %6
i32 2049, label %6
i32 2050, label %6
i32 259, label %7
i32 273, label %7
i32 4610, label %7
i32 4865, label %7
i32 267, label %8
i32 264, label %8
i32 1538, label %8
i32 513, label %9
i32 1537, label %9
]
5: ; preds = %1, %1, %1, %1
store i8 3, i8* %2
br label %11
6: ; preds = %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1
store i8 4, i8* %2
br label %11
7: ; preds = %1, %1, %1, %1
store i8 7, i8* %2
br label %11
8: ; preds = %1, %1, %1
store i8 1, i8* %2
br label %11
9: ; preds = %1, %1
store i8 5, i8* %2
br label %11
10: ; preds = %1
store i8 0, i8* %2
br label %11
11: ; preds = %10, %9, %8, %7, %6, %5
%12 = load i8, i8* %2
ret i8 %12
}

LLVM IR (-O2):
define zeroext i8 @STPV3_IsAddressOrDataCommand(i32 %0) {
switch i32 %0, label %6 [
i32 258, label %7
i32 272, label %7
i32 4609, label %7
i32 4866, label %7
i32 262, label %2
i32 265, label %2
i32 5121, label %2
i32 266, label %2
i32 1284, label %2
i32 1286, label %2
i32 1034, label %2
i32 1035, label %2
i32 770, label %2
i32 514, label %2
i32 515, label %2
i32 516, label %2
i32 771, label %2
i32 772, label %2
i32 1025, label %2
i32 1026, label %2
i32 1027, label %2
i32 1028, label %2
i32 1029, label %2
i32 1030, label %2
i32 1031, label %2
i32 1032, label %2
i32 1033, label %2
i32 1036, label %2
i32 1037, label %2
i32 1040, label %2
i32 1041, label %2
i32 1044, label %2
i32 1045, label %2
i32 1042, label %2
i32 1043, label %2
i32 1793, label %2
i32 1794, label %2
i32 2049, label %2
i32 2050, label %2
i32 259, label %3
i32 273, label %3
i32 4610, label %3
i32 4865, label %3
i32 267, label %4
i32 264, label %4
i32 1538, label %4
i32 513, label %5
i32 1537, label %5
]
2: ; preds = %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1, %1
br label %7
3: ; preds = %1, %1, %1, %1
br label %7
4: ; preds = %1, %1, %1
br label %7
5: ; preds = %1, %1
br label %7
6: ; preds = %1
br label %7
7: ; preds = %1, %1, %1, %1, %6, %5, %4, %3, %2
%8 = phi i8 [ 0, %6 ], [ 5, %5 ], [ 1, %4 ], [ 7, %3 ], [ 4, %2 ], [ 3, %1 ], [ 3, %1 ], [ 3, %1 ], [ 3, %1 ]
ret i8 %8
}