mono_escape_uri_string (const gchar * string)
{
  unsigned int c.0;
  unsigned int D.4618;
  unsigned int D.4620;
  unsigned int D.4622;
  unsigned int D.4624;
  char D.4625;
  int D.4626;
  int D.4634;
  char D.4635;
  int D.4636;
  int D.4637;
  char D.4638;
  int D.4639;
  char D.4640;
  unsigned char D.4641;
  gchar * D.4642;
  struct GString * str;
  char * ret;
  int c;

  str = monoeg_g_string_new ("");
  goto <D.4611>;
  <D.4610>:
  c.0 = (unsigned int) c;
  D.4618 = c.0 + 4294967199;
  if (D.4618 <= 25) goto <D.4614>; else goto <D.4619>;
  <D.4619>:
  c.0 = (unsigned int) c;
  D.4620 = c.0 + 4294967231;
  if (D.4620 <= 25) goto <D.4614>; else goto <D.4621>;
  <D.4621>:
  c.0 = (unsigned int) c;
  D.4622 = c.0 + 4294967251;
  if (D.4622 <= 13) goto <D.4614>; else goto <D.4623>;
  <D.4623>:
  c.0 = (unsigned int) c;
  D.4624 = c.0 + 4294967258;
  if (D.4624 <= 4) goto <D.4614>; else goto <D.4615>;
  <D.4614>:
  D.4625 = (char) c;
  D.4626 = (int) D.4625;
  monoeg_g_string_append_c (str, D.4626);
  goto <D.4616>;
  <D.4615>:
  if (c == 33) goto <D.4627>; else goto <D.4630>;
  <D.4630>:
  if (c == 61) goto <D.4627>; else goto <D.4631>;
  <D.4631>:
  if (c == 63) goto <D.4627>; else goto <D.4632>;
  <D.4632>:
  if (c == 95) goto <D.4627>; else goto <D.4633>;
  <D.4633>:
  if (c == 126) goto <D.4627>; else goto <D.4628>;
  <D.4627>:
  D.4625 = (char) c;
  D.4626 = (int) D.4625;
  monoeg_g_string_append_c (str, D.4626);
  goto <D.4629>;
  <D.4628>:
  monoeg_g_string_append_c (str, 37);
  D.4634 = c >> 4;
  D.4635 = "0123456789ABCDEF"[D.4634];
  D.4636 = (int) D.4635;
  monoeg_g_string_append_c (str, D.4636);
  D.4637 = c & 15;
  D.4638 = "0123456789ABCDEF"[D.4637];
  D.4639 = (int) D.4638;
  monoeg_g_string_append_c (str, D.4639);
  <D.4629>:
  <D.4616>:
  string = string + 1;
  <D.4611>:
  D.4640 = *string;
  D.4641 = (unsigned char) D.4640;
  c = (int) D.4641;
  if (c != 0) goto <D.4610>; else goto <D.4612>;
  <D.4612>:
  ret = str->str;
  monoeg_g_string_free (str, 0);
  D.4642 = ret;
  return D.4642;
}


