#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 BTN_LEFT;
int BTN_MIDDLE;
int BTN_RIGHT;
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_APOSTROPHE;
int KEY_B;
int KEY_BACKSLASH;
int KEY_BACKSPACE;
int KEY_C;
int KEY_CAPSLOCK;
int KEY_COMMA;
int KEY_D;
int KEY_DELETE;
int KEY_DOT;
int KEY_DOWN;
int KEY_E;
int KEY_END;
int KEY_ENTER;
int KEY_ESC;
int KEY_F;
int KEY_F1;
int KEY_F10;
int KEY_F11;
int KEY_F12;
int KEY_F13;
int KEY_F14;
int KEY_F15;
int KEY_F16;
int KEY_F17;
int KEY_F18;
int KEY_F19;
int KEY_F2;
int KEY_F20;
int KEY_F21;
int KEY_F22;
int KEY_F23;
int KEY_F24;
int KEY_F3;
int KEY_F4;
int KEY_F5;
int KEY_F6;
int KEY_F7;
int KEY_F8;
int KEY_F9;
int KEY_G;
int KEY_H;
int KEY_HELP;
int KEY_HOME;
int KEY_I;
int KEY_INSERT;
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_KPCOMMA;
int KEY_KPDOT;
int KEY_KPEQUAL;
int KEY_KPMINUS;
int KEY_KPPLUS;
int KEY_KPSLASH;
int KEY_L;
int KEY_LEFT;
int KEY_LEFTALT;
int KEY_LEFTBRACE;
int KEY_LEFTCTRL;
int KEY_LEFTSHIFT;
int KEY_M;
int KEY_MENU;
int KEY_MINUS;
int KEY_N;
int KEY_NUMLOCK;
int KEY_O;
int KEY_P;
int KEY_PAGEDOWN;
int KEY_PAGEUP;
int KEY_PAUSE;
int KEY_Q;
int KEY_R;
int KEY_RIGHT;
int KEY_RIGHTALT;
int KEY_RIGHTBRACE;
int KEY_RIGHTCTRL;
int KEY_RIGHTSHIFT;
int KEY_S;
int KEY_SCROLLLOCK;
int KEY_SLASH;
int KEY_SLEEP;
int KEY_SPACE;
int KEY_T;
int KEY_TAB;
int KEY_U;
int KEY_UP;
int KEY_V;
int KEY_W;
int KEY_X;
int KEY_Y;
int KEY_Z;
int lsadrv_vkeytokey(int vkey, int extended) {
  int key = 0;
  switch (vkey) {
  case 0x01:
    key = BTN_LEFT;
    break;
  case 0x02:
    key = BTN_RIGHT;
    break;
  case 0x03:
    break;
  case 0x04:
    key = BTN_MIDDLE;
    break;
  case 0x05:
    break;
  case 0x06:
    break;
  case 0x08:
    key = KEY_BACKSPACE;
    break;
  case 0x09:
    key = KEY_TAB;
    break;
  case 0x0D:
    key = KEY_ENTER;
    break;
  case 0x0C:
    break;
  case 0x10:
    key = extended ? KEY_RIGHTSHIFT : KEY_LEFTSHIFT;
    break;
  case 0x11:
    key = extended ? KEY_RIGHTCTRL : KEY_LEFTCTRL;
    break;
  case 0x12:
    key = extended ? KEY_RIGHTALT : KEY_LEFTALT;
    break;
  case 0x13:
    key = KEY_PAUSE;
    break;
  case 0x14:
    key = KEY_CAPSLOCK;
    break;
  case 0x15:
    break;
  case 0x17:
    break;
  case 0x18:
    break;
  case 0x19:
    break;
  case 0x1B:
    key = KEY_ESC;
    break;
  case 0x1C:
    break;
  case 0x1D:
    break;
  case 0x1E:
    break;
  case 0x1F:
    break;
  case 0x20:
    key = KEY_SPACE;
    break;
  case 0x21:
    key = KEY_PAGEUP;
    break;
  case 0x22:
    key = KEY_PAGEDOWN;
    break;
  case 0x23:
    key = KEY_END;
    break;
  case 0x24:
    key = KEY_HOME;
    break;
  case 0x25:
    key = KEY_LEFT;
    break;
  case 0x26:
    key = KEY_UP;
    break;
  case 0x27:
    key = KEY_RIGHT;
    break;
  case 0x28:
    key = KEY_DOWN;
    break;
  case 0x29:
    break;
  case 0x2A:
    break;
  case 0x2B:
    break;
  case 0x2C:
    break;
  case 0x2D:
    key = KEY_INSERT;
    break;
  case 0x2E:
    key = KEY_DELETE;
    break;
  case 0x2F:
    key = KEY_HELP;
    break;
  case 0x30:
    key = KEY_0;
    break;
  case 0x31:
    key = KEY_1;
    break;
  case 0x32:
    key = KEY_2;
    break;
  case 0x33:
    key = KEY_3;
    break;
  case 0x34:
    key = KEY_4;
    break;
  case 0x35:
    key = KEY_5;
    break;
  case 0x36:
    key = KEY_6;
    break;
  case 0x37:
    key = KEY_7;
    break;
  case 0x38:
    key = KEY_8;
    break;
  case 0x39:
    key = KEY_9;
    break;
  case 0x41:
    key = KEY_A;
    break;
  case 0x42:
    key = KEY_B;
    break;
  case 0x43:
    key = KEY_C;
    break;
  case 0x44:
    key = KEY_D;
    break;
  case 0x45:
    key = KEY_E;
    break;
  case 0x46:
    key = KEY_F;
    break;
  case 0x47:
    key = KEY_G;
    break;
  case 0x48:
    key = KEY_H;
    break;
  case 0x49:
    key = KEY_I;
    break;
  case 0x4A:
    key = KEY_J;
    break;
  case 0x4B:
    key = KEY_K;
    break;
  case 0x4C:
    key = KEY_L;
    break;
  case 0x4D:
    key = KEY_M;
    break;
  case 0x4E:
    key = KEY_N;
    break;
  case 0x4F:
    key = KEY_O;
    break;
  case 0x50:
    key = KEY_P;
    break;
  case 0x51:
    key = KEY_Q;
    break;
  case 0x52:
    key = KEY_R;
    break;
  case 0x53:
    key = KEY_S;
    break;
  case 0x54:
    key = KEY_T;
    break;
  case 0x55:
    key = KEY_U;
    break;
  case 0x56:
    key = KEY_V;
    break;
  case 0x57:
    key = KEY_W;
    break;
  case 0x58:
    key = KEY_X;
    break;
  case 0x59:
    key = KEY_Y;
    break;
  case 0x5A:
    key = KEY_Z;
    break;
  case 0x5B:
    break;
  case 0x5C:
    break;
  case 0x5D:
    key = KEY_MENU;
    break;
  case 0x5F:
    key = KEY_SLEEP;
    break;
  case 0x60:
    key = KEY_KP0;
    break;
  case 0x61:
    key = KEY_KP1;
    break;
  case 0x62:
    key = KEY_KP2;
    break;
  case 0x63:
    key = KEY_KP3;
    break;
  case 0x64:
    key = KEY_KP4;
    break;
  case 0x65:
    key = KEY_KP5;
    break;
  case 0x66:
    key = KEY_KP6;
    break;
  case 0x67:
    key = KEY_KP7;
    break;
  case 0x68:
    key = KEY_KP8;
    break;
  case 0x69:
    key = KEY_KP9;
    break;
  case 0x6A:
    key = KEY_KPASTERISK;
    break;
  case 0x6B:
    key = KEY_KPPLUS;
    break;
  case 0x6C:
    key = extended ? KEY_KPCOMMA : KEY_COMMA;
    break;
  case 0x6D:
    key = extended ? KEY_KPMINUS : KEY_MINUS;
    break;
  case 0x6E:
    key = extended ? KEY_KPDOT : KEY_DOT;
    break;
  case 0x6F:
    key = extended ? KEY_SLASH : KEY_KPSLASH;
    break;
  case 0x70:
    key = KEY_F1;
    break;
  case 0x71:
    key = KEY_F2;
    break;
  case 0x72:
    key = KEY_F3;
    break;
  case 0x73:
    key = KEY_F4;
    break;
  case 0x74:
    key = KEY_F5;
    break;
  case 0x75:
    key = KEY_F6;
    break;
  case 0x76:
    key = KEY_F7;
    break;
  case 0x77:
    key = KEY_F8;
    break;
  case 0x78:
    key = KEY_F9;
    break;
  case 0x79:
    key = KEY_F10;
    break;
  case 0x7A:
    key = KEY_F11;
    break;
  case 0x7B:
    key = KEY_F12;
    break;
  case 0x7C:
    key = KEY_F13;
    break;
  case 0x7D:
    key = KEY_F14;
    break;
  case 0x7E:
    key = KEY_F15;
    break;
  case 0x7F:
    key = KEY_F16;
    break;
  case 0x80:
    key = KEY_F17;
    break;
  case 0x81:
    key = KEY_F18;
    break;
  case 0x82:
    key = KEY_F19;
    break;
  case 0x83:
    key = KEY_F20;
    break;
  case 0x84:
    key = KEY_F21;
    break;
  case 0x85:
    key = KEY_F22;
    break;
  case 0x86:
    key = KEY_F23;
    break;
  case 0x87:
    key = KEY_F24;
    break;
  case 0x90:
    key = KEY_NUMLOCK;
    break;
  case 0x91:
    key = KEY_SCROLLLOCK;
    break;
  case 0x92:
    key = KEY_KPEQUAL;
    break;
  case 0xA0:
    key = KEY_LEFTSHIFT;
    break;
  case 0xA1:
    key = KEY_RIGHTSHIFT;
    break;
  case 0xA2:
    key = KEY_LEFTCTRL;
    break;
  case 0xA3:
    key = KEY_RIGHTCTRL;
    break;
  case 0xA4:
    key = KEY_LEFTALT;
    break;
  case 0xA5:
    key = KEY_RIGHTALT;
    break;
  case 0xA6:
    break;
  case 0xA7:
    break;
  case 0xA8:
    break;
  case 0xA9:
    break;
  case 0xAA:
    break;
  case 0xAB:
    break;
  case 0xAC:
    break;
  case 0xAD:
    break;
  case 0xAE:
    break;
  case 0xAF:
    break;
  case 0xB0:
    break;
  case 0xB1:
    break;
  case 0xB2:
    break;
  case 0xB3:
    break;
  case 0xB4:
    break;
  case 0xB5:
    break;
  case 0xB6:
    break;
  case 0xB7:
    break;
  case 0xBA:
    break;
  case 0xBB:
    break;
  case 0xBC:
    break;
  case 0xBD:
    break;
  case 0xBE:
    break;
  case 0xBF:
    break;
  case 0xC0:
    break;
  case 0xDB:
    key = KEY_LEFTBRACE;
    break;
  case 0xDC:
    key = KEY_BACKSLASH;
    break;
  case 0xDD:
    key = KEY_RIGHTBRACE;
    break;
  case 0xDE:
    key = KEY_APOSTROPHE;
    break;
  case 0xDF:
    break;
  case 0xE1:
    break;
  case 0xE2:
    break;
  case 0xE3:
    break;
  case 0xE4:
    break;
  case 0xE5:
    break;
  case 0xE6:
    break;
  case 0xE7:
    break;
  case 0xE9:
    break;
  case 0xEA:
    break;
  case 0xEB:
    break;
  case 0xEC:
    break;
  case 0xED:
    break;
  case 0xEE:
    break;
  case 0xEF:
    break;
  case 0xF0:
    break;
  case 0xF1:
    break;
  case 0xF2:
    break;
  case 0xF3:
    break;
  case 0xF4:
    break;
  case 0xF5:
    break;
  case 0xF6:
    break;
  case 0xF7:
    break;
  case 0xF8:
    break;
  case 0xF9:
    break;
  case 0xFA:
    break;
  case 0xFB:
    break;
  case 0xFC:
    break;
  case 0xFD:
    break;
  case 0xFE:
    break;
  default:
    break;
  }
  return key;
}


x86 assembly (clang, -O0):
<lsadrv_vkeytokey>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
movl   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,%ecx
mov    %rcx,-0x18(%rbp)
sub    $0xfd,%eax
ja     3b33 <lsadrv_vkeytokey+0xa33>
mov    -0x18(%rbp),%rax
lea    0xecd(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    0x2d25(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2e94(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2c56(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2cd3(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2d42(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2aa9(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
cmpl   $0x0,-0x8(%rbp)
je     31d1 <lsadrv_vkeytokey+0xd1>
mov    0x2ac1(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x1c(%rbp)
jmp    31dd <lsadrv_vkeytokey+0xdd>
mov    0x2b48(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x1c(%rbp),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
cmpl   $0x0,-0x8(%rbp)
je     3203 <lsadrv_vkeytokey+0x103>
mov    0x2d67(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x20(%rbp)
jmp    320f <lsadrv_vkeytokey+0x10f>
mov    0x2c76(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x20(%rbp)
mov    -0x20(%rbp),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
cmpl   $0x0,-0x8(%rbp)
je     3235 <lsadrv_vkeytokey+0x135>
mov    0x2d15(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x24(%rbp)
jmp    3241 <lsadrv_vkeytokey+0x141>
mov    0x2c04(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x24(%rbp)
mov    -0x24(%rbp),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2ae5(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2bcc(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2cef(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2c12(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x29a1(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2b40(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2b07(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2c06(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2995(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2b24(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2983(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2b12(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2945(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2c54(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x28c3(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2a02(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2be1(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x29e8(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2ba7(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x29ce(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2bad(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x29bc(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2b83(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x29b2(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2b81(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2af0(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2917(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2ac6(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x28ed(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2b1c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x292b(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2b02(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2899(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2a50(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x286f(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2a66(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2895(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2a4c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2863(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2a32(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2839(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x29b8(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x280f(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x29c6(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x27d5(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2964(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2793(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x295a(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2831(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2a10(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2817(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x26f4(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x281b(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2892(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2691(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2848(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x268f(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2846(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2655(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2834(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x261b(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x27fa(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2619(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2850(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x26cf(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
cmpl   $0x0,-0x8(%rbp)
je     36fe <lsadrv_vkeytokey+0x5fe>
mov    0x2784(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x28(%rbp)
jmp    370a <lsadrv_vkeytokey+0x60a>
mov    0x28eb(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x28(%rbp)
mov    -0x28(%rbp),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
cmpl   $0x0,-0x8(%rbp)
je     3730 <lsadrv_vkeytokey+0x630>
mov    0x28b2(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x2c(%rbp)
jmp    373c <lsadrv_vkeytokey+0x63c>
mov    0x2739(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x2c(%rbp),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
cmpl   $0x0,-0x8(%rbp)
je     3762 <lsadrv_vkeytokey+0x662>
mov    0x2500(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x30(%rbp)
jmp    376e <lsadrv_vkeytokey+0x66e>
mov    0x269f(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x30(%rbp)
mov    -0x30(%rbp),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
cmpl   $0x0,-0x8(%rbp)
je     3794 <lsadrv_vkeytokey+0x694>
mov    0x255e(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x34(%rbp)
jmp    37a0 <lsadrv_vkeytokey+0x6a0>
mov    0x26c5(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x34(%rbp)
mov    -0x34(%rbp),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2496(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2655(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x26c4(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x24f3(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x269a(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x24b1(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2450(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x25f7(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2436(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2685(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x24a4(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x265b(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x249a(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2651(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2488(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2637(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x244e(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2665(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x249c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x24db(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x26b2(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x24c1(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x26a0(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x24a7(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x26ae(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x24f5(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x230c(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x23a3(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x22fa(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x24e1(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x25b0(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x247f(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x256e(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2298(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x2297(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x24ee(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    0x21fd(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0xc(%rbp)
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
jmp    3b38 <lsadrv_vkeytokey+0xa38>
mov    -0xc(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<lsadrv_vkeytokey>:
xor    %eax,%eax
add    $0xffffffff,%edi
cmp    $0xdd,%edi
ja     3690 <lsadrv_vkeytokey+0x590>
lea    0xee8(%rip),%rcx
movslq (%rcx,%rdi,4),%rdx
add    %rcx,%rdx
jmp    *%rdx
mov    0x2d40(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2eb4(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2c80(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2d0c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2d80(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2aec(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
test   %esi,%esi
jne    3179 <lsadrv_vkeytokey+0x79>
mov    0x2bac(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2b08(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
test   %esi,%esi
jne    3195 <lsadrv_vkeytokey+0x95>
mov    0x2cf0(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2dc4(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
test   %esi,%esi
jne    31b1 <lsadrv_vkeytokey+0xb1>
mov    0x2c94(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2d88(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2b74(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2c60(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2d9c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2cd8(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a6c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2c10(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2bdc(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2ce0(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a74(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2c08(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a6c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2c00(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a4c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2d60(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x29d4(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2b18(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2cfc(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2b08(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2ccc(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2af8(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2cdc(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2af0(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2cbc(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2af0(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2cc4(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2c38(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a64(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2c18(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a44(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2c78(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a8c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2c68(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a04(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2bc0(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x29e4(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2be0(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a14(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2bd0(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x29ec(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2bc0(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x29cc(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2b50(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x29ac(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2b68(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x297c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2b10(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2944(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2b10(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x29ec(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2bd0(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x29dc(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x28c8(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x29f4(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a70(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2874(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a30(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x287c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a38(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x284c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a30(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x281c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a00(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2824(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2a60(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x28e4(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
test   %esi,%esi
jne    366c <lsadrv_vkeytokey+0x56c>
mov    0x2b18(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
test   %esi,%esi
jne    3675 <lsadrv_vkeytokey+0x575>
mov    0x2984(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
test   %esi,%esi
jne    367e <lsadrv_vkeytokey+0x57e>
mov    0x2908(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
test   %esi,%esi
jne    3687 <lsadrv_vkeytokey+0x587>
mov    0x294c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2728(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x28ec(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2960(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2794(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2940(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x275c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2700(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x28ac(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x26f0(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2944(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2768(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2924(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2768(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x276c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2920(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x273c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2958(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2794(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x29c0(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x27dc(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x29e8(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2837(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2656(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x26cd(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x26d4(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2933(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x264a(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2891(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2778(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2777(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x295e(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x2805(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x295c(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x25d3(%rip),%rax
jmp    368e <lsadrv_vkeytokey+0x58e>
mov    0x265a(%rip),%rax
mov    (%rax),%eax
ret

LLVM IR (-O0):
@BTN_LEFT = global i32 0
@BTN_RIGHT = global i32 0
@BTN_MIDDLE = global i32 0
@KEY_BACKSPACE = global i32 0
@KEY_TAB = global i32 0
@KEY_ENTER = global i32 0
@KEY_RIGHTSHIFT = global i32 0
@KEY_LEFTSHIFT = global i32 0
@KEY_RIGHTCTRL = global i32 0
@KEY_LEFTCTRL = global i32 0
@KEY_RIGHTALT = global i32 0
@KEY_LEFTALT = global i32 0
@KEY_PAUSE = global i32 0
@KEY_CAPSLOCK = global i32 0
@KEY_ESC = global i32 0
@KEY_SPACE = global i32 0
@KEY_PAGEUP = global i32 0
@KEY_PAGEDOWN = global i32 0
@KEY_END = global i32 0
@KEY_HOME = global i32 0
@KEY_LEFT = global i32 0
@KEY_UP = global i32 0
@KEY_RIGHT = global i32 0
@KEY_DOWN = global i32 0
@KEY_INSERT = global i32 0
@KEY_DELETE = global i32 0
@KEY_HELP = global i32 0
@KEY_0 = global i32 0
@KEY_1 = global i32 0
@KEY_2 = global i32 0
@KEY_3 = global i32 0
@KEY_4 = global i32 0
@KEY_5 = global i32 0
@KEY_6 = global i32 0
@KEY_7 = global i32 0
@KEY_8 = global i32 0
@KEY_9 = global i32 0
@KEY_A = global i32 0
@KEY_B = global i32 0
@KEY_C = global i32 0
@KEY_D = global i32 0
@KEY_E = global i32 0
@KEY_F = global i32 0
@KEY_G = global i32 0
@KEY_H = global i32 0
@KEY_I = global i32 0
@KEY_J = global i32 0
@KEY_K = global i32 0
@KEY_L = global i32 0
@KEY_M = global i32 0
@KEY_N = global i32 0
@KEY_O = global i32 0
@KEY_P = global i32 0
@KEY_Q = global i32 0
@KEY_R = global i32 0
@KEY_S = global i32 0
@KEY_T = global i32 0
@KEY_U = global i32 0
@KEY_V = global i32 0
@KEY_W = global i32 0
@KEY_X = global i32 0
@KEY_Y = global i32 0
@KEY_Z = global i32 0
@KEY_MENU = global i32 0
@KEY_SLEEP = global i32 0
@KEY_KP0 = global i32 0
@KEY_KP1 = global i32 0
@KEY_KP2 = global i32 0
@KEY_KP3 = global i32 0
@KEY_KP4 = global i32 0
@KEY_KP5 = global i32 0
@KEY_KP6 = global i32 0
@KEY_KP7 = global i32 0
@KEY_KP8 = global i32 0
@KEY_KP9 = global i32 0
@KEY_KPASTERISK = global i32 0
@KEY_KPPLUS = global i32 0
@KEY_KPCOMMA = global i32 0
@KEY_COMMA = global i32 0
@KEY_KPMINUS = global i32 0
@KEY_MINUS = global i32 0
@KEY_KPDOT = global i32 0
@KEY_DOT = global i32 0
@KEY_SLASH = global i32 0
@KEY_KPSLASH = global i32 0
@KEY_F1 = global i32 0
@KEY_F2 = global i32 0
@KEY_F3 = global i32 0
@KEY_F4 = global i32 0
@KEY_F5 = global i32 0
@KEY_F6 = global i32 0
@KEY_F7 = global i32 0
@KEY_F8 = global i32 0
@KEY_F9 = global i32 0
@KEY_F10 = global i32 0
@KEY_F11 = global i32 0
@KEY_F12 = global i32 0
@KEY_F13 = global i32 0
@KEY_F14 = global i32 0
@KEY_F15 = global i32 0
@KEY_F16 = global i32 0
@KEY_F17 = global i32 0
@KEY_F18 = global i32 0
@KEY_F19 = global i32 0
@KEY_F20 = global i32 0
@KEY_F21 = global i32 0
@KEY_F22 = global i32 0
@KEY_F23 = global i32 0
@KEY_F24 = global i32 0
@KEY_NUMLOCK = global i32 0
@KEY_SCROLLLOCK = global i32 0
@KEY_KPEQUAL = global i32 0
@KEY_LEFTBRACE = global i32 0
@KEY_BACKSLASH = global i32 0
@KEY_RIGHTBRACE = global i32 0
@KEY_APOSTROPHE = global i32 0
define i32 @lsadrv_vkeytokey(i32 %0, i32 %1) {
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
store i32 %0, i32* %3
store i32 %1, i32* %4
store i32 0, i32* %5
%6 = load i32, i32* %3
switch i32 %6, label %359 [
i32 1, label %7
i32 2, label %9
i32 3, label %11
i32 4, label %12
i32 5, label %14
i32 6, label %15
i32 8, label %16
i32 9, label %18
i32 13, label %20
i32 12, label %22
i32 16, label %23
i32 17, label %32
i32 18, label %41
i32 19, label %50
i32 20, label %52
i32 21, label %54
i32 23, label %55
i32 24, label %56
i32 25, label %57
i32 27, label %58
i32 28, label %60
i32 29, label %61
i32 30, label %62
i32 31, label %63
i32 32, label %64
i32 33, label %66
i32 34, label %68
i32 35, label %70
i32 36, label %72
i32 37, label %74
i32 38, label %76
i32 39, label %78
i32 40, label %80
i32 41, label %82
i32 42, label %83
i32 43, label %84
i32 44, label %85
i32 45, label %86
i32 46, label %88
i32 47, label %90
i32 48, label %92
i32 49, label %94
i32 50, label %96
i32 51, label %98
i32 52, label %100
i32 53, label %102
i32 54, label %104
i32 55, label %106
i32 56, label %108
i32 57, label %110
i32 65, label %112
i32 66, label %114
i32 67, label %116
i32 68, label %118
i32 69, label %120
i32 70, label %122
i32 71, label %124
i32 72, label %126
i32 73, label %128
i32 74, label %130
i32 75, label %132
i32 76, label %134
i32 77, label %136
i32 78, label %138
i32 79, label %140
i32 80, label %142
i32 81, label %144
i32 82, label %146
i32 83, label %148
i32 84, label %150
i32 85, label %152
i32 86, label %154
i32 87, label %156
i32 88, label %158
i32 89, label %160
i32 90, label %162
i32 91, label %164
i32 92, label %165
i32 93, label %166
i32 95, label %168
i32 96, label %170
i32 97, label %172
i32 98, label %174
i32 99, label %176
i32 100, label %178
i32 101, label %180
i32 102, label %182
i32 103, label %184
i32 104, label %186
i32 105, label %188
i32 106, label %190
i32 107, label %192
i32 108, label %194
i32 109, label %203
i32 110, label %212
i32 111, label %221
i32 112, label %230
i32 113, label %232
i32 114, label %234
i32 115, label %236
i32 116, label %238
i32 117, label %240
i32 118, label %242
i32 119, label %244
i32 120, label %246
i32 121, label %248
i32 122, label %250
i32 123, label %252
i32 124, label %254
i32 125, label %256
i32 126, label %258
i32 127, label %260
i32 128, label %262
i32 129, label %264
i32 130, label %266
i32 131, label %268
i32 132, label %270
i32 133, label %272
i32 134, label %274
i32 135, label %276
i32 144, label %278
i32 145, label %280
i32 146, label %282
i32 160, label %284
i32 161, label %286
i32 162, label %288
i32 163, label %290
i32 164, label %292
i32 165, label %294
i32 166, label %296
i32 167, label %297
i32 168, label %298
i32 169, label %299
i32 170, label %300
i32 171, label %301
i32 172, label %302
i32 173, label %303
i32 174, label %304
i32 175, label %305
i32 176, label %306
i32 177, label %307
i32 178, label %308
i32 179, label %309
i32 180, label %310
i32 181, label %311
i32 182, label %312
i32 183, label %313
i32 186, label %314
i32 187, label %315
i32 188, label %316
i32 189, label %317
i32 190, label %318
i32 191, label %319
i32 192, label %320
i32 219, label %321
i32 220, label %323
i32 221, label %325
i32 222, label %327
i32 223, label %329
i32 225, label %330
i32 226, label %331
i32 227, label %332
i32 228, label %333
i32 229, label %334
i32 230, label %335
i32 231, label %336
i32 233, label %337
i32 234, label %338
i32 235, label %339
i32 236, label %340
i32 237, label %341
i32 238, label %342
i32 239, label %343
i32 240, label %344
i32 241, label %345
i32 242, label %346
i32 243, label %347
i32 244, label %348
i32 245, label %349
i32 246, label %350
i32 247, label %351
i32 248, label %352
i32 249, label %353
i32 250, label %354
i32 251, label %355
i32 252, label %356
i32 253, label %357
i32 254, label %358
]
7: ; preds = %2
%8 = load i32, i32* @BTN_LEFT
store i32 %8, i32* %5
br label %360
9: ; preds = %2
%10 = load i32, i32* @BTN_RIGHT
store i32 %10, i32* %5
br label %360
11: ; preds = %2
br label %360
12: ; preds = %2
%13 = load i32, i32* @BTN_MIDDLE
store i32 %13, i32* %5
br label %360
14: ; preds = %2
br label %360
15: ; preds = %2
br label %360
16: ; preds = %2
%17 = load i32, i32* @KEY_BACKSPACE
store i32 %17, i32* %5
br label %360
18: ; preds = %2
%19 = load i32, i32* @KEY_TAB
store i32 %19, i32* %5
br label %360
20: ; preds = %2
%21 = load i32, i32* @KEY_ENTER
store i32 %21, i32* %5
br label %360
22: ; preds = %2
br label %360
23: ; preds = %2
%24 = load i32, i32* %4
%25 = icmp ne i32 %24, 0
br i1 %25, label %26, label %28
26: ; preds = %23
%27 = load i32, i32* @KEY_RIGHTSHIFT
br label %30
28: ; preds = %23
%29 = load i32, i32* @KEY_LEFTSHIFT
br label %30
30: ; preds = %28, %26
%31 = phi i32 [ %27, %26 ], [ %29, %28 ]
store i32 %31, i32* %5
br label %360
32: ; preds = %2
%33 = load i32, i32* %4
%34 = icmp ne i32 %33, 0
br i1 %34, label %35, label %37
35: ; preds = %32
%36 = load i32, i32* @KEY_RIGHTCTRL
br label %39
37: ; preds = %32
%38 = load i32, i32* @KEY_LEFTCTRL
br label %39
39: ; preds = %37, %35
%40 = phi i32 [ %36, %35 ], [ %38, %37 ]
store i32 %40, i32* %5
br label %360
41: ; preds = %2
%42 = load i32, i32* %4
%43 = icmp ne i32 %42, 0
br i1 %43, label %44, label %46
44: ; preds = %41
%45 = load i32, i32* @KEY_RIGHTALT
br label %48
46: ; preds = %41
%47 = load i32, i32* @KEY_LEFTALT
br label %48
48: ; preds = %46, %44
%49 = phi i32 [ %45, %44 ], [ %47, %46 ]
store i32 %49, i32* %5
br label %360
50: ; preds = %2
%51 = load i32, i32* @KEY_PAUSE
store i32 %51, i32* %5
br label %360
52: ; preds = %2
%53 = load i32, i32* @KEY_CAPSLOCK
store i32 %53, i32* %5
br label %360
54: ; preds = %2
br label %360
55: ; preds = %2
br label %360
56: ; preds = %2
br label %360
57: ; preds = %2
br label %360
58: ; preds = %2
%59 = load i32, i32* @KEY_ESC
store i32 %59, i32* %5
br label %360
60: ; preds = %2
br label %360
61: ; preds = %2
br label %360
62: ; preds = %2
br label %360
63: ; preds = %2
br label %360
64: ; preds = %2
%65 = load i32, i32* @KEY_SPACE
store i32 %65, i32* %5
br label %360
66: ; preds = %2
%67 = load i32, i32* @KEY_PAGEUP
store i32 %67, i32* %5
br label %360
68: ; preds = %2
%69 = load i32, i32* @KEY_PAGEDOWN
store i32 %69, i32* %5
br label %360
70: ; preds = %2
%71 = load i32, i32* @KEY_END
store i32 %71, i32* %5
br label %360
72: ; preds = %2
%73 = load i32, i32* @KEY_HOME
store i32 %73, i32* %5
br label %360
74: ; preds = %2
%75 = load i32, i32* @KEY_LEFT
store i32 %75, i32* %5
br label %360
76: ; preds = %2
%77 = load i32, i32* @KEY_UP
store i32 %77, i32* %5
br label %360
78: ; preds = %2
%79 = load i32, i32* @KEY_RIGHT
store i32 %79, i32* %5
br label %360
80: ; preds = %2
%81 = load i32, i32* @KEY_DOWN
store i32 %81, i32* %5
br label %360
82: ; preds = %2
br label %360
83: ; preds = %2
br label %360
84: ; preds = %2
br label %360
85: ; preds = %2
br label %360
86: ; preds = %2
%87 = load i32, i32* @KEY_INSERT
store i32 %87, i32* %5
br label %360
88: ; preds = %2
%89 = load i32, i32* @KEY_DELETE
store i32 %89, i32* %5
br label %360
90: ; preds = %2
%91 = load i32, i32* @KEY_HELP
store i32 %91, i32* %5
br label %360
92: ; preds = %2
%93 = load i32, i32* @KEY_0
store i32 %93, i32* %5
br label %360
94: ; preds = %2
%95 = load i32, i32* @KEY_1
store i32 %95, i32* %5
br label %360
96: ; preds = %2
%97 = load i32, i32* @KEY_2
store i32 %97, i32* %5
br label %360
98: ; preds = %2
%99 = load i32, i32* @KEY_3
store i32 %99, i32* %5
br label %360
100: ; preds = %2
%101 = load i32, i32* @KEY_4
store i32 %101, i32* %5
br label %360
102: ; preds = %2
%103 = load i32, i32* @KEY_5
store i32 %103, i32* %5
br label %360
104: ; preds = %2
%105 = load i32, i32* @KEY_6
store i32 %105, i32* %5
br label %360
106: ; preds = %2
%107 = load i32, i32* @KEY_7
store i32 %107, i32* %5
br label %360
108: ; preds = %2
%109 = load i32, i32* @KEY_8
store i32 %109, i32* %5
br label %360
110: ; preds = %2
%111 = load i32, i32* @KEY_9
store i32 %111, i32* %5
br label %360
112: ; preds = %2
%113 = load i32, i32* @KEY_A
store i32 %113, i32* %5
br label %360
114: ; preds = %2
%115 = load i32, i32* @KEY_B
store i32 %115, i32* %5
br label %360
116: ; preds = %2
%117 = load i32, i32* @KEY_C
store i32 %117, i32* %5
br label %360
118: ; preds = %2
%119 = load i32, i32* @KEY_D
store i32 %119, i32* %5
br label %360
120: ; preds = %2
%121 = load i32, i32* @KEY_E
store i32 %121, i32* %5
br label %360
122: ; preds = %2
%123 = load i32, i32* @KEY_F
store i32 %123, i32* %5
br label %360
124: ; preds = %2
%125 = load i32, i32* @KEY_G
store i32 %125, i32* %5
br label %360
126: ; preds = %2
%127 = load i32, i32* @KEY_H
store i32 %127, i32* %5
br label %360
128: ; preds = %2
%129 = load i32, i32* @KEY_I
store i32 %129, i32* %5
br label %360
130: ; preds = %2
%131 = load i32, i32* @KEY_J
store i32 %131, i32* %5
br label %360
132: ; preds = %2
%133 = load i32, i32* @KEY_K
store i32 %133, i32* %5
br label %360
134: ; preds = %2
%135 = load i32, i32* @KEY_L
store i32 %135, i32* %5
br label %360
136: ; preds = %2
%137 = load i32, i32* @KEY_M
store i32 %137, i32* %5
br label %360
138: ; preds = %2
%139 = load i32, i32* @KEY_N
store i32 %139, i32* %5
br label %360
140: ; preds = %2
%141 = load i32, i32* @KEY_O
store i32 %141, i32* %5
br label %360
142: ; preds = %2
%143 = load i32, i32* @KEY_P
store i32 %143, i32* %5
br label %360
144: ; preds = %2
%145 = load i32, i32* @KEY_Q
store i32 %145, i32* %5
br label %360
146: ; preds = %2
%147 = load i32, i32* @KEY_R
store i32 %147, i32* %5
br label %360
148: ; preds = %2
%149 = load i32, i32* @KEY_S
store i32 %149, i32* %5
br label %360
150: ; preds = %2
%151 = load i32, i32* @KEY_T
store i32 %151, i32* %5
br label %360
152: ; preds = %2
%153 = load i32, i32* @KEY_U
store i32 %153, i32* %5
br label %360
154: ; preds = %2
%155 = load i32, i32* @KEY_V
store i32 %155, i32* %5
br label %360
156: ; preds = %2
%157 = load i32, i32* @KEY_W
store i32 %157, i32* %5
br label %360
158: ; preds = %2
%159 = load i32, i32* @KEY_X
store i32 %159, i32* %5
br label %360
160: ; preds = %2
%161 = load i32, i32* @KEY_Y
store i32 %161, i32* %5
br label %360
162: ; preds = %2
%163 = load i32, i32* @KEY_Z
store i32 %163, i32* %5
br label %360
164: ; preds = %2
br label %360
165: ; preds = %2
br label %360
166: ; preds = %2
%167 = load i32, i32* @KEY_MENU
store i32 %167, i32* %5
br label %360
168: ; preds = %2
%169 = load i32, i32* @KEY_SLEEP
store i32 %169, i32* %5
br label %360
170: ; preds = %2
%171 = load i32, i32* @KEY_KP0
store i32 %171, i32* %5
br label %360
172: ; preds = %2
%173 = load i32, i32* @KEY_KP1
store i32 %173, i32* %5
br label %360
174: ; preds = %2
%175 = load i32, i32* @KEY_KP2
store i32 %175, i32* %5
br label %360
176: ; preds = %2
%177 = load i32, i32* @KEY_KP3
store i32 %177, i32* %5
br label %360
178: ; preds = %2
%179 = load i32, i32* @KEY_KP4
store i32 %179, i32* %5
br label %360
180: ; preds = %2
%181 = load i32, i32* @KEY_KP5
store i32 %181, i32* %5
br label %360
182: ; preds = %2
%183 = load i32, i32* @KEY_KP6
store i32 %183, i32* %5
br label %360
184: ; preds = %2
%185 = load i32, i32* @KEY_KP7
store i32 %185, i32* %5
br label %360
186: ; preds = %2
%187 = load i32, i32* @KEY_KP8
store i32 %187, i32* %5
br label %360
188: ; preds = %2
%189 = load i32, i32* @KEY_KP9
store i32 %189, i32* %5
br label %360
190: ; preds = %2
%191 = load i32, i32* @KEY_KPASTERISK
store i32 %191, i32* %5
br label %360
192: ; preds = %2
%193 = load i32, i32* @KEY_KPPLUS
store i32 %193, i32* %5
br label %360
194: ; preds = %2
%195 = load i32, i32* %4
%196 = icmp ne i32 %195, 0
br i1 %196, label %197, label %199
197: ; preds = %194
%198 = load i32, i32* @KEY_KPCOMMA
br label %201
199: ; preds = %194
%200 = load i32, i32* @KEY_COMMA
br label %201
201: ; preds = %199, %197
%202 = phi i32 [ %198, %197 ], [ %200, %199 ]
store i32 %202, i32* %5
br label %360
203: ; preds = %2
%204 = load i32, i32* %4
%205 = icmp ne i32 %204, 0
br i1 %205, label %206, label %208
206: ; preds = %203
%207 = load i32, i32* @KEY_KPMINUS
br label %210
208: ; preds = %203
%209 = load i32, i32* @KEY_MINUS
br label %210
210: ; preds = %208, %206
%211 = phi i32 [ %207, %206 ], [ %209, %208 ]
store i32 %211, i32* %5
br label %360
212: ; preds = %2
%213 = load i32, i32* %4
%214 = icmp ne i32 %213, 0
br i1 %214, label %215, label %217
215: ; preds = %212
%216 = load i32, i32* @KEY_KPDOT
br label %219
217: ; preds = %212
%218 = load i32, i32* @KEY_DOT
br label %219
219: ; preds = %217, %215
%220 = phi i32 [ %216, %215 ], [ %218, %217 ]
store i32 %220, i32* %5
br label %360
221: ; preds = %2
%222 = load i32, i32* %4
%223 = icmp ne i32 %222, 0
br i1 %223, label %224, label %226
224: ; preds = %221
%225 = load i32, i32* @KEY_SLASH
br label %228
226: ; preds = %221
%227 = load i32, i32* @KEY_KPSLASH
br label %228
228: ; preds = %226, %224
%229 = phi i32 [ %225, %224 ], [ %227, %226 ]
store i32 %229, i32* %5
br label %360
230: ; preds = %2
%231 = load i32, i32* @KEY_F1
store i32 %231, i32* %5
br label %360
232: ; preds = %2
%233 = load i32, i32* @KEY_F2
store i32 %233, i32* %5
br label %360
234: ; preds = %2
%235 = load i32, i32* @KEY_F3
store i32 %235, i32* %5
br label %360
236: ; preds = %2
%237 = load i32, i32* @KEY_F4
store i32 %237, i32* %5
br label %360
238: ; preds = %2
%239 = load i32, i32* @KEY_F5
store i32 %239, i32* %5
br label %360
240: ; preds = %2
%241 = load i32, i32* @KEY_F6
store i32 %241, i32* %5
br label %360
242: ; preds = %2
%243 = load i32, i32* @KEY_F7
store i32 %243, i32* %5
br label %360
244: ; preds = %2
%245 = load i32, i32* @KEY_F8
store i32 %245, i32* %5
br label %360
246: ; preds = %2
%247 = load i32, i32* @KEY_F9
store i32 %247, i32* %5
br label %360
248: ; preds = %2
%249 = load i32, i32* @KEY_F10
store i32 %249, i32* %5
br label %360
250: ; preds = %2
%251 = load i32, i32* @KEY_F11
store i32 %251, i32* %5
br label %360
252: ; preds = %2
%253 = load i32, i32* @KEY_F12
store i32 %253, i32* %5
br label %360
254: ; preds = %2
%255 = load i32, i32* @KEY_F13
store i32 %255, i32* %5
br label %360
256: ; preds = %2
%257 = load i32, i32* @KEY_F14
store i32 %257, i32* %5
br label %360
258: ; preds = %2
%259 = load i32, i32* @KEY_F15
store i32 %259, i32* %5
br label %360
260: ; preds = %2
%261 = load i32, i32* @KEY_F16
store i32 %261, i32* %5
br label %360
262: ; preds = %2
%263 = load i32, i32* @KEY_F17
store i32 %263, i32* %5
br label %360
264: ; preds = %2
%265 = load i32, i32* @KEY_F18
store i32 %265, i32* %5
br label %360
266: ; preds = %2
%267 = load i32, i32* @KEY_F19
store i32 %267, i32* %5
br label %360
268: ; preds = %2
%269 = load i32, i32* @KEY_F20
store i32 %269, i32* %5
br label %360
270: ; preds = %2
%271 = load i32, i32* @KEY_F21
store i32 %271, i32* %5
br label %360
272: ; preds = %2
%273 = load i32, i32* @KEY_F22
store i32 %273, i32* %5
br label %360
274: ; preds = %2
%275 = load i32, i32* @KEY_F23
store i32 %275, i32* %5
br label %360
276: ; preds = %2
%277 = load i32, i32* @KEY_F24
store i32 %277, i32* %5
br label %360
278: ; preds = %2
%279 = load i32, i32* @KEY_NUMLOCK
store i32 %279, i32* %5
br label %360
280: ; preds = %2
%281 = load i32, i32* @KEY_SCROLLLOCK
store i32 %281, i32* %5
br label %360
282: ; preds = %2
%283 = load i32, i32* @KEY_KPEQUAL
store i32 %283, i32* %5
br label %360
284: ; preds = %2
%285 = load i32, i32* @KEY_LEFTSHIFT
store i32 %285, i32* %5
br label %360
286: ; preds = %2
%287 = load i32, i32* @KEY_RIGHTSHIFT
store i32 %287, i32* %5
br label %360
288: ; preds = %2
%289 = load i32, i32* @KEY_LEFTCTRL
store i32 %289, i32* %5
br label %360
290: ; preds = %2
%291 = load i32, i32* @KEY_RIGHTCTRL
store i32 %291, i32* %5
br label %360
292: ; preds = %2
%293 = load i32, i32* @KEY_LEFTALT
store i32 %293, i32* %5
br label %360
294: ; preds = %2
%295 = load i32, i32* @KEY_RIGHTALT
store i32 %295, i32* %5
br label %360
296: ; preds = %2
br label %360
297: ; preds = %2
br label %360
298: ; preds = %2
br label %360
299: ; preds = %2
br label %360
300: ; preds = %2
br label %360
301: ; preds = %2
br label %360
302: ; preds = %2
br label %360
303: ; preds = %2
br label %360
304: ; preds = %2
br label %360
305: ; preds = %2
br label %360
306: ; preds = %2
br label %360
307: ; preds = %2
br label %360
308: ; preds = %2
br label %360
309: ; preds = %2
br label %360
310: ; preds = %2
br label %360
311: ; preds = %2
br label %360
312: ; preds = %2
br label %360
313: ; preds = %2
br label %360
314: ; preds = %2
br label %360
315: ; preds = %2
br label %360
316: ; preds = %2
br label %360
317: ; preds = %2
br label %360
318: ; preds = %2
br label %360
319: ; preds = %2
br label %360
320: ; preds = %2
br label %360
321: ; preds = %2
%322 = load i32, i32* @KEY_LEFTBRACE
store i32 %322, i32* %5
br label %360
323: ; preds = %2
%324 = load i32, i32* @KEY_BACKSLASH
store i32 %324, i32* %5
br label %360
325: ; preds = %2
%326 = load i32, i32* @KEY_RIGHTBRACE
store i32 %326, i32* %5
br label %360
327: ; preds = %2
%328 = load i32, i32* @KEY_APOSTROPHE
store i32 %328, i32* %5
br label %360
329: ; preds = %2
br label %360
330: ; preds = %2
br label %360
331: ; preds = %2
br label %360
332: ; preds = %2
br label %360
333: ; preds = %2
br label %360
334: ; preds = %2
br label %360
335: ; preds = %2
br label %360
336: ; preds = %2
br label %360
337: ; preds = %2
br label %360
338: ; preds = %2
br label %360
339: ; preds = %2
br label %360
340: ; preds = %2
br label %360
341: ; preds = %2
br label %360
342: ; preds = %2
br label %360
343: ; preds = %2
br label %360
344: ; preds = %2
br label %360
345: ; preds = %2
br label %360
346: ; preds = %2
br label %360
347: ; preds = %2
br label %360
348: ; preds = %2
br label %360
349: ; preds = %2
br label %360
350: ; preds = %2
br label %360
351: ; preds = %2
br label %360
352: ; preds = %2
br label %360
353: ; preds = %2
br label %360
354: ; preds = %2
br label %360
355: ; preds = %2
br label %360
356: ; preds = %2
br label %360
357: ; preds = %2
br label %360
358: ; preds = %2
br label %360
359: ; preds = %2
br label %360
360: ; preds = %359, %358, %357, %356, %355, %354, %353, %352, %351, %350, %349, %348, %347, %346, %345, %344, %343, %342, %341, %340, %339, %338, %337, %336, %335, %334, %333, %332, %331, %330, %329, %327, %325, %323, %321, %320, %319, %318, %317, %316, %315, %314, %313, %312, %311, %310, %309, %308, %307, %306, %305, %304, %303, %302, %301, %300, %299, %298, %297, %296, %294, %292, %290, %288, %286, %284, %282, %280, %278, %276, %274, %272, %270, %268, %266, %264, %262, %260, %258, %256, %254, %252, %250, %248, %246, %244, %242, %240, %238, %236, %234, %232, %230, %228, %219, %210, %201, %192, %190, %188, %186, %184, %182, %180, %178, %176, %174, %172, %170, %168, %166, %165, %164, %162, %160, %158, %156, %154, %152, %150, %148, %146, %144, %142, %140, %138, %136, %134, %132, %130, %128, %126, %124, %122, %120, %118, %116, %114, %112, %110, %108, %106, %104, %102, %100, %98, %96, %94, %92, %90, %88, %86, %85, %84, %83, %82, %80, %78, %76, %74, %72, %70, %68, %66, %64, %63, %62, %61, %60, %58, %57, %56, %55, %54, %52, %50, %48, %39, %30, %22, %20, %18, %16, %15, %14, %12, %11, %9, %7
%361 = load i32, i32* %5
ret i32 %361
}

LLVM IR (-O2):
@BTN_LEFT = global i32 0
@BTN_RIGHT = global i32 0
@BTN_MIDDLE = global i32 0
@KEY_BACKSPACE = global i32 0
@KEY_TAB = global i32 0
@KEY_ENTER = global i32 0
@KEY_RIGHTSHIFT = global i32 0
@KEY_LEFTSHIFT = global i32 0
@KEY_RIGHTCTRL = global i32 0
@KEY_LEFTCTRL = global i32 0
@KEY_RIGHTALT = global i32 0
@KEY_LEFTALT = global i32 0
@KEY_PAUSE = global i32 0
@KEY_CAPSLOCK = global i32 0
@KEY_ESC = global i32 0
@KEY_SPACE = global i32 0
@KEY_PAGEUP = global i32 0
@KEY_PAGEDOWN = global i32 0
@KEY_END = global i32 0
@KEY_HOME = global i32 0
@KEY_LEFT = global i32 0
@KEY_UP = global i32 0
@KEY_RIGHT = global i32 0
@KEY_DOWN = global i32 0
@KEY_INSERT = global i32 0
@KEY_DELETE = global i32 0
@KEY_HELP = global i32 0
@KEY_0 = global i32 0
@KEY_1 = global i32 0
@KEY_2 = global i32 0
@KEY_3 = global i32 0
@KEY_4 = global i32 0
@KEY_5 = global i32 0
@KEY_6 = global i32 0
@KEY_7 = global i32 0
@KEY_8 = global i32 0
@KEY_9 = global i32 0
@KEY_A = global i32 0
@KEY_B = global i32 0
@KEY_C = global i32 0
@KEY_D = global i32 0
@KEY_E = global i32 0
@KEY_F = global i32 0
@KEY_G = global i32 0
@KEY_H = global i32 0
@KEY_I = global i32 0
@KEY_J = global i32 0
@KEY_K = global i32 0
@KEY_L = global i32 0
@KEY_M = global i32 0
@KEY_N = global i32 0
@KEY_O = global i32 0
@KEY_P = global i32 0
@KEY_Q = global i32 0
@KEY_R = global i32 0
@KEY_S = global i32 0
@KEY_T = global i32 0
@KEY_U = global i32 0
@KEY_V = global i32 0
@KEY_W = global i32 0
@KEY_X = global i32 0
@KEY_Y = global i32 0
@KEY_Z = global i32 0
@KEY_MENU = global i32 0
@KEY_SLEEP = global i32 0
@KEY_KP0 = global i32 0
@KEY_KP1 = global i32 0
@KEY_KP2 = global i32 0
@KEY_KP3 = global i32 0
@KEY_KP4 = global i32 0
@KEY_KP5 = global i32 0
@KEY_KP6 = global i32 0
@KEY_KP7 = global i32 0
@KEY_KP8 = global i32 0
@KEY_KP9 = global i32 0
@KEY_KPASTERISK = global i32 0
@KEY_KPPLUS = global i32 0
@KEY_KPCOMMA = global i32 0
@KEY_COMMA = global i32 0
@KEY_KPMINUS = global i32 0
@KEY_MINUS = global i32 0
@KEY_KPDOT = global i32 0
@KEY_DOT = global i32 0
@KEY_SLASH = global i32 0
@KEY_KPSLASH = global i32 0
@KEY_F1 = global i32 0
@KEY_F2 = global i32 0
@KEY_F3 = global i32 0
@KEY_F4 = global i32 0
@KEY_F5 = global i32 0
@KEY_F6 = global i32 0
@KEY_F7 = global i32 0
@KEY_F8 = global i32 0
@KEY_F9 = global i32 0
@KEY_F10 = global i32 0
@KEY_F11 = global i32 0
@KEY_F12 = global i32 0
@KEY_F13 = global i32 0
@KEY_F14 = global i32 0
@KEY_F15 = global i32 0
@KEY_F16 = global i32 0
@KEY_F17 = global i32 0
@KEY_F18 = global i32 0
@KEY_F19 = global i32 0
@KEY_F20 = global i32 0
@KEY_F21 = global i32 0
@KEY_F22 = global i32 0
@KEY_F23 = global i32 0
@KEY_F24 = global i32 0
@KEY_NUMLOCK = global i32 0
@KEY_SCROLLLOCK = global i32 0
@KEY_KPEQUAL = global i32 0
@KEY_LEFTBRACE = global i32 0
@KEY_BACKSLASH = global i32 0
@KEY_RIGHTBRACE = global i32 0
@KEY_APOSTROPHE = global i32 0
define i32 @lsadrv_vkeytokey(i32 %0, i32 %1) {
switch i32 %0, label %254 [
i32 1, label %3
i32 2, label %5
i32 222, label %252
i32 4, label %7
i32 221, label %250
i32 220, label %248
i32 8, label %9
i32 9, label %11
i32 13, label %13
i32 219, label %246
i32 16, label %15
i32 17, label %20
i32 18, label %25
i32 19, label %30
i32 20, label %32
i32 165, label %244
i32 164, label %242
i32 163, label %240
i32 162, label %238
i32 27, label %34
i32 161, label %236
i32 160, label %234
i32 146, label %232
i32 145, label %230
i32 32, label %36
i32 33, label %38
i32 34, label %40
i32 35, label %42
i32 36, label %44
i32 37, label %46
i32 38, label %48
i32 39, label %50
i32 40, label %52
i32 144, label %228
i32 135, label %226
i32 134, label %224
i32 133, label %222
i32 45, label %54
i32 46, label %56
i32 47, label %58
i32 48, label %60
i32 49, label %62
i32 50, label %64
i32 51, label %66
i32 52, label %68
i32 53, label %70
i32 54, label %72
i32 55, label %74
i32 56, label %76
i32 57, label %78
i32 65, label %80
i32 66, label %82
i32 67, label %84
i32 68, label %86
i32 69, label %88
i32 70, label %90
i32 71, label %92
i32 72, label %94
i32 73, label %96
i32 74, label %98
i32 75, label %100
i32 76, label %102
i32 77, label %104
i32 78, label %106
i32 79, label %108
i32 80, label %110
i32 81, label %112
i32 82, label %114
i32 83, label %116
i32 84, label %118
i32 85, label %120
i32 86, label %122
i32 87, label %124
i32 88, label %126
i32 89, label %128
i32 90, label %130
i32 132, label %220
i32 131, label %218
i32 93, label %132
i32 95, label %134
i32 96, label %136
i32 97, label %138
i32 98, label %140
i32 99, label %142
i32 100, label %144
i32 101, label %146
i32 102, label %148
i32 103, label %150
i32 104, label %152
i32 105, label %154
i32 106, label %156
i32 107, label %158
i32 108, label %160
i32 109, label %165
i32 110, label %170
i32 111, label %175
i32 112, label %180
i32 113, label %182
i32 114, label %184
i32 115, label %186
i32 116, label %188
i32 117, label %190
i32 118, label %192
i32 119, label %194
i32 120, label %196
i32 121, label %198
i32 122, label %200
i32 123, label %202
i32 124, label %204
i32 125, label %206
i32 126, label %208
i32 127, label %210
i32 128, label %212
i32 129, label %214
i32 130, label %216
]
3: ; preds = %2
%4 = load i32, i32* @BTN_LEFT
br label %254
5: ; preds = %2
%6 = load i32, i32* @BTN_RIGHT
br label %254
7: ; preds = %2
%8 = load i32, i32* @BTN_MIDDLE
br label %254
9: ; preds = %2
%10 = load i32, i32* @KEY_BACKSPACE
br label %254
11: ; preds = %2
%12 = load i32, i32* @KEY_TAB
br label %254
13: ; preds = %2
%14 = load i32, i32* @KEY_ENTER
br label %254
15: ; preds = %2
%16 = icmp eq i32 %1, 0
%17 = load i32, i32* @KEY_RIGHTSHIFT
%18 = load i32, i32* @KEY_LEFTSHIFT
%19 = select i1 %16, i32 %18, i32 %17
br label %254
20: ; preds = %2
%21 = icmp eq i32 %1, 0
%22 = load i32, i32* @KEY_RIGHTCTRL
%23 = load i32, i32* @KEY_LEFTCTRL
%24 = select i1 %21, i32 %23, i32 %22
br label %254
25: ; preds = %2
%26 = icmp eq i32 %1, 0
%27 = load i32, i32* @KEY_RIGHTALT
%28 = load i32, i32* @KEY_LEFTALT
%29 = select i1 %26, i32 %28, i32 %27
br label %254
30: ; preds = %2
%31 = load i32, i32* @KEY_PAUSE
br label %254
32: ; preds = %2
%33 = load i32, i32* @KEY_CAPSLOCK
br label %254
34: ; preds = %2
%35 = load i32, i32* @KEY_ESC
br label %254
36: ; preds = %2
%37 = load i32, i32* @KEY_SPACE
br label %254
38: ; preds = %2
%39 = load i32, i32* @KEY_PAGEUP
br label %254
40: ; preds = %2
%41 = load i32, i32* @KEY_PAGEDOWN
br label %254
42: ; preds = %2
%43 = load i32, i32* @KEY_END
br label %254
44: ; preds = %2
%45 = load i32, i32* @KEY_HOME
br label %254
46: ; preds = %2
%47 = load i32, i32* @KEY_LEFT
br label %254
48: ; preds = %2
%49 = load i32, i32* @KEY_UP
br label %254
50: ; preds = %2
%51 = load i32, i32* @KEY_RIGHT
br label %254
52: ; preds = %2
%53 = load i32, i32* @KEY_DOWN
br label %254
54: ; preds = %2
%55 = load i32, i32* @KEY_INSERT
br label %254
56: ; preds = %2
%57 = load i32, i32* @KEY_DELETE
br label %254
58: ; preds = %2
%59 = load i32, i32* @KEY_HELP
br label %254
60: ; preds = %2
%61 = load i32, i32* @KEY_0
br label %254
62: ; preds = %2
%63 = load i32, i32* @KEY_1
br label %254
64: ; preds = %2
%65 = load i32, i32* @KEY_2
br label %254
66: ; preds = %2
%67 = load i32, i32* @KEY_3
br label %254
68: ; preds = %2
%69 = load i32, i32* @KEY_4
br label %254
70: ; preds = %2
%71 = load i32, i32* @KEY_5
br label %254
72: ; preds = %2
%73 = load i32, i32* @KEY_6
br label %254
74: ; preds = %2
%75 = load i32, i32* @KEY_7
br label %254
76: ; preds = %2
%77 = load i32, i32* @KEY_8
br label %254
78: ; preds = %2
%79 = load i32, i32* @KEY_9
br label %254
80: ; preds = %2
%81 = load i32, i32* @KEY_A
br label %254
82: ; preds = %2
%83 = load i32, i32* @KEY_B
br label %254
84: ; preds = %2
%85 = load i32, i32* @KEY_C
br label %254
86: ; preds = %2
%87 = load i32, i32* @KEY_D
br label %254
88: ; preds = %2
%89 = load i32, i32* @KEY_E
br label %254
90: ; preds = %2
%91 = load i32, i32* @KEY_F
br label %254
92: ; preds = %2
%93 = load i32, i32* @KEY_G
br label %254
94: ; preds = %2
%95 = load i32, i32* @KEY_H
br label %254
96: ; preds = %2
%97 = load i32, i32* @KEY_I
br label %254
98: ; preds = %2
%99 = load i32, i32* @KEY_J
br label %254
100: ; preds = %2
%101 = load i32, i32* @KEY_K
br label %254
102: ; preds = %2
%103 = load i32, i32* @KEY_L
br label %254
104: ; preds = %2
%105 = load i32, i32* @KEY_M
br label %254
106: ; preds = %2
%107 = load i32, i32* @KEY_N
br label %254
108: ; preds = %2
%109 = load i32, i32* @KEY_O
br label %254
110: ; preds = %2
%111 = load i32, i32* @KEY_P
br label %254
112: ; preds = %2
%113 = load i32, i32* @KEY_Q
br label %254
114: ; preds = %2
%115 = load i32, i32* @KEY_R
br label %254
116: ; preds = %2
%117 = load i32, i32* @KEY_S
br label %254
118: ; preds = %2
%119 = load i32, i32* @KEY_T
br label %254
120: ; preds = %2
%121 = load i32, i32* @KEY_U
br label %254
122: ; preds = %2
%123 = load i32, i32* @KEY_V
br label %254
124: ; preds = %2
%125 = load i32, i32* @KEY_W
br label %254
126: ; preds = %2
%127 = load i32, i32* @KEY_X
br label %254
128: ; preds = %2
%129 = load i32, i32* @KEY_Y
br label %254
130: ; preds = %2
%131 = load i32, i32* @KEY_Z
br label %254
132: ; preds = %2
%133 = load i32, i32* @KEY_MENU
br label %254
134: ; preds = %2
%135 = load i32, i32* @KEY_SLEEP
br label %254
136: ; preds = %2
%137 = load i32, i32* @KEY_KP0
br label %254
138: ; preds = %2
%139 = load i32, i32* @KEY_KP1
br label %254
140: ; preds = %2
%141 = load i32, i32* @KEY_KP2
br label %254
142: ; preds = %2
%143 = load i32, i32* @KEY_KP3
br label %254
144: ; preds = %2
%145 = load i32, i32* @KEY_KP4
br label %254
146: ; preds = %2
%147 = load i32, i32* @KEY_KP5
br label %254
148: ; preds = %2
%149 = load i32, i32* @KEY_KP6
br label %254
150: ; preds = %2
%151 = load i32, i32* @KEY_KP7
br label %254
152: ; preds = %2
%153 = load i32, i32* @KEY_KP8
br label %254
154: ; preds = %2
%155 = load i32, i32* @KEY_KP9
br label %254
156: ; preds = %2
%157 = load i32, i32* @KEY_KPASTERISK
br label %254
158: ; preds = %2
%159 = load i32, i32* @KEY_KPPLUS
br label %254
160: ; preds = %2
%161 = icmp eq i32 %1, 0
%162 = load i32, i32* @KEY_KPCOMMA
%163 = load i32, i32* @KEY_COMMA
%164 = select i1 %161, i32 %163, i32 %162
br label %254
165: ; preds = %2
%166 = icmp eq i32 %1, 0
%167 = load i32, i32* @KEY_KPMINUS
%168 = load i32, i32* @KEY_MINUS
%169 = select i1 %166, i32 %168, i32 %167
br label %254
170: ; preds = %2
%171 = icmp eq i32 %1, 0
%172 = load i32, i32* @KEY_KPDOT
%173 = load i32, i32* @KEY_DOT
%174 = select i1 %171, i32 %173, i32 %172
br label %254
175: ; preds = %2
%176 = icmp eq i32 %1, 0
%177 = load i32, i32* @KEY_SLASH
%178 = load i32, i32* @KEY_KPSLASH
%179 = select i1 %176, i32 %178, i32 %177
br label %254
180: ; preds = %2
%181 = load i32, i32* @KEY_F1
br label %254
182: ; preds = %2
%183 = load i32, i32* @KEY_F2
br label %254
184: ; preds = %2
%185 = load i32, i32* @KEY_F3
br label %254
186: ; preds = %2
%187 = load i32, i32* @KEY_F4
br label %254
188: ; preds = %2
%189 = load i32, i32* @KEY_F5
br label %254
190: ; preds = %2
%191 = load i32, i32* @KEY_F6
br label %254
192: ; preds = %2
%193 = load i32, i32* @KEY_F7
br label %254
194: ; preds = %2
%195 = load i32, i32* @KEY_F8
br label %254
196: ; preds = %2
%197 = load i32, i32* @KEY_F9
br label %254
198: ; preds = %2
%199 = load i32, i32* @KEY_F10
br label %254
200: ; preds = %2
%201 = load i32, i32* @KEY_F11
br label %254
202: ; preds = %2
%203 = load i32, i32* @KEY_F12
br label %254
204: ; preds = %2
%205 = load i32, i32* @KEY_F13
br label %254
206: ; preds = %2
%207 = load i32, i32* @KEY_F14
br label %254
208: ; preds = %2
%209 = load i32, i32* @KEY_F15
br label %254
210: ; preds = %2
%211 = load i32, i32* @KEY_F16
br label %254
212: ; preds = %2
%213 = load i32, i32* @KEY_F17
br label %254
214: ; preds = %2
%215 = load i32, i32* @KEY_F18
br label %254
216: ; preds = %2
%217 = load i32, i32* @KEY_F19
br label %254
218: ; preds = %2
%219 = load i32, i32* @KEY_F20
br label %254
220: ; preds = %2
%221 = load i32, i32* @KEY_F21
br label %254
222: ; preds = %2
%223 = load i32, i32* @KEY_F22
br label %254
224: ; preds = %2
%225 = load i32, i32* @KEY_F23
br label %254
226: ; preds = %2
%227 = load i32, i32* @KEY_F24
br label %254
228: ; preds = %2
%229 = load i32, i32* @KEY_NUMLOCK
br label %254
230: ; preds = %2
%231 = load i32, i32* @KEY_SCROLLLOCK
br label %254
232: ; preds = %2
%233 = load i32, i32* @KEY_KPEQUAL
br label %254
234: ; preds = %2
%235 = load i32, i32* @KEY_LEFTSHIFT
br label %254
236: ; preds = %2
%237 = load i32, i32* @KEY_RIGHTSHIFT
br label %254
238: ; preds = %2
%239 = load i32, i32* @KEY_LEFTCTRL
br label %254
240: ; preds = %2
%241 = load i32, i32* @KEY_RIGHTCTRL
br label %254
242: ; preds = %2
%243 = load i32, i32* @KEY_LEFTALT
br label %254
244: ; preds = %2
%245 = load i32, i32* @KEY_RIGHTALT
br label %254
246: ; preds = %2
%247 = load i32, i32* @KEY_LEFTBRACE
br label %254
248: ; preds = %2
%249 = load i32, i32* @KEY_BACKSLASH
br label %254
250: ; preds = %2
%251 = load i32, i32* @KEY_RIGHTBRACE
br label %254
252: ; preds = %2
%253 = load i32, i32* @KEY_APOSTROPHE
br label %254
254: ; preds = %2, %252, %250, %248, %246, %244, %242, %240, %238, %236, %234, %232, %230, %228, %226, %224, %222, %220, %218, %216, %214, %212, %210, %208, %206, %204, %202, %200, %198, %196, %194, %192, %190, %188, %186, %184, %182, %180, %175, %170, %165, %160, %158, %156, %154, %152, %150, %148, %146, %144, %142, %140, %138, %136, %134, %132, %130, %128, %126, %124, %122, %120, %118, %116, %114, %112, %110, %108, %106, %104, %102, %100, %98, %96, %94, %92, %90, %88, %86, %84, %82, %80, %78, %76, %74, %72, %70, %68, %66, %64, %62, %60, %58, %56, %54, %52, %50, %48, %46, %44, %42, %40, %38, %36, %34, %32, %30, %25, %20, %15, %13, %11, %9, %7, %5, %3
%255 = phi i32 [ 0, %2 ], [ %217, %216 ], [ %215, %214 ], [ %213, %212 ], [ %211, %210 ], [ %209, %208 ], [ %207, %206 ], [ %205, %204 ], [ %203, %202 ], [ %201, %200 ], [ %199, %198 ], [ %197, %196 ], [ %195, %194 ], [ %193, %192 ], [ %191, %190 ], [ %189, %188 ], [ %187, %186 ], [ %185, %184 ], [ %183, %182 ], [ %181, %180 ], [ %179, %175 ], [ %174, %170 ], [ %169, %165 ], [ %164, %160 ], [ %159, %158 ], [ %157, %156 ], [ %155, %154 ], [ %153, %152 ], [ %151, %150 ], [ %149, %148 ], [ %147, %146 ], [ %145, %144 ], [ %143, %142 ], [ %141, %140 ], [ %139, %138 ], [ %137, %136 ], [ %135, %134 ], [ %133, %132 ], [ %219, %218 ], [ %221, %220 ], [ %131, %130 ], [ %129, %128 ], [ %127, %126 ], [ %125, %124 ], [ %123, %122 ], [ %121, %120 ], [ %119, %118 ], [ %117, %116 ], [ %115, %114 ], [ %113, %112 ], [ %111, %110 ], [ %109, %108 ], [ %107, %106 ], [ %105, %104 ], [ %103, %102 ], [ %101, %100 ], [ %99, %98 ], [ %97, %96 ], [ %95, %94 ], [ %93, %92 ], [ %91, %90 ], [ %89, %88 ], [ %87, %86 ], [ %85, %84 ], [ %83, %82 ], [ %81, %80 ], [ %79, %78 ], [ %77, %76 ], [ %75, %74 ], [ %73, %72 ], [ %71, %70 ], [ %69, %68 ], [ %67, %66 ], [ %65, %64 ], [ %63, %62 ], [ %61, %60 ], [ %59, %58 ], [ %57, %56 ], [ %55, %54 ], [ %223, %222 ], [ %225, %224 ], [ %227, %226 ], [ %229, %228 ], [ %53, %52 ], [ %51, %50 ], [ %49, %48 ], [ %47, %46 ], [ %45, %44 ], [ %43, %42 ], [ %41, %40 ], [ %39, %38 ], [ %37, %36 ], [ %231, %230 ], [ %233, %232 ], [ %235, %234 ], [ %237, %236 ], [ %35, %34 ], [ %239, %238 ], [ %241, %240 ], [ %243, %242 ], [ %245, %244 ], [ %33, %32 ], [ %31, %30 ], [ %29, %25 ], [ %24, %20 ], [ %19, %15 ], [ %247, %246 ], [ %14, %13 ], [ %12, %11 ], [ %10, %9 ], [ %249, %248 ], [ %251, %250 ], [ %8, %7 ], [ %253, %252 ], [ %6, %5 ], [ %4, %3 ]
ret i32 %255
}