#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int KEY_0;
int KEY_1;
int KEY_2;
int KEY_3;
int KEY_4;
int KEY_5;
int KEY_6;
int KEY_7;
int KEY_8;
int KEY_9;
int KEY_A;
int KEY_B;
int KEY_BACKSLASH;
int KEY_C;
int KEY_COMMA;
int KEY_D;
int KEY_DELETE;
int KEY_DOWN;
int KEY_E;
int KEY_EQUAL;
int KEY_F;
int KEY_FN_ESC;
int KEY_G;
int KEY_H;
int KEY_I;
int KEY_J;
int KEY_K;
int KEY_KP0;
int KEY_KP1;
int KEY_KP2;
int KEY_KP3;
int KEY_KP4;
int KEY_KP5;
int KEY_KP6;
int KEY_KP7;
int KEY_KP8;
int KEY_KP9;
int KEY_KPASTERISK;
int KEY_KPDOT;
int KEY_KPENTER;
int KEY_KPMINUS;
int KEY_KPPLUS;
int KEY_KPSLASH;
int KEY_L;
int KEY_LEFT;
int KEY_LEFTSHIFT;
int KEY_M;
int KEY_N;
int KEY_O;
int KEY_P;
int KEY_Q;
int KEY_R;
int KEY_RIGHT;
int KEY_RIGHTSHIFT;
int KEY_S;
int KEY_SPACE;
int KEY_T;
int KEY_U;
int KEY_UP;
int KEY_V;
int KEY_W;
int KEY_X;
int KEY_Y;
int KEY_Z;
int /*<<< orphan*/ strcmpi(char *, char const *);
int fsKeyToPhysicalKey(const char *str) {
  do {
    if (!strcmpi("0", str))
      return KEY_0;
  } while (0);
  do {
    if (!strcmpi("1", str))
      return KEY_1;
  } while (0);
  do {
    if (!strcmpi("2", str))
      return KEY_2;
  } while (0);
  do {
    if (!strcmpi("3", str))
      return KEY_3;
  } while (0);
  do {
    if (!strcmpi("4", str))
      return KEY_4;
  } while (0);
  do {
    if (!strcmpi("5", str))
      return KEY_5;
  } while (0);
  do {
    if (!strcmpi("6", str))
      return KEY_6;
  } while (0);
  do {
    if (!strcmpi("7", str))
      return KEY_7;
  } while (0);
  do {
    if (!strcmpi("8", str))
      return KEY_8;
  } while (0);
  do {
    if (!strcmpi("9", str))
      return KEY_9;
  } while (0);
  do {
    if (!strcmpi("A", str))
      return KEY_A;
  } while (0);
  do {
    if (!strcmpi("B", str))
      return KEY_B;
  } while (0);
  do {
    if (!strcmpi("C", str))
      return KEY_C;
  } while (0);
  do {
    if (!strcmpi("D", str))
      return KEY_D;
  } while (0);
  do {
    if (!strcmpi("E", str))
      return KEY_E;
  } while (0);
  do {
    if (!strcmpi("F", str))
      return KEY_F;
  } while (0);
  do {
    if (!strcmpi("G", str))
      return KEY_G;
  } while (0);
  do {
    if (!strcmpi("H", str))
      return KEY_H;
  } while (0);
  do {
    if (!strcmpi("I", str))
      return KEY_I;
  } while (0);
  do {
    if (!strcmpi("J", str))
      return KEY_J;
  } while (0);
  do {
    if (!strcmpi("K", str))
      return KEY_K;
  } while (0);
  do {
    if (!strcmpi("L", str))
      return KEY_L;
  } while (0);
  do {
    if (!strcmpi("M", str))
      return KEY_M;
  } while (0);
  do {
    if (!strcmpi("N", str))
      return KEY_N;
  } while (0);
  do {
    if (!strcmpi("O", str))
      return KEY_O;
  } while (0);
  do {
    if (!strcmpi("P", str))
      return KEY_P;
  } while (0);
  do {
    if (!strcmpi("Q", str))
      return KEY_Q;
  } while (0);
  do {
    if (!strcmpi("R", str))
      return KEY_R;
  } while (0);
  do {
    if (!strcmpi("S", str))
      return KEY_S;
  } while (0);
  do {
    if (!strcmpi("T", str))
      return KEY_T;
  } while (0);
  do {
    if (!strcmpi("U", str))
      return KEY_U;
  } while (0);
  do {
    if (!strcmpi("V", str))
      return KEY_V;
  } while (0);
  do {
    if (!strcmpi("W", str))
      return KEY_W;
  } while (0);
  do {
    if (!strcmpi("X", str))
      return KEY_X;
  } while (0);
  do {
    if (!strcmpi("Y", str))
      return KEY_Y;
  } while (0);
  do {
    if (!strcmpi("Z", str))
      return KEY_Z;
  } while (0);
  do {
    if (!strcmpi("SPACE", str))
      return KEY_SPACE;
  } while (0);
  do {
    if (!strcmpi("UP", str))
      return KEY_UP;
  } while (0);
  do {
    if (!strcmpi("DOWN", str))
      return KEY_DOWN;
  } while (0);
  do {
    if (!strcmpi("LEFT", str))
      return KEY_LEFT;
  } while (0);
  do {
    if (!strcmpi("RIGHT", str))
      return KEY_RIGHT;
  } while (0);
  do {
    if (!strcmpi("SPACE", str))
      return KEY_SPACE;
  } while (0);
  do {
    if (!strcmpi("LSHIFT", str))
      return KEY_LEFTSHIFT;
  } while (0);
  do {
    if (!strcmpi("RSHIFT", str))
      return KEY_RIGHTSHIFT;
  } while (0);
  do {
    if (!strcmpi("EQUALS", str))
      return KEY_EQUAL;
  } while (0);
  do {
    if (!strcmpi("DELETE", str))
      return KEY_DELETE;
  } while (0);
  do {
    if (!strcmpi("BACKSLASH", str))
      return KEY_BACKSLASH;
  } while (0);
  do {
    if (!strcmpi("COMMA", str))
      return KEY_COMMA;
  } while (0);
  do {
    if (!strcmpi("ESCAPE", str))
      return KEY_FN_ESC;
  } while (0);
  do {
    if (!strcmpi("KP_0", str))
      return KEY_KP0;
  } while (0);
  do {
    if (!strcmpi("KP_1", str))
      return KEY_KP1;
  } while (0);
  do {
    if (!strcmpi("KP_2", str))
      return KEY_KP2;
  } while (0);
  do {
    if (!strcmpi("KP_3", str))
      return KEY_KP3;
  } while (0);
  do {
    if (!strcmpi("KP_4", str))
      return KEY_KP4;
  } while (0);
  do {
    if (!strcmpi("KP_5", str))
      return KEY_KP5;
  } while (0);
  do {
    if (!strcmpi("KP_6", str))
      return KEY_KP6;
  } while (0);
  do {
    if (!strcmpi("KP_7", str))
      return KEY_KP7;
  } while (0);
  do {
    if (!strcmpi("KP_8", str))
      return KEY_KP8;
  } while (0);
  do {
    if (!strcmpi("KP_9", str))
      return KEY_KP9;
  } while (0);
  do {
    if (!strcmpi("KP_ENTER", str))
      return KEY_KPENTER;
  } while (0);
  do {
    if (!strcmpi("KP_DIVIDE", str))
      return KEY_KPSLASH;
  } while (0);
  do {
    if (!strcmpi("KP_MINUS", str))
      return KEY_KPMINUS;
  } while (0);
  do {
    if (!strcmpi("KP_MULTIPLY", str))
      return KEY_KPASTERISK;
  } while (0);
  do {
    if (!strcmpi("KP_PLUS", str))
      return KEY_KPPLUS;
  } while (0);
  do {
    if (!strcmpi("KP_PERIOD", str))
      return KEY_KPDOT;
  } while (0);
  return (-1);
}


x86 assembly (clang, -O0):
<fsKeyToPhysicalKey>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %rdi,-0x10(%rbp)
mov    -0x10(%rbp),%rsi
lea    0xf48(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2146 <fsKeyToPhysicalKey+0x36>
mov    0x2d54(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    214b <fsKeyToPhysicalKey+0x3b>
jmp    2150 <fsKeyToPhysicalKey+0x40>
mov    -0x10(%rbp),%rsi
lea    0xf19(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    217a <fsKeyToPhysicalKey+0x6a>
mov    0x2e28(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    217f <fsKeyToPhysicalKey+0x6f>
jmp    2184 <fsKeyToPhysicalKey+0x74>
mov    -0x10(%rbp),%rsi
lea    0xeea(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    21ae <fsKeyToPhysicalKey+0x9e>
mov    0x2cf4(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    21b3 <fsKeyToPhysicalKey+0xa3>
jmp    21b8 <fsKeyToPhysicalKey+0xa8>
mov    -0x10(%rbp),%rsi
lea    0xebb(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    21e2 <fsKeyToPhysicalKey+0xd2>
mov    0x2db8(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    21e7 <fsKeyToPhysicalKey+0xd7>
jmp    21ec <fsKeyToPhysicalKey+0xdc>
mov    -0x10(%rbp),%rsi
lea    0xe8c(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2216 <fsKeyToPhysicalKey+0x106>
mov    0x2c94(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    221b <fsKeyToPhysicalKey+0x10b>
jmp    2220 <fsKeyToPhysicalKey+0x110>
mov    -0x10(%rbp),%rsi
lea    0xe5d(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    224a <fsKeyToPhysicalKey+0x13a>
mov    0x2d68(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    224f <fsKeyToPhysicalKey+0x13f>
jmp    2254 <fsKeyToPhysicalKey+0x144>
mov    -0x10(%rbp),%rsi
lea    0xe2e(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    227e <fsKeyToPhysicalKey+0x16e>
mov    0x2c3c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2283 <fsKeyToPhysicalKey+0x173>
jmp    2288 <fsKeyToPhysicalKey+0x178>
mov    -0x10(%rbp),%rsi
lea    0xdff(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    22b2 <fsKeyToPhysicalKey+0x1a2>
mov    0x2cf8(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    22b7 <fsKeyToPhysicalKey+0x1a7>
jmp    22bc <fsKeyToPhysicalKey+0x1ac>
mov    -0x10(%rbp),%rsi
lea    0xdd0(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    22e6 <fsKeyToPhysicalKey+0x1d6>
mov    0x2be4(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    22eb <fsKeyToPhysicalKey+0x1db>
jmp    22f0 <fsKeyToPhysicalKey+0x1e0>
mov    -0x10(%rbp),%rsi
lea    0xda1(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    231a <fsKeyToPhysicalKey+0x20a>
mov    0x2cb0(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    231f <fsKeyToPhysicalKey+0x20f>
jmp    2324 <fsKeyToPhysicalKey+0x214>
mov    -0x10(%rbp),%rsi
lea    0xd34(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    234e <fsKeyToPhysicalKey+0x23e>
mov    0x2c24(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2353 <fsKeyToPhysicalKey+0x243>
jmp    2358 <fsKeyToPhysicalKey+0x248>
mov    -0x10(%rbp),%rsi
lea    0xc9d(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2382 <fsKeyToPhysicalKey+0x272>
mov    0x2af0(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2387 <fsKeyToPhysicalKey+0x277>
jmp    238c <fsKeyToPhysicalKey+0x27c>
mov    -0x10(%rbp),%rsi
lea    0xc6b(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    23b6 <fsKeyToPhysicalKey+0x2a6>
mov    0x2bb4(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    23bb <fsKeyToPhysicalKey+0x2ab>
jmp    23c0 <fsKeyToPhysicalKey+0x2b0>
mov    -0x10(%rbp),%rsi
lea    0xd0b(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    23ea <fsKeyToPhysicalKey+0x2da>
mov    0x2a80(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    23ef <fsKeyToPhysicalKey+0x2df>
jmp    23f4 <fsKeyToPhysicalKey+0x2e4>
mov    -0x10(%rbp),%rsi
lea    0xc25(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    241e <fsKeyToPhysicalKey+0x30e>
mov    0x2b9c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2423 <fsKeyToPhysicalKey+0x313>
jmp    2428 <fsKeyToPhysicalKey+0x318>
mov    -0x10(%rbp),%rsi
lea    0xbd1(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2452 <fsKeyToPhysicalKey+0x342>
mov    0x2a70(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2457 <fsKeyToPhysicalKey+0x347>
jmp    245c <fsKeyToPhysicalKey+0x34c>
mov    -0x10(%rbp),%rsi
lea    0xb9f(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2486 <fsKeyToPhysicalKey+0x376>
mov    0x2b3c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    248b <fsKeyToPhysicalKey+0x37b>
jmp    2490 <fsKeyToPhysicalKey+0x380>
mov    -0x10(%rbp),%rsi
lea    0xbc2(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    24ba <fsKeyToPhysicalKey+0x3aa>
mov    0x29a0(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    24bf <fsKeyToPhysicalKey+0x3af>
jmp    24c4 <fsKeyToPhysicalKey+0x3b4>
mov    -0x10(%rbp),%rsi
lea    0xb39(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    24ee <fsKeyToPhysicalKey+0x3de>
mov    0x2a6c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    24f3 <fsKeyToPhysicalKey+0x3e3>
jmp    24f8 <fsKeyToPhysicalKey+0x3e8>
mov    -0x10(%rbp),%rsi
lea    0xb07(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2522 <fsKeyToPhysicalKey+0x412>
mov    0x2930(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2527 <fsKeyToPhysicalKey+0x417>
jmp    252c <fsKeyToPhysicalKey+0x41c>
mov    -0x10(%rbp),%rsi
lea    0xad5(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2556 <fsKeyToPhysicalKey+0x446>
mov    0x2a2c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    255b <fsKeyToPhysicalKey+0x44b>
jmp    2560 <fsKeyToPhysicalKey+0x450>
mov    -0x10(%rbp),%rsi
lea    0xaa3(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    258a <fsKeyToPhysicalKey+0x47a>
mov    0x2908(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    258f <fsKeyToPhysicalKey+0x47f>
jmp    2594 <fsKeyToPhysicalKey+0x484>
mov    -0x10(%rbp),%rsi
lea    0xa71(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    25be <fsKeyToPhysicalKey+0x4ae>
mov    0x29cc(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    25c3 <fsKeyToPhysicalKey+0x4b3>
jmp    25c8 <fsKeyToPhysicalKey+0x4b8>
mov    -0x10(%rbp),%rsi
lea    0xa59(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    25f2 <fsKeyToPhysicalKey+0x4e2>
mov    0x2898(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    25f7 <fsKeyToPhysicalKey+0x4e7>
jmp    25fc <fsKeyToPhysicalKey+0x4ec>
mov    -0x10(%rbp),%rsi
lea    0xa0b(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2626 <fsKeyToPhysicalKey+0x516>
mov    0x296c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    262b <fsKeyToPhysicalKey+0x51b>
jmp    2630 <fsKeyToPhysicalKey+0x520>
mov    -0x10(%rbp),%rsi
lea    0x9ec(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    265a <fsKeyToPhysicalKey+0x54a>
mov    0x2828(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    265f <fsKeyToPhysicalKey+0x54f>
jmp    2664 <fsKeyToPhysicalKey+0x554>
mov    -0x10(%rbp),%rsi
lea    0x9a5(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    268e <fsKeyToPhysicalKey+0x57e>
mov    0x28bc(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2693 <fsKeyToPhysicalKey+0x583>
jmp    2698 <fsKeyToPhysicalKey+0x588>
mov    -0x10(%rbp),%rsi
lea    0xa02(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    26c2 <fsKeyToPhysicalKey+0x5b2>
mov    0x27b8(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    26c7 <fsKeyToPhysicalKey+0x5b7>
jmp    26cc <fsKeyToPhysicalKey+0x5bc>
mov    -0x10(%rbp),%rsi
lea    0x975(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    26f6 <fsKeyToPhysicalKey+0x5e6>
mov    0x2884(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    26fb <fsKeyToPhysicalKey+0x5eb>
jmp    2700 <fsKeyToPhysicalKey+0x5f0>
mov    -0x10(%rbp),%rsi
lea    0x926(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    272a <fsKeyToPhysicalKey+0x61a>
mov    0x2738(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    272f <fsKeyToPhysicalKey+0x61f>
jmp    2734 <fsKeyToPhysicalKey+0x624>
mov    -0x10(%rbp),%rsi
lea    0x8d7(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    275e <fsKeyToPhysicalKey+0x64e>
mov    0x27e4(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2763 <fsKeyToPhysicalKey+0x653>
jmp    2768 <fsKeyToPhysicalKey+0x658>
mov    -0x10(%rbp),%rsi
lea    0x8a5(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2792 <fsKeyToPhysicalKey+0x682>
mov    0x26b8(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2797 <fsKeyToPhysicalKey+0x687>
jmp    279c <fsKeyToPhysicalKey+0x68c>
mov    -0x10(%rbp),%rsi
lea    0x873(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    27c6 <fsKeyToPhysicalKey+0x6b6>
mov    0x278c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    27cb <fsKeyToPhysicalKey+0x6bb>
jmp    27d0 <fsKeyToPhysicalKey+0x6c0>
mov    -0x10(%rbp),%rsi
lea    0x841(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    27fa <fsKeyToPhysicalKey+0x6ea>
mov    0x26d8(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    27ff <fsKeyToPhysicalKey+0x6ef>
jmp    2804 <fsKeyToPhysicalKey+0x6f4>
mov    -0x10(%rbp),%rsi
lea    0x8b5(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    282e <fsKeyToPhysicalKey+0x71e>
mov    0x27cc(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2833 <fsKeyToPhysicalKey+0x723>
jmp    2838 <fsKeyToPhysicalKey+0x728>
mov    -0x10(%rbp),%rsi
lea    0x7db(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2862 <fsKeyToPhysicalKey+0x752>
mov    0x2678(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2867 <fsKeyToPhysicalKey+0x757>
jmp    286c <fsKeyToPhysicalKey+0x75c>
mov    -0x10(%rbp),%rsi
lea    0x7a9(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2896 <fsKeyToPhysicalKey+0x786>
mov    0x26a4(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    289b <fsKeyToPhysicalKey+0x78b>
jmp    28a0 <fsKeyToPhysicalKey+0x790>
mov    -0x10(%rbp),%rsi
lea    0x77b(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    28ca <fsKeyToPhysicalKey+0x7ba>
mov    0x2628(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    28cf <fsKeyToPhysicalKey+0x7bf>
jmp    28d4 <fsKeyToPhysicalKey+0x7c4>
mov    -0x10(%rbp),%rsi
lea    0x74a(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    28fe <fsKeyToPhysicalKey+0x7ee>
mov    0x25fc(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2903 <fsKeyToPhysicalKey+0x7f3>
jmp    2908 <fsKeyToPhysicalKey+0x7f8>
mov    -0x10(%rbp),%rsi
lea    0x71b(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2932 <fsKeyToPhysicalKey+0x822>
mov    0x24d0(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2937 <fsKeyToPhysicalKey+0x827>
jmp    293c <fsKeyToPhysicalKey+0x82c>
mov    -0x10(%rbp),%rsi
lea    0x6ec(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2966 <fsKeyToPhysicalKey+0x856>
mov    0x24a4(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    296b <fsKeyToPhysicalKey+0x85b>
jmp    2970 <fsKeyToPhysicalKey+0x860>
mov    -0x10(%rbp),%rsi
lea    0x6a5(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    299a <fsKeyToPhysicalKey+0x88a>
mov    0x25a0(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    299f <fsKeyToPhysicalKey+0x88f>
jmp    29a4 <fsKeyToPhysicalKey+0x894>
mov    -0x10(%rbp),%rsi
lea    0x68a(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    29ce <fsKeyToPhysicalKey+0x8be>
mov    0x2474(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    29d3 <fsKeyToPhysicalKey+0x8c3>
jmp    29d8 <fsKeyToPhysicalKey+0x8c8>
mov    -0x10(%rbp),%rsi
lea    0x65d(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2a02 <fsKeyToPhysicalKey+0x8f2>
mov    0x23f8(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2a07 <fsKeyToPhysicalKey+0x8f7>
jmp    2a0c <fsKeyToPhysicalKey+0x8fc>
mov    -0x10(%rbp),%rsi
lea    0x630(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2a36 <fsKeyToPhysicalKey+0x926>
mov    0x24b4(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2a3b <fsKeyToPhysicalKey+0x92b>
jmp    2a40 <fsKeyToPhysicalKey+0x930>
mov    -0x10(%rbp),%rsi
lea    0x603(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2a6a <fsKeyToPhysicalKey+0x95a>
mov    0x2578(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2a6f <fsKeyToPhysicalKey+0x95f>
jmp    2a74 <fsKeyToPhysicalKey+0x964>
mov    -0x10(%rbp),%rsi
lea    0x5d6(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2a9e <fsKeyToPhysicalKey+0x98e>
mov    0x239c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2aa3 <fsKeyToPhysicalKey+0x993>
jmp    2aa8 <fsKeyToPhysicalKey+0x998>
mov    -0x10(%rbp),%rsi
lea    0x5ac(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2ad2 <fsKeyToPhysicalKey+0x9c2>
mov    0x2530(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2ad7 <fsKeyToPhysicalKey+0x9c7>
jmp    2adc <fsKeyToPhysicalKey+0x9cc>
mov    -0x10(%rbp),%rsi
lea    0x57e(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2b06 <fsKeyToPhysicalKey+0x9f6>
mov    0x24cc(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2b0b <fsKeyToPhysicalKey+0x9fb>
jmp    2b10 <fsKeyToPhysicalKey+0xa00>
mov    -0x10(%rbp),%rsi
lea    0x551(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2b3a <fsKeyToPhysicalKey+0xa2a>
mov    0x23f0(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2b3f <fsKeyToPhysicalKey+0xa2f>
jmp    2b44 <fsKeyToPhysicalKey+0xa34>
mov    -0x10(%rbp),%rsi
lea    0x522(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2b6e <fsKeyToPhysicalKey+0xa5e>
mov    0x22ac(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2b73 <fsKeyToPhysicalKey+0xa63>
jmp    2b78 <fsKeyToPhysicalKey+0xa68>
mov    -0x10(%rbp),%rsi
lea    0x4f3(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2ba2 <fsKeyToPhysicalKey+0xa92>
mov    0x2370(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2ba7 <fsKeyToPhysicalKey+0xa97>
jmp    2bac <fsKeyToPhysicalKey+0xa9c>
mov    -0x10(%rbp),%rsi
lea    0x4c4(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2bd6 <fsKeyToPhysicalKey+0xac6>
mov    0x225c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2bdb <fsKeyToPhysicalKey+0xacb>
jmp    2be0 <fsKeyToPhysicalKey+0xad0>
mov    -0x10(%rbp),%rsi
lea    0x495(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2c0a <fsKeyToPhysicalKey+0xafa>
mov    0x2318(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2c0f <fsKeyToPhysicalKey+0xaff>
jmp    2c14 <fsKeyToPhysicalKey+0xb04>
mov    -0x10(%rbp),%rsi
lea    0x466(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2c3e <fsKeyToPhysicalKey+0xb2e>
mov    0x21e4(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2c43 <fsKeyToPhysicalKey+0xb33>
jmp    2c48 <fsKeyToPhysicalKey+0xb38>
mov    -0x10(%rbp),%rsi
lea    0x437(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2c72 <fsKeyToPhysicalKey+0xb62>
mov    0x22c0(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2c77 <fsKeyToPhysicalKey+0xb67>
jmp    2c7c <fsKeyToPhysicalKey+0xb6c>
mov    -0x10(%rbp),%rsi
lea    0x408(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2ca6 <fsKeyToPhysicalKey+0xb96>
mov    0x216c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2cab <fsKeyToPhysicalKey+0xb9b>
jmp    2cb0 <fsKeyToPhysicalKey+0xba0>
mov    -0x10(%rbp),%rsi
lea    0x3d9(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2cda <fsKeyToPhysicalKey+0xbca>
mov    0x2240(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2cdf <fsKeyToPhysicalKey+0xbcf>
jmp    2ce4 <fsKeyToPhysicalKey+0xbd4>
mov    -0x10(%rbp),%rsi
lea    0x3aa(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2d0e <fsKeyToPhysicalKey+0xbfe>
mov    0x211c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2d13 <fsKeyToPhysicalKey+0xc03>
jmp    2d18 <fsKeyToPhysicalKey+0xc08>
mov    -0x10(%rbp),%rsi
lea    0x37b(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2d42 <fsKeyToPhysicalKey+0xc32>
mov    0x21c0(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2d47 <fsKeyToPhysicalKey+0xc37>
jmp    2d4c <fsKeyToPhysicalKey+0xc3c>
mov    -0x10(%rbp),%rsi
lea    0x350(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2d76 <fsKeyToPhysicalKey+0xc66>
mov    0x2194(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2d7b <fsKeyToPhysicalKey+0xc6b>
jmp    2d80 <fsKeyToPhysicalKey+0xc70>
mov    -0x10(%rbp),%rsi
lea    0x326(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2daa <fsKeyToPhysicalKey+0xc9a>
mov    0x2248(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2daf <fsKeyToPhysicalKey+0xc9f>
jmp    2db4 <fsKeyToPhysicalKey+0xca4>
mov    -0x10(%rbp),%rsi
lea    0x2fb(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2dde <fsKeyToPhysicalKey+0xcce>
mov    0x2184(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2de3 <fsKeyToPhysicalKey+0xcd3>
jmp    2de8 <fsKeyToPhysicalKey+0xcd8>
mov    -0x10(%rbp),%rsi
lea    0x2d3(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2e12 <fsKeyToPhysicalKey+0xd02>
mov    0x20a0(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2e17 <fsKeyToPhysicalKey+0xd07>
jmp    2e1c <fsKeyToPhysicalKey+0xd0c>
mov    -0x10(%rbp),%rsi
lea    0x2a7(%rip),%rdi
call   2030 <strcmpi@plt>
cmp    $0x0,%eax
jne    2e46 <fsKeyToPhysicalKey+0xd36>
mov    0x1fa4(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
jmp    2e52 <fsKeyToPhysicalKey+0xd42>
jmp    2e4b <fsKeyToPhysicalKey+0xd3b>
movl   $0xffffffff,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<fsKeyToPhysicalKey>:
push   %rbx
mov    %rdi,%rbx
lea    0xf54(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     26f2 <fsKeyToPhysicalKey+0x5e2>
lea    0xf42(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     26fe <fsKeyToPhysicalKey+0x5ee>
lea    0xf30(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     270a <fsKeyToPhysicalKey+0x5fa>
lea    0xf1e(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2716 <fsKeyToPhysicalKey+0x606>
lea    0xf0c(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2722 <fsKeyToPhysicalKey+0x612>
lea    0xefa(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     272e <fsKeyToPhysicalKey+0x61e>
lea    0xee8(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     273a <fsKeyToPhysicalKey+0x62a>
lea    0xed6(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2746 <fsKeyToPhysicalKey+0x636>
lea    0xec4(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2752 <fsKeyToPhysicalKey+0x642>
lea    0xeb2(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     275e <fsKeyToPhysicalKey+0x64e>
lea    0xe62(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     276a <fsKeyToPhysicalKey+0x65a>
lea    0xde8(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2776 <fsKeyToPhysicalKey+0x666>
lea    0xdd3(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2782 <fsKeyToPhysicalKey+0x672>
lea    0xe90(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     278e <fsKeyToPhysicalKey+0x67e>
lea    0xdc7(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     279a <fsKeyToPhysicalKey+0x68a>
lea    0xd90(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     27a6 <fsKeyToPhysicalKey+0x696>
lea    0xd7b(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     27b2 <fsKeyToPhysicalKey+0x6a2>
lea    0xdbb(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     27be <fsKeyToPhysicalKey+0x6ae>
lea    0xd4f(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     27ca <fsKeyToPhysicalKey+0x6ba>
lea    0xd3a(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     27d6 <fsKeyToPhysicalKey+0x6c6>
lea    0xd25(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     27e2 <fsKeyToPhysicalKey+0x6d2>
lea    0xd10(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     27ee <fsKeyToPhysicalKey+0x6de>
lea    0xcfb(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     27fa <fsKeyToPhysicalKey+0x6ea>
lea    0xd00(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2806 <fsKeyToPhysicalKey+0x6f6>
lea    0xccf(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2812 <fsKeyToPhysicalKey+0x702>
lea    0xccd(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     281e <fsKeyToPhysicalKey+0x70e>
lea    0xca3(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     282a <fsKeyToPhysicalKey+0x71a>
lea    0xd1d(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2836 <fsKeyToPhysicalKey+0x726>
lea    0xcad(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2842 <fsKeyToPhysicalKey+0x732>
lea    0xc7b(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     284e <fsKeyToPhysicalKey+0x73e>
lea    0xc49(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     285a <fsKeyToPhysicalKey+0x74a>
lea    0xc34(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2866 <fsKeyToPhysicalKey+0x756>
lea    0xc1f(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2872 <fsKeyToPhysicalKey+0x762>
lea    0xc0a(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     287e <fsKeyToPhysicalKey+0x76e>
lea    0xc9b(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     288a <fsKeyToPhysicalKey+0x77a>
lea    0xbde(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2896 <fsKeyToPhysicalKey+0x786>
lea    0xbc9(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     28a2 <fsKeyToPhysicalKey+0x792>
lea    0xbb8(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     28ae <fsKeyToPhysicalKey+0x79e>
lea    0xba4(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     28ba <fsKeyToPhysicalKey+0x7aa>
lea    0xb92(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     28c6 <fsKeyToPhysicalKey+0x7b6>
lea    0xb80(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     28d2 <fsKeyToPhysicalKey+0x7c2>
lea    0xb56(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     28a2 <fsKeyToPhysicalKey+0x792>
lea    0xb58(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     28de <fsKeyToPhysicalKey+0x7ce>
lea    0xb48(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     28ea <fsKeyToPhysicalKey+0x7da>
lea    0xb38(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     28f6 <fsKeyToPhysicalKey+0x7e6>
lea    0xb28(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2902 <fsKeyToPhysicalKey+0x7f2>
lea    0xb18(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     290e <fsKeyToPhysicalKey+0x7fe>
lea    0xb0b(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     291a <fsKeyToPhysicalKey+0x80a>
lea    0xafa(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2926 <fsKeyToPhysicalKey+0x816>
lea    0xaea(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2932 <fsKeyToPhysicalKey+0x822>
lea    0xad8(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     293b <fsKeyToPhysicalKey+0x82b>
lea    0xac6(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2944 <fsKeyToPhysicalKey+0x834>
lea    0xab4(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     294d <fsKeyToPhysicalKey+0x83d>
lea    0xaa2(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2956 <fsKeyToPhysicalKey+0x846>
lea    0xa90(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     295f <fsKeyToPhysicalKey+0x84f>
lea    0xa7e(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2968 <fsKeyToPhysicalKey+0x858>
lea    0xa6c(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2971 <fsKeyToPhysicalKey+0x861>
lea    0xa5a(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     297a <fsKeyToPhysicalKey+0x86a>
lea    0xa48(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2983 <fsKeyToPhysicalKey+0x873>
lea    0xa36(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     298c <fsKeyToPhysicalKey+0x87c>
lea    0xa28(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     2995 <fsKeyToPhysicalKey+0x885>
lea    0xa1b(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     299e <fsKeyToPhysicalKey+0x88e>
lea    0xa0d(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     29a7 <fsKeyToPhysicalKey+0x897>
lea    0xa02(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
test   %eax,%eax
je     29b0 <fsKeyToPhysicalKey+0x8a0>
lea    0x9f3(%rip),%rdi
mov    %rbx,%rsi
call   2030 <strcmpi@plt>
mov    0x26f6(%rip),%rcx
neg    %eax
sbb    %eax,%eax
or     (%rcx),%eax
pop    %rbx
ret
mov    0x2797(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2893(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2787(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2873(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2777(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2873(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x276f(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2853(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2767(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x285b(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x27f7(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x26eb(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x27d7(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x26cb(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x280f(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x270b(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x27ff(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x268b(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x277f(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x266b(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x278f(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2693(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x277f(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2673(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x276f(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2653(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x270f(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2633(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2727(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2603(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x26d7(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x25d3(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x26cf(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2643(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x275f(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2633(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2687(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2633(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x262f(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x252b(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2527(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2553(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x24ff(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x25e3(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x26cf(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x251b(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x26d7(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x269b(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x25e7(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x24ce(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x25bd(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x24d4(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x25bb(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x24b2(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x25b9(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2490(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x258f(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2496(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2565(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2564(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x2643(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x25aa(%rip),%rax
jmp    29b7 <fsKeyToPhysicalKey+0x8a7>
mov    0x24f1(%rip),%rax
mov    (%rax),%eax
pop    %rbx
ret

LLVM IR (-O0):
@.str = [2 x i8] c"0\00"
@KEY_0 = global i32 0
@.str.1 = [2 x i8] c"1\00"
@KEY_1 = global i32 0
@.str.2 = [2 x i8] c"2\00"
@KEY_2 = global i32 0
@.str.3 = [2 x i8] c"3\00"
@KEY_3 = global i32 0
@.str.4 = [2 x i8] c"4\00"
@KEY_4 = global i32 0
@.str.5 = [2 x i8] c"5\00"
@KEY_5 = global i32 0
@.str.6 = [2 x i8] c"6\00"
@KEY_6 = global i32 0
@.str.7 = [2 x i8] c"7\00"
@KEY_7 = global i32 0
@.str.8 = [2 x i8] c"8\00"
@KEY_8 = global i32 0
@.str.9 = [2 x i8] c"9\00"
@KEY_9 = global i32 0
@.str.10 = [2 x i8] c"A\00"
@KEY_A = global i32 0
@.str.11 = [2 x i8] c"B\00"
@KEY_B = global i32 0
@.str.12 = [2 x i8] c"C\00"
@KEY_C = global i32 0
@.str.13 = [2 x i8] c"D\00"
@KEY_D = global i32 0
@.str.14 = [2 x i8] c"E\00"
@KEY_E = global i32 0
@.str.15 = [2 x i8] c"F\00"
@KEY_F = global i32 0
@.str.16 = [2 x i8] c"G\00"
@KEY_G = global i32 0
@.str.17 = [2 x i8] c"H\00"
@KEY_H = global i32 0
@.str.18 = [2 x i8] c"I\00"
@KEY_I = global i32 0
@.str.19 = [2 x i8] c"J\00"
@KEY_J = global i32 0
@.str.20 = [2 x i8] c"K\00"
@KEY_K = global i32 0
@.str.21 = [2 x i8] c"L\00"
@KEY_L = global i32 0
@.str.22 = [2 x i8] c"M\00"
@KEY_M = global i32 0
@.str.23 = [2 x i8] c"N\00"
@KEY_N = global i32 0
@.str.24 = [2 x i8] c"O\00"
@KEY_O = global i32 0
@.str.25 = [2 x i8] c"P\00"
@KEY_P = global i32 0
@.str.26 = [2 x i8] c"Q\00"
@KEY_Q = global i32 0
@.str.27 = [2 x i8] c"R\00"
@KEY_R = global i32 0
@.str.28 = [2 x i8] c"S\00"
@KEY_S = global i32 0
@.str.29 = [2 x i8] c"T\00"
@KEY_T = global i32 0
@.str.30 = [2 x i8] c"U\00"
@KEY_U = global i32 0
@.str.31 = [2 x i8] c"V\00"
@KEY_V = global i32 0
@.str.32 = [2 x i8] c"W\00"
@KEY_W = global i32 0
@.str.33 = [2 x i8] c"X\00"
@KEY_X = global i32 0
@.str.34 = [2 x i8] c"Y\00"
@KEY_Y = global i32 0
@.str.35 = [2 x i8] c"Z\00"
@KEY_Z = global i32 0
@.str.36 = [6 x i8] c"SPACE\00"
@KEY_SPACE = global i32 0
@.str.37 = [3 x i8] c"UP\00"
@KEY_UP = global i32 0
@.str.38 = [5 x i8] c"DOWN\00"
@KEY_DOWN = global i32 0
@.str.39 = [5 x i8] c"LEFT\00"
@KEY_LEFT = global i32 0
@.str.40 = [6 x i8] c"RIGHT\00"
@KEY_RIGHT = global i32 0
@.str.41 = [7 x i8] c"LSHIFT\00"
@KEY_LEFTSHIFT = global i32 0
@.str.42 = [7 x i8] c"RSHIFT\00"
@KEY_RIGHTSHIFT = global i32 0
@.str.43 = [7 x i8] c"EQUALS\00"
@KEY_EQUAL = global i32 0
@.str.44 = [7 x i8] c"DELETE\00"
@KEY_DELETE = global i32 0
@.str.45 = [10 x i8] c"BACKSLASH\00"
@KEY_BACKSLASH = global i32 0
@.str.46 = [6 x i8] c"COMMA\00"
@KEY_COMMA = global i32 0
@.str.47 = [7 x i8] c"ESCAPE\00"
@KEY_FN_ESC = global i32 0
@.str.48 = [5 x i8] c"KP_0\00"
@KEY_KP0 = global i32 0
@.str.49 = [5 x i8] c"KP_1\00"
@KEY_KP1 = global i32 0
@.str.50 = [5 x i8] c"KP_2\00"
@KEY_KP2 = global i32 0
@.str.51 = [5 x i8] c"KP_3\00"
@KEY_KP3 = global i32 0
@.str.52 = [5 x i8] c"KP_4\00"
@KEY_KP4 = global i32 0
@.str.53 = [5 x i8] c"KP_5\00"
@KEY_KP5 = global i32 0
@.str.54 = [5 x i8] c"KP_6\00"
@KEY_KP6 = global i32 0
@.str.55 = [5 x i8] c"KP_7\00"
@KEY_KP7 = global i32 0
@.str.56 = [5 x i8] c"KP_8\00"
@KEY_KP8 = global i32 0
@.str.57 = [5 x i8] c"KP_9\00"
@KEY_KP9 = global i32 0
@.str.58 = [9 x i8] c"KP_ENTER\00"
@KEY_KPENTER = global i32 0
@.str.59 = [10 x i8] c"KP_DIVIDE\00"
@KEY_KPSLASH = global i32 0
@.str.60 = [9 x i8] c"KP_MINUS\00"
@KEY_KPMINUS = global i32 0
@.str.61 = [12 x i8] c"KP_MULTIPLY\00"
@KEY_KPASTERISK = global i32 0
@.str.62 = [8 x i8] c"KP_PLUS\00"
@KEY_KPPLUS = global i32 0
@.str.63 = [10 x i8] c"KP_PERIOD\00"
@KEY_KPDOT = global i32 0
define i32 @fsKeyToPhysicalKey(i8* %0) {
%2 = alloca i32
%3 = alloca i8*
store i8* %0, i8** %3
br label %4
4: ; preds = %1
%5 = load i8*, i8** %3
%6 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0), i8* %5)
%7 = icmp ne i32 %6, 0
br i1 %7, label %10, label %8
8: ; preds = %4
%9 = load i32, i32* @KEY_0
store i32 %9, i32* %2
br label %524
10: ; preds = %4
br label %11
11: ; preds = %10
br label %12
12: ; preds = %11
%13 = load i8*, i8** %3
%14 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i8* %13)
%15 = icmp ne i32 %14, 0
br i1 %15, label %18, label %16
16: ; preds = %12
%17 = load i32, i32* @KEY_1
store i32 %17, i32* %2
br label %524
18: ; preds = %12
br label %19
19: ; preds = %18
br label %20
20: ; preds = %19
%21 = load i8*, i8** %3
%22 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.2, i64 0, i64 0), i8* %21)
%23 = icmp ne i32 %22, 0
br i1 %23, label %26, label %24
24: ; preds = %20
%25 = load i32, i32* @KEY_2
store i32 %25, i32* %2
br label %524
26: ; preds = %20
br label %27
27: ; preds = %26
br label %28
28: ; preds = %27
%29 = load i8*, i8** %3
%30 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0), i8* %29)
%31 = icmp ne i32 %30, 0
br i1 %31, label %34, label %32
32: ; preds = %28
%33 = load i32, i32* @KEY_3
store i32 %33, i32* %2
br label %524
34: ; preds = %28
br label %35
35: ; preds = %34
br label %36
36: ; preds = %35
%37 = load i8*, i8** %3
%38 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0), i8* %37)
%39 = icmp ne i32 %38, 0
br i1 %39, label %42, label %40
40: ; preds = %36
%41 = load i32, i32* @KEY_4
store i32 %41, i32* %2
br label %524
42: ; preds = %36
br label %43
43: ; preds = %42
br label %44
44: ; preds = %43
%45 = load i8*, i8** %3
%46 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), i8* %45)
%47 = icmp ne i32 %46, 0
br i1 %47, label %50, label %48
48: ; preds = %44
%49 = load i32, i32* @KEY_5
store i32 %49, i32* %2
br label %524
50: ; preds = %44
br label %51
51: ; preds = %50
br label %52
52: ; preds = %51
%53 = load i8*, i8** %3
%54 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* %53)
%55 = icmp ne i32 %54, 0
br i1 %55, label %58, label %56
56: ; preds = %52
%57 = load i32, i32* @KEY_6
store i32 %57, i32* %2
br label %524
58: ; preds = %52
br label %59
59: ; preds = %58
br label %60
60: ; preds = %59
%61 = load i8*, i8** %3
%62 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7, i64 0, i64 0), i8* %61)
%63 = icmp ne i32 %62, 0
br i1 %63, label %66, label %64
64: ; preds = %60
%65 = load i32, i32* @KEY_7
store i32 %65, i32* %2
br label %524
66: ; preds = %60
br label %67
67: ; preds = %66
br label %68
68: ; preds = %67
%69 = load i8*, i8** %3
%70 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.8, i64 0, i64 0), i8* %69)
%71 = icmp ne i32 %70, 0
br i1 %71, label %74, label %72
72: ; preds = %68
%73 = load i32, i32* @KEY_8
store i32 %73, i32* %2
br label %524
74: ; preds = %68
br label %75
75: ; preds = %74
br label %76
76: ; preds = %75
%77 = load i8*, i8** %3
%78 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.9, i64 0, i64 0), i8* %77)
%79 = icmp ne i32 %78, 0
br i1 %79, label %82, label %80
80: ; preds = %76
%81 = load i32, i32* @KEY_9
store i32 %81, i32* %2
br label %524
82: ; preds = %76
br label %83
83: ; preds = %82
br label %84
84: ; preds = %83
%85 = load i8*, i8** %3
%86 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0), i8* %85)
%87 = icmp ne i32 %86, 0
br i1 %87, label %90, label %88
88: ; preds = %84
%89 = load i32, i32* @KEY_A
store i32 %89, i32* %2
br label %524
90: ; preds = %84
br label %91
91: ; preds = %90
br label %92
92: ; preds = %91
%93 = load i8*, i8** %3
%94 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11, i64 0, i64 0), i8* %93)
%95 = icmp ne i32 %94, 0
br i1 %95, label %98, label %96
96: ; preds = %92
%97 = load i32, i32* @KEY_B
store i32 %97, i32* %2
br label %524
98: ; preds = %92
br label %99
99: ; preds = %98
br label %100
100: ; preds = %99
%101 = load i8*, i8** %3
%102 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12, i64 0, i64 0), i8* %101)
%103 = icmp ne i32 %102, 0
br i1 %103, label %106, label %104
104: ; preds = %100
%105 = load i32, i32* @KEY_C
store i32 %105, i32* %2
br label %524
106: ; preds = %100
br label %107
107: ; preds = %106
br label %108
108: ; preds = %107
%109 = load i8*, i8** %3
%110 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.13, i64 0, i64 0), i8* %109)
%111 = icmp ne i32 %110, 0
br i1 %111, label %114, label %112
112: ; preds = %108
%113 = load i32, i32* @KEY_D
store i32 %113, i32* %2
br label %524
114: ; preds = %108
br label %115
115: ; preds = %114
br label %116
116: ; preds = %115
%117 = load i8*, i8** %3
%118 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i8* %117)
%119 = icmp ne i32 %118, 0
br i1 %119, label %122, label %120
120: ; preds = %116
%121 = load i32, i32* @KEY_E
store i32 %121, i32* %2
br label %524
122: ; preds = %116
br label %123
123: ; preds = %122
br label %124
124: ; preds = %123
%125 = load i8*, i8** %3
%126 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.15, i64 0, i64 0), i8* %125)
%127 = icmp ne i32 %126, 0
br i1 %127, label %130, label %128
128: ; preds = %124
%129 = load i32, i32* @KEY_F
store i32 %129, i32* %2
br label %524
130: ; preds = %124
br label %131
131: ; preds = %130
br label %132
132: ; preds = %131
%133 = load i8*, i8** %3
%134 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.16, i64 0, i64 0), i8* %133)
%135 = icmp ne i32 %134, 0
br i1 %135, label %138, label %136
136: ; preds = %132
%137 = load i32, i32* @KEY_G
store i32 %137, i32* %2
br label %524
138: ; preds = %132
br label %139
139: ; preds = %138
br label %140
140: ; preds = %139
%141 = load i8*, i8** %3
%142 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.17, i64 0, i64 0), i8* %141)
%143 = icmp ne i32 %142, 0
br i1 %143, label %146, label %144
144: ; preds = %140
%145 = load i32, i32* @KEY_H
store i32 %145, i32* %2
br label %524
146: ; preds = %140
br label %147
147: ; preds = %146
br label %148
148: ; preds = %147
%149 = load i8*, i8** %3
%150 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.18, i64 0, i64 0), i8* %149)
%151 = icmp ne i32 %150, 0
br i1 %151, label %154, label %152
152: ; preds = %148
%153 = load i32, i32* @KEY_I
store i32 %153, i32* %2
br label %524
154: ; preds = %148
br label %155
155: ; preds = %154
br label %156
156: ; preds = %155
%157 = load i8*, i8** %3
%158 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.19, i64 0, i64 0), i8* %157)
%159 = icmp ne i32 %158, 0
br i1 %159, label %162, label %160
160: ; preds = %156
%161 = load i32, i32* @KEY_J
store i32 %161, i32* %2
br label %524
162: ; preds = %156
br label %163
163: ; preds = %162
br label %164
164: ; preds = %163
%165 = load i8*, i8** %3
%166 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.20, i64 0, i64 0), i8* %165)
%167 = icmp ne i32 %166, 0
br i1 %167, label %170, label %168
168: ; preds = %164
%169 = load i32, i32* @KEY_K
store i32 %169, i32* %2
br label %524
170: ; preds = %164
br label %171
171: ; preds = %170
br label %172
172: ; preds = %171
%173 = load i8*, i8** %3
%174 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.21, i64 0, i64 0), i8* %173)
%175 = icmp ne i32 %174, 0
br i1 %175, label %178, label %176
176: ; preds = %172
%177 = load i32, i32* @KEY_L
store i32 %177, i32* %2
br label %524
178: ; preds = %172
br label %179
179: ; preds = %178
br label %180
180: ; preds = %179
%181 = load i8*, i8** %3
%182 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.22, i64 0, i64 0), i8* %181)
%183 = icmp ne i32 %182, 0
br i1 %183, label %186, label %184
184: ; preds = %180
%185 = load i32, i32* @KEY_M
store i32 %185, i32* %2
br label %524
186: ; preds = %180
br label %187
187: ; preds = %186
br label %188
188: ; preds = %187
%189 = load i8*, i8** %3
%190 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.23, i64 0, i64 0), i8* %189)
%191 = icmp ne i32 %190, 0
br i1 %191, label %194, label %192
192: ; preds = %188
%193 = load i32, i32* @KEY_N
store i32 %193, i32* %2
br label %524
194: ; preds = %188
br label %195
195: ; preds = %194
br label %196
196: ; preds = %195
%197 = load i8*, i8** %3
%198 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24, i64 0, i64 0), i8* %197)
%199 = icmp ne i32 %198, 0
br i1 %199, label %202, label %200
200: ; preds = %196
%201 = load i32, i32* @KEY_O
store i32 %201, i32* %2
br label %524
202: ; preds = %196
br label %203
203: ; preds = %202
br label %204
204: ; preds = %203
%205 = load i8*, i8** %3
%206 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0), i8* %205)
%207 = icmp ne i32 %206, 0
br i1 %207, label %210, label %208
208: ; preds = %204
%209 = load i32, i32* @KEY_P
store i32 %209, i32* %2
br label %524
210: ; preds = %204
br label %211
211: ; preds = %210
br label %212
212: ; preds = %211
%213 = load i8*, i8** %3
%214 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.26, i64 0, i64 0), i8* %213)
%215 = icmp ne i32 %214, 0
br i1 %215, label %218, label %216
216: ; preds = %212
%217 = load i32, i32* @KEY_Q
store i32 %217, i32* %2
br label %524
218: ; preds = %212
br label %219
219: ; preds = %218
br label %220
220: ; preds = %219
%221 = load i8*, i8** %3
%222 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.27, i64 0, i64 0), i8* %221)
%223 = icmp ne i32 %222, 0
br i1 %223, label %226, label %224
224: ; preds = %220
%225 = load i32, i32* @KEY_R
store i32 %225, i32* %2
br label %524
226: ; preds = %220
br label %227
227: ; preds = %226
br label %228
228: ; preds = %227
%229 = load i8*, i8** %3
%230 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.28, i64 0, i64 0), i8* %229)
%231 = icmp ne i32 %230, 0
br i1 %231, label %234, label %232
232: ; preds = %228
%233 = load i32, i32* @KEY_S
store i32 %233, i32* %2
br label %524
234: ; preds = %228
br label %235
235: ; preds = %234
br label %236
236: ; preds = %235
%237 = load i8*, i8** %3
%238 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.29, i64 0, i64 0), i8* %237)
%239 = icmp ne i32 %238, 0
br i1 %239, label %242, label %240
240: ; preds = %236
%241 = load i32, i32* @KEY_T
store i32 %241, i32* %2
br label %524
242: ; preds = %236
br label %243
243: ; preds = %242
br label %244
244: ; preds = %243
%245 = load i8*, i8** %3
%246 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.30, i64 0, i64 0), i8* %245)
%247 = icmp ne i32 %246, 0
br i1 %247, label %250, label %248
248: ; preds = %244
%249 = load i32, i32* @KEY_U
store i32 %249, i32* %2
br label %524
250: ; preds = %244
br label %251
251: ; preds = %250
br label %252
252: ; preds = %251
%253 = load i8*, i8** %3
%254 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.31, i64 0, i64 0), i8* %253)
%255 = icmp ne i32 %254, 0
br i1 %255, label %258, label %256
256: ; preds = %252
%257 = load i32, i32* @KEY_V
store i32 %257, i32* %2
br label %524
258: ; preds = %252
br label %259
259: ; preds = %258
br label %260
260: ; preds = %259
%261 = load i8*, i8** %3
%262 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.32, i64 0, i64 0), i8* %261)
%263 = icmp ne i32 %262, 0
br i1 %263, label %266, label %264
264: ; preds = %260
%265 = load i32, i32* @KEY_W
store i32 %265, i32* %2
br label %524
266: ; preds = %260
br label %267
267: ; preds = %266
br label %268
268: ; preds = %267
%269 = load i8*, i8** %3
%270 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.33, i64 0, i64 0), i8* %269)
%271 = icmp ne i32 %270, 0
br i1 %271, label %274, label %272
272: ; preds = %268
%273 = load i32, i32* @KEY_X
store i32 %273, i32* %2
br label %524
274: ; preds = %268
br label %275
275: ; preds = %274
br label %276
276: ; preds = %275
%277 = load i8*, i8** %3
%278 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0), i8* %277)
%279 = icmp ne i32 %278, 0
br i1 %279, label %282, label %280
280: ; preds = %276
%281 = load i32, i32* @KEY_Y
store i32 %281, i32* %2
br label %524
282: ; preds = %276
br label %283
283: ; preds = %282
br label %284
284: ; preds = %283
%285 = load i8*, i8** %3
%286 = call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.35, i64 0, i64 0), i8* %285)
%287 = icmp ne i32 %286, 0
br i1 %287, label %290, label %288
288: ; preds = %284
%289 = load i32, i32* @KEY_Z
store i32 %289, i32* %2
br label %524
290: ; preds = %284
br label %291
291: ; preds = %290
br label %292
292: ; preds = %291
%293 = load i8*, i8** %3
%294 = call i32 @strcmpi(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.36, i64 0, i64 0), i8* %293)
%295 = icmp ne i32 %294, 0
br i1 %295, label %298, label %296
296: ; preds = %292
%297 = load i32, i32* @KEY_SPACE
store i32 %297, i32* %2
br label %524
298: ; preds = %292
br label %299
299: ; preds = %298
br label %300
300: ; preds = %299
%301 = load i8*, i8** %3
%302 = call i32 @strcmpi(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.37, i64 0, i64 0), i8* %301)
%303 = icmp ne i32 %302, 0
br i1 %303, label %306, label %304
304: ; preds = %300
%305 = load i32, i32* @KEY_UP
store i32 %305, i32* %2
br label %524
306: ; preds = %300
br label %307
307: ; preds = %306
br label %308
308: ; preds = %307
%309 = load i8*, i8** %3
%310 = call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.38, i64 0, i64 0), i8* %309)
%311 = icmp ne i32 %310, 0
br i1 %311, label %314, label %312
312: ; preds = %308
%313 = load i32, i32* @KEY_DOWN
store i32 %313, i32* %2
br label %524
314: ; preds = %308
br label %315
315: ; preds = %314
br label %316
316: ; preds = %315
%317 = load i8*, i8** %3
%318 = call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.39, i64 0, i64 0), i8* %317)
%319 = icmp ne i32 %318, 0
br i1 %319, label %322, label %320
320: ; preds = %316
%321 = load i32, i32* @KEY_LEFT
store i32 %321, i32* %2
br label %524
322: ; preds = %316
br label %323
323: ; preds = %322
br label %324
324: ; preds = %323
%325 = load i8*, i8** %3
%326 = call i32 @strcmpi(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.40, i64 0, i64 0), i8* %325)
%327 = icmp ne i32 %326, 0
br i1 %327, label %330, label %328
328: ; preds = %324
%329 = load i32, i32* @KEY_RIGHT
store i32 %329, i32* %2
br label %524
330: ; preds = %324
br label %331
331: ; preds = %330
br label %332
332: ; preds = %331
%333 = load i8*, i8** %3
%334 = call i32 @strcmpi(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.36, i64 0, i64 0), i8* %333)
%335 = icmp ne i32 %334, 0
br i1 %335, label %338, label %336
336: ; preds = %332
%337 = load i32, i32* @KEY_SPACE
store i32 %337, i32* %2
br label %524
338: ; preds = %332
br label %339
339: ; preds = %338
br label %340
340: ; preds = %339
%341 = load i8*, i8** %3
%342 = call i32 @strcmpi(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.41, i64 0, i64 0), i8* %341)
%343 = icmp ne i32 %342, 0
br i1 %343, label %346, label %344
344: ; preds = %340
%345 = load i32, i32* @KEY_LEFTSHIFT
store i32 %345, i32* %2
br label %524
346: ; preds = %340
br label %347
347: ; preds = %346
br label %348
348: ; preds = %347
%349 = load i8*, i8** %3
%350 = call i32 @strcmpi(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.42, i64 0, i64 0), i8* %349)
%351 = icmp ne i32 %350, 0
br i1 %351, label %354, label %352
352: ; preds = %348
%353 = load i32, i32* @KEY_RIGHTSHIFT
store i32 %353, i32* %2
br label %524
354: ; preds = %348
br label %355
355: ; preds = %354
br label %356
356: ; preds = %355
%357 = load i8*, i8** %3
%358 = call i32 @strcmpi(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.43, i64 0, i64 0), i8* %357)
%359 = icmp ne i32 %358, 0
br i1 %359, label %362, label %360
360: ; preds = %356
%361 = load i32, i32* @KEY_EQUAL
store i32 %361, i32* %2
br label %524
362: ; preds = %356
br label %363
363: ; preds = %362
br label %364
364: ; preds = %363
%365 = load i8*, i8** %3
%366 = call i32 @strcmpi(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.44, i64 0, i64 0), i8* %365)
%367 = icmp ne i32 %366, 0
br i1 %367, label %370, label %368
368: ; preds = %364
%369 = load i32, i32* @KEY_DELETE
store i32 %369, i32* %2
br label %524
370: ; preds = %364
br label %371
371: ; preds = %370
br label %372
372: ; preds = %371
%373 = load i8*, i8** %3
%374 = call i32 @strcmpi(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.45, i64 0, i64 0), i8* %373)
%375 = icmp ne i32 %374, 0
br i1 %375, label %378, label %376
376: ; preds = %372
%377 = load i32, i32* @KEY_BACKSLASH
store i32 %377, i32* %2
br label %524
378: ; preds = %372
br label %379
379: ; preds = %378
br label %380
380: ; preds = %379
%381 = load i8*, i8** %3
%382 = call i32 @strcmpi(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.46, i64 0, i64 0), i8* %381)
%383 = icmp ne i32 %382, 0
br i1 %383, label %386, label %384
384: ; preds = %380
%385 = load i32, i32* @KEY_COMMA
store i32 %385, i32* %2
br label %524
386: ; preds = %380
br label %387
387: ; preds = %386
br label %388
388: ; preds = %387
%389 = load i8*, i8** %3
%390 = call i32 @strcmpi(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.47, i64 0, i64 0), i8* %389)
%391 = icmp ne i32 %390, 0
br i1 %391, label %394, label %392
392: ; preds = %388
%393 = load i32, i32* @KEY_FN_ESC
store i32 %393, i32* %2
br label %524
394: ; preds = %388
br label %395
395: ; preds = %394
br label %396
396: ; preds = %395
%397 = load i8*, i8** %3
%398 = call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.48, i64 0, i64 0), i8* %397)
%399 = icmp ne i32 %398, 0
br i1 %399, label %402, label %400
400: ; preds = %396
%401 = load i32, i32* @KEY_KP0
store i32 %401, i32* %2
br label %524
402: ; preds = %396
br label %403
403: ; preds = %402
br label %404
404: ; preds = %403
%405 = load i8*, i8** %3
%406 = call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.49, i64 0, i64 0), i8* %405)
%407 = icmp ne i32 %406, 0
br i1 %407, label %410, label %408
408: ; preds = %404
%409 = load i32, i32* @KEY_KP1
store i32 %409, i32* %2
br label %524
410: ; preds = %404
br label %411
411: ; preds = %410
br label %412
412: ; preds = %411
%413 = load i8*, i8** %3
%414 = call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.50, i64 0, i64 0), i8* %413)
%415 = icmp ne i32 %414, 0
br i1 %415, label %418, label %416
416: ; preds = %412
%417 = load i32, i32* @KEY_KP2
store i32 %417, i32* %2
br label %524
418: ; preds = %412
br label %419
419: ; preds = %418
br label %420
420: ; preds = %419
%421 = load i8*, i8** %3
%422 = call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.51, i64 0, i64 0), i8* %421)
%423 = icmp ne i32 %422, 0
br i1 %423, label %426, label %424
424: ; preds = %420
%425 = load i32, i32* @KEY_KP3
store i32 %425, i32* %2
br label %524
426: ; preds = %420
br label %427
427: ; preds = %426
br label %428
428: ; preds = %427
%429 = load i8*, i8** %3
%430 = call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.52, i64 0, i64 0), i8* %429)
%431 = icmp ne i32 %430, 0
br i1 %431, label %434, label %432
432: ; preds = %428
%433 = load i32, i32* @KEY_KP4
store i32 %433, i32* %2
br label %524
434: ; preds = %428
br label %435
435: ; preds = %434
br label %436
436: ; preds = %435
%437 = load i8*, i8** %3
%438 = call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.53, i64 0, i64 0), i8* %437)
%439 = icmp ne i32 %438, 0
br i1 %439, label %442, label %440
440: ; preds = %436
%441 = load i32, i32* @KEY_KP5
store i32 %441, i32* %2
br label %524
442: ; preds = %436
br label %443
443: ; preds = %442
br label %444
444: ; preds = %443
%445 = load i8*, i8** %3
%446 = call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.54, i64 0, i64 0), i8* %445)
%447 = icmp ne i32 %446, 0
br i1 %447, label %450, label %448
448: ; preds = %444
%449 = load i32, i32* @KEY_KP6
store i32 %449, i32* %2
br label %524
450: ; preds = %444
br label %451
451: ; preds = %450
br label %452
452: ; preds = %451
%453 = load i8*, i8** %3
%454 = call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.55, i64 0, i64 0), i8* %453)
%455 = icmp ne i32 %454, 0
br i1 %455, label %458, label %456
456: ; preds = %452
%457 = load i32, i32* @KEY_KP7
store i32 %457, i32* %2
br label %524
458: ; preds = %452
br label %459
459: ; preds = %458
br label %460
460: ; preds = %459
%461 = load i8*, i8** %3
%462 = call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.56, i64 0, i64 0), i8* %461)
%463 = icmp ne i32 %462, 0
br i1 %463, label %466, label %464
464: ; preds = %460
%465 = load i32, i32* @KEY_KP8
store i32 %465, i32* %2
br label %524
466: ; preds = %460
br label %467
467: ; preds = %466
br label %468
468: ; preds = %467
%469 = load i8*, i8** %3
%470 = call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.57, i64 0, i64 0), i8* %469)
%471 = icmp ne i32 %470, 0
br i1 %471, label %474, label %472
472: ; preds = %468
%473 = load i32, i32* @KEY_KP9
store i32 %473, i32* %2
br label %524
474: ; preds = %468
br label %475
475: ; preds = %474
br label %476
476: ; preds = %475
%477 = load i8*, i8** %3
%478 = call i32 @strcmpi(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.58, i64 0, i64 0), i8* %477)
%479 = icmp ne i32 %478, 0
br i1 %479, label %482, label %480
480: ; preds = %476
%481 = load i32, i32* @KEY_KPENTER
store i32 %481, i32* %2
br label %524
482: ; preds = %476
br label %483
483: ; preds = %482
br label %484
484: ; preds = %483
%485 = load i8*, i8** %3
%486 = call i32 @strcmpi(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.59, i64 0, i64 0), i8* %485)
%487 = icmp ne i32 %486, 0
br i1 %487, label %490, label %488
488: ; preds = %484
%489 = load i32, i32* @KEY_KPSLASH
store i32 %489, i32* %2
br label %524
490: ; preds = %484
br label %491
491: ; preds = %490
br label %492
492: ; preds = %491
%493 = load i8*, i8** %3
%494 = call i32 @strcmpi(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.60, i64 0, i64 0), i8* %493)
%495 = icmp ne i32 %494, 0
br i1 %495, label %498, label %496
496: ; preds = %492
%497 = load i32, i32* @KEY_KPMINUS
store i32 %497, i32* %2
br label %524
498: ; preds = %492
br label %499
499: ; preds = %498
br label %500
500: ; preds = %499
%501 = load i8*, i8** %3
%502 = call i32 @strcmpi(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.61, i64 0, i64 0), i8* %501)
%503 = icmp ne i32 %502, 0
br i1 %503, label %506, label %504
504: ; preds = %500
%505 = load i32, i32* @KEY_KPASTERISK
store i32 %505, i32* %2
br label %524
506: ; preds = %500
br label %507
507: ; preds = %506
br label %508
508: ; preds = %507
%509 = load i8*, i8** %3
%510 = call i32 @strcmpi(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.62, i64 0, i64 0), i8* %509)
%511 = icmp ne i32 %510, 0
br i1 %511, label %514, label %512
512: ; preds = %508
%513 = load i32, i32* @KEY_KPPLUS
store i32 %513, i32* %2
br label %524
514: ; preds = %508
br label %515
515: ; preds = %514
br label %516
516: ; preds = %515
%517 = load i8*, i8** %3
%518 = call i32 @strcmpi(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.63, i64 0, i64 0), i8* %517)
%519 = icmp ne i32 %518, 0
br i1 %519, label %522, label %520
520: ; preds = %516
%521 = load i32, i32* @KEY_KPDOT
store i32 %521, i32* %2
br label %524
522: ; preds = %516
br label %523
523: ; preds = %522
store i32 -1, i32* %2
br label %524
524: ; preds = %523, %520, %512, %504, %496, %488, %480, %472, %464, %456, %448, %440, %432, %424, %416, %408, %400, %392, %384, %376, %368, %360, %352, %344, %336, %328, %320, %312, %304, %296, %288, %280, %272, %264, %256, %248, %240, %232, %224, %216, %208, %200, %192, %184, %176, %168, %160, %152, %144, %136, %128, %120, %112, %104, %96, %88, %80, %72, %64, %56, %48, %40, %32, %24, %16, %8
%525 = load i32, i32* %2
ret i32 %525
}

LLVM IR (-O2):
@.str = [2 x i8] c"0\00"
@KEY_0 = global i32 0
@.str.1 = [2 x i8] c"1\00"
@KEY_1 = global i32 0
@.str.2 = [2 x i8] c"2\00"
@KEY_2 = global i32 0
@.str.3 = [2 x i8] c"3\00"
@KEY_3 = global i32 0
@.str.4 = [2 x i8] c"4\00"
@KEY_4 = global i32 0
@.str.5 = [2 x i8] c"5\00"
@KEY_5 = global i32 0
@.str.6 = [2 x i8] c"6\00"
@KEY_6 = global i32 0
@.str.7 = [2 x i8] c"7\00"
@KEY_7 = global i32 0
@.str.8 = [2 x i8] c"8\00"
@KEY_8 = global i32 0
@.str.9 = [2 x i8] c"9\00"
@KEY_9 = global i32 0
@.str.10 = [2 x i8] c"A\00"
@KEY_A = global i32 0
@.str.11 = [2 x i8] c"B\00"
@KEY_B = global i32 0
@.str.12 = [2 x i8] c"C\00"
@KEY_C = global i32 0
@.str.13 = [2 x i8] c"D\00"
@KEY_D = global i32 0
@.str.14 = [2 x i8] c"E\00"
@KEY_E = global i32 0
@.str.15 = [2 x i8] c"F\00"
@KEY_F = global i32 0
@.str.16 = [2 x i8] c"G\00"
@KEY_G = global i32 0
@.str.17 = [2 x i8] c"H\00"
@KEY_H = global i32 0
@.str.18 = [2 x i8] c"I\00"
@KEY_I = global i32 0
@.str.19 = [2 x i8] c"J\00"
@KEY_J = global i32 0
@.str.20 = [2 x i8] c"K\00"
@KEY_K = global i32 0
@.str.21 = [2 x i8] c"L\00"
@KEY_L = global i32 0
@.str.22 = [2 x i8] c"M\00"
@KEY_M = global i32 0
@.str.23 = [2 x i8] c"N\00"
@KEY_N = global i32 0
@.str.24 = [2 x i8] c"O\00"
@KEY_O = global i32 0
@.str.25 = [2 x i8] c"P\00"
@KEY_P = global i32 0
@.str.26 = [2 x i8] c"Q\00"
@KEY_Q = global i32 0
@.str.27 = [2 x i8] c"R\00"
@KEY_R = global i32 0
@.str.28 = [2 x i8] c"S\00"
@KEY_S = global i32 0
@.str.29 = [2 x i8] c"T\00"
@KEY_T = global i32 0
@.str.30 = [2 x i8] c"U\00"
@KEY_U = global i32 0
@.str.31 = [2 x i8] c"V\00"
@KEY_V = global i32 0
@.str.32 = [2 x i8] c"W\00"
@KEY_W = global i32 0
@.str.33 = [2 x i8] c"X\00"
@KEY_X = global i32 0
@.str.34 = [2 x i8] c"Y\00"
@KEY_Y = global i32 0
@.str.35 = [2 x i8] c"Z\00"
@KEY_Z = global i32 0
@.str.36 = [6 x i8] c"SPACE\00"
@KEY_SPACE = global i32 0
@.str.37 = [3 x i8] c"UP\00"
@KEY_UP = global i32 0
@.str.38 = [5 x i8] c"DOWN\00"
@KEY_DOWN = global i32 0
@.str.39 = [5 x i8] c"LEFT\00"
@KEY_LEFT = global i32 0
@.str.40 = [6 x i8] c"RIGHT\00"
@KEY_RIGHT = global i32 0
@.str.41 = [7 x i8] c"LSHIFT\00"
@KEY_LEFTSHIFT = global i32 0
@.str.42 = [7 x i8] c"RSHIFT\00"
@KEY_RIGHTSHIFT = global i32 0
@.str.43 = [7 x i8] c"EQUALS\00"
@KEY_EQUAL = global i32 0
@.str.44 = [7 x i8] c"DELETE\00"
@KEY_DELETE = global i32 0
@.str.45 = [10 x i8] c"BACKSLASH\00"
@KEY_BACKSLASH = global i32 0
@.str.46 = [6 x i8] c"COMMA\00"
@KEY_COMMA = global i32 0
@.str.47 = [7 x i8] c"ESCAPE\00"
@KEY_FN_ESC = global i32 0
@.str.48 = [5 x i8] c"KP_0\00"
@KEY_KP0 = global i32 0
@.str.49 = [5 x i8] c"KP_1\00"
@KEY_KP1 = global i32 0
@.str.50 = [5 x i8] c"KP_2\00"
@KEY_KP2 = global i32 0
@.str.51 = [5 x i8] c"KP_3\00"
@KEY_KP3 = global i32 0
@.str.52 = [5 x i8] c"KP_4\00"
@KEY_KP4 = global i32 0
@.str.53 = [5 x i8] c"KP_5\00"
@KEY_KP5 = global i32 0
@.str.54 = [5 x i8] c"KP_6\00"
@KEY_KP6 = global i32 0
@.str.55 = [5 x i8] c"KP_7\00"
@KEY_KP7 = global i32 0
@.str.56 = [5 x i8] c"KP_8\00"
@KEY_KP8 = global i32 0
@.str.57 = [5 x i8] c"KP_9\00"
@KEY_KP9 = global i32 0
@.str.58 = [9 x i8] c"KP_ENTER\00"
@KEY_KPENTER = global i32 0
@.str.59 = [10 x i8] c"KP_DIVIDE\00"
@KEY_KPSLASH = global i32 0
@.str.60 = [9 x i8] c"KP_MINUS\00"
@KEY_KPMINUS = global i32 0
@.str.61 = [12 x i8] c"KP_MULTIPLY\00"
@KEY_KPASTERISK = global i32 0
@.str.62 = [8 x i8] c"KP_PLUS\00"
@KEY_KPPLUS = global i32 0
@.str.63 = [10 x i8] c"KP_PERIOD\00"
@KEY_KPDOT = global i32 0
define i32 @fsKeyToPhysicalKey(i8* %0) {
%2 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0), i8* %0)
%3 = icmp eq i32 %2, 0
br i1 %3, label %4, label %6
4: ; preds = %1
%5 = load i32, i32* @KEY_0
br label %326
6: ; preds = %1
%7 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i8* %0)
%8 = icmp eq i32 %7, 0
br i1 %8, label %9, label %11
9: ; preds = %6
%10 = load i32, i32* @KEY_1
br label %326
11: ; preds = %6
%12 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.2, i64 0, i64 0), i8* %0)
%13 = icmp eq i32 %12, 0
br i1 %13, label %14, label %16
14: ; preds = %11
%15 = load i32, i32* @KEY_2
br label %326
16: ; preds = %11
%17 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0), i8* %0)
%18 = icmp eq i32 %17, 0
br i1 %18, label %19, label %21
19: ; preds = %16
%20 = load i32, i32* @KEY_3
br label %326
21: ; preds = %16
%22 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0), i8* %0)
%23 = icmp eq i32 %22, 0
br i1 %23, label %24, label %26
24: ; preds = %21
%25 = load i32, i32* @KEY_4
br label %326
26: ; preds = %21
%27 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), i8* %0)
%28 = icmp eq i32 %27, 0
br i1 %28, label %29, label %31
29: ; preds = %26
%30 = load i32, i32* @KEY_5
br label %326
31: ; preds = %26
%32 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* %0)
%33 = icmp eq i32 %32, 0
br i1 %33, label %34, label %36
34: ; preds = %31
%35 = load i32, i32* @KEY_6
br label %326
36: ; preds = %31
%37 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7, i64 0, i64 0), i8* %0)
%38 = icmp eq i32 %37, 0
br i1 %38, label %39, label %41
39: ; preds = %36
%40 = load i32, i32* @KEY_7
br label %326
41: ; preds = %36
%42 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.8, i64 0, i64 0), i8* %0)
%43 = icmp eq i32 %42, 0
br i1 %43, label %44, label %46
44: ; preds = %41
%45 = load i32, i32* @KEY_8
br label %326
46: ; preds = %41
%47 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.9, i64 0, i64 0), i8* %0)
%48 = icmp eq i32 %47, 0
br i1 %48, label %49, label %51
49: ; preds = %46
%50 = load i32, i32* @KEY_9
br label %326
51: ; preds = %46
%52 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10, i64 0, i64 0), i8* %0)
%53 = icmp eq i32 %52, 0
br i1 %53, label %54, label %56
54: ; preds = %51
%55 = load i32, i32* @KEY_A
br label %326
56: ; preds = %51
%57 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11, i64 0, i64 0), i8* %0)
%58 = icmp eq i32 %57, 0
br i1 %58, label %59, label %61
59: ; preds = %56
%60 = load i32, i32* @KEY_B
br label %326
61: ; preds = %56
%62 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12, i64 0, i64 0), i8* %0)
%63 = icmp eq i32 %62, 0
br i1 %63, label %64, label %66
64: ; preds = %61
%65 = load i32, i32* @KEY_C
br label %326
66: ; preds = %61
%67 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.13, i64 0, i64 0), i8* %0)
%68 = icmp eq i32 %67, 0
br i1 %68, label %69, label %71
69: ; preds = %66
%70 = load i32, i32* @KEY_D
br label %326
71: ; preds = %66
%72 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14, i64 0, i64 0), i8* %0)
%73 = icmp eq i32 %72, 0
br i1 %73, label %74, label %76
74: ; preds = %71
%75 = load i32, i32* @KEY_E
br label %326
76: ; preds = %71
%77 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.15, i64 0, i64 0), i8* %0)
%78 = icmp eq i32 %77, 0
br i1 %78, label %79, label %81
79: ; preds = %76
%80 = load i32, i32* @KEY_F
br label %326
81: ; preds = %76
%82 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.16, i64 0, i64 0), i8* %0)
%83 = icmp eq i32 %82, 0
br i1 %83, label %84, label %86
84: ; preds = %81
%85 = load i32, i32* @KEY_G
br label %326
86: ; preds = %81
%87 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.17, i64 0, i64 0), i8* %0)
%88 = icmp eq i32 %87, 0
br i1 %88, label %89, label %91
89: ; preds = %86
%90 = load i32, i32* @KEY_H
br label %326
91: ; preds = %86
%92 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.18, i64 0, i64 0), i8* %0)
%93 = icmp eq i32 %92, 0
br i1 %93, label %94, label %96
94: ; preds = %91
%95 = load i32, i32* @KEY_I
br label %326
96: ; preds = %91
%97 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.19, i64 0, i64 0), i8* %0)
%98 = icmp eq i32 %97, 0
br i1 %98, label %99, label %101
99: ; preds = %96
%100 = load i32, i32* @KEY_J
br label %326
101: ; preds = %96
%102 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.20, i64 0, i64 0), i8* %0)
%103 = icmp eq i32 %102, 0
br i1 %103, label %104, label %106
104: ; preds = %101
%105 = load i32, i32* @KEY_K
br label %326
106: ; preds = %101
%107 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.21, i64 0, i64 0), i8* %0)
%108 = icmp eq i32 %107, 0
br i1 %108, label %109, label %111
109: ; preds = %106
%110 = load i32, i32* @KEY_L
br label %326
111: ; preds = %106
%112 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.22, i64 0, i64 0), i8* %0)
%113 = icmp eq i32 %112, 0
br i1 %113, label %114, label %116
114: ; preds = %111
%115 = load i32, i32* @KEY_M
br label %326
116: ; preds = %111
%117 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.23, i64 0, i64 0), i8* %0)
%118 = icmp eq i32 %117, 0
br i1 %118, label %119, label %121
119: ; preds = %116
%120 = load i32, i32* @KEY_N
br label %326
121: ; preds = %116
%122 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24, i64 0, i64 0), i8* %0)
%123 = icmp eq i32 %122, 0
br i1 %123, label %124, label %126
124: ; preds = %121
%125 = load i32, i32* @KEY_O
br label %326
126: ; preds = %121
%127 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0), i8* %0)
%128 = icmp eq i32 %127, 0
br i1 %128, label %129, label %131
129: ; preds = %126
%130 = load i32, i32* @KEY_P
br label %326
131: ; preds = %126
%132 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.26, i64 0, i64 0), i8* %0)
%133 = icmp eq i32 %132, 0
br i1 %133, label %134, label %136
134: ; preds = %131
%135 = load i32, i32* @KEY_Q
br label %326
136: ; preds = %131
%137 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.27, i64 0, i64 0), i8* %0)
%138 = icmp eq i32 %137, 0
br i1 %138, label %139, label %141
139: ; preds = %136
%140 = load i32, i32* @KEY_R
br label %326
141: ; preds = %136
%142 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.28, i64 0, i64 0), i8* %0)
%143 = icmp eq i32 %142, 0
br i1 %143, label %144, label %146
144: ; preds = %141
%145 = load i32, i32* @KEY_S
br label %326
146: ; preds = %141
%147 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.29, i64 0, i64 0), i8* %0)
%148 = icmp eq i32 %147, 0
br i1 %148, label %149, label %151
149: ; preds = %146
%150 = load i32, i32* @KEY_T
br label %326
151: ; preds = %146
%152 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.30, i64 0, i64 0), i8* %0)
%153 = icmp eq i32 %152, 0
br i1 %153, label %154, label %156
154: ; preds = %151
%155 = load i32, i32* @KEY_U
br label %326
156: ; preds = %151
%157 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.31, i64 0, i64 0), i8* %0)
%158 = icmp eq i32 %157, 0
br i1 %158, label %159, label %161
159: ; preds = %156
%160 = load i32, i32* @KEY_V
br label %326
161: ; preds = %156
%162 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.32, i64 0, i64 0), i8* %0)
%163 = icmp eq i32 %162, 0
br i1 %163, label %164, label %166
164: ; preds = %161
%165 = load i32, i32* @KEY_W
br label %326
166: ; preds = %161
%167 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.33, i64 0, i64 0), i8* %0)
%168 = icmp eq i32 %167, 0
br i1 %168, label %169, label %171
169: ; preds = %166
%170 = load i32, i32* @KEY_X
br label %326
171: ; preds = %166
%172 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0), i8* %0)
%173 = icmp eq i32 %172, 0
br i1 %173, label %174, label %176
174: ; preds = %171
%175 = load i32, i32* @KEY_Y
br label %326
176: ; preds = %171
%177 = tail call i32 @strcmpi(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.35, i64 0, i64 0), i8* %0)
%178 = icmp eq i32 %177, 0
br i1 %178, label %179, label %181
179: ; preds = %176
%180 = load i32, i32* @KEY_Z
br label %326
181: ; preds = %176
%182 = tail call i32 @strcmpi(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.36, i64 0, i64 0), i8* %0)
%183 = icmp eq i32 %182, 0
br i1 %183, label %184, label %186
184: ; preds = %181
%185 = load i32, i32* @KEY_SPACE
br label %326
186: ; preds = %181
%187 = tail call i32 @strcmpi(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.37, i64 0, i64 0), i8* %0)
%188 = icmp eq i32 %187, 0
br i1 %188, label %189, label %191
189: ; preds = %186
%190 = load i32, i32* @KEY_UP
br label %326
191: ; preds = %186
%192 = tail call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.38, i64 0, i64 0), i8* %0)
%193 = icmp eq i32 %192, 0
br i1 %193, label %194, label %196
194: ; preds = %191
%195 = load i32, i32* @KEY_DOWN
br label %326
196: ; preds = %191
%197 = tail call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.39, i64 0, i64 0), i8* %0)
%198 = icmp eq i32 %197, 0
br i1 %198, label %199, label %201
199: ; preds = %196
%200 = load i32, i32* @KEY_LEFT
br label %326
201: ; preds = %196
%202 = tail call i32 @strcmpi(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.40, i64 0, i64 0), i8* %0)
%203 = icmp eq i32 %202, 0
br i1 %203, label %204, label %206
204: ; preds = %201
%205 = load i32, i32* @KEY_RIGHT
br label %326
206: ; preds = %201
%207 = tail call i32 @strcmpi(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.36, i64 0, i64 0), i8* %0)
%208 = icmp eq i32 %207, 0
br i1 %208, label %209, label %211
209: ; preds = %206
%210 = load i32, i32* @KEY_SPACE
br label %326
211: ; preds = %206
%212 = tail call i32 @strcmpi(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.41, i64 0, i64 0), i8* %0)
%213 = icmp eq i32 %212, 0
br i1 %213, label %214, label %216
214: ; preds = %211
%215 = load i32, i32* @KEY_LEFTSHIFT
br label %326
216: ; preds = %211
%217 = tail call i32 @strcmpi(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.42, i64 0, i64 0), i8* %0)
%218 = icmp eq i32 %217, 0
br i1 %218, label %219, label %221
219: ; preds = %216
%220 = load i32, i32* @KEY_RIGHTSHIFT
br label %326
221: ; preds = %216
%222 = tail call i32 @strcmpi(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.43, i64 0, i64 0), i8* %0)
%223 = icmp eq i32 %222, 0
br i1 %223, label %224, label %226
224: ; preds = %221
%225 = load i32, i32* @KEY_EQUAL
br label %326
226: ; preds = %221
%227 = tail call i32 @strcmpi(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.44, i64 0, i64 0), i8* %0)
%228 = icmp eq i32 %227, 0
br i1 %228, label %229, label %231
229: ; preds = %226
%230 = load i32, i32* @KEY_DELETE
br label %326
231: ; preds = %226
%232 = tail call i32 @strcmpi(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.45, i64 0, i64 0), i8* %0)
%233 = icmp eq i32 %232, 0
br i1 %233, label %234, label %236
234: ; preds = %231
%235 = load i32, i32* @KEY_BACKSLASH
br label %326
236: ; preds = %231
%237 = tail call i32 @strcmpi(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.46, i64 0, i64 0), i8* %0)
%238 = icmp eq i32 %237, 0
br i1 %238, label %239, label %241
239: ; preds = %236
%240 = load i32, i32* @KEY_COMMA
br label %326
241: ; preds = %236
%242 = tail call i32 @strcmpi(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.47, i64 0, i64 0), i8* %0)
%243 = icmp eq i32 %242, 0
br i1 %243, label %244, label %246
244: ; preds = %241
%245 = load i32, i32* @KEY_FN_ESC
br label %326
246: ; preds = %241
%247 = tail call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.48, i64 0, i64 0), i8* %0)
%248 = icmp eq i32 %247, 0
br i1 %248, label %249, label %251
249: ; preds = %246
%250 = load i32, i32* @KEY_KP0
br label %326
251: ; preds = %246
%252 = tail call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.49, i64 0, i64 0), i8* %0)
%253 = icmp eq i32 %252, 0
br i1 %253, label %254, label %256
254: ; preds = %251
%255 = load i32, i32* @KEY_KP1
br label %326
256: ; preds = %251
%257 = tail call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.50, i64 0, i64 0), i8* %0)
%258 = icmp eq i32 %257, 0
br i1 %258, label %259, label %261
259: ; preds = %256
%260 = load i32, i32* @KEY_KP2
br label %326
261: ; preds = %256
%262 = tail call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.51, i64 0, i64 0), i8* %0)
%263 = icmp eq i32 %262, 0
br i1 %263, label %264, label %266
264: ; preds = %261
%265 = load i32, i32* @KEY_KP3
br label %326
266: ; preds = %261
%267 = tail call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.52, i64 0, i64 0), i8* %0)
%268 = icmp eq i32 %267, 0
br i1 %268, label %269, label %271
269: ; preds = %266
%270 = load i32, i32* @KEY_KP4
br label %326
271: ; preds = %266
%272 = tail call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.53, i64 0, i64 0), i8* %0)
%273 = icmp eq i32 %272, 0
br i1 %273, label %274, label %276
274: ; preds = %271
%275 = load i32, i32* @KEY_KP5
br label %326
276: ; preds = %271
%277 = tail call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.54, i64 0, i64 0), i8* %0)
%278 = icmp eq i32 %277, 0
br i1 %278, label %279, label %281
279: ; preds = %276
%280 = load i32, i32* @KEY_KP6
br label %326
281: ; preds = %276
%282 = tail call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.55, i64 0, i64 0), i8* %0)
%283 = icmp eq i32 %282, 0
br i1 %283, label %284, label %286
284: ; preds = %281
%285 = load i32, i32* @KEY_KP7
br label %326
286: ; preds = %281
%287 = tail call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.56, i64 0, i64 0), i8* %0)
%288 = icmp eq i32 %287, 0
br i1 %288, label %289, label %291
289: ; preds = %286
%290 = load i32, i32* @KEY_KP8
br label %326
291: ; preds = %286
%292 = tail call i32 @strcmpi(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.57, i64 0, i64 0), i8* %0)
%293 = icmp eq i32 %292, 0
br i1 %293, label %294, label %296
294: ; preds = %291
%295 = load i32, i32* @KEY_KP9
br label %326
296: ; preds = %291
%297 = tail call i32 @strcmpi(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.58, i64 0, i64 0), i8* %0)
%298 = icmp eq i32 %297, 0
br i1 %298, label %299, label %301
299: ; preds = %296
%300 = load i32, i32* @KEY_KPENTER
br label %326
301: ; preds = %296
%302 = tail call i32 @strcmpi(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.59, i64 0, i64 0), i8* %0)
%303 = icmp eq i32 %302, 0
br i1 %303, label %304, label %306
304: ; preds = %301
%305 = load i32, i32* @KEY_KPSLASH
br label %326
306: ; preds = %301
%307 = tail call i32 @strcmpi(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.60, i64 0, i64 0), i8* %0)
%308 = icmp eq i32 %307, 0
br i1 %308, label %309, label %311
309: ; preds = %306
%310 = load i32, i32* @KEY_KPMINUS
br label %326
311: ; preds = %306
%312 = tail call i32 @strcmpi(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.61, i64 0, i64 0), i8* %0)
%313 = icmp eq i32 %312, 0
br i1 %313, label %314, label %316
314: ; preds = %311
%315 = load i32, i32* @KEY_KPASTERISK
br label %326
316: ; preds = %311
%317 = tail call i32 @strcmpi(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.62, i64 0, i64 0), i8* %0)
%318 = icmp eq i32 %317, 0
br i1 %318, label %319, label %321
319: ; preds = %316
%320 = load i32, i32* @KEY_KPPLUS
br label %326
321: ; preds = %316
%322 = tail call i32 @strcmpi(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.63, i64 0, i64 0), i8* %0)
%323 = icmp eq i32 %322, 0
%324 = load i32, i32* @KEY_KPDOT
%325 = select i1 %323, i32 %324, i32 -1
br label %326
326: ; preds = %321, %319, %314, %309, %304, %299, %294, %289, %284, %279, %274, %269, %264, %259, %254, %249, %244, %239, %234, %229, %224, %219, %214, %209, %204, %199, %194, %189, %184, %179, %174, %169, %164, %159, %154, %149, %144, %139, %134, %129, %124, %119, %114, %109, %104, %99, %94, %89, %84, %79, %74, %69, %64, %59, %54, %49, %44, %39, %34, %29, %24, %19, %14, %9, %4
%327 = phi i32 [ %320, %319 ], [ %315, %314 ], [ %310, %309 ], [ %305, %304 ], [ %300, %299 ], [ %295, %294 ], [ %290, %289 ], [ %285, %284 ], [ %280, %279 ], [ %275, %274 ], [ %270, %269 ], [ %265, %264 ], [ %260, %259 ], [ %255, %254 ], [ %250, %249 ], [ %245, %244 ], [ %240, %239 ], [ %235, %234 ], [ %230, %229 ], [ %225, %224 ], [ %220, %219 ], [ %215, %214 ], [ %210, %209 ], [ %205, %204 ], [ %200, %199 ], [ %195, %194 ], [ %190, %189 ], [ %185, %184 ], [ %180, %179 ], [ %175, %174 ], [ %170, %169 ], [ %165, %164 ], [ %160, %159 ], [ %155, %154 ], [ %150, %149 ], [ %145, %144 ], [ %140, %139 ], [ %135, %134 ], [ %130, %129 ], [ %125, %124 ], [ %120, %119 ], [ %115, %114 ], [ %110, %109 ], [ %105, %104 ], [ %100, %99 ], [ %95, %94 ], [ %90, %89 ], [ %85, %84 ], [ %80, %79 ], [ %75, %74 ], [ %70, %69 ], [ %65, %64 ], [ %60, %59 ], [ %55, %54 ], [ %50, %49 ], [ %45, %44 ], [ %40, %39 ], [ %35, %34 ], [ %30, %29 ], [ %25, %24 ], [ %20, %19 ], [ %15, %14 ], [ %10, %9 ], [ %5, %4 ], [ %325, %321 ]
ret i32 %327
}