mono_arch_get_restore_context (struct MonoTrampInfo * * info, gboolean aot)
{
  void * code.0;
  guint8 * code.1;
  guint8 * code.2;
  guint8 * code.3;
  guint8 * code.4;
  guint8 * code.5;
  guint8 * code.6;
  guint8 * code.7;
  guint8 * code.8;
  guint8 * code.9;
  guint8 * code.10;
  guint8 * code.11;
  guint8 * code.12;
  guint8 * code.13;
  guint8 * code.14;
  guint8 * code.15;
  guint8 * code.16;
  guint8 * code.17;
  guint8 * code.18;
  guint8 * code.19;
  guint8 * code.20;
  guint8 * code.21;
  guint8 * code.22;
  unsigned char D.22910;
  guint8 * code.23;
  guint8 * code.24;
  unsigned char D.22913;
  guint8 * code.25;
  guint8 * code.26;
  unsigned char D.22916;
  guint8 * code.27;
  guint8 * code.28;
  unsigned char D.22919;
  guint8 * code.29;
  guint8 * code.30;
  guint8 * code.31;
  guint8 * code.32;
  guint8 * code.33;
  guint8 * code.34;
  guint8 * code.35;
  guint8 * code.36;
  unsigned char D.22933;
  guint8 * code.37;
  guint8 * code.38;
  unsigned char D.22936;
  guint8 * code.39;
  guint8 * code.40;
  unsigned char D.22939;
  guint8 * code.41;
  guint8 * code.42;
  unsigned char D.22942;
  guint8 * code.43;
  guint8 * code.44;
  guint8 * code.45;
  guint8 * code.46;
  guint8 * code.47;
  guint8 * code.48;
  guint8 * code.49;
  guint8 * code.50;
  guint8 * code.51;
  guint8 * code.52;
  guint8 * code.53;
  guint8 * code.54;
  guint8 * code.55;
  guint8 * code.56;
  guint8 * code.57;
  guint8 * code.58;
  guint8 * code.59;
  guint8 * code.60;
  guint8 * code.61;
  guint8 * code.62;
  unsigned char D.22971;
  guint8 * code.63;
  guint8 * code.64;
  unsigned char D.22974;
  guint8 * code.65;
  guint8 * code.66;
  unsigned char D.22977;
  guint8 * code.67;
  guint8 * code.68;
  unsigned char D.22980;
  guint8 * code.69;
  guint8 * code.70;
  guint8 * code.71;
  guint8 * code.72;
  guint8 * code.73;
  guint8 * code.74;
  guint8 * code.75;
  guint8 * code.76;
  unsigned char D.22994;
  guint8 * code.77;
  guint8 * code.78;
  unsigned char D.22997;
  guint8 * code.79;
  guint8 * code.80;
  unsigned char D.23000;
  guint8 * code.81;
  guint8 * code.82;
  unsigned char D.23003;
  guint8 * code.83;
  guint8 * code.84;
  guint8 * code.85;
  guint8 * code.86;
  guint8 * code.87;
  guint8 * code.88;
  guint8 * code.89;
  guint8 * code.90;
  guint8 * code.91;
  guint8 * code.92;
  guint8 * code.93;
  guint8 * code.94;
  guint8 * code.95;
  guint8 * code.96;
  guint8 * code.97;
  guint8 * code.98;
  guint8 * code.99;
  guint8 * code.100;
  guint8 * code.101;
  guint8 * code.102;
  unsigned char D.23032;
  guint8 * code.103;
  guint8 * code.104;
  unsigned char D.23035;
  guint8 * code.105;
  guint8 * code.106;
  unsigned char D.23038;
  guint8 * code.107;
  guint8 * code.108;
  unsigned char D.23041;
  guint8 * code.109;
  guint8 * code.110;
  guint8 * code.111;
  guint8 * code.112;
  guint8 * code.113;
  guint8 * code.114;
  guint8 * code.115;
  guint8 * code.116;
  unsigned char D.23055;
  guint8 * code.117;
  guint8 * code.118;
  unsigned char D.23058;
  guint8 * code.119;
  guint8 * code.120;
  unsigned char D.23061;
  guint8 * code.121;
  guint8 * code.122;
  unsigned char D.23064;
  guint8 * code.123;
  guint8 * code.124;
  guint8 * code.125;
  guint8 * code.126;
  guint8 * code.127;
  guint8 * code.128;
  guint8 * code.129;
  guint8 * code.130;
  guint8 * code.131;
  guint8 * code.132;
  guint8 * code.133;
  guint8 * code.134;
  guint8 * code.135;
  guint8 * code.136;
  guint8 * code.137;
  guint8 * code.138;
  guint8 * code.139;
  guint8 * code.140;
  guint8 * code.141;
  guint8 * code.142;
  unsigned char D.23093;
  guint8 * code.143;
  guint8 * code.144;
  unsigned char D.23096;
  guint8 * code.145;
  guint8 * code.146;
  unsigned char D.23099;
  guint8 * code.147;
  guint8 * code.148;
  unsigned char D.23102;
  guint8 * code.149;
  guint8 * code.150;
  guint8 * code.151;
  guint8 * code.152;
  guint8 * code.153;
  guint8 * code.154;
  guint8 * code.155;
  guint8 * code.156;
  unsigned char D.23116;
  guint8 * code.157;
  guint8 * code.158;
  unsigned char D.23119;
  guint8 * code.159;
  guint8 * code.160;
  unsigned char D.23122;
  guint8 * code.161;
  guint8 * code.162;
  unsigned char D.23125;
  guint8 * code.163;
  guint8 * code.164;
  guint8 * code.165;
  guint8 * code.166;
  guint8 * code.167;
  guint8 * code.168;
  guint8 * code.169;
  guint8 * code.170;
  guint8 * code.171;
  guint8 * code.172;
  guint8 * code.173;
  guint8 * code.174;
  guint8 * code.175;
  guint8 * code.176;
  guint8 * code.177;
  guint8 * code.178;
  guint8 * code.179;
  guint8 * code.180;
  guint8 * code.181;
  guint8 * code.182;
  unsigned char D.23154;
  guint8 * code.183;
  guint8 * code.184;
  unsigned char D.23157;
  guint8 * code.185;
  guint8 * code.186;
  unsigned char D.23160;
  guint8 * code.187;
  guint8 * code.188;
  unsigned char D.23163;
  guint8 * code.189;
  guint8 * code.190;
  guint8 * code.191;
  guint8 * code.192;
  guint8 * code.193;
  guint8 * code.194;
  guint8 * code.195;
  guint8 * code.196;
  unsigned char D.23177;
  guint8 * code.197;
  guint8 * code.198;
  unsigned char D.23180;
  guint8 * code.199;
  guint8 * code.200;
  unsigned char D.23183;
  guint8 * code.201;
  guint8 * code.202;
  unsigned char D.23186;
  guint8 * code.203;
  guint8 * code.204;
  guint8 * code.205;
  guint8 * code.206;
  guint8 * code.207;
  guint8 * code.208;
  guint8 * code.209;
  guint8 * code.210;
  guint8 * code.211;
  guint8 * code.212;
  guint8 * code.213;
  guint8 * code.214;
  guint8 * code.215;
  guint8 * code.216;
  guint8 * code.217;
  guint8 * code.218;
  guint8 * code.219;
  guint8 * code.220;
  guint8 * code.221;
  guint8 * code.222;
  unsigned char D.23215;
  guint8 * code.223;
  guint8 * code.224;
  unsigned char D.23218;
  guint8 * code.225;
  guint8 * code.226;
  unsigned char D.23221;
  guint8 * code.227;
  guint8 * code.228;
  unsigned char D.23224;
  guint8 * code.229;
  guint8 * code.230;
  guint8 * code.231;
  guint8 * code.232;
  guint8 * code.233;
  guint8 * code.234;
  guint8 * code.235;
  guint8 * code.236;
  unsigned char D.23238;
  guint8 * code.237;
  guint8 * code.238;
  unsigned char D.23241;
  guint8 * code.239;
  guint8 * code.240;
  unsigned char D.23244;
  guint8 * code.241;
  guint8 * code.242;
  unsigned char D.23247;
  guint8 * code.243;
  guint8 * code.244;
  guint8 * code.245;
  guint8 * code.246;
  guint8 * code.247;
  guint8 * code.248;
  guint8 * code.249;
  guint8 * code.250;
  guint8 * code.251;
  guint8 * code.252;
  guint8 * code.253;
  guint8 * code.254;
  guint8 * code.255;
  guint8 * code.256;
  guint8 * code.257;
  guint8 * code.258;
  guint8 * code.259;
  guint8 * code.260;
  guint8 * code.261;
  guint8 * code.262;
  unsigned char D.23276;
  guint8 * code.263;
  guint8 * code.264;
  unsigned char D.23279;
  guint8 * code.265;
  guint8 * code.266;
  unsigned char D.23282;
  guint8 * code.267;
  guint8 * code.268;
  unsigned char D.23285;
  guint8 * code.269;
  guint8 * code.270;
  guint8 * code.271;
  guint8 * code.272;
  guint8 * code.273;
  guint8 * code.274;
  guint8 * code.275;
  guint8 * code.276;
  unsigned char D.23299;
  guint8 * code.277;
  guint8 * code.278;
  unsigned char D.23302;
  guint8 * code.279;
  guint8 * code.280;
  unsigned char D.23305;
  guint8 * code.281;
  guint8 * code.282;
  unsigned char D.23308;
  guint8 * code.283;
  guint8 * code.284;
  guint8 * code.285;
  guint8 * code.286;
  guint8 * code.287;
  guint8 * code.288;
  guint8 * code.289;
  guint8 * code.290;
  guint8 * code.291;
  guint8 * code.292;
  guint8 * code.293;
  guint8 * code.294;
  guint8 * code.295;
  guint8 * code.296;
  guint8 * code.297;
  guint8 * code.298;
  guint8 * code.299;
  guint8 * code.300;
  guint8 * code.301;
  guint8 * code.302;
  unsigned char D.23337;
  guint8 * code.303;
  guint8 * code.304;
  unsigned char D.23340;
  guint8 * code.305;
  guint8 * code.306;
  unsigned char D.23343;
  guint8 * code.307;
  guint8 * code.308;
  unsigned char D.23346;
  guint8 * code.309;
  guint8 * code.310;
  guint8 * code.311;
  guint8 * code.312;
  guint8 * code.313;
  guint8 * code.314;
  guint8 * code.315;
  guint8 * code.316;
  unsigned char D.23360;
  guint8 * code.317;
  guint8 * code.318;
  unsigned char D.23363;
  guint8 * code.319;
  guint8 * code.320;
  unsigned char D.23366;
  guint8 * code.321;
  guint8 * code.322;
  unsigned char D.23369;
  guint8 * code.323;
  guint8 * code.324;
  guint8 * code.325;
  guint8 * code.326;
  guint8 * code.327;
  guint8 * code.328;
  guint8 * code.329;
  guint8 * code.330;
  guint8 * code.331;
  guint8 * code.332;
  guint8 * code.333;
  guint8 * code.334;
  guint8 * code.335;
  guint8 * code.336;
  guint8 * code.337;
  guint8 * code.338;
  guint8 * code.339;
  guint8 * code.340;
  guint8 * code.341;
  guint8 * code.342;
  unsigned char D.23398;
  guint8 * code.343;
  guint8 * code.344;
  unsigned char D.23401;
  guint8 * code.345;
  guint8 * code.346;
  unsigned char D.23404;
  guint8 * code.347;
  guint8 * code.348;
  unsigned char D.23407;
  guint8 * code.349;
  guint8 * code.350;
  guint8 * code.351;
  guint8 * code.352;
  guint8 * code.353;
  guint8 * code.354;
  guint8 * code.355;
  guint8 * code.356;
  unsigned char D.23421;
  guint8 * code.357;
  guint8 * code.358;
  unsigned char D.23424;
  guint8 * code.359;
  guint8 * code.360;
  unsigned char D.23427;
  guint8 * code.361;
  guint8 * code.362;
  unsigned char D.23430;
  guint8 * code.363;
  guint8 * code.364;
  guint8 * code.365;
  guint8 * code.366;
  guint8 * code.367;
  guint8 * code.368;
  guint8 * code.369;
  guint8 * code.370;
  guint8 * code.371;
  guint8 * code.372;
  guint8 * code.373;
  guint8 * code.374;
  guint8 * code.375;
  guint8 * code.376;
  guint8 * code.377;
  guint8 * code.378;
  guint8 * code.379;
  guint8 * code.380;
  guint8 * code.381;
  guint8 * code.382;
  unsigned char D.23459;
  guint8 * code.383;
  guint8 * code.384;
  unsigned char D.23462;
  guint8 * code.385;
  guint8 * code.386;
  unsigned char D.23465;
  guint8 * code.387;
  guint8 * code.388;
  unsigned char D.23468;
  guint8 * code.389;
  guint8 * code.390;
  guint8 * code.391;
  guint8 * code.392;
  guint8 * code.393;
  guint8 * code.394;
  guint8 * code.395;
  guint8 * code.396;
  unsigned char D.23482;
  guint8 * code.397;
  guint8 * code.398;
  unsigned char D.23485;
  guint8 * code.399;
  guint8 * code.400;
  unsigned char D.23488;
  guint8 * code.401;
  guint8 * code.402;
  unsigned char D.23491;
  guint8 * code.403;
  guint8 * code.404;
  guint8 * code.405;
  guint8 * code.406;
  guint8 * code.407;
  guint8 * code.408;
  guint8 * code.409;
  guint8 * code.410;
  guint8 * code.411;
  guint8 * code.412;
  guint8 * code.413;
  guint8 * code.414;
  guint8 * code.415;
  guint8 * code.416;
  guint8 * code.417;
  guint8 * code.418;
  guint8 * code.419;
  guint8 * code.420;
  guint8 * code.421;
  guint8 * code.422;
  unsigned char D.23520;
  guint8 * code.423;
  guint8 * code.424;
  unsigned char D.23523;
  guint8 * code.425;
  guint8 * code.426;
  unsigned char D.23526;
  guint8 * code.427;
  guint8 * code.428;
  unsigned char D.23529;
  guint8 * code.429;
  guint8 * code.430;
  guint8 * code.431;
  guint8 * code.432;
  guint8 * code.433;
  guint8 * code.434;
  guint8 * code.435;
  guint8 * code.436;
  unsigned char D.23543;
  guint8 * code.437;
  guint8 * code.438;
  unsigned char D.23546;
  guint8 * code.439;
  guint8 * code.440;
  unsigned char D.23549;
  guint8 * code.441;
  guint8 * code.442;
  unsigned char D.23552;
  guint8 * code.443;
  guint8 * code.444;
  guint8 * code.445;
  guint8 * code.446;
  guint8 * code.447;
  guint8 * code.448;
  guint8 * code.449;
  guint8 * code.450;
  guint8 * code.451;
  guint8 * code.452;
  guint8 * code.453;
  guint8 * code.454;
  guint8 * code.455;
  guint8 * code.456;
  guint8 * code.457;
  guint8 * code.458;
  guint8 * code.459;
  guint8 * code.460;
  guint8 * code.461;
  guint8 * code.462;
  unsigned char D.23581;
  guint8 * code.463;
  guint8 * code.464;
  unsigned char D.23584;
  guint8 * code.465;
  guint8 * code.466;
  unsigned char D.23587;
  guint8 * code.467;
  guint8 * code.468;
  unsigned char D.23590;
  guint8 * code.469;
  guint8 * code.470;
  guint8 * code.471;
  guint8 * code.472;
  guint8 * code.473;
  guint8 * code.474;
  guint8 * code.475;
  guint8 * code.476;
  unsigned char D.23604;
  guint8 * code.477;
  guint8 * code.478;
  unsigned char D.23607;
  guint8 * code.479;
  guint8 * code.480;
  unsigned char D.23610;
  guint8 * code.481;
  guint8 * code.482;
  unsigned char D.23613;
  guint8 * code.483;
  guint8 * code.484;
  guint8 * code.485;
  guint8 * code.486;
  guint8 * code.487;
  guint8 * code.488;
  guint8 * code.489;
  guint8 * code.490;
  guint8 * code.491;
  guint8 * code.492;
  guint8 * code.493;
  guint8 * code.494;
  guint8 * code.495;
  guint8 * code.496;
  guint8 * code.497;
  guint8 * code.498;
  guint8 * code.499;
  guint8 * code.500;
  guint8 * code.501;
  guint8 * code.502;
  unsigned char D.23642;
  guint8 * code.503;
  guint8 * code.504;
  unsigned char D.23645;
  guint8 * code.505;
  guint8 * code.506;
  unsigned char D.23648;
  guint8 * code.507;
  guint8 * code.508;
  unsigned char D.23651;
  guint8 * code.509;
  guint8 * code.510;
  guint8 * code.511;
  guint8 * code.512;
  guint8 * code.513;
  guint8 * code.514;
  guint8 * code.515;
  guint8 * code.516;
  unsigned char D.23665;
  guint8 * code.517;
  guint8 * code.518;
  unsigned char D.23668;
  guint8 * code.519;
  guint8 * code.520;
  unsigned char D.23671;
  guint8 * code.521;
  guint8 * code.522;
  unsigned char D.23674;
  guint8 * code.523;
  guint8 * code.524;
  guint8 * code.525;
  guint8 * code.526;
  guint8 * code.527;
  guint8 * code.528;
  guint8 * code.529;
  guint8 * code.530;
  guint8 * code.531;
  guint8 * code.532;
  guint8 * code.533;
  guint8 * code.534;
  guint8 * code.535;
  guint8 * code.536;
  guint8 * code.537;
  guint8 * code.538;
  unsigned char D.23699;
  guint8 * code.539;
  guint8 * code.540;
  unsigned char D.23702;
  guint8 * code.541;
  guint8 * code.542;
  unsigned char D.23705;
  guint8 * code.543;
  guint8 * code.544;
  unsigned char D.23708;
  guint8 * code.545;
  guint8 * code.546;
  guint8 * code.547;
  guint8 * code.548;
  guint8 * code.549;
  guint8 * code.550;
  guint8 * code.551;
  guint8 * code.552;
  unsigned char D.23722;
  guint8 * code.553;
  guint8 * code.554;
  unsigned char D.23725;
  guint8 * code.555;
  guint8 * code.556;
  unsigned char D.23728;
  guint8 * code.557;
  guint8 * code.558;
  unsigned char D.23731;
  guint8 * code.559;
  guint8 * code.560;
  guint8 * code.561;
  guint8 * code.562;
  guint8 * code.563;
  guint8 * code.564;
  int code.565;
  guint8 * start.566;
  int start.567;
  int D.23743;
  unsigned int D.23744;
  struct MonoTrampInfo * D.23745;
  void * D.23747;
  void * D.23748;
  guint8 * start;
  guint8 * code;
  struct MonoJumpInfo * ji;
  struct GSList * unwind_ops;
  static const char __PRETTY_FUNCTION__[30] = "mono_arch_get_restore_context";

  try
    {
      start = 0B;
      ji = 0B;
      unwind_ops = 0B;
      code.0 = mono_global_codeman_reserve (128);
      code = code.0;
      code.1 = code;
      start = code.1;
      switch (4) <default: <D.22328>, case 1: <D.22324>, case 2: <D.22326>, case 4: <D.22327>>
      <D.22324>:
      code.1 = code;
      code.2 = code.1;
      code.3 = code.2 + 1;
      code = code.3;
      *code.2 = 138;
      goto <D.22325>;
      <D.22326>:
      code.1 = code;
      code.4 = code.1;
      code.5 = code.4 + 1;
      code = code.5;
      *code.4 = 102;
      <D.22327>:
      code.1 = code;
      code.6 = code.1;
      code.7 = code.6 + 1;
      code = code.7;
      *code.6 = 139;
      goto <D.22325>;
      <D.22328>:
      __assert_fail ("0", "exceptions-x86.c", 321, &__PRETTY_FUNCTION__);
      <D.22325>:
      if (1 != 0) goto <D.22887>; else goto <D.22888>;
      <D.22887>:
      if (0 != 0) goto <D.22889>; else goto <D.22890>;
      <D.22889>:
      code.1 = code;
      code.8 = code.1;
      code.9 = code.8 + 1;
      code = code.9;
      *code.8 = 4;
      code.1 = code;
      code.10 = code.1;
      code.11 = code.10 + 1;
      code = code.11;
      *code.10 = 36;
      goto <D.22895>;
      <D.22890>:
      if (1 != 0) goto <D.22896>; else goto <D.22897>;
      <D.22896>:
      code.1 = code;
      code.12 = code.1;
      code.13 = code.12 + 1;
      code = code.13;
      *code.12 = 68;
      code.1 = code;
      code.14 = code.1;
      code.15 = code.14 + 1;
      code = code.15;
      *code.14 = 36;
      code.1 = code;
      *code.1 = 4;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.22903>;
      <D.22897>:
      code.1 = code;
      code.17 = code.1;
      code.18 = code.17 + 1;
      code = code.18;
      *code.17 = 132;
      code.1 = code;
      code.19 = code.1;
      code.20 = code.19 + 1;
      code = code.20;
      *code.19 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 4;
            code.1 = code;
            code.21 = code.1;
            code.22 = code.21 + 1;
            code = code.22;
            D.22910 = imb.b[0];
            *code.21 = D.22910;
            code.1 = code;
            code.23 = code.1;
            code.24 = code.23 + 1;
            code = code.24;
            D.22913 = imb.b[1];
            *code.23 = D.22913;
            code.1 = code;
            code.25 = code.1;
            code.26 = code.25 + 1;
            code = code.26;
            D.22916 = imb.b[2];
            *code.25 = D.22916;
            code.1 = code;
            code.27 = code.1;
            code.28 = code.27 + 1;
            code = code.28;
            D.22919 = imb.b[3];
            *code.27 = D.22919;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.22903>:
      <D.22895>:
      goto <D.22331>;
      <D.22888>:
      if (0 != 0) goto <D.22920>; else goto <D.22921>;
      <D.22920>:
      code.1 = code;
      code.29 = code.1;
      code.30 = code.29 + 1;
      code = code.30;
      *code.29 = 4;
      goto <D.22331>;
      <D.22921>:
      if (1 != 0) goto <D.22924>; else goto <D.22925>;
      <D.22924>:
      code.1 = code;
      code.31 = code.1;
      code.32 = code.31 + 1;
      code = code.32;
      *code.31 = 68;
      code.1 = code;
      *code.1 = 4;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.22928>;
      <D.22925>:
      code.1 = code;
      code.33 = code.1;
      code.34 = code.33 + 1;
      code = code.34;
      *code.33 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 4;
            code.1 = code;
            code.35 = code.1;
            code.36 = code.35 + 1;
            code = code.36;
            D.22933 = imb.b[0];
            *code.35 = D.22933;
            code.1 = code;
            code.37 = code.1;
            code.38 = code.37 + 1;
            code = code.38;
            D.22936 = imb.b[1];
            *code.37 = D.22936;
            code.1 = code;
            code.39 = code.1;
            code.40 = code.39 + 1;
            code = code.40;
            D.22939 = imb.b[2];
            *code.39 = D.22939;
            code.1 = code;
            code.41 = code.1;
            code.42 = code.41 + 1;
            code = code.42;
            D.22942 = imb.b[3];
            *code.41 = D.22942;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.22928>:
      <D.22331>:
      switch (4) <default: <D.22337>, case 1: <D.22333>, case 2: <D.22335>, case 4: <D.22336>>
      <D.22333>:
      code.1 = code;
      code.43 = code.1;
      code.44 = code.43 + 1;
      code = code.44;
      *code.43 = 138;
      goto <D.22334>;
      <D.22335>:
      code.1 = code;
      code.45 = code.1;
      code.46 = code.45 + 1;
      code = code.46;
      *code.45 = 102;
      <D.22336>:
      code.1 = code;
      code.47 = code.1;
      code.48 = code.47 + 1;
      code = code.48;
      *code.47 = 139;
      goto <D.22334>;
      <D.22337>:
      __assert_fail ("0", "exceptions-x86.c", 324, &__PRETTY_FUNCTION__);
      <D.22334>:
      if (0 != 0) goto <D.22949>; else goto <D.22950>;
      <D.22949>:
      if (0 != 0) goto <D.22951>; else goto <D.22952>;
      <D.22951>:
      code.1 = code;
      code.49 = code.1;
      code.50 = code.49 + 1;
      code = code.50;
      *code.49 = 28;
      code.1 = code;
      code.51 = code.1;
      code.52 = code.51 + 1;
      code = code.52;
      *code.51 = 36;
      goto <D.22957>;
      <D.22952>:
      if (1 != 0) goto <D.22958>; else goto <D.22959>;
      <D.22958>:
      code.1 = code;
      code.53 = code.1;
      code.54 = code.53 + 1;
      code = code.54;
      *code.53 = 92;
      code.1 = code;
      code.55 = code.1;
      code.56 = code.55 + 1;
      code = code.56;
      *code.55 = 36;
      code.1 = code;
      *code.1 = 4;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.22964>;
      <D.22959>:
      code.1 = code;
      code.57 = code.1;
      code.58 = code.57 + 1;
      code = code.58;
      *code.57 = 156;
      code.1 = code;
      code.59 = code.1;
      code.60 = code.59 + 1;
      code = code.60;
      *code.59 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 4;
            code.1 = code;
            code.61 = code.1;
            code.62 = code.61 + 1;
            code = code.62;
            D.22971 = imb.b[0];
            *code.61 = D.22971;
            code.1 = code;
            code.63 = code.1;
            code.64 = code.63 + 1;
            code = code.64;
            D.22974 = imb.b[1];
            *code.63 = D.22974;
            code.1 = code;
            code.65 = code.1;
            code.66 = code.65 + 1;
            code = code.66;
            D.22977 = imb.b[2];
            *code.65 = D.22977;
            code.1 = code;
            code.67 = code.1;
            code.68 = code.67 + 1;
            code = code.68;
            D.22980 = imb.b[3];
            *code.67 = D.22980;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.22964>:
      <D.22957>:
      goto <D.22339>;
      <D.22950>:
      if (0 != 0) goto <D.22981>; else goto <D.22982>;
      <D.22981>:
      code.1 = code;
      code.69 = code.1;
      code.70 = code.69 + 1;
      code = code.70;
      *code.69 = 24;
      goto <D.22339>;
      <D.22982>:
      if (1 != 0) goto <D.22985>; else goto <D.22986>;
      <D.22985>:
      code.1 = code;
      code.71 = code.1;
      code.72 = code.71 + 1;
      code = code.72;
      *code.71 = 88;
      code.1 = code;
      *code.1 = 4;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.22989>;
      <D.22986>:
      code.1 = code;
      code.73 = code.1;
      code.74 = code.73 + 1;
      code = code.74;
      *code.73 = 152;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 4;
            code.1 = code;
            code.75 = code.1;
            code.76 = code.75 + 1;
            code = code.76;
            D.22994 = imb.b[0];
            *code.75 = D.22994;
            code.1 = code;
            code.77 = code.1;
            code.78 = code.77 + 1;
            code = code.78;
            D.22997 = imb.b[1];
            *code.77 = D.22997;
            code.1 = code;
            code.79 = code.1;
            code.80 = code.79 + 1;
            code = code.80;
            D.23000 = imb.b[2];
            *code.79 = D.23000;
            code.1 = code;
            code.81 = code.1;
            code.82 = code.81 + 1;
            code = code.82;
            D.23003 = imb.b[3];
            *code.81 = D.23003;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.22989>:
      <D.22339>:
      switch (4) <default: <D.22345>, case 1: <D.22341>, case 2: <D.22343>, case 4: <D.22344>>
      <D.22341>:
      code.1 = code;
      code.83 = code.1;
      code.84 = code.83 + 1;
      code = code.84;
      *code.83 = 138;
      goto <D.22342>;
      <D.22343>:
      code.1 = code;
      code.85 = code.1;
      code.86 = code.85 + 1;
      code = code.86;
      *code.85 = 102;
      <D.22344>:
      code.1 = code;
      code.87 = code.1;
      code.88 = code.87 + 1;
      code = code.88;
      *code.87 = 139;
      goto <D.22342>;
      <D.22345>:
      __assert_fail ("0", "exceptions-x86.c", 327, &__PRETTY_FUNCTION__);
      <D.22342>:
      if (0 != 0) goto <D.23010>; else goto <D.23011>;
      <D.23010>:
      if (0 != 0) goto <D.23012>; else goto <D.23013>;
      <D.23012>:
      code.1 = code;
      code.89 = code.1;
      code.90 = code.89 + 1;
      code = code.90;
      *code.89 = 60;
      code.1 = code;
      code.91 = code.1;
      code.92 = code.91 + 1;
      code = code.92;
      *code.91 = 36;
      goto <D.23018>;
      <D.23013>:
      if (1 != 0) goto <D.23019>; else goto <D.23020>;
      <D.23019>:
      code.1 = code;
      code.93 = code.1;
      code.94 = code.93 + 1;
      code = code.94;
      *code.93 = 124;
      code.1 = code;
      code.95 = code.1;
      code.96 = code.95 + 1;
      code = code.96;
      *code.95 = 36;
      code.1 = code;
      *code.1 = 28;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23025>;
      <D.23020>:
      code.1 = code;
      code.97 = code.1;
      code.98 = code.97 + 1;
      code = code.98;
      *code.97 = 188;
      code.1 = code;
      code.99 = code.1;
      code.100 = code.99 + 1;
      code = code.100;
      *code.99 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 28;
            code.1 = code;
            code.101 = code.1;
            code.102 = code.101 + 1;
            code = code.102;
            D.23032 = imb.b[0];
            *code.101 = D.23032;
            code.1 = code;
            code.103 = code.1;
            code.104 = code.103 + 1;
            code = code.104;
            D.23035 = imb.b[1];
            *code.103 = D.23035;
            code.1 = code;
            code.105 = code.1;
            code.106 = code.105 + 1;
            code = code.106;
            D.23038 = imb.b[2];
            *code.105 = D.23038;
            code.1 = code;
            code.107 = code.1;
            code.108 = code.107 + 1;
            code = code.108;
            D.23041 = imb.b[3];
            *code.107 = D.23041;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23025>:
      <D.23018>:
      goto <D.22347>;
      <D.23011>:
      if (0 != 0) goto <D.23042>; else goto <D.23043>;
      <D.23042>:
      code.1 = code;
      code.109 = code.1;
      code.110 = code.109 + 1;
      code = code.110;
      *code.109 = 56;
      goto <D.22347>;
      <D.23043>:
      if (1 != 0) goto <D.23046>; else goto <D.23047>;
      <D.23046>:
      code.1 = code;
      code.111 = code.1;
      code.112 = code.111 + 1;
      code = code.112;
      *code.111 = 120;
      code.1 = code;
      *code.1 = 28;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23050>;
      <D.23047>:
      code.1 = code;
      code.113 = code.1;
      code.114 = code.113 + 1;
      code = code.114;
      *code.113 = 184;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 28;
            code.1 = code;
            code.115 = code.1;
            code.116 = code.115 + 1;
            code = code.116;
            D.23055 = imb.b[0];
            *code.115 = D.23055;
            code.1 = code;
            code.117 = code.1;
            code.118 = code.117 + 1;
            code = code.118;
            D.23058 = imb.b[1];
            *code.117 = D.23058;
            code.1 = code;
            code.119 = code.1;
            code.120 = code.119 + 1;
            code = code.120;
            D.23061 = imb.b[2];
            *code.119 = D.23061;
            code.1 = code;
            code.121 = code.1;
            code.122 = code.121 + 1;
            code = code.122;
            D.23064 = imb.b[3];
            *code.121 = D.23064;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23050>:
      <D.22347>:
      switch (4) <default: <D.22353>, case 1: <D.22349>, case 2: <D.22351>, case 4: <D.22352>>
      <D.22349>:
      code.1 = code;
      code.123 = code.1;
      code.124 = code.123 + 1;
      code = code.124;
      *code.123 = 138;
      goto <D.22350>;
      <D.22351>:
      code.1 = code;
      code.125 = code.1;
      code.126 = code.125 + 1;
      code = code.126;
      *code.125 = 102;
      <D.22352>:
      code.1 = code;
      code.127 = code.1;
      code.128 = code.127 + 1;
      code = code.128;
      *code.127 = 139;
      goto <D.22350>;
      <D.22353>:
      __assert_fail ("0", "exceptions-x86.c", 330, &__PRETTY_FUNCTION__);
      <D.22350>:
      if (0 != 0) goto <D.23071>; else goto <D.23072>;
      <D.23071>:
      if (0 != 0) goto <D.23073>; else goto <D.23074>;
      <D.23073>:
      code.1 = code;
      code.129 = code.1;
      code.130 = code.129 + 1;
      code = code.130;
      *code.129 = 52;
      code.1 = code;
      code.131 = code.1;
      code.132 = code.131 + 1;
      code = code.132;
      *code.131 = 36;
      goto <D.23079>;
      <D.23074>:
      if (1 != 0) goto <D.23080>; else goto <D.23081>;
      <D.23080>:
      code.1 = code;
      code.133 = code.1;
      code.134 = code.133 + 1;
      code = code.134;
      *code.133 = 116;
      code.1 = code;
      code.135 = code.1;
      code.136 = code.135 + 1;
      code = code.136;
      *code.135 = 36;
      code.1 = code;
      *code.1 = 24;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23086>;
      <D.23081>:
      code.1 = code;
      code.137 = code.1;
      code.138 = code.137 + 1;
      code = code.138;
      *code.137 = 180;
      code.1 = code;
      code.139 = code.1;
      code.140 = code.139 + 1;
      code = code.140;
      *code.139 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 24;
            code.1 = code;
            code.141 = code.1;
            code.142 = code.141 + 1;
            code = code.142;
            D.23093 = imb.b[0];
            *code.141 = D.23093;
            code.1 = code;
            code.143 = code.1;
            code.144 = code.143 + 1;
            code = code.144;
            D.23096 = imb.b[1];
            *code.143 = D.23096;
            code.1 = code;
            code.145 = code.1;
            code.146 = code.145 + 1;
            code = code.146;
            D.23099 = imb.b[2];
            *code.145 = D.23099;
            code.1 = code;
            code.147 = code.1;
            code.148 = code.147 + 1;
            code = code.148;
            D.23102 = imb.b[3];
            *code.147 = D.23102;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23086>:
      <D.23079>:
      goto <D.22355>;
      <D.23072>:
      if (0 != 0) goto <D.23103>; else goto <D.23104>;
      <D.23103>:
      code.1 = code;
      code.149 = code.1;
      code.150 = code.149 + 1;
      code = code.150;
      *code.149 = 48;
      goto <D.22355>;
      <D.23104>:
      if (1 != 0) goto <D.23107>; else goto <D.23108>;
      <D.23107>:
      code.1 = code;
      code.151 = code.1;
      code.152 = code.151 + 1;
      code = code.152;
      *code.151 = 112;
      code.1 = code;
      *code.1 = 24;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23111>;
      <D.23108>:
      code.1 = code;
      code.153 = code.1;
      code.154 = code.153 + 1;
      code = code.154;
      *code.153 = 176;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 24;
            code.1 = code;
            code.155 = code.1;
            code.156 = code.155 + 1;
            code = code.156;
            D.23116 = imb.b[0];
            *code.155 = D.23116;
            code.1 = code;
            code.157 = code.1;
            code.158 = code.157 + 1;
            code = code.158;
            D.23119 = imb.b[1];
            *code.157 = D.23119;
            code.1 = code;
            code.159 = code.1;
            code.160 = code.159 + 1;
            code = code.160;
            D.23122 = imb.b[2];
            *code.159 = D.23122;
            code.1 = code;
            code.161 = code.1;
            code.162 = code.161 + 1;
            code = code.162;
            D.23125 = imb.b[3];
            *code.161 = D.23125;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23111>:
      <D.22355>:
      switch (4) <default: <D.22361>, case 1: <D.22357>, case 2: <D.22359>, case 4: <D.22360>>
      <D.22357>:
      code.1 = code;
      code.163 = code.1;
      code.164 = code.163 + 1;
      code = code.164;
      *code.163 = 138;
      goto <D.22358>;
      <D.22359>:
      code.1 = code;
      code.165 = code.1;
      code.166 = code.165 + 1;
      code = code.166;
      *code.165 = 102;
      <D.22360>:
      code.1 = code;
      code.167 = code.1;
      code.168 = code.167 + 1;
      code = code.168;
      *code.167 = 139;
      goto <D.22358>;
      <D.22361>:
      __assert_fail ("0", "exceptions-x86.c", 333, &__PRETTY_FUNCTION__);
      <D.22358>:
      if (0 != 0) goto <D.23132>; else goto <D.23133>;
      <D.23132>:
      if (0 != 0) goto <D.23134>; else goto <D.23135>;
      <D.23134>:
      code.1 = code;
      code.169 = code.1;
      code.170 = code.169 + 1;
      code = code.170;
      *code.169 = 20;
      code.1 = code;
      code.171 = code.1;
      code.172 = code.171 + 1;
      code = code.172;
      *code.171 = 36;
      goto <D.23140>;
      <D.23135>:
      if (1 != 0) goto <D.23141>; else goto <D.23142>;
      <D.23141>:
      code.1 = code;
      code.173 = code.1;
      code.174 = code.173 + 1;
      code = code.174;
      *code.173 = 84;
      code.1 = code;
      code.175 = code.1;
      code.176 = code.175 + 1;
      code = code.176;
      *code.175 = 36;
      code.1 = code;
      *code.1 = 12;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23147>;
      <D.23142>:
      code.1 = code;
      code.177 = code.1;
      code.178 = code.177 + 1;
      code = code.178;
      *code.177 = 148;
      code.1 = code;
      code.179 = code.1;
      code.180 = code.179 + 1;
      code = code.180;
      *code.179 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 12;
            code.1 = code;
            code.181 = code.1;
            code.182 = code.181 + 1;
            code = code.182;
            D.23154 = imb.b[0];
            *code.181 = D.23154;
            code.1 = code;
            code.183 = code.1;
            code.184 = code.183 + 1;
            code = code.184;
            D.23157 = imb.b[1];
            *code.183 = D.23157;
            code.1 = code;
            code.185 = code.1;
            code.186 = code.185 + 1;
            code = code.186;
            D.23160 = imb.b[2];
            *code.185 = D.23160;
            code.1 = code;
            code.187 = code.1;
            code.188 = code.187 + 1;
            code = code.188;
            D.23163 = imb.b[3];
            *code.187 = D.23163;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23147>:
      <D.23140>:
      goto <D.22363>;
      <D.23133>:
      if (0 != 0) goto <D.23164>; else goto <D.23165>;
      <D.23164>:
      code.1 = code;
      code.189 = code.1;
      code.190 = code.189 + 1;
      code = code.190;
      *code.189 = 16;
      goto <D.22363>;
      <D.23165>:
      if (1 != 0) goto <D.23168>; else goto <D.23169>;
      <D.23168>:
      code.1 = code;
      code.191 = code.1;
      code.192 = code.191 + 1;
      code = code.192;
      *code.191 = 80;
      code.1 = code;
      *code.1 = 12;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23172>;
      <D.23169>:
      code.1 = code;
      code.193 = code.1;
      code.194 = code.193 + 1;
      code = code.194;
      *code.193 = 144;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 12;
            code.1 = code;
            code.195 = code.1;
            code.196 = code.195 + 1;
            code = code.196;
            D.23177 = imb.b[0];
            *code.195 = D.23177;
            code.1 = code;
            code.197 = code.1;
            code.198 = code.197 + 1;
            code = code.198;
            D.23180 = imb.b[1];
            *code.197 = D.23180;
            code.1 = code;
            code.199 = code.1;
            code.200 = code.199 + 1;
            code = code.200;
            D.23183 = imb.b[2];
            *code.199 = D.23183;
            code.1 = code;
            code.201 = code.1;
            code.202 = code.201 + 1;
            code = code.202;
            D.23186 = imb.b[3];
            *code.201 = D.23186;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23172>:
      <D.22363>:
      switch (4) <default: <D.22369>, case 1: <D.22365>, case 2: <D.22367>, case 4: <D.22368>>
      <D.22365>:
      code.1 = code;
      code.203 = code.1;
      code.204 = code.203 + 1;
      code = code.204;
      *code.203 = 138;
      goto <D.22366>;
      <D.22367>:
      code.1 = code;
      code.205 = code.1;
      code.206 = code.205 + 1;
      code = code.206;
      *code.205 = 102;
      <D.22368>:
      code.1 = code;
      code.207 = code.1;
      code.208 = code.207 + 1;
      code = code.208;
      *code.207 = 139;
      goto <D.22366>;
      <D.22369>:
      __assert_fail ("0", "exceptions-x86.c", 345, &__PRETTY_FUNCTION__);
      <D.22366>:
      if (0 != 0) goto <D.23193>; else goto <D.23194>;
      <D.23193>:
      if (0 != 0) goto <D.23195>; else goto <D.23196>;
      <D.23195>:
      code.1 = code;
      code.209 = code.1;
      code.210 = code.209 + 1;
      code = code.210;
      *code.209 = 44;
      code.1 = code;
      code.211 = code.1;
      code.212 = code.211 + 1;
      code = code.212;
      *code.211 = 36;
      goto <D.23201>;
      <D.23196>:
      if (1 != 0) goto <D.23202>; else goto <D.23203>;
      <D.23202>:
      code.1 = code;
      code.213 = code.1;
      code.214 = code.213 + 1;
      code = code.214;
      *code.213 = 108;
      code.1 = code;
      code.215 = code.1;
      code.216 = code.215 + 1;
      code = code.216;
      *code.215 = 36;
      code.1 = code;
      *code.1 = 20;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23208>;
      <D.23203>:
      code.1 = code;
      code.217 = code.1;
      code.218 = code.217 + 1;
      code = code.218;
      *code.217 = 172;
      code.1 = code;
      code.219 = code.1;
      code.220 = code.219 + 1;
      code = code.220;
      *code.219 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 20;
            code.1 = code;
            code.221 = code.1;
            code.222 = code.221 + 1;
            code = code.222;
            D.23215 = imb.b[0];
            *code.221 = D.23215;
            code.1 = code;
            code.223 = code.1;
            code.224 = code.223 + 1;
            code = code.224;
            D.23218 = imb.b[1];
            *code.223 = D.23218;
            code.1 = code;
            code.225 = code.1;
            code.226 = code.225 + 1;
            code = code.226;
            D.23221 = imb.b[2];
            *code.225 = D.23221;
            code.1 = code;
            code.227 = code.1;
            code.228 = code.227 + 1;
            code = code.228;
            D.23224 = imb.b[3];
            *code.227 = D.23224;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23208>:
      <D.23201>:
      goto <D.22371>;
      <D.23194>:
      if (0 != 0) goto <D.23225>; else goto <D.23226>;
      <D.23225>:
      code.1 = code;
      code.229 = code.1;
      code.230 = code.229 + 1;
      code = code.230;
      *code.229 = 40;
      goto <D.22371>;
      <D.23226>:
      if (1 != 0) goto <D.23229>; else goto <D.23230>;
      <D.23229>:
      code.1 = code;
      code.231 = code.1;
      code.232 = code.231 + 1;
      code = code.232;
      *code.231 = 104;
      code.1 = code;
      *code.1 = 20;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23233>;
      <D.23230>:
      code.1 = code;
      code.233 = code.1;
      code.234 = code.233 + 1;
      code = code.234;
      *code.233 = 168;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 20;
            code.1 = code;
            code.235 = code.1;
            code.236 = code.235 + 1;
            code = code.236;
            D.23238 = imb.b[0];
            *code.235 = D.23238;
            code.1 = code;
            code.237 = code.1;
            code.238 = code.237 + 1;
            code = code.238;
            D.23241 = imb.b[1];
            *code.237 = D.23241;
            code.1 = code;
            code.239 = code.1;
            code.240 = code.239 + 1;
            code = code.240;
            D.23244 = imb.b[2];
            *code.239 = D.23244;
            code.1 = code;
            code.241 = code.1;
            code.242 = code.241 + 1;
            code = code.242;
            D.23247 = imb.b[3];
            *code.241 = D.23247;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23233>:
      <D.22371>:
      switch (4) <default: <D.22377>, case 1: <D.22373>, case 2: <D.22375>, case 4: <D.22376>>
      <D.22373>:
      code.1 = code;
      code.243 = code.1;
      code.244 = code.243 + 1;
      code = code.244;
      *code.243 = 138;
      goto <D.22374>;
      <D.22375>:
      code.1 = code;
      code.245 = code.1;
      code.246 = code.245 + 1;
      code = code.246;
      *code.245 = 102;
      <D.22376>:
      code.1 = code;
      code.247 = code.1;
      code.248 = code.247 + 1;
      code = code.248;
      *code.247 = 139;
      goto <D.22374>;
      <D.22377>:
      __assert_fail ("0", "exceptions-x86.c", 347, &__PRETTY_FUNCTION__);
      <D.22374>:
      if (0 != 0) goto <D.23254>; else goto <D.23255>;
      <D.23254>:
      if (0 != 0) goto <D.23256>; else goto <D.23257>;
      <D.23256>:
      code.1 = code;
      code.249 = code.1;
      code.250 = code.249 + 1;
      code = code.250;
      *code.249 = 12;
      code.1 = code;
      code.251 = code.1;
      code.252 = code.251 + 1;
      code = code.252;
      *code.251 = 36;
      goto <D.23262>;
      <D.23257>:
      if (1 != 0) goto <D.23263>; else goto <D.23264>;
      <D.23263>:
      code.1 = code;
      code.253 = code.1;
      code.254 = code.253 + 1;
      code = code.254;
      *code.253 = 76;
      code.1 = code;
      code.255 = code.1;
      code.256 = code.255 + 1;
      code = code.256;
      *code.255 = 36;
      code.1 = code;
      *code.1 = 32;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23269>;
      <D.23264>:
      code.1 = code;
      code.257 = code.1;
      code.258 = code.257 + 1;
      code = code.258;
      *code.257 = 140;
      code.1 = code;
      code.259 = code.1;
      code.260 = code.259 + 1;
      code = code.260;
      *code.259 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 32;
            code.1 = code;
            code.261 = code.1;
            code.262 = code.261 + 1;
            code = code.262;
            D.23276 = imb.b[0];
            *code.261 = D.23276;
            code.1 = code;
            code.263 = code.1;
            code.264 = code.263 + 1;
            code = code.264;
            D.23279 = imb.b[1];
            *code.263 = D.23279;
            code.1 = code;
            code.265 = code.1;
            code.266 = code.265 + 1;
            code = code.266;
            D.23282 = imb.b[2];
            *code.265 = D.23282;
            code.1 = code;
            code.267 = code.1;
            code.268 = code.267 + 1;
            code = code.268;
            D.23285 = imb.b[3];
            *code.267 = D.23285;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23269>:
      <D.23262>:
      goto <D.22379>;
      <D.23255>:
      if (0 != 0) goto <D.23286>; else goto <D.23287>;
      <D.23286>:
      code.1 = code;
      code.269 = code.1;
      code.270 = code.269 + 1;
      code = code.270;
      *code.269 = 8;
      goto <D.22379>;
      <D.23287>:
      if (1 != 0) goto <D.23290>; else goto <D.23291>;
      <D.23290>:
      code.1 = code;
      code.271 = code.1;
      code.272 = code.271 + 1;
      code = code.272;
      *code.271 = 72;
      code.1 = code;
      *code.1 = 32;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23294>;
      <D.23291>:
      code.1 = code;
      code.273 = code.1;
      code.274 = code.273 + 1;
      code = code.274;
      *code.273 = 136;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 32;
            code.1 = code;
            code.275 = code.1;
            code.276 = code.275 + 1;
            code = code.276;
            D.23299 = imb.b[0];
            *code.275 = D.23299;
            code.1 = code;
            code.277 = code.1;
            code.278 = code.277 + 1;
            code = code.278;
            D.23302 = imb.b[1];
            *code.277 = D.23302;
            code.1 = code;
            code.279 = code.1;
            code.280 = code.279 + 1;
            code = code.280;
            D.23305 = imb.b[2];
            *code.279 = D.23305;
            code.1 = code;
            code.281 = code.1;
            code.282 = code.281 + 1;
            code = code.282;
            D.23308 = imb.b[3];
            *code.281 = D.23308;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23294>:
      <D.22379>:
      switch (4) <default: <D.22385>, case 1: <D.22381>, case 2: <D.22383>, case 4: <D.22384>>
      <D.22381>:
      code.1 = code;
      code.283 = code.1;
      code.284 = code.283 + 1;
      code = code.284;
      *code.283 = 136;
      goto <D.22382>;
      <D.22383>:
      code.1 = code;
      code.285 = code.1;
      code.286 = code.285 + 1;
      code = code.286;
      *code.285 = 102;
      <D.22384>:
      code.1 = code;
      code.287 = code.1;
      code.288 = code.287 + 1;
      code = code.288;
      *code.287 = 137;
      goto <D.22382>;
      <D.22385>:
      __assert_fail ("0", "exceptions-x86.c", 349, &__PRETTY_FUNCTION__);
      <D.22382>:
      if (0 != 0) goto <D.23315>; else goto <D.23316>;
      <D.23315>:
      if (0 != 0) goto <D.23317>; else goto <D.23318>;
      <D.23317>:
      code.1 = code;
      code.289 = code.1;
      code.290 = code.289 + 1;
      code = code.290;
      *code.289 = 12;
      code.1 = code;
      code.291 = code.1;
      code.292 = code.291 + 1;
      code = code.292;
      *code.291 = 36;
      goto <D.23323>;
      <D.23318>:
      if (1 != 0) goto <D.23324>; else goto <D.23325>;
      <D.23324>:
      code.1 = code;
      code.293 = code.1;
      code.294 = code.293 + 1;
      code = code.294;
      *code.293 = 76;
      code.1 = code;
      code.295 = code.1;
      code.296 = code.295 + 1;
      code = code.296;
      *code.295 = 36;
      code.1 = code;
      *code.1 = 252;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23330>;
      <D.23325>:
      code.1 = code;
      code.297 = code.1;
      code.298 = code.297 + 1;
      code = code.298;
      *code.297 = 140;
      code.1 = code;
      code.299 = code.1;
      code.300 = code.299 + 1;
      code = code.300;
      *code.299 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = -4;
            code.1 = code;
            code.301 = code.1;
            code.302 = code.301 + 1;
            code = code.302;
            D.23337 = imb.b[0];
            *code.301 = D.23337;
            code.1 = code;
            code.303 = code.1;
            code.304 = code.303 + 1;
            code = code.304;
            D.23340 = imb.b[1];
            *code.303 = D.23340;
            code.1 = code;
            code.305 = code.1;
            code.306 = code.305 + 1;
            code = code.306;
            D.23343 = imb.b[2];
            *code.305 = D.23343;
            code.1 = code;
            code.307 = code.1;
            code.308 = code.307 + 1;
            code = code.308;
            D.23346 = imb.b[3];
            *code.307 = D.23346;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23330>:
      <D.23323>:
      goto <D.22387>;
      <D.23316>:
      if (0 != 0) goto <D.23347>; else goto <D.23348>;
      <D.23347>:
      code.1 = code;
      code.309 = code.1;
      code.310 = code.309 + 1;
      code = code.310;
      *code.309 = 13;
      goto <D.22387>;
      <D.23348>:
      if (1 != 0) goto <D.23351>; else goto <D.23352>;
      <D.23351>:
      code.1 = code;
      code.311 = code.1;
      code.312 = code.311 + 1;
      code = code.312;
      *code.311 = 77;
      code.1 = code;
      *code.1 = 252;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23355>;
      <D.23352>:
      code.1 = code;
      code.313 = code.1;
      code.314 = code.313 + 1;
      code = code.314;
      *code.313 = 141;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = -4;
            code.1 = code;
            code.315 = code.1;
            code.316 = code.315 + 1;
            code = code.316;
            D.23360 = imb.b[0];
            *code.315 = D.23360;
            code.1 = code;
            code.317 = code.1;
            code.318 = code.317 + 1;
            code = code.318;
            D.23363 = imb.b[1];
            *code.317 = D.23363;
            code.1 = code;
            code.319 = code.1;
            code.320 = code.319 + 1;
            code = code.320;
            D.23366 = imb.b[2];
            *code.319 = D.23366;
            code.1 = code;
            code.321 = code.1;
            code.322 = code.321 + 1;
            code = code.322;
            D.23369 = imb.b[3];
            *code.321 = D.23369;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23355>:
      <D.22387>:
      switch (4) <default: <D.22393>, case 1: <D.22389>, case 2: <D.22391>, case 4: <D.22392>>
      <D.22389>:
      code.1 = code;
      code.323 = code.1;
      code.324 = code.323 + 1;
      code = code.324;
      *code.323 = 138;
      goto <D.22390>;
      <D.22391>:
      code.1 = code;
      code.325 = code.1;
      code.326 = code.325 + 1;
      code = code.326;
      *code.325 = 102;
      <D.22392>:
      code.1 = code;
      code.327 = code.1;
      code.328 = code.327 + 1;
      code = code.328;
      *code.327 = 139;
      goto <D.22390>;
      <D.22393>:
      __assert_fail ("0", "exceptions-x86.c", 352, &__PRETTY_FUNCTION__);
      <D.22390>:
      if (0 != 0) goto <D.23376>; else goto <D.23377>;
      <D.23376>:
      if (0 != 0) goto <D.23378>; else goto <D.23379>;
      <D.23378>:
      code.1 = code;
      code.329 = code.1;
      code.330 = code.329 + 1;
      code = code.330;
      *code.329 = 12;
      code.1 = code;
      code.331 = code.1;
      code.332 = code.331 + 1;
      code = code.332;
      *code.331 = 36;
      goto <D.23384>;
      <D.23379>:
      if (1 != 0) goto <D.23385>; else goto <D.23386>;
      <D.23385>:
      code.1 = code;
      code.333 = code.1;
      code.334 = code.333 + 1;
      code = code.334;
      *code.333 = 76;
      code.1 = code;
      code.335 = code.1;
      code.336 = code.335 + 1;
      code = code.336;
      *code.335 = 36;
      code.1 = code;
      *code.1 = 16;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23391>;
      <D.23386>:
      code.1 = code;
      code.337 = code.1;
      code.338 = code.337 + 1;
      code = code.338;
      *code.337 = 140;
      code.1 = code;
      code.339 = code.1;
      code.340 = code.339 + 1;
      code = code.340;
      *code.339 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 16;
            code.1 = code;
            code.341 = code.1;
            code.342 = code.341 + 1;
            code = code.342;
            D.23398 = imb.b[0];
            *code.341 = D.23398;
            code.1 = code;
            code.343 = code.1;
            code.344 = code.343 + 1;
            code = code.344;
            D.23401 = imb.b[1];
            *code.343 = D.23401;
            code.1 = code;
            code.345 = code.1;
            code.346 = code.345 + 1;
            code = code.346;
            D.23404 = imb.b[2];
            *code.345 = D.23404;
            code.1 = code;
            code.347 = code.1;
            code.348 = code.347 + 1;
            code = code.348;
            D.23407 = imb.b[3];
            *code.347 = D.23407;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23391>:
      <D.23384>:
      goto <D.22395>;
      <D.23377>:
      if (0 != 0) goto <D.23408>; else goto <D.23409>;
      <D.23408>:
      code.1 = code;
      code.349 = code.1;
      code.350 = code.349 + 1;
      code = code.350;
      *code.349 = 8;
      goto <D.22395>;
      <D.23409>:
      if (1 != 0) goto <D.23412>; else goto <D.23413>;
      <D.23412>:
      code.1 = code;
      code.351 = code.1;
      code.352 = code.351 + 1;
      code = code.352;
      *code.351 = 72;
      code.1 = code;
      *code.1 = 16;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23416>;
      <D.23413>:
      code.1 = code;
      code.353 = code.1;
      code.354 = code.353 + 1;
      code = code.354;
      *code.353 = 136;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 16;
            code.1 = code;
            code.355 = code.1;
            code.356 = code.355 + 1;
            code = code.356;
            D.23421 = imb.b[0];
            *code.355 = D.23421;
            code.1 = code;
            code.357 = code.1;
            code.358 = code.357 + 1;
            code = code.358;
            D.23424 = imb.b[1];
            *code.357 = D.23424;
            code.1 = code;
            code.359 = code.1;
            code.360 = code.359 + 1;
            code = code.360;
            D.23427 = imb.b[2];
            *code.359 = D.23427;
            code.1 = code;
            code.361 = code.1;
            code.362 = code.361 + 1;
            code = code.362;
            D.23430 = imb.b[3];
            *code.361 = D.23430;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23416>:
      <D.22395>:
      switch (4) <default: <D.22401>, case 1: <D.22397>, case 2: <D.22399>, case 4: <D.22400>>
      <D.22397>:
      code.1 = code;
      code.363 = code.1;
      code.364 = code.363 + 1;
      code = code.364;
      *code.363 = 136;
      goto <D.22398>;
      <D.22399>:
      code.1 = code;
      code.365 = code.1;
      code.366 = code.365 + 1;
      code = code.366;
      *code.365 = 102;
      <D.22400>:
      code.1 = code;
      code.367 = code.1;
      code.368 = code.367 + 1;
      code = code.368;
      *code.367 = 137;
      goto <D.22398>;
      <D.22401>:
      __assert_fail ("0", "exceptions-x86.c", 354, &__PRETTY_FUNCTION__);
      <D.22398>:
      if (0 != 0) goto <D.23437>; else goto <D.23438>;
      <D.23437>:
      if (0 != 0) goto <D.23439>; else goto <D.23440>;
      <D.23439>:
      code.1 = code;
      code.369 = code.1;
      code.370 = code.369 + 1;
      code = code.370;
      *code.369 = 12;
      code.1 = code;
      code.371 = code.1;
      code.372 = code.371 + 1;
      code = code.372;
      *code.371 = 36;
      goto <D.23445>;
      <D.23440>:
      if (1 != 0) goto <D.23446>; else goto <D.23447>;
      <D.23446>:
      code.1 = code;
      code.373 = code.1;
      code.374 = code.373 + 1;
      code = code.374;
      *code.373 = 76;
      code.1 = code;
      code.375 = code.1;
      code.376 = code.375 + 1;
      code = code.376;
      *code.375 = 36;
      code.1 = code;
      *code.1 = 248;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23452>;
      <D.23447>:
      code.1 = code;
      code.377 = code.1;
      code.378 = code.377 + 1;
      code = code.378;
      *code.377 = 140;
      code.1 = code;
      code.379 = code.1;
      code.380 = code.379 + 1;
      code = code.380;
      *code.379 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = -8;
            code.1 = code;
            code.381 = code.1;
            code.382 = code.381 + 1;
            code = code.382;
            D.23459 = imb.b[0];
            *code.381 = D.23459;
            code.1 = code;
            code.383 = code.1;
            code.384 = code.383 + 1;
            code = code.384;
            D.23462 = imb.b[1];
            *code.383 = D.23462;
            code.1 = code;
            code.385 = code.1;
            code.386 = code.385 + 1;
            code = code.386;
            D.23465 = imb.b[2];
            *code.385 = D.23465;
            code.1 = code;
            code.387 = code.1;
            code.388 = code.387 + 1;
            code = code.388;
            D.23468 = imb.b[3];
            *code.387 = D.23468;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23452>:
      <D.23445>:
      goto <D.22403>;
      <D.23438>:
      if (0 != 0) goto <D.23469>; else goto <D.23470>;
      <D.23469>:
      code.1 = code;
      code.389 = code.1;
      code.390 = code.389 + 1;
      code = code.390;
      *code.389 = 13;
      goto <D.22403>;
      <D.23470>:
      if (1 != 0) goto <D.23473>; else goto <D.23474>;
      <D.23473>:
      code.1 = code;
      code.391 = code.1;
      code.392 = code.391 + 1;
      code = code.392;
      *code.391 = 77;
      code.1 = code;
      *code.1 = 248;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23477>;
      <D.23474>:
      code.1 = code;
      code.393 = code.1;
      code.394 = code.393 + 1;
      code = code.394;
      *code.393 = 141;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = -8;
            code.1 = code;
            code.395 = code.1;
            code.396 = code.395 + 1;
            code = code.396;
            D.23482 = imb.b[0];
            *code.395 = D.23482;
            code.1 = code;
            code.397 = code.1;
            code.398 = code.397 + 1;
            code = code.398;
            D.23485 = imb.b[1];
            *code.397 = D.23485;
            code.1 = code;
            code.399 = code.1;
            code.400 = code.399 + 1;
            code = code.400;
            D.23488 = imb.b[2];
            *code.399 = D.23488;
            code.1 = code;
            code.401 = code.1;
            code.402 = code.401 + 1;
            code = code.402;
            D.23491 = imb.b[3];
            *code.401 = D.23491;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23477>:
      <D.22403>:
      switch (4) <default: <D.22409>, case 1: <D.22405>, case 2: <D.22407>, case 4: <D.22408>>
      <D.22405>:
      code.1 = code;
      code.403 = code.1;
      code.404 = code.403 + 1;
      code = code.404;
      *code.403 = 138;
      goto <D.22406>;
      <D.22407>:
      code.1 = code;
      code.405 = code.1;
      code.406 = code.405 + 1;
      code = code.406;
      *code.405 = 102;
      <D.22408>:
      code.1 = code;
      code.407 = code.1;
      code.408 = code.407 + 1;
      code = code.408;
      *code.407 = 139;
      goto <D.22406>;
      <D.22409>:
      __assert_fail ("0", "exceptions-x86.c", 357, &__PRETTY_FUNCTION__);
      <D.22406>:
      if (0 != 0) goto <D.23498>; else goto <D.23499>;
      <D.23498>:
      if (1 != 0) goto <D.23500>; else goto <D.23501>;
      <D.23500>:
      code.1 = code;
      code.409 = code.1;
      code.410 = code.409 + 1;
      code = code.410;
      *code.409 = 12;
      code.1 = code;
      code.411 = code.1;
      code.412 = code.411 + 1;
      code = code.412;
      *code.411 = 36;
      goto <D.23506>;
      <D.23501>:
      if (1 != 0) goto <D.23507>; else goto <D.23508>;
      <D.23507>:
      code.1 = code;
      code.413 = code.1;
      code.414 = code.413 + 1;
      code = code.414;
      *code.413 = 76;
      code.1 = code;
      code.415 = code.1;
      code.416 = code.415 + 1;
      code = code.416;
      *code.415 = 36;
      code.1 = code;
      *code.1 = 0;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23513>;
      <D.23508>:
      code.1 = code;
      code.417 = code.1;
      code.418 = code.417 + 1;
      code = code.418;
      *code.417 = 140;
      code.1 = code;
      code.419 = code.1;
      code.420 = code.419 + 1;
      code = code.420;
      *code.419 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 0;
            code.1 = code;
            code.421 = code.1;
            code.422 = code.421 + 1;
            code = code.422;
            D.23520 = imb.b[0];
            *code.421 = D.23520;
            code.1 = code;
            code.423 = code.1;
            code.424 = code.423 + 1;
            code = code.424;
            D.23523 = imb.b[1];
            *code.423 = D.23523;
            code.1 = code;
            code.425 = code.1;
            code.426 = code.425 + 1;
            code = code.426;
            D.23526 = imb.b[2];
            *code.425 = D.23526;
            code.1 = code;
            code.427 = code.1;
            code.428 = code.427 + 1;
            code = code.428;
            D.23529 = imb.b[3];
            *code.427 = D.23529;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23513>:
      <D.23506>:
      goto <D.22411>;
      <D.23499>:
      if (1 != 0) goto <D.23530>; else goto <D.23531>;
      <D.23530>:
      code.1 = code;
      code.429 = code.1;
      code.430 = code.429 + 1;
      code = code.430;
      *code.429 = 8;
      goto <D.22411>;
      <D.23531>:
      if (1 != 0) goto <D.23534>; else goto <D.23535>;
      <D.23534>:
      code.1 = code;
      code.431 = code.1;
      code.432 = code.431 + 1;
      code = code.432;
      *code.431 = 72;
      code.1 = code;
      *code.1 = 0;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23538>;
      <D.23535>:
      code.1 = code;
      code.433 = code.1;
      code.434 = code.433 + 1;
      code = code.434;
      *code.433 = 136;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 0;
            code.1 = code;
            code.435 = code.1;
            code.436 = code.435 + 1;
            code = code.436;
            D.23543 = imb.b[0];
            *code.435 = D.23543;
            code.1 = code;
            code.437 = code.1;
            code.438 = code.437 + 1;
            code = code.438;
            D.23546 = imb.b[1];
            *code.437 = D.23546;
            code.1 = code;
            code.439 = code.1;
            code.440 = code.439 + 1;
            code = code.440;
            D.23549 = imb.b[2];
            *code.439 = D.23549;
            code.1 = code;
            code.441 = code.1;
            code.442 = code.441 + 1;
            code = code.442;
            D.23552 = imb.b[3];
            *code.441 = D.23552;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23538>:
      <D.22411>:
      switch (4) <default: <D.22417>, case 1: <D.22413>, case 2: <D.22415>, case 4: <D.22416>>
      <D.22413>:
      code.1 = code;
      code.443 = code.1;
      code.444 = code.443 + 1;
      code = code.444;
      *code.443 = 136;
      goto <D.22414>;
      <D.22415>:
      code.1 = code;
      code.445 = code.1;
      code.446 = code.445 + 1;
      code = code.446;
      *code.445 = 102;
      <D.22416>:
      code.1 = code;
      code.447 = code.1;
      code.448 = code.447 + 1;
      code = code.448;
      *code.447 = 137;
      goto <D.22414>;
      <D.22417>:
      __assert_fail ("0", "exceptions-x86.c", 359, &__PRETTY_FUNCTION__);
      <D.22414>:
      if (0 != 0) goto <D.23559>; else goto <D.23560>;
      <D.23559>:
      if (0 != 0) goto <D.23561>; else goto <D.23562>;
      <D.23561>:
      code.1 = code;
      code.449 = code.1;
      code.450 = code.449 + 1;
      code = code.450;
      *code.449 = 12;
      code.1 = code;
      code.451 = code.1;
      code.452 = code.451 + 1;
      code = code.452;
      *code.451 = 36;
      goto <D.23567>;
      <D.23562>:
      if (1 != 0) goto <D.23568>; else goto <D.23569>;
      <D.23568>:
      code.1 = code;
      code.453 = code.1;
      code.454 = code.453 + 1;
      code = code.454;
      *code.453 = 76;
      code.1 = code;
      code.455 = code.1;
      code.456 = code.455 + 1;
      code = code.456;
      *code.455 = 36;
      code.1 = code;
      *code.1 = 244;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23574>;
      <D.23569>:
      code.1 = code;
      code.457 = code.1;
      code.458 = code.457 + 1;
      code = code.458;
      *code.457 = 140;
      code.1 = code;
      code.459 = code.1;
      code.460 = code.459 + 1;
      code = code.460;
      *code.459 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = -12;
            code.1 = code;
            code.461 = code.1;
            code.462 = code.461 + 1;
            code = code.462;
            D.23581 = imb.b[0];
            *code.461 = D.23581;
            code.1 = code;
            code.463 = code.1;
            code.464 = code.463 + 1;
            code = code.464;
            D.23584 = imb.b[1];
            *code.463 = D.23584;
            code.1 = code;
            code.465 = code.1;
            code.466 = code.465 + 1;
            code = code.466;
            D.23587 = imb.b[2];
            *code.465 = D.23587;
            code.1 = code;
            code.467 = code.1;
            code.468 = code.467 + 1;
            code = code.468;
            D.23590 = imb.b[3];
            *code.467 = D.23590;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23574>:
      <D.23567>:
      goto <D.22419>;
      <D.23560>:
      if (0 != 0) goto <D.23591>; else goto <D.23592>;
      <D.23591>:
      code.1 = code;
      code.469 = code.1;
      code.470 = code.469 + 1;
      code = code.470;
      *code.469 = 13;
      goto <D.22419>;
      <D.23592>:
      if (1 != 0) goto <D.23595>; else goto <D.23596>;
      <D.23595>:
      code.1 = code;
      code.471 = code.1;
      code.472 = code.471 + 1;
      code = code.472;
      *code.471 = 77;
      code.1 = code;
      *code.1 = 244;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23599>;
      <D.23596>:
      code.1 = code;
      code.473 = code.1;
      code.474 = code.473 + 1;
      code = code.474;
      *code.473 = 141;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = -12;
            code.1 = code;
            code.475 = code.1;
            code.476 = code.475 + 1;
            code = code.476;
            D.23604 = imb.b[0];
            *code.475 = D.23604;
            code.1 = code;
            code.477 = code.1;
            code.478 = code.477 + 1;
            code = code.478;
            D.23607 = imb.b[1];
            *code.477 = D.23607;
            code.1 = code;
            code.479 = code.1;
            code.480 = code.479 + 1;
            code = code.480;
            D.23610 = imb.b[2];
            *code.479 = D.23610;
            code.1 = code;
            code.481 = code.1;
            code.482 = code.481 + 1;
            code = code.482;
            D.23613 = imb.b[3];
            *code.481 = D.23613;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23599>:
      <D.22419>:
      switch (4) <default: <D.22425>, case 1: <D.22421>, case 2: <D.22423>, case 4: <D.22424>>
      <D.22421>:
      code.1 = code;
      code.483 = code.1;
      code.484 = code.483 + 1;
      code = code.484;
      *code.483 = 138;
      goto <D.22422>;
      <D.22423>:
      code.1 = code;
      code.485 = code.1;
      code.486 = code.485 + 1;
      code = code.486;
      *code.485 = 102;
      <D.22424>:
      code.1 = code;
      code.487 = code.1;
      code.488 = code.487 + 1;
      code = code.488;
      *code.487 = 139;
      goto <D.22422>;
      <D.22425>:
      __assert_fail ("0", "exceptions-x86.c", 362, &__PRETTY_FUNCTION__);
      <D.22422>:
      if (0 != 0) goto <D.23620>; else goto <D.23621>;
      <D.23620>:
      if (0 != 0) goto <D.23622>; else goto <D.23623>;
      <D.23622>:
      code.1 = code;
      code.489 = code.1;
      code.490 = code.489 + 1;
      code = code.490;
      *code.489 = 12;
      code.1 = code;
      code.491 = code.1;
      code.492 = code.491 + 1;
      code = code.492;
      *code.491 = 36;
      goto <D.23628>;
      <D.23623>:
      if (1 != 0) goto <D.23629>; else goto <D.23630>;
      <D.23629>:
      code.1 = code;
      code.493 = code.1;
      code.494 = code.493 + 1;
      code = code.494;
      *code.493 = 76;
      code.1 = code;
      code.495 = code.1;
      code.496 = code.495 + 1;
      code = code.496;
      *code.495 = 36;
      code.1 = code;
      *code.1 = 8;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23635>;
      <D.23630>:
      code.1 = code;
      code.497 = code.1;
      code.498 = code.497 + 1;
      code = code.498;
      *code.497 = 140;
      code.1 = code;
      code.499 = code.1;
      code.500 = code.499 + 1;
      code = code.500;
      *code.499 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 8;
            code.1 = code;
            code.501 = code.1;
            code.502 = code.501 + 1;
            code = code.502;
            D.23642 = imb.b[0];
            *code.501 = D.23642;
            code.1 = code;
            code.503 = code.1;
            code.504 = code.503 + 1;
            code = code.504;
            D.23645 = imb.b[1];
            *code.503 = D.23645;
            code.1 = code;
            code.505 = code.1;
            code.506 = code.505 + 1;
            code = code.506;
            D.23648 = imb.b[2];
            *code.505 = D.23648;
            code.1 = code;
            code.507 = code.1;
            code.508 = code.507 + 1;
            code = code.508;
            D.23651 = imb.b[3];
            *code.507 = D.23651;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23635>:
      <D.23628>:
      goto <D.22427>;
      <D.23621>:
      if (0 != 0) goto <D.23652>; else goto <D.23653>;
      <D.23652>:
      code.1 = code;
      code.509 = code.1;
      code.510 = code.509 + 1;
      code = code.510;
      *code.509 = 8;
      goto <D.22427>;
      <D.23653>:
      if (1 != 0) goto <D.23656>; else goto <D.23657>;
      <D.23656>:
      code.1 = code;
      code.511 = code.1;
      code.512 = code.511 + 1;
      code = code.512;
      *code.511 = 72;
      code.1 = code;
      *code.1 = 8;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23660>;
      <D.23657>:
      code.1 = code;
      code.513 = code.1;
      code.514 = code.513 + 1;
      code = code.514;
      *code.513 = 136;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 8;
            code.1 = code;
            code.515 = code.1;
            code.516 = code.515 + 1;
            code = code.516;
            D.23665 = imb.b[0];
            *code.515 = D.23665;
            code.1 = code;
            code.517 = code.1;
            code.518 = code.517 + 1;
            code = code.518;
            D.23668 = imb.b[1];
            *code.517 = D.23668;
            code.1 = code;
            code.519 = code.1;
            code.520 = code.519 + 1;
            code = code.520;
            D.23671 = imb.b[2];
            *code.519 = D.23671;
            code.1 = code;
            code.521 = code.1;
            code.522 = code.521 + 1;
            code = code.522;
            D.23674 = imb.b[3];
            *code.521 = D.23674;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23660>:
      <D.22427>:
      code.1 = code;
      code.523 = code.1;
      code.524 = code.523 + 1;
      code = code.524;
      *code.523 = 141;
      if (0 != 0) goto <D.23677>; else goto <D.23678>;
      <D.23677>:
      if (0 != 0) goto <D.23679>; else goto <D.23680>;
      <D.23679>:
      code.1 = code;
      code.525 = code.1;
      code.526 = code.525 + 1;
      code = code.526;
      *code.525 = 36;
      code.1 = code;
      code.527 = code.1;
      code.528 = code.527 + 1;
      code = code.528;
      *code.527 = 36;
      goto <D.23685>;
      <D.23680>:
      if (1 != 0) goto <D.23686>; else goto <D.23687>;
      <D.23686>:
      code.1 = code;
      code.529 = code.1;
      code.530 = code.529 + 1;
      code = code.530;
      *code.529 = 100;
      code.1 = code;
      code.531 = code.1;
      code.532 = code.531 + 1;
      code = code.532;
      *code.531 = 36;
      code.1 = code;
      *code.1 = 244;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23692>;
      <D.23687>:
      code.1 = code;
      code.533 = code.1;
      code.534 = code.533 + 1;
      code = code.534;
      *code.533 = 164;
      code.1 = code;
      code.535 = code.1;
      code.536 = code.535 + 1;
      code = code.536;
      *code.535 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = -12;
            code.1 = code;
            code.537 = code.1;
            code.538 = code.537 + 1;
            code = code.538;
            D.23699 = imb.b[0];
            *code.537 = D.23699;
            code.1 = code;
            code.539 = code.1;
            code.540 = code.539 + 1;
            code = code.540;
            D.23702 = imb.b[1];
            *code.539 = D.23702;
            code.1 = code;
            code.541 = code.1;
            code.542 = code.541 + 1;
            code = code.542;
            D.23705 = imb.b[2];
            *code.541 = D.23705;
            code.1 = code;
            code.543 = code.1;
            code.544 = code.543 + 1;
            code = code.544;
            D.23708 = imb.b[3];
            *code.543 = D.23708;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23692>:
      <D.23685>:
      goto <D.22430>;
      <D.23678>:
      if (0 != 0) goto <D.23709>; else goto <D.23710>;
      <D.23709>:
      code.1 = code;
      code.545 = code.1;
      code.546 = code.545 + 1;
      code = code.546;
      *code.545 = 37;
      goto <D.22430>;
      <D.23710>:
      if (1 != 0) goto <D.23713>; else goto <D.23714>;
      <D.23713>:
      code.1 = code;
      code.547 = code.1;
      code.548 = code.547 + 1;
      code = code.548;
      *code.547 = 101;
      code.1 = code;
      *code.1 = 244;
      code.1 = code;
      code.16 = code.1 + 1;
      code = code.16;
      goto <D.23717>;
      <D.23714>:
      code.1 = code;
      code.549 = code.1;
      code.550 = code.549 + 1;
      code = code.550;
      *code.549 = 165;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = -12;
            code.1 = code;
            code.551 = code.1;
            code.552 = code.551 + 1;
            code = code.552;
            D.23722 = imb.b[0];
            *code.551 = D.23722;
            code.1 = code;
            code.553 = code.1;
            code.554 = code.553 + 1;
            code = code.554;
            D.23725 = imb.b[1];
            *code.553 = D.23725;
            code.1 = code;
            code.555 = code.1;
            code.556 = code.555 + 1;
            code = code.556;
            D.23728 = imb.b[2];
            *code.555 = D.23728;
            code.1 = code;
            code.557 = code.1;
            code.558 = code.557 + 1;
            code = code.558;
            D.23731 = imb.b[3];
            *code.557 = D.23731;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23717>:
      <D.22430>:
      code.1 = code;
      code.559 = code.1;
      code.560 = code.559 + 1;
      code = code.560;
      *code.559 = 88;
      code.1 = code;
      code.561 = code.1;
      code.562 = code.561 + 1;
      code = code.562;
      *code.561 = 93;
      code.1 = code;
      code.563 = code.1;
      code.564 = code.563 + 1;
      code = code.564;
      *code.563 = 195;
      nacl_global_codeman_validate (&start, 128, &code);
      if (info != 0B) goto <D.23738>; else goto <D.23739>;
      <D.23738>:
      code.1 = code;
      code.565 = (int) code.1;
      start.566 = start;
      start.567 = (int) start.566;
      D.23743 = code.565 - start.567;
      D.23744 = (unsigned int) D.23743;
      start.566 = start;
      D.23745 = mono_tramp_info_create ("restore_context", start.566, D.23744, ji, unwind_ops);
      *info = D.23745;
      goto <D.23746>;
      <D.23739>:
      {
        struct GSList * l;

        l = unwind_ops;
        goto <D.22434>;
        <D.22433>:
        D.23747 = l->data;
        monoeg_g_free (D.23747);
        l = l->next;
        <D.22434>:
        if (l != 0B) goto <D.22433>; else goto <D.22435>;
        <D.22435>:
        monoeg_g_slist_free (unwind_ops);
      }
      <D.23746>:
      D.23748 = start;
      return D.23748;
    }
  finally
    {
      start = {CLOBBER};
      code = {CLOBBER};
    }
}


mono_arch_get_call_filter (struct MonoTrampInfo * * info, gboolean aot)
{
  int kMaxCodeSize.568;
  void * code.569;
  guint8 * code.570;
  guint8 * code.571;
  guint8 * code.572;
  guint8 * code.573;
  guint8 * code.574;
  guint8 * code.575;
  guint8 * code.576;
  guint8 * code.577;
  guint8 * code.578;
  guint8 * code.579;
  guint8 * code.580;
  guint8 * code.581;
  guint8 * code.582;
  guint8 * code.583;
  guint8 * code.584;
  guint8 * code.585;
  guint8 * code.586;
  guint8 * code.587;
  guint8 * code.588;
  guint8 * code.589;
  guint8 * code.590;
  guint8 * code.591;
  guint8 * code.592;
  guint8 * code.593;
  guint8 * code.594;
  guint8 * code.595;
  guint8 * code.596;
  guint8 * code.597;
  guint8 * code.598;
  guint8 * code.599;
  guint8 * code.600;
  guint8 * code.601;
  guint8 * code.602;
  guint8 * code.603;
  guint8 * code.604;
  guint8 * code.605;
  guint8 * code.606;
  guint8 * code.607;
  unsigned char D.23799;
  guint8 * code.608;
  guint8 * code.609;
  unsigned char D.23802;
  guint8 * code.610;
  guint8 * code.611;
  unsigned char D.23805;
  guint8 * code.612;
  guint8 * code.613;
  unsigned char D.23808;
  guint8 * code.614;
  guint8 * code.615;
  guint8 * code.616;
  guint8 * code.617;
  guint8 * code.618;
  guint8 * code.619;
  guint8 * code.620;
  guint8 * code.621;
  unsigned char D.23822;
  guint8 * code.622;
  guint8 * code.623;
  unsigned char D.23825;
  guint8 * code.624;
  guint8 * code.625;
  unsigned char D.23828;
  guint8 * code.626;
  guint8 * code.627;
  unsigned char D.23831;
  guint8 * code.628;
  guint8 * code.629;
  guint8 * code.630;
  guint8 * code.631;
  guint8 * code.632;
  guint8 * code.633;
  guint8 * code.634;
  guint8 * code.635;
  guint8 * code.636;
  guint8 * code.637;
  guint8 * code.638;
  guint8 * code.639;
  guint8 * code.640;
  guint8 * code.641;
  guint8 * code.642;
  guint8 * code.643;
  guint8 * code.644;
  guint8 * code.645;
  guint8 * code.646;
  guint8 * code.647;
  unsigned char D.23860;
  guint8 * code.648;
  guint8 * code.649;
  unsigned char D.23863;
  guint8 * code.650;
  guint8 * code.651;
  unsigned char D.23866;
  guint8 * code.652;
  guint8 * code.653;
  unsigned char D.23869;
  guint8 * code.654;
  guint8 * code.655;
  guint8 * code.656;
  guint8 * code.657;
  guint8 * code.658;
  guint8 * code.659;
  guint8 * code.660;
  guint8 * code.661;
  unsigned char D.23883;
  guint8 * code.662;
  guint8 * code.663;
  unsigned char D.23886;
  guint8 * code.664;
  guint8 * code.665;
  unsigned char D.23889;
  guint8 * code.666;
  guint8 * code.667;
  unsigned char D.23892;
  guint8 * code.668;
  guint8 * code.669;
  guint8 * code.670;
  guint8 * code.671;
  guint8 * code.672;
  guint8 * code.673;
  guint8 * code.674;
  guint8 * code.675;
  guint8 * code.676;
  guint8 * code.677;
  guint8 * code.678;
  guint8 * code.679;
  guint8 * code.680;
  guint8 * code.681;
  guint8 * code.682;
  guint8 * code.683;
  guint8 * code.684;
  guint8 * code.685;
  guint8 * code.686;
  guint8 * code.687;
  guint8 * code.688;
  guint8 * code.689;
  unsigned char D.23923;
  guint8 * code.690;
  guint8 * code.691;
  unsigned char D.23926;
  guint8 * code.692;
  guint8 * code.693;
  unsigned char D.23929;
  guint8 * code.694;
  guint8 * code.695;
  unsigned char D.23932;
  guint8 * code.696;
  guint8 * code.697;
  guint8 * code.698;
  guint8 * code.699;
  guint8 * code.700;
  guint8 * code.701;
  guint8 * code.702;
  guint8 * code.703;
  unsigned char D.23946;
  guint8 * code.704;
  guint8 * code.705;
  unsigned char D.23949;
  guint8 * code.706;
  guint8 * code.707;
  unsigned char D.23952;
  guint8 * code.708;
  guint8 * code.709;
  unsigned char D.23955;
  guint8 * code.710;
  guint8 * code.711;
  guint8 * code.712;
  guint8 * code.713;
  guint8 * code.714;
  guint8 * code.715;
  guint8 * code.716;
  guint8 * code.717;
  guint8 * code.718;
  guint8 * code.719;
  guint8 * code.720;
  guint8 * code.721;
  guint8 * code.722;
  guint8 * code.723;
  guint8 * code.724;
  guint8 * code.725;
  guint8 * code.726;
  guint8 * code.727;
  guint8 * code.728;
  guint8 * code.729;
  unsigned char D.23984;
  guint8 * code.730;
  guint8 * code.731;
  unsigned char D.23987;
  guint8 * code.732;
  guint8 * code.733;
  unsigned char D.23990;
  guint8 * code.734;
  guint8 * code.735;
  unsigned char D.23993;
  guint8 * code.736;
  guint8 * code.737;
  guint8 * code.738;
  guint8 * code.739;
  guint8 * code.740;
  guint8 * code.741;
  guint8 * code.742;
  guint8 * code.743;
  unsigned char D.24007;
  guint8 * code.744;
  guint8 * code.745;
  unsigned char D.24010;
  guint8 * code.746;
  guint8 * code.747;
  unsigned char D.24013;
  guint8 * code.748;
  guint8 * code.749;
  unsigned char D.24016;
  guint8 * code.750;
  guint8 * code.751;
  guint8 * code.752;
  guint8 * code.753;
  guint8 * code.754;
  guint8 * code.755;
  guint8 * code.756;
  guint8 * code.757;
  guint8 * code.758;
  guint8 * code.759;
  guint8 * code.760;
  guint8 * code.761;
  guint8 * code.762;
  guint8 * code.763;
  guint8 * code.764;
  guint8 * code.765;
  guint8 * code.766;
  guint8 * code.767;
  guint8 * code.768;
  guint8 * code.769;
  unsigned char D.24045;
  guint8 * code.770;
  guint8 * code.771;
  unsigned char D.24048;
  guint8 * code.772;
  guint8 * code.773;
  unsigned char D.24051;
  guint8 * code.774;
  guint8 * code.775;
  unsigned char D.24054;
  guint8 * code.776;
  guint8 * code.777;
  guint8 * code.778;
  guint8 * code.779;
  guint8 * code.780;
  guint8 * code.781;
  guint8 * code.782;
  guint8 * code.783;
  unsigned char D.24068;
  guint8 * code.784;
  guint8 * code.785;
  unsigned char D.24071;
  guint8 * code.786;
  guint8 * code.787;
  unsigned char D.24074;
  guint8 * code.788;
  guint8 * code.789;
  unsigned char D.24077;
  guint8 * code.790;
  guint8 * code.791;
  guint8 * code.792;
  guint8 * code.793;
  guint8 * code.794;
  guint8 * code.795;
  guint8 * code.796;
  guint8 * code.797;
  guint8 * code.798;
  guint8 * code.799;
  guint8 * code.800;
  guint8 * code.801;
  guint8 * code.802;
  guint8 * code.803;
  guint8 * code.804;
  guint8 * code.805;
  guint8 * code.806;
  guint8 * code.807;
  guint8 * code.808;
  guint8 * code.809;
  unsigned char D.24106;
  guint8 * code.810;
  guint8 * code.811;
  unsigned char D.24109;
  guint8 * code.812;
  guint8 * code.813;
  unsigned char D.24112;
  guint8 * code.814;
  guint8 * code.815;
  unsigned char D.24115;
  guint8 * code.816;
  guint8 * code.817;
  guint8 * code.818;
  guint8 * code.819;
  guint8 * code.820;
  guint8 * code.821;
  guint8 * code.822;
  guint8 * code.823;
  unsigned char D.24129;
  guint8 * code.824;
  guint8 * code.825;
  unsigned char D.24132;
  guint8 * code.826;
  guint8 * code.827;
  unsigned char D.24135;
  guint8 * code.828;
  guint8 * code.829;
  unsigned char D.24138;
  guint8 * code.830;
  guint8 * code.831;
  guint8 * code.832;
  guint8 * code.833;
  guint8 * code.834;
  guint8 * code.835;
  guint8 * code.836;
  guint8 * code.837;
  guint8 * code.838;
  guint8 * code.839;
  guint8 * code.840;
  guint8 * code.841;
  unsigned char D.24153;
  guint8 * code.842;
  guint8 * code.843;
  unsigned char D.24156;
  guint8 * code.844;
  guint8 * code.845;
  unsigned char D.24159;
  guint8 * code.846;
  guint8 * code.847;
  unsigned char D.24162;
  guint8 * code.848;
  guint8 * code.849;
  guint8 * code.850;
  guint8 * code.851;
  guint8 * code.852;
  guint8 * code.853;
  guint8 * code.854;
  guint8 * code.855;
  guint8 * code.856;
  guint8 * code.857;
  unsigned char D.24176;
  guint8 * code.858;
  guint8 * code.859;
  unsigned char D.24179;
  guint8 * code.860;
  guint8 * code.861;
  unsigned char D.24182;
  guint8 * code.862;
  guint8 * code.863;
  unsigned char D.24185;
  guint8 * code.864;
  guint8 * code.865;
  guint8 * code.866;
  guint8 * code.867;
  unsigned char D.24194;
  guint8 * code.868;
  guint8 * code.869;
  unsigned char D.24197;
  guint8 * code.870;
  guint8 * code.871;
  unsigned char D.24200;
  guint8 * code.872;
  guint8 * code.873;
  unsigned char D.24203;
  guint8 * code.874;
  guint8 * code.875;
  guint8 * code.876;
  guint8 * code.877;
  guint8 * code.878;
  guint8 * code.879;
  guint8 * code.880;
  guint8 * code.881;
  guint8 * code.882;
  guint8 * code.883;
  unsigned char D.24217;
  guint8 * code.884;
  guint8 * code.885;
  unsigned char D.24220;
  guint8 * code.886;
  guint8 * code.887;
  unsigned char D.24223;
  guint8 * code.888;
  guint8 * code.889;
  unsigned char D.24226;
  guint8 * code.890;
  guint8 * code.891;
  guint8 * code.892;
  guint8 * code.893;
  guint8 * code.894;
  guint8 * code.895;
  guint8 * code.896;
  guint8 * code.897;
  guint8 * code.898;
  guint8 * code.899;
  guint8 * code.900;
  guint8 * code.901;
  guint8 * code.902;
  guint8 * code.903;
  guint8 * code.904;
  guint8 * code.905;
  guint8 * code.906;
  guint8 * code.907;
  guint8 * code.908;
  guint8 * code.909;
  int code.910;
  guint8 * start.911;
  int start.912;
  int D.24252;
  unsigned int D.24253;
  struct MonoTrampInfo * D.24254;
  void * D.24256;
  unsigned int D.24257;
  _Bool D.24258;
  long int D.24259;
  long int D.24260;
  void * D.24263;
  guint8 * start;
  guint8 * code;
  struct MonoJumpInfo * ji;
  struct GSList * unwind_ops;
  guint kMaxCodeSize;
  static const char __PRETTY_FUNCTION__[26] = "mono_arch_get_call_filter";

  try
    {
      ji = 0B;
      unwind_ops = 0B;
      kMaxCodeSize = 64;
      kMaxCodeSize.568 = (int) kMaxCodeSize;
      code.569 = mono_global_codeman_reserve (kMaxCodeSize.568);
      code = code.569;
      code.570 = code;
      start = code.570;
      code.570 = code;
      code.571 = code.570;
      code.572 = code.571 + 1;
      code = code.572;
      *code.571 = 85;
      switch (4) <default: <D.22449>, case 1: <D.22445>, case 2: <D.22447>, case 4: <D.22448>>
      <D.22445>:
      code.570 = code;
      code.573 = code.570;
      code.574 = code.573 + 1;
      code = code.574;
      *code.573 = 138;
      goto <D.22446>;
      <D.22447>:
      code.570 = code;
      code.575 = code.570;
      code.576 = code.575 + 1;
      code = code.576;
      *code.575 = 102;
      <D.22448>:
      code.570 = code;
      code.577 = code.570;
      code.578 = code.577 + 1;
      code = code.578;
      *code.577 = 139;
      goto <D.22446>;
      <D.22449>:
      __assert_fail ("0", "exceptions-x86.c", 408, &__PRETTY_FUNCTION__);
      <D.22446>:
      code.570 = code;
      code.579 = code.570;
      code.580 = code.579 + 1;
      code = code.580;
      *code.579 = 236;
      code.570 = code;
      code.581 = code.570;
      code.582 = code.581 + 1;
      code = code.582;
      *code.581 = 83;
      code.570 = code;
      code.583 = code.570;
      code.584 = code.583 + 1;
      code = code.584;
      *code.583 = 87;
      code.570 = code;
      code.585 = code.570;
      code.586 = code.585 + 1;
      code = code.586;
      *code.585 = 86;
      switch (4) <default: <D.22455>, case 1: <D.22451>, case 2: <D.22453>, case 4: <D.22454>>
      <D.22451>:
      code.570 = code;
      code.587 = code.570;
      code.588 = code.587 + 1;
      code = code.588;
      *code.587 = 138;
      goto <D.22452>;
      <D.22453>:
      code.570 = code;
      code.589 = code.570;
      code.590 = code.589 + 1;
      code = code.590;
      *code.589 = 102;
      <D.22454>:
      code.570 = code;
      code.591 = code.570;
      code.592 = code.591 + 1;
      code = code.592;
      *code.591 = 139;
      goto <D.22452>;
      <D.22455>:
      __assert_fail ("0", "exceptions-x86.c", 414, &__PRETTY_FUNCTION__);
      <D.22452>:
      if (0 != 0) goto <D.23776>; else goto <D.23777>;
      <D.23776>:
      if (0 != 0) goto <D.23778>; else goto <D.23779>;
      <D.23778>:
      code.570 = code;
      code.593 = code.570;
      code.594 = code.593 + 1;
      code = code.594;
      *code.593 = 4;
      code.570 = code;
      code.595 = code.570;
      code.596 = code.595 + 1;
      code = code.596;
      *code.595 = 36;
      goto <D.23784>;
      <D.23779>:
      if (1 != 0) goto <D.23785>; else goto <D.23786>;
      <D.23785>:
      code.570 = code;
      code.597 = code.570;
      code.598 = code.597 + 1;
      code = code.598;
      *code.597 = 68;
      code.570 = code;
      code.599 = code.570;
      code.600 = code.599 + 1;
      code = code.600;
      *code.599 = 36;
      code.570 = code;
      *code.570 = 8;
      code.570 = code;
      code.601 = code.570 + 1;
      code = code.601;
      goto <D.23792>;
      <D.23786>:
      code.570 = code;
      code.602 = code.570;
      code.603 = code.602 + 1;
      code = code.603;
      *code.602 = 132;
      code.570 = code;
      code.604 = code.570;
      code.605 = code.604 + 1;
      code = code.605;
      *code.604 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 8;
            code.570 = code;
            code.606 = code.570;
            code.607 = code.606 + 1;
            code = code.607;
            D.23799 = imb.b[0];
            *code.606 = D.23799;
            code.570 = code;
            code.608 = code.570;
            code.609 = code.608 + 1;
            code = code.609;
            D.23802 = imb.b[1];
            *code.608 = D.23802;
            code.570 = code;
            code.610 = code.570;
            code.611 = code.610 + 1;
            code = code.611;
            D.23805 = imb.b[2];
            *code.610 = D.23805;
            code.570 = code;
            code.612 = code.570;
            code.613 = code.612 + 1;
            code = code.613;
            D.23808 = imb.b[3];
            *code.612 = D.23808;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23792>:
      <D.23784>:
      goto <D.22457>;
      <D.23777>:
      if (0 != 0) goto <D.23809>; else goto <D.23810>;
      <D.23809>:
      code.570 = code;
      code.614 = code.570;
      code.615 = code.614 + 1;
      code = code.615;
      *code.614 = 5;
      goto <D.22457>;
      <D.23810>:
      if (1 != 0) goto <D.23813>; else goto <D.23814>;
      <D.23813>:
      code.570 = code;
      code.616 = code.570;
      code.617 = code.616 + 1;
      code = code.617;
      *code.616 = 69;
      code.570 = code;
      *code.570 = 8;
      code.570 = code;
      code.601 = code.570 + 1;
      code = code.601;
      goto <D.23817>;
      <D.23814>:
      code.570 = code;
      code.618 = code.570;
      code.619 = code.618 + 1;
      code = code.619;
      *code.618 = 133;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 8;
            code.570 = code;
            code.620 = code.570;
            code.621 = code.620 + 1;
            code = code.621;
            D.23822 = imb.b[0];
            *code.620 = D.23822;
            code.570 = code;
            code.622 = code.570;
            code.623 = code.622 + 1;
            code = code.623;
            D.23825 = imb.b[1];
            *code.622 = D.23825;
            code.570 = code;
            code.624 = code.570;
            code.625 = code.624 + 1;
            code = code.625;
            D.23828 = imb.b[2];
            *code.624 = D.23828;
            code.570 = code;
            code.626 = code.570;
            code.627 = code.626 + 1;
            code = code.627;
            D.23831 = imb.b[3];
            *code.626 = D.23831;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23817>:
      <D.22457>:
      switch (4) <default: <D.22463>, case 1: <D.22459>, case 2: <D.22461>, case 4: <D.22462>>
      <D.22459>:
      code.570 = code;
      code.628 = code.570;
      code.629 = code.628 + 1;
      code = code.629;
      *code.628 = 138;
      goto <D.22460>;
      <D.22461>:
      code.570 = code;
      code.630 = code.570;
      code.631 = code.630 + 1;
      code = code.631;
      *code.630 = 102;
      <D.22462>:
      code.570 = code;
      code.632 = code.570;
      code.633 = code.632 + 1;
      code = code.633;
      *code.632 = 139;
      goto <D.22460>;
      <D.22463>:
      __assert_fail ("0", "exceptions-x86.c", 416, &__PRETTY_FUNCTION__);
      <D.22460>:
      if (0 != 0) goto <D.23838>; else goto <D.23839>;
      <D.23838>:
      if (0 != 0) goto <D.23840>; else goto <D.23841>;
      <D.23840>:
      code.570 = code;
      code.634 = code.570;
      code.635 = code.634 + 1;
      code = code.635;
      *code.634 = 12;
      code.570 = code;
      code.636 = code.570;
      code.637 = code.636 + 1;
      code = code.637;
      *code.636 = 36;
      goto <D.23846>;
      <D.23841>:
      if (1 != 0) goto <D.23847>; else goto <D.23848>;
      <D.23847>:
      code.570 = code;
      code.638 = code.570;
      code.639 = code.638 + 1;
      code = code.639;
      *code.638 = 76;
      code.570 = code;
      code.640 = code.570;
      code.641 = code.640 + 1;
      code = code.641;
      *code.640 = 36;
      code.570 = code;
      *code.570 = 12;
      code.570 = code;
      code.601 = code.570 + 1;
      code = code.601;
      goto <D.23853>;
      <D.23848>:
      code.570 = code;
      code.642 = code.570;
      code.643 = code.642 + 1;
      code = code.643;
      *code.642 = 140;
      code.570 = code;
      code.644 = code.570;
      code.645 = code.644 + 1;
      code = code.645;
      *code.644 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 12;
            code.570 = code;
            code.646 = code.570;
            code.647 = code.646 + 1;
            code = code.647;
            D.23860 = imb.b[0];
            *code.646 = D.23860;
            code.570 = code;
            code.648 = code.570;
            code.649 = code.648 + 1;
            code = code.649;
            D.23863 = imb.b[1];
            *code.648 = D.23863;
            code.570 = code;
            code.650 = code.570;
            code.651 = code.650 + 1;
            code = code.651;
            D.23866 = imb.b[2];
            *code.650 = D.23866;
            code.570 = code;
            code.652 = code.570;
            code.653 = code.652 + 1;
            code = code.653;
            D.23869 = imb.b[3];
            *code.652 = D.23869;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23853>:
      <D.23846>:
      goto <D.22465>;
      <D.23839>:
      if (0 != 0) goto <D.23870>; else goto <D.23871>;
      <D.23870>:
      code.570 = code;
      code.654 = code.570;
      code.655 = code.654 + 1;
      code = code.655;
      *code.654 = 13;
      goto <D.22465>;
      <D.23871>:
      if (1 != 0) goto <D.23874>; else goto <D.23875>;
      <D.23874>:
      code.570 = code;
      code.656 = code.570;
      code.657 = code.656 + 1;
      code = code.657;
      *code.656 = 77;
      code.570 = code;
      *code.570 = 12;
      code.570 = code;
      code.601 = code.570 + 1;
      code = code.601;
      goto <D.23878>;
      <D.23875>:
      code.570 = code;
      code.658 = code.570;
      code.659 = code.658 + 1;
      code = code.659;
      *code.658 = 141;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 12;
            code.570 = code;
            code.660 = code.570;
            code.661 = code.660 + 1;
            code = code.661;
            D.23883 = imb.b[0];
            *code.660 = D.23883;
            code.570 = code;
            code.662 = code.570;
            code.663 = code.662 + 1;
            code = code.663;
            D.23886 = imb.b[1];
            *code.662 = D.23886;
            code.570 = code;
            code.664 = code.570;
            code.665 = code.664 + 1;
            code = code.665;
            D.23889 = imb.b[2];
            *code.664 = D.23889;
            code.570 = code;
            code.666 = code.570;
            code.667 = code.666 + 1;
            code = code.667;
            D.23892 = imb.b[3];
            *code.666 = D.23892;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23878>:
      <D.22465>:
      code.570 = code;
      code.668 = code.570;
      code.669 = code.668 + 1;
      code = code.669;
      *code.668 = 85;
      switch (4) <default: <D.22471>, case 1: <D.22467>, case 2: <D.22469>, case 4: <D.22470>>
      <D.22467>:
      code.570 = code;
      code.670 = code.570;
      code.671 = code.670 + 1;
      code = code.671;
      *code.670 = 138;
      goto <D.22468>;
      <D.22469>:
      code.570 = code;
      code.672 = code.570;
      code.673 = code.672 + 1;
      code = code.673;
      *code.672 = 102;
      <D.22470>:
      code.570 = code;
      code.674 = code.570;
      code.675 = code.674 + 1;
      code = code.675;
      *code.674 = 139;
      goto <D.22468>;
      <D.22471>:
      __assert_fail ("0", "exceptions-x86.c", 421, &__PRETTY_FUNCTION__);
      <D.22468>:
      if (0 != 0) goto <D.23901>; else goto <D.23902>;
      <D.23901>:
      if (0 != 0) goto <D.23903>; else goto <D.23904>;
      <D.23903>:
      code.570 = code;
      code.676 = code.570;
      code.677 = code.676 + 1;
      code = code.677;
      *code.676 = 44;
      code.570 = code;
      code.678 = code.570;
      code.679 = code.678 + 1;
      code = code.679;
      *code.678 = 36;
      goto <D.23909>;
      <D.23904>:
      if (1 != 0) goto <D.23910>; else goto <D.23911>;
      <D.23910>:
      code.570 = code;
      code.680 = code.570;
      code.681 = code.680 + 1;
      code = code.681;
      *code.680 = 108;
      code.570 = code;
      code.682 = code.570;
      code.683 = code.682 + 1;
      code = code.683;
      *code.682 = 36;
      code.570 = code;
      *code.570 = 16;
      code.570 = code;
      code.601 = code.570 + 1;
      code = code.601;
      goto <D.23916>;
      <D.23911>:
      code.570 = code;
      code.684 = code.570;
      code.685 = code.684 + 1;
      code = code.685;
      *code.684 = 172;
      code.570 = code;
      code.686 = code.570;
      code.687 = code.686 + 1;
      code = code.687;
      *code.686 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 16;
            code.570 = code;
            code.688 = code.570;
            code.689 = code.688 + 1;
            code = code.689;
            D.23923 = imb.b[0];
            *code.688 = D.23923;
            code.570 = code;
            code.690 = code.570;
            code.691 = code.690 + 1;
            code = code.691;
            D.23926 = imb.b[1];
            *code.690 = D.23926;
            code.570 = code;
            code.692 = code.570;
            code.693 = code.692 + 1;
            code = code.693;
            D.23929 = imb.b[2];
            *code.692 = D.23929;
            code.570 = code;
            code.694 = code.570;
            code.695 = code.694 + 1;
            code = code.695;
            D.23932 = imb.b[3];
            *code.694 = D.23932;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23916>:
      <D.23909>:
      goto <D.22473>;
      <D.23902>:
      if (0 != 0) goto <D.23933>; else goto <D.23934>;
      <D.23933>:
      code.570 = code;
      code.696 = code.570;
      code.697 = code.696 + 1;
      code = code.697;
      *code.696 = 40;
      goto <D.22473>;
      <D.23934>:
      if (1 != 0) goto <D.23937>; else goto <D.23938>;
      <D.23937>:
      code.570 = code;
      code.698 = code.570;
      code.699 = code.698 + 1;
      code = code.699;
      *code.698 = 104;
      code.570 = code;
      *code.570 = 16;
      code.570 = code;
      code.601 = code.570 + 1;
      code = code.601;
      goto <D.23941>;
      <D.23938>:
      code.570 = code;
      code.700 = code.570;
      code.701 = code.700 + 1;
      code = code.701;
      *code.700 = 168;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 16;
            code.570 = code;
            code.702 = code.570;
            code.703 = code.702 + 1;
            code = code.703;
            D.23946 = imb.b[0];
            *code.702 = D.23946;
            code.570 = code;
            code.704 = code.570;
            code.705 = code.704 + 1;
            code = code.705;
            D.23949 = imb.b[1];
            *code.704 = D.23949;
            code.570 = code;
            code.706 = code.570;
            code.707 = code.706 + 1;
            code = code.707;
            D.23952 = imb.b[2];
            *code.706 = D.23952;
            code.570 = code;
            code.708 = code.570;
            code.709 = code.708 + 1;
            code = code.709;
            D.23955 = imb.b[3];
            *code.708 = D.23955;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23941>:
      <D.22473>:
      switch (4) <default: <D.22479>, case 1: <D.22475>, case 2: <D.22477>, case 4: <D.22478>>
      <D.22475>:
      code.570 = code;
      code.710 = code.570;
      code.711 = code.710 + 1;
      code = code.711;
      *code.710 = 138;
      goto <D.22476>;
      <D.22477>:
      code.570 = code;
      code.712 = code.570;
      code.713 = code.712 + 1;
      code = code.713;
      *code.712 = 102;
      <D.22478>:
      code.570 = code;
      code.714 = code.570;
      code.715 = code.714 + 1;
      code = code.715;
      *code.714 = 139;
      goto <D.22476>;
      <D.22479>:
      __assert_fail ("0", "exceptions-x86.c", 423, &__PRETTY_FUNCTION__);
      <D.22476>:
      if (0 != 0) goto <D.23962>; else goto <D.23963>;
      <D.23962>:
      if (0 != 0) goto <D.23964>; else goto <D.23965>;
      <D.23964>:
      code.570 = code;
      code.716 = code.570;
      code.717 = code.716 + 1;
      code = code.717;
      *code.716 = 28;
      code.570 = code;
      code.718 = code.570;
      code.719 = code.718 + 1;
      code = code.719;
      *code.718 = 36;
      goto <D.23970>;
      <D.23965>:
      if (1 != 0) goto <D.23971>; else goto <D.23972>;
      <D.23971>:
      code.570 = code;
      code.720 = code.570;
      code.721 = code.720 + 1;
      code = code.721;
      *code.720 = 92;
      code.570 = code;
      code.722 = code.570;
      code.723 = code.722 + 1;
      code = code.723;
      *code.722 = 36;
      code.570 = code;
      *code.570 = 4;
      code.570 = code;
      code.601 = code.570 + 1;
      code = code.601;
      goto <D.23977>;
      <D.23972>:
      code.570 = code;
      code.724 = code.570;
      code.725 = code.724 + 1;
      code = code.725;
      *code.724 = 156;
      code.570 = code;
      code.726 = code.570;
      code.727 = code.726 + 1;
      code = code.727;
      *code.726 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 4;
            code.570 = code;
            code.728 = code.570;
            code.729 = code.728 + 1;
            code = code.729;
            D.23984 = imb.b[0];
            *code.728 = D.23984;
            code.570 = code;
            code.730 = code.570;
            code.731 = code.730 + 1;
            code = code.731;
            D.23987 = imb.b[1];
            *code.730 = D.23987;
            code.570 = code;
            code.732 = code.570;
            code.733 = code.732 + 1;
            code = code.733;
            D.23990 = imb.b[2];
            *code.732 = D.23990;
            code.570 = code;
            code.734 = code.570;
            code.735 = code.734 + 1;
            code = code.735;
            D.23993 = imb.b[3];
            *code.734 = D.23993;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.23977>:
      <D.23970>:
      goto <D.22481>;
      <D.23963>:
      if (0 != 0) goto <D.23994>; else goto <D.23995>;
      <D.23994>:
      code.570 = code;
      code.736 = code.570;
      code.737 = code.736 + 1;
      code = code.737;
      *code.736 = 24;
      goto <D.22481>;
      <D.23995>:
      if (1 != 0) goto <D.23998>; else goto <D.23999>;
      <D.23998>:
      code.570 = code;
      code.738 = code.570;
      code.739 = code.738 + 1;
      code = code.739;
      *code.738 = 88;
      code.570 = code;
      *code.570 = 4;
      code.570 = code;
      code.601 = code.570 + 1;
      code = code.601;
      goto <D.24002>;
      <D.23999>:
      code.570 = code;
      code.740 = code.570;
      code.741 = code.740 + 1;
      code = code.741;
      *code.740 = 152;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 4;
            code.570 = code;
            code.742 = code.570;
            code.743 = code.742 + 1;
            code = code.743;
            D.24007 = imb.b[0];
            *code.742 = D.24007;
            code.570 = code;
            code.744 = code.570;
            code.745 = code.744 + 1;
            code = code.745;
            D.24010 = imb.b[1];
            *code.744 = D.24010;
            code.570 = code;
            code.746 = code.570;
            code.747 = code.746 + 1;
            code = code.747;
            D.24013 = imb.b[2];
            *code.746 = D.24013;
            code.570 = code;
            code.748 = code.570;
            code.749 = code.748 + 1;
            code = code.749;
            D.24016 = imb.b[3];
            *code.748 = D.24016;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24002>:
      <D.22481>:
      switch (4) <default: <D.22487>, case 1: <D.22483>, case 2: <D.22485>, case 4: <D.22486>>
      <D.22483>:
      code.570 = code;
      code.750 = code.570;
      code.751 = code.750 + 1;
      code = code.751;
      *code.750 = 138;
      goto <D.22484>;
      <D.22485>:
      code.570 = code;
      code.752 = code.570;
      code.753 = code.752 + 1;
      code = code.753;
      *code.752 = 102;
      <D.22486>:
      code.570 = code;
      code.754 = code.570;
      code.755 = code.754 + 1;
      code = code.755;
      *code.754 = 139;
      goto <D.22484>;
      <D.22487>:
      __assert_fail ("0", "exceptions-x86.c", 424, &__PRETTY_FUNCTION__);
      <D.22484>:
      if (0 != 0) goto <D.24023>; else goto <D.24024>;
      <D.24023>:
      if (0 != 0) goto <D.24025>; else goto <D.24026>;
      <D.24025>:
      code.570 = code;
      code.756 = code.570;
      code.757 = code.756 + 1;
      code = code.757;
      *code.756 = 52;
      code.570 = code;
      code.758 = code.570;
      code.759 = code.758 + 1;
      code = code.759;
      *code.758 = 36;
      goto <D.24031>;
      <D.24026>:
      if (1 != 0) goto <D.24032>; else goto <D.24033>;
      <D.24032>:
      code.570 = code;
      code.760 = code.570;
      code.761 = code.760 + 1;
      code = code.761;
      *code.760 = 116;
      code.570 = code;
      code.762 = code.570;
      code.763 = code.762 + 1;
      code = code.763;
      *code.762 = 36;
      code.570 = code;
      *code.570 = 24;
      code.570 = code;
      code.601 = code.570 + 1;
      code = code.601;
      goto <D.24038>;
      <D.24033>:
      code.570 = code;
      code.764 = code.570;
      code.765 = code.764 + 1;
      code = code.765;
      *code.764 = 180;
      code.570 = code;
      code.766 = code.570;
      code.767 = code.766 + 1;
      code = code.767;
      *code.766 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 24;
            code.570 = code;
            code.768 = code.570;
            code.769 = code.768 + 1;
            code = code.769;
            D.24045 = imb.b[0];
            *code.768 = D.24045;
            code.570 = code;
            code.770 = code.570;
            code.771 = code.770 + 1;
            code = code.771;
            D.24048 = imb.b[1];
            *code.770 = D.24048;
            code.570 = code;
            code.772 = code.570;
            code.773 = code.772 + 1;
            code = code.773;
            D.24051 = imb.b[2];
            *code.772 = D.24051;
            code.570 = code;
            code.774 = code.570;
            code.775 = code.774 + 1;
            code = code.775;
            D.24054 = imb.b[3];
            *code.774 = D.24054;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24038>:
      <D.24031>:
      goto <D.22489>;
      <D.24024>:
      if (0 != 0) goto <D.24055>; else goto <D.24056>;
      <D.24055>:
      code.570 = code;
      code.776 = code.570;
      code.777 = code.776 + 1;
      code = code.777;
      *code.776 = 48;
      goto <D.22489>;
      <D.24056>:
      if (1 != 0) goto <D.24059>; else goto <D.24060>;
      <D.24059>:
      code.570 = code;
      code.778 = code.570;
      code.779 = code.778 + 1;
      code = code.779;
      *code.778 = 112;
      code.570 = code;
      *code.570 = 24;
      code.570 = code;
      code.601 = code.570 + 1;
      code = code.601;
      goto <D.24063>;
      <D.24060>:
      code.570 = code;
      code.780 = code.570;
      code.781 = code.780 + 1;
      code = code.781;
      *code.780 = 176;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 24;
            code.570 = code;
            code.782 = code.570;
            code.783 = code.782 + 1;
            code = code.783;
            D.24068 = imb.b[0];
            *code.782 = D.24068;
            code.570 = code;
            code.784 = code.570;
            code.785 = code.784 + 1;
            code = code.785;
            D.24071 = imb.b[1];
            *code.784 = D.24071;
            code.570 = code;
            code.786 = code.570;
            code.787 = code.786 + 1;
            code = code.787;
            D.24074 = imb.b[2];
            *code.786 = D.24074;
            code.570 = code;
            code.788 = code.570;
            code.789 = code.788 + 1;
            code = code.789;
            D.24077 = imb.b[3];
            *code.788 = D.24077;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24063>:
      <D.22489>:
      switch (4) <default: <D.22495>, case 1: <D.22491>, case 2: <D.22493>, case 4: <D.22494>>
      <D.22491>:
      code.570 = code;
      code.790 = code.570;
      code.791 = code.790 + 1;
      code = code.791;
      *code.790 = 138;
      goto <D.22492>;
      <D.22493>:
      code.570 = code;
      code.792 = code.570;
      code.793 = code.792 + 1;
      code = code.793;
      *code.792 = 102;
      <D.22494>:
      code.570 = code;
      code.794 = code.570;
      code.795 = code.794 + 1;
      code = code.795;
      *code.794 = 139;
      goto <D.22492>;
      <D.22495>:
      __assert_fail ("0", "exceptions-x86.c", 425, &__PRETTY_FUNCTION__);
      <D.22492>:
      if (0 != 0) goto <D.24084>; else goto <D.24085>;
      <D.24084>:
      if (0 != 0) goto <D.24086>; else goto <D.24087>;
      <D.24086>:
      code.570 = code;
      code.796 = code.570;
      code.797 = code.796 + 1;
      code = code.797;
      *code.796 = 60;
      code.570 = code;
      code.798 = code.570;
      code.799 = code.798 + 1;
      code = code.799;
      *code.798 = 36;
      goto <D.24092>;
      <D.24087>:
      if (1 != 0) goto <D.24093>; else goto <D.24094>;
      <D.24093>:
      code.570 = code;
      code.800 = code.570;
      code.801 = code.800 + 1;
      code = code.801;
      *code.800 = 124;
      code.570 = code;
      code.802 = code.570;
      code.803 = code.802 + 1;
      code = code.803;
      *code.802 = 36;
      code.570 = code;
      *code.570 = 28;
      code.570 = code;
      code.601 = code.570 + 1;
      code = code.601;
      goto <D.24099>;
      <D.24094>:
      code.570 = code;
      code.804 = code.570;
      code.805 = code.804 + 1;
      code = code.805;
      *code.804 = 188;
      code.570 = code;
      code.806 = code.570;
      code.807 = code.806 + 1;
      code = code.807;
      *code.806 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 28;
            code.570 = code;
            code.808 = code.570;
            code.809 = code.808 + 1;
            code = code.809;
            D.24106 = imb.b[0];
            *code.808 = D.24106;
            code.570 = code;
            code.810 = code.570;
            code.811 = code.810 + 1;
            code = code.811;
            D.24109 = imb.b[1];
            *code.810 = D.24109;
            code.570 = code;
            code.812 = code.570;
            code.813 = code.812 + 1;
            code = code.813;
            D.24112 = imb.b[2];
            *code.812 = D.24112;
            code.570 = code;
            code.814 = code.570;
            code.815 = code.814 + 1;
            code = code.815;
            D.24115 = imb.b[3];
            *code.814 = D.24115;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24099>:
      <D.24092>:
      goto <D.22497>;
      <D.24085>:
      if (0 != 0) goto <D.24116>; else goto <D.24117>;
      <D.24116>:
      code.570 = code;
      code.816 = code.570;
      code.817 = code.816 + 1;
      code = code.817;
      *code.816 = 56;
      goto <D.22497>;
      <D.24117>:
      if (1 != 0) goto <D.24120>; else goto <D.24121>;
      <D.24120>:
      code.570 = code;
      code.818 = code.570;
      code.819 = code.818 + 1;
      code = code.819;
      *code.818 = 120;
      code.570 = code;
      *code.570 = 28;
      code.570 = code;
      code.601 = code.570 + 1;
      code = code.601;
      goto <D.24124>;
      <D.24121>:
      code.570 = code;
      code.820 = code.570;
      code.821 = code.820 + 1;
      code = code.821;
      *code.820 = 184;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 28;
            code.570 = code;
            code.822 = code.570;
            code.823 = code.822 + 1;
            code = code.823;
            D.24129 = imb.b[0];
            *code.822 = D.24129;
            code.570 = code;
            code.824 = code.570;
            code.825 = code.824 + 1;
            code = code.825;
            D.24132 = imb.b[1];
            *code.824 = D.24132;
            code.570 = code;
            code.826 = code.570;
            code.827 = code.826 + 1;
            code = code.827;
            D.24135 = imb.b[2];
            *code.826 = D.24135;
            code.570 = code;
            code.828 = code.570;
            code.829 = code.828 + 1;
            code = code.829;
            D.24138 = imb.b[3];
            *code.828 = D.24138;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24124>:
      <D.22497>:
      switch (4) <default: <D.22503>, case 1: <D.22499>, case 2: <D.22501>, case 4: <D.22502>>
      <D.22499>:
      code.570 = code;
      code.830 = code.570;
      code.831 = code.830 + 1;
      code = code.831;
      *code.830 = 138;
      goto <D.22500>;
      <D.22501>:
      code.570 = code;
      code.832 = code.570;
      code.833 = code.832 + 1;
      code = code.833;
      *code.832 = 102;
      <D.22502>:
      code.570 = code;
      code.834 = code.570;
      code.835 = code.834 + 1;
      code = code.835;
      *code.834 = 139;
      goto <D.22500>;
      <D.22503>:
      __assert_fail ("0", "exceptions-x86.c", 428, &__PRETTY_FUNCTION__);
      <D.22500>:
      code.570 = code;
      code.836 = code.570;
      code.837 = code.836 + 1;
      code = code.837;
      *code.836 = 212;
      if (0 != 0) goto <D.24147>; else goto <D.24148>;
      <D.24147>:
      code.570 = code;
      code.838 = code.570;
      code.839 = code.838 + 1;
      code = code.839;
      *code.838 = 37;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = -16;
            code.570 = code;
            code.840 = code.570;
            code.841 = code.840 + 1;
            code = code.841;
            D.24153 = imb.b[0];
            *code.840 = D.24153;
            code.570 = code;
            code.842 = code.570;
            code.843 = code.842 + 1;
            code = code.843;
            D.24156 = imb.b[1];
            *code.842 = D.24156;
            code.570 = code;
            code.844 = code.570;
            code.845 = code.844 + 1;
            code = code.845;
            D.24159 = imb.b[2];
            *code.844 = D.24159;
            code.570 = code;
            code.846 = code.570;
            code.847 = code.846 + 1;
            code = code.847;
            D.24162 = imb.b[3];
            *code.846 = D.24162;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      goto <D.22505>;
      <D.24148>:
      if (1 != 0) goto <D.24163>; else goto <D.24164>;
      <D.24163>:
      code.570 = code;
      code.848 = code.570;
      code.849 = code.848 + 1;
      code = code.849;
      *code.848 = 131;
      code.570 = code;
      code.850 = code.570;
      code.851 = code.850 + 1;
      code = code.851;
      *code.850 = 228;
      code.570 = code;
      *code.570 = 240;
      code.570 = code;
      code.601 = code.570 + 1;
      code = code.601;
      goto <D.24169>;
      <D.24164>:
      code.570 = code;
      code.852 = code.570;
      code.853 = code.852 + 1;
      code = code.853;
      *code.852 = 129;
      code.570 = code;
      code.854 = code.570;
      code.855 = code.854 + 1;
      code = code.855;
      *code.854 = 228;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = -16;
            code.570 = code;
            code.856 = code.570;
            code.857 = code.856 + 1;
            code = code.857;
            D.24176 = imb.b[0];
            *code.856 = D.24176;
            code.570 = code;
            code.858 = code.570;
            code.859 = code.858 + 1;
            code = code.859;
            D.24179 = imb.b[1];
            *code.858 = D.24179;
            code.570 = code;
            code.860 = code.570;
            code.861 = code.860 + 1;
            code = code.861;
            D.24182 = imb.b[2];
            *code.860 = D.24182;
            code.570 = code;
            code.862 = code.570;
            code.863 = code.862 + 1;
            code = code.863;
            D.24185 = imb.b[3];
            *code.862 = D.24185;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24169>:
      <D.22505>:
      if (0 != 0) goto <D.24186>; else goto <D.24187>;
      <D.24186>:
      monoeg_assertion_message ("* Assertion at %s:%d, condition `%s\' not met\n", "exceptions-x86.c", 430, "MONO_ARCH_FRAME_ALIGNMENT >= 8");
      <D.24187>:
      if (0 != 0) goto <D.24188>; else goto <D.24189>;
      <D.24188>:
      code.570 = code;
      code.864 = code.570;
      code.865 = code.864 + 1;
      code = code.865;
      *code.864 = 45;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 8;
            code.570 = code;
            code.866 = code.570;
            code.867 = code.866 + 1;
            code = code.867;
            D.24194 = imb.b[0];
            *code.866 = D.24194;
            code.570 = code;
            code.868 = code.570;
            code.869 = code.868 + 1;
            code = code.869;
            D.24197 = imb.b[1];
            *code.868 = D.24197;
            code.570 = code;
            code.870 = code.570;
            code.871 = code.870 + 1;
            code = code.871;
            D.24200 = imb.b[2];
            *code.870 = D.24200;
            code.570 = code;
            code.872 = code.570;
            code.873 = code.872 + 1;
            code = code.873;
            D.24203 = imb.b[3];
            *code.872 = D.24203;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      goto <D.22508>;
      <D.24189>:
      if (1 != 0) goto <D.24204>; else goto <D.24205>;
      <D.24204>:
      code.570 = code;
      code.874 = code.570;
      code.875 = code.874 + 1;
      code = code.875;
      *code.874 = 131;
      code.570 = code;
      code.876 = code.570;
      code.877 = code.876 + 1;
      code = code.877;
      *code.876 = 236;
      code.570 = code;
      *code.570 = 8;
      code.570 = code;
      code.601 = code.570 + 1;
      code = code.601;
      goto <D.24210>;
      <D.24205>:
      code.570 = code;
      code.878 = code.570;
      code.879 = code.878 + 1;
      code = code.879;
      *code.878 = 129;
      code.570 = code;
      code.880 = code.570;
      code.881 = code.880 + 1;
      code = code.881;
      *code.880 = 236;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 8;
            code.570 = code;
            code.882 = code.570;
            code.883 = code.882 + 1;
            code = code.883;
            D.24217 = imb.b[0];
            *code.882 = D.24217;
            code.570 = code;
            code.884 = code.570;
            code.885 = code.884 + 1;
            code = code.885;
            D.24220 = imb.b[1];
            *code.884 = D.24220;
            code.570 = code;
            code.886 = code.570;
            code.887 = code.886 + 1;
            code = code.887;
            D.24223 = imb.b[2];
            *code.886 = D.24223;
            code.570 = code;
            code.888 = code.570;
            code.889 = code.888 + 1;
            code = code.889;
            D.24226 = imb.b[3];
            *code.888 = D.24226;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24210>:
      <D.22508>:
      code.570 = code;
      code.890 = code.570;
      code.891 = code.890 + 1;
      code = code.891;
      *code.890 = 82;
      code.570 = code;
      code.892 = code.570;
      code.893 = code.892 + 1;
      code = code.893;
      *code.892 = 255;
      code.570 = code;
      code.894 = code.570;
      code.895 = code.894 + 1;
      code = code.895;
      *code.894 = 209;
      code.570 = code;
      code.896 = code.570;
      code.897 = code.896 + 1;
      code = code.897;
      *code.896 = 92;
      code.570 = code;
      code.898 = code.570;
      code.899 = code.898 + 1;
      code = code.899;
      *code.898 = 93;
      code.570 = code;
      code.900 = code.570;
      code.901 = code.900 + 1;
      code = code.901;
      *code.900 = 94;
      code.570 = code;
      code.902 = code.570;
      code.903 = code.902 + 1;
      code = code.903;
      *code.902 = 95;
      code.570 = code;
      code.904 = code.570;
      code.905 = code.904 + 1;
      code = code.905;
      *code.904 = 91;
      code.570 = code;
      code.906 = code.570;
      code.907 = code.906 + 1;
      code = code.907;
      *code.906 = 201;
      code.570 = code;
      code.908 = code.570;
      code.909 = code.908 + 1;
      code = code.909;
      *code.908 = 195;
      kMaxCodeSize.568 = (int) kMaxCodeSize;
      nacl_global_codeman_validate (&start, kMaxCodeSize.568, &code);
      if (info != 0B) goto <D.24247>; else goto <D.24248>;
      <D.24247>:
      code.570 = code;
      code.910 = (int) code.570;
      start.911 = start;
      start.912 = (int) start.911;
      D.24252 = code.910 - start.912;
      D.24253 = (unsigned int) D.24252;
      start.911 = start;
      D.24254 = mono_tramp_info_create ("call_filter", start.911, D.24253, ji, unwind_ops);
      *info = D.24254;
      goto <D.24255>;
      <D.24248>:
      {
        struct GSList * l;

        l = unwind_ops;
        goto <D.22512>;
        <D.22511>:
        D.24256 = l->data;
        monoeg_g_free (D.24256);
        l = l->next;
        <D.22512>:
        if (l != 0B) goto <D.22511>; else goto <D.22513>;
        <D.22513>:
        monoeg_g_slist_free (unwind_ops);
      }
      <D.24255>:
      code.570 = code;
      code.910 = (int) code.570;
      start.911 = start;
      start.912 = (int) start.911;
      D.24252 = code.910 - start.912;
      D.24257 = (unsigned int) D.24252;
      D.24258 = D.24257 >= kMaxCodeSize;
      D.24259 = (long int) D.24258;
      D.24260 = __builtin_expect (D.24259, 0);
      if (D.24260 != 0) goto <D.24261>; else goto <D.24262>;
      <D.24261>:
      monoeg_assertion_message ("* Assertion at %s:%d, condition `%s\' not met\n", "exceptions-x86.c", 462, "(code - start) < kMaxCodeSize");
      <D.24262>:
      D.24263 = start;
      return D.24263;
    }
  finally
    {
      start = {CLOBBER};
      code = {CLOBBER};
    }
}


mono_x86_throw_exception (mgreg_t * regs, struct MonoObject * exc, mgreg_t eip, gboolean rethrow)
{
  int D.24266;
  int D.24267;
  int D.24268;
  int D.24269;
  int D.24270;
  int D.24271;
  int D.24272;
  int D.24273;
  struct MonoClass * D.24274;
  struct MonoObject * D.24275;
  int D.24280;
  int D.24281;
  struct MonoContext ctx;

  try
    {
      D.24266 = MEM[(mgreg_t *)regs + 16B];
      ctx.esp = D.24266;
      ctx.eip = eip;
      D.24267 = MEM[(mgreg_t *)regs + 20B];
      ctx.ebp = D.24267;
      D.24268 = MEM[(mgreg_t *)regs + 28B];
      ctx.edi = D.24268;
      D.24269 = MEM[(mgreg_t *)regs + 24B];
      ctx.esi = D.24269;
      D.24270 = MEM[(mgreg_t *)regs + 12B];
      ctx.ebx = D.24270;
      D.24271 = MEM[(mgreg_t *)regs + 8B];
      ctx.edx = D.24271;
      D.24272 = MEM[(mgreg_t *)regs + 4B];
      ctx.ecx = D.24272;
      D.24273 = *regs;
      ctx.eax = D.24273;
      D.24274 = mono_defaults.exception_class;
      D.24275 = mono_object_isinst (exc, D.24274);
      if (D.24275 != 0B) goto <D.24276>; else goto <D.24277>;
      <D.24276>:
      {
        struct MonoException * mono_ex;

        mono_ex = exc;
        if (rethrow == 0) goto <D.24278>; else goto <D.24279>;
        <D.24278>:
        mono_ex->stack_trace = 0B;
        <D.24279>:
      }
      <D.24277>:
      D.24280 = ctx.eip;
      D.24281 = D.24280 + -1;
      ctx.eip = D.24281;
      mono_handle_exception (&ctx, exc);
      mono_restore_context (&ctx);
      monoeg_assertion_message ("* Assertion: should not be reached at %s:%d\n", "exceptions-x86.c", 505);
    }
  finally
    {
      ctx = {CLOBBER};
    }
}


mono_x86_throw_corlib_exception (mgreg_t * regs, guint32 ex_token_index, mgreg_t eip, gint32 pc_offset)
{
  struct MonoClass * D.24282;
  struct MonoImage * D.24283;
  guint32 ex_token;
  struct MonoException * ex;

  ex_token = ex_token_index | 33554432;
  D.24282 = mono_defaults.exception_class;
  D.24283 = D.24282->image;
  ex = mono_exception_from_token (D.24283, ex_token);
  eip = eip - pc_offset;
  eip = eip + 1;
  mono_x86_throw_exception (regs, ex, eip, 0);
}


mono_arch_get_throw_exception (struct MonoTrampInfo * * info, gboolean aot)
{
  void * D.24284;

  D.24284 = get_throw_trampoline ("throw_exception", 0, 0, 0, 0, 0, info, aot);
  return D.24284;
}


get_throw_trampoline (const char * name, gboolean rethrow, gboolean llvm, gboolean corlib, gboolean llvm_abs, gboolean resume_unwind, struct MonoTrampInfo * * info, gboolean aot)
{
  int kMaxCodeSize.913;
  void * code.914;
  guint8 * code.915;
  _Bool D.24289;
  _Bool D.24290;
  _Bool D.24291;
  struct MonoUnwindOp * D.24295;
  struct MonoUnwindOp * D.24296;
  guint8 * code.916;
  guint8 * code.917;
  guint8 * code.918;
  guint8 * code.919;
  unsigned char D.24303;
  guint8 * code.920;
  guint8 * code.921;
  unsigned char D.24306;
  guint8 * code.922;
  guint8 * code.923;
  unsigned char D.24309;
  guint8 * code.924;
  guint8 * code.925;
  unsigned char D.24312;
  unsigned int stack_size.926;
  unsigned int D.24314;
  guint8 * code.927;
  guint8 * code.928;
  guint8 * code.929;
  guint8 * code.930;
  unsigned char D.24321;
  guint8 * code.931;
  guint8 * code.932;
  guint8 * code.933;
  guint8 * code.934;
  guint8 * code.935;
  guint8 * code.936;
  guint8 * code.937;
  unsigned char D.24330;
  guint8 * code.938;
  guint8 * code.939;
  unsigned char D.24333;
  guint8 * code.940;
  guint8 * code.941;
  unsigned char D.24336;
  guint8 * code.942;
  guint8 * code.943;
  unsigned char D.24339;
  int D.24340;
  int code.944;
  guint8 * start.945;
  int start.946;
  int D.24344;
  struct MonoUnwindOp * D.24345;
  guint8 * code.947;
  guint8 * code.948;
  guint8 * code.949;
  guint8 * code.950;
  guint8 * code.951;
  guint8 * code.952;
  int D.24356;
  int D.24357;
  guint8 * code.953;
  guint8 * code.954;
  int D.24362;
  int D.24363;
  signed char D.24364;
  signed char D.24365;
  unsigned char D.24366;
  guint8 * code.955;
  guint8 * code.956;
  unsigned int D.24370;
  unsigned int D.24371;
  guint8 * code.957;
  guint8 * code.958;
  signed char D.24376;
  unsigned char D.24377;
  guint8 * code.959;
  guint8 * code.960;
  unsigned char D.24380;
  unsigned char D.24381;
  unsigned char D.24382;
  unsigned char D.24383;
  guint8 * code.961;
  guint8 * code.962;
  signed char D.24387;
  unsigned char D.24388;
  guint8 * code.963;
  guint8 * code.964;
  guint8 * code.965;
  guint8 * code.966;
  unsigned char D.24393;
  guint8 * code.967;
  guint8 * code.968;
  unsigned char D.24396;
  guint8 * code.969;
  guint8 * code.970;
  unsigned char D.24399;
  guint8 * code.971;
  guint8 * code.972;
  unsigned char D.24402;
  guint8 * code.973;
  guint8 * code.974;
  guint8 * code.975;
  guint8 * code.976;
  guint8 * code.977;
  guint8 * code.978;
  guint8 * code.979;
  guint8 * code.980;
  unsigned char D.24416;
  guint8 * code.981;
  guint8 * code.982;
  unsigned char D.24419;
  guint8 * code.983;
  guint8 * code.984;
  unsigned char D.24422;
  guint8 * code.985;
  guint8 * code.986;
  unsigned char D.24425;
  int mono_do_x86_stack_align.987;
  guint8 * code.988;
  guint8 * code.989;
  guint8 * code.990;
  guint8 * code.991;
  guint8 * code.992;
  guint8 * code.993;
  unsigned int stack_offset.994;
  unsigned int D.24447;
  guint8 * code.995;
  guint8 * code.996;
  guint8 * code.997;
  guint8 * code.998;
  unsigned char D.24454;
  guint8 * code.999;
  guint8 * code.1000;
  guint8 * code.1001;
  guint8 * code.1002;
  guint8 * code.1003;
  guint8 * code.1004;
  unsigned char D.24462;
  guint8 * code.1005;
  guint8 * code.1006;
  unsigned char D.24465;
  guint8 * code.1007;
  guint8 * code.1008;
  unsigned char D.24468;
  guint8 * code.1009;
  guint8 * code.1010;
  unsigned char D.24471;
  guint8 * code.1011;
  guint8 * code.1012;
  guint8 * code.1013;
  guint8 * code.1014;
  guint8 * code.1015;
  guint8 * code.1016;
  guint8 * code.1017;
  guint8 * code.1018;
  unsigned char D.24485;
  guint8 * code.1019;
  guint8 * code.1020;
  unsigned char D.24488;
  guint8 * code.1021;
  guint8 * code.1022;
  unsigned char D.24491;
  guint8 * code.1023;
  guint8 * code.1024;
  unsigned char D.24494;
  guint8 * code.1025;
  guint8 * code.1026;
  guint8 * code.1027;
  guint8 * code.1028;
  guint8 * code.1029;
  guint8 * code.1030;
  guint8 * code.1031;
  guint8 * code.1032;
  guint8 * code.1033;
  guint8 * code.1034;
  unsigned int regs_offset.1035;
  unsigned int D.24511;
  guint8 * code.1036;
  guint8 * code.1037;
  guint8 * code.1038;
  guint8 * code.1039;
  unsigned char D.24518;
  guint8 * code.1040;
  guint8 * code.1041;
  guint8 * code.1042;
  guint8 * code.1043;
  int D.24524;
  guint8 * code.1044;
  guint8 * code.1045;
  unsigned char D.24527;
  guint8 * code.1046;
  guint8 * code.1047;
  unsigned char D.24530;
  guint8 * code.1048;
  guint8 * code.1049;
  unsigned char D.24533;
  guint8 * code.1050;
  guint8 * code.1051;
  unsigned char D.24536;
  guint8 * code.1052;
  guint8 * code.1053;
  guint8 * code.1054;
  guint8 * code.1055;
  guint8 * code.1056;
  guint8 * code.1057;
  guint8 * code.1058;
  guint8 * code.1059;
  unsigned char D.24550;
  guint8 * code.1060;
  guint8 * code.1061;
  unsigned char D.24553;
  guint8 * code.1062;
  guint8 * code.1063;
  unsigned char D.24556;
  guint8 * code.1064;
  guint8 * code.1065;
  unsigned char D.24559;
  guint8 * code.1066;
  guint8 * code.1067;
  guint8 * code.1068;
  guint8 * code.1069;
  guint8 * code.1070;
  guint8 * code.1071;
  unsigned int D.24571;
  guint8 * code.1072;
  guint8 * code.1073;
  guint8 * code.1074;
  guint8 * code.1075;
  unsigned char D.24578;
  guint8 * code.1076;
  guint8 * code.1077;
  guint8 * code.1078;
  guint8 * code.1079;
  guint8 * code.1080;
  guint8 * code.1081;
  unsigned char D.24586;
  guint8 * code.1082;
  guint8 * code.1083;
  unsigned char D.24589;
  guint8 * code.1084;
  guint8 * code.1085;
  unsigned char D.24592;
  guint8 * code.1086;
  guint8 * code.1087;
  unsigned char D.24595;
  guint8 * code.1088;
  guint8 * code.1089;
  guint8 * code.1090;
  guint8 * code.1091;
  guint8 * code.1092;
  guint8 * code.1093;
  guint8 * code.1094;
  guint8 * code.1095;
  unsigned char D.24609;
  guint8 * code.1096;
  guint8 * code.1097;
  unsigned char D.24612;
  guint8 * code.1098;
  guint8 * code.1099;
  unsigned char D.24615;
  guint8 * code.1100;
  guint8 * code.1101;
  unsigned char D.24618;
  guint8 * code.1102;
  guint8 * code.1103;
  guint8 * code.1104;
  guint8 * code.1105;
  guint8 * code.1106;
  guint8 * code.1107;
  int D.24627;
  guint8 * code.1108;
  guint8 * code.1109;
  guint8 * code.1110;
  guint8 * code.1111;
  unsigned int D.24635;
  unsigned int D.24636;
  guint8 * code.1112;
  guint8 * code.1113;
  guint8 * code.1114;
  guint8 * code.1115;
  unsigned char D.24643;
  guint8 * code.1116;
  guint8 * code.1117;
  guint8 * code.1118;
  guint8 * code.1119;
  guint8 * code.1120;
  guint8 * code.1121;
  unsigned char D.24651;
  guint8 * code.1122;
  guint8 * code.1123;
  unsigned char D.24654;
  guint8 * code.1124;
  guint8 * code.1125;
  unsigned char D.24657;
  guint8 * code.1126;
  guint8 * code.1127;
  unsigned char D.24660;
  guint8 * code.1128;
  guint8 * code.1129;
  guint8 * code.1130;
  guint8 * code.1131;
  guint8 * code.1132;
  guint8 * code.1133;
  guint8 * code.1134;
  guint8 * code.1135;
  unsigned char D.24674;
  guint8 * code.1136;
  guint8 * code.1137;
  unsigned char D.24677;
  guint8 * code.1138;
  guint8 * code.1139;
  unsigned char D.24680;
  guint8 * code.1140;
  guint8 * code.1141;
  unsigned char D.24683;
  guint8 * code.1142;
  guint8 * code.1143;
  guint8 * code.1144;
  guint8 * code.1145;
  unsigned char D.24690;
  guint8 * code.1146;
  guint8 * code.1147;
  unsigned char D.24693;
  guint8 * code.1148;
  guint8 * code.1149;
  unsigned char D.24696;
  guint8 * code.1150;
  guint8 * code.1151;
  unsigned char D.24699;
  guint8 * code.1152;
  guint8 * code.1153;
  guint8 * code.1154;
  guint8 * code.1155;
  guint8 * code.1156;
  guint8 * code.1157;
  guint8 * code.1158;
  guint8 * code.1159;
  guint8 * code.1160;
  guint8 * code.1161;
  unsigned int D.24716;
  guint8 * code.1162;
  guint8 * code.1163;
  guint8 * code.1164;
  guint8 * code.1165;
  unsigned char D.24723;
  unsigned char D.24724;
  guint8 * code.1166;
  guint8 * code.1167;
  guint8 * code.1168;
  guint8 * code.1169;
  guint8 * code.1170;
  guint8 * code.1171;
  unsigned char D.24732;
  guint8 * code.1172;
  guint8 * code.1173;
  unsigned char D.24735;
  guint8 * code.1174;
  guint8 * code.1175;
  unsigned char D.24738;
  guint8 * code.1176;
  guint8 * code.1177;
  unsigned char D.24741;
  guint8 * code.1178;
  guint8 * code.1179;
  guint8 * code.1180;
  guint8 * code.1181;
  guint8 * code.1182;
  guint8 * code.1183;
  guint8 * code.1184;
  guint8 * code.1185;
  unsigned char D.24755;
  guint8 * code.1186;
  guint8 * code.1187;
  unsigned char D.24758;
  guint8 * code.1188;
  guint8 * code.1189;
  unsigned char D.24761;
  guint8 * code.1190;
  guint8 * code.1191;
  unsigned char D.24764;
  guint8 * code.1192;
  guint8 * code.1193;
  guint8 * code.1194;
  guint8 * code.1195;
  guint8 * code.1196;
  guint8 * code.1197;
  int D.24773;
  guint8 * code.1198;
  guint8 * code.1199;
  guint8 * code.1200;
  guint8 * code.1201;
  unsigned int D.24781;
  unsigned int D.24782;
  guint8 * code.1202;
  guint8 * code.1203;
  guint8 * code.1204;
  guint8 * code.1205;
  unsigned char D.24789;
  guint8 * code.1206;
  guint8 * code.1207;
  guint8 * code.1208;
  guint8 * code.1209;
  guint8 * code.1210;
  guint8 * code.1211;
  unsigned char D.24797;
  guint8 * code.1212;
  guint8 * code.1213;
  unsigned char D.24800;
  guint8 * code.1214;
  guint8 * code.1215;
  unsigned char D.24803;
  guint8 * code.1216;
  guint8 * code.1217;
  unsigned char D.24806;
  guint8 * code.1218;
  guint8 * code.1219;
  guint8 * code.1220;
  guint8 * code.1221;
  guint8 * code.1222;
  guint8 * code.1223;
  guint8 * code.1224;
  guint8 * code.1225;
  unsigned char D.24820;
  guint8 * code.1226;
  guint8 * code.1227;
  unsigned char D.24823;
  guint8 * code.1228;
  guint8 * code.1229;
  unsigned char D.24826;
  guint8 * code.1230;
  guint8 * code.1231;
  unsigned char D.24829;
  guint8 * code.1232;
  guint8 * code.1233;
  guint8 * code.1234;
  guint8 * code.1235;
  guint8 * code.1236;
  guint8 * code.1237;
  guint8 * code.1238;
  guint8 * code.1239;
  guint8 * code.1240;
  guint8 * code.1241;
  guint8 * code.1242;
  guint8 * code.1243;
  guint8 * code.1244;
  guint8 * code.1245;
  guint8 * code.1246;
  guint8 * code.1247;
  guint8 * code.1248;
  guint8 * code.1249;
  guint8 * code.1250;
  guint8 * code.1251;
  guint8 * code.1252;
  guint8 * code.1253;
  guint8 * code.1254;
  guint8 * code.1255;
  unsigned char D.24865;
  guint8 * code.1256;
  guint8 * code.1257;
  unsigned char D.24868;
  guint8 * code.1258;
  guint8 * code.1259;
  unsigned char D.24871;
  guint8 * code.1260;
  guint8 * code.1261;
  unsigned char D.24874;
  guint8 * code.1262;
  guint8 * code.1263;
  guint8 * code.1264;
  guint8 * code.1265;
  guint8 * code.1266;
  guint8 * code.1267;
  guint8 * code.1268;
  guint8 * code.1269;
  unsigned char D.24888;
  guint8 * code.1270;
  guint8 * code.1271;
  unsigned char D.24891;
  guint8 * code.1272;
  guint8 * code.1273;
  unsigned char D.24894;
  guint8 * code.1274;
  guint8 * code.1275;
  unsigned char D.24897;
  guint8 * code.1276;
  guint8 * code.1277;
  guint8 * code.1278;
  guint8 * code.1279;
  guint8 * code.1280;
  guint8 * code.1281;
  int D.24906;
  guint8 * code.1282;
  guint8 * code.1283;
  guint8 * code.1284;
  guint8 * code.1285;
  unsigned int D.24914;
  unsigned int D.24915;
  guint8 * code.1286;
  guint8 * code.1287;
  guint8 * code.1288;
  guint8 * code.1289;
  unsigned char D.24922;
  guint8 * code.1290;
  guint8 * code.1291;
  guint8 * code.1292;
  guint8 * code.1293;
  guint8 * code.1294;
  guint8 * code.1295;
  unsigned char D.24930;
  guint8 * code.1296;
  guint8 * code.1297;
  unsigned char D.24933;
  guint8 * code.1298;
  guint8 * code.1299;
  unsigned char D.24936;
  guint8 * code.1300;
  guint8 * code.1301;
  unsigned char D.24939;
  guint8 * code.1302;
  guint8 * code.1303;
  guint8 * code.1304;
  guint8 * code.1305;
  guint8 * code.1306;
  guint8 * code.1307;
  guint8 * code.1308;
  guint8 * code.1309;
  unsigned char D.24953;
  guint8 * code.1310;
  guint8 * code.1311;
  unsigned char D.24956;
  guint8 * code.1312;
  guint8 * code.1313;
  unsigned char D.24959;
  guint8 * code.1314;
  guint8 * code.1315;
  unsigned char D.24962;
  guint8 * code.1316;
  guint8 * code.1317;
  int D.24971;
  guint8 * code.1318;
  guint8 * code.1319;
  guint8 * code.1320;
  guint8 * code.1321;
  unsigned int D.24979;
  unsigned int D.24980;
  guint8 * code.1322;
  guint8 * code.1323;
  guint8 * code.1324;
  guint8 * code.1325;
  unsigned char D.24987;
  guint8 * code.1326;
  guint8 * code.1327;
  guint8 * code.1328;
  guint8 * code.1329;
  guint8 * code.1330;
  guint8 * code.1331;
  unsigned char D.24995;
  guint8 * code.1332;
  guint8 * code.1333;
  unsigned char D.24998;
  guint8 * code.1334;
  guint8 * code.1335;
  unsigned char D.25001;
  guint8 * code.1336;
  guint8 * code.1337;
  unsigned char D.25004;
  guint8 * code.1338;
  guint8 * code.1339;
  guint8 * code.1340;
  guint8 * code.1341;
  guint8 * code.1342;
  guint8 * code.1343;
  guint8 * code.1344;
  guint8 * code.1345;
  unsigned char D.25018;
  guint8 * code.1346;
  guint8 * code.1347;
  unsigned char D.25021;
  guint8 * code.1348;
  guint8 * code.1349;
  unsigned char D.25024;
  guint8 * code.1350;
  guint8 * code.1351;
  unsigned char D.25027;
  guint8 * code.1352;
  guint8 * code.1353;
  guint8 * code.1354;
  guint8 * code.1355;
  guint8 * code.1356;
  guint8 * code.1357;
  guint8 * code.1358;
  guint8 * code.1359;
  guint8 * code.1360;
  guint8 * code.1361;
  guint8 * code.1362;
  guint8 * code.1363;
  guint8 * code.1364;
  guint8 * code.1365;
  guint8 * code.1366;
  guint8 * code.1367;
  guint8 * code.1368;
  guint8 * code.1369;
  unsigned char D.25057;
  guint8 * code.1370;
  guint8 * code.1371;
  unsigned char D.25060;
  guint8 * code.1372;
  guint8 * code.1373;
  unsigned char D.25063;
  guint8 * code.1374;
  guint8 * code.1375;
  unsigned char D.25066;
  guint8 * code.1376;
  guint8 * code.1377;
  guint8 * code.1378;
  guint8 * code.1379;
  guint8 * code.1380;
  guint8 * code.1381;
  guint8 * code.1382;
  guint8 * code.1383;
  unsigned char D.25080;
  guint8 * code.1384;
  guint8 * code.1385;
  unsigned char D.25083;
  guint8 * code.1386;
  guint8 * code.1387;
  unsigned char D.25086;
  guint8 * code.1388;
  guint8 * code.1389;
  unsigned char D.25089;
  guint8 * code.1390;
  guint8 * code.1391;
  guint8 * code.1392;
  guint8 * code.1393;
  guint8 * code.1394;
  guint8 * code.1395;
  guint8 * code.1396;
  guint8 * code.1397;
  guint8 * code.1398;
  guint8 * code.1399;
  guint8 * code.1400;
  guint8 * code.1401;
  guint8 * code.1402;
  guint8 * code.1403;
  guint8 * code.1404;
  guint8 * code.1405;
  guint8 * code.1406;
  unsigned char D.25116;
  guint8 * code.1407;
  guint8 * code.1408;
  unsigned char D.25119;
  guint8 * code.1409;
  guint8 * code.1410;
  unsigned char D.25122;
  guint8 * code.1411;
  guint8 * code.1412;
  unsigned char D.25125;
  guint8 * code.1413;
  guint8 * code.1414;
  guint8 * code.1415;
  guint8 * code.1416;
  guint8 * code.1417;
  guint8 * code.1418;
  guint8 * code.1419;
  guint8 * code.1420;
  unsigned char D.25139;
  guint8 * code.1421;
  guint8 * code.1422;
  unsigned char D.25142;
  guint8 * code.1423;
  guint8 * code.1424;
  unsigned char D.25145;
  guint8 * code.1425;
  guint8 * code.1426;
  unsigned char D.25148;
  guint8 * code.1427;
  guint8 * code.1428;
  unsigned char D.25151;
  guint8 * code.1429;
  guint8 * code.1430;
  unsigned char D.25154;
  guint8 * code.1431;
  guint8 * code.1432;
  unsigned char D.25157;
  guint8 * code.1433;
  guint8 * code.1434;
  unsigned char D.25160;
  guint8 * code.1435;
  guint8 * code.1436;
  guint8 * code.1437;
  guint8 * code.1438;
  guint8 * code.1439;
  guint8 * code.1440;
  guint8 * code.1441;
  guint8 * code.1442;
  guint8 * code.1443;
  guint8 * code.1444;
  unsigned int D.25179;
  guint8 * code.1445;
  guint8 * code.1446;
  guint8 * code.1447;
  guint8 * code.1448;
  unsigned char D.25186;
  guint8 * code.1449;
  guint8 * code.1450;
  guint8 * code.1451;
  guint8 * code.1452;
  int D.25192;
  guint8 * code.1453;
  guint8 * code.1454;
  unsigned char D.25195;
  guint8 * code.1455;
  guint8 * code.1456;
  unsigned char D.25198;
  guint8 * code.1457;
  guint8 * code.1458;
  unsigned char D.25201;
  guint8 * code.1459;
  guint8 * code.1460;
  unsigned char D.25204;
  guint8 * code.1461;
  guint8 * code.1462;
  guint8 * code.1463;
  guint8 * code.1464;
  guint8 * code.1465;
  guint8 * code.1466;
  guint8 * code.1467;
  guint8 * code.1468;
  unsigned char D.25218;
  guint8 * code.1469;
  guint8 * code.1470;
  unsigned char D.25221;
  guint8 * code.1471;
  guint8 * code.1472;
  unsigned char D.25224;
  guint8 * code.1473;
  guint8 * code.1474;
  unsigned char D.25227;
  guint8 * code.1475;
  guint8 * code.1476;
  guint8 * code.1477;
  guint8 * code.1478;
  guint8 * code.1479;
  guint8 * code.1480;
  guint8 * code.1481;
  guint8 * code.1482;
  guint8 * code.1483;
  guint8 * code.1484;
  guint8 * code.1485;
  guint8 * code.1486;
  guint8 * code.1487;
  guint8 * code.1488;
  guint8 * code.1489;
  guint8 * code.1490;
  guint8 * code.1491;
  guint8 * code.1492;
  guint8 * code.1493;
  guint8 * code.1494;
  guint8 * code.1495;
  guint8 * code.1496;
  guint8 * code.1497;
  guint8 * code.1498;
  unsigned char D.25262;
  guint8 * code.1499;
  guint8 * code.1500;
  unsigned char D.25265;
  guint8 * code.1501;
  guint8 * code.1502;
  unsigned char D.25268;
  guint8 * code.1503;
  guint8 * code.1504;
  unsigned char D.25271;
  guint8 * code.1505;
  guint8 * code.1506;
  guint8 * code.1507;
  guint8 * code.1508;
  guint8 * code.1509;
  guint8 * code.1510;
  guint8 * code.1511;
  guint8 * code.1512;
  unsigned char D.25285;
  guint8 * code.1513;
  guint8 * code.1514;
  unsigned char D.25288;
  guint8 * code.1515;
  guint8 * code.1516;
  unsigned char D.25291;
  guint8 * code.1517;
  guint8 * code.1518;
  unsigned char D.25294;
  guint8 * code.1519;
  guint8 * code.1520;
  guint8 * code.1521;
  guint8 * code.1522;
  guint8 * code.1523;
  guint8 * code.1524;
  guint8 * code.1525;
  guint8 * code.1526;
  guint8 * code.1527;
  guint8 * code.1528;
  guint8 * code.1529;
  guint8 * code.1530;
  guint8 * code.1531;
  guint8 * code.1532;
  guint8 * code.1533;
  guint8 * code.1534;
  unsigned char D.25322;
  guint8 * code.1535;
  guint8 * code.1536;
  unsigned char D.25325;
  guint8 * code.1537;
  guint8 * code.1538;
  unsigned char D.25328;
  guint8 * code.1539;
  guint8 * code.1540;
  unsigned char D.25331;
  guint8 * code.1541;
  guint8 * code.1542;
  guint8 * code.1543;
  guint8 * code.1544;
  guint8 * code.1545;
  guint8 * code.1546;
  guint8 * code.1547;
  guint8 * code.1548;
  unsigned char D.25345;
  guint8 * code.1549;
  guint8 * code.1550;
  unsigned char D.25348;
  guint8 * code.1551;
  guint8 * code.1552;
  unsigned char D.25351;
  guint8 * code.1553;
  guint8 * code.1554;
  unsigned char D.25354;
  unsigned char D.25355;
  guint8 * code.1555;
  guint8 * code.1556;
  guint8 * code.1557;
  guint8 * code.1558;
  guint8 * code.1559;
  guint8 * code.1560;
  guint8 * code.1561;
  guint8 * code.1562;
  guint8 * code.1563;
  guint8 * code.1564;
  guint8 * code.1565;
  guint8 * code.1566;
  guint8 * code.1567;
  guint8 * code.1568;
  guint8 * code.1569;
  guint8 * code.1570;
  guint8 * code.1571;
  guint8 * code.1572;
  unsigned char D.25385;
  guint8 * code.1573;
  guint8 * code.1574;
  unsigned char D.25388;
  guint8 * code.1575;
  guint8 * code.1576;
  unsigned char D.25391;
  guint8 * code.1577;
  guint8 * code.1578;
  unsigned char D.25394;
  guint8 * code.1579;
  guint8 * code.1580;
  guint8 * code.1581;
  guint8 * code.1582;
  guint8 * code.1583;
  guint8 * code.1584;
  guint8 * code.1585;
  guint8 * code.1586;
  unsigned char D.25408;
  guint8 * code.1587;
  guint8 * code.1588;
  unsigned char D.25411;
  guint8 * code.1589;
  guint8 * code.1590;
  unsigned char D.25414;
  guint8 * code.1591;
  guint8 * code.1592;
  unsigned char D.25417;
  short int D.25418;
  guint8 * code.1593;
  guint8 * code.1594;
  guint8 * code.1595;
  guint8 * code.1596;
  guint8 * code.1597;
  guint8 * code.1598;
  guint8 * code.1599;
  guint8 * code.1600;
  guint8 * code.1601;
  guint8 * code.1602;
  guint8 * code.1603;
  guint8 * code.1604;
  guint8 * code.1605;
  guint8 * code.1606;
  guint8 * code.1607;
  guint8 * code.1608;
  unsigned char D.25444;
  guint8 * code.1609;
  guint8 * code.1610;
  unsigned char D.25447;
  guint8 * code.1611;
  guint8 * code.1612;
  unsigned char D.25450;
  guint8 * code.1613;
  guint8 * code.1614;
  unsigned char D.25453;
  guint8 * code.1615;
  guint8 * code.1616;
  guint8 * code.1617;
  guint8 * code.1618;
  guint8 * code.1619;
  guint8 * code.1620;
  guint8 * code.1621;
  guint8 * code.1622;
  unsigned char D.25467;
  guint8 * code.1623;
  guint8 * code.1624;
  unsigned char D.25470;
  guint8 * code.1625;
  guint8 * code.1626;
  unsigned char D.25473;
  guint8 * code.1627;
  guint8 * code.1628;
  unsigned char D.25476;
  guint8 * code.1629;
  guint8 * code.1630;
  unsigned char D.25479;
  guint8 * code.1631;
  guint8 * code.1632;
  unsigned char D.25482;
  guint8 * code.1633;
  guint8 * code.1634;
  unsigned char D.25485;
  guint8 * code.1635;
  guint8 * code.1636;
  unsigned char D.25488;
  guint8 * code.1637;
  const void * iftmp.1638;
  guint8 * code.1639;
  guint8 * code.1640;
  guint8 * code.1641;
  guint8 * code.1642;
  guint8 * code.1643;
  int iftmp.1644;
  int iftmp.1645;
  guint8 * code.1646;
  guint8 * code.1647;
  guint8 * code.1648;
  guint8 * code.1649;
  unsigned char D.25514;
  guint8 * code.1650;
  guint8 * code.1651;
  unsigned char D.25517;
  guint8 * code.1652;
  guint8 * code.1653;
  unsigned char D.25520;
  guint8 * code.1654;
  guint8 * code.1655;
  unsigned char D.25523;
  guint8 * code.1656;
  guint8 * code.1657;
  unsigned int D.25526;
  _Bool D.25527;
  long int D.25528;
  long int D.25529;
  struct MonoJumpInfo * ji.1658;
  unsigned int D.25535;
  struct MonoTrampInfo * D.25536;
  void * D.25538;
  guint8 * D.25539;
  guint8 * start;
  guint8 * code;
  int i;
  int stack_size;
  int stack_offset;
  int arg_offsets[5];
  int regs_offset;
  struct MonoJumpInfo * ji;
  struct GSList * unwind_ops;
  guint kMaxCodeSize;
  static const char __PRETTY_FUNCTION__[21] = "get_throw_trampoline";

  try
    {
      ji = 0B;
      unwind_ops = 0B;
      kMaxCodeSize = 128;
      kMaxCodeSize.913 = (int) kMaxCodeSize;
      code.914 = mono_global_codeman_reserve (kMaxCodeSize.913);
      code = code.914;
      code.915 = code;
      start = code.915;
      stack_size = 128;
      D.24289 = llvm == 0;
      D.24290 = corlib != 0;
      D.24291 = D.24289 & D.24290;
      if (D.24291 != 0) goto <D.24292>; else goto <D.24293>;
      <D.24292>:
      stack_size = stack_size + 4;
      goto <D.24294>;
      <D.24293>:
      stack_size = stack_size + 12;
      <D.24294>:
      D.24295 = mono_create_unwind_op (0, 12, 4, 4);
      unwind_ops = monoeg_g_slist_append (unwind_ops, D.24295);
      D.24296 = mono_create_unwind_op (0, 128, 8, -4);
      unwind_ops = monoeg_g_slist_append (unwind_ops, D.24296);
      if (0 != 0) goto <D.24297>; else goto <D.24298>;
      <D.24297>:
      code.915 = code;
      code.916 = code.915;
      code.917 = code.916 + 1;
      code = code.917;
      *code.916 = 45;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = stack_size;
            code.915 = code;
            code.918 = code.915;
            code.919 = code.918 + 1;
            code = code.919;
            D.24303 = imb.b[0];
            *code.918 = D.24303;
            code.915 = code;
            code.920 = code.915;
            code.921 = code.920 + 1;
            code = code.921;
            D.24306 = imb.b[1];
            *code.920 = D.24306;
            code.915 = code;
            code.922 = code.915;
            code.923 = code.922 + 1;
            code = code.923;
            D.24309 = imb.b[2];
            *code.922 = D.24309;
            code.915 = code;
            code.924 = code.915;
            code.925 = code.924 + 1;
            code = code.925;
            D.24312 = imb.b[3];
            *code.924 = D.24312;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      goto <D.22558>;
      <D.24298>:
      stack_size.926 = (unsigned int) stack_size;
      D.24314 = stack_size.926 + 128;
      if (D.24314 <= 255) goto <D.24315>; else goto <D.24316>;
      <D.24315>:
      code.915 = code;
      code.927 = code.915;
      code.928 = code.927 + 1;
      code = code.928;
      *code.927 = 131;
      code.915 = code;
      code.929 = code.915;
      code.930 = code.929 + 1;
      code = code.930;
      *code.929 = 236;
      code.915 = code;
      D.24321 = (unsigned char) stack_size;
      *code.915 = D.24321;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24323>;
      <D.24316>:
      code.915 = code;
      code.932 = code.915;
      code.933 = code.932 + 1;
      code = code.933;
      *code.932 = 129;
      code.915 = code;
      code.934 = code.915;
      code.935 = code.934 + 1;
      code = code.935;
      *code.934 = 236;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = stack_size;
            code.915 = code;
            code.936 = code.915;
            code.937 = code.936 + 1;
            code = code.937;
            D.24330 = imb.b[0];
            *code.936 = D.24330;
            code.915 = code;
            code.938 = code.915;
            code.939 = code.938 + 1;
            code = code.939;
            D.24333 = imb.b[1];
            *code.938 = D.24333;
            code.915 = code;
            code.940 = code.915;
            code.941 = code.940 + 1;
            code = code.941;
            D.24336 = imb.b[2];
            *code.940 = D.24336;
            code.915 = code;
            code.942 = code.915;
            code.943 = code.942 + 1;
            code = code.943;
            D.24339 = imb.b[3];
            *code.942 = D.24339;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24323>:
      <D.22558>:
      D.24340 = stack_size + 4;
      code.915 = code;
      code.944 = (int) code.915;
      start.945 = start;
      start.946 = (int) start.945;
      D.24344 = code.944 - start.946;
      D.24345 = mono_create_unwind_op (D.24344, 14, 0, D.24340);
      unwind_ops = monoeg_g_slist_append (unwind_ops, D.24345);
      arg_offsets[0] = 0;
      arg_offsets[1] = 4;
      arg_offsets[2] = 8;
      arg_offsets[3] = 12;
      regs_offset = 16;
      i = 0;
      goto <D.22570>;
      <D.22569>:
      if (i != 4) goto <D.24346>; else goto <D.24347>;
      <D.24346>:
      switch (4) <default: <D.22564>, case 1: <D.22560>, case 2: <D.22562>, case 4: <D.22563>>
      <D.22560>:
      code.915 = code;
      code.947 = code.915;
      code.948 = code.947 + 1;
      code = code.948;
      *code.947 = 136;
      goto <D.22561>;
      <D.22562>:
      code.915 = code;
      code.949 = code.915;
      code.950 = code.949 + 1;
      code = code.950;
      *code.949 = 102;
      <D.22563>:
      code.915 = code;
      code.951 = code.915;
      code.952 = code.951 + 1;
      code = code.952;
      *code.951 = 137;
      goto <D.22561>;
      <D.22564>:
      __assert_fail ("0", "exceptions-x86.c", 597, &__PRETTY_FUNCTION__);
      <D.22561>:
      if (1 != 0) goto <D.24354>; else goto <D.24355>;
      <D.24354>:
      D.24356 = i * 4;
      D.24357 = D.24356 + regs_offset;
      if (D.24357 == 0) goto <D.24358>; else goto <D.24359>;
      <D.24358>:
      code.915 = code;
      code.953 = code.915;
      code.954 = code.953 + 1;
      code = code.954;
      D.24362 = i & 7;
      D.24363 = D.24362 << 3;
      D.24364 = (signed char) D.24363;
      D.24365 = D.24364 | 4;
      D.24366 = (unsigned char) D.24365;
      *code.953 = D.24366;
      code.915 = code;
      code.955 = code.915;
      code.956 = code.955 + 1;
      code = code.956;
      *code.955 = 36;
      goto <D.24369>;
      <D.24359>:
      D.24356 = i * 4;
      D.24357 = D.24356 + regs_offset;
      D.24370 = (unsigned int) D.24357;
      D.24371 = D.24370 + 128;
      if (D.24371 <= 255) goto <D.24372>; else goto <D.24373>;
      <D.24372>:
      code.915 = code;
      code.957 = code.915;
      code.958 = code.957 + 1;
      code = code.958;
      D.24362 = i & 7;
      D.24363 = D.24362 << 3;
      D.24364 = (signed char) D.24363;
      D.24376 = D.24364 | 68;
      D.24377 = (unsigned char) D.24376;
      *code.957 = D.24377;
      code.915 = code;
      code.959 = code.915;
      code.960 = code.959 + 1;
      code = code.960;
      *code.959 = 36;
      code.915 = code;
      D.24380 = (unsigned char) regs_offset;
      D.24381 = (unsigned char) i;
      D.24382 = D.24381 * 4;
      D.24383 = D.24380 + D.24382;
      *code.915 = D.24383;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24384>;
      <D.24373>:
      code.915 = code;
      code.961 = code.915;
      code.962 = code.961 + 1;
      code = code.962;
      D.24362 = i & 7;
      D.24363 = D.24362 << 3;
      D.24364 = (signed char) D.24363;
      D.24387 = D.24364 | -124;
      D.24388 = (unsigned char) D.24387;
      *code.961 = D.24388;
      code.915 = code;
      code.963 = code.915;
      code.964 = code.963 + 1;
      code = code.964;
      *code.963 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            D.24356 = i * 4;
            D.24357 = D.24356 + regs_offset;
            imb.val = D.24357;
            code.915 = code;
            code.965 = code.915;
            code.966 = code.965 + 1;
            code = code.966;
            D.24393 = imb.b[0];
            *code.965 = D.24393;
            code.915 = code;
            code.967 = code.915;
            code.968 = code.967 + 1;
            code = code.968;
            D.24396 = imb.b[1];
            *code.967 = D.24396;
            code.915 = code;
            code.969 = code.915;
            code.970 = code.969 + 1;
            code = code.970;
            D.24399 = imb.b[2];
            *code.969 = D.24399;
            code.915 = code;
            code.971 = code.915;
            code.972 = code.971 + 1;
            code = code.972;
            D.24402 = imb.b[3];
            *code.971 = D.24402;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24384>:
      <D.24369>:
      goto <D.22567>;
      <D.24355>:
      D.24356 = i * 4;
      D.24357 = D.24356 + regs_offset;
      if (D.24357 == 0) goto <D.24403>; else goto <D.24404>;
      <D.24403>:
      code.915 = code;
      code.973 = code.915;
      code.974 = code.973 + 1;
      code = code.974;
      D.24362 = i & 7;
      D.24363 = D.24362 << 3;
      D.24364 = (signed char) D.24363;
      D.24365 = D.24364 | 4;
      D.24366 = (unsigned char) D.24365;
      *code.973 = D.24366;
      goto <D.22567>;
      <D.24404>:
      D.24356 = i * 4;
      D.24357 = D.24356 + regs_offset;
      D.24370 = (unsigned int) D.24357;
      D.24371 = D.24370 + 128;
      if (D.24371 <= 255) goto <D.24407>; else goto <D.24408>;
      <D.24407>:
      code.915 = code;
      code.975 = code.915;
      code.976 = code.975 + 1;
      code = code.976;
      D.24362 = i & 7;
      D.24363 = D.24362 << 3;
      D.24364 = (signed char) D.24363;
      D.24376 = D.24364 | 68;
      D.24377 = (unsigned char) D.24376;
      *code.975 = D.24377;
      code.915 = code;
      D.24380 = (unsigned char) regs_offset;
      D.24381 = (unsigned char) i;
      D.24382 = D.24381 * 4;
      D.24383 = D.24380 + D.24382;
      *code.915 = D.24383;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24411>;
      <D.24408>:
      code.915 = code;
      code.977 = code.915;
      code.978 = code.977 + 1;
      code = code.978;
      D.24362 = i & 7;
      D.24363 = D.24362 << 3;
      D.24364 = (signed char) D.24363;
      D.24387 = D.24364 | -124;
      D.24388 = (unsigned char) D.24387;
      *code.977 = D.24388;
      {
        union x86_imm_buf imb;

        try
          {
            D.24356 = i * 4;
            D.24357 = D.24356 + regs_offset;
            imb.val = D.24357;
            code.915 = code;
            code.979 = code.915;
            code.980 = code.979 + 1;
            code = code.980;
            D.24416 = imb.b[0];
            *code.979 = D.24416;
            code.915 = code;
            code.981 = code.915;
            code.982 = code.981 + 1;
            code = code.982;
            D.24419 = imb.b[1];
            *code.981 = D.24419;
            code.915 = code;
            code.983 = code.915;
            code.984 = code.983 + 1;
            code = code.984;
            D.24422 = imb.b[2];
            *code.983 = D.24422;
            code.915 = code;
            code.985 = code.915;
            code.986 = code.985 + 1;
            code = code.986;
            D.24425 = imb.b[3];
            *code.985 = D.24425;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24411>:
      <D.22567>:
      <D.24347>:
      i = i + 1;
      <D.22570>:
      if (i <= 7) goto <D.22569>; else goto <D.22571>;
      <D.22571>:
      if (llvm != 0) goto <D.24426>; else goto <D.24427>;
      <D.24426>:
      stack_offset = stack_size + 4;
      goto <D.24428>;
      <D.24427>:
      if (corlib != 0) goto <D.24429>; else goto <D.24430>;
      <D.24429>:
      stack_offset = stack_size + 12;
      goto <D.24431>;
      <D.24430>:
      stack_offset = stack_size + 8;
      mono_do_x86_stack_align.987 = mono_do_x86_stack_align;
      if (mono_do_x86_stack_align.987 != 0) goto <D.24433>; else goto <D.24434>;
      <D.24433>:
      stack_offset = stack_offset + 12;
      <D.24434>:
      <D.24431>:
      <D.24428>:
      code.915 = code;
      code.988 = code.915;
      code.989 = code.988 + 1;
      code = code.989;
      *code.988 = 141;
      if (1 != 0) goto <D.24437>; else goto <D.24438>;
      <D.24437>:
      if (stack_offset == 0) goto <D.24439>; else goto <D.24440>;
      <D.24439>:
      code.915 = code;
      code.990 = code.915;
      code.991 = code.990 + 1;
      code = code.991;
      *code.990 = 4;
      code.915 = code;
      code.992 = code.915;
      code.993 = code.992 + 1;
      code = code.993;
      *code.992 = 36;
      goto <D.24445>;
      <D.24440>:
      stack_offset.994 = (unsigned int) stack_offset;
      D.24447 = stack_offset.994 + 128;
      if (D.24447 <= 255) goto <D.24448>; else goto <D.24449>;
      <D.24448>:
      code.915 = code;
      code.995 = code.915;
      code.996 = code.995 + 1;
      code = code.996;
      *code.995 = 68;
      code.915 = code;
      code.997 = code.915;
      code.998 = code.997 + 1;
      code = code.998;
      *code.997 = 36;
      code.915 = code;
      D.24454 = (unsigned char) stack_offset;
      *code.915 = D.24454;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24455>;
      <D.24449>:
      code.915 = code;
      code.999 = code.915;
      code.1000 = code.999 + 1;
      code = code.1000;
      *code.999 = 132;
      code.915 = code;
      code.1001 = code.915;
      code.1002 = code.1001 + 1;
      code = code.1002;
      *code.1001 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = stack_offset;
            code.915 = code;
            code.1003 = code.915;
            code.1004 = code.1003 + 1;
            code = code.1004;
            D.24462 = imb.b[0];
            *code.1003 = D.24462;
            code.915 = code;
            code.1005 = code.915;
            code.1006 = code.1005 + 1;
            code = code.1006;
            D.24465 = imb.b[1];
            *code.1005 = D.24465;
            code.915 = code;
            code.1007 = code.915;
            code.1008 = code.1007 + 1;
            code = code.1008;
            D.24468 = imb.b[2];
            *code.1007 = D.24468;
            code.915 = code;
            code.1009 = code.915;
            code.1010 = code.1009 + 1;
            code = code.1010;
            D.24471 = imb.b[3];
            *code.1009 = D.24471;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24455>:
      <D.24445>:
      goto <D.22573>;
      <D.24438>:
      if (stack_offset == 0) goto <D.24472>; else goto <D.24473>;
      <D.24472>:
      code.915 = code;
      code.1011 = code.915;
      code.1012 = code.1011 + 1;
      code = code.1012;
      *code.1011 = 4;
      goto <D.22573>;
      <D.24473>:
      stack_offset.994 = (unsigned int) stack_offset;
      D.24447 = stack_offset.994 + 128;
      if (D.24447 <= 255) goto <D.24476>; else goto <D.24477>;
      <D.24476>:
      code.915 = code;
      code.1013 = code.915;
      code.1014 = code.1013 + 1;
      code = code.1014;
      *code.1013 = 68;
      code.915 = code;
      D.24454 = (unsigned char) stack_offset;
      *code.915 = D.24454;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24480>;
      <D.24477>:
      code.915 = code;
      code.1015 = code.915;
      code.1016 = code.1015 + 1;
      code = code.1016;
      *code.1015 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = stack_offset;
            code.915 = code;
            code.1017 = code.915;
            code.1018 = code.1017 + 1;
            code = code.1018;
            D.24485 = imb.b[0];
            *code.1017 = D.24485;
            code.915 = code;
            code.1019 = code.915;
            code.1020 = code.1019 + 1;
            code = code.1020;
            D.24488 = imb.b[1];
            *code.1019 = D.24488;
            code.915 = code;
            code.1021 = code.915;
            code.1022 = code.1021 + 1;
            code = code.1022;
            D.24491 = imb.b[2];
            *code.1021 = D.24491;
            code.915 = code;
            code.1023 = code.915;
            code.1024 = code.1023 + 1;
            code = code.1024;
            D.24494 = imb.b[3];
            *code.1023 = D.24494;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24480>:
      <D.22573>:
      switch (4) <default: <D.22579>, case 1: <D.22575>, case 2: <D.22577>, case 4: <D.22578>>
      <D.22575>:
      code.915 = code;
      code.1025 = code.915;
      code.1026 = code.1025 + 1;
      code = code.1026;
      *code.1025 = 136;
      goto <D.22576>;
      <D.22577>:
      code.915 = code;
      code.1027 = code.915;
      code.1028 = code.1027 + 1;
      code = code.1028;
      *code.1027 = 102;
      <D.22578>:
      code.915 = code;
      code.1029 = code.915;
      code.1030 = code.1029 + 1;
      code = code.1030;
      *code.1029 = 137;
      goto <D.22576>;
      <D.22579>:
      __assert_fail ("0", "exceptions-x86.c", 623, &__PRETTY_FUNCTION__);
      <D.22576>:
      if (1 != 0) goto <D.24501>; else goto <D.24502>;
      <D.24501>:
      if (regs_offset == -16) goto <D.24503>; else goto <D.24504>;
      <D.24503>:
      code.915 = code;
      code.1031 = code.915;
      code.1032 = code.1031 + 1;
      code = code.1032;
      *code.1031 = 4;
      code.915 = code;
      code.1033 = code.915;
      code.1034 = code.1033 + 1;
      code = code.1034;
      *code.1033 = 36;
      goto <D.24509>;
      <D.24504>:
      regs_offset.1035 = (unsigned int) regs_offset;
      D.24511 = regs_offset.1035 + 144;
      if (D.24511 <= 255) goto <D.24512>; else goto <D.24513>;
      <D.24512>:
      code.915 = code;
      code.1036 = code.915;
      code.1037 = code.1036 + 1;
      code = code.1037;
      *code.1036 = 68;
      code.915 = code;
      code.1038 = code.915;
      code.1039 = code.1038 + 1;
      code = code.1039;
      *code.1038 = 36;
      code.915 = code;
      D.24380 = (unsigned char) regs_offset;
      D.24518 = D.24380 + 16;
      *code.915 = D.24518;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24519>;
      <D.24513>:
      code.915 = code;
      code.1040 = code.915;
      code.1041 = code.1040 + 1;
      code = code.1041;
      *code.1040 = 132;
      code.915 = code;
      code.1042 = code.915;
      code.1043 = code.1042 + 1;
      code = code.1043;
      *code.1042 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            D.24524 = regs_offset + 16;
            imb.val = D.24524;
            code.915 = code;
            code.1044 = code.915;
            code.1045 = code.1044 + 1;
            code = code.1045;
            D.24527 = imb.b[0];
            *code.1044 = D.24527;
            code.915 = code;
            code.1046 = code.915;
            code.1047 = code.1046 + 1;
            code = code.1047;
            D.24530 = imb.b[1];
            *code.1046 = D.24530;
            code.915 = code;
            code.1048 = code.915;
            code.1049 = code.1048 + 1;
            code = code.1049;
            D.24533 = imb.b[2];
            *code.1048 = D.24533;
            code.915 = code;
            code.1050 = code.915;
            code.1051 = code.1050 + 1;
            code = code.1051;
            D.24536 = imb.b[3];
            *code.1050 = D.24536;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24519>:
      <D.24509>:
      goto <D.22581>;
      <D.24502>:
      if (regs_offset == -16) goto <D.24537>; else goto <D.24538>;
      <D.24537>:
      code.915 = code;
      code.1052 = code.915;
      code.1053 = code.1052 + 1;
      code = code.1053;
      *code.1052 = 4;
      goto <D.22581>;
      <D.24538>:
      regs_offset.1035 = (unsigned int) regs_offset;
      D.24511 = regs_offset.1035 + 144;
      if (D.24511 <= 255) goto <D.24541>; else goto <D.24542>;
      <D.24541>:
      code.915 = code;
      code.1054 = code.915;
      code.1055 = code.1054 + 1;
      code = code.1055;
      *code.1054 = 68;
      code.915 = code;
      D.24380 = (unsigned char) regs_offset;
      D.24518 = D.24380 + 16;
      *code.915 = D.24518;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24545>;
      <D.24542>:
      code.915 = code;
      code.1056 = code.915;
      code.1057 = code.1056 + 1;
      code = code.1057;
      *code.1056 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            D.24524 = regs_offset + 16;
            imb.val = D.24524;
            code.915 = code;
            code.1058 = code.915;
            code.1059 = code.1058 + 1;
            code = code.1059;
            D.24550 = imb.b[0];
            *code.1058 = D.24550;
            code.915 = code;
            code.1060 = code.915;
            code.1061 = code.1060 + 1;
            code = code.1061;
            D.24553 = imb.b[1];
            *code.1060 = D.24553;
            code.915 = code;
            code.1062 = code.915;
            code.1063 = code.1062 + 1;
            code = code.1063;
            D.24556 = imb.b[2];
            *code.1062 = D.24556;
            code.915 = code;
            code.1064 = code.915;
            code.1065 = code.1064 + 1;
            code = code.1065;
            D.24559 = imb.b[3];
            *code.1064 = D.24559;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24545>:
      <D.22581>:
      code.915 = code;
      code.1066 = code.915;
      code.1067 = code.1066 + 1;
      code = code.1067;
      *code.1066 = 141;
      if (1 != 0) goto <D.24562>; else goto <D.24563>;
      <D.24562>:
      if (regs_offset == 0) goto <D.24564>; else goto <D.24565>;
      <D.24564>:
      code.915 = code;
      code.1068 = code.915;
      code.1069 = code.1068 + 1;
      code = code.1069;
      *code.1068 = 4;
      code.915 = code;
      code.1070 = code.915;
      code.1071 = code.1070 + 1;
      code = code.1071;
      *code.1070 = 36;
      goto <D.24570>;
      <D.24565>:
      regs_offset.1035 = (unsigned int) regs_offset;
      D.24571 = regs_offset.1035 + 128;
      if (D.24571 <= 255) goto <D.24572>; else goto <D.24573>;
      <D.24572>:
      code.915 = code;
      code.1072 = code.915;
      code.1073 = code.1072 + 1;
      code = code.1073;
      *code.1072 = 68;
      code.915 = code;
      code.1074 = code.915;
      code.1075 = code.1074 + 1;
      code = code.1075;
      *code.1074 = 36;
      code.915 = code;
      D.24578 = (unsigned char) regs_offset;
      *code.915 = D.24578;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24579>;
      <D.24573>:
      code.915 = code;
      code.1076 = code.915;
      code.1077 = code.1076 + 1;
      code = code.1077;
      *code.1076 = 132;
      code.915 = code;
      code.1078 = code.915;
      code.1079 = code.1078 + 1;
      code = code.1079;
      *code.1078 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = regs_offset;
            code.915 = code;
            code.1080 = code.915;
            code.1081 = code.1080 + 1;
            code = code.1081;
            D.24586 = imb.b[0];
            *code.1080 = D.24586;
            code.915 = code;
            code.1082 = code.915;
            code.1083 = code.1082 + 1;
            code = code.1083;
            D.24589 = imb.b[1];
            *code.1082 = D.24589;
            code.915 = code;
            code.1084 = code.915;
            code.1085 = code.1084 + 1;
            code = code.1085;
            D.24592 = imb.b[2];
            *code.1084 = D.24592;
            code.915 = code;
            code.1086 = code.915;
            code.1087 = code.1086 + 1;
            code = code.1087;
            D.24595 = imb.b[3];
            *code.1086 = D.24595;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24579>:
      <D.24570>:
      goto <D.22584>;
      <D.24563>:
      if (regs_offset == 0) goto <D.24596>; else goto <D.24597>;
      <D.24596>:
      code.915 = code;
      code.1088 = code.915;
      code.1089 = code.1088 + 1;
      code = code.1089;
      *code.1088 = 4;
      goto <D.22584>;
      <D.24597>:
      regs_offset.1035 = (unsigned int) regs_offset;
      D.24571 = regs_offset.1035 + 128;
      if (D.24571 <= 255) goto <D.24600>; else goto <D.24601>;
      <D.24600>:
      code.915 = code;
      code.1090 = code.915;
      code.1091 = code.1090 + 1;
      code = code.1091;
      *code.1090 = 68;
      code.915 = code;
      D.24578 = (unsigned char) regs_offset;
      *code.915 = D.24578;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24604>;
      <D.24601>:
      code.915 = code;
      code.1092 = code.915;
      code.1093 = code.1092 + 1;
      code = code.1093;
      *code.1092 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = regs_offset;
            code.915 = code;
            code.1094 = code.915;
            code.1095 = code.1094 + 1;
            code = code.1095;
            D.24609 = imb.b[0];
            *code.1094 = D.24609;
            code.915 = code;
            code.1096 = code.915;
            code.1097 = code.1096 + 1;
            code = code.1097;
            D.24612 = imb.b[1];
            *code.1096 = D.24612;
            code.915 = code;
            code.1098 = code.915;
            code.1099 = code.1098 + 1;
            code = code.1099;
            D.24615 = imb.b[2];
            *code.1098 = D.24615;
            code.915 = code;
            code.1100 = code.915;
            code.1101 = code.1100 + 1;
            code = code.1101;
            D.24618 = imb.b[3];
            *code.1100 = D.24618;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24604>:
      <D.22584>:
      switch (4) <default: <D.22590>, case 1: <D.22586>, case 2: <D.22588>, case 4: <D.22589>>
      <D.22586>:
      code.915 = code;
      code.1102 = code.915;
      code.1103 = code.1102 + 1;
      code = code.1103;
      *code.1102 = 136;
      goto <D.22587>;
      <D.22588>:
      code.915 = code;
      code.1104 = code.915;
      code.1105 = code.1104 + 1;
      code = code.1105;
      *code.1104 = 102;
      <D.22589>:
      code.915 = code;
      code.1106 = code.915;
      code.1107 = code.1106 + 1;
      code = code.1107;
      *code.1106 = 137;
      goto <D.22587>;
      <D.22590>:
      __assert_fail ("0", "exceptions-x86.c", 627, &__PRETTY_FUNCTION__);
      <D.22587>:
      if (1 != 0) goto <D.24625>; else goto <D.24626>;
      <D.24625>:
      D.24627 = arg_offsets[0];
      if (D.24627 == 0) goto <D.24628>; else goto <D.24629>;
      <D.24628>:
      code.915 = code;
      code.1108 = code.915;
      code.1109 = code.1108 + 1;
      code = code.1109;
      *code.1108 = 4;
      code.915 = code;
      code.1110 = code.915;
      code.1111 = code.1110 + 1;
      code = code.1111;
      *code.1110 = 36;
      goto <D.24634>;
      <D.24629>:
      D.24627 = arg_offsets[0];
      D.24635 = (unsigned int) D.24627;
      D.24636 = D.24635 + 128;
      if (D.24636 <= 255) goto <D.24637>; else goto <D.24638>;
      <D.24637>:
      code.915 = code;
      code.1112 = code.915;
      code.1113 = code.1112 + 1;
      code = code.1113;
      *code.1112 = 68;
      code.915 = code;
      code.1114 = code.915;
      code.1115 = code.1114 + 1;
      code = code.1115;
      *code.1114 = 36;
      code.915 = code;
      D.24627 = arg_offsets[0];
      D.24643 = (unsigned char) D.24627;
      *code.915 = D.24643;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24644>;
      <D.24638>:
      code.915 = code;
      code.1116 = code.915;
      code.1117 = code.1116 + 1;
      code = code.1117;
      *code.1116 = 132;
      code.915 = code;
      code.1118 = code.915;
      code.1119 = code.1118 + 1;
      code = code.1119;
      *code.1118 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            D.24627 = arg_offsets[0];
            imb.val = D.24627;
            code.915 = code;
            code.1120 = code.915;
            code.1121 = code.1120 + 1;
            code = code.1121;
            D.24651 = imb.b[0];
            *code.1120 = D.24651;
            code.915 = code;
            code.1122 = code.915;
            code.1123 = code.1122 + 1;
            code = code.1123;
            D.24654 = imb.b[1];
            *code.1122 = D.24654;
            code.915 = code;
            code.1124 = code.915;
            code.1125 = code.1124 + 1;
            code = code.1125;
            D.24657 = imb.b[2];
            *code.1124 = D.24657;
            code.915 = code;
            code.1126 = code.915;
            code.1127 = code.1126 + 1;
            code = code.1127;
            D.24660 = imb.b[3];
            *code.1126 = D.24660;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24644>:
      <D.24634>:
      goto <D.22592>;
      <D.24626>:
      D.24627 = arg_offsets[0];
      if (D.24627 == 0) goto <D.24661>; else goto <D.24662>;
      <D.24661>:
      code.915 = code;
      code.1128 = code.915;
      code.1129 = code.1128 + 1;
      code = code.1129;
      *code.1128 = 4;
      goto <D.22592>;
      <D.24662>:
      D.24627 = arg_offsets[0];
      D.24635 = (unsigned int) D.24627;
      D.24636 = D.24635 + 128;
      if (D.24636 <= 255) goto <D.24665>; else goto <D.24666>;
      <D.24665>:
      code.915 = code;
      code.1130 = code.915;
      code.1131 = code.1130 + 1;
      code = code.1131;
      *code.1130 = 68;
      code.915 = code;
      D.24627 = arg_offsets[0];
      D.24643 = (unsigned char) D.24627;
      *code.915 = D.24643;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24669>;
      <D.24666>:
      code.915 = code;
      code.1132 = code.915;
      code.1133 = code.1132 + 1;
      code = code.1133;
      *code.1132 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            D.24627 = arg_offsets[0];
            imb.val = D.24627;
            code.915 = code;
            code.1134 = code.915;
            code.1135 = code.1134 + 1;
            code = code.1135;
            D.24674 = imb.b[0];
            *code.1134 = D.24674;
            code.915 = code;
            code.1136 = code.915;
            code.1137 = code.1136 + 1;
            code = code.1137;
            D.24677 = imb.b[1];
            *code.1136 = D.24677;
            code.915 = code;
            code.1138 = code.915;
            code.1139 = code.1138 + 1;
            code = code.1139;
            D.24680 = imb.b[2];
            *code.1138 = D.24680;
            code.915 = code;
            code.1140 = code.915;
            code.1141 = code.1140 + 1;
            code = code.1141;
            D.24683 = imb.b[3];
            *code.1140 = D.24683;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24669>:
      <D.22592>:
      if (resume_unwind != 0) goto <D.24684>; else goto <D.24685>;
      <D.24684>:
      code.915 = code;
      code.1142 = code.915;
      code.1143 = code.1142 + 1;
      code = code.1143;
      *code.1142 = 184;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 0;
            code.915 = code;
            code.1144 = code.915;
            code.1145 = code.1144 + 1;
            code = code.1145;
            D.24690 = imb.b[0];
            *code.1144 = D.24690;
            code.915 = code;
            code.1146 = code.915;
            code.1147 = code.1146 + 1;
            code = code.1147;
            D.24693 = imb.b[1];
            *code.1146 = D.24693;
            code.915 = code;
            code.1148 = code.915;
            code.1149 = code.1148 + 1;
            code = code.1149;
            D.24696 = imb.b[2];
            *code.1148 = D.24696;
            code.915 = code;
            code.1150 = code.915;
            code.1151 = code.1150 + 1;
            code = code.1151;
            D.24699 = imb.b[3];
            *code.1150 = D.24699;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      goto <D.24700>;
      <D.24685>:
      switch (4) <default: <D.22599>, case 1: <D.22595>, case 2: <D.22597>, case 4: <D.22598>>
      <D.22595>:
      code.915 = code;
      code.1152 = code.915;
      code.1153 = code.1152 + 1;
      code = code.1153;
      *code.1152 = 138;
      goto <D.22596>;
      <D.22597>:
      code.915 = code;
      code.1154 = code.915;
      code.1155 = code.1154 + 1;
      code = code.1155;
      *code.1154 = 102;
      <D.22598>:
      code.915 = code;
      code.1156 = code.915;
      code.1157 = code.1156 + 1;
      code = code.1157;
      *code.1156 = 139;
      goto <D.22596>;
      <D.22599>:
      __assert_fail ("0", "exceptions-x86.c", 632, &__PRETTY_FUNCTION__);
      <D.22596>:
      if (1 != 0) goto <D.24707>; else goto <D.24708>;
      <D.24707>:
      if (stack_size == -4) goto <D.24709>; else goto <D.24710>;
      <D.24709>:
      code.915 = code;
      code.1158 = code.915;
      code.1159 = code.1158 + 1;
      code = code.1159;
      *code.1158 = 4;
      code.915 = code;
      code.1160 = code.915;
      code.1161 = code.1160 + 1;
      code = code.1161;
      *code.1160 = 36;
      goto <D.24715>;
      <D.24710>:
      stack_size.926 = (unsigned int) stack_size;
      D.24716 = stack_size.926 + 132;
      if (D.24716 <= 255) goto <D.24717>; else goto <D.24718>;
      <D.24717>:
      code.915 = code;
      code.1162 = code.915;
      code.1163 = code.1162 + 1;
      code = code.1163;
      *code.1162 = 68;
      code.915 = code;
      code.1164 = code.915;
      code.1165 = code.1164 + 1;
      code = code.1165;
      *code.1164 = 36;
      code.915 = code;
      D.24723 = (unsigned char) stack_size;
      D.24724 = D.24723 + 4;
      *code.915 = D.24724;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24725>;
      <D.24718>:
      code.915 = code;
      code.1166 = code.915;
      code.1167 = code.1166 + 1;
      code = code.1167;
      *code.1166 = 132;
      code.915 = code;
      code.1168 = code.915;
      code.1169 = code.1168 + 1;
      code = code.1169;
      *code.1168 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            D.24340 = stack_size + 4;
            imb.val = D.24340;
            code.915 = code;
            code.1170 = code.915;
            code.1171 = code.1170 + 1;
            code = code.1171;
            D.24732 = imb.b[0];
            *code.1170 = D.24732;
            code.915 = code;
            code.1172 = code.915;
            code.1173 = code.1172 + 1;
            code = code.1173;
            D.24735 = imb.b[1];
            *code.1172 = D.24735;
            code.915 = code;
            code.1174 = code.915;
            code.1175 = code.1174 + 1;
            code = code.1175;
            D.24738 = imb.b[2];
            *code.1174 = D.24738;
            code.915 = code;
            code.1176 = code.915;
            code.1177 = code.1176 + 1;
            code = code.1177;
            D.24741 = imb.b[3];
            *code.1176 = D.24741;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24725>:
      <D.24715>:
      goto <D.22601>;
      <D.24708>:
      if (stack_size == -4) goto <D.24742>; else goto <D.24743>;
      <D.24742>:
      code.915 = code;
      code.1178 = code.915;
      code.1179 = code.1178 + 1;
      code = code.1179;
      *code.1178 = 4;
      goto <D.22601>;
      <D.24743>:
      stack_size.926 = (unsigned int) stack_size;
      D.24716 = stack_size.926 + 132;
      if (D.24716 <= 255) goto <D.24746>; else goto <D.24747>;
      <D.24746>:
      code.915 = code;
      code.1180 = code.915;
      code.1181 = code.1180 + 1;
      code = code.1181;
      *code.1180 = 68;
      code.915 = code;
      D.24723 = (unsigned char) stack_size;
      D.24724 = D.24723 + 4;
      *code.915 = D.24724;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24750>;
      <D.24747>:
      code.915 = code;
      code.1182 = code.915;
      code.1183 = code.1182 + 1;
      code = code.1183;
      *code.1182 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            D.24340 = stack_size + 4;
            imb.val = D.24340;
            code.915 = code;
            code.1184 = code.915;
            code.1185 = code.1184 + 1;
            code = code.1185;
            D.24755 = imb.b[0];
            *code.1184 = D.24755;
            code.915 = code;
            code.1186 = code.915;
            code.1187 = code.1186 + 1;
            code = code.1187;
            D.24758 = imb.b[1];
            *code.1186 = D.24758;
            code.915 = code;
            code.1188 = code.915;
            code.1189 = code.1188 + 1;
            code = code.1189;
            D.24761 = imb.b[2];
            *code.1188 = D.24761;
            code.915 = code;
            code.1190 = code.915;
            code.1191 = code.1190 + 1;
            code = code.1191;
            D.24764 = imb.b[3];
            *code.1190 = D.24764;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24750>:
      <D.22601>:
      <D.24700>:
      switch (4) <default: <D.22607>, case 1: <D.22603>, case 2: <D.22605>, case 4: <D.22606>>
      <D.22603>:
      code.915 = code;
      code.1192 = code.915;
      code.1193 = code.1192 + 1;
      code = code.1193;
      *code.1192 = 136;
      goto <D.22604>;
      <D.22605>:
      code.915 = code;
      code.1194 = code.915;
      code.1195 = code.1194 + 1;
      code = code.1195;
      *code.1194 = 102;
      <D.22606>:
      code.915 = code;
      code.1196 = code.915;
      code.1197 = code.1196 + 1;
      code = code.1197;
      *code.1196 = 137;
      goto <D.22604>;
      <D.22607>:
      __assert_fail ("0", "exceptions-x86.c", 633, &__PRETTY_FUNCTION__);
      <D.22604>:
      if (1 != 0) goto <D.24771>; else goto <D.24772>;
      <D.24771>:
      D.24773 = arg_offsets[1];
      if (D.24773 == 0) goto <D.24774>; else goto <D.24775>;
      <D.24774>:
      code.915 = code;
      code.1198 = code.915;
      code.1199 = code.1198 + 1;
      code = code.1199;
      *code.1198 = 4;
      code.915 = code;
      code.1200 = code.915;
      code.1201 = code.1200 + 1;
      code = code.1201;
      *code.1200 = 36;
      goto <D.24780>;
      <D.24775>:
      D.24773 = arg_offsets[1];
      D.24781 = (unsigned int) D.24773;
      D.24782 = D.24781 + 128;
      if (D.24782 <= 255) goto <D.24783>; else goto <D.24784>;
      <D.24783>:
      code.915 = code;
      code.1202 = code.915;
      code.1203 = code.1202 + 1;
      code = code.1203;
      *code.1202 = 68;
      code.915 = code;
      code.1204 = code.915;
      code.1205 = code.1204 + 1;
      code = code.1205;
      *code.1204 = 36;
      code.915 = code;
      D.24773 = arg_offsets[1];
      D.24789 = (unsigned char) D.24773;
      *code.915 = D.24789;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24790>;
      <D.24784>:
      code.915 = code;
      code.1206 = code.915;
      code.1207 = code.1206 + 1;
      code = code.1207;
      *code.1206 = 132;
      code.915 = code;
      code.1208 = code.915;
      code.1209 = code.1208 + 1;
      code = code.1209;
      *code.1208 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            D.24773 = arg_offsets[1];
            imb.val = D.24773;
            code.915 = code;
            code.1210 = code.915;
            code.1211 = code.1210 + 1;
            code = code.1211;
            D.24797 = imb.b[0];
            *code.1210 = D.24797;
            code.915 = code;
            code.1212 = code.915;
            code.1213 = code.1212 + 1;
            code = code.1213;
            D.24800 = imb.b[1];
            *code.1212 = D.24800;
            code.915 = code;
            code.1214 = code.915;
            code.1215 = code.1214 + 1;
            code = code.1215;
            D.24803 = imb.b[2];
            *code.1214 = D.24803;
            code.915 = code;
            code.1216 = code.915;
            code.1217 = code.1216 + 1;
            code = code.1217;
            D.24806 = imb.b[3];
            *code.1216 = D.24806;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24790>:
      <D.24780>:
      goto <D.22609>;
      <D.24772>:
      D.24773 = arg_offsets[1];
      if (D.24773 == 0) goto <D.24807>; else goto <D.24808>;
      <D.24807>:
      code.915 = code;
      code.1218 = code.915;
      code.1219 = code.1218 + 1;
      code = code.1219;
      *code.1218 = 4;
      goto <D.22609>;
      <D.24808>:
      D.24773 = arg_offsets[1];
      D.24781 = (unsigned int) D.24773;
      D.24782 = D.24781 + 128;
      if (D.24782 <= 255) goto <D.24811>; else goto <D.24812>;
      <D.24811>:
      code.915 = code;
      code.1220 = code.915;
      code.1221 = code.1220 + 1;
      code = code.1221;
      *code.1220 = 68;
      code.915 = code;
      D.24773 = arg_offsets[1];
      D.24789 = (unsigned char) D.24773;
      *code.915 = D.24789;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24815>;
      <D.24812>:
      code.915 = code;
      code.1222 = code.915;
      code.1223 = code.1222 + 1;
      code = code.1223;
      *code.1222 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            D.24773 = arg_offsets[1];
            imb.val = D.24773;
            code.915 = code;
            code.1224 = code.915;
            code.1225 = code.1224 + 1;
            code = code.1225;
            D.24820 = imb.b[0];
            *code.1224 = D.24820;
            code.915 = code;
            code.1226 = code.915;
            code.1227 = code.1226 + 1;
            code = code.1227;
            D.24823 = imb.b[1];
            *code.1226 = D.24823;
            code.915 = code;
            code.1228 = code.915;
            code.1229 = code.1228 + 1;
            code = code.1229;
            D.24826 = imb.b[2];
            *code.1228 = D.24826;
            code.915 = code;
            code.1230 = code.915;
            code.1231 = code.1230 + 1;
            code = code.1231;
            D.24829 = imb.b[3];
            *code.1230 = D.24829;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24815>:
      <D.22609>:
      if (llvm_abs != 0) goto <D.24830>; else goto <D.24831>;
      <D.24830>:
      code.915 = code;
      code.1232 = code.915;
      code.1233 = code.1232 + 1;
      code = code.1233;
      *code.1232 = 51;
      code.915 = code;
      code.1234 = code.915;
      code.1235 = code.1234 + 1;
      code = code.1235;
      *code.1234 = 192;
      goto <D.24836>;
      <D.24831>:
      switch (4) <default: <D.22615>, case 1: <D.22611>, case 2: <D.22613>, case 4: <D.22614>>
      <D.22611>:
      code.915 = code;
      code.1236 = code.915;
      code.1237 = code.1236 + 1;
      code = code.1237;
      *code.1236 = 138;
      goto <D.22612>;
      <D.22613>:
      code.915 = code;
      code.1238 = code.915;
      code.1239 = code.1238 + 1;
      code = code.1239;
      *code.1238 = 102;
      <D.22614>:
      code.915 = code;
      code.1240 = code.915;
      code.1241 = code.1240 + 1;
      code = code.1241;
      *code.1240 = 139;
      goto <D.22612>;
      <D.22615>:
      __assert_fail ("0", "exceptions-x86.c", 638, &__PRETTY_FUNCTION__);
      <D.22612>:
      if (1 != 0) goto <D.24843>; else goto <D.24844>;
      <D.24843>:
      if (stack_size == 0) goto <D.24845>; else goto <D.24846>;
      <D.24845>:
      code.915 = code;
      code.1242 = code.915;
      code.1243 = code.1242 + 1;
      code = code.1243;
      *code.1242 = 4;
      code.915 = code;
      code.1244 = code.915;
      code.1245 = code.1244 + 1;
      code = code.1245;
      *code.1244 = 36;
      goto <D.24851>;
      <D.24846>:
      stack_size.926 = (unsigned int) stack_size;
      D.24314 = stack_size.926 + 128;
      if (D.24314 <= 255) goto <D.24852>; else goto <D.24853>;
      <D.24852>:
      code.915 = code;
      code.1246 = code.915;
      code.1247 = code.1246 + 1;
      code = code.1247;
      *code.1246 = 68;
      code.915 = code;
      code.1248 = code.915;
      code.1249 = code.1248 + 1;
      code = code.1249;
      *code.1248 = 36;
      code.915 = code;
      D.24321 = (unsigned char) stack_size;
      *code.915 = D.24321;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24858>;
      <D.24853>:
      code.915 = code;
      code.1250 = code.915;
      code.1251 = code.1250 + 1;
      code = code.1251;
      *code.1250 = 132;
      code.915 = code;
      code.1252 = code.915;
      code.1253 = code.1252 + 1;
      code = code.1253;
      *code.1252 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = stack_size;
            code.915 = code;
            code.1254 = code.915;
            code.1255 = code.1254 + 1;
            code = code.1255;
            D.24865 = imb.b[0];
            *code.1254 = D.24865;
            code.915 = code;
            code.1256 = code.915;
            code.1257 = code.1256 + 1;
            code = code.1257;
            D.24868 = imb.b[1];
            *code.1256 = D.24868;
            code.915 = code;
            code.1258 = code.915;
            code.1259 = code.1258 + 1;
            code = code.1259;
            D.24871 = imb.b[2];
            *code.1258 = D.24871;
            code.915 = code;
            code.1260 = code.915;
            code.1261 = code.1260 + 1;
            code = code.1261;
            D.24874 = imb.b[3];
            *code.1260 = D.24874;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24858>:
      <D.24851>:
      goto <D.22617>;
      <D.24844>:
      if (stack_size == 0) goto <D.24875>; else goto <D.24876>;
      <D.24875>:
      code.915 = code;
      code.1262 = code.915;
      code.1263 = code.1262 + 1;
      code = code.1263;
      *code.1262 = 4;
      goto <D.22617>;
      <D.24876>:
      stack_size.926 = (unsigned int) stack_size;
      D.24314 = stack_size.926 + 128;
      if (D.24314 <= 255) goto <D.24879>; else goto <D.24880>;
      <D.24879>:
      code.915 = code;
      code.1264 = code.915;
      code.1265 = code.1264 + 1;
      code = code.1265;
      *code.1264 = 68;
      code.915 = code;
      D.24321 = (unsigned char) stack_size;
      *code.915 = D.24321;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24883>;
      <D.24880>:
      code.915 = code;
      code.1266 = code.915;
      code.1267 = code.1266 + 1;
      code = code.1267;
      *code.1266 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = stack_size;
            code.915 = code;
            code.1268 = code.915;
            code.1269 = code.1268 + 1;
            code = code.1269;
            D.24888 = imb.b[0];
            *code.1268 = D.24888;
            code.915 = code;
            code.1270 = code.915;
            code.1271 = code.1270 + 1;
            code = code.1271;
            D.24891 = imb.b[1];
            *code.1270 = D.24891;
            code.915 = code;
            code.1272 = code.915;
            code.1273 = code.1272 + 1;
            code = code.1273;
            D.24894 = imb.b[2];
            *code.1272 = D.24894;
            code.915 = code;
            code.1274 = code.915;
            code.1275 = code.1274 + 1;
            code = code.1275;
            D.24897 = imb.b[3];
            *code.1274 = D.24897;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24883>:
      <D.22617>:
      <D.24836>:
      switch (4) <default: <D.22623>, case 1: <D.22619>, case 2: <D.22621>, case 4: <D.22622>>
      <D.22619>:
      code.915 = code;
      code.1276 = code.915;
      code.1277 = code.1276 + 1;
      code = code.1277;
      *code.1276 = 136;
      goto <D.22620>;
      <D.22621>:
      code.915 = code;
      code.1278 = code.915;
      code.1279 = code.1278 + 1;
      code = code.1279;
      *code.1278 = 102;
      <D.22622>:
      code.915 = code;
      code.1280 = code.915;
      code.1281 = code.1280 + 1;
      code = code.1281;
      *code.1280 = 137;
      goto <D.22620>;
      <D.22623>:
      __assert_fail ("0", "exceptions-x86.c", 639, &__PRETTY_FUNCTION__);
      <D.22620>:
      if (1 != 0) goto <D.24904>; else goto <D.24905>;
      <D.24904>:
      D.24906 = arg_offsets[2];
      if (D.24906 == 0) goto <D.24907>; else goto <D.24908>;
      <D.24907>:
      code.915 = code;
      code.1282 = code.915;
      code.1283 = code.1282 + 1;
      code = code.1283;
      *code.1282 = 4;
      code.915 = code;
      code.1284 = code.915;
      code.1285 = code.1284 + 1;
      code = code.1285;
      *code.1284 = 36;
      goto <D.24913>;
      <D.24908>:
      D.24906 = arg_offsets[2];
      D.24914 = (unsigned int) D.24906;
      D.24915 = D.24914 + 128;
      if (D.24915 <= 255) goto <D.24916>; else goto <D.24917>;
      <D.24916>:
      code.915 = code;
      code.1286 = code.915;
      code.1287 = code.1286 + 1;
      code = code.1287;
      *code.1286 = 68;
      code.915 = code;
      code.1288 = code.915;
      code.1289 = code.1288 + 1;
      code = code.1289;
      *code.1288 = 36;
      code.915 = code;
      D.24906 = arg_offsets[2];
      D.24922 = (unsigned char) D.24906;
      *code.915 = D.24922;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24923>;
      <D.24917>:
      code.915 = code;
      code.1290 = code.915;
      code.1291 = code.1290 + 1;
      code = code.1291;
      *code.1290 = 132;
      code.915 = code;
      code.1292 = code.915;
      code.1293 = code.1292 + 1;
      code = code.1293;
      *code.1292 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            D.24906 = arg_offsets[2];
            imb.val = D.24906;
            code.915 = code;
            code.1294 = code.915;
            code.1295 = code.1294 + 1;
            code = code.1295;
            D.24930 = imb.b[0];
            *code.1294 = D.24930;
            code.915 = code;
            code.1296 = code.915;
            code.1297 = code.1296 + 1;
            code = code.1297;
            D.24933 = imb.b[1];
            *code.1296 = D.24933;
            code.915 = code;
            code.1298 = code.915;
            code.1299 = code.1298 + 1;
            code = code.1299;
            D.24936 = imb.b[2];
            *code.1298 = D.24936;
            code.915 = code;
            code.1300 = code.915;
            code.1301 = code.1300 + 1;
            code = code.1301;
            D.24939 = imb.b[3];
            *code.1300 = D.24939;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24923>:
      <D.24913>:
      goto <D.22625>;
      <D.24905>:
      D.24906 = arg_offsets[2];
      if (D.24906 == 0) goto <D.24940>; else goto <D.24941>;
      <D.24940>:
      code.915 = code;
      code.1302 = code.915;
      code.1303 = code.1302 + 1;
      code = code.1303;
      *code.1302 = 4;
      goto <D.22625>;
      <D.24941>:
      D.24906 = arg_offsets[2];
      D.24914 = (unsigned int) D.24906;
      D.24915 = D.24914 + 128;
      if (D.24915 <= 255) goto <D.24944>; else goto <D.24945>;
      <D.24944>:
      code.915 = code;
      code.1304 = code.915;
      code.1305 = code.1304 + 1;
      code = code.1305;
      *code.1304 = 68;
      code.915 = code;
      D.24906 = arg_offsets[2];
      D.24922 = (unsigned char) D.24906;
      *code.915 = D.24922;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24948>;
      <D.24945>:
      code.915 = code;
      code.1306 = code.915;
      code.1307 = code.1306 + 1;
      code = code.1307;
      *code.1306 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            D.24906 = arg_offsets[2];
            imb.val = D.24906;
            code.915 = code;
            code.1308 = code.915;
            code.1309 = code.1308 + 1;
            code = code.1309;
            D.24953 = imb.b[0];
            *code.1308 = D.24953;
            code.915 = code;
            code.1310 = code.915;
            code.1311 = code.1310 + 1;
            code = code.1311;
            D.24956 = imb.b[1];
            *code.1310 = D.24956;
            code.915 = code;
            code.1312 = code.915;
            code.1313 = code.1312 + 1;
            code = code.1313;
            D.24959 = imb.b[2];
            *code.1312 = D.24959;
            code.915 = code;
            code.1314 = code.915;
            code.1315 = code.1314 + 1;
            code = code.1315;
            D.24962 = imb.b[3];
            *code.1314 = D.24962;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24948>:
      <D.22625>:
      if (resume_unwind != 0) goto <D.24963>; else goto <D.24964>;
      <D.24963>:
      if (0 != 0) goto <D.24965>; else goto <D.24966>;
      <D.24965>:
      code.915 = code;
      code.1316 = code.915;
      code.1317 = code.1316 + 1;
      code = code.1317;
      *code.1316 = 198;
      if (1 != 0) goto <D.24969>; else goto <D.24970>;
      <D.24969>:
      D.24971 = arg_offsets[3];
      if (D.24971 == 0) goto <D.24972>; else goto <D.24973>;
      <D.24972>:
      code.915 = code;
      code.1318 = code.915;
      code.1319 = code.1318 + 1;
      code = code.1319;
      *code.1318 = 4;
      code.915 = code;
      code.1320 = code.915;
      code.1321 = code.1320 + 1;
      code = code.1321;
      *code.1320 = 36;
      goto <D.24978>;
      <D.24973>:
      D.24971 = arg_offsets[3];
      D.24979 = (unsigned int) D.24971;
      D.24980 = D.24979 + 128;
      if (D.24980 <= 255) goto <D.24981>; else goto <D.24982>;
      <D.24981>:
      code.915 = code;
      code.1322 = code.915;
      code.1323 = code.1322 + 1;
      code = code.1323;
      *code.1322 = 68;
      code.915 = code;
      code.1324 = code.915;
      code.1325 = code.1324 + 1;
      code = code.1325;
      *code.1324 = 36;
      code.915 = code;
      D.24971 = arg_offsets[3];
      D.24987 = (unsigned char) D.24971;
      *code.915 = D.24987;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.24988>;
      <D.24982>:
      code.915 = code;
      code.1326 = code.915;
      code.1327 = code.1326 + 1;
      code = code.1327;
      *code.1326 = 132;
      code.915 = code;
      code.1328 = code.915;
      code.1329 = code.1328 + 1;
      code = code.1329;
      *code.1328 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            D.24971 = arg_offsets[3];
            imb.val = D.24971;
            code.915 = code;
            code.1330 = code.915;
            code.1331 = code.1330 + 1;
            code = code.1331;
            D.24995 = imb.b[0];
            *code.1330 = D.24995;
            code.915 = code;
            code.1332 = code.915;
            code.1333 = code.1332 + 1;
            code = code.1333;
            D.24998 = imb.b[1];
            *code.1332 = D.24998;
            code.915 = code;
            code.1334 = code.915;
            code.1335 = code.1334 + 1;
            code = code.1335;
            D.25001 = imb.b[2];
            *code.1334 = D.25001;
            code.915 = code;
            code.1336 = code.915;
            code.1337 = code.1336 + 1;
            code = code.1337;
            D.25004 = imb.b[3];
            *code.1336 = D.25004;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.24988>:
      <D.24978>:
      goto <D.22628>;
      <D.24970>:
      D.24971 = arg_offsets[3];
      if (D.24971 == 0) goto <D.25005>; else goto <D.25006>;
      <D.25005>:
      code.915 = code;
      code.1338 = code.915;
      code.1339 = code.1338 + 1;
      code = code.1339;
      *code.1338 = 4;
      goto <D.22628>;
      <D.25006>:
      D.24971 = arg_offsets[3];
      D.24979 = (unsigned int) D.24971;
      D.24980 = D.24979 + 128;
      if (D.24980 <= 255) goto <D.25009>; else goto <D.25010>;
      <D.25009>:
      code.915 = code;
      code.1340 = code.915;
      code.1341 = code.1340 + 1;
      code = code.1341;
      *code.1340 = 68;
      code.915 = code;
      D.24971 = arg_offsets[3];
      D.24987 = (unsigned char) D.24971;
      *code.915 = D.24987;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25013>;
      <D.25010>:
      code.915 = code;
      code.1342 = code.915;
      code.1343 = code.1342 + 1;
      code = code.1343;
      *code.1342 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            D.24971 = arg_offsets[3];
            imb.val = D.24971;
            code.915 = code;
            code.1344 = code.915;
            code.1345 = code.1344 + 1;
            code = code.1345;
            D.25018 = imb.b[0];
            *code.1344 = D.25018;
            code.915 = code;
            code.1346 = code.915;
            code.1347 = code.1346 + 1;
            code = code.1347;
            D.25021 = imb.b[1];
            *code.1346 = D.25021;
            code.915 = code;
            code.1348 = code.915;
            code.1349 = code.1348 + 1;
            code = code.1349;
            D.25024 = imb.b[2];
            *code.1348 = D.25024;
            code.915 = code;
            code.1350 = code.915;
            code.1351 = code.1350 + 1;
            code = code.1351;
            D.25027 = imb.b[3];
            *code.1350 = D.25027;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25013>:
      <D.22628>:
      code.915 = code;
      *code.915 = 0;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25028>;
      <D.24966>:
      if (0 != 0) goto <D.25029>; else goto <D.25030>;
      <D.25029>:
      code.915 = code;
      code.1352 = code.915;
      code.1353 = code.1352 + 1;
      code = code.1353;
      *code.1352 = 102;
      code.915 = code;
      code.1354 = code.915;
      code.1355 = code.1354 + 1;
      code = code.1355;
      *code.1354 = 199;
      if (1 != 0) goto <D.25035>; else goto <D.25036>;
      <D.25035>:
      D.24971 = arg_offsets[3];
      if (D.24971 == 0) goto <D.25037>; else goto <D.25038>;
      <D.25037>:
      code.915 = code;
      code.1356 = code.915;
      code.1357 = code.1356 + 1;
      code = code.1357;
      *code.1356 = 4;
      code.915 = code;
      code.1358 = code.915;
      code.1359 = code.1358 + 1;
      code = code.1359;
      *code.1358 = 36;
      goto <D.25043>;
      <D.25038>:
      D.24971 = arg_offsets[3];
      D.24979 = (unsigned int) D.24971;
      D.24980 = D.24979 + 128;
      if (D.24980 <= 255) goto <D.25044>; else goto <D.25045>;
      <D.25044>:
      code.915 = code;
      code.1360 = code.915;
      code.1361 = code.1360 + 1;
      code = code.1361;
      *code.1360 = 68;
      code.915 = code;
      code.1362 = code.915;
      code.1363 = code.1362 + 1;
      code = code.1363;
      *code.1362 = 36;
      code.915 = code;
      D.24971 = arg_offsets[3];
      D.24987 = (unsigned char) D.24971;
      *code.915 = D.24987;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25050>;
      <D.25045>:
      code.915 = code;
      code.1364 = code.915;
      code.1365 = code.1364 + 1;
      code = code.1365;
      *code.1364 = 132;
      code.915 = code;
      code.1366 = code.915;
      code.1367 = code.1366 + 1;
      code = code.1367;
      *code.1366 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            D.24971 = arg_offsets[3];
            imb.val = D.24971;
            code.915 = code;
            code.1368 = code.915;
            code.1369 = code.1368 + 1;
            code = code.1369;
            D.25057 = imb.b[0];
            *code.1368 = D.25057;
            code.915 = code;
            code.1370 = code.915;
            code.1371 = code.1370 + 1;
            code = code.1371;
            D.25060 = imb.b[1];
            *code.1370 = D.25060;
            code.915 = code;
            code.1372 = code.915;
            code.1373 = code.1372 + 1;
            code = code.1373;
            D.25063 = imb.b[2];
            *code.1372 = D.25063;
            code.915 = code;
            code.1374 = code.915;
            code.1375 = code.1374 + 1;
            code = code.1375;
            D.25066 = imb.b[3];
            *code.1374 = D.25066;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25050>:
      <D.25043>:
      goto <D.22631>;
      <D.25036>:
      D.24971 = arg_offsets[3];
      if (D.24971 == 0) goto <D.25067>; else goto <D.25068>;
      <D.25067>:
      code.915 = code;
      code.1376 = code.915;
      code.1377 = code.1376 + 1;
      code = code.1377;
      *code.1376 = 4;
      goto <D.22631>;
      <D.25068>:
      D.24971 = arg_offsets[3];
      D.24979 = (unsigned int) D.24971;
      D.24980 = D.24979 + 128;
      if (D.24980 <= 255) goto <D.25071>; else goto <D.25072>;
      <D.25071>:
      code.915 = code;
      code.1378 = code.915;
      code.1379 = code.1378 + 1;
      code = code.1379;
      *code.1378 = 68;
      code.915 = code;
      D.24971 = arg_offsets[3];
      D.24987 = (unsigned char) D.24971;
      *code.915 = D.24987;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25075>;
      <D.25072>:
      code.915 = code;
      code.1380 = code.915;
      code.1381 = code.1380 + 1;
      code = code.1381;
      *code.1380 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            D.24971 = arg_offsets[3];
            imb.val = D.24971;
            code.915 = code;
            code.1382 = code.915;
            code.1383 = code.1382 + 1;
            code = code.1383;
            D.25080 = imb.b[0];
            *code.1382 = D.25080;
            code.915 = code;
            code.1384 = code.915;
            code.1385 = code.1384 + 1;
            code = code.1385;
            D.25083 = imb.b[1];
            *code.1384 = D.25083;
            code.915 = code;
            code.1386 = code.915;
            code.1387 = code.1386 + 1;
            code = code.1387;
            D.25086 = imb.b[2];
            *code.1386 = D.25086;
            code.915 = code;
            code.1388 = code.915;
            code.1389 = code.1388 + 1;
            code = code.1389;
            D.25089 = imb.b[3];
            *code.1388 = D.25089;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25075>:
      <D.22631>:
      code.915 = code;
      MEM[(short int *)code.915] = 0;
      code.915 = code;
      code.1390 = code.915 + 2;
      code = code.1390;
      goto <D.25091>;
      <D.25030>:
      code.915 = code;
      code.1391 = code.915;
      code.1392 = code.1391 + 1;
      code = code.1392;
      *code.1391 = 199;
      if (1 != 0) goto <D.25094>; else goto <D.25095>;
      <D.25094>:
      D.24971 = arg_offsets[3];
      if (D.24971 == 0) goto <D.25096>; else goto <D.25097>;
      <D.25096>:
      code.915 = code;
      code.1393 = code.915;
      code.1394 = code.1393 + 1;
      code = code.1394;
      *code.1393 = 4;
      code.915 = code;
      code.1395 = code.915;
      code.1396 = code.1395 + 1;
      code = code.1396;
      *code.1395 = 36;
      goto <D.25102>;
      <D.25097>:
      D.24971 = arg_offsets[3];
      D.24979 = (unsigned int) D.24971;
      D.24980 = D.24979 + 128;
      if (D.24980 <= 255) goto <D.25103>; else goto <D.25104>;
      <D.25103>:
      code.915 = code;
      code.1397 = code.915;
      code.1398 = code.1397 + 1;
      code = code.1398;
      *code.1397 = 68;
      code.915 = code;
      code.1399 = code.915;
      code.1400 = code.1399 + 1;
      code = code.1400;
      *code.1399 = 36;
      code.915 = code;
      D.24971 = arg_offsets[3];
      D.24987 = (unsigned char) D.24971;
      *code.915 = D.24987;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25109>;
      <D.25104>:
      code.915 = code;
      code.1401 = code.915;
      code.1402 = code.1401 + 1;
      code = code.1402;
      *code.1401 = 132;
      code.915 = code;
      code.1403 = code.915;
      code.1404 = code.1403 + 1;
      code = code.1404;
      *code.1403 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            D.24971 = arg_offsets[3];
            imb.val = D.24971;
            code.915 = code;
            code.1405 = code.915;
            code.1406 = code.1405 + 1;
            code = code.1406;
            D.25116 = imb.b[0];
            *code.1405 = D.25116;
            code.915 = code;
            code.1407 = code.915;
            code.1408 = code.1407 + 1;
            code = code.1408;
            D.25119 = imb.b[1];
            *code.1407 = D.25119;
            code.915 = code;
            code.1409 = code.915;
            code.1410 = code.1409 + 1;
            code = code.1410;
            D.25122 = imb.b[2];
            *code.1409 = D.25122;
            code.915 = code;
            code.1411 = code.915;
            code.1412 = code.1411 + 1;
            code = code.1412;
            D.25125 = imb.b[3];
            *code.1411 = D.25125;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25109>:
      <D.25102>:
      goto <D.22634>;
      <D.25095>:
      D.24971 = arg_offsets[3];
      if (D.24971 == 0) goto <D.25126>; else goto <D.25127>;
      <D.25126>:
      code.915 = code;
      code.1413 = code.915;
      code.1414 = code.1413 + 1;
      code = code.1414;
      *code.1413 = 4;
      goto <D.22634>;
      <D.25127>:
      D.24971 = arg_offsets[3];
      D.24979 = (unsigned int) D.24971;
      D.24980 = D.24979 + 128;
      if (D.24980 <= 255) goto <D.25130>; else goto <D.25131>;
      <D.25130>:
      code.915 = code;
      code.1415 = code.915;
      code.1416 = code.1415 + 1;
      code = code.1416;
      *code.1415 = 68;
      code.915 = code;
      D.24971 = arg_offsets[3];
      D.24987 = (unsigned char) D.24971;
      *code.915 = D.24987;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25134>;
      <D.25131>:
      code.915 = code;
      code.1417 = code.915;
      code.1418 = code.1417 + 1;
      code = code.1418;
      *code.1417 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            D.24971 = arg_offsets[3];
            imb.val = D.24971;
            code.915 = code;
            code.1419 = code.915;
            code.1420 = code.1419 + 1;
            code = code.1420;
            D.25139 = imb.b[0];
            *code.1419 = D.25139;
            code.915 = code;
            code.1421 = code.915;
            code.1422 = code.1421 + 1;
            code = code.1422;
            D.25142 = imb.b[1];
            *code.1421 = D.25142;
            code.915 = code;
            code.1423 = code.915;
            code.1424 = code.1423 + 1;
            code = code.1424;
            D.25145 = imb.b[2];
            *code.1423 = D.25145;
            code.915 = code;
            code.1425 = code.915;
            code.1426 = code.1425 + 1;
            code = code.1426;
            D.25148 = imb.b[3];
            *code.1425 = D.25148;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25134>:
      <D.22634>:
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = 0;
            code.915 = code;
            code.1427 = code.915;
            code.1428 = code.1427 + 1;
            code = code.1428;
            D.25151 = imb.b[0];
            *code.1427 = D.25151;
            code.915 = code;
            code.1429 = code.915;
            code.1430 = code.1429 + 1;
            code = code.1430;
            D.25154 = imb.b[1];
            *code.1429 = D.25154;
            code.915 = code;
            code.1431 = code.915;
            code.1432 = code.1431 + 1;
            code = code.1432;
            D.25157 = imb.b[2];
            *code.1431 = D.25157;
            code.915 = code;
            code.1433 = code.915;
            code.1434 = code.1433 + 1;
            code = code.1434;
            D.25160 = imb.b[3];
            *code.1433 = D.25160;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25091>:
      <D.25028>:
      goto <D.25161>;
      <D.24964>:
      if (corlib != 0) goto <D.25162>; else goto <D.25163>;
      <D.25162>:
      switch (4) <default: <D.22641>, case 1: <D.22637>, case 2: <D.22639>, case 4: <D.22640>>
      <D.22637>:
      code.915 = code;
      code.1435 = code.915;
      code.1436 = code.1435 + 1;
      code = code.1436;
      *code.1435 = 138;
      goto <D.22638>;
      <D.22639>:
      code.915 = code;
      code.1437 = code.915;
      code.1438 = code.1437 + 1;
      code = code.1438;
      *code.1437 = 102;
      <D.22640>:
      code.915 = code;
      code.1439 = code.915;
      code.1440 = code.1439 + 1;
      code = code.1440;
      *code.1439 = 139;
      goto <D.22638>;
      <D.22641>:
      __assert_fail ("0", "exceptions-x86.c", 644, &__PRETTY_FUNCTION__);
      <D.22638>:
      if (1 != 0) goto <D.25170>; else goto <D.25171>;
      <D.25170>:
      if (stack_size == -8) goto <D.25172>; else goto <D.25173>;
      <D.25172>:
      code.915 = code;
      code.1441 = code.915;
      code.1442 = code.1441 + 1;
      code = code.1442;
      *code.1441 = 4;
      code.915 = code;
      code.1443 = code.915;
      code.1444 = code.1443 + 1;
      code = code.1444;
      *code.1443 = 36;
      goto <D.25178>;
      <D.25173>:
      stack_size.926 = (unsigned int) stack_size;
      D.25179 = stack_size.926 + 136;
      if (D.25179 <= 255) goto <D.25180>; else goto <D.25181>;
      <D.25180>:
      code.915 = code;
      code.1445 = code.915;
      code.1446 = code.1445 + 1;
      code = code.1446;
      *code.1445 = 68;
      code.915 = code;
      code.1447 = code.915;
      code.1448 = code.1447 + 1;
      code = code.1448;
      *code.1447 = 36;
      code.915 = code;
      D.24723 = (unsigned char) stack_size;
      D.25186 = D.24723 + 8;
      *code.915 = D.25186;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25187>;
      <D.25181>:
      code.915 = code;
      code.1449 = code.915;
      code.1450 = code.1449 + 1;
      code = code.1450;
      *code.1449 = 132;
      code.915 = code;
      code.1451 = code.915;
      code.1452 = code.1451 + 1;
      code = code.1452;
      *code.1451 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            D.25192 = stack_size + 8;
            imb.val = D.25192;
            code.915 = code;
            code.1453 = code.915;
            code.1454 = code.1453 + 1;
            code = code.1454;
            D.25195 = imb.b[0];
            *code.1453 = D.25195;
            code.915 = code;
            code.1455 = code.915;
            code.1456 = code.1455 + 1;
            code = code.1456;
            D.25198 = imb.b[1];
            *code.1455 = D.25198;
            code.915 = code;
            code.1457 = code.915;
            code.1458 = code.1457 + 1;
            code = code.1458;
            D.25201 = imb.b[2];
            *code.1457 = D.25201;
            code.915 = code;
            code.1459 = code.915;
            code.1460 = code.1459 + 1;
            code = code.1460;
            D.25204 = imb.b[3];
            *code.1459 = D.25204;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25187>:
      <D.25178>:
      goto <D.22643>;
      <D.25171>:
      if (stack_size == -8) goto <D.25205>; else goto <D.25206>;
      <D.25205>:
      code.915 = code;
      code.1461 = code.915;
      code.1462 = code.1461 + 1;
      code = code.1462;
      *code.1461 = 4;
      goto <D.22643>;
      <D.25206>:
      stack_size.926 = (unsigned int) stack_size;
      D.25179 = stack_size.926 + 136;
      if (D.25179 <= 255) goto <D.25209>; else goto <D.25210>;
      <D.25209>:
      code.915 = code;
      code.1463 = code.915;
      code.1464 = code.1463 + 1;
      code = code.1464;
      *code.1463 = 68;
      code.915 = code;
      D.24723 = (unsigned char) stack_size;
      D.25186 = D.24723 + 8;
      *code.915 = D.25186;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25213>;
      <D.25210>:
      code.915 = code;
      code.1465 = code.915;
      code.1466 = code.1465 + 1;
      code = code.1466;
      *code.1465 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            D.25192 = stack_size + 8;
            imb.val = D.25192;
            code.915 = code;
            code.1467 = code.915;
            code.1468 = code.1467 + 1;
            code = code.1468;
            D.25218 = imb.b[0];
            *code.1467 = D.25218;
            code.915 = code;
            code.1469 = code.915;
            code.1470 = code.1469 + 1;
            code = code.1470;
            D.25221 = imb.b[1];
            *code.1469 = D.25221;
            code.915 = code;
            code.1471 = code.915;
            code.1472 = code.1471 + 1;
            code = code.1472;
            D.25224 = imb.b[2];
            *code.1471 = D.25224;
            code.915 = code;
            code.1473 = code.915;
            code.1474 = code.1473 + 1;
            code = code.1474;
            D.25227 = imb.b[3];
            *code.1473 = D.25227;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25213>:
      <D.22643>:
      if (llvm_abs != 0) goto <D.25228>; else goto <D.25229>;
      <D.25228>:
      code.915 = code;
      code.1475 = code.915;
      code.1476 = code.1475 + 1;
      code = code.1476;
      *code.1475 = 247;
      code.915 = code;
      code.1477 = code.915;
      code.1478 = code.1477 + 1;
      code = code.1478;
      *code.1477 = 216;
      <D.25229>:
      switch (4) <default: <D.22649>, case 1: <D.22645>, case 2: <D.22647>, case 4: <D.22648>>
      <D.22645>:
      code.915 = code;
      code.1479 = code.915;
      code.1480 = code.1479 + 1;
      code = code.1480;
      *code.1479 = 136;
      goto <D.22646>;
      <D.22647>:
      code.915 = code;
      code.1481 = code.915;
      code.1482 = code.1481 + 1;
      code = code.1482;
      *code.1481 = 102;
      <D.22648>:
      code.915 = code;
      code.1483 = code.915;
      code.1484 = code.1483 + 1;
      code = code.1484;
      *code.1483 = 137;
      goto <D.22646>;
      <D.22649>:
      __assert_fail ("0", "exceptions-x86.c", 653, &__PRETTY_FUNCTION__);
      <D.22646>:
      if (1 != 0) goto <D.25240>; else goto <D.25241>;
      <D.25240>:
      D.24971 = arg_offsets[3];
      if (D.24971 == 0) goto <D.25242>; else goto <D.25243>;
      <D.25242>:
      code.915 = code;
      code.1485 = code.915;
      code.1486 = code.1485 + 1;
      code = code.1486;
      *code.1485 = 4;
      code.915 = code;
      code.1487 = code.915;
      code.1488 = code.1487 + 1;
      code = code.1488;
      *code.1487 = 36;
      goto <D.25248>;
      <D.25243>:
      D.24971 = arg_offsets[3];
      D.24979 = (unsigned int) D.24971;
      D.24980 = D.24979 + 128;
      if (D.24980 <= 255) goto <D.25249>; else goto <D.25250>;
      <D.25249>:
      code.915 = code;
      code.1489 = code.915;
      code.1490 = code.1489 + 1;
      code = code.1490;
      *code.1489 = 68;
      code.915 = code;
      code.1491 = code.915;
      code.1492 = code.1491 + 1;
      code = code.1492;
      *code.1491 = 36;
      code.915 = code;
      D.24971 = arg_offsets[3];
      D.24987 = (unsigned char) D.24971;
      *code.915 = D.24987;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25255>;
      <D.25250>:
      code.915 = code;
      code.1493 = code.915;
      code.1494 = code.1493 + 1;
      code = code.1494;
      *code.1493 = 132;
      code.915 = code;
      code.1495 = code.915;
      code.1496 = code.1495 + 1;
      code = code.1496;
      *code.1495 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            D.24971 = arg_offsets[3];
            imb.val = D.24971;
            code.915 = code;
            code.1497 = code.915;
            code.1498 = code.1497 + 1;
            code = code.1498;
            D.25262 = imb.b[0];
            *code.1497 = D.25262;
            code.915 = code;
            code.1499 = code.915;
            code.1500 = code.1499 + 1;
            code = code.1500;
            D.25265 = imb.b[1];
            *code.1499 = D.25265;
            code.915 = code;
            code.1501 = code.915;
            code.1502 = code.1501 + 1;
            code = code.1502;
            D.25268 = imb.b[2];
            *code.1501 = D.25268;
            code.915 = code;
            code.1503 = code.915;
            code.1504 = code.1503 + 1;
            code = code.1504;
            D.25271 = imb.b[3];
            *code.1503 = D.25271;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25255>:
      <D.25248>:
      goto <D.22651>;
      <D.25241>:
      D.24971 = arg_offsets[3];
      if (D.24971 == 0) goto <D.25272>; else goto <D.25273>;
      <D.25272>:
      code.915 = code;
      code.1505 = code.915;
      code.1506 = code.1505 + 1;
      code = code.1506;
      *code.1505 = 4;
      goto <D.22651>;
      <D.25273>:
      D.24971 = arg_offsets[3];
      D.24979 = (unsigned int) D.24971;
      D.24980 = D.24979 + 128;
      if (D.24980 <= 255) goto <D.25276>; else goto <D.25277>;
      <D.25276>:
      code.915 = code;
      code.1507 = code.915;
      code.1508 = code.1507 + 1;
      code = code.1508;
      *code.1507 = 68;
      code.915 = code;
      D.24971 = arg_offsets[3];
      D.24987 = (unsigned char) D.24971;
      *code.915 = D.24987;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25280>;
      <D.25277>:
      code.915 = code;
      code.1509 = code.915;
      code.1510 = code.1509 + 1;
      code = code.1510;
      *code.1509 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            D.24971 = arg_offsets[3];
            imb.val = D.24971;
            code.915 = code;
            code.1511 = code.915;
            code.1512 = code.1511 + 1;
            code = code.1512;
            D.25285 = imb.b[0];
            *code.1511 = D.25285;
            code.915 = code;
            code.1513 = code.915;
            code.1514 = code.1513 + 1;
            code = code.1514;
            D.25288 = imb.b[1];
            *code.1513 = D.25288;
            code.915 = code;
            code.1515 = code.915;
            code.1516 = code.1515 + 1;
            code = code.1516;
            D.25291 = imb.b[2];
            *code.1515 = D.25291;
            code.915 = code;
            code.1517 = code.915;
            code.1518 = code.1517 + 1;
            code = code.1518;
            D.25294 = imb.b[3];
            *code.1517 = D.25294;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25280>:
      <D.22651>:
      goto <D.25295>;
      <D.25163>:
      if (0 != 0) goto <D.25296>; else goto <D.25297>;
      <D.25296>:
      code.915 = code;
      code.1519 = code.915;
      code.1520 = code.1519 + 1;
      code = code.1520;
      *code.1519 = 198;
      if (1 != 0) goto <D.25300>; else goto <D.25301>;
      <D.25300>:
      D.24971 = arg_offsets[3];
      if (D.24971 == 0) goto <D.25302>; else goto <D.25303>;
      <D.25302>:
      code.915 = code;
      code.1521 = code.915;
      code.1522 = code.1521 + 1;
      code = code.1522;
      *code.1521 = 4;
      code.915 = code;
      code.1523 = code.915;
      code.1524 = code.1523 + 1;
      code = code.1524;
      *code.1523 = 36;
      goto <D.25308>;
      <D.25303>:
      D.24971 = arg_offsets[3];
      D.24979 = (unsigned int) D.24971;
      D.24980 = D.24979 + 128;
      if (D.24980 <= 255) goto <D.25309>; else goto <D.25310>;
      <D.25309>:
      code.915 = code;
      code.1525 = code.915;
      code.1526 = code.1525 + 1;
      code = code.1526;
      *code.1525 = 68;
      code.915 = code;
      code.1527 = code.915;
      code.1528 = code.1527 + 1;
      code = code.1528;
      *code.1527 = 36;
      code.915 = code;
      D.24971 = arg_offsets[3];
      D.24987 = (unsigned char) D.24971;
      *code.915 = D.24987;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25315>;
      <D.25310>:
      code.915 = code;
      code.1529 = code.915;
      code.1530 = code.1529 + 1;
      code = code.1530;
      *code.1529 = 132;
      code.915 = code;
      code.1531 = code.915;
      code.1532 = code.1531 + 1;
      code = code.1532;
      *code.1531 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            D.24971 = arg_offsets[3];
            imb.val = D.24971;
            code.915 = code;
            code.1533 = code.915;
            code.1534 = code.1533 + 1;
            code = code.1534;
            D.25322 = imb.b[0];
            *code.1533 = D.25322;
            code.915 = code;
            code.1535 = code.915;
            code.1536 = code.1535 + 1;
            code = code.1536;
            D.25325 = imb.b[1];
            *code.1535 = D.25325;
            code.915 = code;
            code.1537 = code.915;
            code.1538 = code.1537 + 1;
            code = code.1538;
            D.25328 = imb.b[2];
            *code.1537 = D.25328;
            code.915 = code;
            code.1539 = code.915;
            code.1540 = code.1539 + 1;
            code = code.1540;
            D.25331 = imb.b[3];
            *code.1539 = D.25331;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25315>:
      <D.25308>:
      goto <D.22654>;
      <D.25301>:
      D.24971 = arg_offsets[3];
      if (D.24971 == 0) goto <D.25332>; else goto <D.25333>;
      <D.25332>:
      code.915 = code;
      code.1541 = code.915;
      code.1542 = code.1541 + 1;
      code = code.1542;
      *code.1541 = 4;
      goto <D.22654>;
      <D.25333>:
      D.24971 = arg_offsets[3];
      D.24979 = (unsigned int) D.24971;
      D.24980 = D.24979 + 128;
      if (D.24980 <= 255) goto <D.25336>; else goto <D.25337>;
      <D.25336>:
      code.915 = code;
      code.1543 = code.915;
      code.1544 = code.1543 + 1;
      code = code.1544;
      *code.1543 = 68;
      code.915 = code;
      D.24971 = arg_offsets[3];
      D.24987 = (unsigned char) D.24971;
      *code.915 = D.24987;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25340>;
      <D.25337>:
      code.915 = code;
      code.1545 = code.915;
      code.1546 = code.1545 + 1;
      code = code.1546;
      *code.1545 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            D.24971 = arg_offsets[3];
            imb.val = D.24971;
            code.915 = code;
            code.1547 = code.915;
            code.1548 = code.1547 + 1;
            code = code.1548;
            D.25345 = imb.b[0];
            *code.1547 = D.25345;
            code.915 = code;
            code.1549 = code.915;
            code.1550 = code.1549 + 1;
            code = code.1550;
            D.25348 = imb.b[1];
            *code.1549 = D.25348;
            code.915 = code;
            code.1551 = code.915;
            code.1552 = code.1551 + 1;
            code = code.1552;
            D.25351 = imb.b[2];
            *code.1551 = D.25351;
            code.915 = code;
            code.1553 = code.915;
            code.1554 = code.1553 + 1;
            code = code.1554;
            D.25354 = imb.b[3];
            *code.1553 = D.25354;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25340>:
      <D.22654>:
      code.915 = code;
      D.25355 = (unsigned char) rethrow;
      *code.915 = D.25355;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25356>;
      <D.25297>:
      if (0 != 0) goto <D.25357>; else goto <D.25358>;
      <D.25357>:
      code.915 = code;
      code.1555 = code.915;
      code.1556 = code.1555 + 1;
      code = code.1556;
      *code.1555 = 102;
      code.915 = code;
      code.1557 = code.915;
      code.1558 = code.1557 + 1;
      code = code.1558;
      *code.1557 = 199;
      if (1 != 0) goto <D.25363>; else goto <D.25364>;
      <D.25363>:
      D.24971 = arg_offsets[3];
      if (D.24971 == 0) goto <D.25365>; else goto <D.25366>;
      <D.25365>:
      code.915 = code;
      code.1559 = code.915;
      code.1560 = code.1559 + 1;
      code = code.1560;
      *code.1559 = 4;
      code.915 = code;
      code.1561 = code.915;
      code.1562 = code.1561 + 1;
      code = code.1562;
      *code.1561 = 36;
      goto <D.25371>;
      <D.25366>:
      D.24971 = arg_offsets[3];
      D.24979 = (unsigned int) D.24971;
      D.24980 = D.24979 + 128;
      if (D.24980 <= 255) goto <D.25372>; else goto <D.25373>;
      <D.25372>:
      code.915 = code;
      code.1563 = code.915;
      code.1564 = code.1563 + 1;
      code = code.1564;
      *code.1563 = 68;
      code.915 = code;
      code.1565 = code.915;
      code.1566 = code.1565 + 1;
      code = code.1566;
      *code.1565 = 36;
      code.915 = code;
      D.24971 = arg_offsets[3];
      D.24987 = (unsigned char) D.24971;
      *code.915 = D.24987;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25378>;
      <D.25373>:
      code.915 = code;
      code.1567 = code.915;
      code.1568 = code.1567 + 1;
      code = code.1568;
      *code.1567 = 132;
      code.915 = code;
      code.1569 = code.915;
      code.1570 = code.1569 + 1;
      code = code.1570;
      *code.1569 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            D.24971 = arg_offsets[3];
            imb.val = D.24971;
            code.915 = code;
            code.1571 = code.915;
            code.1572 = code.1571 + 1;
            code = code.1572;
            D.25385 = imb.b[0];
            *code.1571 = D.25385;
            code.915 = code;
            code.1573 = code.915;
            code.1574 = code.1573 + 1;
            code = code.1574;
            D.25388 = imb.b[1];
            *code.1573 = D.25388;
            code.915 = code;
            code.1575 = code.915;
            code.1576 = code.1575 + 1;
            code = code.1576;
            D.25391 = imb.b[2];
            *code.1575 = D.25391;
            code.915 = code;
            code.1577 = code.915;
            code.1578 = code.1577 + 1;
            code = code.1578;
            D.25394 = imb.b[3];
            *code.1577 = D.25394;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25378>:
      <D.25371>:
      goto <D.22657>;
      <D.25364>:
      D.24971 = arg_offsets[3];
      if (D.24971 == 0) goto <D.25395>; else goto <D.25396>;
      <D.25395>:
      code.915 = code;
      code.1579 = code.915;
      code.1580 = code.1579 + 1;
      code = code.1580;
      *code.1579 = 4;
      goto <D.22657>;
      <D.25396>:
      D.24971 = arg_offsets[3];
      D.24979 = (unsigned int) D.24971;
      D.24980 = D.24979 + 128;
      if (D.24980 <= 255) goto <D.25399>; else goto <D.25400>;
      <D.25399>:
      code.915 = code;
      code.1581 = code.915;
      code.1582 = code.1581 + 1;
      code = code.1582;
      *code.1581 = 68;
      code.915 = code;
      D.24971 = arg_offsets[3];
      D.24987 = (unsigned char) D.24971;
      *code.915 = D.24987;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25403>;
      <D.25400>:
      code.915 = code;
      code.1583 = code.915;
      code.1584 = code.1583 + 1;
      code = code.1584;
      *code.1583 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            D.24971 = arg_offsets[3];
            imb.val = D.24971;
            code.915 = code;
            code.1585 = code.915;
            code.1586 = code.1585 + 1;
            code = code.1586;
            D.25408 = imb.b[0];
            *code.1585 = D.25408;
            code.915 = code;
            code.1587 = code.915;
            code.1588 = code.1587 + 1;
            code = code.1588;
            D.25411 = imb.b[1];
            *code.1587 = D.25411;
            code.915 = code;
            code.1589 = code.915;
            code.1590 = code.1589 + 1;
            code = code.1590;
            D.25414 = imb.b[2];
            *code.1589 = D.25414;
            code.915 = code;
            code.1591 = code.915;
            code.1592 = code.1591 + 1;
            code = code.1592;
            D.25417 = imb.b[3];
            *code.1591 = D.25417;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25403>:
      <D.22657>:
      code.915 = code;
      D.25418 = (short int) rethrow;
      MEM[(short int *)code.915] = D.25418;
      code.915 = code;
      code.1390 = code.915 + 2;
      code = code.1390;
      goto <D.25419>;
      <D.25358>:
      code.915 = code;
      code.1593 = code.915;
      code.1594 = code.1593 + 1;
      code = code.1594;
      *code.1593 = 199;
      if (1 != 0) goto <D.25422>; else goto <D.25423>;
      <D.25422>:
      D.24971 = arg_offsets[3];
      if (D.24971 == 0) goto <D.25424>; else goto <D.25425>;
      <D.25424>:
      code.915 = code;
      code.1595 = code.915;
      code.1596 = code.1595 + 1;
      code = code.1596;
      *code.1595 = 4;
      code.915 = code;
      code.1597 = code.915;
      code.1598 = code.1597 + 1;
      code = code.1598;
      *code.1597 = 36;
      goto <D.25430>;
      <D.25425>:
      D.24971 = arg_offsets[3];
      D.24979 = (unsigned int) D.24971;
      D.24980 = D.24979 + 128;
      if (D.24980 <= 255) goto <D.25431>; else goto <D.25432>;
      <D.25431>:
      code.915 = code;
      code.1599 = code.915;
      code.1600 = code.1599 + 1;
      code = code.1600;
      *code.1599 = 68;
      code.915 = code;
      code.1601 = code.915;
      code.1602 = code.1601 + 1;
      code = code.1602;
      *code.1601 = 36;
      code.915 = code;
      D.24971 = arg_offsets[3];
      D.24987 = (unsigned char) D.24971;
      *code.915 = D.24987;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25437>;
      <D.25432>:
      code.915 = code;
      code.1603 = code.915;
      code.1604 = code.1603 + 1;
      code = code.1604;
      *code.1603 = 132;
      code.915 = code;
      code.1605 = code.915;
      code.1606 = code.1605 + 1;
      code = code.1606;
      *code.1605 = 36;
      {
        union x86_imm_buf imb;

        try
          {
            D.24971 = arg_offsets[3];
            imb.val = D.24971;
            code.915 = code;
            code.1607 = code.915;
            code.1608 = code.1607 + 1;
            code = code.1608;
            D.25444 = imb.b[0];
            *code.1607 = D.25444;
            code.915 = code;
            code.1609 = code.915;
            code.1610 = code.1609 + 1;
            code = code.1610;
            D.25447 = imb.b[1];
            *code.1609 = D.25447;
            code.915 = code;
            code.1611 = code.915;
            code.1612 = code.1611 + 1;
            code = code.1612;
            D.25450 = imb.b[2];
            *code.1611 = D.25450;
            code.915 = code;
            code.1613 = code.915;
            code.1614 = code.1613 + 1;
            code = code.1614;
            D.25453 = imb.b[3];
            *code.1613 = D.25453;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25437>:
      <D.25430>:
      goto <D.22660>;
      <D.25423>:
      D.24971 = arg_offsets[3];
      if (D.24971 == 0) goto <D.25454>; else goto <D.25455>;
      <D.25454>:
      code.915 = code;
      code.1615 = code.915;
      code.1616 = code.1615 + 1;
      code = code.1616;
      *code.1615 = 4;
      goto <D.22660>;
      <D.25455>:
      D.24971 = arg_offsets[3];
      D.24979 = (unsigned int) D.24971;
      D.24980 = D.24979 + 128;
      if (D.24980 <= 255) goto <D.25458>; else goto <D.25459>;
      <D.25458>:
      code.915 = code;
      code.1617 = code.915;
      code.1618 = code.1617 + 1;
      code = code.1618;
      *code.1617 = 68;
      code.915 = code;
      D.24971 = arg_offsets[3];
      D.24987 = (unsigned char) D.24971;
      *code.915 = D.24987;
      code.915 = code;
      code.931 = code.915 + 1;
      code = code.931;
      goto <D.25462>;
      <D.25459>:
      code.915 = code;
      code.1619 = code.915;
      code.1620 = code.1619 + 1;
      code = code.1620;
      *code.1619 = 132;
      {
        union x86_imm_buf imb;

        try
          {
            D.24971 = arg_offsets[3];
            imb.val = D.24971;
            code.915 = code;
            code.1621 = code.915;
            code.1622 = code.1621 + 1;
            code = code.1622;
            D.25467 = imb.b[0];
            *code.1621 = D.25467;
            code.915 = code;
            code.1623 = code.915;
            code.1624 = code.1623 + 1;
            code = code.1624;
            D.25470 = imb.b[1];
            *code.1623 = D.25470;
            code.915 = code;
            code.1625 = code.915;
            code.1626 = code.1625 + 1;
            code = code.1626;
            D.25473 = imb.b[2];
            *code.1625 = D.25473;
            code.915 = code;
            code.1627 = code.915;
            code.1628 = code.1627 + 1;
            code = code.1628;
            D.25476 = imb.b[3];
            *code.1627 = D.25476;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25462>:
      <D.22660>:
      {
        union x86_imm_buf imb;

        try
          {
            imb.val = rethrow;
            code.915 = code;
            code.1629 = code.915;
            code.1630 = code.1629 + 1;
            code = code.1630;
            D.25479 = imb.b[0];
            *code.1629 = D.25479;
            code.915 = code;
            code.1631 = code.915;
            code.1632 = code.1631 + 1;
            code = code.1632;
            D.25482 = imb.b[1];
            *code.1631 = D.25482;
            code.915 = code;
            code.1633 = code.915;
            code.1634 = code.1633 + 1;
            code = code.1634;
            D.25485 = imb.b[2];
            *code.1633 = D.25485;
            code.915 = code;
            code.1635 = code.915;
            code.1636 = code.1635 + 1;
            code = code.1636;
            D.25488 = imb.b[3];
            *code.1635 = D.25488;
          }
        finally
          {
            imb = {CLOBBER};
          }
      }
      <D.25419>:
      <D.25356>:
      <D.25295>:
      <D.25161>:
      if (aot != 0) goto <D.25489>; else goto <D.25490>;
      <D.25489>:
      code.915 = code;
      start.945 = start;
      code.1637 = mono_arch_emit_load_got_addr (start.945, code.915, 0B, &ji);
      code = code.1637;
      if (corlib != 0) goto <D.25493>; else goto <D.25494>;
      <D.25493>:
      iftmp.1638 = "mono_x86_throw_corlib_exception";
      goto <D.25495>;
      <D.25494>:
      iftmp.1638 = "mono_x86_throw_exception";
      <D.25495>:
      code.915 = code;
      start.945 = start;
      code.1639 = mono_arch_emit_load_aotconst (start.945, code.915, &ji, 32, iftmp.1638);
      code = code.1639;
      code.915 = code;
      code.1640 = code.915;
      code.1641 = code.1640 + 1;
      code = code.1641;
      *code.1640 = 255;
      code.915 = code;
      code.1642 = code.915;
      code.1643 = code.1642 + 1;
      code = code.1643;
      *code.1642 = 208;
      goto <D.25501>;
      <D.25490>:
      {
        int _x86_offset;

        if (resume_unwind == 0) goto <D.25503>; else goto <D.25504>;
        <D.25503>:
        if (corlib != 0) goto <D.25506>; else goto <D.25507>;
        <D.25506>:
        iftmp.1645 = (int) mono_x86_throw_corlib_exception;
        goto <D.25508>;
        <D.25507>:
        iftmp.1645 = (int) mono_x86_throw_exception;
        <D.25508>:
        iftmp.1644 = iftmp.1645;
        goto <D.25509>;
        <D.25504>:
        iftmp.1644 = (int) mono_x86_resume_unwind;
        <D.25509>:
        code.915 = code;
        code.944 = (int) code.915;
        _x86_offset = iftmp.1644 - code.944;
        _x86_offset = _x86_offset + -5;
        code.915 = code;
        code.1646 = code.915;
        code.1647 = code.1646 + 1;
        code = code.1647;
        *code.1646 = 232;
        {
          union x86_imm_buf imb;

          try
            {
              imb.val = _x86_offset;
              code.915 = code;
              code.1648 = code.915;
              code.1649 = code.1648 + 1;
              code = code.1649;
              D.25514 = imb.b[0];
              *code.1648 = D.25514;
              code.915 = code;
              code.1650 = code.915;
              code.1651 = code.1650 + 1;
              code = code.1651;
              D.25517 = imb.b[1];
              *code.1650 = D.25517;
              code.915 = code;
              code.1652 = code.915;
              code.1653 = code.1652 + 1;
              code = code.1653;
              D.25520 = imb.b[2];
              *code.1652 = D.25520;
              code.915 = code;
              code.1654 = code.915;
              code.1655 = code.1654 + 1;
              code = code.1655;
              D.25523 = imb.b[3];
              *code.1654 = D.25523;
            }
          finally
            {
              imb = {CLOBBER};
            }
        }
      }
      <D.25501>:
      code.915 = code;
      code.1656 = code.915;
      code.1657 = code.1656 + 1;
      code = code.1657;
      *code.1656 = 204;
      kMaxCodeSize.913 = (int) kMaxCodeSize;
      nacl_global_codeman_validate (&start, kMaxCodeSize.913, &code);
      code.915 = code;
      code.944 = (int) code.915;
      start.945 = start;
      start.946 = (int) start.945;
      D.24344 = code.944 - start.946;
      D.25526 = (unsigned int) D.24344;
      D.25527 = D.25526 >= kMaxCodeSize;
      D.25528 = (long int) D.25527;
      D.25529 = __builtin_expect (D.25528, 0);
      if (D.25529 != 0) goto <D.25530>; else goto <D.25531>;
      <D.25530>:
      monoeg_assertion_message ("* Assertion at %s:%d, condition `%s\' not met\n", "exceptions-x86.c", 672, "(code - start) < kMaxCodeSize");
      <D.25531>:
      if (info != 0B) goto <D.25532>; else goto <D.25533>;
      <D.25532>:
      ji.1658 = ji;
      code.915 = code;
      code.944 = (int) code.915;
      start.945 = start;
      start.946 = (int) start.945;
      D.24344 = code.944 - start.946;
      D.25535 = (unsigned int) D.24344;
      start.945 = start;
      D.25536 = mono_tramp_info_create (name, start.945, D.25535, ji.1658, unwind_ops);
      *info = D.25536;
      goto <D.25537>;
      <D.25533>:
      {
        struct GSList * l;

        l = unwind_ops;
        goto <D.22667>;
        <D.22666>:
        D.25538 = l->data;
        monoeg_g_free (D.25538);
        l = l->next;
        <D.22667>:
        if (l != 0B) goto <D.22666>; else goto <D.22668>;
        <D.22668>:
        monoeg_g_slist_free (unwind_ops);
      }
      <D.25537>:
      D.25539 = start;
      return D.25539;
    }
  finally
    {
      start = {CLOBBER};
      code = {CLOBBER};
      arg_offsets = {CLOBBER};
      ji = {CLOBBER};
    }
}


mono_x86_resume_unwind (mgreg_t * regs, struct MonoObject * exc, mgreg_t eip, gboolean rethrow)
{
  int D.25542;
  int D.25543;
  int D.25544;
  int D.25545;
  int D.25546;
  int D.25547;
  int D.25548;
  int D.25549;
  struct MonoContext ctx;

  try
    {
      D.25542 = MEM[(mgreg_t *)regs + 16B];
      ctx.esp = D.25542;
      ctx.eip = eip;
      D.25543 = MEM[(mgreg_t *)regs + 20B];
      ctx.ebp = D.25543;
      D.25544 = MEM[(mgreg_t *)regs + 28B];
      ctx.edi = D.25544;
      D.25545 = MEM[(mgreg_t *)regs + 24B];
      ctx.esi = D.25545;
      D.25546 = MEM[(mgreg_t *)regs + 12B];
      ctx.ebx = D.25546;
      D.25547 = MEM[(mgreg_t *)regs + 8B];
      ctx.edx = D.25547;
      D.25548 = MEM[(mgreg_t *)regs + 4B];
      ctx.ecx = D.25548;
      D.25549 = *regs;
      ctx.eax = D.25549;
      mono_resume_unwind (&ctx);
    }
  finally
    {
      ctx = {CLOBBER};
    }
}


mono_arch_get_rethrow_exception (struct MonoTrampInfo * * info, gboolean aot)
{
  void * D.25550;

  D.25550 = get_throw_trampoline ("rethrow_exception", 1, 0, 0, 0, 0, info, aot);
  return D.25550;
}


mono_arch_get_throw_corlib_exception (struct MonoTrampInfo * * info, gboolean aot)
{
  void * D.25552;

  D.25552 = get_throw_trampoline ("throw_corlib_exception", 0, 0, 1, 0, 0, info, aot);
  return D.25552;
}


mono_arch_exceptions_init ()
{
  int mono_aot_only.1659;
  void * signal_exception_trampoline.1660;
  void * signal_exception_trampoline.1661;
  guint8 * tramp;

  mono_aot_only.1659 = mono_aot_only;
  if (mono_aot_only.1659 != 0) goto <D.25555>; else goto <D.25556>;
  <D.25555>:
  signal_exception_trampoline.1660 = mono_aot_get_trampoline ("x86_signal_exception_trampoline");
  signal_exception_trampoline = signal_exception_trampoline.1660;
  return;
  <D.25556>:
  tramp = get_throw_trampoline ("llvm_throw_exception_trampoline", 0, 1, 0, 0, 0, 0B, 0);
  mono_register_jit_icall (tramp, "llvm_throw_exception_trampoline", 0B, 1);
  tramp = get_throw_trampoline ("llvm_rethrow_exception_trampoline", 0, 1, 0, 0, 0, 0B, 0);
  mono_register_jit_icall (tramp, "llvm_rethrow_exception_trampoline", 0B, 1);
  tramp = get_throw_trampoline ("llvm_throw_corlib_exception_trampoline", 0, 1, 1, 0, 0, 0B, 0);
  mono_register_jit_icall (tramp, "llvm_throw_corlib_exception_trampoline", 0B, 1);
  tramp = get_throw_trampoline ("llvm_throw_corlib_exception_abs_trampoline", 0, 1, 1, 1, 0, 0B, 0);
  mono_register_jit_icall (tramp, "llvm_throw_corlib_exception_abs_trampoline", 0B, 1);
  tramp = get_throw_trampoline ("llvm_resume_unwind_trampoline", 0, 0, 0, 0, 1, 0B, 0);
  mono_register_jit_icall (tramp, "llvm_resume_unwind_trampoline", 0B, 1);
  signal_exception_trampoline.1661 = mono_x86_get_signal_exception_trampoline (0B, 0);
  signal_exception_trampoline = signal_exception_trampoline.1661;
}


mono_arch_find_jit_info (struct MonoDomain * domain, struct MonoJitTlsData * jit_tls, struct MonoJitInfo * ji, struct MonoContext * ctx, struct MonoContext * new_ctx, struct MonoLMF * * lmf, mgreg_t * * save_locations, struct StackFrameInfo * frame)
{
  int D.25560;
  unsigned char D.25563;
  unsigned char D.25564;
  unsigned int D.25568;
  int D.25569;
  int D.25570;
  int D.25571;
  int D.25572;
  int D.25573;
  int D.25574;
  int D.25575;
  int D.25576;
  int D.25577;
  void * D.25578;
  int D.25579;
  sizetype D.25580;
  guint8 * D.25581;
  unsigned int unwind_info_len.1662;
  int D.25583;
  int D.25584;
  int D.25585;
  int D.25586;
  int D.25587;
  int D.25588;
  int D.25589;
  int D.25590;
  int D.25591;
  guint8 * cfa.1663;
  int cfa.1664;
  int D.25594;
  struct MonoLMF * D.25595;
  struct MonoLMF * D.25598;
  unsigned int D.25601;
  int D.25602;
  unsigned int D.25605;
  unsigned int D.25607;
  int D.25608;
  void * D.25609;
  unsigned int D.25612;
  struct MonoLMF * D.25613;
  unsigned char D.25614;
  struct MonoArchEHJitInfo * D.25617;
  unsigned int D.25618;
  unsigned int D.25619;
  unsigned int D.25620;
  int D.25621;
  gboolean D.25622;
  long long unsigned int D.25625;
  long long unsigned int D.25626;
  int D.25629;
  _Bool D.25630;
  long int D.25631;
  long int D.25632;
  struct MonoContext * D.25635;
  unsigned int D.25636;
  char * D.25637;
  unsigned int D.25641;
  struct MonoMethod * D.25644;
  unsigned int D.25645;
  int D.25646;
  unsigned int D.25647;
  int D.25648;
  unsigned int D.25649;
  int D.25650;
  int D.25651;
  int D.25652;
  int D.25655;
  guint32 * D.25657;
  int D.25658;
  void * ip;

  D.25560 = ctx->eip;
  ip = (void *) D.25560;
  memset (frame, 0, 52);
  frame->ji = ji;
  *new_ctx = *ctx;
  if (ji != 0B) goto <D.25561>; else goto <D.25562>;
  <D.25561>:
  {
    gssize regs[9];
    guint8 * cfa;
    guint32 unwind_info_len;
    guint8 * unwind_info;

    try
      {
        frame->type = 0;
        D.25563 = BIT_FIELD_REF <*ji, 8, 176>;
        D.25564 = D.25563 & 16;
        if (D.25564 != 0) goto <D.25565>; else goto <D.25566>;
        <D.25565>:
        unwind_info = mono_aot_get_unwind_info (ji, &unwind_info_len);
        goto <D.25567>;
        <D.25566>:
        D.25568 = ji->used_regs;
        unwind_info = mono_get_cached_unwind_info (D.25568, &unwind_info_len);
        <D.25567>:
        D.25569 = new_ctx->eax;
        regs[0] = D.25569;
        D.25570 = new_ctx->ebx;
        regs[3] = D.25570;
        D.25571 = new_ctx->ecx;
        regs[1] = D.25571;
        D.25572 = new_ctx->edx;
        regs[2] = D.25572;
        D.25573 = new_ctx->esp;
        regs[4] = D.25573;
        D.25574 = new_ctx->ebp;
        regs[5] = D.25574;
        D.25575 = new_ctx->esi;
        regs[6] = D.25575;
        D.25576 = new_ctx->edi;
        regs[7] = D.25576;
        D.25577 = new_ctx->eip;
        regs[8] = D.25577;
        D.25578 = ji->code_start;
        D.25579 = ji->code_size;
        D.25580 = (sizetype) D.25579;
        D.25581 = D.25578 + D.25580;
        D.25578 = ji->code_start;
        unwind_info_len.1662 = unwind_info_len;
        mono_unwind_frame (unwind_info, unwind_info_len.1662, D.25578, D.25581, ip, &regs, 9, save_locations, 8, &cfa);
        D.25583 = regs[0];
        new_ctx->eax = D.25583;
        D.25584 = regs[3];
        new_ctx->ebx = D.25584;
        D.25585 = regs[1];
        new_ctx->ecx = D.25585;
        D.25586 = regs[2];
        new_ctx->edx = D.25586;
        D.25587 = regs[4];
        new_ctx->esp = D.25587;
        D.25588 = regs[5];
        new_ctx->ebp = D.25588;
        D.25589 = regs[6];
        new_ctx->esi = D.25589;
        D.25590 = regs[7];
        new_ctx->edi = D.25590;
        D.25591 = regs[8];
        new_ctx->eip = D.25591;
        cfa.1663 = cfa;
        cfa.1664 = (int) cfa.1663;
        new_ctx->esp = cfa.1664;
        D.25577 = new_ctx->eip;
        D.25594 = D.25577 + -1;
        new_ctx->eip = D.25594;
        D.25595 = *lmf;
        if (D.25595 != 0B) goto <D.25596>; else goto <D.25597>;
        <D.25596>:
        D.25595 = *lmf;
        D.25598 = jit_tls->first_lmf;
        if (D.25595 != D.25598) goto <D.25599>; else goto <D.25600>;
        <D.25599>:
        {
          gboolean is_tramp;
          void * lmf_esp;

          D.25595 = *lmf;
          D.25601 = D.25595->previous_lmf;
          D.25602 = (int) D.25601;
          is_tramp = D.25602 & 1;
          if (is_tramp != 0) goto <D.25603>; else goto <D.25604>;
          <D.25603>:
          D.25595 = *lmf;
          D.25605 = D.25595->esp;
          lmf_esp = (void *) D.25605;
          goto <D.25606>;
          <D.25604>:
          D.25595 = *lmf;
          D.25607 = D.25595->ebp;
          lmf_esp = (void *) D.25607;
          <D.25606>:
          D.25608 = ctx->esp;
          D.25609 = (void *) D.25608;
          if (D.25609 >= lmf_esp) goto <D.25610>; else goto <D.25611>;
          <D.25610>:
          D.25595 = *lmf;
          D.25601 = D.25595->previous_lmf;
          D.25612 = D.25601 & 4294967292;
          D.25613 = (struct MonoLMF *) D.25612;
          *lmf = D.25613;
          <D.25611>:
        }
        <D.25600>:
        <D.25597>:
        D.25563 = BIT_FIELD_REF <*ji, 8, 176>;
        D.25614 = D.25563 & 8;
        if (D.25614 != 0) goto <D.25615>; else goto <D.25616>;
        <D.25615>:
        D.25617 = mono_jit_info_get_arch_eh_info (ji);
        D.25618 = D.25617->stack_size;
        D.25573 = new_ctx->esp;
        D.25619 = (unsigned int) D.25573;
        D.25620 = D.25619 + D.25618;
        D.25621 = (int) D.25620;
        new_ctx->esp = D.25621;
        <D.25616>:
        D.25622 = 1;
        return D.25622;
      }
    finally
      {
        regs = {CLOBBER};
        cfa = {CLOBBER};
        unwind_info_len = {CLOBBER};
      }
  }
  <D.25562>:
  D.25595 = *lmf;
  if (D.25595 != 0B) goto <D.25623>; else goto <D.25624>;
  <D.25623>:
  D.25595 = *lmf;
  D.25601 = D.25595->previous_lmf;
  D.25625 = (long long unsigned int) D.25601;
  D.25626 = D.25625 & 2;
  if (D.25626 != 0) goto <D.25627>; else goto <D.25628>;
  <D.25627>:
  {
    struct MonoLMFExt * ext;

    ext = *lmf;
    D.25629 = ext->debugger_invoke;
    D.25630 = D.25629 == 0;
    D.25631 = (long int) D.25630;
    D.25632 = __builtin_expect (D.25631, 0);
    if (D.25632 != 0) goto <D.25633>; else goto <D.25634>;
    <D.25633>:
    monoeg_assertion_message ("* Assertion at %s:%d, condition `%s\' not met\n", "exceptions-x86.c", 875, "ext->debugger_invoke");
    <D.25634>:
    D.25635 = &ext->ctx;
    memcpy (new_ctx, D.25635, 36);
    D.25595 = *lmf;
    D.25601 = D.25595->previous_lmf;
    D.25612 = D.25601 & 4294967292;
    D.25613 = (struct MonoLMF *) D.25612;
    *lmf = D.25613;
    frame->type = 1;
    D.25622 = 1;
    return D.25622;
  }
  <D.25628>:
  D.25595 = *lmf;
  D.25636 = D.25595->eip;
  D.25637 = (char *) D.25636;
  ji = mini_jit_info_table_find (domain, D.25637, 0B);
  if (ji != 0B) goto <D.25638>; else goto <D.25639>;
  <D.25638>:
  goto <D.25640>;
  <D.25639>:
  D.25595 = *lmf;
  D.25601 = D.25595->previous_lmf;
  D.25641 = D.25601 & 1;
  if (D.25641 == 0) goto <D.25642>; else goto <D.25643>;
  <D.25642>:
  D.25622 = 0;
  return D.25622;
  <D.25643>:
  monoeg_assertion_message ("* Assertion: should not be reached at %s:%d\n", "exceptions-x86.c", 891);
  D.25595 = *lmf;
  D.25644 = D.25595->method;
  frame->method = D.25644;
  <D.25640>:
  D.25595 = *lmf;
  D.25645 = D.25595->esi;
  D.25646 = (int) D.25645;
  new_ctx->esi = D.25646;
  D.25595 = *lmf;
  D.25647 = D.25595->edi;
  D.25648 = (int) D.25647;
  new_ctx->edi = D.25648;
  D.25595 = *lmf;
  D.25649 = D.25595->ebx;
  D.25650 = (int) D.25649;
  new_ctx->ebx = D.25650;
  D.25595 = *lmf;
  D.25607 = D.25595->ebp;
  D.25651 = (int) D.25607;
  new_ctx->ebp = D.25651;
  D.25595 = *lmf;
  D.25636 = D.25595->eip;
  D.25652 = (int) D.25636;
  new_ctx->eip = D.25652;
  D.25577 = new_ctx->eip;
  D.25594 = D.25577 + -1;
  new_ctx->eip = D.25594;
  frame->ji = ji;
  frame->type = 2;
  D.25595 = *lmf;
  D.25601 = D.25595->previous_lmf;
  D.25641 = D.25601 & 1;
  if (D.25641 != 0) goto <D.25653>; else goto <D.25654>;
  <D.25653>:
  D.25595 = *lmf;
  D.25605 = D.25595->esp;
  D.25655 = (int) D.25605;
  new_ctx->esp = D.25655;
  goto <D.25656>;
  <D.25654>:
  D.25595 = *lmf;
  D.25657 = &D.25595->eip;
  D.25658 = (int) D.25657;
  new_ctx->esp = D.25658;
  <D.25656>:
  D.25595 = *lmf;
  D.25601 = D.25595->previous_lmf;
  D.25612 = D.25601 & 4294967292;
  D.25613 = (struct MonoLMF *) D.25612;
  *lmf = D.25613;
  D.25622 = 1;
  return D.25622;
  <D.25624>:
  D.25622 = 0;
  return D.25622;
}


memset (void * __dest, int __ch, size_t __len)
{
  int D.25663;
  int D.25668;
  void * D.25670;
  unsigned int D.25671;

  D.25663 = __builtin_constant_p (__len);
  if (D.25663 != 0) goto <D.25664>; else goto <D.25665>;
  <D.25664>:
  if (__len == 0) goto <D.25666>; else goto <D.25667>;
  <D.25666>:
  D.25668 = __builtin_constant_p (__ch);
  if (D.25668 == 0) goto <D.25661>; else goto <D.25669>;
  <D.25669>:
  if (__ch != 0) goto <D.25661>; else goto <D.25662>;
  <D.25661>:
  __warn_memset_zero_len ();
  D.25670 = __dest;
  return D.25670;
  <D.25662>:
  <D.25667>:
  <D.25665>:
  D.25671 = __builtin_object_size (__dest, 0);
  D.25670 = __builtin___memset_chk (__dest, __ch, __len, D.25671);
  return D.25670;
}


memcpy (void * restrict __dest, const void * restrict __src, size_t __len)
{
  void * D.25673;
  unsigned int D.25674;

  D.25674 = __builtin_object_size (__dest, 0);
  D.25673 = __builtin___memcpy_chk (__dest, __src, __len, D.25674);
  return D.25673;
}


mono_arch_sigctx_to_monoctx (void * sigctx, struct MonoContext * mctx)
{
  mono_sigctx_to_monoctx (sigctx, mctx);
}


mono_arch_monoctx_to_sigctx (struct MonoContext * mctx, void * sigctx)
{
  mono_monoctx_to_sigctx (mctx, sigctx);
}


mono_arch_ip_from_context (void * sigctx)
{
  void * D.25676;
  int D.25677;
  struct ucontext_t * ctx;

  ctx = sigctx;
  D.25677 = ctx->uc_mcontext.gregs[14];
  D.25676 = (void *) D.25677;
  return D.25676;
}


mono_x86_get_signal_exception_trampoline (struct MonoTrampInfo * * info, gboolean aot)
{
  guint8 * code.1665;
  struct MonoUnwindOp * D.25680;
  struct MonoUnwindOp * D.25681;
  guint8 * code.1666;
  guint8 * code.1667;
  unsigned char D.25686;
  guint8 * code.1668;
  unsigned char D.25688;
  guint8 * code.1669;
  unsigned char D.25690;
  guint8 * code.1670;
  unsigned char D.25692;
  unsigned int stack_size.1671;
  unsigned int D.25694;
  guint8 * code.1672;
  guint8 * code.1673;
  unsigned char D.25699;
  guint8 * code.1674;
  guint8 * code.1675;
  guint8 * code.1676;
  unsigned char D.25704;
  guint8 * code.1677;
  unsigned char D.25706;
  guint8 * code.1678;
  unsigned char D.25708;
  guint8 * code.1679;
  unsigned char D.25710;
  int D.25711;
  int code.1680;
  int start.1681;
  int D.25714;
  struct MonoUnwindOp * D.25715;
  guint8 * code.1682;
  guint8 * code.1683;
  guint8 * code.1684;
  guint8 * code.1685;
  guint8 * code.1686;
  guint8 * code.1687;
  guint8 * code.1688;
  guint8 * code.1689;
  guint8 * code.1690;
  guint8 * code.1691;
  unsigned char D.25734;
  guint8 * code.1692;
  unsigned char D.25736;
  guint8 * code.1693;
  unsigned char D.25738;
  guint8 * code.1694;
  unsigned char D.25740;
  guint8 * code.1695;
  guint8 * code.1696;
  guint8 * code.1697;
  guint8 * code.1698;
  unsigned char D.25750;
  guint8 * code.1699;
  unsigned char D.25752;
  guint8 * code.1700;
  unsigned char D.25754;
  guint8 * code.1701;
  unsigned char D.25756;
  guint8 * code.1702;
  guint8 * code.1703;
  _Bool D.25759;
  long int D.25760;
  long int D.25761;
  unsigned int D.25766;
  struct MonoTrampInfo * D.25767;
  void * D.25769;
  void * D.25770;
  guint8 * start;
  guint8 * code;
  struct MonoJumpInfo * ji;
  struct GSList * unwind_ops;
  int stack_size;
  static const char __PRETTY_FUNCTION__[41] = "mono_x86_get_signal_exception_trampoline";

  ji = 0B;
  unwind_ops = 0B;
  code = mono_global_codeman_reserve (128);
  start = code;
  code.1665 = code;
  code = code.1665 + 1;
  *code.1665 = 81;
  D.25680 = mono_create_unwind_op (0, 12, 4, 4);
  unwind_ops = monoeg_g_slist_append (unwind_ops, D.25680);
  D.25681 = mono_create_unwind_op (0, 128, 8, -4);
  unwind_ops = monoeg_g_slist_append (unwind_ops, D.25681);
  stack_size = 12;
  if (0 != 0) goto <D.25682>; else goto <D.25683>;
  <D.25682>:
  code.1666 = code;
  code = code.1666 + 1;
  *code.1666 = 45;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = stack_size;
        code.1667 = code;
        code = code.1667 + 1;
        D.25686 = imb.b[0];
        *code.1667 = D.25686;
        code.1668 = code;
        code = code.1668 + 1;
        D.25688 = imb.b[1];
        *code.1668 = D.25688;
        code.1669 = code;
        code = code.1669 + 1;
        D.25690 = imb.b[2];
        *code.1669 = D.25690;
        code.1670 = code;
        code = code.1670 + 1;
        D.25692 = imb.b[3];
        *code.1670 = D.25692;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  goto <D.22730>;
  <D.25683>:
  stack_size.1671 = (unsigned int) stack_size;
  D.25694 = stack_size.1671 + 128;
  if (D.25694 <= 255) goto <D.25695>; else goto <D.25696>;
  <D.25695>:
  code.1672 = code;
  code = code.1672 + 1;
  *code.1672 = 131;
  code.1673 = code;
  code = code.1673 + 1;
  *code.1673 = 236;
  D.25699 = (unsigned char) stack_size;
  *code = D.25699;
  code = code + 1;
  goto <D.25700>;
  <D.25696>:
  code.1674 = code;
  code = code.1674 + 1;
  *code.1674 = 129;
  code.1675 = code;
  code = code.1675 + 1;
  *code.1675 = 236;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = stack_size;
        code.1676 = code;
        code = code.1676 + 1;
        D.25704 = imb.b[0];
        *code.1676 = D.25704;
        code.1677 = code;
        code = code.1677 + 1;
        D.25706 = imb.b[1];
        *code.1677 = D.25706;
        code.1678 = code;
        code = code.1678 + 1;
        D.25708 = imb.b[2];
        *code.1678 = D.25708;
        code.1679 = code;
        code = code.1679 + 1;
        D.25710 = imb.b[3];
        *code.1679 = D.25710;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.25700>:
  <D.22730>:
  D.25711 = stack_size + 4;
  code.1680 = (int) code;
  start.1681 = (int) start;
  D.25714 = code.1680 - start.1681;
  D.25715 = mono_create_unwind_op (D.25714, 14, 0, D.25711);
  unwind_ops = monoeg_g_slist_append (unwind_ops, D.25715);
  switch (4) <default: <D.22736>, case 1: <D.22732>, case 2: <D.22734>, case 4: <D.22735>>
  <D.22732>:
  code.1682 = code;
  code = code.1682 + 1;
  *code.1682 = 136;
  goto <D.22733>;
  <D.22734>:
  code.1683 = code;
  code = code.1683 + 1;
  *code.1683 = 102;
  <D.22735>:
  code.1684 = code;
  code = code.1684 + 1;
  *code.1684 = 137;
  goto <D.22733>;
  <D.22736>:
  __assert_fail ("0", "exceptions-x86.c", 1016, &__PRETTY_FUNCTION__);
  <D.22733>:
  if (1 != 0) goto <D.25719>; else goto <D.25720>;
  <D.25719>:
  if (1 != 0) goto <D.25721>; else goto <D.25722>;
  <D.25721>:
  code.1685 = code;
  code = code.1685 + 1;
  *code.1685 = 4;
  code.1686 = code;
  code = code.1686 + 1;
  *code.1686 = 36;
  goto <D.25725>;
  <D.25722>:
  if (1 != 0) goto <D.25726>; else goto <D.25727>;
  <D.25726>:
  code.1687 = code;
  code = code.1687 + 1;
  *code.1687 = 68;
  code.1688 = code;
  code = code.1688 + 1;
  *code.1688 = 36;
  *code = 0;
  code = code + 1;
  goto <D.25730>;
  <D.25727>:
  code.1689 = code;
  code = code.1689 + 1;
  *code.1689 = 132;
  code.1690 = code;
  code = code.1690 + 1;
  *code.1690 = 36;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 0;
        code.1691 = code;
        code = code.1691 + 1;
        D.25734 = imb.b[0];
        *code.1691 = D.25734;
        code.1692 = code;
        code = code.1692 + 1;
        D.25736 = imb.b[1];
        *code.1692 = D.25736;
        code.1693 = code;
        code = code.1693 + 1;
        D.25738 = imb.b[2];
        *code.1693 = D.25738;
        code.1694 = code;
        code = code.1694 + 1;
        D.25740 = imb.b[3];
        *code.1694 = D.25740;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.25730>:
  <D.25725>:
  goto <D.22739>;
  <D.25720>:
  if (1 != 0) goto <D.25741>; else goto <D.25742>;
  <D.25741>:
  code.1695 = code;
  code = code.1695 + 1;
  *code.1695 = 4;
  goto <D.22739>;
  <D.25742>:
  if (1 != 0) goto <D.25744>; else goto <D.25745>;
  <D.25744>:
  code.1696 = code;
  code = code.1696 + 1;
  *code.1696 = 68;
  *code = 0;
  code = code + 1;
  goto <D.25747>;
  <D.25745>:
  code.1697 = code;
  code = code.1697 + 1;
  *code.1697 = 132;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 0;
        code.1698 = code;
        code = code.1698 + 1;
        D.25750 = imb.b[0];
        *code.1698 = D.25750;
        code.1699 = code;
        code = code.1699 + 1;
        D.25752 = imb.b[1];
        *code.1699 = D.25752;
        code.1700 = code;
        code = code.1700 + 1;
        D.25754 = imb.b[2];
        *code.1700 = D.25754;
        code.1701 = code;
        code = code.1701 + 1;
        D.25756 = imb.b[3];
        *code.1701 = D.25756;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.25747>:
  <D.22739>:
  code.1702 = code;
  code = code.1702 + 1;
  *code.1702 = 255;
  code.1703 = code;
  code = code.1703 + 1;
  *code.1703 = 210;
  code.1680 = (int) code;
  start.1681 = (int) start;
  D.25714 = code.1680 - start.1681;
  D.25759 = D.25714 > 127;
  D.25760 = (long int) D.25759;
  D.25761 = __builtin_expect (D.25760, 0);
  if (D.25761 != 0) goto <D.25762>; else goto <D.25763>;
  <D.25762>:
  monoeg_assertion_message ("* Assertion at %s:%d, condition `%s\' not met\n", "exceptions-x86.c", 1020, "(code - start) < 128");
  <D.25763>:
  if (info != 0B) goto <D.25764>; else goto <D.25765>;
  <D.25764>:
  code.1680 = (int) code;
  start.1681 = (int) start;
  D.25714 = code.1680 - start.1681;
  D.25766 = (unsigned int) D.25714;
  D.25767 = mono_tramp_info_create ("x86_signal_exception_trampoline", start, D.25766, ji, unwind_ops);
  *info = D.25767;
  goto <D.25768>;
  <D.25765>:
  {
    struct GSList * l;

    l = unwind_ops;
    goto <D.22743>;
    <D.22742>:
    D.25769 = l->data;
    monoeg_g_free (D.25769);
    l = l->next;
    <D.22743>:
    if (l != 0B) goto <D.22742>; else goto <D.22744>;
    <D.22744>:
    monoeg_g_slist_free (unwind_ops);
  }
  <D.25768>:
  D.25770 = start;
  return D.25770;
}


mono_arch_setup_async_callback (struct MonoContext * ctx, void (*<Tbf>) (void *) async_cb, void * user_data)
{
  int user_data.1704;
  int D.25773;
  int async_cb.1705;
  int D.25775;
  int D.25776;
  int D.25777;
  void * signal_exception_trampoline.1706;
  int signal_exception_trampoline.1707;

  user_data.1704 = (int) user_data;
  ctx->eax = user_data.1704;
  D.25773 = ctx->eip;
  ctx->ecx = D.25773;
  async_cb.1705 = (int) async_cb;
  ctx->edx = async_cb.1705;
  D.25775 = ctx->esp;
  D.25776 = D.25775 + -16;
  D.25777 = D.25776 & -16;
  ctx->esp = D.25777;
  signal_exception_trampoline.1706 = signal_exception_trampoline;
  signal_exception_trampoline.1707 = (int) signal_exception_trampoline.1706;
  ctx->eip = signal_exception_trampoline.1707;
}


mono_arch_handle_exception (void * sigctx, void * obj)
{
  unsigned int mono_jit_tls_id.1708;
  struct MonoContext * D.25781;
  gboolean D.25782;
  struct MonoContext mctx;
  struct ucontext_t * ctx;
  struct MonoJitTlsData * jit_tls;

  try
    {
      ctx = sigctx;
      mono_jit_tls_id.1708 = mono_jit_tls_id;
      jit_tls = pthread_getspecific (mono_jit_tls_id.1708);
      D.25781 = &jit_tls->ex_ctx;
      mono_arch_sigctx_to_monoctx (ctx, D.25781);
      mctx = jit_tls->ex_ctx;
      mono_setup_async_callback (&mctx, handle_signal_exception, obj);
      mono_monoctx_to_sigctx (&mctx, sigctx);
      D.25782 = 1;
      return D.25782;
    }
  finally
    {
      mctx = {CLOBBER};
    }
}


handle_signal_exception (void * obj)
{
  unsigned int mono_jit_tls_id.1709;
  struct MonoContext * D.25786;
  struct MonoJitTlsData * jit_tls;
  struct MonoContext ctx;

  try
    {
      mono_jit_tls_id.1709 = mono_jit_tls_id;
      jit_tls = pthread_getspecific (mono_jit_tls_id.1709);
      D.25786 = &jit_tls->ex_ctx;
      memcpy (&ctx, D.25786, 36);
      mono_handle_exception (&ctx, obj);
      mono_restore_context (&ctx);
    }
  finally
    {
      ctx = {CLOBBER};
    }
}


mono_arch_handle_altstack_exception (void * sigctx, void * fault_addr, gboolean stack_ovf)
{
  int D.25787;
  char * D.25788;
  struct MonoDomain * D.25789;
  void * D.25792;
  int D.25795;
  long int D.25796;
  char * D.25797;
  struct MonoDomain * D.25798;
  struct MonoDomain * D.25803;
  int D.25806;
  sizetype frame_size.1710;
  sizetype D.25808;
  void * * D.25809;
  void * D.25810;
  void * * D.25811;
  void * * D.25812;
  void * stack_ovf.1711;
  struct MonoContext * D.25814;
  int altstack_handle_and_restore.1712;
  int D.25816;
  struct MonoException * exc;
  struct ucontext_t * ctx;
  struct MonoJitInfo * ji;
  void * * sp;
  int frame_size;

  exc = 0B;
  ctx = sigctx;
  D.25787 = ctx->uc_mcontext.gregs[14];
  D.25788 = (char *) D.25787;
  D.25789 = mono_domain_get ();
  ji = mini_jit_info_table_find (D.25789, D.25788, 0B);
  if (ji == 0B) goto <D.25790>; else goto <D.25791>;
  <D.25790>:
  D.25787 = ctx->uc_mcontext.gregs[14];
  D.25792 = (void *) D.25787;
  if (D.25792 == fault_addr) goto <D.25793>; else goto <D.25794>;
  <D.25793>:
  {
    glong * sp;

    D.25795 = ctx->uc_mcontext.gregs[7];
    sp = (glong *) D.25795;
    D.25796 = *sp;
    D.25797 = (char *) D.25796;
    D.25798 = mono_domain_get ();
    ji = mini_jit_info_table_find (D.25798, D.25797, 0B);
    if (ji != 0B) goto <D.25799>; else goto <D.25800>;
    <D.25799>:
    D.25796 = *sp;
    ctx->uc_mcontext.gregs[14] = D.25796;
    <D.25800>:
  }
  <D.25794>:
  <D.25791>:
  if (stack_ovf != 0) goto <D.25801>; else goto <D.25802>;
  <D.25801>:
  D.25803 = mono_domain_get ();
  exc = D.25803->stack_overflow_ex;
  <D.25802>:
  if (ji == 0B) goto <D.25804>; else goto <D.25805>;
  <D.25804>:
  mono_handle_native_sigsegv (11, sigctx);
  <D.25805>:
  frame_size = 52;
  frame_size = frame_size + 15;
  frame_size = frame_size & -16;
  D.25795 = ctx->uc_mcontext.gregs[7];
  D.25806 = D.25795 & -16;
  sp = (void * *) D.25806;
  frame_size.1710 = (sizetype) frame_size;
  D.25808 = -frame_size.1710;
  sp = sp + D.25808;
  D.25809 = sp + 4294967292;
  D.25787 = ctx->uc_mcontext.gregs[14];
  D.25792 = (void *) D.25787;
  *D.25809 = D.25792;
  D.25810 = sp + 16;
  *sp = D.25810;
  D.25811 = sp + 4;
  *D.25811 = exc;
  D.25812 = sp + 8;
  stack_ovf.1711 = (void *) stack_ovf;
  *D.25812 = stack_ovf.1711;
  D.25814 = sp + 16;
  mono_sigctx_to_monoctx (sigctx, D.25814);
  altstack_handle_and_restore.1712 = (int) altstack_handle_and_restore;
  ctx->uc_mcontext.gregs[14] = altstack_handle_and_restore.1712;
  D.25809 = sp + 4294967292;
  D.25816 = (int) D.25809;
  ctx->uc_mcontext.gregs[7] = D.25816;
}


altstack_handle_and_restore (struct MonoContext * ctx, void * obj, gboolean stack_ovf)
{
  struct MonoContext mctx;

  try
    {
      mctx = *ctx;
      mono_handle_exception (&mctx, obj);
      if (stack_ovf != 0) goto <D.25817>; else goto <D.25818>;
      <D.25817>:
      prepare_for_guard_pages (&mctx);
      <D.25818>:
      mono_restore_context (&mctx);
    }
  finally
    {
      mctx = {CLOBBER};
    }
}


prepare_for_guard_pages (struct MonoContext * mctx)
{
  int D.25819;
  int D.25820;
  void * D.25821;
  int restore_soft_guard_pages.1713;
  int sp.1714;
  void * * sp;

  D.25819 = mctx->esp;
  sp = (void * *) D.25819;
  sp = sp + 4294967292;
  D.25820 = mctx->eip;
  D.25821 = (void *) D.25820;
  *sp = D.25821;
  restore_soft_guard_pages.1713 = (int) restore_soft_guard_pages;
  mctx->eip = restore_soft_guard_pages.1713;
  sp.1714 = (int) sp;
  mctx->esp = sp.1714;
}


restore_soft_guard_pages ()
{
  unsigned int mono_jit_tls_id.1715;
  void * D.25825;
  unsigned int D.25828;
  struct MonoJitTlsData * jit_tls;

  mono_jit_tls_id.1715 = mono_jit_tls_id;
  jit_tls = pthread_getspecific (mono_jit_tls_id.1715);
  D.25825 = jit_tls->stack_ovf_guard_base;
  if (D.25825 != 0B) goto <D.25826>; else goto <D.25827>;
  <D.25826>:
  D.25828 = jit_tls->stack_ovf_guard_size;
  D.25825 = jit_tls->stack_ovf_guard_base;
  mono_mprotect (D.25825, D.25828, 0);
  <D.25827>:
}


mono_tasklets_arch_restore ()
{
  guint8 * saved.1716;
  void (*MonoContinuationRestore) (struct MonoContinuation *, int, struct MonoLMF * *) D.25832;
  guint8 * code.1717;
  guint8 * code.1718;
  guint8 * code.1719;
  guint8 * code.1720;
  guint8 * code.1721;
  guint8 * code.1722;
  guint8 * code.1723;
  guint8 * code.1724;
  guint8 * code.1725;
  guint8 * code.1726;
  unsigned char D.25851;
  guint8 * code.1727;
  unsigned char D.25853;
  guint8 * code.1728;
  unsigned char D.25855;
  guint8 * code.1729;
  unsigned char D.25857;
  guint8 * code.1730;
  guint8 * code.1731;
  guint8 * code.1732;
  guint8 * code.1733;
  unsigned char D.25867;
  guint8 * code.1734;
  unsigned char D.25869;
  guint8 * code.1735;
  unsigned char D.25871;
  guint8 * code.1736;
  unsigned char D.25873;
  guint8 * code.1737;
  guint8 * code.1738;
  guint8 * code.1739;
  guint8 * code.1740;
  guint8 * code.1741;
  guint8 * code.1742;
  guint8 * code.1743;
  guint8 * code.1744;
  guint8 * code.1745;
  guint8 * code.1746;
  unsigned char D.25892;
  guint8 * code.1747;
  unsigned char D.25894;
  guint8 * code.1748;
  unsigned char D.25896;
  guint8 * code.1749;
  unsigned char D.25898;
  guint8 * code.1750;
  guint8 * code.1751;
  guint8 * code.1752;
  guint8 * code.1753;
  unsigned char D.25908;
  guint8 * code.1754;
  unsigned char D.25910;
  guint8 * code.1755;
  unsigned char D.25912;
  guint8 * code.1756;
  unsigned char D.25914;
  guint8 * code.1757;
  guint8 * code.1758;
  guint8 * code.1759;
  guint8 * code.1760;
  guint8 * code.1761;
  guint8 * code.1762;
  guint8 * code.1763;
  guint8 * code.1764;
  guint8 * code.1765;
  guint8 * code.1766;
  unsigned char D.25933;
  guint8 * code.1767;
  unsigned char D.25935;
  guint8 * code.1768;
  unsigned char D.25937;
  guint8 * code.1769;
  unsigned char D.25939;
  guint8 * code.1770;
  guint8 * code.1771;
  guint8 * code.1772;
  guint8 * code.1773;
  unsigned char D.25949;
  guint8 * code.1774;
  unsigned char D.25951;
  guint8 * code.1775;
  unsigned char D.25953;
  guint8 * code.1776;
  unsigned char D.25955;
  guint8 * code.1777;
  guint8 * code.1778;
  guint8 * code.1779;
  guint8 * code.1780;
  guint8 * code.1781;
  guint8 * code.1782;
  guint8 * code.1783;
  guint8 * code.1784;
  guint8 * code.1785;
  guint8 * code.1786;
  guint8 * code.1787;
  guint8 * code.1788;
  guint8 * code.1789;
  guint8 * code.1790;
  guint8 * code.1791;
  unsigned char D.25982;
  guint8 * code.1792;
  unsigned char D.25984;
  guint8 * code.1793;
  unsigned char D.25986;
  guint8 * code.1794;
  unsigned char D.25988;
  guint8 * code.1795;
  guint8 * code.1796;
  guint8 * code.1797;
  guint8 * code.1798;
  unsigned char D.25998;
  guint8 * code.1799;
  unsigned char D.26000;
  guint8 * code.1800;
  unsigned char D.26002;
  guint8 * code.1801;
  unsigned char D.26004;
  guint8 * code.1802;
  guint8 * code.1803;
  guint8 * code.1804;
  guint8 * code.1805;
  guint8 * code.1806;
  guint8 * code.1807;
  guint8 * code.1808;
  guint8 * code.1809;
  guint8 * code.1810;
  guint8 * code.1811;
  unsigned char D.26023;
  guint8 * code.1812;
  unsigned char D.26025;
  guint8 * code.1813;
  unsigned char D.26027;
  guint8 * code.1814;
  unsigned char D.26029;
  guint8 * code.1815;
  guint8 * code.1816;
  guint8 * code.1817;
  guint8 * code.1818;
  unsigned char D.26039;
  guint8 * code.1819;
  unsigned char D.26041;
  guint8 * code.1820;
  unsigned char D.26043;
  guint8 * code.1821;
  unsigned char D.26045;
  guint8 * code.1822;
  guint8 * code.1823;
  guint8 * code.1824;
  guint8 * code.1825;
  guint8 * code.1826;
  guint8 * code.1827;
  guint8 * code.1828;
  guint8 * code.1829;
  guint8 * code.1830;
  guint8 * code.1831;
  guint8 * code.1832;
  guint8 * code.1833;
  unsigned char D.26066;
  guint8 * code.1834;
  unsigned char D.26068;
  guint8 * code.1835;
  unsigned char D.26070;
  guint8 * code.1836;
  unsigned char D.26072;
  guint8 * code.1837;
  guint8 * code.1838;
  guint8 * code.1839;
  guint8 * code.1840;
  unsigned char D.26082;
  guint8 * code.1841;
  unsigned char D.26084;
  guint8 * code.1842;
  unsigned char D.26086;
  guint8 * code.1843;
  unsigned char D.26088;
  guint8 * code.1844;
  guint8 * code.1845;
  guint8 * code.1846;
  guint8 * code.1847;
  guint8 * code.1848;
  guint8 * code.1849;
  guint8 * code.1850;
  guint8 * code.1851;
  guint8 * code.1852;
  guint8 * code.1853;
  unsigned char D.26107;
  guint8 * code.1854;
  unsigned char D.26109;
  guint8 * code.1855;
  unsigned char D.26111;
  guint8 * code.1856;
  unsigned char D.26113;
  guint8 * code.1857;
  guint8 * code.1858;
  guint8 * code.1859;
  guint8 * code.1860;
  unsigned char D.26123;
  guint8 * code.1861;
  unsigned char D.26125;
  guint8 * code.1862;
  unsigned char D.26127;
  guint8 * code.1863;
  unsigned char D.26129;
  guint8 * code.1864;
  guint8 * code.1865;
  guint8 * code.1866;
  guint8 * code.1867;
  guint8 * code.1868;
  guint8 * code.1869;
  guint8 * code.1870;
  guint8 * code.1871;
  guint8 * code.1872;
  guint8 * code.1873;
  unsigned char D.26148;
  guint8 * code.1874;
  unsigned char D.26150;
  guint8 * code.1875;
  unsigned char D.26152;
  guint8 * code.1876;
  unsigned char D.26154;
  guint8 * code.1877;
  guint8 * code.1878;
  guint8 * code.1879;
  guint8 * code.1880;
  unsigned char D.26164;
  guint8 * code.1881;
  unsigned char D.26166;
  guint8 * code.1882;
  unsigned char D.26168;
  guint8 * code.1883;
  unsigned char D.26170;
  guint8 * code.1884;
  guint8 * code.1885;
  guint8 * code.1886;
  guint8 * code.1887;
  guint8 * code.1888;
  guint8 * code.1889;
  guint8 * code.1890;
  guint8 * code.1891;
  guint8 * code.1892;
  guint8 * code.1893;
  unsigned char D.26189;
  guint8 * code.1894;
  unsigned char D.26191;
  guint8 * code.1895;
  unsigned char D.26193;
  guint8 * code.1896;
  unsigned char D.26195;
  guint8 * code.1897;
  guint8 * code.1898;
  guint8 * code.1899;
  guint8 * code.1900;
  unsigned char D.26205;
  guint8 * code.1901;
  unsigned char D.26207;
  guint8 * code.1902;
  unsigned char D.26209;
  guint8 * code.1903;
  unsigned char D.26211;
  guint8 * code.1904;
  guint8 * code.1905;
  guint8 * code.1906;
  guint8 * code.1907;
  guint8 * code.1908;
  guint8 * code.1909;
  guint8 * code.1910;
  guint8 * code.1911;
  guint8 * code.1912;
  guint8 * code.1913;
  unsigned char D.26230;
  guint8 * code.1914;
  unsigned char D.26232;
  guint8 * code.1915;
  unsigned char D.26234;
  guint8 * code.1916;
  unsigned char D.26236;
  guint8 * code.1917;
  guint8 * code.1918;
  guint8 * code.1919;
  guint8 * code.1920;
  unsigned char D.26246;
  guint8 * code.1921;
  unsigned char D.26248;
  guint8 * code.1922;
  unsigned char D.26250;
  guint8 * code.1923;
  unsigned char D.26252;
  guint8 * code.1924;
  guint8 * code.1925;
  guint8 * code.1926;
  guint8 * code.1927;
  guint8 * code.1928;
  guint8 * code.1929;
  guint8 * code.1930;
  guint8 * code.1931;
  unsigned char D.26269;
  guint8 * code.1932;
  unsigned char D.26271;
  guint8 * code.1933;
  unsigned char D.26273;
  guint8 * code.1934;
  unsigned char D.26275;
  guint8 * code.1935;
  guint8 * code.1936;
  guint8 * code.1937;
  guint8 * code.1938;
  unsigned char D.26285;
  guint8 * code.1939;
  unsigned char D.26287;
  guint8 * code.1940;
  unsigned char D.26289;
  guint8 * code.1941;
  unsigned char D.26291;
  int code.1942;
  int start.1943;
  int D.26294;
  _Bool D.26295;
  long int D.26296;
  long int D.26297;
  static guint8 * saved = 0B;
  guint8 * code;
  guint8 * start;
  static const char __PRETTY_FUNCTION__[27] = "mono_tasklets_arch_restore";

  saved.1716 = saved;
  if (saved.1716 != 0B) goto <D.25830>; else goto <D.25831>;
  <D.25830>:
  saved.1716 = saved;
  D.25832 = (void (*MonoContinuationRestore) (struct MonoContinuation *, int, struct MonoLMF * *)) saved.1716;
  return D.25832;
  <D.25831>:
  start = mono_global_codeman_reserve (48);
  code = start;
  switch (4) <default: <D.22793>, case 1: <D.22789>, case 2: <D.22791>, case 4: <D.22792>>
  <D.22789>:
  code.1717 = code;
  code = code.1717 + 1;
  *code.1717 = 138;
  goto <D.22790>;
  <D.22791>:
  code.1718 = code;
  code = code.1718 + 1;
  *code.1718 = 102;
  <D.22792>:
  code.1719 = code;
  code = code.1719 + 1;
  *code.1719 = 139;
  goto <D.22790>;
  <D.22793>:
  __assert_fail ("0", "exceptions-x86.c", 1210, &__PRETTY_FUNCTION__);
  <D.22790>:
  if (1 != 0) goto <D.25836>; else goto <D.25837>;
  <D.25836>:
  if (0 != 0) goto <D.25838>; else goto <D.25839>;
  <D.25838>:
  code.1720 = code;
  code = code.1720 + 1;
  *code.1720 = 20;
  code.1721 = code;
  code = code.1721 + 1;
  *code.1721 = 36;
  goto <D.25842>;
  <D.25839>:
  if (1 != 0) goto <D.25843>; else goto <D.25844>;
  <D.25843>:
  code.1722 = code;
  code = code.1722 + 1;
  *code.1722 = 84;
  code.1723 = code;
  code = code.1723 + 1;
  *code.1723 = 36;
  *code = 4;
  code = code + 1;
  goto <D.25847>;
  <D.25844>:
  code.1724 = code;
  code = code.1724 + 1;
  *code.1724 = 148;
  code.1725 = code;
  code = code.1725 + 1;
  *code.1725 = 36;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 4;
        code.1726 = code;
        code = code.1726 + 1;
        D.25851 = imb.b[0];
        *code.1726 = D.25851;
        code.1727 = code;
        code = code.1727 + 1;
        D.25853 = imb.b[1];
        *code.1727 = D.25853;
        code.1728 = code;
        code = code.1728 + 1;
        D.25855 = imb.b[2];
        *code.1728 = D.25855;
        code.1729 = code;
        code = code.1729 + 1;
        D.25857 = imb.b[3];
        *code.1729 = D.25857;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.25847>:
  <D.25842>:
  goto <D.22796>;
  <D.25837>:
  if (0 != 0) goto <D.25858>; else goto <D.25859>;
  <D.25858>:
  code.1730 = code;
  code = code.1730 + 1;
  *code.1730 = 20;
  goto <D.22796>;
  <D.25859>:
  if (1 != 0) goto <D.25861>; else goto <D.25862>;
  <D.25861>:
  code.1731 = code;
  code = code.1731 + 1;
  *code.1731 = 84;
  *code = 4;
  code = code + 1;
  goto <D.25864>;
  <D.25862>:
  code.1732 = code;
  code = code.1732 + 1;
  *code.1732 = 148;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 4;
        code.1733 = code;
        code = code.1733 + 1;
        D.25867 = imb.b[0];
        *code.1733 = D.25867;
        code.1734 = code;
        code = code.1734 + 1;
        D.25869 = imb.b[1];
        *code.1734 = D.25869;
        code.1735 = code;
        code = code.1735 + 1;
        D.25871 = imb.b[2];
        *code.1735 = D.25871;
        code.1736 = code;
        code = code.1736 + 1;
        D.25873 = imb.b[3];
        *code.1736 = D.25873;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.25864>:
  <D.22796>:
  switch (4) <default: <D.22802>, case 1: <D.22798>, case 2: <D.22800>, case 4: <D.22801>>
  <D.22798>:
  code.1737 = code;
  code = code.1737 + 1;
  *code.1737 = 138;
  goto <D.22799>;
  <D.22800>:
  code.1738 = code;
  code = code.1738 + 1;
  *code.1738 = 102;
  <D.22801>:
  code.1739 = code;
  code = code.1739 + 1;
  *code.1739 = 139;
  goto <D.22799>;
  <D.22802>:
  __assert_fail ("0", "exceptions-x86.c", 1212, &__PRETTY_FUNCTION__);
  <D.22799>:
  if (1 != 0) goto <D.25877>; else goto <D.25878>;
  <D.25877>:
  if (0 != 0) goto <D.25879>; else goto <D.25880>;
  <D.25879>:
  code.1740 = code;
  code = code.1740 + 1;
  *code.1740 = 4;
  code.1741 = code;
  code = code.1741 + 1;
  *code.1741 = 36;
  goto <D.25883>;
  <D.25880>:
  if (1 != 0) goto <D.25884>; else goto <D.25885>;
  <D.25884>:
  code.1742 = code;
  code = code.1742 + 1;
  *code.1742 = 68;
  code.1743 = code;
  code = code.1743 + 1;
  *code.1743 = 36;
  *code = 8;
  code = code + 1;
  goto <D.25888>;
  <D.25885>:
  code.1744 = code;
  code = code.1744 + 1;
  *code.1744 = 132;
  code.1745 = code;
  code = code.1745 + 1;
  *code.1745 = 36;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 8;
        code.1746 = code;
        code = code.1746 + 1;
        D.25892 = imb.b[0];
        *code.1746 = D.25892;
        code.1747 = code;
        code = code.1747 + 1;
        D.25894 = imb.b[1];
        *code.1747 = D.25894;
        code.1748 = code;
        code = code.1748 + 1;
        D.25896 = imb.b[2];
        *code.1748 = D.25896;
        code.1749 = code;
        code = code.1749 + 1;
        D.25898 = imb.b[3];
        *code.1749 = D.25898;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.25888>:
  <D.25883>:
  goto <D.22804>;
  <D.25878>:
  if (0 != 0) goto <D.25899>; else goto <D.25900>;
  <D.25899>:
  code.1750 = code;
  code = code.1750 + 1;
  *code.1750 = 4;
  goto <D.22804>;
  <D.25900>:
  if (1 != 0) goto <D.25902>; else goto <D.25903>;
  <D.25902>:
  code.1751 = code;
  code = code.1751 + 1;
  *code.1751 = 68;
  *code = 8;
  code = code + 1;
  goto <D.25905>;
  <D.25903>:
  code.1752 = code;
  code = code.1752 + 1;
  *code.1752 = 132;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 8;
        code.1753 = code;
        code = code.1753 + 1;
        D.25908 = imb.b[0];
        *code.1753 = D.25908;
        code.1754 = code;
        code = code.1754 + 1;
        D.25910 = imb.b[1];
        *code.1754 = D.25910;
        code.1755 = code;
        code = code.1755 + 1;
        D.25912 = imb.b[2];
        *code.1755 = D.25912;
        code.1756 = code;
        code = code.1756 + 1;
        D.25914 = imb.b[3];
        *code.1756 = D.25914;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.25905>:
  <D.22804>:
  switch (4) <default: <D.22810>, case 1: <D.22806>, case 2: <D.22808>, case 4: <D.22809>>
  <D.22806>:
  code.1757 = code;
  code = code.1757 + 1;
  *code.1757 = 138;
  goto <D.22807>;
  <D.22808>:
  code.1758 = code;
  code = code.1758 + 1;
  *code.1758 = 102;
  <D.22809>:
  code.1759 = code;
  code = code.1759 + 1;
  *code.1759 = 139;
  goto <D.22807>;
  <D.22810>:
  __assert_fail ("0", "exceptions-x86.c", 1215, &__PRETTY_FUNCTION__);
  <D.22807>:
  if (0 != 0) goto <D.25918>; else goto <D.25919>;
  <D.25918>:
  if (0 != 0) goto <D.25920>; else goto <D.25921>;
  <D.25920>:
  code.1760 = code;
  code = code.1760 + 1;
  *code.1760 = 12;
  code.1761 = code;
  code = code.1761 + 1;
  *code.1761 = 36;
  goto <D.25924>;
  <D.25921>:
  if (1 != 0) goto <D.25925>; else goto <D.25926>;
  <D.25925>:
  code.1762 = code;
  code = code.1762 + 1;
  *code.1762 = 76;
  code.1763 = code;
  code = code.1763 + 1;
  *code.1763 = 36;
  *code = 28;
  code = code + 1;
  goto <D.25929>;
  <D.25926>:
  code.1764 = code;
  code = code.1764 + 1;
  *code.1764 = 140;
  code.1765 = code;
  code = code.1765 + 1;
  *code.1765 = 36;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 28;
        code.1766 = code;
        code = code.1766 + 1;
        D.25933 = imb.b[0];
        *code.1766 = D.25933;
        code.1767 = code;
        code = code.1767 + 1;
        D.25935 = imb.b[1];
        *code.1767 = D.25935;
        code.1768 = code;
        code = code.1768 + 1;
        D.25937 = imb.b[2];
        *code.1768 = D.25937;
        code.1769 = code;
        code = code.1769 + 1;
        D.25939 = imb.b[3];
        *code.1769 = D.25939;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.25929>:
  <D.25924>:
  goto <D.22812>;
  <D.25919>:
  if (0 != 0) goto <D.25940>; else goto <D.25941>;
  <D.25940>:
  code.1770 = code;
  code = code.1770 + 1;
  *code.1770 = 10;
  goto <D.22812>;
  <D.25941>:
  if (1 != 0) goto <D.25943>; else goto <D.25944>;
  <D.25943>:
  code.1771 = code;
  code = code.1771 + 1;
  *code.1771 = 74;
  *code = 28;
  code = code + 1;
  goto <D.25946>;
  <D.25944>:
  code.1772 = code;
  code = code.1772 + 1;
  *code.1772 = 138;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 28;
        code.1773 = code;
        code = code.1773 + 1;
        D.25949 = imb.b[0];
        *code.1773 = D.25949;
        code.1774 = code;
        code = code.1774 + 1;
        D.25951 = imb.b[1];
        *code.1774 = D.25951;
        code.1775 = code;
        code = code.1775 + 1;
        D.25953 = imb.b[2];
        *code.1775 = D.25953;
        code.1776 = code;
        code = code.1776 + 1;
        D.25955 = imb.b[3];
        *code.1776 = D.25955;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.25946>:
  <D.22812>:
  if (0 != 0) goto <D.25956>; else goto <D.25957>;
  <D.25956>:
  code.1777 = code;
  code = code.1777 + 1;
  *code.1777 = 209;
  code.1778 = code;
  code = code.1778 + 1;
  *code.1778 = 233;
  goto <D.25960>;
  <D.25957>:
  code.1779 = code;
  code = code.1779 + 1;
  *code.1779 = 193;
  code.1780 = code;
  code = code.1780 + 1;
  *code.1780 = 233;
  *code = 2;
  code = code + 1;
  <D.25960>:
  code.1781 = code;
  code = code.1781 + 1;
  *code.1781 = 252;
  switch (4) <default: <D.22818>, case 1: <D.22814>, case 2: <D.22816>, case 4: <D.22817>>
  <D.22814>:
  code.1782 = code;
  code = code.1782 + 1;
  *code.1782 = 138;
  goto <D.22815>;
  <D.22816>:
  code.1783 = code;
  code = code.1783 + 1;
  *code.1783 = 102;
  <D.22817>:
  code.1784 = code;
  code = code.1784 + 1;
  *code.1784 = 139;
  goto <D.22815>;
  <D.22818>:
  __assert_fail ("0", "exceptions-x86.c", 1218, &__PRETTY_FUNCTION__);
  <D.22815>:
  if (0 != 0) goto <D.25967>; else goto <D.25968>;
  <D.25967>:
  if (0 != 0) goto <D.25969>; else goto <D.25970>;
  <D.25969>:
  code.1785 = code;
  code = code.1785 + 1;
  *code.1785 = 52;
  code.1786 = code;
  code = code.1786 + 1;
  *code.1786 = 36;
  goto <D.25973>;
  <D.25970>:
  if (1 != 0) goto <D.25974>; else goto <D.25975>;
  <D.25974>:
  code.1787 = code;
  code = code.1787 + 1;
  *code.1787 = 116;
  code.1788 = code;
  code = code.1788 + 1;
  *code.1788 = 36;
  *code = 32;
  code = code + 1;
  goto <D.25978>;
  <D.25975>:
  code.1789 = code;
  code = code.1789 + 1;
  *code.1789 = 180;
  code.1790 = code;
  code = code.1790 + 1;
  *code.1790 = 36;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 32;
        code.1791 = code;
        code = code.1791 + 1;
        D.25982 = imb.b[0];
        *code.1791 = D.25982;
        code.1792 = code;
        code = code.1792 + 1;
        D.25984 = imb.b[1];
        *code.1792 = D.25984;
        code.1793 = code;
        code = code.1793 + 1;
        D.25986 = imb.b[2];
        *code.1793 = D.25986;
        code.1794 = code;
        code = code.1794 + 1;
        D.25988 = imb.b[3];
        *code.1794 = D.25988;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.25978>:
  <D.25973>:
  goto <D.22820>;
  <D.25968>:
  if (0 != 0) goto <D.25989>; else goto <D.25990>;
  <D.25989>:
  code.1795 = code;
  code = code.1795 + 1;
  *code.1795 = 50;
  goto <D.22820>;
  <D.25990>:
  if (1 != 0) goto <D.25992>; else goto <D.25993>;
  <D.25992>:
  code.1796 = code;
  code = code.1796 + 1;
  *code.1796 = 114;
  *code = 32;
  code = code + 1;
  goto <D.25995>;
  <D.25993>:
  code.1797 = code;
  code = code.1797 + 1;
  *code.1797 = 178;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 32;
        code.1798 = code;
        code = code.1798 + 1;
        D.25998 = imb.b[0];
        *code.1798 = D.25998;
        code.1799 = code;
        code = code.1799 + 1;
        D.26000 = imb.b[1];
        *code.1799 = D.26000;
        code.1800 = code;
        code = code.1800 + 1;
        D.26002 = imb.b[2];
        *code.1800 = D.26002;
        code.1801 = code;
        code = code.1801 + 1;
        D.26004 = imb.b[3];
        *code.1801 = D.26004;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.25995>:
  <D.22820>:
  switch (4) <default: <D.22826>, case 1: <D.22822>, case 2: <D.22824>, case 4: <D.22825>>
  <D.22822>:
  code.1802 = code;
  code = code.1802 + 1;
  *code.1802 = 138;
  goto <D.22823>;
  <D.22824>:
  code.1803 = code;
  code = code.1803 + 1;
  *code.1803 = 102;
  <D.22825>:
  code.1804 = code;
  code = code.1804 + 1;
  *code.1804 = 139;
  goto <D.22823>;
  <D.22826>:
  __assert_fail ("0", "exceptions-x86.c", 1219, &__PRETTY_FUNCTION__);
  <D.22823>:
  if (0 != 0) goto <D.26008>; else goto <D.26009>;
  <D.26008>:
  if (0 != 0) goto <D.26010>; else goto <D.26011>;
  <D.26010>:
  code.1805 = code;
  code = code.1805 + 1;
  *code.1805 = 60;
  code.1806 = code;
  code = code.1806 + 1;
  *code.1806 = 36;
  goto <D.26014>;
  <D.26011>:
  if (1 != 0) goto <D.26015>; else goto <D.26016>;
  <D.26015>:
  code.1807 = code;
  code = code.1807 + 1;
  *code.1807 = 124;
  code.1808 = code;
  code = code.1808 + 1;
  *code.1808 = 36;
  *code = 20;
  code = code + 1;
  goto <D.26019>;
  <D.26016>:
  code.1809 = code;
  code = code.1809 + 1;
  *code.1809 = 188;
  code.1810 = code;
  code = code.1810 + 1;
  *code.1810 = 36;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 20;
        code.1811 = code;
        code = code.1811 + 1;
        D.26023 = imb.b[0];
        *code.1811 = D.26023;
        code.1812 = code;
        code = code.1812 + 1;
        D.26025 = imb.b[1];
        *code.1812 = D.26025;
        code.1813 = code;
        code = code.1813 + 1;
        D.26027 = imb.b[2];
        *code.1813 = D.26027;
        code.1814 = code;
        code = code.1814 + 1;
        D.26029 = imb.b[3];
        *code.1814 = D.26029;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.26019>:
  <D.26014>:
  goto <D.22828>;
  <D.26009>:
  if (0 != 0) goto <D.26030>; else goto <D.26031>;
  <D.26030>:
  code.1815 = code;
  code = code.1815 + 1;
  *code.1815 = 58;
  goto <D.22828>;
  <D.26031>:
  if (1 != 0) goto <D.26033>; else goto <D.26034>;
  <D.26033>:
  code.1816 = code;
  code = code.1816 + 1;
  *code.1816 = 122;
  *code = 20;
  code = code + 1;
  goto <D.26036>;
  <D.26034>:
  code.1817 = code;
  code = code.1817 + 1;
  *code.1817 = 186;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 20;
        code.1818 = code;
        code = code.1818 + 1;
        D.26039 = imb.b[0];
        *code.1818 = D.26039;
        code.1819 = code;
        code = code.1819 + 1;
        D.26041 = imb.b[1];
        *code.1819 = D.26041;
        code.1820 = code;
        code = code.1820 + 1;
        D.26043 = imb.b[2];
        *code.1820 = D.26043;
        code.1821 = code;
        code = code.1821 + 1;
        D.26045 = imb.b[3];
        *code.1821 = D.26045;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.26036>:
  <D.22828>:
  code.1822 = code;
  code = code.1822 + 1;
  *code.1822 = 243;
  code.1823 = code;
  code = code.1823 + 1;
  *code.1823 = 165;
  switch (4) <default: <D.22834>, case 1: <D.22830>, case 2: <D.22832>, case 4: <D.22833>>
  <D.22830>:
  code.1824 = code;
  code = code.1824 + 1;
  *code.1824 = 138;
  goto <D.22831>;
  <D.22832>:
  code.1825 = code;
  code = code.1825 + 1;
  *code.1825 = 102;
  <D.22833>:
  code.1826 = code;
  code = code.1826 + 1;
  *code.1826 = 139;
  goto <D.22831>;
  <D.22834>:
  __assert_fail ("0", "exceptions-x86.c", 1224, &__PRETTY_FUNCTION__);
  <D.22831>:
  if (0 != 0) goto <D.26051>; else goto <D.26052>;
  <D.26051>:
  if (1 != 0) goto <D.26053>; else goto <D.26054>;
  <D.26053>:
  code.1827 = code;
  code = code.1827 + 1;
  *code.1827 = 12;
  code.1828 = code;
  code = code.1828 + 1;
  *code.1828 = 36;
  goto <D.26057>;
  <D.26054>:
  if (1 != 0) goto <D.26058>; else goto <D.26059>;
  <D.26058>:
  code.1829 = code;
  code = code.1829 + 1;
  *code.1829 = 76;
  code.1830 = code;
  code = code.1830 + 1;
  *code.1830 = 36;
  *code = 0;
  code = code + 1;
  goto <D.26062>;
  <D.26059>:
  code.1831 = code;
  code = code.1831 + 1;
  *code.1831 = 140;
  code.1832 = code;
  code = code.1832 + 1;
  *code.1832 = 36;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 0;
        code.1833 = code;
        code = code.1833 + 1;
        D.26066 = imb.b[0];
        *code.1833 = D.26066;
        code.1834 = code;
        code = code.1834 + 1;
        D.26068 = imb.b[1];
        *code.1834 = D.26068;
        code.1835 = code;
        code = code.1835 + 1;
        D.26070 = imb.b[2];
        *code.1835 = D.26070;
        code.1836 = code;
        code = code.1836 + 1;
        D.26072 = imb.b[3];
        *code.1836 = D.26072;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.26062>:
  <D.26057>:
  goto <D.22836>;
  <D.26052>:
  if (1 != 0) goto <D.26073>; else goto <D.26074>;
  <D.26073>:
  code.1837 = code;
  code = code.1837 + 1;
  *code.1837 = 10;
  goto <D.22836>;
  <D.26074>:
  if (1 != 0) goto <D.26076>; else goto <D.26077>;
  <D.26076>:
  code.1838 = code;
  code = code.1838 + 1;
  *code.1838 = 74;
  *code = 0;
  code = code + 1;
  goto <D.26079>;
  <D.26077>:
  code.1839 = code;
  code = code.1839 + 1;
  *code.1839 = 138;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 0;
        code.1840 = code;
        code = code.1840 + 1;
        D.26082 = imb.b[0];
        *code.1840 = D.26082;
        code.1841 = code;
        code = code.1841 + 1;
        D.26084 = imb.b[1];
        *code.1841 = D.26084;
        code.1842 = code;
        code = code.1842 + 1;
        D.26086 = imb.b[2];
        *code.1842 = D.26086;
        code.1843 = code;
        code = code.1843 + 1;
        D.26088 = imb.b[3];
        *code.1843 = D.26088;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.26079>:
  <D.22836>:
  switch (4) <default: <D.22842>, case 1: <D.22838>, case 2: <D.22840>, case 4: <D.22841>>
  <D.22838>:
  code.1844 = code;
  code = code.1844 + 1;
  *code.1844 = 138;
  goto <D.22839>;
  <D.22840>:
  code.1845 = code;
  code = code.1845 + 1;
  *code.1845 = 102;
  <D.22841>:
  code.1846 = code;
  code = code.1846 + 1;
  *code.1846 = 139;
  goto <D.22839>;
  <D.22842>:
  __assert_fail ("0", "exceptions-x86.c", 1225, &__PRETTY_FUNCTION__);
  <D.22839>:
  if (0 != 0) goto <D.26092>; else goto <D.26093>;
  <D.26092>:
  if (0 != 0) goto <D.26094>; else goto <D.26095>;
  <D.26094>:
  code.1847 = code;
  code = code.1847 + 1;
  *code.1847 = 28;
  code.1848 = code;
  code = code.1848 + 1;
  *code.1848 = 36;
  goto <D.26098>;
  <D.26095>:
  if (1 != 0) goto <D.26099>; else goto <D.26100>;
  <D.26099>:
  code.1849 = code;
  code = code.1849 + 1;
  *code.1849 = 92;
  code.1850 = code;
  code = code.1850 + 1;
  *code.1850 = 36;
  *code = 16;
  code = code + 1;
  goto <D.26103>;
  <D.26100>:
  code.1851 = code;
  code = code.1851 + 1;
  *code.1851 = 156;
  code.1852 = code;
  code = code.1852 + 1;
  *code.1852 = 36;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 16;
        code.1853 = code;
        code = code.1853 + 1;
        D.26107 = imb.b[0];
        *code.1853 = D.26107;
        code.1854 = code;
        code = code.1854 + 1;
        D.26109 = imb.b[1];
        *code.1854 = D.26109;
        code.1855 = code;
        code = code.1855 + 1;
        D.26111 = imb.b[2];
        *code.1855 = D.26111;
        code.1856 = code;
        code = code.1856 + 1;
        D.26113 = imb.b[3];
        *code.1856 = D.26113;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.26103>:
  <D.26098>:
  goto <D.22844>;
  <D.26093>:
  if (0 != 0) goto <D.26114>; else goto <D.26115>;
  <D.26114>:
  code.1857 = code;
  code = code.1857 + 1;
  *code.1857 = 25;
  goto <D.22844>;
  <D.26115>:
  if (1 != 0) goto <D.26117>; else goto <D.26118>;
  <D.26117>:
  code.1858 = code;
  code = code.1858 + 1;
  *code.1858 = 89;
  *code = 16;
  code = code + 1;
  goto <D.26120>;
  <D.26118>:
  code.1859 = code;
  code = code.1859 + 1;
  *code.1859 = 153;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 16;
        code.1860 = code;
        code = code.1860 + 1;
        D.26123 = imb.b[0];
        *code.1860 = D.26123;
        code.1861 = code;
        code = code.1861 + 1;
        D.26125 = imb.b[1];
        *code.1861 = D.26125;
        code.1862 = code;
        code = code.1862 + 1;
        D.26127 = imb.b[2];
        *code.1862 = D.26127;
        code.1863 = code;
        code = code.1863 + 1;
        D.26129 = imb.b[3];
        *code.1863 = D.26129;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.26120>:
  <D.22844>:
  switch (4) <default: <D.22850>, case 1: <D.22846>, case 2: <D.22848>, case 4: <D.22849>>
  <D.22846>:
  code.1864 = code;
  code = code.1864 + 1;
  *code.1864 = 138;
  goto <D.22847>;
  <D.22848>:
  code.1865 = code;
  code = code.1865 + 1;
  *code.1865 = 102;
  <D.22849>:
  code.1866 = code;
  code = code.1866 + 1;
  *code.1866 = 139;
  goto <D.22847>;
  <D.22850>:
  __assert_fail ("0", "exceptions-x86.c", 1226, &__PRETTY_FUNCTION__);
  <D.22847>:
  if (0 != 0) goto <D.26133>; else goto <D.26134>;
  <D.26133>:
  if (0 != 0) goto <D.26135>; else goto <D.26136>;
  <D.26135>:
  code.1867 = code;
  code = code.1867 + 1;
  *code.1867 = 44;
  code.1868 = code;
  code = code.1868 + 1;
  *code.1868 = 36;
  goto <D.26139>;
  <D.26136>:
  if (1 != 0) goto <D.26140>; else goto <D.26141>;
  <D.26140>:
  code.1869 = code;
  code = code.1869 + 1;
  *code.1869 = 108;
  code.1870 = code;
  code = code.1870 + 1;
  *code.1870 = 36;
  *code = 28;
  code = code + 1;
  goto <D.26144>;
  <D.26141>:
  code.1871 = code;
  code = code.1871 + 1;
  *code.1871 = 172;
  code.1872 = code;
  code = code.1872 + 1;
  *code.1872 = 36;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 28;
        code.1873 = code;
        code = code.1873 + 1;
        D.26148 = imb.b[0];
        *code.1873 = D.26148;
        code.1874 = code;
        code = code.1874 + 1;
        D.26150 = imb.b[1];
        *code.1874 = D.26150;
        code.1875 = code;
        code = code.1875 + 1;
        D.26152 = imb.b[2];
        *code.1875 = D.26152;
        code.1876 = code;
        code = code.1876 + 1;
        D.26154 = imb.b[3];
        *code.1876 = D.26154;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.26144>:
  <D.26139>:
  goto <D.22852>;
  <D.26134>:
  if (0 != 0) goto <D.26155>; else goto <D.26156>;
  <D.26155>:
  code.1877 = code;
  code = code.1877 + 1;
  *code.1877 = 41;
  goto <D.22852>;
  <D.26156>:
  if (1 != 0) goto <D.26158>; else goto <D.26159>;
  <D.26158>:
  code.1878 = code;
  code = code.1878 + 1;
  *code.1878 = 105;
  *code = 28;
  code = code + 1;
  goto <D.26161>;
  <D.26159>:
  code.1879 = code;
  code = code.1879 + 1;
  *code.1879 = 169;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 28;
        code.1880 = code;
        code = code.1880 + 1;
        D.26164 = imb.b[0];
        *code.1880 = D.26164;
        code.1881 = code;
        code = code.1881 + 1;
        D.26166 = imb.b[1];
        *code.1881 = D.26166;
        code.1882 = code;
        code = code.1882 + 1;
        D.26168 = imb.b[2];
        *code.1882 = D.26168;
        code.1883 = code;
        code = code.1883 + 1;
        D.26170 = imb.b[3];
        *code.1883 = D.26170;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.26161>:
  <D.22852>:
  switch (4) <default: <D.22858>, case 1: <D.22854>, case 2: <D.22856>, case 4: <D.22857>>
  <D.22854>:
  code.1884 = code;
  code = code.1884 + 1;
  *code.1884 = 138;
  goto <D.22855>;
  <D.22856>:
  code.1885 = code;
  code = code.1885 + 1;
  *code.1885 = 102;
  <D.22857>:
  code.1886 = code;
  code = code.1886 + 1;
  *code.1886 = 139;
  goto <D.22855>;
  <D.22858>:
  __assert_fail ("0", "exceptions-x86.c", 1227, &__PRETTY_FUNCTION__);
  <D.22855>:
  if (0 != 0) goto <D.26174>; else goto <D.26175>;
  <D.26174>:
  if (0 != 0) goto <D.26176>; else goto <D.26177>;
  <D.26176>:
  code.1887 = code;
  code = code.1887 + 1;
  *code.1887 = 52;
  code.1888 = code;
  code = code.1888 + 1;
  *code.1888 = 36;
  goto <D.26180>;
  <D.26177>:
  if (1 != 0) goto <D.26181>; else goto <D.26182>;
  <D.26181>:
  code.1889 = code;
  code = code.1889 + 1;
  *code.1889 = 116;
  code.1890 = code;
  code = code.1890 + 1;
  *code.1890 = 36;
  *code = 24;
  code = code + 1;
  goto <D.26185>;
  <D.26182>:
  code.1891 = code;
  code = code.1891 + 1;
  *code.1891 = 180;
  code.1892 = code;
  code = code.1892 + 1;
  *code.1892 = 36;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 24;
        code.1893 = code;
        code = code.1893 + 1;
        D.26189 = imb.b[0];
        *code.1893 = D.26189;
        code.1894 = code;
        code = code.1894 + 1;
        D.26191 = imb.b[1];
        *code.1894 = D.26191;
        code.1895 = code;
        code = code.1895 + 1;
        D.26193 = imb.b[2];
        *code.1895 = D.26193;
        code.1896 = code;
        code = code.1896 + 1;
        D.26195 = imb.b[3];
        *code.1896 = D.26195;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.26185>:
  <D.26180>:
  goto <D.22860>;
  <D.26175>:
  if (0 != 0) goto <D.26196>; else goto <D.26197>;
  <D.26196>:
  code.1897 = code;
  code = code.1897 + 1;
  *code.1897 = 49;
  goto <D.22860>;
  <D.26197>:
  if (1 != 0) goto <D.26199>; else goto <D.26200>;
  <D.26199>:
  code.1898 = code;
  code = code.1898 + 1;
  *code.1898 = 113;
  *code = 24;
  code = code + 1;
  goto <D.26202>;
  <D.26200>:
  code.1899 = code;
  code = code.1899 + 1;
  *code.1899 = 177;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 24;
        code.1900 = code;
        code = code.1900 + 1;
        D.26205 = imb.b[0];
        *code.1900 = D.26205;
        code.1901 = code;
        code = code.1901 + 1;
        D.26207 = imb.b[1];
        *code.1901 = D.26207;
        code.1902 = code;
        code = code.1902 + 1;
        D.26209 = imb.b[2];
        *code.1902 = D.26209;
        code.1903 = code;
        code = code.1903 + 1;
        D.26211 = imb.b[3];
        *code.1903 = D.26211;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.26202>:
  <D.22860>:
  switch (4) <default: <D.22866>, case 1: <D.22862>, case 2: <D.22864>, case 4: <D.22865>>
  <D.22862>:
  code.1904 = code;
  code = code.1904 + 1;
  *code.1904 = 138;
  goto <D.22863>;
  <D.22864>:
  code.1905 = code;
  code = code.1905 + 1;
  *code.1905 = 102;
  <D.22865>:
  code.1906 = code;
  code = code.1906 + 1;
  *code.1906 = 139;
  goto <D.22863>;
  <D.22866>:
  __assert_fail ("0", "exceptions-x86.c", 1228, &__PRETTY_FUNCTION__);
  <D.22863>:
  if (0 != 0) goto <D.26215>; else goto <D.26216>;
  <D.26215>:
  if (0 != 0) goto <D.26217>; else goto <D.26218>;
  <D.26217>:
  code.1907 = code;
  code = code.1907 + 1;
  *code.1907 = 60;
  code.1908 = code;
  code = code.1908 + 1;
  *code.1908 = 36;
  goto <D.26221>;
  <D.26218>:
  if (1 != 0) goto <D.26222>; else goto <D.26223>;
  <D.26222>:
  code.1909 = code;
  code = code.1909 + 1;
  *code.1909 = 124;
  code.1910 = code;
  code = code.1910 + 1;
  *code.1910 = 36;
  *code = 20;
  code = code + 1;
  goto <D.26226>;
  <D.26223>:
  code.1911 = code;
  code = code.1911 + 1;
  *code.1911 = 188;
  code.1912 = code;
  code = code.1912 + 1;
  *code.1912 = 36;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 20;
        code.1913 = code;
        code = code.1913 + 1;
        D.26230 = imb.b[0];
        *code.1913 = D.26230;
        code.1914 = code;
        code = code.1914 + 1;
        D.26232 = imb.b[1];
        *code.1914 = D.26232;
        code.1915 = code;
        code = code.1915 + 1;
        D.26234 = imb.b[2];
        *code.1915 = D.26234;
        code.1916 = code;
        code = code.1916 + 1;
        D.26236 = imb.b[3];
        *code.1916 = D.26236;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.26226>:
  <D.26221>:
  goto <D.22868>;
  <D.26216>:
  if (0 != 0) goto <D.26237>; else goto <D.26238>;
  <D.26237>:
  code.1917 = code;
  code = code.1917 + 1;
  *code.1917 = 57;
  goto <D.22868>;
  <D.26238>:
  if (1 != 0) goto <D.26240>; else goto <D.26241>;
  <D.26240>:
  code.1918 = code;
  code = code.1918 + 1;
  *code.1918 = 121;
  *code = 20;
  code = code + 1;
  goto <D.26243>;
  <D.26241>:
  code.1919 = code;
  code = code.1919 + 1;
  *code.1919 = 185;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 20;
        code.1920 = code;
        code = code.1920 + 1;
        D.26246 = imb.b[0];
        *code.1920 = D.26246;
        code.1921 = code;
        code = code.1921 + 1;
        D.26248 = imb.b[1];
        *code.1921 = D.26248;
        code.1922 = code;
        code = code.1922 + 1;
        D.26250 = imb.b[2];
        *code.1922 = D.26250;
        code.1923 = code;
        code = code.1923 + 1;
        D.26252 = imb.b[3];
        *code.1923 = D.26252;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.26243>:
  <D.22868>:
  code.1924 = code;
  code = code.1924 + 1;
  *code.1924 = 255;
  if (0 != 0) goto <D.26254>; else goto <D.26255>;
  <D.26254>:
  if (0 != 0) goto <D.26256>; else goto <D.26257>;
  <D.26256>:
  code.1925 = code;
  code = code.1925 + 1;
  *code.1925 = 36;
  code.1926 = code;
  code = code.1926 + 1;
  *code.1926 = 36;
  goto <D.26260>;
  <D.26257>:
  if (1 != 0) goto <D.26261>; else goto <D.26262>;
  <D.26261>:
  code.1927 = code;
  code = code.1927 + 1;
  *code.1927 = 100;
  code.1928 = code;
  code = code.1928 + 1;
  *code.1928 = 36;
  *code = 16;
  code = code + 1;
  goto <D.26265>;
  <D.26262>:
  code.1929 = code;
  code = code.1929 + 1;
  *code.1929 = 164;
  code.1930 = code;
  code = code.1930 + 1;
  *code.1930 = 36;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 16;
        code.1931 = code;
        code = code.1931 + 1;
        D.26269 = imb.b[0];
        *code.1931 = D.26269;
        code.1932 = code;
        code = code.1932 + 1;
        D.26271 = imb.b[1];
        *code.1932 = D.26271;
        code.1933 = code;
        code = code.1933 + 1;
        D.26273 = imb.b[2];
        *code.1933 = D.26273;
        code.1934 = code;
        code = code.1934 + 1;
        D.26275 = imb.b[3];
        *code.1934 = D.26275;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.26265>:
  <D.26260>:
  goto <D.22871>;
  <D.26255>:
  if (0 != 0) goto <D.26276>; else goto <D.26277>;
  <D.26276>:
  code.1935 = code;
  code = code.1935 + 1;
  *code.1935 = 34;
  goto <D.22871>;
  <D.26277>:
  if (1 != 0) goto <D.26279>; else goto <D.26280>;
  <D.26279>:
  code.1936 = code;
  code = code.1936 + 1;
  *code.1936 = 98;
  *code = 16;
  code = code + 1;
  goto <D.26282>;
  <D.26280>:
  code.1937 = code;
  code = code.1937 + 1;
  *code.1937 = 162;
  {
    union x86_imm_buf imb;

    try
      {
        imb.val = 16;
        code.1938 = code;
        code = code.1938 + 1;
        D.26285 = imb.b[0];
        *code.1938 = D.26285;
        code.1939 = code;
        code = code.1939 + 1;
        D.26287 = imb.b[1];
        *code.1939 = D.26287;
        code.1940 = code;
        code = code.1940 + 1;
        D.26289 = imb.b[2];
        *code.1940 = D.26289;
        code.1941 = code;
        code = code.1941 + 1;
        D.26291 = imb.b[3];
        *code.1941 = D.26291;
      }
    finally
      {
        imb = {CLOBBER};
      }
  }
  <D.26282>:
  <D.22871>:
  code.1942 = (int) code;
  start.1943 = (int) start;
  D.26294 = code.1942 - start.1943;
  D.26295 = D.26294 > 48;
  D.26296 = (long int) D.26295;
  D.26297 = __builtin_expect (D.26296, 0);
  if (D.26297 != 0) goto <D.26298>; else goto <D.26299>;
  <D.26298>:
  monoeg_assertion_message ("* Assertion at %s:%d, condition `%s\' not met\n", "exceptions-x86.c", 1235, "(code - start) <= 48");
  <D.26299>:
  saved = start;
  saved.1716 = saved;
  D.25832 = (void (*MonoContinuationRestore) (struct MonoContinuation *, int, struct MonoLMF * *)) saved.1716;
  return D.25832;
}


mono_arch_setup_resume_sighandler_ctx (struct MonoContext * ctx, void * func)
{
  int D.26301;
  int D.26302;
  unsigned int D.26305;
  unsigned int align.1944;
  unsigned int D.26307;
  int D.26308;
  int func.1945;
  int align;

  D.26301 = ctx->esp;
  D.26302 = D.26301 % 16;
  align = D.26302 + 4;
  if (align != 0) goto <D.26303>; else goto <D.26304>;
  <D.26303>:
  D.26301 = ctx->esp;
  D.26305 = (unsigned int) D.26301;
  align.1944 = (unsigned int) align;
  D.26307 = D.26305 - align.1944;
  D.26308 = (int) D.26307;
  ctx->esp = D.26308;
  <D.26304>:
  func.1945 = (int) func;
  ctx->eip = func.1945;
}


