mono_escape_uri_string (const gchar * string)
{
  unsigned int c.0;
  unsigned int D.4598;
  _Bool D.4599;
  unsigned int D.4600;
  _Bool D.4601;
  _Bool D.4602;
  unsigned int D.4604;
  unsigned int D.4606;
  char D.4607;
  int D.4608;
  _Bool D.4612;
  _Bool D.4613;
  _Bool D.4614;
  _Bool D.4616;
  _Bool D.4617;
  _Bool D.4618;
  _Bool D.4620;
  _Bool D.4621;
  int D.4622;
  char D.4623;
  int D.4624;
  int D.4625;
  char D.4626;
  int D.4627;
  char D.4628;
  unsigned char D.4629;
  gchar * D.4630;
  struct GString * str;
  char * ret;
  int c;

  str = monoeg_g_string_new ("");
  goto <D.4591>;
  <D.4590>:
  c.0 = (unsigned int) c;
  D.4598 = c.0 + 4294967199;
  D.4599 = D.4598 <= 25;
  c.0 = (unsigned int) c;
  D.4600 = c.0 + 4294967231;
  D.4601 = D.4600 <= 25;
  D.4602 = D.4599 | D.4601;
  if (D.4602 != 0) goto <D.4594>; else goto <D.4603>;
  <D.4603>:
  c.0 = (unsigned int) c;
  D.4604 = c.0 + 4294967251;
  if (D.4604 <= 13) goto <D.4594>; else goto <D.4605>;
  <D.4605>:
  c.0 = (unsigned int) c;
  D.4606 = c.0 + 4294967258;
  if (D.4606 <= 4) goto <D.4594>; else goto <D.4595>;
  <D.4594>:
  D.4607 = (char) c;
  D.4608 = (int) D.4607;
  monoeg_g_string_append_c (str, D.4608);
  goto <D.4596>;
  <D.4595>:
  D.4612 = c == 33;
  D.4613 = c == 61;
  D.4614 = D.4612 | D.4613;
  if (D.4614 != 0) goto <D.4609>; else goto <D.4615>;
  <D.4615>:
  D.4616 = c == 63;
  D.4617 = c == 95;
  D.4618 = D.4616 | D.4617;
  if (D.4618 != 0) goto <D.4609>; else goto <D.4619>;
  <D.4619>:
  D.4617 = c == 95;
  D.4620 = c == 126;
  D.4621 = D.4617 | D.4620;
  if (D.4621 != 0) goto <D.4609>; else goto <D.4610>;
  <D.4609>:
  D.4607 = (char) c;
  D.4608 = (int) D.4607;
  monoeg_g_string_append_c (str, D.4608);
  goto <D.4611>;
  <D.4610>:
  monoeg_g_string_append_c (str, 37);
  D.4622 = c >> 4;
  D.4623 = "0123456789ABCDEF"[D.4622];
  D.4624 = (int) D.4623;
  monoeg_g_string_append_c (str, D.4624);
  D.4625 = c & 15;
  D.4626 = "0123456789ABCDEF"[D.4625];
  D.4627 = (int) D.4626;
  monoeg_g_string_append_c (str, D.4627);
  <D.4611>:
  <D.4596>:
  string = string + 1;
  <D.4591>:
  D.4628 = *string;
  D.4629 = (unsigned char) D.4628;
  c = (int) D.4629;
  if (c != 0) goto <D.4590>; else goto <D.4592>;
  <D.4592>:
  ret = str->str;
  monoeg_g_string_free (str, 0);
  D.4630 = ret;
  return D.4630;
}


