map (guint32 code, struct dis_map_t * table)
{
  unsigned int i.0;
  unsigned int D.5767;
  struct dis_map_t * D.5768;
  int D.5769;
  unsigned int D.5770;
  const char * D.5773;
  const char * D.5774;
  int i;

  i = 0;
  goto <D.5711>;
  <D.5710>:
  i.0 = (unsigned int) i;
  D.5767 = i.0 * 8;
  D.5768 = table + D.5767;
  D.5769 = D.5768->code;
  D.5770 = (unsigned int) D.5769;
  if (D.5770 == code) goto <D.5771>; else goto <D.5772>;
  <D.5771>:
  i.0 = (unsigned int) i;
  D.5767 = i.0 * 8;
  D.5768 = table + D.5767;
  D.5773 = D.5768->str;
  return D.5773;
  <D.5772>:
  i = i + 1;
  <D.5711>:
  i.0 = (unsigned int) i;
  D.5767 = i.0 * 8;
  D.5768 = table + D.5767;
  D.5774 = D.5768->str;
  if (D.5774 != 0B) goto <D.5710>; else goto <D.5712>;
  <D.5712>:
  D.5773 = "invalid-flags";
  return D.5773;
}


flags (guint32 code, struct dis_map_t * table)
{
  unsigned int i.1;
  unsigned int D.5777;
  struct dis_map_t * D.5778;
  int D.5779;
  unsigned int D.5780;
  unsigned int D.5781;
  int D.5784;
  unsigned int D.5785;
  const char * D.5786;
  unsigned int D.5790;
  char * D.5791;
  const char * D.5792;
  static char buffer[1024];
  int i;

  buffer[0] = 0;
  i = 0;
  goto <D.5720>;
  <D.5719>:
  i.1 = (unsigned int) i;
  D.5777 = i.1 * 8;
  D.5778 = table + D.5777;
  D.5779 = D.5778->code;
  D.5780 = (unsigned int) D.5779;
  D.5781 = D.5780 & code;
  if (D.5781 != 0) goto <D.5782>; else goto <D.5783>;
  <D.5782>:
  i.1 = (unsigned int) i;
  D.5777 = i.1 * 8;
  D.5778 = table + D.5777;
  D.5779 = D.5778->code;
  D.5784 = ~D.5779;
  D.5785 = (unsigned int) D.5784;
  code = D.5785 & code;
  i.1 = (unsigned int) i;
  D.5777 = i.1 * 8;
  D.5778 = table + D.5777;
  D.5786 = D.5778->str;
  strcat (&buffer, D.5786);
  <D.5783>:
  i = i + 1;
  <D.5720>:
  if (code != 0) goto <D.5787>; else goto <D.5721>;
  <D.5787>:
  i.1 = (unsigned int) i;
  D.5777 = i.1 * 8;
  D.5778 = table + D.5777;
  D.5786 = D.5778->str;
  if (D.5786 != 0B) goto <D.5719>; else goto <D.5721>;
  <D.5721>:
  if (code != 0) goto <D.5788>; else goto <D.5789>;
  <D.5788>:
  D.5790 = strlen (&buffer);
  D.5791 = &buffer + D.5790;
  sprintf (D.5791, "unknown-flag-%2x ", code);
  <D.5789>:
  D.5792 = &buffer;
  return D.5792;
}


strcat (char * restrict __dest, const char * restrict __src)
{
  char * D.5794;
  unsigned int D.5795;

  D.5795 = __builtin_object_size (__dest, 1);
  D.5794 = __builtin___strcat_chk (__dest, __src, D.5795);
  return D.5794;
}


sprintf (char * restrict __s, const char * restrict __fmt)
{
  int D.5797;
  unsigned int D.5798;

  D.5798 = __builtin_object_size (__s, 1);
  D.5797 = __builtin___sprintf_chk (__s, 1, D.5798, __fmt, __builtin_va_arg_pack ());
  return D.5797;
}


hex_dump (const char * buffer, int base, int count)
{
  unsigned int i.2;
  unsigned int D.5805;
  unsigned char D.5808;
  int D.5809;
  int D.5810;
  sizetype i.3;
  const char * D.5812;
  char D.5813;
  unsigned char D.5814;
  int D.5815;
  struct _IO_FILE * stdout.4;
  int show_header;
  int i;

  show_header = 1;
  if (count < 0) goto <D.5800>; else goto <D.5801>;
  <D.5800>:
  count = -count;
  show_header = 0;
  <D.5801>:
  i = 0;
  goto <D.5730>;
  <D.5729>:
  if (show_header != 0) goto <D.5802>; else goto <D.5803>;
  <D.5802>:
  i.2 = (unsigned int) i;
  D.5805 = i.2 & 15;
  if (D.5805 == 0) goto <D.5806>; else goto <D.5807>;
  <D.5806>:
  D.5808 = (unsigned char) base;
  D.5809 = (int) D.5808;
  D.5810 = D.5809 + i;
  printf ("\n0x%08X: ", D.5810);
  <D.5807>:
  <D.5803>:
  i.3 = (sizetype) i;
  D.5812 = buffer + i.3;
  D.5813 = *D.5812;
  D.5814 = (unsigned char) D.5813;
  D.5815 = (int) D.5814;
  printf ("%02X ", D.5815);
  i = i + 1;
  <D.5730>:
  if (i < count) goto <D.5729>; else goto <D.5731>;
  <D.5731>:
  stdout.4 = stdout;
  fflush (stdout.4);
}


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

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


data_dump (const char * data, int len, const char * prefix)
{
  char * D.5821;
  int D.5824;
  sizetype D.5825;
  const char * D.5826;
  char D.5827;
  unsigned char D.5828;
  int D.5829;
  const char[6] * iftmp.5;
  int D.5831;
  int iftmp.6;
  unsigned char D.5836;
  unsigned char D.5837;
  int D.5841;
  sizetype i.7;
  const char * D.5847;
  char D.5848;
  unsigned char D.5849;
  int D.5850;
  int D.5853;
  int iftmp.8;
  unsigned char D.5855;
  unsigned char D.5856;
  int i;
  int j;
  struct GString * str;

  if (len == 0) goto <D.5819>; else goto <D.5820>;
  <D.5819>:
  D.5821 = monoeg_strdup (" ()\n");
  return D.5821;
  <D.5820>:
  str = monoeg_g_string_new (" (");
  i = 0;
  goto <D.5747>;
  <D.5746>:
  if (i == 0) goto <D.5822>; else goto <D.5823>;
  <D.5822>:
  monoeg_g_string_append_printf (str, "\n");
  <D.5823>:
  monoeg_g_string_append_printf (str, "%s", prefix);
  j = 0;
  goto <D.5741>;
  <D.5740>:
  D.5824 = i + j;
  D.5825 = (sizetype) D.5824;
  D.5826 = data + D.5825;
  D.5827 = *D.5826;
  D.5828 = (unsigned char) D.5827;
  D.5829 = (int) D.5828;
  monoeg_g_string_append_printf (str, "%02X ", D.5829);
  j = j + 1;
  <D.5741>:
  if (j <= 15) goto <D.5740>; else goto <D.5742>;
  <D.5742>:
  D.5831 = len + -16;
  if (D.5831 == i) goto <D.5832>; else goto <D.5833>;
  <D.5832>:
  iftmp.5 = ") // ";
  goto <D.5834>;
  <D.5833>:
  iftmp.5 = "  // ";
  <D.5834>:
  monoeg_g_string_append_printf (str, iftmp.5);
  j = 0;
  goto <D.5744>;
  <D.5743>:
  D.5824 = i + j;
  D.5825 = (sizetype) D.5824;
  D.5826 = data + D.5825;
  D.5827 = *D.5826;
  D.5836 = (unsigned char) D.5827;
  D.5837 = D.5836 + 224;
  if (D.5837 <= 94) goto <D.5838>; else goto <D.5839>;
  <D.5838>:
  D.5824 = i + j;
  D.5825 = (sizetype) D.5824;
  D.5826 = data + D.5825;
  D.5827 = *D.5826;
  iftmp.6 = (int) D.5827;
  goto <D.5840>;
  <D.5839>:
  iftmp.6 = 46;
  <D.5840>:
  monoeg_g_string_append_printf (str, "%c", iftmp.6);
  j = j + 1;
  <D.5744>:
  if (j <= 15) goto <D.5743>; else goto <D.5745>;
  <D.5745>:
  monoeg_g_string_append_printf (str, "\n");
  i = i + 16;
  <D.5747>:
  D.5841 = i + 15;
  if (D.5841 < len) goto <D.5746>; else goto <D.5748>;
  <D.5748>:
  if (i == len) goto <D.5842>; else goto <D.5843>;
  <D.5842>:
  D.5821 = monoeg_g_string_free (str, 0);
  return D.5821;
  <D.5843>:
  if (len > 16) goto <D.5844>; else goto <D.5845>;
  <D.5844>:
  monoeg_g_string_append_printf (str, "%s", prefix);
  <D.5845>:
  j = i;
  goto <D.5750>;
  <D.5749>:
  i.7 = (sizetype) i;
  D.5847 = data + i.7;
  D.5848 = *D.5847;
  D.5849 = (unsigned char) D.5848;
  D.5850 = (int) D.5849;
  monoeg_g_string_append_printf (str, "%02X ", D.5850);
  i = i + 1;
  <D.5750>:
  if (i < len) goto <D.5749>; else goto <D.5751>;
  <D.5751>:
  if (len > 16) goto <D.5851>; else goto <D.5852>;
  <D.5851>:
  {
    int count;

    D.5853 = len % 16;
    count = 16 - D.5853;
    i = 0;
    goto <D.5754>;
    <D.5753>:
    monoeg_g_string_append_printf (str, "   ");
    i = i + 1;
    <D.5754>:
    if (i < count) goto <D.5753>; else goto <D.5755>;
    <D.5755>:
  }
  <D.5852>:
  monoeg_g_string_append_printf (str, ") // ");
  i = j;
  goto <D.5757>;
  <D.5756>:
  i.7 = (sizetype) i;
  D.5847 = data + i.7;
  D.5848 = *D.5847;
  D.5855 = (unsigned char) D.5848;
  D.5856 = D.5855 + 224;
  if (D.5856 <= 94) goto <D.5857>; else goto <D.5858>;
  <D.5857>:
  i.7 = (sizetype) i;
  D.5847 = data + i.7;
  D.5848 = *D.5847;
  iftmp.8 = (int) D.5848;
  goto <D.5859>;
  <D.5858>:
  iftmp.8 = 46;
  <D.5859>:
  monoeg_g_string_append_printf (str, "%c", iftmp.8);
  i = i + 1;
  <D.5757>:
  if (i < len) goto <D.5756>; else goto <D.5758>;
  <D.5758>:
  monoeg_g_string_append_printf (str, "\n");
  D.5821 = monoeg_g_string_free (str, 0);
  return D.5821;
}


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

  if (str != 0B) goto <D.5861>; else goto <D.5862>;
  <D.5861>:
  D.5863 = __strdup (str);
  return D.5863;
  <D.5862>:
  D.5863 = 0B;
  return D.5863;
}


dis_isinf (double num)
{
  int D.5865;

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


dis_isnan (double num)
{
  int D.5867;

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


