map (guint32 code, struct dis_map_t * table)
{
  unsigned int i.0;
  unsigned int D.5866;
  struct dis_map_t * D.5867;
  int D.5868;
  unsigned int D.5869;
  const char * D.5872;
  const char * D.5873;
  int i;

  i = 0;
  goto <D.5810>;
  <D.5809>:
  i.0 = (unsigned int) i;
  D.5866 = i.0 * 8;
  D.5867 = table + D.5866;
  D.5868 = D.5867->code;
  D.5869 = (unsigned int) D.5868;
  if (D.5869 == code) goto <D.5870>; else goto <D.5871>;
  <D.5870>:
  i.0 = (unsigned int) i;
  D.5866 = i.0 * 8;
  D.5867 = table + D.5866;
  D.5872 = D.5867->str;
  return D.5872;
  <D.5871>:
  i = i + 1;
  <D.5810>:
  i.0 = (unsigned int) i;
  D.5866 = i.0 * 8;
  D.5867 = table + D.5866;
  D.5873 = D.5867->str;
  if (D.5873 != 0B) goto <D.5809>; else goto <D.5811>;
  <D.5811>:
  D.5872 = "invalid-flags";
  return D.5872;
}


flags (guint32 code, struct dis_map_t * table)
{
  unsigned int i.1;
  unsigned int D.5876;
  struct dis_map_t * D.5877;
  int D.5878;
  unsigned int D.5879;
  unsigned int D.5880;
  int D.5883;
  unsigned int D.5884;
  const char * D.5885;
  unsigned int D.5889;
  char * D.5890;
  const char * D.5891;
  static char buffer[1024];
  int i;

  buffer[0] = 0;
  i = 0;
  goto <D.5819>;
  <D.5818>:
  i.1 = (unsigned int) i;
  D.5876 = i.1 * 8;
  D.5877 = table + D.5876;
  D.5878 = D.5877->code;
  D.5879 = (unsigned int) D.5878;
  D.5880 = D.5879 & code;
  if (D.5880 != 0) goto <D.5881>; else goto <D.5882>;
  <D.5881>:
  i.1 = (unsigned int) i;
  D.5876 = i.1 * 8;
  D.5877 = table + D.5876;
  D.5878 = D.5877->code;
  D.5883 = ~D.5878;
  D.5884 = (unsigned int) D.5883;
  code = D.5884 & code;
  i.1 = (unsigned int) i;
  D.5876 = i.1 * 8;
  D.5877 = table + D.5876;
  D.5885 = D.5877->str;
  strcat (&buffer, D.5885);
  <D.5882>:
  i = i + 1;
  <D.5819>:
  if (code != 0) goto <D.5886>; else goto <D.5820>;
  <D.5886>:
  i.1 = (unsigned int) i;
  D.5876 = i.1 * 8;
  D.5877 = table + D.5876;
  D.5885 = D.5877->str;
  if (D.5885 != 0B) goto <D.5818>; else goto <D.5820>;
  <D.5820>:
  if (code != 0) goto <D.5887>; else goto <D.5888>;
  <D.5887>:
  D.5889 = strlen (&buffer);
  D.5890 = &buffer + D.5889;
  sprintf (D.5890, "unknown-flag-%2x ", code);
  <D.5888>:
  D.5891 = &buffer;
  return D.5891;
}


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

  D.5894 = __builtin_object_size (__dest, 1);
  D.5893 = __builtin___strcat_chk (__dest, __src, D.5894);
  return D.5893;
}


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

  D.5897 = __builtin_object_size (__s, 1);
  D.5896 = __builtin___sprintf_chk (__s, 1, D.5897, __fmt, __builtin_va_arg_pack ());
  return D.5896;
}


hex_dump (const char * buffer, int base, int count)
{
  unsigned int i.2;
  unsigned int D.5904;
  unsigned char D.5907;
  int D.5908;
  int D.5909;
  sizetype i.3;
  const char * D.5911;
  char D.5912;
  unsigned char D.5913;
  int D.5914;
  struct _IO_FILE * stdout.4;
  int show_header;
  int i;

  show_header = 1;
  if (count < 0) goto <D.5899>; else goto <D.5900>;
  <D.5899>:
  count = -count;
  show_header = 0;
  <D.5900>:
  i = 0;
  goto <D.5829>;
  <D.5828>:
  if (show_header != 0) goto <D.5901>; else goto <D.5902>;
  <D.5901>:
  i.2 = (unsigned int) i;
  D.5904 = i.2 & 15;
  if (D.5904 == 0) goto <D.5905>; else goto <D.5906>;
  <D.5905>:
  D.5907 = (unsigned char) base;
  D.5908 = (int) D.5907;
  D.5909 = D.5908 + i;
  printf ("\n0x%08X: ", D.5909);
  <D.5906>:
  <D.5902>:
  i.3 = (sizetype) i;
  D.5911 = buffer + i.3;
  D.5912 = *D.5911;
  D.5913 = (unsigned char) D.5912;
  D.5914 = (int) D.5913;
  printf ("%02X ", D.5914);
  i = i + 1;
  <D.5829>:
  if (i < count) goto <D.5828>; else goto <D.5830>;
  <D.5830>:
  stdout.4 = stdout;
  fflush (stdout.4);
}


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

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


data_dump (const char * data, int len, const char * prefix)
{
  char * D.5920;
  int D.5923;
  sizetype D.5924;
  const char * D.5925;
  char D.5926;
  unsigned char D.5927;
  int D.5928;
  const char[6] * iftmp.5;
  int D.5930;
  int iftmp.6;
  unsigned char D.5935;
  unsigned char D.5936;
  int D.5940;
  sizetype i.7;
  const char * D.5946;
  char D.5947;
  unsigned char D.5948;
  int D.5949;
  int D.5952;
  int iftmp.8;
  unsigned char D.5954;
  unsigned char D.5955;
  int i;
  int j;
  struct GString * str;

  if (len == 0) goto <D.5918>; else goto <D.5919>;
  <D.5918>:
  D.5920 = monoeg_strdup (" ()\n");
  return D.5920;
  <D.5919>:
  str = monoeg_g_string_new (" (");
  i = 0;
  goto <D.5846>;
  <D.5845>:
  if (i == 0) goto <D.5921>; else goto <D.5922>;
  <D.5921>:
  monoeg_g_string_append_printf (str, "\n");
  <D.5922>:
  monoeg_g_string_append_printf (str, "%s", prefix);
  j = 0;
  goto <D.5840>;
  <D.5839>:
  D.5923 = i + j;
  D.5924 = (sizetype) D.5923;
  D.5925 = data + D.5924;
  D.5926 = *D.5925;
  D.5927 = (unsigned char) D.5926;
  D.5928 = (int) D.5927;
  monoeg_g_string_append_printf (str, "%02X ", D.5928);
  j = j + 1;
  <D.5840>:
  if (j <= 15) goto <D.5839>; else goto <D.5841>;
  <D.5841>:
  D.5930 = len + -16;
  if (D.5930 == i) goto <D.5931>; else goto <D.5932>;
  <D.5931>:
  iftmp.5 = ") // ";
  goto <D.5933>;
  <D.5932>:
  iftmp.5 = "  // ";
  <D.5933>:
  monoeg_g_string_append_printf (str, iftmp.5);
  j = 0;
  goto <D.5843>;
  <D.5842>:
  D.5923 = i + j;
  D.5924 = (sizetype) D.5923;
  D.5925 = data + D.5924;
  D.5926 = *D.5925;
  D.5935 = (unsigned char) D.5926;
  D.5936 = D.5935 + 224;
  if (D.5936 <= 94) goto <D.5937>; else goto <D.5938>;
  <D.5937>:
  D.5923 = i + j;
  D.5924 = (sizetype) D.5923;
  D.5925 = data + D.5924;
  D.5926 = *D.5925;
  iftmp.6 = (int) D.5926;
  goto <D.5939>;
  <D.5938>:
  iftmp.6 = 46;
  <D.5939>:
  monoeg_g_string_append_printf (str, "%c", iftmp.6);
  j = j + 1;
  <D.5843>:
  if (j <= 15) goto <D.5842>; else goto <D.5844>;
  <D.5844>:
  monoeg_g_string_append_printf (str, "\n");
  i = i + 16;
  <D.5846>:
  D.5940 = i + 15;
  if (D.5940 < len) goto <D.5845>; else goto <D.5847>;
  <D.5847>:
  if (i == len) goto <D.5941>; else goto <D.5942>;
  <D.5941>:
  D.5920 = monoeg_g_string_free (str, 0);
  return D.5920;
  <D.5942>:
  if (len > 16) goto <D.5943>; else goto <D.5944>;
  <D.5943>:
  monoeg_g_string_append_printf (str, "%s", prefix);
  <D.5944>:
  j = i;
  goto <D.5849>;
  <D.5848>:
  i.7 = (sizetype) i;
  D.5946 = data + i.7;
  D.5947 = *D.5946;
  D.5948 = (unsigned char) D.5947;
  D.5949 = (int) D.5948;
  monoeg_g_string_append_printf (str, "%02X ", D.5949);
  i = i + 1;
  <D.5849>:
  if (i < len) goto <D.5848>; else goto <D.5850>;
  <D.5850>:
  if (len > 16) goto <D.5950>; else goto <D.5951>;
  <D.5950>:
  {
    int count;

    D.5952 = len % 16;
    count = 16 - D.5952;
    i = 0;
    goto <D.5853>;
    <D.5852>:
    monoeg_g_string_append_printf (str, "   ");
    i = i + 1;
    <D.5853>:
    if (i < count) goto <D.5852>; else goto <D.5854>;
    <D.5854>:
  }
  <D.5951>:
  monoeg_g_string_append_printf (str, ") // ");
  i = j;
  goto <D.5856>;
  <D.5855>:
  i.7 = (sizetype) i;
  D.5946 = data + i.7;
  D.5947 = *D.5946;
  D.5954 = (unsigned char) D.5947;
  D.5955 = D.5954 + 224;
  if (D.5955 <= 94) goto <D.5956>; else goto <D.5957>;
  <D.5956>:
  i.7 = (sizetype) i;
  D.5946 = data + i.7;
  D.5947 = *D.5946;
  iftmp.8 = (int) D.5947;
  goto <D.5958>;
  <D.5957>:
  iftmp.8 = 46;
  <D.5958>:
  monoeg_g_string_append_printf (str, "%c", iftmp.8);
  i = i + 1;
  <D.5856>:
  if (i < len) goto <D.5855>; else goto <D.5857>;
  <D.5857>:
  monoeg_g_string_append_printf (str, "\n");
  D.5920 = monoeg_g_string_free (str, 0);
  return D.5920;
}


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

  if (str != 0B) goto <D.5960>; else goto <D.5961>;
  <D.5960>:
  D.5962 = __strdup (str);
  return D.5962;
  <D.5961>:
  D.5962 = 0B;
  return D.5962;
}


dis_isinf (double num)
{
  int D.5964;

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


dis_isnan (double num)
{
  int D.5966;

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


