PropertyEval

INT64 __fastcall PropertyEval(
        UINT64 a1,
        UINT8 *a2,
        UINT64 a3,
        INT64 a4,
        UINT64 PropertyType,
        WCHAR *ContainsStringList,
        UINT64 ContainsArraySize,
        INT64 *a8){
  UINT64 v8; 
  int v10; 
  unsigned int v11; 
  int v12; 
  INT64 v13; 
  _DEVPROP_OPERATOR v14; 
  int v15; 
  __int64 v16; 
  bool v17; 
  __int64 v18; 
  bool v19; 
  int v20; 
  __int32 v21; 
  __int32 v22; 
  int v23; 
  bool v24; 
  __int64 v25; 
  __int32 v26; 
  __int32 v27; 
  bool v28; 
  __int32 v29; 
  __int32 v30; 
  __int32 v31; 
  int v32; 
  bool v33; 
  bool v34; 
  bool v35; 
  bool v36; 
  bool v37; 
  bool v38; 
  bool v39; 
  bool v40; 
  bool v41; 
  bool v42; 
  bool v43; 
  bool v44; 
  bool v45; 
  bool v46; 
  bool v47; 
  __int32 v48; 
  __int32 v49; 
  __int32 v50; 
  int v51; 
  int v52; 
  int v53; 
  int v54; 
  int v55; 
  int v56; 
  __int32 v57; 
  __int32 v58; 
  __int32 v59; 
  int v60; 
  __int32 v61; 
  __int32 v62; 
  __int32 v63; 
  int v64; 
  __int32 v65; 
  __int32 v66; 
  __int32 v67; 
  int v68; 
  bool v69; 
  bool v70; 
  bool v71; 
  bool v72; 
  bool v73; 
  __int64 v74; 
  bool v75; 
  bool v76; 
  __int64 v77; 
  bool v78; 
  bool v79; 
  bool v80; 
  __int64 v81; 
  bool v82; 
  __int64 v83; 
  __int32 v84; 
  __int32 v85; 
  __int32 v86; 
  int v87; 
  __m128i v88; 
  __int32 v89; 
  __int32 v90; 
  __int32 v91; 
  int v92; 
  __int64 v93; 
  __int64 v94; 
  __int64 v95; 
  __int64 v96; 
  unsigned int v97; 
  double v98; 
  bool v99; 
  __m128i v100; 
  unsigned int v101; 
  double v102; 
  __m128i v103; 
  unsigned int v104; 
  double v105; 
  bool v106; 
  bool v107; 
  __m128i v108; 
  unsigned int v109; 
  double v110; 
  __m128i v111; 
  unsigned int v112; 
  double v113; 
  unsigned __int64 v114; 
  float v115; 
  __int32 v116; 
  __int32 v117; 
  __int32 v118; 
  int v119; 
  __m128i v120; 
  unsigned int v121; 
  float v122; 
  __m128i v123; 
  float v124; 
  __m128i v125; 
  unsigned int v126; 
  float v127; 
  __m128i v128; 
  float v129; 
  __m128i v130; 
  unsigned int v131; 
  float v132; 
  __int32 v133; 
  __int32 v134; 
  __int32 v135; 
  int v136; 
  unsigned __int64 v137; 
  unsigned __int64 v138; 
  unsigned __int64 v139; 
  unsigned __int64 v140; 
  __int64 v141; 
  __int32 v142; 
  __int32 v143; 
  __int32 v144; 
  int v145; 
  unsigned int v146; 
  unsigned int v147; 
  unsigned int v148; 
  unsigned int v149; 
  int v150; 
  __int32 v151; 
  __int32 v152; 
  __int32 v153; 
  int v154; 
  int v155; 
  int v156; 
  int v157; 
  int v158; 
  __int32 v159; 
  __int32 v160; 
  int v161; 
  __int32 v162; 
  __int32 v163; 
  __int32 v164; 
  int v165; 
  int v166; 
  int v167; 
  int v168; 
  int v169; 
  int v170; 
  int v171; 
  int v172; 
  int v173; 
  int v174; 
  int v175; 
  __int32 v176; 
  __int32 v177; 
  __int32 v178; 
  int v179; 
  unsigned __int16 v180; 
  bool v181; 
  bool v182; 
  bool v183; 
  unsigned __int64 v184; 
  bool v185; 
  unsigned __int64 v186; 
  unsigned __int16 v187; 
  bool v188; 
  bool v189; 
  double v190; 
  unsigned __int16 v191; 
  __int32 v192; 
  __int32 v193; 
  __int32 v194; 
  int v195; 
  __int32 v196; 
  __int32 v197; 
  __int32 v198; 
  int v199; 
  __int32 v200; 
  __int32 v201; 
  __int32 v202; 
  int v203; 
  __int32 v204; 
  __int32 v205; 
  __int32 v206; 
  int v207; 
  unsigned int v208; 
  unsigned int v209; 
  __int32 v210; 
  __int32 v211; 
  __int32 v212; 
  int v213; 
  __int32 v214; 
  __int32 v215; 
  __int32 v216; 
  int v217; 
  __int32 v218; 
  __int32 v219; 
  __int32 v220; 
  int v221; 
  __int32 v222; 
  __int32 v223; 
  __int32 v224; 
  int v225; 
  __int32 v226; 
  __int32 v227; 
  __int32 v228; 
  int v229; 
  __int32 v230; 
  __int32 v231; 
  __int32 v232; 
  int v233; 
  unsigned __int16 v234; 
  __int16 v235; 
  __int16 v236; 
  unsigned __int16 v237; 
  __int32 v238; 
  __int32 v239; 
  __int32 v240; 
  int v241; 
  __int32 v242; 
  __int32 v243; 
  __int32 v244; 
  int v245; 
  __int32 v246; 
  __int32 v247; 
  __int32 v248; 
  int v249; 
  __int32 v250; 
  __int32 v251; 
  __int32 v252; 
  int v253; 
  __int32 v254; 
  __int32 v255; 
  __int32 v256; 
  int v257; 
  __int32 v258; 
  __int32 v259; 
  __int32 v260; 
  int v261; 
  __int32 v262; 
  __int32 v263; 
  __int32 v264; 
  int v265; 
  __int32 v266; 
  __int32 v267; 
  __int32 v268; 
  int v269; 
  WCHAR v270; 
  WCHAR v271; 
  __int16 v272; 
  __int32 v273; 
  __int32 v274; 
  __int32 v275; 
  int v276; 
  __int16 v277; 
  __int16 v278; 
  __int16 v279; 
  __int16 v280; 
  __int32 v281; 
  __int32 v282; 
  __int32 v283; 
  int v284; 
  __int32 v285; 
  __int32 v286; 
  __int32 v287; 
  int v288; 
  __int32 v289; 
  __int32 v290; 
  __int32 v291; 
  int v292; 
  __int32 v293; 
  __int32 v294; 
  __int32 v295; 
  int v296; 
  __int32 v297; 
  __int32 v298; 
  __int32 v299; 
  int v300; 
  __int32 v301; 
  __int32 v302; 
  __int32 v303; 
  int v304; 
  __int32 v305; 
  __int32 v306; 
  __int32 v307; 
  int v308; 
  __int32 v309; 
  __int32 v310; 
  __int32 v311; 
  int v312; 
  __int32 v313; 
  __int32 v314; 
  __int32 v315; 
  int v316; 
  __int32 v317; 
  __int32 v318; 
  __int32 v319; 
  int v320; 
  __int32 v321; 
  __int32 v322; 
  __int32 v323; 
  int v324; 
  __int32 v325; 
  __int32 v326; 
  __int32 v327; 
  int v328; 
  __int32 v329; 
  __int32 v330; 
  __int32 v331; 
  int v332; 
  __int32 v333; 
  __int32 v334; 
  __int32 v335; 
  int v336; 
  __int32 v337; 
  __int32 v338; 
  __int32 v339; 
  int v340; 
  __int32 v341; 
  __int32 v342; 
  __int32 v343; 
  int v344; 
  int v345; 
  __int32 v346; 
  __int32 v347; 
  __int32 v348; 
  int v349; 
  unsigned int v350; 
  unsigned int v351; 
  unsigned int v352; 
  unsigned int v353; 
  __int32 v354; 
  __int32 v355; 
  __int32 v356; 
  int v357; 
  __int32 v358; 
  __int32 v359; 
  __int32 v360; 
  int v361; 
  __int32 v362; 
  __int32 v363; 
  __int32 v364; 
  int v365; 
  __int32 v366; 
  __int32 v367; 
  __int32 v368; 
  int v369; 
  __int32 v370; 
  __int32 v371; 
  __int32 v372; 
  int v373; 
  __int32 v374; 
  __int32 v375; 
  __int32 v376; 
  int v377; 
  __int32 v378; 
  __int32 v379; 
  __int32 v380; 
  int v381; 
  int v382; 
  int v383; 
  bool v384; 
  bool v385; 
  int v386; 
  __int32 v387; 
  __int32 v388; 
  __int32 v389; 
  int v390; 
  unsigned __int64 v391; 
  double v392; 
  unsigned __int64 v393; 
  double v394; 
  unsigned __int64 v395; 
  double v396; 
  __int64 v397; 
  unsigned __int64 v398; 
  double v399; 
  __int32 v400; 
  __int32 v401; 
  __int32 v402; 
  int v403; 
  __m128i v404; 
  __m128i v405; 
  __m128i v406; 
  __m128i v407; 
  __m128i v408; 
  unsigned int v409; 
  __int32 v410; 
  __int32 v411; 
  __int32 v412; 
  int v413; 
  unsigned int v414; 
  unsigned int v415; 
  unsigned int v416; 
  unsigned int v417; 
  __int32 v418; 
  __int32 v419; 
  __int32 v420; 
  int v421; 
  __int32 v422; 
  __int32 v423; 
  __int32 v424; 
  int v425; 
  __int32 v426; 
  __int32 v427; 
  __int32 v428; 
  int v429; 
  __int32 v430; 
  __int32 v431; 
  __int32 v432; 
  int v433; 
  __int32 v434; 
  __int32 v435; 
  __int32 v436; 
  int v437; 
  __int32 v438; 
  __int32 v439; 
  __int32 v440; 
  int v441; 
  __int32 v442; 
  __int32 v443; 
  __int32 v444; 
  int v445; 
  unsigned __int64 v446; 
  float v447; 
  unsigned __int64 v448; 
  float v449; 
  unsigned __int64 v450; 
  float v451; 
  unsigned __int64 v452; 
  float v453; 
  __int32 v454; 
  __int32 v455; 
  __int32 v456; 
  int v457; 
  __m128i v458; 
  __m128i v459; 
  __m128i v460; 
  __m128i v461; 
  __m128i v462; 
  unsigned int v463; 
  __int32 v464; 
  __int32 v465; 
  __int32 v466; 
  int v467; 
  unsigned int v468; 
  unsigned int v469; 
  unsigned int v470; 
  unsigned int v471; 
  __int32 v472; 
  __int32 v473; 
  __int32 v474; 
  int v475; 
  __int32 v476; 
  __int32 v477; 
  __int32 v478; 
  int v479; 
  __int32 v480; 
  __int32 v481; 
  __int32 v482; 
  int v483; 
  __int32 v484; 
  __int32 v485; 
  __int32 v486; 
  int v487; 
  __int32 v488; 
  __int32 v489; 
  __int32 v490; 
  int v491; 
  __int32 v492; 
  __int32 v493; 
  __int32 v494; 
  int v495; 
  __int32 v496; 
  __int32 v497; 
  __int32 v498; 
  int v499; 
  __int32 v500; 
  __int32 v501; 
  __int32 v502; 
  int v503; 
  unsigned __int64 v504; 
  unsigned __int64 v505; 
  __int32 v506; 
  __int32 v507; 
  __int32 v508; 
  int v509; 
  __int32 v510; 
  __int32 v511; 
  __int32 v512; 
  int v513; 
  __int32 v514; 
  __int32 v515; 
  __int32 v516; 
  int v517; 
  __int32 v518; 
  __int32 v519; 
  __int32 v520; 
  int v521; 
  __int32 v522; 
  __int32 v523; 
  __int32 v524; 
  int v525; 
  __int32 v526; 
  __int32 v527; 
  __int32 v528; 
  int v529; 
  unsigned __int64 v530; 
  __int32 v531; 
  __int32 v532; 
  __int32 v533; 
  int v534; 
  unsigned __int64 v535; 
  unsigned __int64 v536; 
  unsigned __int64 v537; 
  unsigned __int64 v538; 
  __int32 v539; 
  __int32 v540; 
  __int32 v541; 
  int v542; 
  unsigned __int64 v543; 
  unsigned __int64 v544; 
  unsigned __int64 v545; 
  unsigned __int64 v546; 
  unsigned __int64 v547; 
  __int32 v548; 
  __int32 v549; 
  __int32 v550; 
  int v551; 
  __int64 v552; 
  __int32 v553; 
  __int32 v554; 
  __int32 v555; 
  int v556; 
  __int32 v557; 
  __int32 v558; 
  __int32 v559; 
  int v560; 
  __int32 v561; 
  __int32 v562; 
  __int32 v563; 
  int v564; 
  __int32 v565; 
  __int32 v566; 
  __int32 v567; 
  int v568; 
  __int32 v569; 
  __int32 v570; 
  __int32 v571; 
  int v572; 
  __int32 v573; 
  __int32 v574; 
  __int32 v575; 
  int v576; 
  __int32 v577; 
  __int32 v578; 
  __int32 v579; 
  int v580; 
  __int32 v581; 
  __int32 v582; 
  __int32 v583; 
  int v584; 
  bool v585; 
  __int32 v586; 
  __int32 v587; 
  __int32 v588; 
  int v589; 
  __int32 v590; 
  __int32 v591; 
  __int32 v592; 
  int v593; 
  bool v594; 
  __int64 v595; 
  INT64 v597; 
  v8 = (unsigned int)a3;
  v10 = 0;
  v11 = 0;
  v12 = a4 & 0x10000;
  v13 = a4 & 0x20000;
  v14 = a4 & 0xF000FFFF;
  *(_DWORD *)a8 = 0;
  if( (_DWORD)v13 && (_DWORD)a1 != 18 && (_DWORD)a1 != 8210 && (_DWORD)a1 != 25 )
  {
    v11 = -1073741637;
    goto LABEL_1373;
  }
  v15 = 1;
  if( v14 == DEVPROP_OPERATOR_EXISTS )
  {
    *(_DWORD *)a8 = a1 != 0;
    goto LABEL_1373;
  }
  if( !(_DWORD)a1 || !(_DWORD)PropertyType )
    goto LABEL_1373;
  if( (unsigned int)a1 > 0x1003 )
  {
    if( (_DWORD)a1 == 4109 )
    {
      if( (((_DWORD)PropertyType - 13) & 0xFFFFEFFF) != 0 )
        goto LABEL_386;
      if( v14 == DEVPROP_OPERATOR_EQUALS )
        goto LABEL_841;
      if( v14 != DEVPROP_OPERATOR_ARRAY_CONTAINS )
        goto LABEL_386;
      LODWORD(v16) = ArrayContains(
                       a2,
                       (unsigned int)v8,
                       (UINT8 *)ContainsStringList,
                       (unsigned int)ContainsArraySize,
                       0x10ui64);
    }
    else
    {
      if( (_DWORD)a1 != 8210 || (((_DWORD)PropertyType - 18) & 0xFFFFDFFF) != 0 )
        goto LABEL_386;
      switch( v14 )
      {
        case DEVPROP_OPERATOR_LIST_CONTAINS:
          LODWORD(v16) = StringListContains(
                           (const WCHAR *)a2,
                           (unsigned int)PropertyType,
                           ContainsStringList,
                           (unsigned int)v13);
          break;
        case DEVPROP_OPERATOR_EQUALS:
          v385 = (_DWORD)v13 == 0;
LABEL_840:
          if( !v385 )
            goto LABEL_386;
          goto LABEL_841;
        case DEVPROP_OPERATOR_LIST_ELEMENT_BEGINS_WITH:
        case DEVPROP_OPERATOR_LIST_ELEMENT_ENDS_WITH:
        case DEVPROP_OPERATOR_LIST_ELEMENT_CONTAINS:
          LODWORD(v597) = v14;
          LODWORD(v16) = StringListElementSubstringMatch(
                           (WCHAR *)a2,
                           (unsigned int)PropertyType,
                           (CHAR *)ContainsStringList,
                           (unsigned int)v13,
                           v597);
          break;
        default:
          goto LABEL_386;
      }
    }
LABEL_20:
    *(_DWORD *)a8 = v16;
    goto LABEL_1373;
  }
  if( (_DWORD)a1 == 4099 )
  {
LABEL_838:
    v385 = v14 == DEVPROP_OPERATOR_EQUALS;
    goto LABEL_840;
  }
  if( (unsigned int)a1 <= 0xD )
  {
    if( (_DWORD)a1 == 13 )
    {
      if( (_DWORD)PropertyType == 13 && v14 == DEVPROP_OPERATOR_EQUALS )
      {
        if( *(_DWORD *)a2 == *(_DWORD *)ContainsStringList
          && *((_DWORD *)a2 + 1) == *((_DWORD *)ContainsStringList + 1)
          && *((_DWORD *)a2 + 2) == *((_DWORD *)ContainsStringList + 2) )
        {
          v19 = *((_DWORD *)a2 + 3) == *((_DWORD *)ContainsStringList + 3);
          goto LABEL_36;
        }
LABEL_12:
        v15 = 0;
LABEL_13:
        *(_DWORD *)a8 = v15;
        goto LABEL_1373;
      }
LABEL_386:
      v11 = -1073741637;
      goto LABEL_1373;
    }
    if( (unsigned int)a1 <= 7 )
    {
      if( (_DWORD)a1 == 7 )
      {
        if( (unsigned int)(v14 - 7) > 1 )
        {
          if( (unsigned int)PropertyType <= 8 )
          {
            if( (_DWORD)PropertyType != 8 )
            {
              if( (_DWORD)PropertyType != 2 )
              {
                if( (_DWORD)PropertyType != 3 )
                {
                  if( (_DWORD)PropertyType != 4 )
                  {
                    if( (_DWORD)PropertyType != 5 )
                    {
                      v20 = PropertyType - 6;
                      if( (_DWORD)PropertyType == 6 )
                      {
LABEL_49:
                        v21 = v14 - 2;
                        if( !v21 )
                        {
LABEL_50:
                          v17 = *(_DWORD *)a2 == *(_DWORD *)ContainsStringList;
                          goto LABEL_30;
                        }
                        v26 = v21 - 1;
                        if( v26 )
                        {
                          v27 = v26 - 1;
                          if( !v27 )
                          {
                            v28 = *(_DWORD *)a2 < *(_DWORD *)ContainsStringList;
LABEL_76:
                            LODWORD(v18) = v28;
                            goto LABEL_31;
                          }
                          v345 = v27 - 1;
                          if( v345 )
                          {
                            if( v345 != 1 )
                              goto LABEL_386;
                            v36 = *(_DWORD *)a2 < *(_DWORD *)ContainsStringList;
                            v37 = *(_DWORD *)a2 == *(_DWORD *)ContainsStringList;
                            goto LABEL_95;
                          }
                          v38 = *(_DWORD *)a2 < *(_DWORD *)ContainsStringList;
LABEL_98:
                          v18 = !v38;
                          goto LABEL_31;
                        }
                        v39 = *(_DWORD *)a2 < *(_DWORD *)ContainsStringList;
                        v40 = *(_DWORD *)a2 == *(_DWORD *)ContainsStringList;
                        goto LABEL_101;
                      }
LABEL_48:
                      if( v20 != 1 )
                        goto LABEL_386;
                      goto LABEL_49;
                    }
                    v346 = v14 - 2;
                    if( v346 )
                    {
                      v347 = v346 - 1;
                      if( v347 )
                      {
                        v348 = v347 - 1;
                        if( v348 )
                        {
                          v349 = v348 - 1;
                          if( v349 )
                          {
                            if( v349 != 1 )
                              goto LABEL_386;
                            v350 = *ContainsStringList;
                            goto LABEL_776;
                          }
                          v351 = *ContainsStringList;
                          goto LABEL_778;
                        }
                        v352 = *ContainsStringList;
                        goto LABEL_780;
                      }
                      v353 = *ContainsStringList;
                      goto LABEL_782;
                    }
                    goto LABEL_114;
                  }
                  v354 = v14 - 2;
                  if( v354 )
                  {
                    v355 = v354 - 1;
                    if( v355 )
                    {
                      v356 = v355 - 1;
                      if( v356 )
                      {
                        v357 = v356 - 1;
                        if( v357 )
                        {
                          if( v357 != 1 )
                            goto LABEL_386;
                          v350 = (__int16)*ContainsStringList;
                          goto LABEL_776;
                        }
                        v351 = (__int16)*ContainsStringList;
LABEL_778:
                        v183 = *(_DWORD *)a2 < v351;
                        goto LABEL_336;
                      }
                      v352 = (__int16)*ContainsStringList;
LABEL_780:
                      v185 = *(_DWORD *)a2 < v352;
                      goto LABEL_340;
                    }
                    v353 = (__int16)*ContainsStringList;
LABEL_782:
                    v188 = *(_DWORD *)a2 < v353;
                    v189 = *(_DWORD *)a2 == v353;
                    goto LABEL_344;
                  }
LABEL_124:
                  v56 = (__int16)*ContainsStringList;
                  goto LABEL_160;
                }
                v358 = v14 - 2;
                if( v358 )
                {
                  v359 = v358 - 1;
                  if( !v359 )
                  {
                    v353 = *(unsigned __int8 *)ContainsStringList;
                    goto LABEL_782;
                  }
                  v360 = v359 - 1;
                  if( !v360 )
                  {
                    v352 = *(unsigned __int8 *)ContainsStringList;
                    goto LABEL_780;
                  }
                  v361 = v360 - 1;
                  if( !v361 )
                  {
                    v351 = *(unsigned __int8 *)ContainsStringList;
                    goto LABEL_778;
                  }
                  if( v361 != 1 )
                    goto LABEL_386;
                  v350 = *(unsigned __int8 *)ContainsStringList;
LABEL_776:
                  v181 = *(_DWORD *)a2 < v350;
                  v182 = *(_DWORD *)a2 == v350;
                  goto LABEL_332;
                }
LABEL_134:
                v56 = *(unsigned __int8 *)ContainsStringList;
                goto LABEL_160;
              }
              v362 = v14 - 2;
              if( v362 )
              {
                v363 = v362 - 1;
                if( !v363 )
                {
                  v353 = *(char *)ContainsStringList;
                  goto LABEL_782;
                }
                v364 = v363 - 1;
                if( !v364 )
                {
                  v352 = *(char *)ContainsStringList;
                  goto LABEL_780;
                }
                v365 = v364 - 1;
                if( !v365 )
                {
                  v351 = *(char *)ContainsStringList;
                  goto LABEL_778;
                }
                if( v365 != 1 )
                  goto LABEL_386;
                v350 = *(char *)ContainsStringList;
                goto LABEL_776;
              }
LABEL_159:
              v56 = *(char *)ContainsStringList;
              goto LABEL_160;
            }
LABEL_794:
            v370 = v14 - 2;
            if( v370 )
            {
              v371 = v370 - 1;
              if( v371 )
              {
                v372 = v371 - 1;
                if( v372 )
                {
                  v373 = v372 - 1;
                  if( v373 )
                  {
                    if( v373 != 1 )
                      goto LABEL_386;
                    v93 = *(unsigned int *)a2;
LABEL_181:
                    v35 = __OFSUB__(v93, *(_QWORD *)ContainsStringList);
                    v33 = v93 == *(_QWORD *)ContainsStringList;
                    v34 = v93 - *(_QWORD *)ContainsStringList < 0;
LABEL_182:
                    v18 = (unsigned __int8)(v34 ^ v35) | v33;
                    goto LABEL_31;
                  }
                  v94 = *(unsigned int *)a2;
                  goto LABEL_185;
                }
                v95 = *(unsigned int *)a2;
                goto LABEL_190;
              }
              v96 = *(unsigned int *)a2;
              goto LABEL_195;
            }
            goto LABEL_734;
          }
          if( (_DWORD)PropertyType != 9 )
          {
            if( (_DWORD)PropertyType != 10 )
            {
              if( (_DWORD)PropertyType != 11 )
              {
                if( (_DWORD)PropertyType == 14 )
                  goto LABEL_794;
                if( (_DWORD)PropertyType != 15 )
                  goto LABEL_386;
              }
              v366 = v14 - 2;
              if( v366 )
              {
                v367 = v366 - 1;
                if( v367 )
                {
                  v368 = v367 - 1;
                  if( v368 )
                  {
                    v369 = v368 - 1;
                    if( v369 )
                    {
                      if( v369 != 1 )
                        goto LABEL_386;
                      v98 = (double)*(int *)a2;
                      goto LABEL_202;
                    }
                    v102 = (double)*(int *)a2;
LABEL_208:
                    v99 = v102 < *(double *)ContainsStringList;
                    goto LABEL_243;
                  }
                  v105 = (double)*(int *)a2;
                  goto LABEL_214;
                }
                v110 = (double)*(int *)a2;
LABEL_220:
                v106 = v110 < *(double *)ContainsStringList;
                v107 = v110 == *(double *)ContainsStringList;
                goto LABEL_253;
              }
              v113 = (double)*(int *)a2;
              goto LABEL_226;
            }
            v374 = v14 - 2;
            if( v374 )
            {
              v375 = v374 - 1;
              if( v375 )
              {
                v376 = v375 - 1;
                if( v376 )
                {
                  v377 = v376 - 1;
                  if( v377 )
                  {
                    if( v377 != 1 )
                      goto LABEL_386;
                    v122 = (float)*(int *)a2;
                    goto LABEL_239;
                  }
                  v124 = (float)*(int *)a2;
LABEL_242:
                  v99 = v124 < *(float *)ContainsStringList;
                  goto LABEL_243;
                }
                v127 = (float)*(int *)a2;
LABEL_249:
                v106 = *(float *)ContainsStringList < v127;
                v107 = *(float *)ContainsStringList == v127;
                goto LABEL_253;
              }
              v129 = (float)*(int *)a2;
LABEL_252:
              v106 = v129 < *(float *)ContainsStringList;
              v107 = v129 == *(float *)ContainsStringList;
              goto LABEL_253;
            }
            v132 = (float)*(int *)a2;
            goto LABEL_259;
          }
          v378 = v14 - 2;
          if( !v378 )
          {
LABEL_734:
            v141 = *(unsigned int *)a2;
            goto LABEL_735;
          }
          v379 = v378 - 1;
          if( v379 )
          {
            v380 = v379 - 1;
            if( v380 )
            {
              v381 = v380 - 1;
              if( v381 )
              {
                if( v381 != 1 )
                  goto LABEL_386;
                v137 = *(unsigned int *)a2;
LABEL_820:
                v36 = v137 < *(_QWORD *)ContainsStringList;
                v37 = v137 == *(_QWORD *)ContainsStringList;
                goto LABEL_95;
              }
              v138 = *(unsigned int *)a2;
              goto LABEL_822;
            }
            v139 = *(unsigned int *)a2;
            goto LABEL_824;
          }
          v140 = *(unsigned int *)a2;
          goto LABEL_826;
        }
        if( (_DWORD)PropertyType != 7 )
          goto LABEL_386;
        v382 = *(_DWORD *)a2;
        v383 = *(_DWORD *)ContainsStringList;
        if( v14 == DEVPROP_OPERATOR_BITWISE_AND )
          LODWORD(v25) = v382 & v383;
        else
          LODWORD(v25) = v382 | v383;
LABEL_72:
        *(_DWORD *)a8 = v25;
        goto LABEL_1373;
      }
      if( (_DWORD)a1 != 1 )
      {
        if( (_DWORD)a1 != 2 )
        {
          if( (_DWORD)a1 != 3 )
          {
            if( (_DWORD)a1 != 4 )
            {
              if( (_DWORD)a1 == 5 )
              {
                if( (unsigned int)PropertyType <= 8 )
                {
                  if( (_DWORD)PropertyType != 8 )
                  {
                    if( (_DWORD)PropertyType != 2 )
                    {
                      if( (_DWORD)PropertyType != 3 )
                      {
                        if( (_DWORD)PropertyType != 4 )
                        {
                          if( (_DWORD)PropertyType == 5 )
                          {
                            v22 = v14 - 2;
                            if( v22 )
                            {
                              v159 = v22 - 1;
                              if( v159 )
                              {
                                v160 = v159 - 1;
                                if( !v160 )
                                {
                                  v28 = *(_WORD *)a2 < *ContainsStringList;
                                  goto LABEL_76;
                                }
                                v161 = v160 - 1;
                                if( v161 )
                                {
                                  if( v161 != 1 )
                                    goto LABEL_386;
                                  v36 = *(_WORD *)a2 < *ContainsStringList;
                                  v37 = *(_WORD *)a2 == *ContainsStringList;
                                  goto LABEL_95;
                                }
                                v38 = *(_WORD *)a2 < *ContainsStringList;
                                goto LABEL_98;
                              }
                              v39 = *(_WORD *)a2 < *ContainsStringList;
                              v40 = *(_WORD *)a2 == *ContainsStringList;
                              goto LABEL_101;
                            }
LABEL_63:
                            v17 = *(_WORD *)a2 == *ContainsStringList;
                            goto LABEL_30;
                          }
                          if( (_DWORD)PropertyType != 6 )
                          {
                            if( (_DWORD)PropertyType != 7 )
                              goto LABEL_386;
                            v142 = v14 - 2;
                            if( v142 )
                            {
                              v143 = v142 - 1;
                              if( v143 )
                              {
                                v144 = v143 - 1;
                                if( v144 )
                                {
                                  v145 = v144 - 1;
                                  if( v145 )
                                  {
                                    if( v145 != 1 )
                                      goto LABEL_386;
                                    v146 = *(unsigned __int16 *)a2;
                                    goto LABEL_278;
                                  }
                                  v147 = *(unsigned __int16 *)a2;
LABEL_281:
                                  v38 = v147 < *(_DWORD *)ContainsStringList;
                                  goto LABEL_98;
                                }
                                v148 = *(unsigned __int16 *)a2;
LABEL_284:
                                v28 = v148 < *(_DWORD *)ContainsStringList;
                                goto LABEL_76;
                              }
                              v149 = *(unsigned __int16 *)a2;
LABEL_287:
                              v39 = v149 < *(_DWORD *)ContainsStringList;
                              v40 = v149 == *(_DWORD *)ContainsStringList;
                              goto LABEL_101;
                            }
                            goto LABEL_288;
                          }
                          v151 = v14 - 2;
                          if( !v151 )
                          {
LABEL_288:
                            v150 = *(unsigned __int16 *)a2;
LABEL_290:
                            v17 = v150 == *(_DWORD *)ContainsStringList;
                            goto LABEL_30;
                          }
                          v152 = v151 - 1;
                          if( v152 )
                          {
                            v153 = v152 - 1;
                            if( v153 )
                            {
                              v154 = v153 - 1;
                              if( v154 )
                              {
                                if( v154 != 1 )
                                  goto LABEL_386;
                                v155 = *(unsigned __int16 *)a2;
                                goto LABEL_297;
                              }
                              v156 = *(unsigned __int16 *)a2;
LABEL_300:
                              v42 = __OFSUB__(v156, *(_DWORD *)ContainsStringList);
                              v41 = v156 - *(_DWORD *)ContainsStringList < 0;
                              goto LABEL_187;
                            }
                            v157 = *(unsigned __int16 *)a2;
LABEL_303:
                            v44 = __OFSUB__(v157, *(_DWORD *)ContainsStringList);
                            v43 = v157 - *(_DWORD *)ContainsStringList < 0;
                            goto LABEL_192;
                          }
                          v158 = *(unsigned __int16 *)a2;
LABEL_306:
                          v47 = __OFSUB__(v158, *(_DWORD *)ContainsStringList);
                          v45 = v158 == *(_DWORD *)ContainsStringList;
                          v46 = v158 - *(_DWORD *)ContainsStringList < 0;
                          goto LABEL_197;
                        }
                        v162 = v14 - 2;
                        if( v162 )
                        {
                          v163 = v162 - 1;
                          if( v163 )
                          {
                            v164 = v163 - 1;
                            if( v164 )
                            {
                              v165 = v164 - 1;
                              if( v165 )
                              {
                                if( v165 != 1 )
                                  goto LABEL_386;
                                v166 = *(unsigned __int16 *)a2;
                                v167 = (__int16)*ContainsStringList;
                                goto LABEL_355;
                              }
                              v168 = *(unsigned __int16 *)a2;
                              v169 = (__int16)*ContainsStringList;
                              goto LABEL_360;
                            }
                            v170 = *(unsigned __int16 *)a2;
                            v171 = (__int16)*ContainsStringList;
                            goto LABEL_365;
                          }
                          v172 = *(unsigned __int16 *)a2;
                          v173 = (__int16)*ContainsStringList;
                          goto LABEL_370;
                        }
                        v174 = *(unsigned __int16 *)a2;
                        v175 = (__int16)*ContainsStringList;
LABEL_375:
                        v82 = v174 == v175;
                        goto LABEL_163;
                      }
                      v176 = v14 - 2;
                      if( v176 )
                      {
                        v177 = v176 - 1;
                        if( v177 )
                        {
                          v178 = v177 - 1;
                          if( v178 )
                          {
                            v179 = v178 - 1;
                            if( v179 )
                            {
                              if( v179 != 1 )
                                goto LABEL_386;
                              v180 = *(unsigned __int8 *)ContainsStringList;
                              v181 = *(_WORD *)a2 < v180;
                              v182 = *(_WORD *)a2 == v180;
                              goto LABEL_332;
                            }
                            v183 = (unsigned int)*(_WORD *)a2 < *(unsigned __int8 *)ContainsStringList;
LABEL_336:
                            v16 = !v183;
                            goto LABEL_20;
                          }
                          v185 = (unsigned int)*(_WORD *)a2 < *(unsigned __int8 *)ContainsStringList;
LABEL_340:
                          LODWORD(v16) = v185;
                          goto LABEL_20;
                        }
                        v187 = *(unsigned __int8 *)ContainsStringList;
                        v188 = *(_WORD *)a2 < v187;
                        v189 = *(_WORD *)a2 == v187;
LABEL_344:
                        v16 = !v188 && !v189;
                        goto LABEL_20;
                      }
                      goto LABEL_345;
                    }
                    v192 = v14 - 2;
                    if( v192 )
                    {
                      v193 = v192 - 1;
                      if( v193 )
                      {
                        v194 = v193 - 1;
                        if( v194 )
                        {
                          v195 = v194 - 1;
                          if( v195 )
                          {
                            if( v195 != 1 )
                              goto LABEL_386;
                            v166 = *(unsigned __int16 *)a2;
                            goto LABEL_354;
                          }
                          v168 = *(unsigned __int16 *)a2;
LABEL_358:
                          v169 = *(char *)ContainsStringList;
                          goto LABEL_360;
                        }
                        v170 = *(unsigned __int16 *)a2;
LABEL_363:
                        v171 = *(char *)ContainsStringList;
                        goto LABEL_365;
                      }
                      v172 = *(unsigned __int16 *)a2;
LABEL_368:
                      v173 = *(char *)ContainsStringList;
                      goto LABEL_370;
                    }
                    v174 = *(unsigned __int16 *)a2;
                    goto LABEL_373;
                  }
LABEL_387:
                  v200 = v14 - 2;
                  if( v200 )
                  {
                    v201 = v200 - 1;
                    if( v201 )
                    {
                      v202 = v201 - 1;
                      if( v202 )
                      {
                        v203 = v202 - 1;
                        if( v203 )
                        {
                          if( v203 != 1 )
                            goto LABEL_386;
                          v93 = *(unsigned __int16 *)a2;
                          goto LABEL_181;
                        }
                        v94 = *(unsigned __int16 *)a2;
                        goto LABEL_185;
                      }
                      v95 = *(unsigned __int16 *)a2;
                      goto LABEL_190;
                    }
                    v96 = *(unsigned __int16 *)a2;
                    goto LABEL_195;
                  }
                  goto LABEL_417;
                }
                if( (_DWORD)PropertyType == 9 )
                {
                  v210 = v14 - 2;
                  if( v210 )
                  {
                    v211 = v210 - 1;
                    if( v211 )
                    {
                      v212 = v211 - 1;
                      if( v212 )
                      {
                        v213 = v212 - 1;
                        if( v213 )
                        {
                          if( v213 != 1 )
                            goto LABEL_386;
                          v137 = *(unsigned __int16 *)a2;
                          goto LABEL_820;
                        }
                        v138 = *(unsigned __int16 *)a2;
                        goto LABEL_822;
                      }
                      v139 = *(unsigned __int16 *)a2;
                      goto LABEL_824;
                    }
                    v140 = *(unsigned __int16 *)a2;
                    goto LABEL_826;
                  }
LABEL_417:
                  v141 = *(unsigned __int16 *)a2;
                  goto LABEL_735;
                }
                if( (_DWORD)PropertyType != 10 )
                {
                  if( (_DWORD)PropertyType != 11 )
                  {
                    if( (_DWORD)PropertyType == 14 )
                      goto LABEL_387;
                    if( (_DWORD)PropertyType != 15 )
                      goto LABEL_386;
                  }
                  v196 = v14 - 2;
                  if( v196 )
                  {
                    v197 = v196 - 1;
                    if( v197 )
                    {
                      v198 = v197 - 1;
                      if( v198 )
                      {
                        v199 = v198 - 1;
                        if( v199 )
                        {
                          if( v199 != 1 )
                            goto LABEL_386;
                          v97 = *(unsigned __int16 *)a2;
                          goto LABEL_199;
                        }
                        v101 = *(unsigned __int16 *)a2;
                        goto LABEL_205;
                      }
                      v104 = *(unsigned __int16 *)a2;
                      goto LABEL_211;
                    }
                    v109 = *(unsigned __int16 *)a2;
                    goto LABEL_217;
                  }
                  v112 = *(unsigned __int16 *)a2;
                  goto LABEL_223;
                }
                v204 = v14 - 2;
                if( v204 )
                {
                  v205 = v204 - 1;
                  if( v205 )
                  {
                    v206 = v205 - 1;
                    if( v206 )
                    {
                      v207 = v206 - 1;
                      if( v207 )
                      {
                        if( v207 != 1 )
                          goto LABEL_386;
                        v121 = *(unsigned __int16 *)a2;
                        goto LABEL_236;
                      }
                      v208 = *(unsigned __int16 *)a2;
                      goto LABEL_404;
                    }
                    v126 = *(unsigned __int16 *)a2;
                    goto LABEL_246;
                  }
                  v209 = *(unsigned __int16 *)a2;
                  goto LABEL_407;
                }
                v131 = *(unsigned __int16 *)a2;
                goto LABEL_256;
              }
              if( (unsigned int)PropertyType <= 8 )
              {
                if( (_DWORD)PropertyType != 8 )
                {
                  switch( (_DWORD)PropertyType )
                  {
                    case 2:
                      v65 = v14 - 2;
                      if( !v65 )
                        goto LABEL_159;
                      v66 = v65 - 1;
                      if( !v66 )
                      {
                        v55 = *(char *)ContainsStringList;
                        goto LABEL_155;
                      }
                      v67 = v66 - 1;
                      if( !v67 )
                      {
                        v54 = *(char *)ContainsStringList;
                        goto LABEL_150;
                      }
                      v68 = v67 - 1;
                      if( !v68 )
                      {
                        v53 = *(char *)ContainsStringList;
                        goto LABEL_145;
                      }
                      if( v68 != 1 )
                        goto LABEL_386;
                      v52 = *(char *)ContainsStringList;
                      break;
                    case 3:
                      v61 = v14 - 2;
                      if( !v61 )
                        goto LABEL_134;
                      v62 = v61 - 1;
                      if( !v62 )
                      {
                        v55 = *(unsigned __int8 *)ContainsStringList;
                        goto LABEL_155;
                      }
                      v63 = v62 - 1;
                      if( !v63 )
                      {
                        v54 = *(unsigned __int8 *)ContainsStringList;
                        goto LABEL_150;
                      }
                      v64 = v63 - 1;
                      if( !v64 )
                      {
                        v53 = *(unsigned __int8 *)ContainsStringList;
                        goto LABEL_145;
                      }
                      if( v64 != 1 )
                        goto LABEL_386;
                      v52 = *(unsigned __int8 *)ContainsStringList;
                      break;
                    case 4:
                      v57 = v14 - 2;
                      if( !v57 )
                        goto LABEL_124;
                      v58 = v57 - 1;
                      if( v58 )
                      {
                        v59 = v58 - 1;
                        if( v59 )
                        {
                          v60 = v59 - 1;
                          if( v60 )
                          {
                            if( v60 != 1 )
                              goto LABEL_386;
                            v52 = (__int16)*ContainsStringList;
                            break;
                          }
                          v53 = (__int16)*ContainsStringList;
LABEL_145:
                          v73 = __OFSUB__(*(_DWORD *)a2, v53);
                          v72 = *(_DWORD *)a2 - v53 < 0;
                          goto LABEL_148;
                        }
                        v54 = (__int16)*ContainsStringList;
LABEL_150:
                        v76 = __OFSUB__(*(_DWORD *)a2, v54);
                        v75 = *(_DWORD *)a2 - v54 < 0;
LABEL_153:
                        v16 = v75 ^ (unsigned __int8)v76;
                        goto LABEL_20;
                      }
                      v55 = (__int16)*ContainsStringList;
LABEL_155:
                      v80 = __OFSUB__(*(_DWORD *)a2, v55);
                      v78 = *(_DWORD *)a2 == v55;
                      v79 = *(_DWORD *)a2 - v55 < 0;
LABEL_158:
                      v16 = !(v79 ^ v80 | v78);
                      goto LABEL_20;
                    case 5:
                      v48 = v14 - 2;
                      if( !v48 )
                      {
LABEL_114:
                        v56 = *ContainsStringList;
LABEL_160:
                        v82 = *(_DWORD *)a2 == v56;
LABEL_163:
                        LODWORD(v16) = v82;
                        goto LABEL_20;
                      }
                      v49 = v48 - 1;
                      if( v49 )
                      {
                        v50 = v49 - 1;
                        if( v50 )
                        {
                          v51 = v50 - 1;
                          if( v51 )
                          {
                            if( v51 != 1 )
                              goto LABEL_386;
                            v52 = *ContainsStringList;
                            break;
                          }
                          v53 = *ContainsStringList;
                          goto LABEL_145;
                        }
                        v54 = *ContainsStringList;
                        goto LABEL_150;
                      }
                      v55 = *ContainsStringList;
                      goto LABEL_155;
                    default:
                      v20 = PropertyType - 6;
                      if( (_DWORD)PropertyType != 6 )
                        goto LABEL_48;
                      v29 = v14 - 2;
                      if( !v29 )
                        goto LABEL_50;
                      v30 = v29 - 1;
                      if( !v30 )
                      {
                        v47 = __OFSUB__(*(_DWORD *)a2, *(_DWORD *)ContainsStringList);
                        v45 = *(_DWORD *)a2 == *(_DWORD *)ContainsStringList;
                        v46 = *(_DWORD *)a2 - *(_DWORD *)ContainsStringList < 0;
LABEL_197:
                        v18 = !(v46 ^ v47 | v45);
                        goto LABEL_31;
                      }
                      v31 = v30 - 1;
                      if( !v31 )
                      {
                        v44 = __OFSUB__(*(_DWORD *)a2, *(_DWORD *)ContainsStringList);
                        v43 = *(_DWORD *)a2 - *(_DWORD *)ContainsStringList < 0;
LABEL_192:
                        v18 = v43 ^ (unsigned __int8)v44;
                        goto LABEL_31;
                      }
                      v32 = v31 - 1;
                      if( v32 )
                      {
                        if( v32 != 1 )
                          goto LABEL_386;
                        v35 = __OFSUB__(*(_DWORD *)a2, *(_DWORD *)ContainsStringList);
                        v33 = *(_DWORD *)a2 == *(_DWORD *)ContainsStringList;
                        v34 = *(_DWORD *)a2 - *(_DWORD *)ContainsStringList < 0;
                        goto LABEL_182;
                      }
                      v42 = __OFSUB__(*(_DWORD *)a2, *(_DWORD *)ContainsStringList);
                      v41 = *(_DWORD *)a2 - *(_DWORD *)ContainsStringList < 0;
                      goto LABEL_187;
                  }
                  v71 = __OFSUB__(*(_DWORD *)a2, v52);
                  v69 = *(_DWORD *)a2 == v52;
                  v70 = *(_DWORD *)a2 - v52 < 0;
LABEL_143:
                  v16 = (unsigned __int8)(v70 ^ v71) | v69;
                  goto LABEL_20;
                }
                goto LABEL_175;
              }
              if( (_DWORD)PropertyType == 9 )
              {
                v133 = v14 - 2;
                if( v133 )
                {
                  v134 = v133 - 1;
                  if( v134 )
                  {
                    v135 = v134 - 1;
                    if( v135 )
                    {
                      v136 = v135 - 1;
                      if( v136 )
                      {
                        if( v136 != 1 )
                          goto LABEL_386;
                        v137 = *(int *)a2;
                        goto LABEL_820;
                      }
                      v138 = *(int *)a2;
                      goto LABEL_822;
                    }
                    v139 = *(int *)a2;
                    goto LABEL_824;
                  }
                  v140 = *(int *)a2;
                  goto LABEL_826;
                }
LABEL_269:
                v141 = *(int *)a2;
LABEL_735:
                v17 = v141 == *(_QWORD *)ContainsStringList;
                goto LABEL_30;
              }
              if( (_DWORD)PropertyType == 10 )
              {
                v116 = v14 - 2;
                if( v116 )
                {
                  v117 = v116 - 1;
                  if( v117 )
                  {
                    v118 = v117 - 1;
                    if( v118 )
                    {
                      v119 = v118 - 1;
                      if( v119 )
                      {
                        if( v119 != 1 )
                          goto LABEL_386;
                        v120 = _mm_cvtsi32_si128(*(_DWORD *)a2);
                        goto LABEL_237;
                      }
                      v123 = _mm_cvtsi32_si128(*(_DWORD *)a2);
LABEL_241:
                      LODWORD(v124) = _mm_cvtepi32_ps(v123).m128_u32[0];
                      goto LABEL_242;
                    }
                    v125 = _mm_cvtsi32_si128(*(_DWORD *)a2);
LABEL_247:
                    LODWORD(v127) = _mm_cvtepi32_ps(v125).m128_u32[0];
                    goto LABEL_249;
                  }
                  v128 = _mm_cvtsi32_si128(*(_DWORD *)a2);
LABEL_251:
                  LODWORD(v129) = _mm_cvtepi32_ps(v128).m128_u32[0];
                  goto LABEL_252;
                }
                v130 = _mm_cvtsi32_si128(*(_DWORD *)a2);
                goto LABEL_257;
              }
              if( (_DWORD)PropertyType != 11 )
              {
                if( (_DWORD)PropertyType == 14 )
                {
LABEL_175:
                  v89 = v14 - 2;
                  if( v89 )
                  {
                    v90 = v89 - 1;
                    if( v90 )
                    {
                      v91 = v90 - 1;
                      if( v91 )
                      {
                        v92 = v91 - 1;
                        if( v92 )
                        {
                          if( v92 != 1 )
                            goto LABEL_386;
                          v93 = *(int *)a2;
                          goto LABEL_181;
                        }
                        v94 = *(int *)a2;
LABEL_185:
                        v42 = __OFSUB__(v94, *(_QWORD *)ContainsStringList);
                        v41 = v94 - *(_QWORD *)ContainsStringList < 0;
                        goto LABEL_187;
                      }
                      v95 = *(int *)a2;
LABEL_190:
                      v44 = __OFSUB__(v95, *(_QWORD *)ContainsStringList);
                      v43 = v95 - *(_QWORD *)ContainsStringList < 0;
                      goto LABEL_192;
                    }
                    v96 = *(int *)a2;
LABEL_195:
                    v47 = __OFSUB__(v96, *(_QWORD *)ContainsStringList);
                    v45 = v96 == *(_QWORD *)ContainsStringList;
                    v46 = v96 - *(_QWORD *)ContainsStringList < 0;
                    goto LABEL_197;
                  }
                  goto LABEL_269;
                }
                if( (_DWORD)PropertyType != 15 )
                  goto LABEL_386;
              }
              v84 = v14 - 2;
              if( v84 )
              {
                v85 = v84 - 1;
                if( v85 )
                {
                  v86 = v85 - 1;
                  if( v86 )
                  {
                    v87 = v86 - 1;
                    if( v87 )
                    {
                      if( v87 != 1 )
                        goto LABEL_386;
                      v88 = _mm_cvtsi32_si128(*(_DWORD *)a2);
                      goto LABEL_200;
                    }
                    v100 = _mm_cvtsi32_si128(*(_DWORD *)a2);
LABEL_206:
                    *(_QWORD *)&v102 = *(_OWORD *)&_mm_cvtepi32_pd(v100);
                    goto LABEL_208;
                  }
                  v103 = _mm_cvtsi32_si128(*(_DWORD *)a2);
                  goto LABEL_212;
                }
                v108 = _mm_cvtsi32_si128(*(_DWORD *)a2);
LABEL_218:
                *(_QWORD *)&v110 = *(_OWORD *)&_mm_cvtepi32_pd(v108);
                goto LABEL_220;
              }
              v111 = _mm_cvtsi32_si128(*(_DWORD *)a2);
              goto LABEL_224;
            }
            if( (unsigned int)PropertyType <= 8 )
            {
              if( (_DWORD)PropertyType != 8 )
              {
                switch( (_DWORD)PropertyType )
                {
                  case 2:
                    v238 = v14 - 2;
                    if( !v238 )
                    {
                      v191 = *(char *)ContainsStringList;
                      goto LABEL_347;
                    }
                    v239 = v238 - 1;
                    if( v239 )
                    {
                      v240 = v239 - 1;
                      if( v240 )
                      {
                        v241 = v240 - 1;
                        if( v241 )
                        {
                          if( v241 != 1 )
                            goto LABEL_386;
                          v234 = *(char *)ContainsStringList;
LABEL_488:
                          v71 = __OFSUB__(*(_WORD *)a2, v234);
                          v69 = *(_WORD *)a2 == v234;
                          v70 = (__int16)(*(_WORD *)a2 - v234) < 0;
                          goto LABEL_143;
                        }
                        v235 = *(char *)ContainsStringList;
LABEL_490:
                        v73 = __OFSUB__(*(_WORD *)a2, v235);
                        v72 = (__int16)(*(_WORD *)a2 - v235) < 0;
                        goto LABEL_148;
                      }
                      v236 = *(char *)ContainsStringList;
LABEL_492:
                      v76 = __OFSUB__(*(_WORD *)a2, v236);
                      v75 = (__int16)(*(_WORD *)a2 - v236) < 0;
                      goto LABEL_153;
                    }
                    v237 = *(char *)ContainsStringList;
                    break;
                  case 3:
                    v230 = v14 - 2;
                    if( !v230 )
                    {
LABEL_345:
                      v191 = *(unsigned __int8 *)ContainsStringList;
LABEL_347:
                      v82 = *(_WORD *)a2 == v191;
                      goto LABEL_163;
                    }
                    v231 = v230 - 1;
                    if( v231 )
                    {
                      v232 = v231 - 1;
                      if( v232 )
                      {
                        v233 = v232 - 1;
                        if( v233 )
                        {
                          if( v233 != 1 )
                            goto LABEL_386;
                          v234 = *(unsigned __int8 *)ContainsStringList;
                          goto LABEL_488;
                        }
                        v235 = *(unsigned __int8 *)ContainsStringList;
                        goto LABEL_490;
                      }
                      v236 = *(unsigned __int8 *)ContainsStringList;
                      goto LABEL_492;
                    }
                    v237 = *(unsigned __int8 *)ContainsStringList;
                    break;
                  case 4:
                    v226 = v14 - 2;
                    if( !v226 )
                      goto LABEL_63;
                    v227 = v226 - 1;
                    if( !v227 )
                    {
                      v47 = __OFSUB__(*(_WORD *)a2, *ContainsStringList);
                      v45 = *(_WORD *)a2 == *ContainsStringList;
                      v46 = (__int16)(*(_WORD *)a2 - *ContainsStringList) < 0;
                      goto LABEL_197;
                    }
                    v228 = v227 - 1;
                    if( !v228 )
                    {
                      v44 = __OFSUB__(*(_WORD *)a2, *ContainsStringList);
                      v43 = (__int16)(*(_WORD *)a2 - *ContainsStringList) < 0;
                      goto LABEL_192;
                    }
                    v229 = v228 - 1;
                    if( v229 )
                    {
                      if( v229 != 1 )
                        goto LABEL_386;
                      v35 = __OFSUB__(*(_WORD *)a2, *ContainsStringList);
                      v33 = *(_WORD *)a2 == *ContainsStringList;
                      v34 = (__int16)(*(_WORD *)a2 - *ContainsStringList) < 0;
                      goto LABEL_182;
                    }
                    v42 = __OFSUB__(*(_WORD *)a2, *ContainsStringList);
                    v41 = (__int16)(*(_WORD *)a2 - *ContainsStringList) < 0;
LABEL_187:
                    v18 = v41 == v42;
                    goto LABEL_31;
                  case 5:
                    v222 = v14 - 2;
                    if( v222 )
                    {
                      v223 = v222 - 1;
                      if( v223 )
                      {
                        v224 = v223 - 1;
                        if( v224 )
                        {
                          v225 = v224 - 1;
                          if( v225 )
                          {
                            if( v225 != 1 )
                              goto LABEL_386;
                            v166 = *(__int16 *)a2;
                            goto LABEL_451;
                          }
                          v168 = *(__int16 *)a2;
                          goto LABEL_454;
                        }
                        v170 = *(__int16 *)a2;
                        goto LABEL_457;
                      }
                      v172 = *(__int16 *)a2;
                      goto LABEL_460;
                    }
                    v174 = *(__int16 *)a2;
                    goto LABEL_463;
                  case 6:
                    v218 = v14 - 2;
                    if( !v218 )
                      goto LABEL_435;
                    v219 = v218 - 1;
                    if( !v219 )
                    {
                      v158 = *(__int16 *)a2;
                      goto LABEL_306;
                    }
                    v220 = v219 - 1;
                    if( !v220 )
                    {
                      v157 = *(__int16 *)a2;
                      goto LABEL_303;
                    }
                    v221 = v220 - 1;
                    if( !v221 )
                    {
                      v156 = *(__int16 *)a2;
                      goto LABEL_300;
                    }
                    if( v221 != 1 )
                      goto LABEL_386;
                    v155 = *(__int16 *)a2;
LABEL_297:
                    v35 = __OFSUB__(v155, *(_DWORD *)ContainsStringList);
                    v33 = v155 == *(_DWORD *)ContainsStringList;
                    v34 = v155 - *(_DWORD *)ContainsStringList < 0;
                    goto LABEL_182;
                  case 7:
                    v214 = v14 - 2;
                    if( v214 )
                    {
                      v215 = v214 - 1;
                      if( !v215 )
                      {
                        v149 = *(__int16 *)a2;
                        goto LABEL_287;
                      }
                      v216 = v215 - 1;
                      if( !v216 )
                      {
                        v148 = *(__int16 *)a2;
                        goto LABEL_284;
                      }
                      v217 = v216 - 1;
                      if( !v217 )
                      {
                        v147 = *(__int16 *)a2;
                        goto LABEL_281;
                      }
                      if( v217 != 1 )
                        goto LABEL_386;
                      v146 = *(__int16 *)a2;
                      goto LABEL_278;
                    }
LABEL_435:
                    v150 = *(__int16 *)a2;
                    goto LABEL_290;
                  default:
                    goto LABEL_386;
                }
                v80 = __OFSUB__(*(_WORD *)a2, v237);
                v78 = *(_WORD *)a2 == v237;
                v79 = (__int16)(*(_WORD *)a2 - v237) < 0;
                goto LABEL_158;
              }
              goto LABEL_506;
            }
            if( (_DWORD)PropertyType == 9 )
            {
              v254 = v14 - 2;
              if( v254 )
              {
                v255 = v254 - 1;
                if( v255 )
                {
                  v256 = v255 - 1;
                  if( v256 )
                  {
                    v257 = v256 - 1;
                    if( v257 )
                    {
                      if( v257 != 1 )
                        goto LABEL_386;
                      v137 = *(__int16 *)a2;
                      goto LABEL_820;
                    }
                    v138 = *(__int16 *)a2;
                    goto LABEL_822;
                  }
                  v139 = *(__int16 *)a2;
                  goto LABEL_824;
                }
                v140 = *(__int16 *)a2;
                goto LABEL_826;
              }
LABEL_538:
              v141 = *(__int16 *)a2;
              goto LABEL_735;
            }
            if( (_DWORD)PropertyType != 10 )
            {
              if( (_DWORD)PropertyType != 11 )
              {
                if( (_DWORD)PropertyType == 14 )
                {
LABEL_506:
                  v246 = v14 - 2;
                  if( v246 )
                  {
                    v247 = v246 - 1;
                    if( v247 )
                    {
                      v248 = v247 - 1;
                      if( v248 )
                      {
                        v249 = v248 - 1;
                        if( v249 )
                        {
                          if( v249 != 1 )
                            goto LABEL_386;
                          v93 = *(__int16 *)a2;
                          goto LABEL_181;
                        }
                        v94 = *(__int16 *)a2;
                        goto LABEL_185;
                      }
                      v95 = *(__int16 *)a2;
                      goto LABEL_190;
                    }
                    v96 = *(__int16 *)a2;
                    goto LABEL_195;
                  }
                  goto LABEL_538;
                }
                if( (_DWORD)PropertyType != 15 )
                  goto LABEL_386;
              }
              v242 = v14 - 2;
              if( v242 )
              {
                v243 = v242 - 1;
                if( v243 )
                {
                  v244 = v243 - 1;
                  if( v244 )
                  {
                    v245 = v244 - 1;
                    if( v245 )
                    {
                      if( v245 != 1 )
                        goto LABEL_386;
                      v97 = *(__int16 *)a2;
                      goto LABEL_199;
                    }
                    v101 = *(__int16 *)a2;
LABEL_205:
                    v100 = _mm_cvtsi32_si128(v101);
                    goto LABEL_206;
                  }
                  v104 = *(__int16 *)a2;
LABEL_211:
                  v103 = _mm_cvtsi32_si128(v104);
LABEL_212:
                  *(_QWORD *)&v105 = *(_OWORD *)&_mm_cvtepi32_pd(v103);
LABEL_214:
                  v106 = *(double *)ContainsStringList < v105;
                  v107 = *(double *)ContainsStringList == v105;
                  goto LABEL_253;
                }
                v109 = *(__int16 *)a2;
LABEL_217:
                v108 = _mm_cvtsi32_si128(v109);
                goto LABEL_218;
              }
              v112 = *(__int16 *)a2;
LABEL_223:
              v111 = _mm_cvtsi32_si128(v112);
LABEL_224:
              *(_QWORD *)&v113 = *(_OWORD *)&_mm_cvtepi32_pd(v111);
LABEL_226:
              v19 = v113 == *(double *)ContainsStringList;
              goto LABEL_36;
            }
            v250 = v14 - 2;
            if( v250 )
            {
              v251 = v250 - 1;
              if( v251 )
              {
                v252 = v251 - 1;
                if( v252 )
                {
                  v253 = v252 - 1;
                  if( v253 )
                  {
                    if( v253 != 1 )
                      goto LABEL_386;
                    v121 = *(__int16 *)a2;
                    goto LABEL_236;
                  }
                  v208 = *(__int16 *)a2;
LABEL_404:
                  v123 = _mm_cvtsi32_si128(v208);
                  goto LABEL_241;
                }
                v126 = *(__int16 *)a2;
LABEL_246:
                v125 = _mm_cvtsi32_si128(v126);
                goto LABEL_247;
              }
              v209 = *(__int16 *)a2;
LABEL_407:
              v128 = _mm_cvtsi32_si128(v209);
              goto LABEL_251;
            }
            v131 = *(__int16 *)a2;
LABEL_256:
            v130 = _mm_cvtsi32_si128(v131);
LABEL_257:
            LODWORD(v132) = _mm_cvtepi32_ps(v130).m128_u32[0];
LABEL_259:
            v19 = v132 == *(float *)ContainsStringList;
            goto LABEL_36;
          }
          if( (unsigned int)PropertyType <= 8 )
          {
            if( (_DWORD)PropertyType != 8 )
            {
              if( (_DWORD)PropertyType == 2 )
              {
                v285 = v14 - 2;
                if( v285 )
                {
                  v286 = v285 - 1;
                  if( v286 )
                  {
                    v287 = v286 - 1;
                    if( v287 )
                    {
                      v288 = v287 - 1;
                      if( v288 )
                      {
                        if( v288 != 1 )
                          goto LABEL_386;
                        v166 = *a2;
LABEL_354:
                        v167 = *(char *)ContainsStringList;
LABEL_355:
                        v71 = __OFSUB__(v166, v167);
                        v69 = v166 == v167;
                        v70 = v166 - v167 < 0;
                        goto LABEL_143;
                      }
                      v168 = *a2;
                      goto LABEL_358;
                    }
                    v170 = *a2;
                    goto LABEL_363;
                  }
                  v172 = *a2;
                  goto LABEL_368;
                }
                v174 = *a2;
LABEL_373:
                v175 = *(char *)ContainsStringList;
                goto LABEL_375;
              }
              if( (_DWORD)PropertyType != 3 )
              {
                if( (_DWORD)PropertyType == 4 )
                {
                  v273 = v14 - 2;
                  if( !v273 )
                  {
                    v82 = (unsigned __int16)*a2 == *ContainsStringList;
                    goto LABEL_163;
                  }
                  v274 = v273 - 1;
                  if( !v274 )
                  {
                    v280 = *a2;
                    v80 = __OFSUB__(v280, *ContainsStringList);
                    v78 = v280 == (__int16)*ContainsStringList;
                    v79 = (__int16)(v280 - *ContainsStringList) < 0;
                    goto LABEL_158;
                  }
                  v275 = v274 - 1;
                  if( !v275 )
                  {
                    v279 = *a2;
                    v76 = __OFSUB__(v279, *ContainsStringList);
                    v75 = (__int16)(v279 - *ContainsStringList) < 0;
                    goto LABEL_153;
                  }
                  v276 = v275 - 1;
                  if( v276 )
                  {
                    if( v276 != 1 )
                      goto LABEL_386;
                    v277 = *a2;
                    v71 = __OFSUB__(v277, *ContainsStringList);
                    v69 = v277 == (__int16)*ContainsStringList;
                    v70 = (__int16)(v277 - *ContainsStringList) < 0;
                    goto LABEL_143;
                  }
                  v278 = *a2;
                  v73 = __OFSUB__(v278, *ContainsStringList);
                  v72 = (__int16)(v278 - *ContainsStringList) < 0;
LABEL_148:
                  v16 = v72 == v73;
                  goto LABEL_20;
                }
                if( (_DWORD)PropertyType != 5 )
                {
                  if( (_DWORD)PropertyType == 6 )
                  {
                    v262 = v14 - 2;
                    if( v262 )
                    {
                      v263 = v262 - 1;
                      if( !v263 )
                      {
                        v158 = *a2;
                        goto LABEL_306;
                      }
                      v264 = v263 - 1;
                      if( !v264 )
                      {
                        v157 = *a2;
                        goto LABEL_303;
                      }
                      v265 = v264 - 1;
                      if( !v265 )
                      {
                        v156 = *a2;
                        goto LABEL_300;
                      }
                      if( v265 != 1 )
                        goto LABEL_386;
                      v155 = *a2;
                      goto LABEL_297;
                    }
                  }
                  else
                  {
                    if( (_DWORD)PropertyType != 7 )
                      goto LABEL_386;
                    v258 = v14 - 2;
                    if( v258 )
                    {
                      v259 = v258 - 1;
                      if( !v259 )
                      {
                        v149 = *a2;
                        goto LABEL_287;
                      }
                      v260 = v259 - 1;
                      if( !v260 )
                      {
                        v148 = *a2;
                        goto LABEL_284;
                      }
                      v261 = v260 - 1;
                      if( !v261 )
                      {
                        v147 = *a2;
                        goto LABEL_281;
                      }
                      if( v261 != 1 )
                        goto LABEL_386;
                      v146 = *a2;
                      goto LABEL_278;
                    }
                  }
                  v150 = *a2;
                  goto LABEL_290;
                }
                v266 = v14 - 2;
                if( v266 )
                {
                  v267 = v266 - 1;
                  if( v267 )
                  {
                    v268 = v267 - 1;
                    if( !v268 )
                    {
                      v28 = *a2 < *ContainsStringList;
                      goto LABEL_76;
                    }
                    v269 = v268 - 1;
                    if( v269 )
                    {
                      if( v269 != 1 )
                        goto LABEL_386;
                      v270 = *a2;
                      v36 = v270 < *ContainsStringList;
                      v37 = v270 == *ContainsStringList;
                      goto LABEL_95;
                    }
                    v38 = *a2 < *ContainsStringList;
                    goto LABEL_98;
                  }
                  v271 = *a2;
                  v39 = v271 < *ContainsStringList;
                  v40 = v271 == *ContainsStringList;
                  goto LABEL_101;
                }
                v272 = *a2;
                goto LABEL_577;
              }
              v281 = v14 - 2;
              if( v281 )
              {
                v282 = v281 - 1;
                if( v282 )
                {
                  v283 = v282 - 1;
                  if( !v283 )
                  {
                    v28 = *a2 < *(_BYTE *)ContainsStringList;
                    goto LABEL_76;
                  }
                  v284 = v283 - 1;
                  if( v284 )
                  {
                    if( v284 != 1 )
                      goto LABEL_386;
                    v36 = *a2 < *(_BYTE *)ContainsStringList;
                    v37 = *a2 == *(_BYTE *)ContainsStringList;
                    goto LABEL_95;
                  }
                  v38 = *a2 < *(_BYTE *)ContainsStringList;
                  goto LABEL_98;
                }
                v39 = *a2 < *(_BYTE *)ContainsStringList;
                v40 = *a2 == *(_BYTE *)ContainsStringList;
                goto LABEL_101;
              }
              goto LABEL_29;
            }
            goto LABEL_612;
          }
          if( (_DWORD)PropertyType == 9 )
          {
            v301 = v14 - 2;
            if( v301 )
            {
              v302 = v301 - 1;
              if( v302 )
              {
                v303 = v302 - 1;
                if( v303 )
                {
                  v304 = v303 - 1;
                  if( v304 )
                  {
                    if( v304 != 1 )
                      goto LABEL_386;
                    v137 = *a2;
                    goto LABEL_820;
                  }
                  v138 = *a2;
                  goto LABEL_822;
                }
                v139 = *a2;
                goto LABEL_824;
              }
              v140 = *a2;
              goto LABEL_826;
            }
LABEL_644:
            v141 = *a2;
            goto LABEL_735;
          }
          if( (_DWORD)PropertyType != 10 )
          {
            if( (_DWORD)PropertyType != 11 )
            {
              if( (_DWORD)PropertyType == 14 )
              {
LABEL_612:
                v293 = v14 - 2;
                if( v293 )
                {
                  v294 = v293 - 1;
                  if( v294 )
                  {
                    v295 = v294 - 1;
                    if( v295 )
                    {
                      v296 = v295 - 1;
                      if( v296 )
                      {
                        if( v296 != 1 )
                          goto LABEL_386;
                        v93 = *a2;
                        goto LABEL_181;
                      }
                      v94 = *a2;
                      goto LABEL_185;
                    }
                    v95 = *a2;
                    goto LABEL_190;
                  }
                  v96 = *a2;
                  goto LABEL_195;
                }
                goto LABEL_644;
              }
              if( (_DWORD)PropertyType != 15 )
                goto LABEL_386;
            }
            v289 = v14 - 2;
            if( !v289 )
            {
              v112 = *a2;
              goto LABEL_223;
            }
            v290 = v289 - 1;
            if( !v290 )
            {
              v109 = *a2;
              goto LABEL_217;
            }
            v291 = v290 - 1;
            if( !v291 )
            {
              v104 = *a2;
              goto LABEL_211;
            }
            v292 = v291 - 1;
            if( !v292 )
            {
              v101 = *a2;
              goto LABEL_205;
            }
            if( v292 != 1 )
              goto LABEL_386;
            v97 = *a2;
LABEL_199:
            v88 = _mm_cvtsi32_si128(v97);
LABEL_200:
            *(_QWORD *)&v98 = *(_OWORD *)&_mm_cvtepi32_pd(v88);
            goto LABEL_202;
          }
          v297 = v14 - 2;
          if( !v297 )
          {
            v131 = *a2;
            goto LABEL_256;
          }
          v298 = v297 - 1;
          if( !v298 )
          {
            v209 = *a2;
            goto LABEL_407;
          }
          v299 = v298 - 1;
          if( !v299 )
          {
            v126 = *a2;
            goto LABEL_246;
          }
          v300 = v299 - 1;
          if( !v300 )
          {
            v208 = *a2;
            goto LABEL_404;
          }
          if( v300 != 1 )
            goto LABEL_386;
          v121 = *a2;
LABEL_236:
          v120 = _mm_cvtsi32_si128(v121);
LABEL_237:
          LODWORD(v122) = _mm_cvtepi32_ps(v120).m128_u32[0];
          goto LABEL_239;
        }
        if( (unsigned int)PropertyType <= 8 )
        {
          if( (_DWORD)PropertyType != 8 )
          {
            if( (_DWORD)PropertyType != 2 )
            {
              if( (_DWORD)PropertyType == 3 )
              {
                v321 = v14 - 2;
                if( !v321 )
                {
                  v174 = (char)*a2;
                  v175 = *(unsigned __int8 *)ContainsStringList;
                  goto LABEL_375;
                }
                v322 = v321 - 1;
                if( v322 )
                {
                  v323 = v322 - 1;
                  if( v323 )
                  {
                    v324 = v323 - 1;
                    if( v324 )
                    {
                      if( v324 != 1 )
                        goto LABEL_386;
                      v166 = (char)*a2;
                      v167 = *(unsigned __int8 *)ContainsStringList;
                      goto LABEL_355;
                    }
                    v168 = (char)*a2;
                    v169 = *(unsigned __int8 *)ContainsStringList;
LABEL_360:
                    v73 = __OFSUB__(v168, v169);
                    v72 = v168 - v169 < 0;
                    goto LABEL_148;
                  }
                  v170 = (char)*a2;
                  v171 = *(unsigned __int8 *)ContainsStringList;
LABEL_365:
                  v76 = __OFSUB__(v170, v171);
                  v75 = v170 - v171 < 0;
                  goto LABEL_153;
                }
                v172 = (char)*a2;
                v173 = *(unsigned __int8 *)ContainsStringList;
LABEL_370:
                v80 = __OFSUB__(v172, v173);
                v78 = v172 == v173;
                v79 = v172 - v173 < 0;
                goto LABEL_158;
              }
              if( (_DWORD)PropertyType != 4 )
              {
                if( (_DWORD)PropertyType != 5 )
                {
                  if( (_DWORD)PropertyType == 6 )
                  {
                    v309 = v14 - 2;
                    if( v309 )
                    {
                      v310 = v309 - 1;
                      if( !v310 )
                      {
                        v158 = (char)*a2;
                        goto LABEL_306;
                      }
                      v311 = v310 - 1;
                      if( !v311 )
                      {
                        v157 = (char)*a2;
                        goto LABEL_303;
                      }
                      v312 = v311 - 1;
                      if( !v312 )
                      {
                        v156 = (char)*a2;
                        goto LABEL_300;
                      }
                      if( v312 != 1 )
                        goto LABEL_386;
                      v155 = (char)*a2;
                      goto LABEL_297;
                    }
                  }
                  else
                  {
                    if( (_DWORD)PropertyType != 7 )
                      goto LABEL_386;
                    v305 = v14 - 2;
                    if( v305 )
                    {
                      v306 = v305 - 1;
                      if( !v306 )
                      {
                        v149 = (char)*a2;
                        goto LABEL_287;
                      }
                      v307 = v306 - 1;
                      if( !v307 )
                      {
                        v148 = (char)*a2;
                        goto LABEL_284;
                      }
                      v308 = v307 - 1;
                      if( !v308 )
                      {
                        v147 = (char)*a2;
                        goto LABEL_281;
                      }
                      if( v308 != 1 )
                        goto LABEL_386;
                      v146 = (char)*a2;
LABEL_278:
                      v36 = v146 < *(_DWORD *)ContainsStringList;
                      v37 = v146 == *(_DWORD *)ContainsStringList;
LABEL_95:
                      v18 = v36 | (unsigned __int8)v37;
                      goto LABEL_31;
                    }
                  }
                  v150 = (char)*a2;
                  goto LABEL_290;
                }
                v313 = v14 - 2;
                if( v313 )
                {
                  v314 = v313 - 1;
                  if( v314 )
                  {
                    v315 = v314 - 1;
                    if( v315 )
                    {
                      v316 = v315 - 1;
                      if( v316 )
                      {
                        if( v316 != 1 )
                          goto LABEL_386;
                        v166 = (char)*a2;
LABEL_451:
                        v167 = *ContainsStringList;
                        goto LABEL_355;
                      }
                      v168 = (char)*a2;
LABEL_454:
                      v169 = *ContainsStringList;
                      goto LABEL_360;
                    }
                    v170 = (char)*a2;
LABEL_457:
                    v171 = *ContainsStringList;
                    goto LABEL_365;
                  }
                  v172 = (char)*a2;
LABEL_460:
                  v173 = *ContainsStringList;
                  goto LABEL_370;
                }
                v174 = (char)*a2;
LABEL_463:
                v175 = *ContainsStringList;
                goto LABEL_375;
              }
              v317 = v14 - 2;
              if( v317 )
              {
                v318 = v317 - 1;
                if( !v318 )
                {
                  v47 = __OFSUB__((char)*a2, *ContainsStringList);
                  v45 = (char)*a2 == (__int16)*ContainsStringList;
                  v46 = (__int16)((char)*a2 - *ContainsStringList) < 0;
                  goto LABEL_197;
                }
                v319 = v318 - 1;
                if( !v319 )
                {
                  v44 = __OFSUB__((char)*a2, *ContainsStringList);
                  v43 = (__int16)((char)*a2 - *ContainsStringList) < 0;
                  goto LABEL_192;
                }
                v320 = v319 - 1;
                if( v320 )
                {
                  if( v320 != 1 )
                    goto LABEL_386;
                  v35 = __OFSUB__((char)*a2, *ContainsStringList);
                  v33 = (char)*a2 == (__int16)*ContainsStringList;
                  v34 = (__int16)((char)*a2 - *ContainsStringList) < 0;
                  goto LABEL_182;
                }
                v42 = __OFSUB__((char)*a2, *ContainsStringList);
                v41 = (__int16)((char)*a2 - *ContainsStringList) < 0;
                goto LABEL_187;
              }
              v272 = (char)*a2;
LABEL_577:
              v17 = v272 == (__int16)*ContainsStringList;
              goto LABEL_30;
            }
            v325 = v14 - 2;
            if( v325 )
            {
              v326 = v325 - 1;
              if( !v326 )
              {
                v47 = __OFSUB__(*a2, *(_BYTE *)ContainsStringList);
                v45 = *a2 == *(_BYTE *)ContainsStringList;
                v46 = (char)(*a2 - *(_BYTE *)ContainsStringList) < 0;
                goto LABEL_197;
              }
              v327 = v326 - 1;
              if( !v327 )
              {
                v44 = __OFSUB__(*a2, *(_BYTE *)ContainsStringList);
                v43 = (char)(*a2 - *(_BYTE *)ContainsStringList) < 0;
                goto LABEL_192;
              }
              v328 = v327 - 1;
              if( v328 )
              {
                if( v328 != 1 )
                  goto LABEL_386;
                v35 = __OFSUB__(*a2, *(_BYTE *)ContainsStringList);
                v33 = *a2 == *(_BYTE *)ContainsStringList;
                v34 = (char)(*a2 - *(_BYTE *)ContainsStringList) < 0;
                goto LABEL_182;
              }
              v42 = __OFSUB__(*a2, *(_BYTE *)ContainsStringList);
              v41 = (char)(*a2 - *(_BYTE *)ContainsStringList) < 0;
              goto LABEL_187;
            }
LABEL_29:
            v17 = *a2 == *(_BYTE *)ContainsStringList;
LABEL_30:
            LODWORD(v18) = v17;
LABEL_31:
            *(_DWORD *)a8 = v18;
            goto LABEL_1373;
          }
          goto LABEL_703;
        }
        if( (_DWORD)PropertyType == 9 )
        {
          v341 = v14 - 2;
          if( v341 )
          {
            v342 = v341 - 1;
            if( v342 )
            {
              v343 = v342 - 1;
              if( v343 )
              {
                v344 = v343 - 1;
                if( v344 )
                {
                  if( v344 != 1 )
                    goto LABEL_386;
                  v137 = (char)*a2;
                  goto LABEL_820;
                }
                v138 = (char)*a2;
LABEL_822:
                v38 = v138 < *(_QWORD *)ContainsStringList;
                goto LABEL_98;
              }
              v139 = (char)*a2;
LABEL_824:
              v28 = v139 < *(_QWORD *)ContainsStringList;
              goto LABEL_76;
            }
            v140 = (char)*a2;
LABEL_826:
            v39 = v140 < *(_QWORD *)ContainsStringList;
            v40 = v140 == *(_QWORD *)ContainsStringList;
            goto LABEL_101;
          }
LABEL_733:
          v141 = (char)*a2;
          goto LABEL_735;
        }
        if( (_DWORD)PropertyType == 10 )
        {
          v337 = v14 - 2;
          if( !v337 )
          {
            v131 = (char)*a2;
            goto LABEL_256;
          }
          v338 = v337 - 1;
          if( !v338 )
          {
            v209 = (char)*a2;
            goto LABEL_407;
          }
          v339 = v338 - 1;
          if( !v339 )
          {
            v126 = (char)*a2;
            goto LABEL_246;
          }
          v340 = v339 - 1;
          if( !v340 )
          {
            v208 = (char)*a2;
            goto LABEL_404;
          }
          if( v340 != 1 )
            goto LABEL_386;
          v121 = (char)*a2;
          goto LABEL_236;
        }
        if( (_DWORD)PropertyType != 11 )
        {
          if( (_DWORD)PropertyType == 14 )
          {
LABEL_703:
            v333 = v14 - 2;
            if( v333 )
            {
              v334 = v333 - 1;
              if( v334 )
              {
                v335 = v334 - 1;
                if( v335 )
                {
                  v336 = v335 - 1;
                  if( v336 )
                  {
                    if( v336 != 1 )
                      goto LABEL_386;
                    v93 = (char)*a2;
                    goto LABEL_181;
                  }
                  v94 = (char)*a2;
                  goto LABEL_185;
                }
                v95 = (char)*a2;
                goto LABEL_190;
              }
              v96 = (char)*a2;
              goto LABEL_195;
            }
            goto LABEL_733;
          }
          if( (_DWORD)PropertyType != 15 )
            goto LABEL_386;
        }
        v329 = v14 - 2;
        if( !v329 )
        {
          v112 = (char)*a2;
          goto LABEL_223;
        }
        v330 = v329 - 1;
        if( !v330 )
        {
          v109 = (char)*a2;
          goto LABEL_217;
        }
        v331 = v330 - 1;
        if( !v331 )
        {
          v104 = (char)*a2;
          goto LABEL_211;
        }
        v332 = v331 - 1;
        if( !v332 )
        {
          v101 = (char)*a2;
          goto LABEL_205;
        }
        if( v332 != 1 )
          goto LABEL_386;
        v97 = (char)*a2;
        goto LABEL_199;
      }
      if( (_DWORD)PropertyType != 1 || v14 != DEVPROP_OPERATOR_EQUALS )
        goto LABEL_386;
      if( a2 )
        goto LABEL_12;
      v19 = ContainsStringList == 0i64;
LABEL_36:
      if( v19 )
        goto LABEL_13;
      goto LABEL_12;
    }
    if( (_DWORD)a1 != 8 )
    {
      if( (_DWORD)a1 != 9 )
      {
        if( (_DWORD)a1 != 10 )
        {
          if( (_DWORD)a1 != 11 )
          {
            v384 = (_DWORD)PropertyType == 12;
            goto LABEL_837;
          }
LABEL_1307:
          if( (unsigned int)PropertyType <= 8 )
          {
            if( (_DWORD)PropertyType != 8 )
            {
              switch( (_DWORD)PropertyType )
              {
                case 2:
                  v426 = v14 - 2;
                  if( !v426 )
                  {
                    v409 = *(char *)ContainsStringList;
                    goto LABEL_873;
                  }
                  v427 = v426 - 1;
                  if( !v427 )
                  {
                    v417 = *(char *)ContainsStringList;
                    goto LABEL_919;
                  }
                  v428 = v427 - 1;
                  if( !v428 )
                  {
                    v416 = *(char *)ContainsStringList;
                    goto LABEL_916;
                  }
                  v429 = v428 - 1;
                  if( !v429 )
                  {
                    v415 = *(char *)ContainsStringList;
                    goto LABEL_913;
                  }
                  if( v429 != 1 )
                    goto LABEL_386;
                  v414 = *(char *)ContainsStringList;
                  break;
                case 3:
                  v422 = v14 - 2;
                  if( !v422 )
                  {
                    v409 = *(unsigned __int8 *)ContainsStringList;
                    goto LABEL_873;
                  }
                  v423 = v422 - 1;
                  if( !v423 )
                  {
                    v417 = *(unsigned __int8 *)ContainsStringList;
                    goto LABEL_919;
                  }
                  v424 = v423 - 1;
                  if( !v424 )
                  {
                    v416 = *(unsigned __int8 *)ContainsStringList;
                    goto LABEL_916;
                  }
                  v425 = v424 - 1;
                  if( !v425 )
                  {
                    v415 = *(unsigned __int8 *)ContainsStringList;
                    goto LABEL_913;
                  }
                  if( v425 != 1 )
                    goto LABEL_386;
                  v414 = *(unsigned __int8 *)ContainsStringList;
                  break;
                case 4:
                  v418 = v14 - 2;
                  if( !v418 )
                  {
                    v409 = (__int16)*ContainsStringList;
                    goto LABEL_873;
                  }
                  v419 = v418 - 1;
                  if( !v419 )
                  {
                    v417 = (__int16)*ContainsStringList;
                    goto LABEL_919;
                  }
                  v420 = v419 - 1;
                  if( !v420 )
                  {
                    v416 = (__int16)*ContainsStringList;
                    goto LABEL_916;
                  }
                  v421 = v420 - 1;
                  if( !v421 )
                  {
                    v415 = (__int16)*ContainsStringList;
                    goto LABEL_913;
                  }
                  if( v421 != 1 )
                    goto LABEL_386;
                  v414 = (__int16)*ContainsStringList;
                  break;
                case 5:
                  v410 = v14 - 2;
                  if( v410 )
                  {
                    v411 = v410 - 1;
                    if( v411 )
                    {
                      v412 = v411 - 1;
                      if( v412 )
                      {
                        v413 = v412 - 1;
                        if( v413 )
                        {
                          if( v413 != 1 )
                            goto LABEL_386;
                          v414 = *ContainsStringList;
                          break;
                        }
                        v415 = *ContainsStringList;
LABEL_913:
                        v405 = _mm_cvtsi32_si128(v415);
LABEL_914:
                        *(_QWORD *)&v394 = *(_OWORD *)&_mm_cvtepi32_pd(v405);
                        goto LABEL_955;
                      }
                      v416 = *ContainsStringList;
LABEL_916:
                      v406 = _mm_cvtsi32_si128(v416);
LABEL_917:
                      *(_QWORD *)&v396 = *(_OWORD *)&_mm_cvtepi32_pd(v406);
                      goto LABEL_958;
                    }
                    v417 = *ContainsStringList;
LABEL_919:
                    v407 = _mm_cvtsi32_si128(v417);
LABEL_920:
                    *(_QWORD *)&v190 = *(_OWORD *)&_mm_cvtepi32_pd(v407);
                    goto LABEL_343;
                  }
                  v409 = *ContainsStringList;
LABEL_873:
                  v408 = _mm_cvtsi32_si128(v409);
LABEL_874:
                  *(_QWORD *)&v399 = *(_OWORD *)&_mm_cvtepi32_pd(v408);
                  goto LABEL_861;
                case 6:
                  v400 = v14 - 2;
                  if( v400 )
                  {
                    v401 = v400 - 1;
                    if( v401 )
                    {
                      v402 = v401 - 1;
                      if( v402 )
                      {
                        v403 = v402 - 1;
                        if( v403 )
                        {
                          if( v403 != 1 )
                            goto LABEL_386;
                          v404 = _mm_cvtsi32_si128(*(_DWORD *)ContainsStringList);
                          goto LABEL_911;
                        }
                        v405 = _mm_cvtsi32_si128(*(_DWORD *)ContainsStringList);
                        goto LABEL_914;
                      }
                      v406 = _mm_cvtsi32_si128(*(_DWORD *)ContainsStringList);
                      goto LABEL_917;
                    }
                    v407 = _mm_cvtsi32_si128(*(_DWORD *)ContainsStringList);
                    goto LABEL_920;
                  }
                  v408 = _mm_cvtsi32_si128(*(_DWORD *)ContainsStringList);
                  goto LABEL_874;
                case 7:
                  v387 = v14 - 2;
                  if( v387 )
                  {
                    v388 = v387 - 1;
                    if( v388 )
                    {
                      v389 = v388 - 1;
                      if( v389 )
                      {
                        v390 = v389 - 1;
                        if( v390 )
                        {
                          if( v390 != 1 )
                            goto LABEL_386;
                          LODWORD(v391) = *(_DWORD *)ContainsStringList;
LABEL_851:
                          v392 = (double)(int)v391;
LABEL_952:
                          v183 = v392 < *(double *)a2;
                          goto LABEL_336;
                        }
                        LODWORD(v393) = *(_DWORD *)ContainsStringList;
LABEL_853:
                        v394 = (double)(int)v393;
                        goto LABEL_955;
                      }
                      LODWORD(v395) = *(_DWORD *)ContainsStringList;
                      goto LABEL_855;
                    }
                    LODWORD(v397) = *(_DWORD *)ContainsStringList;
LABEL_857:
                    v190 = (double)(int)v397;
                    goto LABEL_343;
                  }
                  LODWORD(v398) = *(_DWORD *)ContainsStringList;
                  goto LABEL_859;
                default:
                  goto LABEL_386;
              }
              v404 = _mm_cvtsi32_si128(v414);
LABEL_911:
              *(_QWORD *)&v392 = *(_OWORD *)&_mm_cvtepi32_pd(v404);
              goto LABEL_952;
            }
            goto LABEL_933;
          }
          if( (_DWORD)PropertyType == 9 )
          {
            v586 = v14 - 2;
            if( v586 )
            {
              v587 = v586 - 1;
              if( v587 )
              {
                v588 = v587 - 1;
                if( v588 )
                {
                  v589 = v588 - 1;
                  if( v589 )
                  {
                    if( v589 != 1 )
                      goto LABEL_386;
                    v391 = *(_QWORD *)ContainsStringList;
                    if( *(__int64 *)ContainsStringList < 0 )
                    {
                      v392 = (double)(int)(v391 & 1 | (v391 >> 1)) + (double)(int)(v391 & 1 | (v391 >> 1));
                      goto LABEL_952;
                    }
                    goto LABEL_851;
                  }
                  v393 = *(_QWORD *)ContainsStringList;
                  if( *(__int64 *)ContainsStringList < 0 )
                  {
                    v394 = (double)(int)(v393 & 1 | (v393 >> 1)) + (double)(int)(v393 & 1 | (v393 >> 1));
                    goto LABEL_955;
                  }
                  goto LABEL_853;
                }
                v395 = *(_QWORD *)ContainsStringList;
                if( *(__int64 *)ContainsStringList < 0 )
                {
                  v396 = (double)(int)(v395 & 1 | (v395 >> 1)) + (double)(int)(v395 & 1 | (v395 >> 1));
                  goto LABEL_958;
                }
LABEL_855:
                v396 = (double)(int)v395;
LABEL_958:
                v188 = v396 < *(double *)a2;
                v189 = v396 == *(double *)a2;
                goto LABEL_344;
              }
              v397 = *(_QWORD *)ContainsStringList;
              if( *(__int64 *)ContainsStringList < 0 )
              {
                v190 = (double)(int)(v397 & 1 | (*(_QWORD *)ContainsStringList >> 1))
                     + (double)(int)(v397 & 1 | (*(_QWORD *)ContainsStringList >> 1));
                goto LABEL_343;
              }
              goto LABEL_857;
            }
            v398 = *(_QWORD *)ContainsStringList;
            if( *(__int64 *)ContainsStringList < 0 )
            {
              v399 = (double)(int)(v398 & 1 | (v398 >> 1)) + (double)(int)(v398 & 1 | (v398 >> 1));
              goto LABEL_861;
            }
LABEL_859:
            v399 = (double)(int)v398;
LABEL_861:
            v19 = *(double *)a2 == v399;
            goto LABEL_36;
          }
          if( (_DWORD)PropertyType == 10 )
          {
            v438 = v14 - 2;
            if( !v438 )
            {
              v399 = *(float *)ContainsStringList;
              goto LABEL_861;
            }
            v439 = v438 - 1;
            if( !v439 )
            {
              v190 = *(float *)ContainsStringList;
LABEL_343:
              v188 = *(double *)a2 < v190;
              v189 = *(double *)a2 == v190;
              goto LABEL_344;
            }
            v440 = v439 - 1;
            if( !v440 )
            {
              v396 = *(float *)ContainsStringList;
              goto LABEL_958;
            }
            v441 = v440 - 1;
            if( v441 )
            {
              if( v441 != 1 )
                goto LABEL_386;
              v392 = *(float *)ContainsStringList;
              goto LABEL_952;
            }
            v394 = *(float *)ContainsStringList;
LABEL_955:
            v183 = *(double *)a2 < v394;
            goto LABEL_336;
          }
          if( (_DWORD)PropertyType != 11 )
          {
            if( (_DWORD)PropertyType == 14 )
            {
LABEL_933:
              v434 = v14 - 2;
              if( !v434 )
              {
                v399 = (double)(int)*(_QWORD *)ContainsStringList;
                goto LABEL_861;
              }
              v435 = v434 - 1;
              if( !v435 )
              {
                v190 = (double)(int)*(_QWORD *)ContainsStringList;
                goto LABEL_343;
              }
              v436 = v435 - 1;
              if( !v436 )
              {
                v396 = (double)(int)*(_QWORD *)ContainsStringList;
                goto LABEL_958;
              }
              v437 = v436 - 1;
              if( v437 )
              {
                if( v437 != 1 )
                  goto LABEL_386;
                v392 = (double)(int)*(_QWORD *)ContainsStringList;
                goto LABEL_952;
              }
              v394 = (double)(int)*(_QWORD *)ContainsStringList;
              goto LABEL_955;
            }
            if( (_DWORD)PropertyType != 15 )
              goto LABEL_386;
          }
          v430 = v14 - 2;
          if( v430 )
          {
            v431 = v430 - 1;
            if( v431 )
            {
              v432 = v431 - 1;
              if( v432 )
              {
                v433 = v432 - 1;
                if( v433 )
                {
                  if( v433 != 1 )
                    goto LABEL_386;
                  v99 = *(double *)ContainsStringList < *(double *)a2;
                  goto LABEL_243;
                }
                v102 = *(double *)a2;
                goto LABEL_208;
              }
              v106 = *(double *)ContainsStringList < *(double *)a2;
              v107 = *(double *)ContainsStringList == *(double *)a2;
LABEL_253:
              v25 = !v106 && !v107;
              goto LABEL_72;
            }
            v110 = *(double *)a2;
            goto LABEL_220;
          }
          v113 = *(double *)a2;
          goto LABEL_226;
        }
        if( (unsigned int)PropertyType <= 8 )
        {
          if( (_DWORD)PropertyType != 8 )
          {
            switch( (_DWORD)PropertyType )
            {
              case 2:
                v480 = v14 - 2;
                if( !v480 )
                {
                  v463 = *(char *)ContainsStringList;
                  goto LABEL_992;
                }
                v481 = v480 - 1;
                if( !v481 )
                {
                  v471 = *(char *)ContainsStringList;
                  goto LABEL_1038;
                }
                v482 = v481 - 1;
                if( !v482 )
                {
                  v470 = *(char *)ContainsStringList;
                  goto LABEL_1035;
                }
                v483 = v482 - 1;
                if( !v483 )
                {
                  v469 = *(char *)ContainsStringList;
                  goto LABEL_1032;
                }
                if( v483 != 1 )
                  goto LABEL_386;
                v468 = *(char *)ContainsStringList;
                break;
              case 3:
                v476 = v14 - 2;
                if( !v476 )
                {
                  v463 = *(unsigned __int8 *)ContainsStringList;
                  goto LABEL_992;
                }
                v477 = v476 - 1;
                if( !v477 )
                {
                  v471 = *(unsigned __int8 *)ContainsStringList;
                  goto LABEL_1038;
                }
                v478 = v477 - 1;
                if( !v478 )
                {
                  v470 = *(unsigned __int8 *)ContainsStringList;
                  goto LABEL_1035;
                }
                v479 = v478 - 1;
                if( !v479 )
                {
                  v469 = *(unsigned __int8 *)ContainsStringList;
                  goto LABEL_1032;
                }
                if( v479 != 1 )
                  goto LABEL_386;
                v468 = *(unsigned __int8 *)ContainsStringList;
                break;
              case 4:
                v472 = v14 - 2;
                if( !v472 )
                {
                  v463 = (__int16)*ContainsStringList;
                  goto LABEL_992;
                }
                v473 = v472 - 1;
                if( !v473 )
                {
                  v471 = (__int16)*ContainsStringList;
                  goto LABEL_1038;
                }
                v474 = v473 - 1;
                if( !v474 )
                {
                  v470 = (__int16)*ContainsStringList;
                  goto LABEL_1035;
                }
                v475 = v474 - 1;
                if( !v475 )
                {
                  v469 = (__int16)*ContainsStringList;
                  goto LABEL_1032;
                }
                if( v475 != 1 )
                  goto LABEL_386;
                v468 = (__int16)*ContainsStringList;
                break;
              case 5:
                v464 = v14 - 2;
                if( v464 )
                {
                  v465 = v464 - 1;
                  if( v465 )
                  {
                    v466 = v465 - 1;
                    if( v466 )
                    {
                      v467 = v466 - 1;
                      if( v467 )
                      {
                        if( v467 != 1 )
                          goto LABEL_386;
                        v468 = *ContainsStringList;
                        break;
                      }
                      v469 = *ContainsStringList;
LABEL_1032:
                      v459 = _mm_cvtsi32_si128(v469);
                      goto LABEL_1033;
                    }
                    v470 = *ContainsStringList;
LABEL_1035:
                    v460 = _mm_cvtsi32_si128(v470);
                    goto LABEL_1036;
                  }
                  v471 = *ContainsStringList;
LABEL_1038:
                  v461 = _mm_cvtsi32_si128(v471);
                  goto LABEL_1039;
                }
                v463 = *ContainsStringList;
LABEL_992:
                v462 = _mm_cvtsi32_si128(v463);
                goto LABEL_993;
              case 6:
                v454 = v14 - 2;
                if( v454 )
                {
                  v455 = v454 - 1;
                  if( v455 )
                  {
                    v456 = v455 - 1;
                    if( v456 )
                    {
                      v457 = v456 - 1;
                      if( v457 )
                      {
                        if( v457 != 1 )
                          goto LABEL_386;
                        v458 = _mm_cvtsi32_si128(*(_DWORD *)ContainsStringList);
                        goto LABEL_1030;
                      }
                      v459 = _mm_cvtsi32_si128(*(_DWORD *)ContainsStringList);
LABEL_1033:
                      LODWORD(v449) = _mm_cvtepi32_ps(v459).m128_u32[0];
                      goto LABEL_1060;
                    }
                    v460 = _mm_cvtsi32_si128(*(_DWORD *)ContainsStringList);
LABEL_1036:
                    LODWORD(v451) = _mm_cvtepi32_ps(v460).m128_u32[0];
                    goto LABEL_1062;
                  }
                  v461 = _mm_cvtsi32_si128(*(_DWORD *)ContainsStringList);
LABEL_1039:
                  LODWORD(v453) = _mm_cvtepi32_ps(v461).m128_u32[0];
                  goto LABEL_1064;
                }
                v462 = _mm_cvtsi32_si128(*(_DWORD *)ContainsStringList);
LABEL_993:
                LODWORD(v115) = _mm_cvtepi32_ps(v462).m128_u32[0];
                goto LABEL_229;
              case 7:
                v442 = v14 - 2;
                if( v442 )
                {
                  v443 = v442 - 1;
                  if( v443 )
                  {
                    v444 = v443 - 1;
                    if( v444 )
                    {
                      v445 = v444 - 1;
                      if( v445 )
                      {
                        if( v445 != 1 )
                          goto LABEL_386;
                        LODWORD(v446) = *(_DWORD *)ContainsStringList;
LABEL_974:
                        v447 = (float)(int)v446;
LABEL_1058:
                        v183 = v447 < *(float *)a2;
                        goto LABEL_336;
                      }
                      LODWORD(v448) = *(_DWORD *)ContainsStringList;
LABEL_976:
                      v449 = (float)(int)v448;
                      goto LABEL_1060;
                    }
                    LODWORD(v450) = *(_DWORD *)ContainsStringList;
LABEL_978:
                    v451 = (float)(int)v450;
                    goto LABEL_1062;
                  }
                  LODWORD(v452) = *(_DWORD *)ContainsStringList;
LABEL_980:
                  v453 = (float)(int)v452;
                  goto LABEL_1064;
                }
                LODWORD(v114) = *(_DWORD *)ContainsStringList;
LABEL_228:
                v115 = (float)(int)v114;
                goto LABEL_229;
              default:
                goto LABEL_386;
            }
            v458 = _mm_cvtsi32_si128(v468);
LABEL_1030:
            LODWORD(v447) = _mm_cvtepi32_ps(v458).m128_u32[0];
            goto LABEL_1058;
          }
LABEL_1052:
          v488 = v14 - 2;
          if( v488 )
          {
            v489 = v488 - 1;
            if( v489 )
            {
              v490 = v489 - 1;
              if( v490 )
              {
                v491 = v490 - 1;
                if( v491 )
                {
                  if( v491 != 1 )
                    goto LABEL_386;
                  v447 = (float)(int)*(_QWORD *)ContainsStringList;
                  goto LABEL_1058;
                }
                v449 = (float)(int)*(_QWORD *)ContainsStringList;
LABEL_1060:
                v183 = *(float *)a2 < v449;
                goto LABEL_336;
              }
              v451 = (float)(int)*(_QWORD *)ContainsStringList;
LABEL_1062:
              v188 = v451 < *(float *)a2;
              v189 = v451 == *(float *)a2;
              goto LABEL_344;
            }
            v453 = (float)(int)*(_QWORD *)ContainsStringList;
LABEL_1064:
            v188 = *(float *)a2 < v453;
            v189 = *(float *)a2 == v453;
            goto LABEL_344;
          }
          v115 = (float)(int)*(_QWORD *)ContainsStringList;
LABEL_229:
          v19 = *(float *)a2 == v115;
          goto LABEL_36;
        }
        if( (_DWORD)PropertyType == 9 )
        {
          v496 = v14 - 2;
          if( v496 )
          {
            v497 = v496 - 1;
            if( v497 )
            {
              v498 = v497 - 1;
              if( v498 )
              {
                v499 = v498 - 1;
                if( v499 )
                {
                  if( v499 != 1 )
                    goto LABEL_386;
                  v446 = *(_QWORD *)ContainsStringList;
                  if( *(__int64 *)ContainsStringList < 0 )
                  {
                    v447 = (float)(int)(v446 & 1 | (v446 >> 1)) + (float)(int)(v446 & 1 | (v446 >> 1));
                    goto LABEL_1058;
                  }
                  goto LABEL_974;
                }
                v448 = *(_QWORD *)ContainsStringList;
                if( *(__int64 *)ContainsStringList < 0 )
                {
                  v449 = (float)(int)(v448 & 1 | (v448 >> 1)) + (float)(int)(v448 & 1 | (v448 >> 1));
                  goto LABEL_1060;
                }
                goto LABEL_976;
              }
              v450 = *(_QWORD *)ContainsStringList;
              if( *(__int64 *)ContainsStringList < 0 )
              {
                v451 = (float)(int)(v450 & 1 | (v450 >> 1)) + (float)(int)(v450 & 1 | (v450 >> 1));
                goto LABEL_1062;
              }
              goto LABEL_978;
            }
            v452 = *(_QWORD *)ContainsStringList;
            if( *(__int64 *)ContainsStringList < 0 )
            {
              v453 = (float)(int)(v452 & 1 | (v452 >> 1)) + (float)(int)(v452 & 1 | (v452 >> 1));
              goto LABEL_1064;
            }
            goto LABEL_980;
          }
          v114 = *(_QWORD *)ContainsStringList;
          if( *(__int64 *)ContainsStringList < 0 )
          {
            v115 = (float)(int)(v114 & 1 | (v114 >> 1)) + (float)(int)(v114 & 1 | (v114 >> 1));
            goto LABEL_229;
          }
          goto LABEL_228;
        }
        if( (_DWORD)PropertyType == 10 )
        {
          v492 = v14 - 2;
          if( v492 )
          {
            v493 = v492 - 1;
            if( v493 )
            {
              v494 = v493 - 1;
              if( !v494 )
              {
                v106 = *(float *)ContainsStringList < *(float *)a2;
                v107 = *(float *)ContainsStringList == *(float *)a2;
                goto LABEL_253;
              }
              v495 = v494 - 1;
              if( v495 )
              {
                if( v495 != 1 )
                  goto LABEL_386;
                v99 = *(float *)ContainsStringList < *(float *)a2;
                goto LABEL_243;
              }
              v124 = *(float *)a2;
              goto LABEL_242;
            }
            v129 = *(float *)a2;
            goto LABEL_252;
          }
          v132 = *(float *)a2;
          goto LABEL_259;
        }
        if( (_DWORD)PropertyType != 11 )
        {
          if( (_DWORD)PropertyType == 14 )
            goto LABEL_1052;
          if( (_DWORD)PropertyType != 15 )
            goto LABEL_386;
        }
        v484 = v14 - 2;
        if( !v484 )
        {
          v113 = *(float *)a2;
          goto LABEL_226;
        }
        v485 = v484 - 1;
        if( !v485 )
        {
          v110 = *(float *)a2;
          goto LABEL_220;
        }
        v486 = v485 - 1;
        if( !v486 )
        {
          v105 = *(float *)a2;
          goto LABEL_214;
        }
        v487 = v486 - 1;
        if( !v487 )
        {
          v102 = *(float *)a2;
          goto LABEL_208;
        }
        if( v487 != 1 )
          goto LABEL_386;
        v98 = *(float *)a2;
LABEL_202:
        v99 = *(double *)ContainsStringList < v98;
LABEL_243:
        v25 = !v99;
        goto LABEL_72;
      }
      if( (unsigned int)PropertyType <= 8 )
      {
        if( (_DWORD)PropertyType != 8 )
        {
          if( (_DWORD)PropertyType != 2 )
          {
            if( (_DWORD)PropertyType != 3 )
            {
              if( (_DWORD)PropertyType != 4 )
              {
                if( (_DWORD)PropertyType != 5 )
                {
                  if( (_DWORD)PropertyType != 6 )
                  {
                    if( (_DWORD)PropertyType != 7 )
                      goto LABEL_386;
                    v500 = v14 - 2;
                    if( v500 )
                    {
                      v501 = v500 - 1;
                      if( v501 )
                      {
                        v502 = v501 - 1;
                        if( v502 )
                        {
                          v503 = v502 - 1;
                          if( v503 )
                          {
                            if( v503 != 1 )
                              goto LABEL_386;
                            v504 = *(unsigned int *)ContainsStringList;
                            goto LABEL_331;
                          }
                          v184 = *(unsigned int *)ContainsStringList;
LABEL_335:
                          v183 = *(_QWORD *)a2 < v184;
                          goto LABEL_336;
                        }
                        v186 = *(unsigned int *)ContainsStringList;
LABEL_339:
                        v185 = *(_QWORD *)a2 < v186;
                        goto LABEL_340;
                      }
                      v505 = *(unsigned int *)ContainsStringList;
LABEL_1160:
                      v188 = *(_QWORD *)a2 < v505;
                      v189 = *(_QWORD *)a2 == v505;
                      goto LABEL_344;
                    }
                    goto LABEL_1112;
                  }
                  v506 = v14 - 2;
                  if( v506 )
                  {
                    v507 = v506 - 1;
                    if( !v507 )
                    {
                      v505 = *(int *)ContainsStringList;
                      goto LABEL_1160;
                    }
                    v508 = v507 - 1;
                    if( !v508 )
                    {
                      v186 = *(int *)ContainsStringList;
                      goto LABEL_339;
                    }
                    v509 = v508 - 1;
                    if( !v509 )
                    {
                      v184 = *(int *)ContainsStringList;
                      goto LABEL_335;
                    }
                    if( v509 != 1 )
                      goto LABEL_386;
                    v504 = *(int *)ContainsStringList;
LABEL_331:
                    v181 = *(_QWORD *)a2 < v504;
                    v182 = *(_QWORD *)a2 == v504;
LABEL_332:
                    v16 = v181 | (unsigned __int8)v182;
                    goto LABEL_20;
                  }
LABEL_1122:
                  v83 = *(int *)ContainsStringList;
                  goto LABEL_162;
                }
                v510 = v14 - 2;
                if( v510 )
                {
                  v511 = v510 - 1;
                  if( !v511 )
                  {
                    v505 = *ContainsStringList;
                    goto LABEL_1160;
                  }
                  v512 = v511 - 1;
                  if( !v512 )
                  {
                    v186 = *ContainsStringList;
                    goto LABEL_339;
                  }
                  v513 = v512 - 1;
                  if( !v513 )
                  {
                    v184 = *ContainsStringList;
                    goto LABEL_335;
                  }
                  if( v513 != 1 )
                    goto LABEL_386;
                  v504 = *ContainsStringList;
                  goto LABEL_331;
                }
LABEL_1132:
                v83 = *ContainsStringList;
                goto LABEL_162;
              }
              v514 = v14 - 2;
              if( v514 )
              {
                v515 = v514 - 1;
                if( !v515 )
                {
                  v505 = (__int16)*ContainsStringList;
                  goto LABEL_1160;
                }
                v516 = v515 - 1;
                if( !v516 )
                {
                  v186 = (__int16)*ContainsStringList;
                  goto LABEL_339;
                }
                v517 = v516 - 1;
                if( !v517 )
                {
                  v184 = (__int16)*ContainsStringList;
                  goto LABEL_335;
                }
                if( v517 != 1 )
                  goto LABEL_386;
                v504 = (__int16)*ContainsStringList;
                goto LABEL_331;
              }
LABEL_1142:
              v83 = (__int16)*ContainsStringList;
              goto LABEL_162;
            }
            v518 = v14 - 2;
            if( v518 )
            {
              v519 = v518 - 1;
              if( !v519 )
              {
                v505 = *(unsigned __int8 *)ContainsStringList;
                goto LABEL_1160;
              }
              v520 = v519 - 1;
              if( !v520 )
              {
                v186 = *(unsigned __int8 *)ContainsStringList;
                goto LABEL_339;
              }
              v521 = v520 - 1;
              if( !v521 )
              {
                v184 = *(unsigned __int8 *)ContainsStringList;
                goto LABEL_335;
              }
              if( v521 != 1 )
                goto LABEL_386;
              v504 = *(unsigned __int8 *)ContainsStringList;
              goto LABEL_331;
            }
LABEL_1152:
            v83 = *(unsigned __int8 *)ContainsStringList;
            goto LABEL_162;
          }
          v522 = v14 - 2;
          if( v522 )
          {
            v523 = v522 - 1;
            if( !v523 )
            {
              v505 = *(char *)ContainsStringList;
              goto LABEL_1160;
            }
            v524 = v523 - 1;
            if( !v524 )
            {
              v186 = *(char *)ContainsStringList;
              goto LABEL_339;
            }
            v525 = v524 - 1;
            if( !v525 )
            {
              v184 = *(char *)ContainsStringList;
              goto LABEL_335;
            }
            if( v525 != 1 )
              goto LABEL_386;
            v504 = *(char *)ContainsStringList;
            goto LABEL_331;
          }
LABEL_161:
          v83 = *(char *)ContainsStringList;
LABEL_162:
          v82 = *(_QWORD *)a2 == v83;
          goto LABEL_163;
        }
        goto LABEL_1173;
      }
      if( (_DWORD)PropertyType == 9 )
        goto LABEL_1173;
      if( (_DWORD)PropertyType != 10 )
      {
        if( (_DWORD)PropertyType == 11 )
        {
LABEL_1166:
          v526 = v14 - 2;
          if( !v526 )
          {
            v538 = *(_QWORD *)a2;
            if( *(__int64 *)a2 < 0 )
              v113 = (double)(int)(v538 & 1 | (v538 >> 1)) + (double)(int)(v538 & 1 | (v538 >> 1));
            else
              v113 = (double)(int)v538;
            goto LABEL_226;
          }
          v527 = v526 - 1;
          if( !v527 )
          {
            v537 = *(_QWORD *)a2;
            if( *(__int64 *)a2 < 0 )
              v110 = (double)(int)(v537 & 1 | (v537 >> 1)) + (double)(int)(v537 & 1 | (v537 >> 1));
            else
              v110 = (double)(int)v537;
            goto LABEL_220;
          }
          v528 = v527 - 1;
          if( !v528 )
          {
            v536 = *(_QWORD *)a2;
            if( *(__int64 *)a2 < 0 )
              v105 = (double)(int)(v536 & 1 | (v536 >> 1)) + (double)(int)(v536 & 1 | (v536 >> 1));
            else
              v105 = (double)(int)v536;
            goto LABEL_214;
          }
          v529 = v528 - 1;
          if( !v529 )
          {
            v535 = *(_QWORD *)a2;
            if( *(__int64 *)a2 < 0 )
              v102 = (double)(int)(v535 & 1 | (v535 >> 1)) + (double)(int)(v535 & 1 | (v535 >> 1));
            else
              v102 = (double)(int)v535;
            goto LABEL_208;
          }
          if( v529 != 1 )
            goto LABEL_386;
          v530 = *(_QWORD *)a2;
          if( *(__int64 *)a2 < 0 )
            v98 = (double)(int)(v530 & 1 | (v530 >> 1)) + (double)(int)(v530 & 1 | (v530 >> 1));
          else
            v98 = (double)(int)v530;
          goto LABEL_202;
        }
        if( (_DWORD)PropertyType != 14 )
        {
          if( (_DWORD)PropertyType != 15 )
            goto LABEL_386;
          goto LABEL_1166;
        }
LABEL_1173:
        v531 = v14 - 2;
        if( v531 )
        {
          v532 = v531 - 1;
          if( v532 )
          {
            v533 = v532 - 1;
            if( !v533 )
            {
              v28 = *(_QWORD *)a2 < *(_QWORD *)ContainsStringList;
              goto LABEL_76;
            }
            v534 = v533 - 1;
            if( v534 )
            {
              if( v534 != 1 )
                goto LABEL_386;
              v36 = *(_QWORD *)a2 < *(_QWORD *)ContainsStringList;
              v37 = *(_QWORD *)a2 == *(_QWORD *)ContainsStringList;
              goto LABEL_95;
            }
            v38 = *(_QWORD *)a2 < *(_QWORD *)ContainsStringList;
            goto LABEL_98;
          }
          v39 = *(_QWORD *)a2 < *(_QWORD *)ContainsStringList;
          v40 = *(_QWORD *)a2 == *(_QWORD *)ContainsStringList;
LABEL_101:
          v18 = !v39 && !v40;
          goto LABEL_31;
        }
        goto LABEL_1291;
      }
      v539 = v14 - 2;
      if( !v539 )
      {
        v547 = *(_QWORD *)a2;
        if( *(__int64 *)a2 < 0 )
          v132 = (float)(int)(v547 & 1 | (v547 >> 1)) + (float)(int)(v547 & 1 | (v547 >> 1));
        else
          v132 = (float)(int)v547;
        goto LABEL_259;
      }
      v540 = v539 - 1;
      if( !v540 )
      {
        v546 = *(_QWORD *)a2;
        if( *(__int64 *)a2 < 0 )
          v129 = (float)(int)(v546 & 1 | (v546 >> 1)) + (float)(int)(v546 & 1 | (v546 >> 1));
        else
          v129 = (float)(int)v546;
        goto LABEL_252;
      }
      v541 = v540 - 1;
      if( !v541 )
      {
        v545 = *(_QWORD *)a2;
        if( *(__int64 *)a2 < 0 )
          v127 = (float)(int)(v545 & 1 | (v545 >> 1)) + (float)(int)(v545 & 1 | (v545 >> 1));
        else
          v127 = (float)(int)v545;
        goto LABEL_249;
      }
      v542 = v541 - 1;
      if( !v542 )
      {
        v544 = *(_QWORD *)a2;
        if( *(__int64 *)a2 < 0 )
          v124 = (float)(int)(v544 & 1 | (v544 >> 1)) + (float)(int)(v544 & 1 | (v544 >> 1));
        else
          v124 = (float)(int)v544;
        goto LABEL_242;
      }
      if( v542 != 1 )
        goto LABEL_386;
      v543 = *(_QWORD *)a2;
      if( *(__int64 *)a2 < 0 )
        v122 = (float)(int)(v543 & 1 | (v543 >> 1)) + (float)(int)(v543 & 1 | (v543 >> 1));
      else
        v122 = (float)(int)v543;
LABEL_239:
      v99 = *(float *)ContainsStringList < v122;
      goto LABEL_243;
    }
LABEL_1330:
    if( (unsigned int)PropertyType <= 8 )
    {
      if( (_DWORD)PropertyType != 8 )
      {
        if( (_DWORD)PropertyType == 2 )
        {
          v569 = v14 - 2;
          if( !v569 )
            goto LABEL_161;
          v570 = v569 - 1;
          if( !v570 )
          {
            v81 = *(char *)ContainsStringList;
            goto LABEL_157;
          }
          v571 = v570 - 1;
          if( !v571 )
          {
            v77 = *(char *)ContainsStringList;
            goto LABEL_152;
          }
          v572 = v571 - 1;
          if( !v572 )
          {
            v74 = *(char *)ContainsStringList;
            goto LABEL_147;
          }
          if( v572 != 1 )
            goto LABEL_386;
          v552 = *(char *)ContainsStringList;
        }
        else if( (_DWORD)PropertyType == 3 )
        {
          v565 = v14 - 2;
          if( !v565 )
            goto LABEL_1152;
          v566 = v565 - 1;
          if( !v566 )
          {
            v81 = *(unsigned __int8 *)ContainsStringList;
            goto LABEL_157;
          }
          v567 = v566 - 1;
          if( !v567 )
          {
            v77 = *(unsigned __int8 *)ContainsStringList;
            goto LABEL_152;
          }
          v568 = v567 - 1;
          if( !v568 )
          {
            v74 = *(unsigned __int8 *)ContainsStringList;
            goto LABEL_147;
          }
          if( v568 != 1 )
            goto LABEL_386;
          v552 = *(unsigned __int8 *)ContainsStringList;
        }
        else if( (_DWORD)PropertyType == 4 )
        {
          v561 = v14 - 2;
          if( !v561 )
            goto LABEL_1142;
          v562 = v561 - 1;
          if( !v562 )
          {
            v81 = (__int16)*ContainsStringList;
            goto LABEL_157;
          }
          v563 = v562 - 1;
          if( !v563 )
          {
            v77 = (__int16)*ContainsStringList;
            goto LABEL_152;
          }
          v564 = v563 - 1;
          if( !v564 )
          {
            v74 = (__int16)*ContainsStringList;
            goto LABEL_147;
          }
          if( v564 != 1 )
            goto LABEL_386;
          v552 = (__int16)*ContainsStringList;
        }
        else
        {
          if( (_DWORD)PropertyType != 5 )
          {
            if( (_DWORD)PropertyType == 6 )
            {
              v553 = v14 - 2;
              if( !v553 )
                goto LABEL_1122;
              v554 = v553 - 1;
              if( v554 )
              {
                v555 = v554 - 1;
                if( v555 )
                {
                  v556 = v555 - 1;
                  if( v556 )
                  {
                    if( v556 != 1 )
                      goto LABEL_386;
                    v552 = *(int *)ContainsStringList;
                    goto LABEL_142;
                  }
                  v74 = *(int *)ContainsStringList;
LABEL_147:
                  v73 = __OFSUB__(*(_QWORD *)a2, v74);
                  v72 = *(_QWORD *)a2 - v74 < 0;
                  goto LABEL_148;
                }
                v77 = *(int *)ContainsStringList;
                goto LABEL_152;
              }
              v81 = *(int *)ContainsStringList;
            }
            else
            {
              if( (_DWORD)PropertyType != 7 )
                goto LABEL_386;
              v548 = v14 - 2;
              if( !v548 )
              {
LABEL_1112:
                v83 = *(unsigned int *)ContainsStringList;
                goto LABEL_162;
              }
              v549 = v548 - 1;
              if( v549 )
              {
                v550 = v549 - 1;
                if( v550 )
                {
                  v551 = v550 - 1;
                  if( v551 )
                  {
                    if( v551 != 1 )
                      goto LABEL_386;
                    v552 = *(unsigned int *)ContainsStringList;
                    goto LABEL_142;
                  }
                  v74 = *(unsigned int *)ContainsStringList;
                  goto LABEL_147;
                }
                v77 = *(unsigned int *)ContainsStringList;
LABEL_152:
                v76 = __OFSUB__(*(_QWORD *)a2, v77);
                v75 = *(_QWORD *)a2 - v77 < 0;
                goto LABEL_153;
              }
              v81 = *(unsigned int *)ContainsStringList;
            }
LABEL_157:
            v80 = __OFSUB__(*(_QWORD *)a2, v81);
            v78 = *(_QWORD *)a2 == v81;
            v79 = *(_QWORD *)a2 - v81 < 0;
            goto LABEL_158;
          }
          v557 = v14 - 2;
          if( !v557 )
            goto LABEL_1132;
          v558 = v557 - 1;
          if( !v558 )
          {
            v81 = *ContainsStringList;
            goto LABEL_157;
          }
          v559 = v558 - 1;
          if( !v559 )
          {
            v77 = *ContainsStringList;
            goto LABEL_152;
          }
          v560 = v559 - 1;
          if( !v560 )
          {
            v74 = *ContainsStringList;
            goto LABEL_147;
          }
          if( v560 != 1 )
            goto LABEL_386;
          v552 = *ContainsStringList;
        }
LABEL_142:
        v71 = __OFSUB__(*(_QWORD *)a2, v552);
        v69 = *(_QWORD *)a2 == v552;
        v70 = *(_QWORD *)a2 - v552 < 0;
        goto LABEL_143;
      }
LABEL_1278:
      v577 = v14 - 2;
      if( v577 )
      {
        v578 = v577 - 1;
        if( !v578 )
        {
          v47 = __OFSUB__(*(_QWORD *)a2, *(_QWORD *)ContainsStringList);
          v45 = *(_QWORD *)a2 == *(_QWORD *)ContainsStringList;
          v46 = (__int64)(*(_QWORD *)a2 - *(_QWORD *)ContainsStringList) < 0;
          goto LABEL_197;
        }
        v579 = v578 - 1;
        if( !v579 )
        {
          v44 = __OFSUB__(*(_QWORD *)a2, *(_QWORD *)ContainsStringList);
          v43 = (__int64)(*(_QWORD *)a2 - *(_QWORD *)ContainsStringList) < 0;
          goto LABEL_192;
        }
        v580 = v579 - 1;
        if( v580 )
        {
          if( v580 != 1 )
            goto LABEL_386;
          v35 = __OFSUB__(*(_QWORD *)a2, *(_QWORD *)ContainsStringList);
          v33 = *(_QWORD *)a2 == *(_QWORD *)ContainsStringList;
          v34 = (__int64)(*(_QWORD *)a2 - *(_QWORD *)ContainsStringList) < 0;
          goto LABEL_182;
        }
        v42 = __OFSUB__(*(_QWORD *)a2, *(_QWORD *)ContainsStringList);
        v41 = (__int64)(*(_QWORD *)a2 - *(_QWORD *)ContainsStringList) < 0;
        goto LABEL_187;
      }
LABEL_1291:
      v17 = *(_QWORD *)a2 == *(_QWORD *)ContainsStringList;
      goto LABEL_30;
    }
    if( (_DWORD)PropertyType == 9 )
      goto LABEL_1173;
    if( (_DWORD)PropertyType == 10 )
    {
      v590 = v14 - 2;
      if( !v590 )
      {
        v132 = (float)(int)*(_QWORD *)a2;
        goto LABEL_259;
      }
      v591 = v590 - 1;
      if( !v591 )
      {
        v129 = (float)(int)*(_QWORD *)a2;
        goto LABEL_252;
      }
      v592 = v591 - 1;
      if( !v592 )
      {
        v127 = (float)(int)*(_QWORD *)a2;
        goto LABEL_249;
      }
      v593 = v592 - 1;
      if( !v593 )
      {
        v124 = (float)(int)*(_QWORD *)a2;
        goto LABEL_242;
      }
      if( v593 != 1 )
        goto LABEL_386;
      v122 = (float)(int)*(_QWORD *)a2;
      goto LABEL_239;
    }
    if( (_DWORD)PropertyType != 11 )
    {
      if( (_DWORD)PropertyType == 14 )
        goto LABEL_1278;
      if( (_DWORD)PropertyType != 15 )
        goto LABEL_386;
    }
    v573 = v14 - 2;
    if( !v573 )
    {
      v113 = (double)(int)*(_QWORD *)a2;
      goto LABEL_226;
    }
    v574 = v573 - 1;
    if( !v574 )
    {
      v110 = (double)(int)*(_QWORD *)a2;
      goto LABEL_220;
    }
    v575 = v574 - 1;
    if( !v575 )
    {
      v105 = (double)(int)*(_QWORD *)a2;
      goto LABEL_214;
    }
    v576 = v575 - 1;
    if( !v576 )
    {
      v102 = (double)(int)*(_QWORD *)a2;
      goto LABEL_208;
    }
    if( v576 != 1 )
      goto LABEL_386;
    v98 = (double)(int)*(_QWORD *)a2;
    goto LABEL_202;
  }
  if( (unsigned int)a1 > 0x14 )
  {
    switch( (_DWORD)a1 )
    {
      case 0x15:
        if( (_DWORD)PropertyType == 21 && v14 == DEVPROP_OPERATOR_EQUALS )
        {
          if( *((_DWORD *)a2 + 4) != *((_DWORD *)ContainsStringList + 4) )
            goto LABEL_12;
          v595 = *(_QWORD *)a2 - *(_QWORD *)ContainsStringList;
          if( *(_QWORD *)a2 == *(_QWORD *)ContainsStringList )
            v595 = *((_QWORD *)a2 + 1) - *((_QWORD *)ContainsStringList + 1);
          v19 = v595 == 0;
          goto LABEL_36;
        }
        goto LABEL_1373;
      case 0x16:
        v594 = (_DWORD)PropertyType == 22;
        break;
      case 0x17:
        v384 = (_DWORD)PropertyType == 23;
LABEL_837:
        if( !v384 )
          goto LABEL_386;
        goto LABEL_838;
      case 0x18:
        v594 = (_DWORD)PropertyType == 24;
        break;
      default:
        if( (_DWORD)a1 != 25
          || (_DWORD)PropertyType != 25 && (_DWORD)PropertyType != 18
          || v14 != DEVPROP_OPERATOR_EQUALS )
        {
          goto LABEL_386;
        }
        goto LABEL_66;
    }
    if( !v594 || v14 != DEVPROP_OPERATOR_EQUALS )
      goto LABEL_386;
    goto LABEL_50;
  }
  if( (unsigned int)a1 >= 0x13 )
    goto LABEL_386;
  switch( (_DWORD)a1 )
  {
    case 0xE:
      goto LABEL_1330;
    case 0xF:
      goto LABEL_1307;
    case 0x10:
      if( (_DWORD)PropertyType != 16 )
        goto LABEL_386;
      v581 = v14 - 2;
      if( v581 )
      {
        v582 = v581 - 1;
        if( v582 )
        {
          v583 = v582 - 1;
          if( v583 )
          {
            v584 = v583 - 1;
            if( v584 )
            {
              if( v584 != 1 )
                goto LABEL_386;
              v585 = (unsigned int)CompareFileTimeType((const _FILETIME *)a2, (const _FILETIME *)ContainsStringList) == -1;
            }
            else
            {
              v585 = (unsigned int)CompareFileTimeType((const _FILETIME *)a2, (const _FILETIME *)ContainsStringList) == 1;
            }
            if( v585 )
              goto LABEL_13;
            v386 = CompareFileTimeType((const _FILETIME *)a2, (const _FILETIME *)ContainsStringList);
            goto LABEL_843;
          }
          v24 = (unsigned int)CompareFileTimeType((const _FILETIME *)a2, (const _FILETIME *)ContainsStringList) == -1;
        }
        else
        {
          v24 = (unsigned int)CompareFileTimeType((const _FILETIME *)a2, (const _FILETIME *)ContainsStringList) == 1;
        }
LABEL_71:
        LODWORD(v25) = v24;
        goto LABEL_72;
      }
      v23 = CompareFileTimeType((const _FILETIME *)a2, (const _FILETIME *)ContainsStringList);
LABEL_70:
      v24 = v23 == 0;
      goto LABEL_71;
    case 0x11:
      if( (_DWORD)PropertyType != 17 || v14 != DEVPROP_OPERATOR_EQUALS )
        goto LABEL_386;
      goto LABEL_29;
  }
  if( (_DWORD)PropertyType != 18 )
    goto LABEL_386;
  if( v14 != DEVPROP_OPERATOR_EQUALS )
  {
    if( (unsigned int)(v14 - 9) > 2 )
      goto LABEL_386;
    LODWORD(v16) = SubstringMatch((const wchar_t *)a2, ContainsStringList, v13, v14);
    goto LABEL_20;
  }
LABEL_66:
  if( !(_DWORD)v13 )
  {
LABEL_841:
    if( (_DWORD)v8 != (_DWORD)ContainsArraySize )
      goto LABEL_12;
    v386 = memcmp(a2, ContainsStringList, v8);
LABEL_843:
    v19 = v386 == 0;
    goto LABEL_36;
  }
  if( (_DWORD)v8 && (_DWORD)v8 == (_DWORD)ContainsArraySize )
  {
    v23 = wcsicmp((const wchar_t *)a2, ContainsStringList);
    goto LABEL_70;
  }
LABEL_1373:
  if( v12 )
  {
    LOBYTE(v10) = *(_DWORD *)a8 == 0;
    *(_DWORD *)a8 = v10;
  }
  return v11;
}

Referenced by:

FilterEvalImpliedAnd
FilterEvalStrict