map (guint32 code, struct dis_map_t * table)
{
  long unsigned int D.6633;
  long unsigned int D.6634;
  struct dis_map_t * D.6635;
  int D.6636;
  unsigned int D.6637;
  const char * D.6640;
  const char * D.6641;
  int i;

  i = 0;
  goto <D.6578>;
  <D.6577>:
  D.6633 = (long unsigned int) i;
  D.6634 = D.6633 * 16;
  D.6635 = table + D.6634;
  D.6636 = D.6635->code;
  D.6637 = (unsigned int) D.6636;
  if (D.6637 == code) goto <D.6638>; else goto <D.6639>;
  <D.6638>:
  D.6633 = (long unsigned int) i;
  D.6634 = D.6633 * 16;
  D.6635 = table + D.6634;
  D.6640 = D.6635->str;
  return D.6640;
  <D.6639>:
  i = i + 1;
  <D.6578>:
  D.6633 = (long unsigned int) i;
  D.6634 = D.6633 * 16;
  D.6635 = table + D.6634;
  D.6641 = D.6635->str;
  if (D.6641 != 0B) goto <D.6577>; else goto <D.6579>;
  <D.6579>:
  D.6640 = "invalid-flags";
  return D.6640;
}


flags (guint32 code, struct dis_map_t * table)
{
  long unsigned int D.6643;
  long unsigned int D.6644;
  struct dis_map_t * D.6645;
  int D.6646;
  unsigned int D.6647;
  unsigned int D.6648;
  int D.6651;
  unsigned int D.6652;
  const char * D.6653;
  long unsigned int D.6657;
  char * D.6658;
  const char * D.6659;
  static char buffer[1024];
  int i;

  buffer[0] = 0;
  i = 0;
  goto <D.6587>;
  <D.6586>:
  D.6643 = (long unsigned int) i;
  D.6644 = D.6643 * 16;
  D.6645 = table + D.6644;
  D.6646 = D.6645->code;
  D.6647 = (unsigned int) D.6646;
  D.6648 = D.6647 & code;
  if (D.6648 != 0) goto <D.6649>; else goto <D.6650>;
  <D.6649>:
  D.6643 = (long unsigned int) i;
  D.6644 = D.6643 * 16;
  D.6645 = table + D.6644;
  D.6646 = D.6645->code;
  D.6651 = ~D.6646;
  D.6652 = (unsigned int) D.6651;
  code = D.6652 & code;
  D.6643 = (long unsigned int) i;
  D.6644 = D.6643 * 16;
  D.6645 = table + D.6644;
  D.6653 = D.6645->str;
  strcat (&buffer, D.6653);
  <D.6650>:
  i = i + 1;
  <D.6587>:
  if (code != 0) goto <D.6654>; else goto <D.6588>;
  <D.6654>:
  D.6643 = (long unsigned int) i;
  D.6644 = D.6643 * 16;
  D.6645 = table + D.6644;
  D.6653 = D.6645->str;
  if (D.6653 != 0B) goto <D.6586>; else goto <D.6588>;
  <D.6588>:
  if (code != 0) goto <D.6655>; else goto <D.6656>;
  <D.6655>:
  D.6657 = strlen (&buffer);
  D.6658 = &buffer + D.6657;
  sprintf (D.6658, "unknown-flag-%2x ", code);
  <D.6656>:
  D.6659 = &buffer;
  return D.6659;
}


strcat (char * restrict __dest, const char * restrict __src)
{
  char * D.6661;
  long unsigned int D.6662;

  D.6662 = __builtin_object_size (__dest, 1);
  D.6661 = __builtin___strcat_chk (__dest, __src, D.6662);
  return D.6661;
}


sprintf (char * restrict __s, const char * restrict __fmt)
{
  int D.6664;
  long unsigned int D.6665;

  D.6665 = __builtin_object_size (__s, 1);
  D.6664 = __builtin___sprintf_chk (__s, 1, D.6665, __fmt, __builtin_va_arg_pack ());
  return D.6664;
}


hex_dump (const char * buffer, int base, int count)
{
  unsigned int i.0;
  unsigned int D.6672;
  unsigned char D.6675;
  int D.6676;
  int D.6677;
  sizetype D.6678;
  const char * D.6679;
  char D.6680;
  int D.6681;
  struct _IO_FILE * stdout.1;
  int show_header;
  int i;

  show_header = 1;
  if (count < 0) goto <D.6667>; else goto <D.6668>;
  <D.6667>:
  count = -count;
  show_header = 0;
  <D.6668>:
  i = 0;
  goto <D.6597>;
  <D.6596>:
  if (show_header != 0) goto <D.6669>; else goto <D.6670>;
  <D.6669>:
  i.0 = (unsigned int) i;
  D.6672 = i.0 & 15;
  if (D.6672 == 0) goto <D.6673>; else goto <D.6674>;
  <D.6673>:
  D.6675 = (unsigned char) base;
  D.6676 = (int) D.6675;
  D.6677 = D.6676 + i;
  printf ("\n0x%08X: ", D.6677);
  <D.6674>:
  <D.6670>:
  D.6678 = (sizetype) i;
  D.6679 = buffer + D.6678;
  D.6680 = *D.6679;
  D.6681 = (int) D.6680;
  printf ("%02X ", D.6681);
  i = i + 1;
  <D.6597>:
  if (i < count) goto <D.6596>; else goto <D.6598>;
  <D.6598>:
  stdout.1 = stdout;
  fflush (stdout.1);
}


printf (const char * restrict __fmt)
{
  int D.6683;

  D.6683 = __printf_chk (1, __fmt, __builtin_va_arg_pack ());
  return D.6683;
}


data_dump (const char * data, int len, const char * prefix)
{
  char * D.6687;
  int D.6690;
  sizetype D.6691;
  const char * D.6692;
  char D.6693;
  int D.6694;
  const char[6] * iftmp.2;
  int D.6696;
  int iftmp.3;
  char D.6701;
  int D.6705;
  sizetype D.6710;
  const char * D.6711;
  char D.6712;
  int D.6713;
  int D.6716;
  int iftmp.4;
  char D.6718;
  int i;
  int j;
  struct GString * str;

  if (len == 0) goto <D.6685>; else goto <D.6686>;
  <D.6685>:
  D.6687 = monoeg_strdup (" ()\n");
  return D.6687;
  <D.6686>:
  str = monoeg_g_string_new (" (");
  i = 0;
  goto <D.6614>;
  <D.6613>:
  if (i == 0) goto <D.6688>; else goto <D.6689>;
  <D.6688>:
  monoeg_g_string_append_printf (str, "\n");
  <D.6689>:
  monoeg_g_string_append_printf (str, "%s", prefix);
  j = 0;
  goto <D.6608>;
  <D.6607>:
  D.6690 = i + j;
  D.6691 = (sizetype) D.6690;
  D.6692 = data + D.6691;
  D.6693 = *D.6692;
  D.6694 = (int) D.6693;
  monoeg_g_string_append_printf (str, "%02X ", D.6694);
  j = j + 1;
  <D.6608>:
  if (j <= 15) goto <D.6607>; else goto <D.6609>;
  <D.6609>:
  D.6696 = len + -16;
  if (D.6696 == i) goto <D.6697>; else goto <D.6698>;
  <D.6697>:
  iftmp.2 = ") // ";
  goto <D.6699>;
  <D.6698>:
  iftmp.2 = "  // ";
  <D.6699>:
  monoeg_g_string_append_printf (str, iftmp.2);
  j = 0;
  goto <D.6611>;
  <D.6610>:
  D.6690 = i + j;
  D.6691 = (sizetype) D.6690;
  D.6692 = data + D.6691;
  D.6693 = *D.6692;
  D.6701 = D.6693 + 224;
  if (D.6701 <= 94) goto <D.6702>; else goto <D.6703>;
  <D.6702>:
  D.6690 = i + j;
  D.6691 = (sizetype) D.6690;
  D.6692 = data + D.6691;
  D.6693 = *D.6692;
  iftmp.3 = (int) D.6693;
  goto <D.6704>;
  <D.6703>:
  iftmp.3 = 46;
  <D.6704>:
  monoeg_g_string_append_printf (str, "%c", iftmp.3);
  j = j + 1;
  <D.6611>:
  if (j <= 15) goto <D.6610>; else goto <D.6612>;
  <D.6612>:
  monoeg_g_string_append_printf (str, "\n");
  i = i + 16;
  <D.6614>:
  D.6705 = i + 15;
  if (D.6705 < len) goto <D.6613>; else goto <D.6615>;
  <D.6615>:
  if (i == len) goto <D.6706>; else goto <D.6707>;
  <D.6706>:
  D.6687 = monoeg_g_string_free (str, 0);
  return D.6687;
  <D.6707>:
  if (len > 16) goto <D.6708>; else goto <D.6709>;
  <D.6708>:
  monoeg_g_string_append_printf (str, "%s", prefix);
  <D.6709>:
  j = i;
  goto <D.6617>;
  <D.6616>:
  D.6710 = (sizetype) i;
  D.6711 = data + D.6710;
  D.6712 = *D.6711;
  D.6713 = (int) D.6712;
  monoeg_g_string_append_printf (str, "%02X ", D.6713);
  i = i + 1;
  <D.6617>:
  if (i < len) goto <D.6616>; else goto <D.6618>;
  <D.6618>:
  if (len > 16) goto <D.6714>; else goto <D.6715>;
  <D.6714>:
  {
    int count;

    D.6716 = len % 16;
    count = 16 - D.6716;
    i = 0;
    goto <D.6621>;
    <D.6620>:
    monoeg_g_string_append_printf (str, "   ");
    i = i + 1;
    <D.6621>:
    if (i < count) goto <D.6620>; else goto <D.6622>;
    <D.6622>:
  }
  <D.6715>:
  monoeg_g_string_append_printf (str, ") // ");
  i = j;
  goto <D.6624>;
  <D.6623>:
  D.6710 = (sizetype) i;
  D.6711 = data + D.6710;
  D.6712 = *D.6711;
  D.6718 = D.6712 + 224;
  if (D.6718 <= 94) goto <D.6719>; else goto <D.6720>;
  <D.6719>:
  D.6710 = (sizetype) i;
  D.6711 = data + D.6710;
  D.6712 = *D.6711;
  iftmp.4 = (int) D.6712;
  goto <D.6721>;
  <D.6720>:
  iftmp.4 = 46;
  <D.6721>:
  monoeg_g_string_append_printf (str, "%c", iftmp.4);
  i = i + 1;
  <D.6624>:
  if (i < len) goto <D.6623>; else goto <D.6625>;
  <D.6625>:
  monoeg_g_string_append_printf (str, "\n");
  D.6687 = monoeg_g_string_free (str, 0);
  return D.6687;
}


monoeg_strdup (const gchar * str)
{
  gchar * D.6725;

  if (str != 0B) goto <D.6723>; else goto <D.6724>;
  <D.6723>:
  D.6725 = __strdup (str);
  return D.6725;
  <D.6724>:
  D.6725 = 0B;
  return D.6725;
}


dis_isinf (double num)
{
  int D.6727;

  D.6727 = __isinf (num);
  return D.6727;
}


dis_isnan (double num)
{
  int D.6729;

  D.6729 = __isnan (num);
  return D.6729;
}


