#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 /*<<< orphan*/ snprintf(char *, int, char *, unsigned int);
const char *x86_pci_subclass_to_string(unsigned baseclass, unsigned subclass,
                                       unsigned interface,
                                       const char **baseclass_name) {
  static char temp_baseclass_number[7], temp_subclass_number[7];
  const char *baseclass_name_null;
  if (!baseclass_name) {
    baseclass_name = &baseclass_name_null;
  }
  switch (baseclass) {
  case 0x00:
    *baseclass_name =
        "Device was built before Class Code definitions were finalized";
    switch (subclass) {
    case 0x00:
      return "Non-VGA";
    case 0x01:
      return "VGA";
    }
    break;
  case 0x01:
    *baseclass_name = "Mass storage controller";
    switch (subclass) {
    case 0x00:
      return "SCSI bus controller";
    case 0x01:
      return "IDE controller";
    case 0x02:
      return "Floppy disk controller";
    case 0x03:
      return "IPI bus controller";
    case 0x04:
      return "RAID controller";
    case 0x05:
      return "ATA controller";
    case 0x06:
      return "Serial ATA Direct Port Access";
    case 0x80:
      return "Other mass storage controller";
    }
    break;
  case 0x02:
    *baseclass_name = "Network controller";
    switch (subclass) {
    case 0x00:
      return "Ethernet controller";
    case 0x01:
      return "Token Ring controller";
    case 0x02:
      return "FDDI controller";
    case 0x03:
      return "ATM controller";
    case 0x04:
      return "ISDN controller";
    case 0x05:
      return "WorldFip controller";
    case 0x06:
      return "PICMG 2.14 Multi Computing";
    case 0x80:
      return "Other network controller";
    }
    break;
  case 0x03:
    *baseclass_name = "Display controller";
    switch (subclass) {
    case 0x00:
      switch (interface) {
      case 0x00:
        return "VGA-compatible controller";
      case 0x01:
        return "8514-compatible controller";
      default:
        return "[UNDEFINED IN ACPI 3.0]";
      }
    case 0x01:
      return "XGA coltroller";
    case 0x02:
      return "3D controller";
    case 0x80:
      return "Other display controller";
    }
    break;
  case 0x04:
    *baseclass_name = "Multimedia device";
    switch (subclass) {
    case 0x00:
      return "Video device";
    case 0x01:
      return "Audio device";
    case 0x02:
      return "Computer telephony device";
    case 0x80:
      return "Other multimedia device";
    }
    break;
  case 0x05:
    *baseclass_name = "Memory controller";
    switch (subclass) {
    case 0x00:
      return "RAM";
    case 0x01:
      return "Flash";
    case 0x80:
      return "Other memory controller";
    }
    break;
  case 0x06:
    *baseclass_name = "Bridge device";
    switch (subclass) {
    case 0x00:
      return "Host bridge";
    case 0x01:
      return "ISA bridge";
    case 0x02:
      return "EISA bridge";
    case 0x03:
      return "MCA bridge";
    case 0x04:
      return "PCI-to-PCI bridge";
    case 0x05:
      return "PCMCIA bridge";
    case 0x06:
      return "NuBus bridge";
    case 0x07:
      return "CardBus bridge";
    case 0x08:
      return "RACEway bridge";
    case 0x09:
      return "Semi-transparent PCI-to-PCI bridge";
    case 0x0a:
      return "InfiniBand-to-PCI host bridge";
    case 0x80:
      return "Other bridge device";
    }
    break;
  case 0x07:
    *baseclass_name = "Simple communication controller";
    switch (subclass) {
    case 0x00:
      switch (interface) {
      case 0x00:
        return "Generic XT-compatible serial controller";
      case 0x01:
        return "16450-compatible serial controller";
      case 0x02:
        return "16550-compatible serial controller";
      case 0x03:
        return "16650-compatible serial controller";
      case 0x04:
        return "16750-compatible serial controller";
      case 0x05:
        return "16850-compatible serial controller";
      case 0x06:
        return "16950-compatible serial controller";
      }
      break;
    case 0x01:
      switch (interface) {
      case 0x00:
        return "Parallel port";
      case 0x01:
        return "Bi-directional parallel port";
      case 0x02:
        return "ECP 1.X compliant parallel port";
      case 0x03:
        return "IEEE1284 controller";
      case 0xef:
        return "IEEE1284 target device";
      }
      break;
    case 0x02:
      return "Multiport serial controller";
    case 0x03:
      switch (interface) {
      case 0x00:
        return "Generic modem";
      case 0x01:
        return "Hayes compatible modem, 16450-compatible interface";
      case 0x02:
        return "Hayes compatible modem, 16550-compatible interface";
      case 0x03:
        return "Hayes compatible modem, 16650-compatible interface";
      case 0x04:
        return "Hayes compatible modem, 16750-compatible interface";
      }
      break;
    case 0x04:
      return "GPIB (IEEE 488.1/2) controller";
    case 0x05:
      return "Smart Card";
    case 0x80:
      return "Other communications device";
    }
    break;
  case 0x08:
    *baseclass_name = "Base system peripheral";
    switch (subclass) {
    case 0x00:
      switch (interface) {
      case 0x00:
        return "Generic 8259 PIC";
      case 0x01:
        return "ISA PIC";
      case 0x02:
        return "EISA PIC";
      case 0x10:
        return "I/O APIC interrupt controller (see below)";
      case 0x20:
        return "I/O(x) APIC interrupt controller";
      }
      break;
    case 0x01:
      switch (interface) {
      case 0x00:
        return "Generic 8237 DMA controller";
      case 0x01:
        return "ISA DMA controller";
      case 0x02:
        return "EISA DMA controller";
      }
      break;
    case 0x02:
      switch (interface) {
      case 0x00:
        return "Generic 8254 system timer";
      case 0x01:
        return "ISA system timer";
      case 0x02:
        return "EISA system timers (two timers)";
      }
      break;
    case 0x03:
      switch (interface) {
      case 0x00:
        return "Generic RTC controller";
      case 0x01:
        return "ISA RTC controller";
      }
      break;
    case 0x04:
      return "Generic PCI Hot-Plug controller";
    case 0x80:
      return "Other system peripheral";
    }
    break;
  case 0x09:
    *baseclass_name = "Input device";
    switch (subclass) {
    case 0x00:
      return "Keyboard controller";
    case 0x01:
      return "Digitizer (pen)";
    case 0x02:
      return "Mouse controller";
    case 0x03:
      return "Scanner controller";
    case 0x04:
      return "Gameport controller";
    case 0x80:
      return "Other input controller";
    }
    break;
  case 0x0a:
    *baseclass_name = "Docking station";
    switch (subclass) {
    case 0x00:
      return "Generic docking station";
    case 0x80:
      return "Other type of docking station";
    }
    break;
  case 0x0b:
    *baseclass_name = "Processor";
    switch (subclass) {
    case 0x00:
      return "386";
    case 0x01:
      return "486";
    case 0x02:
      return "Pentium";
    case 0x10:
      return "Alpha";
    case 0x20:
      return "PowerPC";
    case 0x30:
      return "MIPS";
    case 0x40:
      return "Co-processor";
    }
    break;
  case 0x0c:
    *baseclass_name = "Serial bus controller";
    switch (subclass) {
    case 0x00:
      switch (interface) {
      case 0x00:
        return "IEEE 1394 (FireWire)";
      case 0x01:
        return "IEEE 1394 following the 1394 OpenHCI specification";
      }
      break;
    case 0x01:
      return "ACCESS.bus";
    case 0x02:
      return "SSA";
    case 0x03:
      switch (interface) {
      case 0x00:
        return "Universal Serial Bus (USB) following the Universal Host "
               "Controller Specification";
      case 0x10:
        return "Universal Serial Bus (USB) following the Open Host Controller "
               "Specification";
      case 0x20:
        return "USB2 host controller following the Intel Enhanced Host "
               "Controller Interface";
      case 0x80:
        return "Universal Serial Bus with no specific programming interface";
      case 0xfe:
        return "USB device";
      }
      break;
    case 0x04:
      return "Fibre Channel";
    case 0x05:
      return "SMBus";
    case 0x06:
      return "InfiniBand";
    case 0x07:
      switch (interface) {
      case 0x00:
        return "IPMI SMIC Interface";
      case 0x01:
        return "IPMI Kybd Controller Style Interface";
      case 0x02:
        return "IPMI Block Transfer Interface";
      }
      break;
    case 0x08:
      return "SERCOS Interface Standard (IEC 61491)";
    case 0x09:
      return "CANbus";
    }
    break;
  case 0x0d:
    *baseclass_name = "Wireless controller";
    switch (subclass) {
    case 0x00:
      return "iRDA compatible controller";
    case 0x01:
      return "Consumer IR controller";
    case 0x10:
      return "RF controller";
    case 0x11:
      return "Bluetooth";
    case 0x12:
      return "Broadband";
    case 0x20:
      return "Ethernet (802.11a)";
    case 0x21:
      return "Ethernet (802.11b)";
    case 0x80:
      return "Other type of wireless controller";
    }
    break;
  case 0x0e:
    *baseclass_name = "Intelligent I/O controller";
    switch (subclass) {
    case 0x00:
      switch (interface) {
      case 0x00:
        return "Message FIFO at offset 040h";
      default:
        return "Intelligent I/O (I2O) Architecture Specification 1.0";
      }
      break;
    }
    break;
  case 0x0f:
    *baseclass_name = "Satellite communication controller";
    switch (subclass) {
    case 0x01:
      return "TV";
    case 0x02:
      return "Audio";
    case 0x03:
      return "Voice";
    case 0x04:
      return "Data";
    }
    break;
  case 0x10:
    *baseclass_name = "Encryption/Decryption controller";
    switch (subclass) {
    case 0x00:
      return "Network and computing en/decryption";
    case 0x10:
      return "Entertainment en/decryption";
    case 0x80:
      return "Other en/decryption";
    }
    break;
  case 0x11:
    *baseclass_name = "Data acquisition and signal processing controller";
    switch (subclass) {
    case 0x00:
      return "DPIO modules";
    case 0x01:
      return "Performance counters";
    case 0x10:
      return "Communications synchronization plus time and frequency "
             "test/measurement";
    case 0x20:
      return "Management card";
    case 0x80:
      return "Other data acquisition/signal processing controllers";
    }
    break;
  case 0xff:
    *baseclass_name = "Other device";
    break;
  default:
    snprintf(temp_baseclass_number, sizeof temp_baseclass_number, "0x%04x",
             baseclass);
    *baseclass_name = temp_baseclass_number;
  }
  snprintf(temp_subclass_number, sizeof temp_subclass_number, "0x%04x",
           subclass);
  return temp_subclass_number;
}


x86 assembly (clang, -O0):
<x86_pci_subclass_to_string>:
push   %rbp
mov    %rsp,%rbp
sub    $0xc0,%rsp
mov    %edi,-0xc(%rbp)
mov    %esi,-0x10(%rbp)
mov    %edx,-0x14(%rbp)
mov    %rcx,-0x20(%rbp)
cmpq   $0x0,-0x20(%rbp)
jne    113b <x86_pci_subclass_to_string+0x2b>
lea    -0x28(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x2c(%rbp)
test   %eax,%eax
je     1282 <x86_pci_subclass_to_string+0x172>
jmp    114e <x86_pci_subclass_to_string+0x3e>
mov    -0x2c(%rbp),%eax
sub    $0x1,%eax
je     12d9 <x86_pci_subclass_to_string+0x1c9>
jmp    115f <x86_pci_subclass_to_string+0x4f>
mov    -0x2c(%rbp),%eax
sub    $0x2,%eax
je     13f8 <x86_pci_subclass_to_string+0x2e8>
jmp    1170 <x86_pci_subclass_to_string+0x60>
mov    -0x2c(%rbp),%eax
sub    $0x3,%eax
je     1517 <x86_pci_subclass_to_string+0x407>
jmp    1181 <x86_pci_subclass_to_string+0x71>
mov    -0x2c(%rbp),%eax
sub    $0x4,%eax
je     15f6 <x86_pci_subclass_to_string+0x4e6>
jmp    1192 <x86_pci_subclass_to_string+0x82>
mov    -0x2c(%rbp),%eax
sub    $0x5,%eax
je     1691 <x86_pci_subclass_to_string+0x581>
jmp    11a3 <x86_pci_subclass_to_string+0x93>
mov    -0x2c(%rbp),%eax
sub    $0x6,%eax
je     170b <x86_pci_subclass_to_string+0x5fb>
jmp    11b4 <x86_pci_subclass_to_string+0xa4>
mov    -0x2c(%rbp),%eax
sub    $0x7,%eax
je     18ae <x86_pci_subclass_to_string+0x79e>
jmp    11c5 <x86_pci_subclass_to_string+0xb5>
mov    -0x2c(%rbp),%eax
sub    $0x8,%eax
je     1b3e <x86_pci_subclass_to_string+0xa2e>
jmp    11d6 <x86_pci_subclass_to_string+0xc6>
mov    -0x2c(%rbp),%eax
sub    $0x9,%eax
je     1d78 <x86_pci_subclass_to_string+0xc68>
jmp    11e7 <x86_pci_subclass_to_string+0xd7>
mov    -0x2c(%rbp),%eax
sub    $0xa,%eax
je     1e67 <x86_pci_subclass_to_string+0xd57>
jmp    11f8 <x86_pci_subclass_to_string+0xe8>
mov    -0x2c(%rbp),%eax
sub    $0xb,%eax
je     1ec6 <x86_pci_subclass_to_string+0xdb6>
jmp    1209 <x86_pci_subclass_to_string+0xf9>
mov    -0x2c(%rbp),%eax
sub    $0xc,%eax
je     1f74 <x86_pci_subclass_to_string+0xe64>
jmp    121a <x86_pci_subclass_to_string+0x10a>
mov    -0x2c(%rbp),%eax
sub    $0xd,%eax
je     21a3 <x86_pci_subclass_to_string+0x1093>
jmp    122b <x86_pci_subclass_to_string+0x11b>
mov    -0x2c(%rbp),%eax
sub    $0xe,%eax
je     22da <x86_pci_subclass_to_string+0x11ca>
jmp    123c <x86_pci_subclass_to_string+0x12c>
mov    -0x2c(%rbp),%eax
sub    $0xf,%eax
je     232d <x86_pci_subclass_to_string+0x121d>
jmp    124d <x86_pci_subclass_to_string+0x13d>
mov    -0x2c(%rbp),%eax
sub    $0x10,%eax
je     23af <x86_pci_subclass_to_string+0x129f>
jmp    125e <x86_pci_subclass_to_string+0x14e>
mov    -0x2c(%rbp),%eax
sub    $0x11,%eax
je     2432 <x86_pci_subclass_to_string+0x1322>
jmp    126f <x86_pci_subclass_to_string+0x15f>
mov    -0x2c(%rbp),%eax
sub    $0xff,%eax
je     24fd <x86_pci_subclass_to_string+0x13ed>
jmp    2510 <x86_pci_subclass_to_string+0x1400>
mov    -0x20(%rbp),%rax
lea    0x1f63(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %eax,-0x30(%rbp)
test   %eax,%eax
je     12b4 <x86_pci_subclass_to_string+0x1a4>
jmp    12a3 <x86_pci_subclass_to_string+0x193>
mov    -0x30(%rbp),%eax
sub    $0x1,%eax
je     12c4 <x86_pci_subclass_to_string+0x1b4>
jmp    12d4 <x86_pci_subclass_to_string+0x1c4>
lea    0x1f73(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1f67(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1f52(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %eax,-0x34(%rbp)
test   %eax,%eax
je     1373 <x86_pci_subclass_to_string+0x263>
jmp    12fa <x86_pci_subclass_to_string+0x1ea>
mov    -0x34(%rbp),%eax
sub    $0x1,%eax
je     1383 <x86_pci_subclass_to_string+0x273>
jmp    130b <x86_pci_subclass_to_string+0x1fb>
mov    -0x34(%rbp),%eax
sub    $0x2,%eax
je     1393 <x86_pci_subclass_to_string+0x283>
jmp    131c <x86_pci_subclass_to_string+0x20c>
mov    -0x34(%rbp),%eax
sub    $0x3,%eax
je     13a3 <x86_pci_subclass_to_string+0x293>
jmp    132d <x86_pci_subclass_to_string+0x21d>
mov    -0x34(%rbp),%eax
sub    $0x4,%eax
je     13b3 <x86_pci_subclass_to_string+0x2a3>
jmp    133e <x86_pci_subclass_to_string+0x22e>
mov    -0x34(%rbp),%eax
sub    $0x5,%eax
je     13c3 <x86_pci_subclass_to_string+0x2b3>
jmp    134f <x86_pci_subclass_to_string+0x23f>
mov    -0x34(%rbp),%eax
sub    $0x6,%eax
je     13d3 <x86_pci_subclass_to_string+0x2c3>
jmp    1360 <x86_pci_subclass_to_string+0x250>
mov    -0x34(%rbp),%eax
sub    $0x80,%eax
je     13e3 <x86_pci_subclass_to_string+0x2d3>
jmp    13f3 <x86_pci_subclass_to_string+0x2e3>
lea    0x1ed4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ed8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ed7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ede(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ee1(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ee1(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ee0(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1eee(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1ef3(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %eax,-0x38(%rbp)
test   %eax,%eax
je     1492 <x86_pci_subclass_to_string+0x382>
jmp    1419 <x86_pci_subclass_to_string+0x309>
mov    -0x38(%rbp),%eax
sub    $0x1,%eax
je     14a2 <x86_pci_subclass_to_string+0x392>
jmp    142a <x86_pci_subclass_to_string+0x31a>
mov    -0x38(%rbp),%eax
sub    $0x2,%eax
je     14b2 <x86_pci_subclass_to_string+0x3a2>
jmp    143b <x86_pci_subclass_to_string+0x32b>
mov    -0x38(%rbp),%eax
sub    $0x3,%eax
je     14c2 <x86_pci_subclass_to_string+0x3b2>
jmp    144c <x86_pci_subclass_to_string+0x33c>
mov    -0x38(%rbp),%eax
sub    $0x4,%eax
je     14d2 <x86_pci_subclass_to_string+0x3c2>
jmp    145d <x86_pci_subclass_to_string+0x34d>
mov    -0x38(%rbp),%eax
sub    $0x5,%eax
je     14e2 <x86_pci_subclass_to_string+0x3d2>
jmp    146e <x86_pci_subclass_to_string+0x35e>
mov    -0x38(%rbp),%eax
sub    $0x6,%eax
je     14f2 <x86_pci_subclass_to_string+0x3e2>
jmp    147f <x86_pci_subclass_to_string+0x36f>
mov    -0x38(%rbp),%eax
sub    $0x80,%eax
je     1502 <x86_pci_subclass_to_string+0x3f2>
jmp    1512 <x86_pci_subclass_to_string+0x402>
lea    0x1e70(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1e74(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1e7a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1e7a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1e79(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1e79(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1e7d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1e88(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1e88(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %eax,-0x3c(%rbp)
test   %eax,%eax
je     156d <x86_pci_subclass_to_string+0x45d>
jmp    1538 <x86_pci_subclass_to_string+0x428>
mov    -0x3c(%rbp),%eax
sub    $0x1,%eax
je     15c1 <x86_pci_subclass_to_string+0x4b1>
jmp    1549 <x86_pci_subclass_to_string+0x439>
mov    -0x3c(%rbp),%eax
sub    $0x2,%eax
je     15d1 <x86_pci_subclass_to_string+0x4c1>
jmp    155a <x86_pci_subclass_to_string+0x44a>
mov    -0x3c(%rbp),%eax
sub    $0x80,%eax
je     15e1 <x86_pci_subclass_to_string+0x4d1>
jmp    15f1 <x86_pci_subclass_to_string+0x4e1>
mov    -0x14(%rbp),%eax
mov    %eax,-0x40(%rbp)
test   %eax,%eax
je     1591 <x86_pci_subclass_to_string+0x481>
jmp    1580 <x86_pci_subclass_to_string+0x470>
mov    -0x40(%rbp),%eax
sub    $0x1,%eax
je     15a1 <x86_pci_subclass_to_string+0x491>
jmp    15b1 <x86_pci_subclass_to_string+0x4a1>
lea    0x1e25(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1e2f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1e3a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1e42(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1e41(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1e3f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1e3f(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %eax,-0x44(%rbp)
test   %eax,%eax
je     164c <x86_pci_subclass_to_string+0x53c>
jmp    1617 <x86_pci_subclass_to_string+0x507>
mov    -0x44(%rbp),%eax
sub    $0x1,%eax
je     165c <x86_pci_subclass_to_string+0x54c>
jmp    1628 <x86_pci_subclass_to_string+0x518>
mov    -0x44(%rbp),%eax
sub    $0x2,%eax
je     166c <x86_pci_subclass_to_string+0x55c>
jmp    1639 <x86_pci_subclass_to_string+0x529>
mov    -0x44(%rbp),%eax
sub    $0x80,%eax
je     167c <x86_pci_subclass_to_string+0x56c>
jmp    168c <x86_pci_subclass_to_string+0x57c>
lea    0x1dff(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1dfc(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1df9(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1e03(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1e02(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %eax,-0x48(%rbp)
test   %eax,%eax
je     16d6 <x86_pci_subclass_to_string+0x5c6>
jmp    16b2 <x86_pci_subclass_to_string+0x5a2>
mov    -0x48(%rbp),%eax
sub    $0x1,%eax
je     16e6 <x86_pci_subclass_to_string+0x5d6>
jmp    16c3 <x86_pci_subclass_to_string+0x5b3>
mov    -0x48(%rbp),%eax
sub    $0x80,%eax
je     16f6 <x86_pci_subclass_to_string+0x5e6>
jmp    1706 <x86_pci_subclass_to_string+0x5f6>
lea    0x1dd3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1dc7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1dbd(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1dbc(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %eax,-0x4c(%rbp)
test   %eax,%eax
je     17e9 <x86_pci_subclass_to_string+0x6d9>
jmp    172c <x86_pci_subclass_to_string+0x61c>
mov    -0x4c(%rbp),%eax
sub    $0x1,%eax
je     17f9 <x86_pci_subclass_to_string+0x6e9>
jmp    173d <x86_pci_subclass_to_string+0x62d>
mov    -0x4c(%rbp),%eax
sub    $0x2,%eax
je     1809 <x86_pci_subclass_to_string+0x6f9>
jmp    174e <x86_pci_subclass_to_string+0x63e>
mov    -0x4c(%rbp),%eax
sub    $0x3,%eax
je     1819 <x86_pci_subclass_to_string+0x709>
jmp    175f <x86_pci_subclass_to_string+0x64f>
mov    -0x4c(%rbp),%eax
sub    $0x4,%eax
je     1829 <x86_pci_subclass_to_string+0x719>
jmp    1770 <x86_pci_subclass_to_string+0x660>
mov    -0x4c(%rbp),%eax
sub    $0x5,%eax
je     1839 <x86_pci_subclass_to_string+0x729>
jmp    1781 <x86_pci_subclass_to_string+0x671>
mov    -0x4c(%rbp),%eax
sub    $0x6,%eax
je     1849 <x86_pci_subclass_to_string+0x739>
jmp    1792 <x86_pci_subclass_to_string+0x682>
mov    -0x4c(%rbp),%eax
sub    $0x7,%eax
je     1859 <x86_pci_subclass_to_string+0x749>
jmp    17a3 <x86_pci_subclass_to_string+0x693>
mov    -0x4c(%rbp),%eax
sub    $0x8,%eax
je     1869 <x86_pci_subclass_to_string+0x759>
jmp    17b4 <x86_pci_subclass_to_string+0x6a4>
mov    -0x4c(%rbp),%eax
sub    $0x9,%eax
je     1879 <x86_pci_subclass_to_string+0x769>
jmp    17c5 <x86_pci_subclass_to_string+0x6b5>
mov    -0x4c(%rbp),%eax
sub    $0xa,%eax
je     1889 <x86_pci_subclass_to_string+0x779>
jmp    17d6 <x86_pci_subclass_to_string+0x6c6>
mov    -0x4c(%rbp),%eax
sub    $0x80,%eax
je     1899 <x86_pci_subclass_to_string+0x789>
jmp    18a9 <x86_pci_subclass_to_string+0x799>
lea    0x1cf0(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ced(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1cdc(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1cd8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1d1d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1cc3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1cc1(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1cbe(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1cbd(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1cbc(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ccf(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1cdd(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1cd8(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %eax,-0x50(%rbp)
test   %eax,%eax
je     1937 <x86_pci_subclass_to_string+0x827>
jmp    18cf <x86_pci_subclass_to_string+0x7bf>
mov    -0x50(%rbp),%eax
sub    $0x1,%eax
je     19d1 <x86_pci_subclass_to_string+0x8c1>
jmp    18e0 <x86_pci_subclass_to_string+0x7d0>
mov    -0x50(%rbp),%eax
sub    $0x2,%eax
je     1a7f <x86_pci_subclass_to_string+0x96f>
jmp    18f1 <x86_pci_subclass_to_string+0x7e1>
mov    -0x50(%rbp),%eax
sub    $0x3,%eax
je     1a8f <x86_pci_subclass_to_string+0x97f>
jmp    1902 <x86_pci_subclass_to_string+0x7f2>
mov    -0x50(%rbp),%eax
sub    $0x4,%eax
je     1b09 <x86_pci_subclass_to_string+0x9f9>
jmp    1913 <x86_pci_subclass_to_string+0x803>
mov    -0x50(%rbp),%eax
sub    $0x5,%eax
je     1b19 <x86_pci_subclass_to_string+0xa09>
jmp    1924 <x86_pci_subclass_to_string+0x814>
mov    -0x50(%rbp),%eax
sub    $0x80,%eax
je     1b29 <x86_pci_subclass_to_string+0xa19>
jmp    1b39 <x86_pci_subclass_to_string+0xa29>
mov    -0x14(%rbp),%eax
mov    %rax,-0x58(%rbp)
sub    $0x6,%rax
ja     19cc <x86_pci_subclass_to_string+0x8bc>
mov    -0x58(%rbp),%rax
lea    0x1881(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1c4e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c66(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c79(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c8c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c9f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1cb2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1cc5(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    1b39 <x86_pci_subclass_to_string+0xa29>
mov    -0x14(%rbp),%eax
mov    %eax,-0x5c(%rbp)
test   %eax,%eax
je     1a2a <x86_pci_subclass_to_string+0x91a>
jmp    19e4 <x86_pci_subclass_to_string+0x8d4>
mov    -0x5c(%rbp),%eax
sub    $0x1,%eax
je     1a3a <x86_pci_subclass_to_string+0x92a>
jmp    19f5 <x86_pci_subclass_to_string+0x8e5>
mov    -0x5c(%rbp),%eax
sub    $0x2,%eax
je     1a4a <x86_pci_subclass_to_string+0x93a>
jmp    1a06 <x86_pci_subclass_to_string+0x8f6>
mov    -0x5c(%rbp),%eax
sub    $0x3,%eax
je     1a5a <x86_pci_subclass_to_string+0x94a>
jmp    1a17 <x86_pci_subclass_to_string+0x907>
mov    -0x5c(%rbp),%eax
sub    $0xef,%eax
je     1a6a <x86_pci_subclass_to_string+0x95a>
jmp    1a7a <x86_pci_subclass_to_string+0x96a>
lea    0x1c7a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c78(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c85(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c95(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c99(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    1b39 <x86_pci_subclass_to_string+0xa29>
lea    0x1c9b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
mov    -0x14(%rbp),%eax
mov    %rax,-0x68(%rbp)
sub    $0x4,%rax
ja     1b04 <x86_pci_subclass_to_string+0x9f4>
mov    -0x68(%rbp),%rax
lea    0x1715(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1c82(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c80(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ca3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1cc6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ce9(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    1b39 <x86_pci_subclass_to_string+0xa29>
lea    0x1d07(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1d16(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1d11(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1d14(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %eax,-0x6c(%rbp)
test   %eax,%eax
je     1bb6 <x86_pci_subclass_to_string+0xaa6>
jmp    1b5f <x86_pci_subclass_to_string+0xa4f>
mov    -0x6c(%rbp),%eax
sub    $0x1,%eax
je     1c30 <x86_pci_subclass_to_string+0xb20>
jmp    1b70 <x86_pci_subclass_to_string+0xa60>
mov    -0x6c(%rbp),%eax
sub    $0x2,%eax
je     1c9a <x86_pci_subclass_to_string+0xb8a>
jmp    1b81 <x86_pci_subclass_to_string+0xa71>
mov    -0x6c(%rbp),%eax
sub    $0x3,%eax
je     1d04 <x86_pci_subclass_to_string+0xbf4>
jmp    1b92 <x86_pci_subclass_to_string+0xa82>
mov    -0x6c(%rbp),%eax
sub    $0x4,%eax
je     1d53 <x86_pci_subclass_to_string+0xc43>
jmp    1ba3 <x86_pci_subclass_to_string+0xa93>
mov    -0x6c(%rbp),%eax
sub    $0x80,%eax
je     1d63 <x86_pci_subclass_to_string+0xc53>
jmp    1d73 <x86_pci_subclass_to_string+0xc63>
mov    -0x14(%rbp),%eax
mov    %rax,-0x78(%rbp)
sub    $0x20,%rax
ja     1c2b <x86_pci_subclass_to_string+0xb1b>
mov    -0x78(%rbp),%rax
lea    0x156a(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1c92(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c94(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c83(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c7c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c96(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    1d73 <x86_pci_subclass_to_string+0xc63>
mov    -0x14(%rbp),%eax
mov    %eax,-0x7c(%rbp)
test   %eax,%eax
je     1c65 <x86_pci_subclass_to_string+0xb55>
jmp    1c43 <x86_pci_subclass_to_string+0xb33>
mov    -0x7c(%rbp),%eax
sub    $0x1,%eax
je     1c75 <x86_pci_subclass_to_string+0xb65>
jmp    1c54 <x86_pci_subclass_to_string+0xb44>
mov    -0x7c(%rbp),%eax
sub    $0x2,%eax
je     1c85 <x86_pci_subclass_to_string+0xb75>
jmp    1c95 <x86_pci_subclass_to_string+0xb85>
lea    0x1c6d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c7a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c69(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    1d73 <x86_pci_subclass_to_string+0xc63>
mov    -0x14(%rbp),%eax
mov    %eax,-0x80(%rbp)
test   %eax,%eax
je     1ccf <x86_pci_subclass_to_string+0xbbf>
jmp    1cad <x86_pci_subclass_to_string+0xb9d>
mov    -0x80(%rbp),%eax
sub    $0x1,%eax
je     1cdf <x86_pci_subclass_to_string+0xbcf>
jmp    1cbe <x86_pci_subclass_to_string+0xbae>
mov    -0x80(%rbp),%eax
sub    $0x2,%eax
je     1cef <x86_pci_subclass_to_string+0xbdf>
jmp    1cff <x86_pci_subclass_to_string+0xbef>
lea    0x1c33(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c3d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c3e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    1d73 <x86_pci_subclass_to_string+0xc63>
mov    -0x14(%rbp),%eax
mov    %eax,-0x84(%rbp)
test   %eax,%eax
je     1d2e <x86_pci_subclass_to_string+0xc1e>
jmp    1d1a <x86_pci_subclass_to_string+0xc0a>
mov    -0x84(%rbp),%eax
sub    $0x1,%eax
je     1d3e <x86_pci_subclass_to_string+0xc2e>
jmp    1d4e <x86_pci_subclass_to_string+0xc3e>
lea    0x1c1f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c26(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    1d73 <x86_pci_subclass_to_string+0xc63>
lea    0x1c24(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1c34(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1c33(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %eax,-0x88(%rbp)
test   %eax,%eax
je     1e02 <x86_pci_subclass_to_string+0xcf2>
jmp    1d9c <x86_pci_subclass_to_string+0xc8c>
mov    -0x88(%rbp),%eax
sub    $0x1,%eax
je     1e12 <x86_pci_subclass_to_string+0xd02>
jmp    1db0 <x86_pci_subclass_to_string+0xca0>
mov    -0x88(%rbp),%eax
sub    $0x2,%eax
je     1e22 <x86_pci_subclass_to_string+0xd12>
jmp    1dc4 <x86_pci_subclass_to_string+0xcb4>
mov    -0x88(%rbp),%eax
sub    $0x3,%eax
je     1e32 <x86_pci_subclass_to_string+0xd22>
jmp    1dd8 <x86_pci_subclass_to_string+0xcc8>
mov    -0x88(%rbp),%eax
sub    $0x4,%eax
je     1e42 <x86_pci_subclass_to_string+0xd32>
jmp    1dec <x86_pci_subclass_to_string+0xcdc>
mov    -0x88(%rbp),%eax
sub    $0x80,%eax
je     1e52 <x86_pci_subclass_to_string+0xd42>
jmp    1e62 <x86_pci_subclass_to_string+0xd52>
lea    0x1bba(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1bbe(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1bbe(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1bbf(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1bc2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1bc6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1bc4(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %eax,-0x8c(%rbp)
test   %eax,%eax
je     1ea1 <x86_pci_subclass_to_string+0xd91>
jmp    1e8b <x86_pci_subclass_to_string+0xd7b>
mov    -0x8c(%rbp),%eax
sub    $0x80,%eax
je     1eb1 <x86_pci_subclass_to_string+0xda1>
jmp    1ec1 <x86_pci_subclass_to_string+0xdb1>
lea    0x1b9e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ba6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1bab(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %rax,-0x98(%rbp)
sub    $0x40,%rax
ja     1f6f <x86_pci_subclass_to_string+0xe5f>
mov    -0x98(%rbp),%rax
lea    0x1142(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1b80(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b74(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b68(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b60(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b56(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b4e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b43(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1b37(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %rax,-0xa0(%rbp)
sub    $0x9,%rax
ja     219e <x86_pci_subclass_to_string+0x108e>
mov    -0xa0(%rbp),%rax
lea    0x106c(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x14(%rbp),%eax
mov    %eax,-0xa4(%rbp)
test   %eax,%eax
je     1fd7 <x86_pci_subclass_to_string+0xec7>
jmp    1fc3 <x86_pci_subclass_to_string+0xeb3>
mov    -0xa4(%rbp),%eax
sub    $0x1,%eax
je     1fe7 <x86_pci_subclass_to_string+0xed7>
jmp    1ff7 <x86_pci_subclass_to_string+0xee7>
lea    0x1aee(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1af3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    219e <x86_pci_subclass_to_string+0x108e>
lea    0x1b11(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b0c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
mov    -0x14(%rbp),%eax
mov    %eax,-0xa8(%rbp)
test   %eax,%eax
je     2086 <x86_pci_subclass_to_string+0xf76>
jmp    2032 <x86_pci_subclass_to_string+0xf22>
mov    -0xa8(%rbp),%eax
sub    $0x10,%eax
je     2096 <x86_pci_subclass_to_string+0xf86>
jmp    2046 <x86_pci_subclass_to_string+0xf36>
mov    -0xa8(%rbp),%eax
sub    $0x20,%eax
je     20a6 <x86_pci_subclass_to_string+0xf96>
jmp    205a <x86_pci_subclass_to_string+0xf4a>
mov    -0xa8(%rbp),%eax
sub    $0x80,%eax
je     20b6 <x86_pci_subclass_to_string+0xfa6>
jmp    2070 <x86_pci_subclass_to_string+0xf60>
mov    -0xa8(%rbp),%eax
sub    $0xfe,%eax
je     20c6 <x86_pci_subclass_to_string+0xfb6>
jmp    20d6 <x86_pci_subclass_to_string+0xfc6>
lea    0x1a96(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ad7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b13(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b4f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b7b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    219e <x86_pci_subclass_to_string+0x108e>
lea    0x1b71(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b6f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b65(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
mov    -0x14(%rbp),%eax
mov    %eax,-0xac(%rbp)
test   %eax,%eax
je     2149 <x86_pci_subclass_to_string+0x1039>
jmp    2121 <x86_pci_subclass_to_string+0x1011>
mov    -0xac(%rbp),%eax
sub    $0x1,%eax
je     2159 <x86_pci_subclass_to_string+0x1049>
jmp    2135 <x86_pci_subclass_to_string+0x1025>
mov    -0xac(%rbp),%eax
sub    $0x2,%eax
je     2169 <x86_pci_subclass_to_string+0x1059>
jmp    2179 <x86_pci_subclass_to_string+0x1069>
lea    0x1b22(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b26(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b3b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    219e <x86_pci_subclass_to_string+0x108e>
lea    0x1b44(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1b5a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1b48(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %eax,-0xb0(%rbp)
test   %eax,%eax
je     2255 <x86_pci_subclass_to_string+0x1145>
jmp    21c7 <x86_pci_subclass_to_string+0x10b7>
mov    -0xb0(%rbp),%eax
sub    $0x1,%eax
je     2265 <x86_pci_subclass_to_string+0x1155>
jmp    21db <x86_pci_subclass_to_string+0x10cb>
mov    -0xb0(%rbp),%eax
sub    $0x10,%eax
je     2275 <x86_pci_subclass_to_string+0x1165>
jmp    21ef <x86_pci_subclass_to_string+0x10df>
mov    -0xb0(%rbp),%eax
sub    $0x11,%eax
je     2285 <x86_pci_subclass_to_string+0x1175>
jmp    2203 <x86_pci_subclass_to_string+0x10f3>
mov    -0xb0(%rbp),%eax
sub    $0x12,%eax
je     2295 <x86_pci_subclass_to_string+0x1185>
jmp    2217 <x86_pci_subclass_to_string+0x1107>
mov    -0xb0(%rbp),%eax
sub    $0x20,%eax
je     22a5 <x86_pci_subclass_to_string+0x1195>
jmp    222b <x86_pci_subclass_to_string+0x111b>
mov    -0xb0(%rbp),%eax
sub    $0x21,%eax
je     22b5 <x86_pci_subclass_to_string+0x11a5>
jmp    223f <x86_pci_subclass_to_string+0x112f>
mov    -0xb0(%rbp),%eax
sub    $0x80,%eax
je     22c5 <x86_pci_subclass_to_string+0x11b5>
jmp    22d5 <x86_pci_subclass_to_string+0x11c5>
lea    0x1aae(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ab9(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ac0(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1abe(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ab8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ab2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ab5(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ab8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1ac1(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
test   %eax,%eax
jne    2328 <x86_pci_subclass_to_string+0x1218>
jmp    22f8 <x86_pci_subclass_to_string+0x11e8>
mov    -0x14(%rbp),%eax
test   %eax,%eax
jne    2318 <x86_pci_subclass_to_string+0x1208>
jmp    2308 <x86_pci_subclass_to_string+0x11f8>
lea    0x1ab2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1abe(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1ada(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,%ecx
mov    %rcx,-0xb8(%rbp)
sub    $0x3,%eax
ja     23aa <x86_pci_subclass_to_string+0x129a>
mov    -0xb8(%rbp),%rax
lea    0xc9f(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1ac4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1ab7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1aad(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1aa3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1a8f(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %eax,-0xbc(%rbp)
test   %eax,%eax
je     23fd <x86_pci_subclass_to_string+0x12ed>
jmp    23d3 <x86_pci_subclass_to_string+0x12c3>
mov    -0xbc(%rbp),%eax
sub    $0x10,%eax
je     240d <x86_pci_subclass_to_string+0x12fd>
jmp    23e7 <x86_pci_subclass_to_string+0x12d7>
mov    -0xbc(%rbp),%eax
sub    $0x80,%eax
je     241d <x86_pci_subclass_to_string+0x130d>
jmp    242d <x86_pci_subclass_to_string+0x131d>
lea    0x1a66(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1a7a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1a86(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1a81(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%eax
mov    %eax,-0xc0(%rbp)
test   %eax,%eax
je     24a8 <x86_pci_subclass_to_string+0x1398>
jmp    2456 <x86_pci_subclass_to_string+0x1346>
mov    -0xc0(%rbp),%eax
sub    $0x1,%eax
je     24b8 <x86_pci_subclass_to_string+0x13a8>
jmp    246a <x86_pci_subclass_to_string+0x135a>
mov    -0xc0(%rbp),%eax
sub    $0x10,%eax
je     24c8 <x86_pci_subclass_to_string+0x13b8>
jmp    247e <x86_pci_subclass_to_string+0x136e>
mov    -0xc0(%rbp),%eax
sub    $0x20,%eax
je     24d8 <x86_pci_subclass_to_string+0x13c8>
jmp    2492 <x86_pci_subclass_to_string+0x1382>
mov    -0xc0(%rbp),%eax
sub    $0x80,%eax
je     24e8 <x86_pci_subclass_to_string+0x13d8>
jmp    24f8 <x86_pci_subclass_to_string+0x13e8>
lea    0x1a41(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1a3e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1a43(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1a7b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
lea    0x1a7b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    255f <x86_pci_subclass_to_string+0x144f>
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0x20(%rbp),%rax
lea    0x1a97(%rip),%rcx
mov    %rcx,(%rax)
jmp    2539 <x86_pci_subclass_to_string+0x1429>
mov    -0xc(%rbp),%ecx
lea    0x3b0f(%rip),%rdi
mov    $0x7,%esi
lea    0x1a86(%rip),%rdx
call   1030 <snprintf@plt>
mov    -0x20(%rbp),%rax
lea    0x3af3(%rip),%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%ecx
lea    0x3aed(%rip),%rdi
mov    $0x7,%esi
lea    0x1a5d(%rip),%rdx
call   1030 <snprintf@plt>
lea    0x3ad5(%rip),%rax
mov    %rax,-0x8(%rbp)
mov    -0x8(%rbp),%rax
add    $0xc0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<x86_pci_subclass_to_string>:
push   %r15
push   %r14
push   %rbx
sub    $0x10,%rsp
mov    %esi,%r15d
mov    %edi,%eax
test   %rcx,%rcx
lea    0x8(%rsp),%rbx
cmovne %rcx,%rbx
cmp    $0x11,%edi
ja     116a <x86_pci_subclass_to_string+0x5a>
mov    %eax,%eax
lea    0xec8(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x12d4(%rip),%rax
mov    %rax,(%rbx)
test   %r15d,%r15d
je     15d7 <x86_pci_subclass_to_string+0x4c7>
cmp    $0x1,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x12f9(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0xff,%eax
jne    120f <x86_pci_subclass_to_string+0xff>
lea    0x204f(%rip),%r14
jmp    122c <x86_pci_subclass_to_string+0x11c>
lea    0x1b20(%rip),%rax
mov    %rax,(%rbx)
cmp    $0x40,%r15d
ja     122f <x86_pci_subclass_to_string+0x11f>
lea    0x1b16(%rip),%r14
mov    %r15d,%eax
lea    0xfd6(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1b00(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1e10(%rip),%rax
mov    %rax,(%rbx)
test   %r15d,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
test   %edx,%edx
lea    0x1e1a(%rip),%rax
lea    0x1e2f(%rip),%r14
cmove  %rax,%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1e8e(%rip),%rax
mov    %rax,(%rbx)
test   %r15d,%r15d
je     1621 <x86_pci_subclass_to_string+0x511>
cmp    $0x80,%r15d
je     162d <x86_pci_subclass_to_string+0x51d>
cmp    $0x10,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x1ead(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x3e13(%rip),%r14
lea    0x1fbb(%rip),%rdx
mov    %r14,%rdi
mov    $0x7,%esi
mov    %eax,%ecx
call   1030 <snprintf@plt>
mov    %r14,(%rbx)
lea    0x3dfa(%rip),%r14
lea    0x1f9b(%rip),%rdx
mov    %r14,%rdi
mov    $0x7,%esi
mov    %r15d,%ecx
call   1030 <snprintf@plt>
mov    %r14,%rax
add    $0x10,%rsp
pop    %rbx
pop    %r14
pop    %r15
ret
lea    0x1201(%rip),%rax
mov    %rax,(%rbx)
cmp    $0x6,%r15d
ja     1683 <x86_pci_subclass_to_string+0x573>
lea    0x1205(%rip),%r14
mov    %r15d,%eax
lea    0x111d(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x11ff(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x128a(%rip),%rax
mov    %rax,(%rbx)
cmp    $0x6,%r15d
ja     169c <x86_pci_subclass_to_string+0x58c>
lea    0x1289(%rip),%r14
mov    %r15d,%eax
lea    0x10ca(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1283(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1307(%rip),%rax
mov    %rax,(%rbx)
cmp    $0x1,%r15d
jg     1591 <x86_pci_subclass_to_string+0x481>
test   %r15d,%r15d
je     16b5 <x86_pci_subclass_to_string+0x5a5>
cmp    $0x1,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x1340(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x136a(%rip),%rax
mov    %rax,(%rbx)
cmp    $0x1,%r15d
jg     15b4 <x86_pci_subclass_to_string+0x4a4>
test   %r15d,%r15d
je     16dc <x86_pci_subclass_to_string+0x5cc>
cmp    $0x1,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x1362(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1395(%rip),%rax
mov    %rax,(%rbx)
test   %r15d,%r15d
je     1639 <x86_pci_subclass_to_string+0x529>
cmp    $0x80,%r15d
je     1645 <x86_pci_subclass_to_string+0x535>
cmp    $0x1,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x1381(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1393(%rip),%rax
mov    %rax,(%rbx)
cmp    $0xa,%r15d
ja     1731 <x86_pci_subclass_to_string+0x621>
lea    0x138d(%rip),%r14
mov    %r15d,%eax
lea    0xfcb(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1380(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1418(%rip),%rax
mov    %rax,(%rbx)
cmp    $0x5,%r15d
ja     1651 <x86_pci_subclass_to_string+0x541>
lea    0x1594(%rip),%r14
mov    %r15d,%eax
lea    0xf69(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
cmp    $0x7,%edx
jae    122f <x86_pci_subclass_to_string+0x11f>
movslq %edx,%rax
lea    0xfd9(%rip),%rcx
jmp    154b <x86_pci_subclass_to_string+0x43b>
lea    0x169e(%rip),%rax
mov    %rax,(%rbx)
cmp    $0x4,%r15d
ja     15ef <x86_pci_subclass_to_string+0x4df>
lea    0x17ab(%rip),%r14
mov    %r15d,%eax
lea    0xe8b(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
cmp    $0x20,%edx
ja     122f <x86_pci_subclass_to_string+0x11f>
lea    0x167e(%rip),%r14
mov    %edx,%eax
lea    0xe7d(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1677(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x179b(%rip),%rax
mov    %rax,(%rbx)
cmp    $0x4,%r15d
ja     1608 <x86_pci_subclass_to_string+0x4f8>
lea    0x1794(%rip),%r14
mov    %r15d,%eax
lea    0xe1b(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x178e(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x17e1(%rip),%rax
mov    %rax,(%rbx)
test   %r15d,%r15d
je     15e3 <x86_pci_subclass_to_string+0x4d3>
cmp    $0x80,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x17e9(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1835(%rip),%rax
mov    %rax,(%rbx)
cmp    $0x9,%r15d
ja     122f <x86_pci_subclass_to_string+0x11f>
lea    0x187f(%rip),%r14
mov    %r15d,%eax
lea    0xc89(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
test   %edx,%edx
je     1a48 <x86_pci_subclass_to_string+0x938>
cmp    $0x1,%edx
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x1821(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1a2a(%rip),%rax
mov    %rax,(%rbx)
cmp    $0x21,%r15d
ja     1718 <x86_pci_subclass_to_string+0x608>
lea    0x1a2a(%rip),%r14
mov    %r15d,%eax
lea    0xbb6(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1a2b(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1b0c(%rip),%rax
mov    %rax,(%rbx)
lea    -0x1(%r15),%eax
cmp    $0x4,%eax
jae    122f <x86_pci_subclass_to_string+0x11f>
cltq
lea    0xec1(%rip),%rcx
movslq (%rcx,%rax,4),%r14
add    %rcx,%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1b8c(%rip),%rax
mov    %rax,(%rbx)
cmp    $0x20,%r15d
ja     166a <x86_pci_subclass_to_string+0x55a>
lea    0x1baa(%rip),%r14
mov    %r15d,%eax
lea    0xacc(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1b9d(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x2,%r15d
je     16e8 <x86_pci_subclass_to_string+0x5d8>
cmp    $0x80,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x10a4(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x2,%r15d
je     16f4 <x86_pci_subclass_to_string+0x5e4>
cmp    $0x80,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x10e0(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xe7c(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1688(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x80,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x15c7(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x80,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x162f(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1a6e(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1aa2(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x109c(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x109a(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x80,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x1408(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x80,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x1b18(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x80,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0xe6d(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x80,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0xf0d(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x1,%edx
lea    0xf44(%rip),%rax
lea    0xf58(%rip),%rcx
cmove  %rax,%rcx
test   %edx,%edx
lea    0xf16(%rip),%r14
cmovne %rcx,%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xf9b(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xf56(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xf9d(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1a37(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1a73(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x80,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x1884(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x80,%r15d
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x1064(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x3,%edx
jae    122f <x86_pci_subclass_to_string+0x11f>
movslq %edx,%rax
lea    0xc8b(%rip),%rcx
jmp    154b <x86_pci_subclass_to_string+0x43b>
cmp    $0x3,%edx
jae    122f <x86_pci_subclass_to_string+0x11f>
movslq %edx,%rax
lea    0xc7f(%rip),%rcx
jmp    154b <x86_pci_subclass_to_string+0x43b>
test   %edx,%edx
je     1a0b <x86_pci_subclass_to_string+0x8fb>
cmp    $0x1,%edx
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x1405(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1475(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x147a(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1481(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x150e(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1507(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x14e0(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x14dc(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x14d6(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x3,%edx
ja     1a17 <x86_pci_subclass_to_string+0x907>
lea    0x10d0(%rip),%r14
mov    %edx,%eax
lea    0xb34(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x10c5(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x5,%edx
jae    122f <x86_pci_subclass_to_string+0x11f>
movslq %edx,%rax
lea    0xb9c(%rip),%rcx
jmp    154b <x86_pci_subclass_to_string+0x43b>
lea    0x11ff(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1212(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x170c(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x170e(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x170c(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x170a(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1711(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xc05(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xc10(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xc17(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xc1b(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xc1e(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xc8b(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xc8f(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xc92(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xc96(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xc9e(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x143b(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1563(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x15f3(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x1f,%edx
jle    1a2f <x86_pci_subclass_to_string+0x91f>
cmp    $0x20,%edx
je     1a90 <x86_pci_subclass_to_string+0x980>
cmp    $0x80,%edx
je     1a9c <x86_pci_subclass_to_string+0x98c>
cmp    $0xfe,%edx
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x1516(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1523(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x151d(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0x3,%edx
jae    122f <x86_pci_subclass_to_string+0x11f>
movslq %edx,%rax
lea    0xa72(%rip),%rcx
jmp    154b <x86_pci_subclass_to_string+0x43b>
lea    0x155b(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xd72(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xd72(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xdbb(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xd65(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xd67(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xd68(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xd6b(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xd6e(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xd85(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x116e(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
cmp    $0xef,%edx
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0xf0c(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
test   %edx,%edx
je     1aa8 <x86_pci_subclass_to_string+0x998>
cmp    $0x10,%edx
jne    122f <x86_pci_subclass_to_string+0x11f>
lea    0x135d(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x12a9(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1056(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1053(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1071(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xe83(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0xe97(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1355(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x1395(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>
lea    0x12a0(%rip),%r14
jmp    124d <x86_pci_subclass_to_string+0x13d>

LLVM IR (-O0):
@x86_pci_subclass_to_string.temp_baseclass_number = internal global [7 x i8] zeroinitializer
@x86_pci_subclass_to_string.temp_subclass_number = internal global [7 x i8] zeroinitializer
@.str = [62 x i8] c"Device was built before Class Code definitions were finalized\00"
@.str.1 = [8 x i8] c"Non-VGA\00"
@.str.2 = [4 x i8] c"VGA\00"
@.str.3 = [24 x i8] c"Mass storage controller\00"
@.str.4 = [20 x i8] c"SCSI bus controller\00"
@.str.5 = [15 x i8] c"IDE controller\00"
@.str.6 = [23 x i8] c"Floppy disk controller\00"
@.str.7 = [19 x i8] c"IPI bus controller\00"
@.str.8 = [16 x i8] c"RAID controller\00"
@.str.9 = [15 x i8] c"ATA controller\00"
@.str.10 = [30 x i8] c"Serial ATA Direct Port Access\00"
@.str.11 = [30 x i8] c"Other mass storage controller\00"
@.str.12 = [19 x i8] c"Network controller\00"
@.str.13 = [20 x i8] c"Ethernet controller\00"
@.str.14 = [22 x i8] c"Token Ring controller\00"
@.str.15 = [16 x i8] c"FDDI controller\00"
@.str.16 = [15 x i8] c"ATM controller\00"
@.str.17 = [16 x i8] c"ISDN controller\00"
@.str.18 = [20 x i8] c"WorldFip controller\00"
@.str.19 = [27 x i8] c"PICMG 2.14 Multi Computing\00"
@.str.20 = [25 x i8] c"Other network controller\00"
@.str.21 = [19 x i8] c"Display controller\00"
@.str.22 = [26 x i8] c"VGA-compatible controller\00"
@.str.23 = [27 x i8] c"8514-compatible controller\00"
@.str.24 = [24 x i8] c"[UNDEFINED IN ACPI 3.0]\00"
@.str.25 = [15 x i8] c"XGA coltroller\00"
@.str.26 = [14 x i8] c"3D controller\00"
@.str.27 = [25 x i8] c"Other display controller\00"
@.str.28 = [18 x i8] c"Multimedia device\00"
@.str.29 = [13 x i8] c"Video device\00"
@.str.30 = [13 x i8] c"Audio device\00"
@.str.31 = [26 x i8] c"Computer telephony device\00"
@.str.32 = [24 x i8] c"Other multimedia device\00"
@.str.33 = [18 x i8] c"Memory controller\00"
@.str.34 = [4 x i8] c"RAM\00"
@.str.35 = [6 x i8] c"Flash\00"
@.str.36 = [24 x i8] c"Other memory controller\00"
@.str.37 = [14 x i8] c"Bridge device\00"
@.str.38 = [12 x i8] c"Host bridge\00"
@.str.39 = [11 x i8] c"ISA bridge\00"
@.str.40 = [12 x i8] c"EISA bridge\00"
@.str.41 = [11 x i8] c"MCA bridge\00"
@.str.42 = [18 x i8] c"PCI-to-PCI bridge\00"
@.str.43 = [14 x i8] c"PCMCIA bridge\00"
@.str.44 = [13 x i8] c"NuBus bridge\00"
@.str.45 = [15 x i8] c"CardBus bridge\00"
@.str.46 = [15 x i8] c"RACEway bridge\00"
@.str.47 = [35 x i8] c"Semi-transparent PCI-to-PCI bridge\00"
@.str.48 = [30 x i8] c"InfiniBand-to-PCI host bridge\00"
@.str.49 = [20 x i8] c"Other bridge device\00"
@.str.50 = [32 x i8] c"Simple communication controller\00"
@.str.51 = [40 x i8] c"Generic XT-compatible serial controller\00"
@.str.52 = [35 x i8] c"16450-compatible serial controller\00"
@.str.53 = [35 x i8] c"16550-compatible serial controller\00"
@.str.54 = [35 x i8] c"16650-compatible serial controller\00"
@.str.55 = [35 x i8] c"16750-compatible serial controller\00"
@.str.56 = [35 x i8] c"16850-compatible serial controller\00"
@.str.57 = [35 x i8] c"16950-compatible serial controller\00"
@.str.58 = [14 x i8] c"Parallel port\00"
@.str.59 = [29 x i8] c"Bi-directional parallel port\00"
@.str.60 = [32 x i8] c"ECP 1.X compliant parallel port\00"
@.str.61 = [20 x i8] c"IEEE1284 controller\00"
@.str.62 = [23 x i8] c"IEEE1284 target device\00"
@.str.63 = [28 x i8] c"Multiport serial controller\00"
@.str.64 = [14 x i8] c"Generic modem\00"
@.str.65 = [51 x i8] c"Hayes compatible modem, 16450-compatible interface\00"
@.str.66 = [51 x i8] c"Hayes compatible modem, 16550-compatible interface\00"
@.str.67 = [51 x i8] c"Hayes compatible modem, 16650-compatible interface\00"
@.str.68 = [51 x i8] c"Hayes compatible modem, 16750-compatible interface\00"
@.str.69 = [31 x i8] c"GPIB (IEEE 488.1/2) controller\00"
@.str.70 = [11 x i8] c"Smart Card\00"
@.str.71 = [28 x i8] c"Other communications device\00"
@.str.72 = [23 x i8] c"Base system peripheral\00"
@.str.73 = [17 x i8] c"Generic 8259 PIC\00"
@.str.74 = [8 x i8] c"ISA PIC\00"
@.str.75 = [9 x i8] c"EISA PIC\00"
@.str.76 = [42 x i8] c"I/O APIC interrupt controller (see below)\00"
@.str.77 = [33 x i8] c"I/O(x) APIC interrupt controller\00"
@.str.78 = [28 x i8] c"Generic 8237 DMA controller\00"
@.str.79 = [19 x i8] c"ISA DMA controller\00"
@.str.80 = [20 x i8] c"EISA DMA controller\00"
@.str.81 = [26 x i8] c"Generic 8254 system timer\00"
@.str.82 = [17 x i8] c"ISA system timer\00"
@.str.83 = [32 x i8] c"EISA system timers (two timers)\00"
@.str.84 = [23 x i8] c"Generic RTC controller\00"
@.str.85 = [19 x i8] c"ISA RTC controller\00"
@.str.86 = [32 x i8] c"Generic PCI Hot-Plug controller\00"
@.str.87 = [24 x i8] c"Other system peripheral\00"
@.str.88 = [13 x i8] c"Input device\00"
@.str.89 = [20 x i8] c"Keyboard controller\00"
@.str.90 = [16 x i8] c"Digitizer (pen)\00"
@.str.91 = [17 x i8] c"Mouse controller\00"
@.str.92 = [19 x i8] c"Scanner controller\00"
@.str.93 = [20 x i8] c"Gameport controller\00"
@.str.94 = [23 x i8] c"Other input controller\00"
@.str.95 = [16 x i8] c"Docking station\00"
@.str.96 = [24 x i8] c"Generic docking station\00"
@.str.97 = [30 x i8] c"Other type of docking station\00"
@.str.98 = [10 x i8] c"Processor\00"
@.str.99 = [4 x i8] c"386\00"
@.str.100 = [4 x i8] c"486\00"
@.str.101 = [8 x i8] c"Pentium\00"
@.str.102 = [6 x i8] c"Alpha\00"
@.str.103 = [8 x i8] c"PowerPC\00"
@.str.104 = [5 x i8] c"MIPS\00"
@.str.105 = [13 x i8] c"Co-processor\00"
@.str.106 = [22 x i8] c"Serial bus controller\00"
@.str.107 = [21 x i8] c"IEEE 1394 (FireWire)\00"
@.str.108 = [51 x i8] c"IEEE 1394 following the 1394 OpenHCI specification\00"
@.str.109 = [11 x i8] c"ACCESS.bus\00"
@.str.110 = [4 x i8] c"SSA\00"
@.str.111 = [81 x i8] c"Universal Serial Bus (USB) following the Universal Host Controller Specification\00"
@.str.112 = [76 x i8] c"Universal Serial Bus (USB) following the Open Host Controller Specification\00"
@.str.113 = [76 x i8] c"USB2 host controller following the Intel Enhanced Host Controller Interface\00"
@.str.114 = [60 x i8] c"Universal Serial Bus with no specific programming interface\00"
@.str.115 = [11 x i8] c"USB device\00"
@.str.116 = [14 x i8] c"Fibre Channel\00"
@.str.117 = [6 x i8] c"SMBus\00"
@.str.118 = [11 x i8] c"InfiniBand\00"
@.str.119 = [20 x i8] c"IPMI SMIC Interface\00"
@.str.120 = [37 x i8] c"IPMI Kybd Controller Style Interface\00"
@.str.121 = [30 x i8] c"IPMI Block Transfer Interface\00"
@.str.122 = [38 x i8] c"SERCOS Interface Standard (IEC 61491)\00"
@.str.123 = [7 x i8] c"CANbus\00"
@.str.124 = [20 x i8] c"Wireless controller\00"
@.str.125 = [27 x i8] c"iRDA compatible controller\00"
@.str.126 = [23 x i8] c"Consumer IR controller\00"
@.str.127 = [14 x i8] c"RF controller\00"
@.str.128 = [10 x i8] c"Bluetooth\00"
@.str.129 = [10 x i8] c"Broadband\00"
@.str.130 = [19 x i8] c"Ethernet (802.11a)\00"
@.str.131 = [19 x i8] c"Ethernet (802.11b)\00"
@.str.132 = [34 x i8] c"Other type of wireless controller\00"
@.str.133 = [27 x i8] c"Intelligent I/O controller\00"
@.str.134 = [28 x i8] c"Message FIFO at offset 040h\00"
@.str.135 = [53 x i8] c"Intelligent I/O (I2O) Architecture Specification 1.0\00"
@.str.136 = [35 x i8] c"Satellite communication controller\00"
@.str.137 = [3 x i8] c"TV\00"
@.str.138 = [6 x i8] c"Audio\00"
@.str.139 = [6 x i8] c"Voice\00"
@.str.140 = [5 x i8] c"Data\00"
@.str.141 = [33 x i8] c"Encryption/Decryption controller\00"
@.str.142 = [36 x i8] c"Network and computing en/decryption\00"
@.str.143 = [28 x i8] c"Entertainment en/decryption\00"
@.str.144 = [20 x i8] c"Other en/decryption\00"
@.str.145 = [50 x i8] c"Data acquisition and signal processing controller\00"
@.str.146 = [13 x i8] c"DPIO modules\00"
@.str.147 = [21 x i8] c"Performance counters\00"
@.str.148 = [72 x i8] c"Communications synchronization plus time and frequency test/measurement\00"
@.str.149 = [16 x i8] c"Management card\00"
@.str.150 = [53 x i8] c"Other data acquisition/signal processing controllers\00"
@.str.151 = [13 x i8] c"Other device\00"
@.str.152 = [7 x i8] c"0x%04x\00"
define i8* @x86_pci_subclass_to_string(i32 %0, i32 %1, i32 %2, i8** %3) {
%5 = alloca i8*
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca i8**
%10 = alloca i8*
store i32 %0, i32* %6
store i32 %1, i32* %7
store i32 %2, i32* %8
store i8** %3, i8*** %9
%11 = load i8**, i8*** %9
%12 = icmp ne i8** %11, null
br i1 %12, label %14, label %13
13: ; preds = %4
store i8** %10, i8*** %9
br label %14
14: ; preds = %13, %4
%15 = load i32, i32* %6
switch i32 %15, label %257 [
i32 0, label %16
i32 1, label %22
i32 2, label %34
i32 3, label %46
i32 4, label %58
i32 5, label %66
i32 6, label %73
i32 7, label %89
i32 8, label %123
i32 9, label %154
i32 10, label %164
i32 11, label %170
i32 12, label %181
i32 13, label %211
i32 14, label %223
i32 15, label %231
i32 16, label %239
i32 17, label %246
i32 255, label %255
]
16: ; preds = %14
%17 = load i8**, i8*** %9
store i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str, i64 0, i64 0), i8** %17
%18 = load i32, i32* %7
switch i32 %18, label %21 [
i32 0, label %19
i32 1, label %20
]
19: ; preds = %16
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), i8** %5
br label %264
20: ; preds = %16
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8** %5
br label %264
21: ; preds = %16
br label %261
22: ; preds = %14
%23 = load i8**, i8*** %9
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.3, i64 0, i64 0), i8** %23
%24 = load i32, i32* %7
switch i32 %24, label %33 [
i32 0, label %25
i32 1, label %26
i32 2, label %27
i32 3, label %28
i32 4, label %29
i32 5, label %30
i32 6, label %31
i32 128, label %32
]
25: ; preds = %22
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4, i64 0, i64 0), i8** %5
br label %264
26: ; preds = %22
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.5, i64 0, i64 0), i8** %5
br label %264
27: ; preds = %22
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.6, i64 0, i64 0), i8** %5
br label %264
28: ; preds = %22
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0), i8** %5
br label %264
29: ; preds = %22
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.8, i64 0, i64 0), i8** %5
br label %264
30: ; preds = %22
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.9, i64 0, i64 0), i8** %5
br label %264
31: ; preds = %22
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0), i8** %5
br label %264
32: ; preds = %22
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.11, i64 0, i64 0), i8** %5
br label %264
33: ; preds = %22
br label %261
34: ; preds = %14
%35 = load i8**, i8*** %9
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.12, i64 0, i64 0), i8** %35
%36 = load i32, i32* %7
switch i32 %36, label %45 [
i32 0, label %37
i32 1, label %38
i32 2, label %39
i32 3, label %40
i32 4, label %41
i32 5, label %42
i32 6, label %43
i32 128, label %44
]
37: ; preds = %34
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.13, i64 0, i64 0), i8** %5
br label %264
38: ; preds = %34
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.14, i64 0, i64 0), i8** %5
br label %264
39: ; preds = %34
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.15, i64 0, i64 0), i8** %5
br label %264
40: ; preds = %34
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.16, i64 0, i64 0), i8** %5
br label %264
41: ; preds = %34
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.17, i64 0, i64 0), i8** %5
br label %264
42: ; preds = %34
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18, i64 0, i64 0), i8** %5
br label %264
43: ; preds = %34
store i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.19, i64 0, i64 0), i8** %5
br label %264
44: ; preds = %34
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.20, i64 0, i64 0), i8** %5
br label %264
45: ; preds = %34
br label %261
46: ; preds = %14
%47 = load i8**, i8*** %9
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.21, i64 0, i64 0), i8** %47
%48 = load i32, i32* %7
switch i32 %48, label %57 [
i32 0, label %49
i32 1, label %54
i32 2, label %55
i32 128, label %56
]
49: ; preds = %46
%50 = load i32, i32* %8
switch i32 %50, label %53 [
i32 0, label %51
i32 1, label %52
]
51: ; preds = %49
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.22, i64 0, i64 0), i8** %5
br label %264
52: ; preds = %49
store i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.23, i64 0, i64 0), i8** %5
br label %264
53: ; preds = %49
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.24, i64 0, i64 0), i8** %5
br label %264
54: ; preds = %46
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25, i64 0, i64 0), i8** %5
br label %264
55: ; preds = %46
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.26, i64 0, i64 0), i8** %5
br label %264
56: ; preds = %46
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.27, i64 0, i64 0), i8** %5
br label %264
57: ; preds = %46
br label %261
58: ; preds = %14
%59 = load i8**, i8*** %9
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.28, i64 0, i64 0), i8** %59
%60 = load i32, i32* %7
switch i32 %60, label %65 [
i32 0, label %61
i32 1, label %62
i32 2, label %63
i32 128, label %64
]
61: ; preds = %58
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.29, i64 0, i64 0), i8** %5
br label %264
62: ; preds = %58
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.30, i64 0, i64 0), i8** %5
br label %264
63: ; preds = %58
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.31, i64 0, i64 0), i8** %5
br label %264
64: ; preds = %58
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.32, i64 0, i64 0), i8** %5
br label %264
65: ; preds = %58
br label %261
66: ; preds = %14
%67 = load i8**, i8*** %9
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.33, i64 0, i64 0), i8** %67
%68 = load i32, i32* %7
switch i32 %68, label %72 [
i32 0, label %69
i32 1, label %70
i32 128, label %71
]
69: ; preds = %66
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.34, i64 0, i64 0), i8** %5
br label %264
70: ; preds = %66
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.35, i64 0, i64 0), i8** %5
br label %264
71: ; preds = %66
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.36, i64 0, i64 0), i8** %5
br label %264
72: ; preds = %66
br label %261
73: ; preds = %14
%74 = load i8**, i8*** %9
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.37, i64 0, i64 0), i8** %74
%75 = load i32, i32* %7
switch i32 %75, label %88 [
i32 0, label %76
i32 1, label %77
i32 2, label %78
i32 3, label %79
i32 4, label %80
i32 5, label %81
i32 6, label %82
i32 7, label %83
i32 8, label %84
i32 9, label %85
i32 10, label %86
i32 128, label %87
]
76: ; preds = %73
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.38, i64 0, i64 0), i8** %5
br label %264
77: ; preds = %73
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.39, i64 0, i64 0), i8** %5
br label %264
78: ; preds = %73
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.40, i64 0, i64 0), i8** %5
br label %264
79: ; preds = %73
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.41, i64 0, i64 0), i8** %5
br label %264
80: ; preds = %73
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.42, i64 0, i64 0), i8** %5
br label %264
81: ; preds = %73
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.43, i64 0, i64 0), i8** %5
br label %264
82: ; preds = %73
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.44, i64 0, i64 0), i8** %5
br label %264
83: ; preds = %73
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.45, i64 0, i64 0), i8** %5
br label %264
84: ; preds = %73
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.46, i64 0, i64 0), i8** %5
br label %264
85: ; preds = %73
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.47, i64 0, i64 0), i8** %5
br label %264
86: ; preds = %73
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.48, i64 0, i64 0), i8** %5
br label %264
87: ; preds = %73
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.49, i64 0, i64 0), i8** %5
br label %264
88: ; preds = %73
br label %261
89: ; preds = %14
%90 = load i8**, i8*** %9
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.50, i64 0, i64 0), i8** %90
%91 = load i32, i32* %7
switch i32 %91, label %122 [
i32 0, label %92
i32 1, label %102
i32 2, label %110
i32 3, label %111
i32 4, label %119
i32 5, label %120
i32 128, label %121
]
92: ; preds = %89
%93 = load i32, i32* %8
switch i32 %93, label %101 [
i32 0, label %94
i32 1, label %95
i32 2, label %96
i32 3, label %97
i32 4, label %98
i32 5, label %99
i32 6, label %100
]
94: ; preds = %92
store i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.51, i64 0, i64 0), i8** %5
br label %264
95: ; preds = %92
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.52, i64 0, i64 0), i8** %5
br label %264
96: ; preds = %92
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.53, i64 0, i64 0), i8** %5
br label %264
97: ; preds = %92
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.54, i64 0, i64 0), i8** %5
br label %264
98: ; preds = %92
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.55, i64 0, i64 0), i8** %5
br label %264
99: ; preds = %92
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.56, i64 0, i64 0), i8** %5
br label %264
100: ; preds = %92
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.57, i64 0, i64 0), i8** %5
br label %264
101: ; preds = %92
br label %122
102: ; preds = %89
%103 = load i32, i32* %8
switch i32 %103, label %109 [
i32 0, label %104
i32 1, label %105
i32 2, label %106
i32 3, label %107
i32 239, label %108
]
104: ; preds = %102
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.58, i64 0, i64 0), i8** %5
br label %264
105: ; preds = %102
store i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.59, i64 0, i64 0), i8** %5
br label %264
106: ; preds = %102
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.60, i64 0, i64 0), i8** %5
br label %264
107: ; preds = %102
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.61, i64 0, i64 0), i8** %5
br label %264
108: ; preds = %102
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.62, i64 0, i64 0), i8** %5
br label %264
109: ; preds = %102
br label %122
110: ; preds = %89
store i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.63, i64 0, i64 0), i8** %5
br label %264
111: ; preds = %89
%112 = load i32, i32* %8
switch i32 %112, label %118 [
i32 0, label %113
i32 1, label %114
i32 2, label %115
i32 3, label %116
i32 4, label %117
]
113: ; preds = %111
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.64, i64 0, i64 0), i8** %5
br label %264
114: ; preds = %111
store i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.65, i64 0, i64 0), i8** %5
br label %264
115: ; preds = %111
store i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.66, i64 0, i64 0), i8** %5
br label %264
116: ; preds = %111
store i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.67, i64 0, i64 0), i8** %5
br label %264
117: ; preds = %111
store i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.68, i64 0, i64 0), i8** %5
br label %264
118: ; preds = %111
br label %122
119: ; preds = %89
store i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.69, i64 0, i64 0), i8** %5
br label %264
120: ; preds = %89
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.70, i64 0, i64 0), i8** %5
br label %264
121: ; preds = %89
store i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.71, i64 0, i64 0), i8** %5
br label %264
122: ; preds = %89, %118, %109, %101
br label %261
123: ; preds = %14
%124 = load i8**, i8*** %9
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.72, i64 0, i64 0), i8** %124
%125 = load i32, i32* %7
switch i32 %125, label %153 [
i32 0, label %126
i32 1, label %134
i32 2, label %140
i32 3, label %146
i32 4, label %151
i32 128, label %152
]
126: ; preds = %123
%127 = load i32, i32* %8
switch i32 %127, label %133 [
i32 0, label %128
i32 1, label %129
i32 2, label %130
i32 16, label %131
i32 32, label %132
]
128: ; preds = %126
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.73, i64 0, i64 0), i8** %5
br label %264
129: ; preds = %126
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.74, i64 0, i64 0), i8** %5
br label %264
130: ; preds = %126
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.75, i64 0, i64 0), i8** %5
br label %264
131: ; preds = %126
store i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.76, i64 0, i64 0), i8** %5
br label %264
132: ; preds = %126
store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.77, i64 0, i64 0), i8** %5
br label %264
133: ; preds = %126
br label %153
134: ; preds = %123
%135 = load i32, i32* %8
switch i32 %135, label %139 [
i32 0, label %136
i32 1, label %137
i32 2, label %138
]
136: ; preds = %134
store i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.78, i64 0, i64 0), i8** %5
br label %264
137: ; preds = %134
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.79, i64 0, i64 0), i8** %5
br label %264
138: ; preds = %134
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.80, i64 0, i64 0), i8** %5
br label %264
139: ; preds = %134
br label %153
140: ; preds = %123
%141 = load i32, i32* %8
switch i32 %141, label %145 [
i32 0, label %142
i32 1, label %143
i32 2, label %144
]
142: ; preds = %140
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.81, i64 0, i64 0), i8** %5
br label %264
143: ; preds = %140
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.82, i64 0, i64 0), i8** %5
br label %264
144: ; preds = %140
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.83, i64 0, i64 0), i8** %5
br label %264
145: ; preds = %140
br label %153
146: ; preds = %123
%147 = load i32, i32* %8
switch i32 %147, label %150 [
i32 0, label %148
i32 1, label %149
]
148: ; preds = %146
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.84, i64 0, i64 0), i8** %5
br label %264
149: ; preds = %146
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.85, i64 0, i64 0), i8** %5
br label %264
150: ; preds = %146
br label %153
151: ; preds = %123
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.86, i64 0, i64 0), i8** %5
br label %264
152: ; preds = %123
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.87, i64 0, i64 0), i8** %5
br label %264
153: ; preds = %123, %150, %145, %139, %133
br label %261
154: ; preds = %14
%155 = load i8**, i8*** %9
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.88, i64 0, i64 0), i8** %155
%156 = load i32, i32* %7
switch i32 %156, label %163 [
i32 0, label %157
i32 1, label %158
i32 2, label %159
i32 3, label %160
i32 4, label %161
i32 128, label %162
]
157: ; preds = %154
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.89, i64 0, i64 0), i8** %5
br label %264
158: ; preds = %154
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.90, i64 0, i64 0), i8** %5
br label %264
159: ; preds = %154
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.91, i64 0, i64 0), i8** %5
br label %264
160: ; preds = %154
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.92, i64 0, i64 0), i8** %5
br label %264
161: ; preds = %154
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.93, i64 0, i64 0), i8** %5
br label %264
162: ; preds = %154
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.94, i64 0, i64 0), i8** %5
br label %264
163: ; preds = %154
br label %261
164: ; preds = %14
%165 = load i8**, i8*** %9
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.95, i64 0, i64 0), i8** %165
%166 = load i32, i32* %7
switch i32 %166, label %169 [
i32 0, label %167
i32 128, label %168
]
167: ; preds = %164
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.96, i64 0, i64 0), i8** %5
br label %264
168: ; preds = %164
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.97, i64 0, i64 0), i8** %5
br label %264
169: ; preds = %164
br label %261
170: ; preds = %14
%171 = load i8**, i8*** %9
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.98, i64 0, i64 0), i8** %171
%172 = load i32, i32* %7
switch i32 %172, label %180 [
i32 0, label %173
i32 1, label %174
i32 2, label %175
i32 16, label %176
i32 32, label %177
i32 48, label %178
i32 64, label %179
]
173: ; preds = %170
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.99, i64 0, i64 0), i8** %5
br label %264
174: ; preds = %170
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.100, i64 0, i64 0), i8** %5
br label %264
175: ; preds = %170
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.101, i64 0, i64 0), i8** %5
br label %264
176: ; preds = %170
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.102, i64 0, i64 0), i8** %5
br label %264
177: ; preds = %170
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.103, i64 0, i64 0), i8** %5
br label %264
178: ; preds = %170
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.104, i64 0, i64 0), i8** %5
br label %264
179: ; preds = %170
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.105, i64 0, i64 0), i8** %5
br label %264
180: ; preds = %170
br label %261
181: ; preds = %14
%182 = load i8**, i8*** %9
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.106, i64 0, i64 0), i8** %182
%183 = load i32, i32* %7
switch i32 %183, label %210 [
i32 0, label %184
i32 1, label %189
i32 2, label %190
i32 3, label %191
i32 4, label %199
i32 5, label %200
i32 6, label %201
i32 7, label %202
i32 8, label %208
i32 9, label %209
]
184: ; preds = %181
%185 = load i32, i32* %8
switch i32 %185, label %188 [
i32 0, label %186
i32 1, label %187
]
186: ; preds = %184
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.107, i64 0, i64 0), i8** %5
br label %264
187: ; preds = %184
store i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.108, i64 0, i64 0), i8** %5
br label %264
188: ; preds = %184
br label %210
189: ; preds = %181
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.109, i64 0, i64 0), i8** %5
br label %264
190: ; preds = %181
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.110, i64 0, i64 0), i8** %5
br label %264
191: ; preds = %181
%192 = load i32, i32* %8
switch i32 %192, label %198 [
i32 0, label %193
i32 16, label %194
i32 32, label %195
i32 128, label %196
i32 254, label %197
]
193: ; preds = %191
store i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.111, i64 0, i64 0), i8** %5
br label %264
194: ; preds = %191
store i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str.112, i64 0, i64 0), i8** %5
br label %264
195: ; preds = %191
store i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str.113, i64 0, i64 0), i8** %5
br label %264
196: ; preds = %191
store i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.114, i64 0, i64 0), i8** %5
br label %264
197: ; preds = %191
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.115, i64 0, i64 0), i8** %5
br label %264
198: ; preds = %191
br label %210
199: ; preds = %181
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.116, i64 0, i64 0), i8** %5
br label %264
200: ; preds = %181
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.117, i64 0, i64 0), i8** %5
br label %264
201: ; preds = %181
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.118, i64 0, i64 0), i8** %5
br label %264
202: ; preds = %181
%203 = load i32, i32* %8
switch i32 %203, label %207 [
i32 0, label %204
i32 1, label %205
i32 2, label %206
]
204: ; preds = %202
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.119, i64 0, i64 0), i8** %5
br label %264
205: ; preds = %202
store i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.120, i64 0, i64 0), i8** %5
br label %264
206: ; preds = %202
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.121, i64 0, i64 0), i8** %5
br label %264
207: ; preds = %202
br label %210
208: ; preds = %181
store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.122, i64 0, i64 0), i8** %5
br label %264
209: ; preds = %181
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.123, i64 0, i64 0), i8** %5
br label %264
210: ; preds = %181, %207, %198, %188
br label %261
211: ; preds = %14
%212 = load i8**, i8*** %9
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.124, i64 0, i64 0), i8** %212
%213 = load i32, i32* %7
switch i32 %213, label %222 [
i32 0, label %214
i32 1, label %215
i32 16, label %216
i32 17, label %217
i32 18, label %218
i32 32, label %219
i32 33, label %220
i32 128, label %221
]
214: ; preds = %211
store i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.125, i64 0, i64 0), i8** %5
br label %264
215: ; preds = %211
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.126, i64 0, i64 0), i8** %5
br label %264
216: ; preds = %211
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.127, i64 0, i64 0), i8** %5
br label %264
217: ; preds = %211
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.128, i64 0, i64 0), i8** %5
br label %264
218: ; preds = %211
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.129, i64 0, i64 0), i8** %5
br label %264
219: ; preds = %211
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.130, i64 0, i64 0), i8** %5
br label %264
220: ; preds = %211
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.131, i64 0, i64 0), i8** %5
br label %264
221: ; preds = %211
store i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.132, i64 0, i64 0), i8** %5
br label %264
222: ; preds = %211
br label %261
223: ; preds = %14
%224 = load i8**, i8*** %9
store i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.133, i64 0, i64 0), i8** %224
%225 = load i32, i32* %7
switch i32 %225, label %230 [
i32 0, label %226
]
226: ; preds = %223
%227 = load i32, i32* %8
switch i32 %227, label %229 [
i32 0, label %228
]
228: ; preds = %226
store i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.134, i64 0, i64 0), i8** %5
br label %264
229: ; preds = %226
store i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.135, i64 0, i64 0), i8** %5
br label %264
230: ; preds = %223
br label %261
231: ; preds = %14
%232 = load i8**, i8*** %9
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.136, i64 0, i64 0), i8** %232
%233 = load i32, i32* %7
switch i32 %233, label %238 [
i32 1, label %234
i32 2, label %235
i32 3, label %236
i32 4, label %237
]
234: ; preds = %231
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.137, i64 0, i64 0), i8** %5
br label %264
235: ; preds = %231
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.138, i64 0, i64 0), i8** %5
br label %264
236: ; preds = %231
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.139, i64 0, i64 0), i8** %5
br label %264
237: ; preds = %231
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.140, i64 0, i64 0), i8** %5
br label %264
238: ; preds = %231
br label %261
239: ; preds = %14
%240 = load i8**, i8*** %9
store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.141, i64 0, i64 0), i8** %240
%241 = load i32, i32* %7
switch i32 %241, label %245 [
i32 0, label %242
i32 16, label %243
i32 128, label %244
]
242: ; preds = %239
store i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.142, i64 0, i64 0), i8** %5
br label %264
243: ; preds = %239
store i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.143, i64 0, i64 0), i8** %5
br label %264
244: ; preds = %239
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.144, i64 0, i64 0), i8** %5
br label %264
245: ; preds = %239
br label %261
246: ; preds = %14
%247 = load i8**, i8*** %9
store i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.145, i64 0, i64 0), i8** %247
%248 = load i32, i32* %7
switch i32 %248, label %254 [
i32 0, label %249
i32 1, label %250
i32 16, label %251
i32 32, label %252
i32 128, label %253
]
249: ; preds = %246
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.146, i64 0, i64 0), i8** %5
br label %264
250: ; preds = %246
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.147, i64 0, i64 0), i8** %5
br label %264
251: ; preds = %246
store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.148, i64 0, i64 0), i8** %5
br label %264
252: ; preds = %246
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.149, i64 0, i64 0), i8** %5
br label %264
253: ; preds = %246
store i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.150, i64 0, i64 0), i8** %5
br label %264
254: ; preds = %246
br label %261
255: ; preds = %14
%256 = load i8**, i8*** %9
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.151, i64 0, i64 0), i8** %256
br label %261
257: ; preds = %14
%258 = load i32, i32* %6
%259 = call i32 @snprintf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @x86_pci_subclass_to_string.temp_baseclass_number, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.152, i64 0, i64 0), i32 %258)
%260 = load i8**, i8*** %9
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @x86_pci_subclass_to_string.temp_baseclass_number, i64 0, i64 0), i8** %260
br label %261
261: ; preds = %257, %255, %254, %245, %238, %230, %222, %210, %180, %169, %163, %153, %122, %88, %72, %65, %57, %45, %33, %21
%262 = load i32, i32* %7
%263 = call i32 @snprintf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @x86_pci_subclass_to_string.temp_subclass_number, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.152, i64 0, i64 0), i32 %262)
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @x86_pci_subclass_to_string.temp_subclass_number, i64 0, i64 0), i8** %5
br label %264
264: ; preds = %261, %253, %252, %251, %250, %249, %244, %243, %242, %237, %236, %235, %234, %229, %228, %221, %220, %219, %218, %217, %216, %215, %214, %209, %208, %206, %205, %204, %201, %200, %199, %197, %196, %195, %194, %193, %190, %189, %187, %186, %179, %178, %177, %176, %175, %174, %173, %168, %167, %162, %161, %160, %159, %158, %157, %152, %151, %149, %148, %144, %143, %142, %138, %137, %136, %132, %131, %130, %129, %128, %121, %120, %119, %117, %116, %115, %114, %113, %110, %108, %107, %106, %105, %104, %100, %99, %98, %97, %96, %95, %94, %87, %86, %85, %84, %83, %82, %81, %80, %79, %78, %77, %76, %71, %70, %69, %64, %63, %62, %61, %56, %55, %54, %53, %52, %51, %44, %43, %42, %41, %40, %39, %38, %37, %32, %31, %30, %29, %28, %27, %26, %25, %20, %19
%265 = load i8*, i8** %5
ret i8* %265
}

LLVM IR (-O2):
@x86_pci_subclass_to_string.temp_baseclass_number = internal global [7 x i8] zeroinitializer
@x86_pci_subclass_to_string.temp_subclass_number = internal global [7 x i8] zeroinitializer
@.str = [62 x i8] c"Device was built before Class Code definitions were finalized\00"
@.str.1 = [8 x i8] c"Non-VGA\00"
@.str.2 = [4 x i8] c"VGA\00"
@.str.3 = [24 x i8] c"Mass storage controller\00"
@.str.4 = [20 x i8] c"SCSI bus controller\00"
@.str.5 = [15 x i8] c"IDE controller\00"
@.str.6 = [23 x i8] c"Floppy disk controller\00"
@.str.7 = [19 x i8] c"IPI bus controller\00"
@.str.8 = [16 x i8] c"RAID controller\00"
@.str.9 = [15 x i8] c"ATA controller\00"
@.str.10 = [30 x i8] c"Serial ATA Direct Port Access\00"
@.str.11 = [30 x i8] c"Other mass storage controller\00"
@.str.12 = [19 x i8] c"Network controller\00"
@.str.13 = [20 x i8] c"Ethernet controller\00"
@.str.14 = [22 x i8] c"Token Ring controller\00"
@.str.15 = [16 x i8] c"FDDI controller\00"
@.str.16 = [15 x i8] c"ATM controller\00"
@.str.17 = [16 x i8] c"ISDN controller\00"
@.str.18 = [20 x i8] c"WorldFip controller\00"
@.str.19 = [27 x i8] c"PICMG 2.14 Multi Computing\00"
@.str.20 = [25 x i8] c"Other network controller\00"
@.str.21 = [19 x i8] c"Display controller\00"
@.str.22 = [26 x i8] c"VGA-compatible controller\00"
@.str.23 = [27 x i8] c"8514-compatible controller\00"
@.str.24 = [24 x i8] c"[UNDEFINED IN ACPI 3.0]\00"
@.str.25 = [15 x i8] c"XGA coltroller\00"
@.str.26 = [14 x i8] c"3D controller\00"
@.str.27 = [25 x i8] c"Other display controller\00"
@.str.28 = [18 x i8] c"Multimedia device\00"
@.str.29 = [13 x i8] c"Video device\00"
@.str.30 = [13 x i8] c"Audio device\00"
@.str.31 = [26 x i8] c"Computer telephony device\00"
@.str.32 = [24 x i8] c"Other multimedia device\00"
@.str.33 = [18 x i8] c"Memory controller\00"
@.str.34 = [4 x i8] c"RAM\00"
@.str.35 = [6 x i8] c"Flash\00"
@.str.36 = [24 x i8] c"Other memory controller\00"
@.str.37 = [14 x i8] c"Bridge device\00"
@.str.38 = [12 x i8] c"Host bridge\00"
@.str.39 = [11 x i8] c"ISA bridge\00"
@.str.40 = [12 x i8] c"EISA bridge\00"
@.str.41 = [11 x i8] c"MCA bridge\00"
@.str.42 = [18 x i8] c"PCI-to-PCI bridge\00"
@.str.43 = [14 x i8] c"PCMCIA bridge\00"
@.str.44 = [13 x i8] c"NuBus bridge\00"
@.str.45 = [15 x i8] c"CardBus bridge\00"
@.str.46 = [15 x i8] c"RACEway bridge\00"
@.str.47 = [35 x i8] c"Semi-transparent PCI-to-PCI bridge\00"
@.str.48 = [30 x i8] c"InfiniBand-to-PCI host bridge\00"
@.str.49 = [20 x i8] c"Other bridge device\00"
@.str.50 = [32 x i8] c"Simple communication controller\00"
@.str.51 = [40 x i8] c"Generic XT-compatible serial controller\00"
@.str.52 = [35 x i8] c"16450-compatible serial controller\00"
@.str.53 = [35 x i8] c"16550-compatible serial controller\00"
@.str.54 = [35 x i8] c"16650-compatible serial controller\00"
@.str.55 = [35 x i8] c"16750-compatible serial controller\00"
@.str.56 = [35 x i8] c"16850-compatible serial controller\00"
@.str.57 = [35 x i8] c"16950-compatible serial controller\00"
@.str.58 = [14 x i8] c"Parallel port\00"
@.str.59 = [29 x i8] c"Bi-directional parallel port\00"
@.str.60 = [32 x i8] c"ECP 1.X compliant parallel port\00"
@.str.61 = [20 x i8] c"IEEE1284 controller\00"
@.str.62 = [23 x i8] c"IEEE1284 target device\00"
@.str.63 = [28 x i8] c"Multiport serial controller\00"
@.str.64 = [14 x i8] c"Generic modem\00"
@.str.65 = [51 x i8] c"Hayes compatible modem, 16450-compatible interface\00"
@.str.66 = [51 x i8] c"Hayes compatible modem, 16550-compatible interface\00"
@.str.67 = [51 x i8] c"Hayes compatible modem, 16650-compatible interface\00"
@.str.68 = [51 x i8] c"Hayes compatible modem, 16750-compatible interface\00"
@.str.69 = [31 x i8] c"GPIB (IEEE 488.1/2) controller\00"
@.str.70 = [11 x i8] c"Smart Card\00"
@.str.71 = [28 x i8] c"Other communications device\00"
@.str.72 = [23 x i8] c"Base system peripheral\00"
@.str.73 = [17 x i8] c"Generic 8259 PIC\00"
@.str.74 = [8 x i8] c"ISA PIC\00"
@.str.75 = [9 x i8] c"EISA PIC\00"
@.str.76 = [42 x i8] c"I/O APIC interrupt controller (see below)\00"
@.str.77 = [33 x i8] c"I/O(x) APIC interrupt controller\00"
@.str.78 = [28 x i8] c"Generic 8237 DMA controller\00"
@.str.79 = [19 x i8] c"ISA DMA controller\00"
@.str.80 = [20 x i8] c"EISA DMA controller\00"
@.str.81 = [26 x i8] c"Generic 8254 system timer\00"
@.str.82 = [17 x i8] c"ISA system timer\00"
@.str.83 = [32 x i8] c"EISA system timers (two timers)\00"
@.str.84 = [23 x i8] c"Generic RTC controller\00"
@.str.85 = [19 x i8] c"ISA RTC controller\00"
@.str.86 = [32 x i8] c"Generic PCI Hot-Plug controller\00"
@.str.87 = [24 x i8] c"Other system peripheral\00"
@.str.88 = [13 x i8] c"Input device\00"
@.str.89 = [20 x i8] c"Keyboard controller\00"
@.str.90 = [16 x i8] c"Digitizer (pen)\00"
@.str.91 = [17 x i8] c"Mouse controller\00"
@.str.92 = [19 x i8] c"Scanner controller\00"
@.str.93 = [20 x i8] c"Gameport controller\00"
@.str.94 = [23 x i8] c"Other input controller\00"
@.str.95 = [16 x i8] c"Docking station\00"
@.str.96 = [24 x i8] c"Generic docking station\00"
@.str.97 = [30 x i8] c"Other type of docking station\00"
@.str.98 = [10 x i8] c"Processor\00"
@.str.99 = [4 x i8] c"386\00"
@.str.100 = [4 x i8] c"486\00"
@.str.101 = [8 x i8] c"Pentium\00"
@.str.102 = [6 x i8] c"Alpha\00"
@.str.103 = [8 x i8] c"PowerPC\00"
@.str.104 = [5 x i8] c"MIPS\00"
@.str.105 = [13 x i8] c"Co-processor\00"
@.str.106 = [22 x i8] c"Serial bus controller\00"
@.str.107 = [21 x i8] c"IEEE 1394 (FireWire)\00"
@.str.108 = [51 x i8] c"IEEE 1394 following the 1394 OpenHCI specification\00"
@.str.109 = [11 x i8] c"ACCESS.bus\00"
@.str.110 = [4 x i8] c"SSA\00"
@.str.111 = [81 x i8] c"Universal Serial Bus (USB) following the Universal Host Controller Specification\00"
@.str.112 = [76 x i8] c"Universal Serial Bus (USB) following the Open Host Controller Specification\00"
@.str.113 = [76 x i8] c"USB2 host controller following the Intel Enhanced Host Controller Interface\00"
@.str.114 = [60 x i8] c"Universal Serial Bus with no specific programming interface\00"
@.str.115 = [11 x i8] c"USB device\00"
@.str.116 = [14 x i8] c"Fibre Channel\00"
@.str.117 = [6 x i8] c"SMBus\00"
@.str.118 = [11 x i8] c"InfiniBand\00"
@.str.119 = [20 x i8] c"IPMI SMIC Interface\00"
@.str.120 = [37 x i8] c"IPMI Kybd Controller Style Interface\00"
@.str.121 = [30 x i8] c"IPMI Block Transfer Interface\00"
@.str.122 = [38 x i8] c"SERCOS Interface Standard (IEC 61491)\00"
@.str.123 = [7 x i8] c"CANbus\00"
@.str.124 = [20 x i8] c"Wireless controller\00"
@.str.125 = [27 x i8] c"iRDA compatible controller\00"
@.str.126 = [23 x i8] c"Consumer IR controller\00"
@.str.127 = [14 x i8] c"RF controller\00"
@.str.128 = [10 x i8] c"Bluetooth\00"
@.str.129 = [10 x i8] c"Broadband\00"
@.str.130 = [19 x i8] c"Ethernet (802.11a)\00"
@.str.131 = [19 x i8] c"Ethernet (802.11b)\00"
@.str.132 = [34 x i8] c"Other type of wireless controller\00"
@.str.133 = [27 x i8] c"Intelligent I/O controller\00"
@.str.134 = [28 x i8] c"Message FIFO at offset 040h\00"
@.str.135 = [53 x i8] c"Intelligent I/O (I2O) Architecture Specification 1.0\00"
@.str.136 = [35 x i8] c"Satellite communication controller\00"
@.str.137 = [3 x i8] c"TV\00"
@.str.138 = [6 x i8] c"Audio\00"
@.str.139 = [6 x i8] c"Voice\00"
@.str.140 = [5 x i8] c"Data\00"
@.str.141 = [33 x i8] c"Encryption/Decryption controller\00"
@.str.142 = [36 x i8] c"Network and computing en/decryption\00"
@.str.143 = [28 x i8] c"Entertainment en/decryption\00"
@.str.144 = [20 x i8] c"Other en/decryption\00"
@.str.145 = [50 x i8] c"Data acquisition and signal processing controller\00"
@.str.146 = [13 x i8] c"DPIO modules\00"
@.str.147 = [21 x i8] c"Performance counters\00"
@.str.148 = [72 x i8] c"Communications synchronization plus time and frequency test/measurement\00"
@.str.149 = [16 x i8] c"Management card\00"
@.str.150 = [53 x i8] c"Other data acquisition/signal processing controllers\00"
@.str.151 = [13 x i8] c"Other device\00"
@.str.152 = [7 x i8] c"0x%04x\00"
@reltable.x86_pci_subclass_to_string = [7 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([40 x i8]* @.str.51 to i64), i64 ptrtoint ([7 x i32]* @reltable.x86_pci_subclass_to_string to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([35 x i8]* @.str.52 to i64), i64 ptrtoint ([7 x i32]* @reltable.x86_pci_subclass_to_string to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([35 x i8]* @.str.53 to i64), i64 ptrtoint ([7 x i32]* @reltable.x86_pci_subclass_to_string to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([35 x i8]* @.str.54 to i64), i64 ptrtoint ([7 x i32]* @reltable.x86_pci_subclass_to_string to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([35 x i8]* @.str.55 to i64), i64 ptrtoint ([7 x i32]* @reltable.x86_pci_subclass_to_string to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([35 x i8]* @.str.56 to i64), i64 ptrtoint ([7 x i32]* @reltable.x86_pci_subclass_to_string to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([35 x i8]* @.str.57 to i64), i64 ptrtoint ([7 x i32]* @reltable.x86_pci_subclass_to_string to i64)) to i32)]
@reltable.x86_pci_subclass_to_string.158 = [5 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([14 x i8]* @.str.64 to i64), i64 ptrtoint ([5 x i32]* @reltable.x86_pci_subclass_to_string.158 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([51 x i8]* @.str.65 to i64), i64 ptrtoint ([5 x i32]* @reltable.x86_pci_subclass_to_string.158 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([51 x i8]* @.str.66 to i64), i64 ptrtoint ([5 x i32]* @reltable.x86_pci_subclass_to_string.158 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([51 x i8]* @.str.67 to i64), i64 ptrtoint ([5 x i32]* @reltable.x86_pci_subclass_to_string.158 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([51 x i8]* @.str.68 to i64), i64 ptrtoint ([5 x i32]* @reltable.x86_pci_subclass_to_string.158 to i64)) to i32)]
@reltable.x86_pci_subclass_to_string.159 = [3 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([28 x i8]* @.str.78 to i64), i64 ptrtoint ([3 x i32]* @reltable.x86_pci_subclass_to_string.159 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([19 x i8]* @.str.79 to i64), i64 ptrtoint ([3 x i32]* @reltable.x86_pci_subclass_to_string.159 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([20 x i8]* @.str.80 to i64), i64 ptrtoint ([3 x i32]* @reltable.x86_pci_subclass_to_string.159 to i64)) to i32)]
@reltable.x86_pci_subclass_to_string.160 = [3 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([26 x i8]* @.str.81 to i64), i64 ptrtoint ([3 x i32]* @reltable.x86_pci_subclass_to_string.160 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([17 x i8]* @.str.82 to i64), i64 ptrtoint ([3 x i32]* @reltable.x86_pci_subclass_to_string.160 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([32 x i8]* @.str.83 to i64), i64 ptrtoint ([3 x i32]* @reltable.x86_pci_subclass_to_string.160 to i64)) to i32)]
@reltable.x86_pci_subclass_to_string.161 = [3 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([20 x i8]* @.str.119 to i64), i64 ptrtoint ([3 x i32]* @reltable.x86_pci_subclass_to_string.161 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([37 x i8]* @.str.120 to i64), i64 ptrtoint ([3 x i32]* @reltable.x86_pci_subclass_to_string.161 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([30 x i8]* @.str.121 to i64), i64 ptrtoint ([3 x i32]* @reltable.x86_pci_subclass_to_string.161 to i64)) to i32)]
@reltable.x86_pci_subclass_to_string.162 = [4 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([3 x i8]* @.str.137 to i64), i64 ptrtoint ([4 x i32]* @reltable.x86_pci_subclass_to_string.162 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([6 x i8]* @.str.138 to i64), i64 ptrtoint ([4 x i32]* @reltable.x86_pci_subclass_to_string.162 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([6 x i8]* @.str.139 to i64), i64 ptrtoint ([4 x i32]* @reltable.x86_pci_subclass_to_string.162 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([5 x i8]* @.str.140 to i64), i64 ptrtoint ([4 x i32]* @reltable.x86_pci_subclass_to_string.162 to i64)) to i32)]
define i8* @x86_pci_subclass_to_string(i32 %0, i32 %1, i32 %2, i8** writeonly %3) {
%5 = alloca i8*
%6 = bitcast i8** %5 to i8*
%7 = icmp eq i8** %3, null
%8 = select i1 %7, i8** %5, i8** %3
switch i32 %0, label %135 [
i32 0, label %9
i32 1, label %11
i32 2, label %19
i32 3, label %27
i32 4, label %35
i32 5, label %39
i32 6, label %42
i32 7, label %54
i32 8, label %67
i32 9, label %80
i32 10, label %86
i32 11, label %88
i32 12, label %95
i32 13, label %111
i32 14, label %119
i32 15, label %124
i32 16, label %127
i32 17, label %130
i32 255, label %137
]
9: ; preds = %4
store i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %165
i32 1, label %10
]
10: ; preds = %9
br label %165
11: ; preds = %4
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.3, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %165
i32 1, label %12
i32 2, label %13
i32 3, label %14
i32 4, label %15
i32 5, label %16
i32 6, label %17
i32 128, label %18
]
12: ; preds = %11
br label %165
13: ; preds = %11
br label %165
14: ; preds = %11
br label %165
15: ; preds = %11
br label %165
16: ; preds = %11
br label %165
17: ; preds = %11
br label %165
18: ; preds = %11
br label %165
19: ; preds = %4
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.12, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %165
i32 1, label %20
i32 2, label %21
i32 3, label %22
i32 4, label %23
i32 5, label %24
i32 6, label %25
i32 128, label %26
]
20: ; preds = %19
br label %165
21: ; preds = %19
br label %165
22: ; preds = %19
br label %165
23: ; preds = %19
br label %165
24: ; preds = %19
br label %165
25: ; preds = %19
br label %165
26: ; preds = %19
br label %165
27: ; preds = %4
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.21, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %28
i32 1, label %165
i32 2, label %33
i32 128, label %34
]
28: ; preds = %27
%29 = icmp eq i32 %2, 1
%30 = select i1 %29, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.23, i64 0, i64 0), i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.24, i64 0, i64 0)
%31 = icmp eq i32 %2, 0
%32 = select i1 %31, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.22, i64 0, i64 0), i8* %30
br label %165
33: ; preds = %27
br label %165
34: ; preds = %27
br label %165
35: ; preds = %4
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.28, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %165
i32 1, label %36
i32 2, label %37
i32 128, label %38
]
36: ; preds = %35
br label %165
37: ; preds = %35
br label %165
38: ; preds = %35
br label %165
39: ; preds = %4
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.33, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %165
i32 1, label %40
i32 128, label %41
]
40: ; preds = %39
br label %165
41: ; preds = %39
br label %165
42: ; preds = %4
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.37, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %165
i32 1, label %43
i32 2, label %44
i32 3, label %45
i32 4, label %46
i32 5, label %47
i32 6, label %48
i32 7, label %49
i32 8, label %50
i32 9, label %51
i32 10, label %52
i32 128, label %53
]
43: ; preds = %42
br label %165
44: ; preds = %42
br label %165
45: ; preds = %42
br label %165
46: ; preds = %42
br label %165
47: ; preds = %42
br label %165
48: ; preds = %42
br label %165
49: ; preds = %42
br label %165
50: ; preds = %42
br label %165
51: ; preds = %42
br label %165
52: ; preds = %42
br label %165
53: ; preds = %42
br label %165
54: ; preds = %4
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.50, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %55
i32 1, label %57
i32 2, label %165
i32 3, label %62
i32 4, label %64
i32 5, label %65
i32 128, label %66
]
55: ; preds = %54
%56 = icmp ult i32 %2, 7
br i1 %56, label %141, label %139
57: ; preds = %54
switch i32 %2, label %139 [
i32 0, label %165
i32 1, label %58
i32 2, label %59
i32 3, label %60
i32 239, label %61
]
58: ; preds = %57
br label %165
59: ; preds = %57
br label %165
60: ; preds = %57
br label %165
61: ; preds = %57
br label %165
62: ; preds = %54
%63 = icmp ult i32 %2, 5
br i1 %63, label %145, label %139
64: ; preds = %54
br label %165
65: ; preds = %54
br label %165
66: ; preds = %54
br label %165
67: ; preds = %4
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.72, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %68
i32 1, label %73
i32 2, label %75
i32 3, label %77
i32 4, label %165
i32 128, label %79
]
68: ; preds = %67
switch i32 %2, label %139 [
i32 0, label %165
i32 1, label %69
i32 2, label %70
i32 16, label %71
i32 32, label %72
]
69: ; preds = %68
br label %165
70: ; preds = %68
br label %165
71: ; preds = %68
br label %165
72: ; preds = %68
br label %165
73: ; preds = %67
%74 = icmp ult i32 %2, 3
br i1 %74, label %149, label %139
75: ; preds = %67
%76 = icmp ult i32 %2, 3
br i1 %76, label %153, label %139
77: ; preds = %67
switch i32 %2, label %139 [
i32 0, label %165
i32 1, label %78
]
78: ; preds = %77
br label %165
79: ; preds = %67
br label %165
80: ; preds = %4
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.88, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %165
i32 1, label %81
i32 2, label %82
i32 3, label %83
i32 4, label %84
i32 128, label %85
]
81: ; preds = %80
br label %165
82: ; preds = %80
br label %165
83: ; preds = %80
br label %165
84: ; preds = %80
br label %165
85: ; preds = %80
br label %165
86: ; preds = %4
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.95, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %165
i32 128, label %87
]
87: ; preds = %86
br label %165
88: ; preds = %4
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.98, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %165
i32 1, label %89
i32 2, label %90
i32 16, label %91
i32 32, label %92
i32 48, label %93
i32 64, label %94
]
89: ; preds = %88
br label %165
90: ; preds = %88
br label %165
91: ; preds = %88
br label %165
92: ; preds = %88
br label %165
93: ; preds = %88
br label %165
94: ; preds = %88
br label %165
95: ; preds = %4
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.106, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %96
i32 1, label %165
i32 2, label %98
i32 3, label %99
i32 4, label %104
i32 5, label %105
i32 6, label %106
i32 7, label %107
i32 8, label %109
i32 9, label %110
]
96: ; preds = %95
switch i32 %2, label %139 [
i32 0, label %165
i32 1, label %97
]
97: ; preds = %96
br label %165
98: ; preds = %95
br label %165
99: ; preds = %95
switch i32 %2, label %139 [
i32 0, label %165
i32 16, label %100
i32 32, label %101
i32 128, label %102
i32 254, label %103
]
100: ; preds = %99
br label %165
101: ; preds = %99
br label %165
102: ; preds = %99
br label %165
103: ; preds = %99
br label %165
104: ; preds = %95
br label %165
105: ; preds = %95
br label %165
106: ; preds = %95
br label %165
107: ; preds = %95
%108 = icmp ult i32 %2, 3
br i1 %108, label %157, label %139
109: ; preds = %95
br label %165
110: ; preds = %95
br label %165
111: ; preds = %4
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.124, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %165
i32 1, label %112
i32 16, label %113
i32 17, label %114
i32 18, label %115
i32 32, label %116
i32 33, label %117
i32 128, label %118
]
112: ; preds = %111
br label %165
113: ; preds = %111
br label %165
114: ; preds = %111
br label %165
115: ; preds = %111
br label %165
116: ; preds = %111
br label %165
117: ; preds = %111
br label %165
118: ; preds = %111
br label %165
119: ; preds = %4
store i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.133, i64 0, i64 0), i8** %8
%120 = icmp eq i32 %1, 0
br i1 %120, label %121, label %139
121: ; preds = %119
%122 = icmp eq i32 %2, 0
%123 = select i1 %122, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.134, i64 0, i64 0), i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.135, i64 0, i64 0)
br label %165
124: ; preds = %4
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.136, i64 0, i64 0), i8** %8
%125 = add i32 %1, -1
%126 = icmp ult i32 %125, 4
br i1 %126, label %161, label %139
127: ; preds = %4
store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.141, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %165
i32 16, label %128
i32 128, label %129
]
128: ; preds = %127
br label %165
129: ; preds = %127
br label %165
130: ; preds = %4
store i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.145, i64 0, i64 0), i8** %8
switch i32 %1, label %139 [
i32 0, label %165
i32 1, label %131
i32 16, label %132
i32 32, label %133
i32 128, label %134
]
131: ; preds = %130
br label %165
132: ; preds = %130
br label %165
133: ; preds = %130
br label %165
134: ; preds = %130
br label %165
135: ; preds = %4
%136 = tail call i32 @snprintf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @x86_pci_subclass_to_string.temp_baseclass_number, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.152, i64 0, i64 0), i32 %0)
br label %137
137: ; preds = %4, %135
%138 = phi i8* [ getelementptr inbounds ([7 x i8], [7 x i8]* @x86_pci_subclass_to_string.temp_baseclass_number, i64 0, i64 0), %135 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.151, i64 0, i64 0), %4 ]
store i8* %138, i8** %8
br label %139
139: ; preds = %124, %107, %75, %73, %62, %55, %137, %130, %127, %119, %111, %95, %96, %99, %88, %86, %80, %67, %68, %77, %54, %57, %42, %39, %35, %27, %19, %11, %9
%140 = tail call i32 @snprintf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @x86_pci_subclass_to_string.temp_subclass_number, i64 0, i64 0), i32 7, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.152, i64 0, i64 0), i32 %1)
br label %165
141: ; preds = %55
%142 = sext i32 %2 to i64
%143 = shl i64 %142, 2
%144 = call i8* @llvm.load.relative.i64(i8* bitcast ([7 x i32]* @reltable.x86_pci_subclass_to_string to i8*), i64 %143)
br label %165
145: ; preds = %62
%146 = sext i32 %2 to i64
%147 = shl i64 %146, 2
%148 = call i8* @llvm.load.relative.i64(i8* bitcast ([5 x i32]* @reltable.x86_pci_subclass_to_string.158 to i8*), i64 %147)
br label %165
149: ; preds = %73
%150 = sext i32 %2 to i64
%151 = shl i64 %150, 2
%152 = call i8* @llvm.load.relative.i64(i8* bitcast ([3 x i32]* @reltable.x86_pci_subclass_to_string.159 to i8*), i64 %151)
br label %165
153: ; preds = %75
%154 = sext i32 %2 to i64
%155 = shl i64 %154, 2
%156 = call i8* @llvm.load.relative.i64(i8* bitcast ([3 x i32]* @reltable.x86_pci_subclass_to_string.160 to i8*), i64 %155)
br label %165
157: ; preds = %107
%158 = sext i32 %2 to i64
%159 = shl i64 %158, 2
%160 = call i8* @llvm.load.relative.i64(i8* bitcast ([3 x i32]* @reltable.x86_pci_subclass_to_string.161 to i8*), i64 %159)
br label %165
161: ; preds = %124
%162 = sext i32 %125 to i64
%163 = shl i64 %162, 2
%164 = call i8* @llvm.load.relative.i64(i8* bitcast ([4 x i32]* @reltable.x86_pci_subclass_to_string.162 to i8*), i64 %163)
br label %165
165: ; preds = %161, %157, %153, %149, %145, %141, %130, %127, %121, %111, %99, %95, %96, %88, %86, %80, %67, %77, %68, %54, %57, %42, %39, %35, %27, %28, %19, %11, %9, %139, %134, %133, %132, %131, %129, %128, %118, %117, %116, %115, %114, %113, %112, %110, %109, %106, %105, %104, %103, %102, %101, %100, %98, %97, %94, %93, %92, %91, %90, %89, %87, %85, %84, %83, %82, %81, %79, %78, %72, %71, %70, %69, %66, %65, %64, %61, %60, %59, %58, %53, %52, %51, %50, %49, %48, %47, %46, %45, %44, %43, %41, %40, %38, %37, %36, %34, %33, %26, %25, %24, %23, %22, %21, %20, %18, %17, %16, %15, %14, %13, %12, %10
%166 = phi i8* [ getelementptr inbounds ([7 x i8], [7 x i8]* @x86_pci_subclass_to_string.temp_subclass_number, i64 0, i64 0), %139 ], [ getelementptr inbounds ([53 x i8], [53 x i8]* @.str.150, i64 0, i64 0), %134 ], [ getelementptr inbounds ([16 x i8], [16 x i8]* @.str.149, i64 0, i64 0), %133 ], [ getelementptr inbounds ([72 x i8], [72 x i8]* @.str.148, i64 0, i64 0), %132 ], [ getelementptr inbounds ([21 x i8], [21 x i8]* @.str.147, i64 0, i64 0), %131 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.144, i64 0, i64 0), %129 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.143, i64 0, i64 0), %128 ], [ getelementptr inbounds ([34 x i8], [34 x i8]* @.str.132, i64 0, i64 0), %118 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.131, i64 0, i64 0), %117 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.130, i64 0, i64 0), %116 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.129, i64 0, i64 0), %115 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.128, i64 0, i64 0), %114 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.127, i64 0, i64 0), %113 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.126, i64 0, i64 0), %112 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.123, i64 0, i64 0), %110 ], [ getelementptr inbounds ([38 x i8], [38 x i8]* @.str.122, i64 0, i64 0), %109 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.118, i64 0, i64 0), %106 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str.117, i64 0, i64 0), %105 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.116, i64 0, i64 0), %104 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.115, i64 0, i64 0), %103 ], [ getelementptr inbounds ([60 x i8], [60 x i8]* @.str.114, i64 0, i64 0), %102 ], [ getelementptr inbounds ([76 x i8], [76 x i8]* @.str.113, i64 0, i64 0), %101 ], [ getelementptr inbounds ([76 x i8], [76 x i8]* @.str.112, i64 0, i64 0), %100 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.110, i64 0, i64 0), %98 ], [ getelementptr inbounds ([51 x i8], [51 x i8]* @.str.108, i64 0, i64 0), %97 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.105, i64 0, i64 0), %94 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.104, i64 0, i64 0), %93 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.103, i64 0, i64 0), %92 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str.102, i64 0, i64 0), %91 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.101, i64 0, i64 0), %90 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.100, i64 0, i64 0), %89 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.97, i64 0, i64 0), %87 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.94, i64 0, i64 0), %85 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.93, i64 0, i64 0), %84 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.92, i64 0, i64 0), %83 ], [ getelementptr inbounds ([17 x i8], [17 x i8]* @.str.91, i64 0, i64 0), %82 ], [ getelementptr inbounds ([16 x i8], [16 x i8]* @.str.90, i64 0, i64 0), %81 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.87, i64 0, i64 0), %79 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.85, i64 0, i64 0), %78 ], [ getelementptr inbounds ([33 x i8], [33 x i8]* @.str.77, i64 0, i64 0), %72 ], [ getelementptr inbounds ([42 x i8], [42 x i8]* @.str.76, i64 0, i64 0), %71 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.75, i64 0, i64 0), %70 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.74, i64 0, i64 0), %69 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.71, i64 0, i64 0), %66 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.70, i64 0, i64 0), %65 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.69, i64 0, i64 0), %64 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.62, i64 0, i64 0), %61 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.61, i64 0, i64 0), %60 ], [ getelementptr inbounds ([32 x i8], [32 x i8]* @.str.60, i64 0, i64 0), %59 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.59, i64 0, i64 0), %58 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.49, i64 0, i64 0), %53 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.48, i64 0, i64 0), %52 ], [ getelementptr inbounds ([35 x i8], [35 x i8]* @.str.47, i64 0, i64 0), %51 ], [ getelementptr inbounds ([15 x i8], [15 x i8]* @.str.46, i64 0, i64 0), %50 ], [ getelementptr inbounds ([15 x i8], [15 x i8]* @.str.45, i64 0, i64 0), %49 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.44, i64 0, i64 0), %48 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.43, i64 0, i64 0), %47 ], [ getelementptr inbounds ([18 x i8], [18 x i8]* @.str.42, i64 0, i64 0), %46 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.41, i64 0, i64 0), %45 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.40, i64 0, i64 0), %44 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.39, i64 0, i64 0), %43 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.36, i64 0, i64 0), %41 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str.35, i64 0, i64 0), %40 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.32, i64 0, i64 0), %38 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.31, i64 0, i64 0), %37 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.30, i64 0, i64 0), %36 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.27, i64 0, i64 0), %34 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.26, i64 0, i64 0), %33 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.20, i64 0, i64 0), %26 ], [ getelementptr inbounds ([27 x i8], [27 x i8]* @.str.19, i64 0, i64 0), %25 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18, i64 0, i64 0), %24 ], [ getelementptr inbounds ([16 x i8], [16 x i8]* @.str.17, i64 0, i64 0), %23 ], [ getelementptr inbounds ([15 x i8], [15 x i8]* @.str.16, i64 0, i64 0), %22 ], [ getelementptr inbounds ([16 x i8], [16 x i8]* @.str.15, i64 0, i64 0), %21 ], [ getelementptr inbounds ([22 x i8], [22 x i8]* @.str.14, i64 0, i64 0), %20 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.11, i64 0, i64 0), %18 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0), %17 ], [ getelementptr inbounds ([15 x i8], [15 x i8]* @.str.9, i64 0, i64 0), %16 ], [ getelementptr inbounds ([16 x i8], [16 x i8]* @.str.8, i64 0, i64 0), %15 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0), %14 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.6, i64 0, i64 0), %13 ], [ getelementptr inbounds ([15 x i8], [15 x i8]* @.str.5, i64 0, i64 0), %12 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), %10 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1, i64 0, i64 0), %9 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4, i64 0, i64 0), %11 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.13, i64 0, i64 0), %19 ], [ %32, %28 ], [ getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25, i64 0, i64 0), %27 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.29, i64 0, i64 0), %35 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.34, i64 0, i64 0), %39 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.38, i64 0, i64 0), %42 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.58, i64 0, i64 0), %57 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.63, i64 0, i64 0), %54 ], [ getelementptr inbounds ([17 x i8], [17 x i8]* @.str.73, i64 0, i64 0), %68 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.84, i64 0, i64 0), %77 ], [ getelementptr inbounds ([32 x i8], [32 x i8]* @.str.86, i64 0, i64 0), %67 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.89, i64 0, i64 0), %80 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.96, i64 0, i64 0), %86 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.99, i64 0, i64 0), %88 ], [ getelementptr inbounds ([21 x i8], [21 x i8]* @.str.107, i64 0, i64 0), %96 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.109, i64 0, i64 0), %95 ], [ getelementptr inbounds ([81 x i8], [81 x i8]* @.str.111, i64 0, i64 0), %99 ], [ getelementptr inbounds ([27 x i8], [27 x i8]* @.str.125, i64 0, i64 0), %111 ], [ %123, %121 ], [ getelementptr inbounds ([36 x i8], [36 x i8]* @.str.142, i64 0, i64 0), %127 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.146, i64 0, i64 0), %130 ], [ %144, %141 ], [ %148, %145 ], [ %152, %149 ], [ %156, %153 ], [ %160, %157 ], [ %164, %161 ]
ret i8* %166
}