map (guint32 code, struct dis_map_t * table)
{
  long unsigned int D.6111;
  long unsigned int D.6112;
  struct dis_map_t * D.6113;
  int D.6114;
  unsigned int D.6115;
  const char * D.6118;
  const char * D.6119;
  int i;

  i = 0;
  goto <D.6056>;
  <D.6055>:
  D.6111 = (long unsigned int) i;
  D.6112 = D.6111 * 16;
  D.6113 = table + D.6112;
  D.6114 = D.6113->code;
  D.6115 = (unsigned int) D.6114;
  if (D.6115 == code) goto <D.6116>; else goto <D.6117>;
  <D.6116>:
  D.6111 = (long unsigned int) i;
  D.6112 = D.6111 * 16;
  D.6113 = table + D.6112;
  D.6118 = D.6113->str;
  return D.6118;
  <D.6117>:
  i = i + 1;
  <D.6056>:
  D.6111 = (long unsigned int) i;
  D.6112 = D.6111 * 16;
  D.6113 = table + D.6112;
  D.6119 = D.6113->str;
  if (D.6119 != 0B) goto <D.6055>; else goto <D.6057>;
  <D.6057>:
  D.6118 = "invalid-flags";
  return D.6118;
}


flags (guint32 code, struct dis_map_t * table)
{
  long unsigned int D.6121;
  long unsigned int D.6122;
  struct dis_map_t * D.6123;
  int D.6124;
  unsigned int D.6125;
  unsigned int D.6126;
  int D.6129;
  unsigned int D.6130;
  const char * D.6131;
  long unsigned int D.6135;
  char * D.6136;
  const char * D.6137;
  static char buffer[1024];
  int i;

  buffer[0] = 0;
  i = 0;
  goto <D.6065>;
  <D.6064>:
  D.6121 = (long unsigned int) i;
  D.6122 = D.6121 * 16;
  D.6123 = table + D.6122;
  D.6124 = D.6123->code;
  D.6125 = (unsigned int) D.6124;
  D.6126 = D.6125 & code;
  if (D.6126 != 0) goto <D.6127>; else goto <D.6128>;
  <D.6127>:
  D.6121 = (long unsigned int) i;
  D.6122 = D.6121 * 16;
  D.6123 = table + D.6122;
  D.6124 = D.6123->code;
  D.6129 = ~D.6124;
  D.6130 = (unsigned int) D.6129;
  code = D.6130 & code;
  D.6121 = (long unsigned int) i;
  D.6122 = D.6121 * 16;
  D.6123 = table + D.6122;
  D.6131 = D.6123->str;
  strcat (&buffer, D.6131);
  <D.6128>:
  i = i + 1;
  <D.6065>:
  if (code != 0) goto <D.6132>; else goto <D.6066>;
  <D.6132>:
  D.6121 = (long unsigned int) i;
  D.6122 = D.6121 * 16;
  D.6123 = table + D.6122;
  D.6131 = D.6123->str;
  if (D.6131 != 0B) goto <D.6064>; else goto <D.6066>;
  <D.6066>:
  if (code != 0) goto <D.6133>; else goto <D.6134>;
  <D.6133>:
  D.6135 = strlen (&buffer);
  D.6136 = &buffer + D.6135;
  sprintf (D.6136, "unknown-flag-%2x ", code);
  <D.6134>:
  D.6137 = &buffer;
  return D.6137;
}


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

  D.6140 = __builtin_object_size (__dest, 1);
  D.6139 = __builtin___strcat_chk (__dest, __src, D.6140);
  return D.6139;
}


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

  D.6143 = __builtin_object_size (__s, 1);
  D.6142 = __builtin___sprintf_chk (__s, 1, D.6143, __fmt, __builtin_va_arg_pack ());
  return D.6142;
}


hex_dump (const char * buffer, int base, int count)
{
  unsigned int i.0;
  unsigned int D.6150;
  unsigned char D.6153;
  int D.6154;
  int D.6155;
  sizetype D.6156;
  const char * D.6157;
  char D.6158;
  unsigned char D.6159;
  int D.6160;
  struct _IO_FILE * stdout.1;
  int show_header;
  int i;

  show_header = 1;
  if (count < 0) goto <D.6145>; else goto <D.6146>;
  <D.6145>:
  count = -count;
  show_header = 0;
  <D.6146>:
  i = 0;
  goto <D.6075>;
  <D.6074>:
  if (show_header != 0) goto <D.6147>; else goto <D.6148>;
  <D.6147>:
  i.0 = (unsigned int) i;
  D.6150 = i.0 & 15;
  if (D.6150 == 0) goto <D.6151>; else goto <D.6152>;
  <D.6151>:
  D.6153 = (unsigned char) base;
  D.6154 = (int) D.6153;
  D.6155 = D.6154 + i;
  printf ("\n0x%08X: ", D.6155);
  <D.6152>:
  <D.6148>:
  D.6156 = (sizetype) i;
  D.6157 = buffer + D.6156;
  D.6158 = *D.6157;
  D.6159 = (unsigned char) D.6158;
  D.6160 = (int) D.6159;
  printf ("%02X ", D.6160);
  i = i + 1;
  <D.6075>:
  if (i < count) goto <D.6074>; else goto <D.6076>;
  <D.6076>:
  stdout.1 = stdout;
  fflush (stdout.1);
}


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

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


data_dump (const char * data, int len, const char * prefix)
{
  char * D.6166;
  int D.6169;
  sizetype D.6170;
  const char * D.6171;
  char D.6172;
  unsigned char D.6173;
  int D.6174;
  const char[6] * iftmp.2;
  int D.6176;
  int iftmp.3;
  unsigned char D.6181;
  unsigned char D.6182;
  int D.6186;
  sizetype D.6191;
  const char * D.6192;
  char D.6193;
  unsigned char D.6194;
  int D.6195;
  int D.6198;
  int iftmp.4;
  unsigned char D.6200;
  unsigned char D.6201;
  int i;
  int j;
  struct GString * str;

  if (len == 0) goto <D.6164>; else goto <D.6165>;
  <D.6164>:
  D.6166 = monoeg_strdup (" ()\n");
  return D.6166;
  <D.6165>:
  str = monoeg_g_string_new (" (");
  i = 0;
  goto <D.6092>;
  <D.6091>:
  if (i == 0) goto <D.6167>; else goto <D.6168>;
  <D.6167>:
  monoeg_g_string_append_printf (str, "\n");
  <D.6168>:
  monoeg_g_string_append_printf (str, "%s", prefix);
  j = 0;
  goto <D.6086>;
  <D.6085>:
  D.6169 = i + j;
  D.6170 = (sizetype) D.6169;
  D.6171 = data + D.6170;
  D.6172 = *D.6171;
  D.6173 = (unsigned char) D.6172;
  D.6174 = (int) D.6173;
  monoeg_g_string_append_printf (str, "%02X ", D.6174);
  j = j + 1;
  <D.6086>:
  if (j <= 15) goto <D.6085>; else goto <D.6087>;
  <D.6087>:
  D.6176 = len + -16;
  if (D.6176 == i) goto <D.6177>; else goto <D.6178>;
  <D.6177>:
  iftmp.2 = ") // ";
  goto <D.6179>;
  <D.6178>:
  iftmp.2 = "  // ";
  <D.6179>:
  monoeg_g_string_append_printf (str, iftmp.2);
  j = 0;
  goto <D.6089>;
  <D.6088>:
  D.6169 = i + j;
  D.6170 = (sizetype) D.6169;
  D.6171 = data + D.6170;
  D.6172 = *D.6171;
  D.6181 = (unsigned char) D.6172;
  D.6182 = D.6181 + 224;
  if (D.6182 <= 94) goto <D.6183>; else goto <D.6184>;
  <D.6183>:
  D.6169 = i + j;
  D.6170 = (sizetype) D.6169;
  D.6171 = data + D.6170;
  D.6172 = *D.6171;
  iftmp.3 = (int) D.6172;
  goto <D.6185>;
  <D.6184>:
  iftmp.3 = 46;
  <D.6185>:
  monoeg_g_string_append_printf (str, "%c", iftmp.3);
  j = j + 1;
  <D.6089>:
  if (j <= 15) goto <D.6088>; else goto <D.6090>;
  <D.6090>:
  monoeg_g_string_append_printf (str, "\n");
  i = i + 16;
  <D.6092>:
  D.6186 = i + 15;
  if (D.6186 < len) goto <D.6091>; else goto <D.6093>;
  <D.6093>:
  if (i == len) goto <D.6187>; else goto <D.6188>;
  <D.6187>:
  D.6166 = monoeg_g_string_free (str, 0);
  return D.6166;
  <D.6188>:
  if (len > 16) goto <D.6189>; else goto <D.6190>;
  <D.6189>:
  monoeg_g_string_append_printf (str, "%s", prefix);
  <D.6190>:
  j = i;
  goto <D.6095>;
  <D.6094>:
  D.6191 = (sizetype) i;
  D.6192 = data + D.6191;
  D.6193 = *D.6192;
  D.6194 = (unsigned char) D.6193;
  D.6195 = (int) D.6194;
  monoeg_g_string_append_printf (str, "%02X ", D.6195);
  i = i + 1;
  <D.6095>:
  if (i < len) goto <D.6094>; else goto <D.6096>;
  <D.6096>:
  if (len > 16) goto <D.6196>; else goto <D.6197>;
  <D.6196>:
  {
    int count;

    D.6198 = len % 16;
    count = 16 - D.6198;
    i = 0;
    goto <D.6099>;
    <D.6098>:
    monoeg_g_string_append_printf (str, "   ");
    i = i + 1;
    <D.6099>:
    if (i < count) goto <D.6098>; else goto <D.6100>;
    <D.6100>:
  }
  <D.6197>:
  monoeg_g_string_append_printf (str, ") // ");
  i = j;
  goto <D.6102>;
  <D.6101>:
  D.6191 = (sizetype) i;
  D.6192 = data + D.6191;
  D.6193 = *D.6192;
  D.6200 = (unsigned char) D.6193;
  D.6201 = D.6200 + 224;
  if (D.6201 <= 94) goto <D.6202>; else goto <D.6203>;
  <D.6202>:
  D.6191 = (sizetype) i;
  D.6192 = data + D.6191;
  D.6193 = *D.6192;
  iftmp.4 = (int) D.6193;
  goto <D.6204>;
  <D.6203>:
  iftmp.4 = 46;
  <D.6204>:
  monoeg_g_string_append_printf (str, "%c", iftmp.4);
  i = i + 1;
  <D.6102>:
  if (i < len) goto <D.6101>; else goto <D.6103>;
  <D.6103>:
  monoeg_g_string_append_printf (str, "\n");
  D.6166 = monoeg_g_string_free (str, 0);
  return D.6166;
}


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

  if (str != 0B) goto <D.6206>; else goto <D.6207>;
  <D.6206>:
  D.6208 = __strdup (str);
  return D.6208;
  <D.6207>:
  D.6208 = 0B;
  return D.6208;
}


dis_isinf (double num)
{
  int D.6210;

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


dis_isnan (double num)
{
  int D.6212;

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


