Advertisement
Byvar

Rayman Legends CMD code

Sep 15th, 2019
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 36.35 KB | None | 0 0
  1. signed int __thiscall ITF::ApplicationFramework::init(_DWORD *this, float a2, float a3, void *a4)
  2. {
  3.   _DWORD *v4; // esi@1
  4.   char *v5; // edi@1
  5.   signed int v7; // edi@23
  6.   int v8; // edi@26
  7.   signed int v9; // edi@27
  8.   signed int v10; // edi@31
  9.   signed int v11; // edi@36
  10.   signed int v12; // edi@41
  11.   signed int v13; // edi@48
  12.   signed int v14; // edi@55
  13.   signed int v15; // edi@60
  14.   signed int v16; // edi@65
  15.   unsigned int v17; // eax@68
  16.   unsigned int v18; // edi@68
  17.   char **v19; // ecx@71
  18.   signed int v20; // edi@75
  19.   int v21; // edi@78
  20.   signed int v22; // edi@79
  21.   signed int v23; // edi@86
  22.   signed int v24; // edi@90
  23.   char *v25; // eax@93
  24.   signed int v26; // edi@96
  25.   char *v27; // eax@99
  26.   signed int v28; // eax@102
  27.   signed int v29; // edi@104
  28.   signed int v30; // edi@108
  29.   signed int v31; // edi@119
  30.   signed int v32; // edi@124
  31.   signed int v33; // edi@129
  32.   unsigned int v34; // eax@133
  33.   int v35; // edi@138
  34.   char **v36; // eax@142
  35.   void *v37; // eax@143
  36.   int v38; // edi@145
  37.   char *v39; // eax@148
  38.   int v40; // edi@154
  39.   signed int v41; // edi@158
  40.   char *v42; // edi@161
  41.   int v43; // edi@172
  42.   void (__stdcall *v44)(char *, _DWORD, signed int, _DWORD, _DWORD); // edx@174
  43.   int v45; // eax@174
  44.   void (__stdcall *v46)(char *, signed int, signed int, _DWORD, _DWORD); // eax@175
  45.   void (__stdcall *v47)(char *, _DWORD, signed int, _DWORD, signed int); // edx@176
  46.   void *v48; // eax@180
  47.   int v49; // eax@185
  48.   int v50; // edi@185
  49.   int v51; // eax@187
  50.   int v52; // eax@188
  51.   void *v53; // eax@190
  52.   void *v54; // eax@191
  53.   unsigned int v55; // eax@195
  54.   size_t v56; // edi@195
  55.   char *v57; // eax@201
  56.   signed int v58; // edi@204
  57.   int v59; // edi@207
  58.   void *v60; // eax@230
  59.   int v61; // eax@230
  60.   int v62; // edi@236
  61.   signed int v63; // edi@240
  62.   int v64; // edi@248
  63.   int v65; // edi@252
  64.   int v66; // edi@256
  65.   int v67; // edi@260
  66.   int v68; // edi@264
  67.   _DWORD *v69; // eax@270
  68.   _DWORD *v70; // edi@271
  69.   signed int v71; // edi@275
  70.   int v72; // edi@278
  71.   signed int v73; // edi@279
  72.   int v74; // edi@283
  73.   void *v75; // eax@296
  74.   struct _SINGLE_LIST_ENTRY *v76; // edi@299
  75.   unsigned int i; // edi@301
  76.   int v78; // STA0_4@302
  77.   int v79; // eax@302
  78.   int v80; // edi@303
  79.   int v81; // STA0_4@303
  80.   int v82; // eax@303
  81.   int v83; // eax@303
  82.   signed int v84; // edi@303
  83.   unsigned int v85; // eax@313
  84.   float v86; // STA8_4@315
  85.   int (__stdcall *v87)(int *, int *, signed int, signed int, _DWORD); // eax@315
  86.   int v88; // [sp+A4h] [bp-44Ch]@207
  87.   int v89; // [sp+BCh] [bp-434h]@315
  88.   int v90; // [sp+CCh] [bp-424h]@315
  89.   int v91; // [sp+D0h] [bp-420h]@14
  90.   int v92; // [sp+E0h] [bp-410h]@14
  91.   int v93; // [sp+E4h] [bp-40Ch]@4
  92.   void *v94; // [sp+E8h] [bp-408h]@1
  93.   int v95; // [sp+ECh] [bp-404h]@279
  94.   int v96; // [sp+F0h] [bp-400h]@279
  95.   int v97; // [sp+F4h] [bp-3FCh]@279
  96.   int v98; // [sp+F8h] [bp-3F8h]@279
  97.   int v99; // [sp+FCh] [bp-3F4h]@279
  98.   int v100; // [sp+100h] [bp-3F0h]@273
  99.   int v101; // [sp+104h] [bp-3ECh]@273
  100.   int v102; // [sp+108h] [bp-3E8h]@273
  101.   int v103; // [sp+10Ch] [bp-3E4h]@273
  102.   int v104; // [sp+110h] [bp-3E0h]@273
  103.   char v105; // [sp+114h] [bp-3DCh]@14
  104.   int v106; // [sp+150h] [bp-3A0h]@5
  105.   char ArgList[4]; // [sp+154h] [bp-39Ch]@1
  106.   char *v108; // [sp+158h] [bp-398h]@136
  107.   int v109; // [sp+15Ch] [bp-394h]@136
  108.   int v110; // [sp+160h] [bp-390h]@136
  109.   int v111; // [sp+164h] [bp-38Ch]@136
  110.   int v112; // [sp+168h] [bp-388h]@136
  111.   char *v113; // [sp+16Ch] [bp-384h]@158
  112.   int v114; // [sp+170h] [bp-380h]@158
  113.   int v115; // [sp+174h] [bp-37Ch]@158
  114.   int v116; // [sp+178h] [bp-378h]@158
  115.   int v117; // [sp+17Ch] [bp-374h]@158
  116.   _BYTE *v118; // [sp+180h] [bp-370h]@166
  117.   int v119; // [sp+184h] [bp-36Ch]@166
  118.   int v120; // [sp+188h] [bp-368h]@166
  119.   int v121; // [sp+18Ch] [bp-364h]@166
  120.   int v122; // [sp+190h] [bp-360h]@166
  121.   int v123; // [sp+194h] [bp-35Ch]@5
  122.   void *Dst; // [sp+198h] [bp-358h]@195
  123.   unsigned int v125; // [sp+19Ch] [bp-354h]@195
  124.   size_t v126; // [sp+1A0h] [bp-350h]@195
  125.   int v127; // [sp+1A4h] [bp-34Ch]@195
  126.   int v128; // [sp+1A8h] [bp-348h]@195
  127.   int v129; // [sp+1ACh] [bp-344h]@4
  128.   int v130; // [sp+1B0h] [bp-340h]@4
  129.   int v131; // [sp+1B4h] [bp-33Ch]@4
  130.   int v132; // [sp+1B8h] [bp-338h]@4
  131.   int v133; // [sp+1BCh] [bp-334h]@4
  132.   int v134; // [sp+1C0h] [bp-330h]@1
  133.   int v135; // [sp+1C4h] [bp-32Ch]@1
  134.   char *Source; // [sp+1C8h] [bp-328h]@4
  135.   int v137; // [sp+1CCh] [bp-324h]@4
  136.   int v138; // [sp+1D0h] [bp-320h]@4
  137.   int v139; // [sp+1D4h] [bp-31Ch]@4
  138.   int v140; // [sp+1D8h] [bp-318h]@4
  139.   float v141; // [sp+1DCh] [bp-314h]@1
  140.   char **v142; // [sp+1E0h] [bp-310h]@1
  141.   void *Src; // [sp+1E4h] [bp-30Ch]@4
  142.   int v144; // [sp+1E8h] [bp-308h]@4
  143.   int v145; // [sp+1ECh] [bp-304h]@4
  144.   int v146; // [sp+1F0h] [bp-300h]@4
  145.   int v147; // [sp+1F4h] [bp-2FCh]@4
  146.   bool v148; // [sp+1FBh] [bp-2F5h]@5
  147.   int v149; // [sp+1FCh] [bp-2F4h]@23
  148.   int v150; // [sp+200h] [bp-2F0h]@315
  149.   int v151; // [sp+204h] [bp-2ECh]@315
  150.   int v152; // [sp+208h] [bp-2E8h]@315
  151.   int v153; // [sp+20Ch] [bp-2E4h]@23
  152.   char v154; // [sp+210h] [bp-2E0h]@180
  153.   char v155; // [sp+2A0h] [bp-250h]@294
  154.   int v156; // [sp+324h] [bp-1CCh]@294
  155.   int v157; // [sp+328h] [bp-1C8h]@294
  156.   int v158; // [sp+32Ch] [bp-1C4h]@294
  157.   char v159; // [sp+330h] [bp-1C0h]@174
  158.   char v160; // [sp+3C0h] [bp-130h]@1
  159.   int v161; // [sp+444h] [bp-ACh]@1
  160.   int v162; // [sp+448h] [bp-A8h]@1
  161.   int v163; // [sp+44Ch] [bp-A4h]@1
  162.   char v164; // [sp+450h] [bp-A0h]@174
  163.   int v165; // [sp+4D4h] [bp-1Ch]@174
  164.   int v166; // [sp+4D8h] [bp-18h]@174
  165.   int v167; // [sp+4DCh] [bp-14h]@174
  166.   int v168; // [sp+4ECh] [bp-4h]@1
  167.   _DWORD *savedregs; // [sp+4F0h] [bp+0h]@1
  168.  
  169.   savedregs = &savedregs;
  170.   *(float *)&v142 = a2;
  171.   v4 = this;
  172.   v141 = a3;
  173.   v94 = a4;
  174.   v135 = 0;
  175.   v134 = sub_361410(a4);
  176.   *(float *)&v5 = COERCE_FLOAT(sub_367E30(v134));
  177.   *(float *)ArgList = *(float *)&v5;
  178.   sub_361480(a4, v5, v134);
  179.   v168 = 0;
  180.   v161 = 0;
  181.   v162 = -1;
  182.   v163 = 1;
  183.   v160 = 0;
  184.   if ( *(float *)&v5 != 0.0 && *v5 )
  185.     readFile((int)&v160, v5, strlen(v5));
  186.   LOBYTE(v168) = 2;
  187.   sub_367E80((int)v5);
  188.   (*(void (__thiscall **)(_DWORD *))(*v4 + 40))(v4);
  189.   sub_36E510();
  190.   Src = 0;
  191.   v144 = 0;
  192.   v145 = 0;
  193.   v146 = 0xFFFFFF;
  194.   v147 = 0;
  195.   Source = 0;
  196.   v137 = 0;
  197.   v138 = 0;
  198.   v139 = 0xFFFFFF;
  199.   v140 = 0;
  200.   v93 = 1001;
  201.   v129 = 0;
  202.   v130 = 0;
  203.   v131 = 0;
  204.   v132 = 0xFFFFFF;
  205.   v133 = 0;
  206.   LOBYTE(v168) = 5;
  207.   if ( !ITF::ApplicationFramework::useCommandLineFile(&v160, (int)&v129) )
  208.   {
  209.     sub_361570((DWORD)ArgList, &v106, (BYTE *)&v134, &v148, (BYTE *)&v123);
  210.     if ( !(*(int (__thiscall **)(_DWORD *))(*v4 + 92))(v4) )
  211.     {
  212. LABEL_6:
  213.       LOBYTE(v168) = 4;
  214.       if ( !v133 )
  215.         ITF::String8::~String8((int)&v129, v129);
  216.       LOBYTE(v168) = 3;
  217.       if ( !v140 )
  218.         ITF::String8::~String8((int)&Source, (int)Source);
  219.       LOBYTE(v168) = 2;
  220.       if ( !v147 )
  221.         ITF::String8::~String8((int)&Src, (int)Src);
  222. LABEL_12:
  223.       v168 = -1;
  224.       sub_36AD90((int)&v160);
  225.       return 0;
  226.     }
  227.     sub_362130(&v123);
  228.     sub_3696B0((int)&v129, "width=%d;height=%d;fullscreen=%d;language=%d;", *(_DWORD *)ArgList, v106, v134, v123);
  229.     ITF::String8::operator+=(&v129, SLODWORD(v141));
  230.   }
  231.   ITF::String8::String8((int)&v91, "map");
  232.   LOBYTE(v168) = 6;
  233.   sub_3640B0((int)&v105, (char **)&v91, (char **)&v129);
  234.   LOBYTE(v168) = 8;
  235.   if ( !v92 )
  236.     ITF::String8::~String8((int)&v91, v91);
  237.   if ( !(*(int (__thiscall **)(_DWORD *, char *))(*v4 + 4))(v4, &v105) )
  238.   {
  239. LABEL_17:
  240.     LOBYTE(v168) = 5;
  241.     sub_364150(&v105);
  242.     LOBYTE(v168) = 4;
  243.     if ( !v133 )
  244.       ITF::String8::~String8((int)&v129, v129);
  245.     LOBYTE(v168) = 3;
  246.     if ( !v140 )
  247.       ITF::String8::~String8((int)&Source, (int)Source);
  248.     LOBYTE(v168) = 2;
  249.     if ( !v147 )
  250.       ITF::String8::~String8((int)&Src, (int)Src);
  251.     goto LABEL_12;
  252.   }
  253.   ITF::String8::String8((int)&v149, "uselessfriezewarning");
  254.   LOBYTE(v168) = 9;
  255.   v7 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  256.   LOBYTE(v168) = 8;
  257.   if ( !v153 )
  258.     ITF::String8::~String8((int)&v149, v149);
  259.   if ( v7 )
  260.   {
  261.     v8 = dword_ED91A4;
  262.     *(_DWORD *)(v8 + 132) = sub_3687E0(&Src) != 0;
  263.   }
  264.   v134 = 1;
  265.   ITF::String8::String8((int)&v149, "no_warnings");
  266.   LOBYTE(v168) = 10;
  267.   v9 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  268.   LOBYTE(v168) = 8;
  269.   if ( !v153 )
  270.     ITF::String8::~String8((int)&v149, v149);
  271.   if ( v9 )
  272.     *(_DWORD *)(dword_ED91A4 + 128) = ITF::String8::atoui32((int)&Src) != 0;
  273.   *(_DWORD *)(dword_ED91A4 + 288) = 1;
  274.   ITF::String8::String8((int)&v149, "no_soundfree");
  275.   LOBYTE(v168) = 11;
  276.   v10 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  277.   LOBYTE(v168) = 8;
  278.   if ( !v153 )
  279.     ITF::String8::~String8((int)&v149, v149);
  280.   if ( v10 && ITF::String8::atoui32((int)&Src) )
  281.     *(_DWORD *)(dword_ED91A4 + 288) = 0;
  282.   ITF::String8::String8((int)&v149, "nomap");
  283.   LOBYTE(v168) = 12;
  284.   v11 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  285.   LOBYTE(v168) = 8;
  286.   if ( !v153 )
  287.     ITF::String8::~String8((int)&v149, v149);
  288.   if ( v11 && ITF::String8::atoui32((int)&Src) )
  289.     *(_DWORD *)(dword_ED91A4 + 260) = 0;
  290.   ITF::String8::String8((int)&v149, "nosave");
  291.   LOBYTE(v168) = 13;
  292.   v12 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  293.   LOBYTE(v168) = 8;
  294.   if ( !v153 )
  295.     ITF::String8::~String8((int)&v149, v149);
  296.   if ( v12 )
  297.   {
  298.     if ( ITF::String8::atoui32((int)&Src) == 1 )
  299.     {
  300.       *(_DWORD *)(dword_ED91A4 + 240) = 0;
  301.     }
  302.     else if ( !ITF::String8::atoui32((int)&Src) )
  303.     {
  304.       *(_DWORD *)(dword_ED91A4 + 240) = 1;
  305.     }
  306.   }
  307.   ITF::String8::String8((int)&v149, "notrc");
  308.   LOBYTE(v168) = 14;
  309.   v13 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  310.   LOBYTE(v168) = 8;
  311.   if ( !v153 )
  312.     ITF::String8::~String8((int)&v149, v149);
  313.   if ( v13 )
  314.   {
  315.     if ( ITF::String8::atoui32((int)&Src) == 1 )
  316.     {
  317.       *(_DWORD *)(dword_ED91A4 + 232) = 0;
  318.     }
  319.     else if ( !ITF::String8::atoui32((int)&Src) )
  320.     {
  321.       *(_DWORD *)(dword_ED91A4 + 232) = 1;
  322.     }
  323.   }
  324.   ITF::String8::String8((int)&v149, "norewards");
  325.   LOBYTE(v168) = 15;
  326.   v14 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  327.   LOBYTE(v168) = 8;
  328.   if ( !v153 )
  329.     ITF::String8::~String8((int)&v149, v149);
  330.   if ( v14 && ITF::String8::atoui32((int)&Src) == 1 )
  331.     *(_DWORD *)(dword_ED91A4 + 244) = 0;
  332.   *(_DWORD *)(dword_ED91A4 + 244) = 0;
  333.   ITF::String8::String8((int)&v149, "inputfocus");
  334.   LOBYTE(v168) = 16;
  335.   v15 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  336.   LOBYTE(v168) = 8;
  337.   if ( !v153 )
  338.     ITF::String8::~String8((int)&v149, v149);
  339.   if ( v15 && ITF::String8::atoui32((int)&Src) == 1 )
  340.     *(_DWORD *)(dword_ED91A4 + 292) = 1;
  341.   ITF::String8::String8((int)&v149, "onlinemode");
  342.   LOBYTE(v168) = 17;
  343.   v16 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  344.   LOBYTE(v168) = 8;
  345.   if ( !v153 )
  346.     ITF::String8::~String8((int)&v149, v149);
  347.   if ( v16 )
  348.   {
  349.     v17 = ITF::String8::atoui32((int)&Src);
  350.     v18 = v17;
  351.     if ( v17 )
  352.     {
  353.       *(_DWORD *)(dword_ED91A4 + 292) = v17 == 1;
  354.       ITF::String8::String8((int)&v149, "onlinesession");
  355.       LOBYTE(v168) = 18;
  356.       v141 = COERCE_FLOAT(ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src));
  357.       LOBYTE(v168) = 8;
  358.       if ( !v153 )
  359.         ITF::String8::~String8((int)&v149, v149);
  360.       v19 = (char **)(dword_ED91A4 + 304);
  361.       if ( v141 == 0.0 )
  362.       {
  363.         sub_361B80(v19, "UNSET_NAME");
  364.       }
  365.       else if ( (void **)v19 != &Src )
  366.       {
  367.         ITF::String8::setText((void **)v19, (char **)&Src);
  368.       }
  369.       *(_DWORD *)(dword_ED91A4 + 324) = v18;
  370.       ITF::String8::String8((int)&v149, "onlinedebug");
  371.       LOBYTE(v168) = 19;
  372.       v20 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  373.       LOBYTE(v168) = 8;
  374.       if ( !v153 )
  375.         ITF::String8::~String8((int)&v149, v149);
  376.       if ( v20 )
  377.       {
  378.         v21 = dword_ED91A4;
  379.         *(_DWORD *)(v21 + 328) = ITF::String8::atoui32((int)&Src);
  380.       }
  381.     }
  382.   }
  383.   ITF::String8::String8((int)&v149, "nologos");
  384.   LOBYTE(v168) = 20;
  385.   v22 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  386.   LOBYTE(v168) = 8;
  387.   if ( !v153 )
  388.     ITF::String8::~String8((int)&v149, v149);
  389.   if ( v22 )
  390.   {
  391.     if ( ITF::String8::atoui32((int)&Src) == 1 )
  392.     {
  393.       *(_DWORD *)(dword_ED91A4 + 248) = 0;
  394.     }
  395.     else if ( !ITF::String8::atoui32((int)&Src) )
  396.     {
  397.       *(_DWORD *)(dword_ED91A4 + 248) = 1;
  398.     }
  399.   }
  400.   ITF::String8::String8((int)&v149, "fastexit");
  401.   LOBYTE(v168) = 21;
  402.   v23 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  403.   LOBYTE(v168) = 8;
  404.   if ( !v153 )
  405.     ITF::String8::~String8((int)&v149, v149);
  406.   if ( v23 )
  407.     v4[5] = ITF::String8::atoui32((int)&Src);
  408.   *(_BYTE *)(dword_ED91A4 + 284) = 1;
  409.   ITF::String8::String8((int)&v149, "login");
  410.   LOBYTE(v168) = 22;
  411.   v24 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Source);
  412.   LOBYTE(v168) = 8;
  413.   if ( !v153 )
  414.     ITF::String8::~String8((int)&v149, v149);
  415.   if ( v24 )
  416.   {
  417.     v25 = Source;
  418.     if ( !Source )
  419.       v25 = ITF::String8::internalEmptyString;
  420.     strncpy(Dest, v25, 0x1Fu);
  421.     byte_F726F3 = 0;
  422.   }
  423.   ITF::String8::String8((int)&v149, "password");
  424.   LOBYTE(v168) = 23;
  425.   v26 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Source);
  426.   LOBYTE(v168) = 8;
  427.   if ( !v153 )
  428.     ITF::String8::~String8((int)&v149, v149);
  429.   if ( v26 )
  430.   {
  431.     v27 = Source;
  432.     if ( !Source )
  433.       v27 = ITF::String8::internalEmptyString;
  434.     strncpy(aRaymu8, v27, 0x1Fu);
  435.     byte_ED92AB = 0;
  436.   }
  437.   ITF::String8::String8((int)&v149, "networkwarning");
  438.   LOBYTE(v168) = 24;
  439.   v28 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Source);
  440.   sub_44AF30(v28 != 0);
  441.   LOBYTE(v168) = 8;
  442.   if ( !v153 )
  443.     ITF::String8::~String8((int)&v149, v149);
  444.   ITF::String8::String8((int)&v149, "networktime");
  445.   LOBYTE(v168) = 25;
  446.   v29 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  447.   LOBYTE(v168) = 8;
  448.   if ( !v153 )
  449.     ITF::String8::~String8((int)&v149, v149);
  450.   if ( v29 )
  451.     dword_F726CC = ITF::String8::atoui32((int)&Src);
  452.   ITF::String8::String8((int)&v149, "sandbox");
  453.   LOBYTE(v168) = 26;
  454.   v30 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Source);
  455.   LOBYTE(v168) = 8;
  456.   if ( !v153 )
  457.     ITF::String8::~String8((int)&v149, v149);
  458.   if ( v30 )
  459.   {
  460.     sub_367ED0(&Source);
  461.     if ( sub_3682B0((int)&Source, "local") )
  462.     {
  463.       dword_F726F8 = 1;
  464.     }
  465.     else if ( sub_3682B0((int)&Source, "prog") )
  466.     {
  467.       dword_F726F8 = 2;
  468.     }
  469.     else if ( sub_3682B0((int)&Source, "test") )
  470.     {
  471.       dword_F726F8 = 3;
  472.       dword_F726F4 = 1;
  473.     }
  474.   }
  475.   ITF::String8::String8((int)&v149, "log");
  476.   LOBYTE(v168) = 27;
  477.   ITF::CommandArgs::find(&v105, (int)&v149, (int)&Source);
  478.   LOBYTE(v168) = 8;
  479.   if ( !v153 )
  480.     ITF::String8::~String8((int)&v149, v149);
  481.   ITF::String8::String8((int)&v149, "nomouse");
  482.   LOBYTE(v168) = 28;
  483.   v31 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  484.   LOBYTE(v168) = 8;
  485.   if ( !v153 )
  486.     ITF::String8::~String8((int)&v149, v149);
  487.   if ( v31 && ITF::String8::atoui32((int)&Src) )
  488.     ShowCursor(0);
  489.   ITF::String8::String8((int)&v149, "wiiremote");
  490.   LOBYTE(v168) = 29;
  491.   v32 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  492.   LOBYTE(v168) = 8;
  493.   if ( !v153 )
  494.     ITF::String8::~String8((int)&v149, v149);
  495.   if ( v32 && ITF::String8::atoui32((int)&Src) == 1 )
  496.     *(_DWORD *)(dword_ED91A4 + 160) = 1;
  497.   ITF::String8::String8((int)&v149, "assert");
  498.   LOBYTE(v168) = 30;
  499.   v33 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  500.   LOBYTE(v168) = 8;
  501.   if ( !v153 )
  502.     ITF::String8::~String8((int)&v149, v149);
  503.   if ( v33 )
  504.   {
  505.     dword_ED90D0 = 0;
  506.     if ( sub_3682B0((int)&Src, "-1") )
  507.       v34 = -1;
  508.     else
  509.       v34 = ITF::String8::atoui32((int)&Src);
  510.     dword_ED90D0 |= v34;
  511.   }
  512.   v108 = 0;
  513.   v109 = 0;
  514.   v110 = 0;
  515.   v111 = 0xFFFFFF;
  516.   v112 = 0;
  517.   ITF::String8::setText((void **)&v108, v142);
  518.   LOBYTE(v168) = 31;
  519.   ITF::String8::String8((int)&v149, "graphic");
  520.   LOBYTE(v168) = 32;
  521.   ITF::CommandArgs::find(&v105, (int)&v149, (int)&v108);
  522.   LOBYTE(v168) = 31;
  523.   if ( !v153 )
  524.     ITF::String8::~String8((int)&v149, v149);
  525.   ITF::String8::String8((int)&v149, "lip");
  526.   LOBYTE(v168) = 33;
  527.   v35 = sub_3DCAC0(&v105, (char **)&v149, -1);
  528.   LOBYTE(v168) = 31;
  529.   if ( !v153 )
  530.     ITF::String8::~String8((int)&v149, v149);
  531.   if ( v35 > 0 )
  532.     lpCriticalSection[1].DebugInfo = (PRTL_CRITICAL_SECTION_DEBUG)((unsigned int)lpCriticalSection[1].DebugInfo | 2);
  533.   *(float *)&v36 = COERCE_FLOAT(operator new(0x120u, 10));
  534.   v142 = v36;
  535.   LOBYTE(v168) = 34;
  536.   if ( *(float *)&v36 == 0.0 )
  537.     v37 = 0;
  538.   else
  539.     v37 = sub_38F420(v36);
  540.   LOBYTE(v168) = 31;
  541.   dword_ED91C4 = (int)v37;
  542.   v106 = 0;
  543.   ITF::String8::String8((int)&v149, "nulldevice");
  544.   LOBYTE(v168) = 35;
  545.   v38 = sub_3DCB00(&v105, (int)&v149);
  546.   LOBYTE(v168) = 31;
  547.   if ( !v153 )
  548.     ITF::String8::~String8((int)&v149, v149);
  549.   if ( v38 )
  550.   {
  551.     v39 = v108;
  552.     v134 = 0;
  553.     v106 = 1;
  554.     if ( !v108 )
  555.       v39 = ITF::String8::internalEmptyString;
  556.     if ( v39 != "cooker" )
  557.       sub_361240(&v108, "cooker");
  558.   }
  559.   ITF::String8::String8((int)&v149, "remote");
  560.   LOBYTE(v168) = 36;
  561.   v123 = sub_3DCB00(&v105, (int)&v149);
  562.   LOBYTE(v168) = 31;
  563.   if ( !v153 )
  564.     ITF::String8::~String8((int)&v149, v149);
  565.   sub_361D50(v4, &v108, v123);
  566.   (*(void (__thiscall **)(_DWORD *))(*v4 + 40))(v4);
  567.   *(float *)&v142 = COERCE_FLOAT((*(int (__stdcall **)(_DWORD))(*(_DWORD *)dword_F6F338 + 4))(*(_DWORD *)(dword_ED91A4 + 140)));
  568.   ITF::String8::String8((int)&v149, "silent");
  569.   LOBYTE(v168) = 37;
  570.   v40 = sub_3DCB00(&v105, (int)&v149);
  571.   LOBYTE(v168) = 31;
  572.   if ( !v153 )
  573.     ITF::String8::~String8((int)&v149, v149);
  574.   if ( v40 )
  575.     *(_DWORD *)(dword_F6F2E0 + 48) = 1;
  576.   v113 = 0;
  577.   v114 = 0;
  578.   v115 = 0;
  579.   v116 = 0xFFFFFF;
  580.   v117 = 0;
  581.   LOBYTE(v168) = 38;
  582.   ITF::String8::String8((int)&v149, "root");
  583.   LOBYTE(v168) = 39;
  584.   v41 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&v113);
  585.   LOBYTE(v168) = 38;
  586.   if ( !v153 )
  587.     ITF::String8::~String8((int)&v149, v149);
  588.   if ( v41 )
  589.   {
  590.     v42 = v113;
  591.     if ( !v113 )
  592.       v42 = ITF::String8::internalEmptyString;
  593.     if ( v42[ITF::String8::getLen((int)&v113) - 1] != '\\' )
  594.       ITF::String8::getLen((int)&v113);
  595.     (*(void (__thiscall **)(_DWORD *, char **))(*v4 + 56))(v4, &v113);
  596.   }
  597.   v118 = 0;
  598.   v119 = 0;
  599.   v120 = 0;
  600.   v121 = 0xFFFFFF;
  601.   v122 = 0;
  602.   LOBYTE(v168) = 40;
  603.   if ( !v123 )
  604.     (*(void (__thiscall **)(_DWORD *, char **))(*v4 + 56))(v4, &v113);
  605.   if ( *(_DWORD *)(dword_F6F2FC + 320) )
  606.   {
  607.     lpCriticalSection[1].DebugInfo = (PRTL_CRITICAL_SECTION_DEBUG)((unsigned int)lpCriticalSection[1].DebugInfo | 1);
  608.     lpCriticalSection[1].DebugInfo = (PRTL_CRITICAL_SECTION_DEBUG)((unsigned int)lpCriticalSection[1].DebugInfo | 2);
  609.   }
  610.   if ( dword_F6F33C )
  611.     (*(void (**)(void))(*(_DWORD *)dword_F6F33C + 24))();
  612.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  613.   v43 = (*(int (**)(void))(*(_DWORD *)dword_F6F2E0 + 120))();
  614.   sub_3753F0();
  615.   nullsub_2(dword_F7241C);
  616.   if ( v43 )
  617.     dword_F7241C[5].LockCount = 1;
  618.   dword_F7241C[5].DebugInfo = (PRTL_CRITICAL_SECTION_DEBUG)1;
  619.   (*(void (**)(void))(*(_DWORD *)ITF::TemplateSingleton<ITF::FileManager>::_instance + 128))();
  620.   (*(void (**)(void))(*(_DWORD *)ITF::TemplateSingleton<ITF::FileManager>::_instance + 4))();
  621.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  622.   v165 = 0;
  623.   v166 = -1;
  624.   v167 = 0;
  625.   v164 = 0;
  626.   readFile((int)&v164, "patch", 5);
  627.   v44 = *(void (__stdcall **)(char *, _DWORD, signed int, _DWORD, _DWORD))(*(_DWORD *)ITF::TemplateSingleton<ITF::FileManager>::_instance
  628.                                                                          + 8);
  629.   LOBYTE(v168) = 41;
  630.   v44(&v164, 0, 3, 0, 0);
  631.   LOBYTE(v168) = 40;
  632.   sub_36AD90((int)&v164);
  633.   sub_3E4BF0(dword_F6F2E0);
  634.   v45 = readAndInitFile((int)&v159, "MapList.metapreload", 0);
  635.   LOBYTE(v168) = 42;
  636.   sub_44ABE0((void *)dword_ED9210, v45);
  637.   LOBYTE(v168) = 40;
  638.   sub_36AD90((int)&v159);
  639.   if ( v43 )
  640.   {
  641.     readAndInitFile((int)&v164, "fullLogic", 0);
  642.     v46 = *(void (__stdcall **)(char *, signed int, signed int, _DWORD, _DWORD))(*(_DWORD *)ITF::TemplateSingleton<ITF::FileManager>::_instance
  643.                                                                                + 8);
  644.     LOBYTE(v168) = 43;
  645.     v46(&v164, 1, 2, 0, 0);
  646.     LOBYTE(v168) = 40;
  647.     sub_36AD90((int)&v164);
  648.   }
  649.   v166 = -1;
  650.   v165 = 0;
  651.   v167 = 0;
  652.   v164 = 0;
  653.   readFile((int)&v164, "bundle", 6);
  654.   v47 = *(void (__stdcall **)(char *, _DWORD, signed int, _DWORD, signed int))(*(_DWORD *)ITF::TemplateSingleton<ITF::FileManager>::_instance
  655.                                                                              + 8);
  656.   LOBYTE(v168) = 44;
  657.   v47(&v164, 0, 1, 0, 2);
  658.   LOBYTE(v168) = 40;
  659.   sub_36AD90((int)&v164);
  660.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  661.   ITF::String8::String8((int)&v149, "map");
  662.   LOBYTE(v168) = 45;
  663.   ITF::CommandArgs::find(&v105, (int)&v149, (int)&v118);
  664.   LOBYTE(v168) = 40;
  665.   if ( !v153 )
  666.     ITF::String8::~String8((int)&v149, v149);
  667.   if ( v118 && *v118 )
  668.   {
  669.     sub_3B1220(dword_F6F2FC, (int)&v159, (int)&v118);
  670.     LOBYTE(v168) = 46;
  671.     v48 = sub_3B1520((void *)dword_F6F2FC, &v154, &v159, 1);
  672.     LOBYTE(v168) = 47;
  673.     v135 = 1;
  674.     sub_36ABC0(&v164, v48);
  675.     v168 = 51;
  676.     v135 = 0;
  677.     sub_36AD90((int)&v154);
  678.     if ( !(*(int (__stdcall **)(char *))(*(_DWORD *)ITF::TemplateSingleton<ITF::FileManager>::_instance + 28))(&v164) )
  679.     {
  680.       if ( v118 )
  681.         *v118 = 0;
  682.       v120 = 0;
  683.     }
  684.     LOBYTE(v168) = 46;
  685.     sub_36AD90((int)&v164);
  686.     LOBYTE(v168) = 40;
  687.     sub_36AD90((int)&v159);
  688.   }
  689.   sub_449F20((void *)dword_F6F320);
  690.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  691.   sub_364300();
  692.   sub_3DA170(dword_F6F334);
  693.   v49 = operator new(0x1Cu, 62);
  694.   v50 = v49;
  695.   if ( v49 )
  696.   {
  697.     dword_F6F30C = v49;
  698.     *(_DWORD *)v49 = off_D91568;
  699.     *(_DWORD *)(v49 + 4) = CreateMutexW(0, 0, 0);
  700.     *(_DWORD *)(v50 + 8) = 0;
  701.     *(_DWORD *)(v50 + 16) = 0;
  702.     *(_DWORD *)(v50 + 12) = 0;
  703.     *(_DWORD *)(v50 + 24) = 0;
  704.   }
  705.   *(float *)&v51 = COERCE_FLOAT(operator new(0x420u, 23));
  706.   v141 = *(float *)&v51;
  707.   LOBYTE(v168) = 52;
  708.   if ( *(float *)&v51 == 0.0 )
  709.     v52 = 0;
  710.   else
  711.     v52 = sub_3A2DC0(v51);
  712.   dword_ED9178 = v52;
  713.   *((float *)dword_F6F300 + 245) = 10.0;
  714.   *((float *)dword_F6F300 + 246) = 10.0;
  715.   *((float *)dword_F6F300 + 247) = 10.0;
  716.   *((float *)dword_F6F300 + 248) = 10.0;
  717.   *(float *)&v53 = COERCE_FLOAT(operator new(0x184u, 10));
  718.   v141 = *(float *)&v53;
  719.   LOBYTE(v168) = 53;
  720.   if ( *(float *)&v53 == 0.0 )
  721.     v54 = 0;
  722.   else
  723.     v54 = (void *)sub_3FF960(v53);
  724.   LOBYTE(v168) = 40;
  725.   dword_ED91D0 = v54;
  726.   ITF::String8::String8((int)&v149, "final");
  727.   LOBYTE(v168) = 54;
  728.   v4[3] = sub_3DCB00(&v105, (int)&v149);
  729.   LOBYTE(v168) = 40;
  730.   if ( !v153 )
  731.     ITF::String8::~String8((int)&v149, v149);
  732.   *(_DWORD *)(dword_F6F2FC + 316) = v4[3];
  733.   Dst = 0;
  734.   v125 = 0;
  735.   v126 = 0;
  736.   v127 = 0xFFFFFF;
  737.   v128 = 0;
  738.   v55 = ITF::String8::getLen((int)&Src);
  739.   v56 = v55;
  740.   if ( v55 )
  741.   {
  742.     if ( v125 < v55 )
  743.       sub_368E50((int)&Dst, v55, 1u);
  744.     v57 = (char *)Src;
  745.     if ( !Src )
  746.       v57 = ITF::String8::internalEmptyString;
  747.     memcpy(Dst, v57, v56);
  748.     *((_BYTE *)Dst + v56) = 0;
  749.     v126 = v56;
  750.   }
  751.   else
  752.   {
  753.     if ( Dst )
  754.       *(_BYTE *)Dst = 0;
  755.     v126 = 0;
  756.   }
  757.   LOBYTE(v168) = 55;
  758.   ITF::String8::String8((int)&v149, "language");
  759.   LOBYTE(v168) = 56;
  760.   v58 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Dst);
  761.   LOBYTE(v168) = 55;
  762.   if ( !v153 )
  763.     ITF::String8::~String8((int)&v149, v149);
  764.   if ( v58 )
  765.   {
  766.     v59 = sub_3687E0(&Dst);
  767.     sub_3E4D70(v59, (char **)&Dst);
  768.     v88 = v59;
  769.   }
  770.   else
  771.   {
  772.     v88 = 18;
  773.   }
  774.   sub_387480((void *)dword_ED9208, v88, 1);
  775.   if ( (*(int (__thiscall **)(_DWORD *, char *))(*v4 + 36))(v4, &v105) )
  776.   {
  777. LABEL_210:
  778.     LOBYTE(v168) = 40;
  779.     if ( !v128 )
  780.       ITF::String8::~String8((int)&Dst, (int)Dst);
  781.     LOBYTE(v168) = 38;
  782.     if ( !v122 )
  783.       ITF::String8::~String8((int)&v118, (int)v118);
  784.     LOBYTE(v168) = 31;
  785.     if ( !v117 )
  786.       ITF::String8::~String8((int)&v113, (int)v113);
  787.     LOBYTE(v168) = 8;
  788.     if ( !v112 )
  789.       ITF::String8::~String8((int)&v108, (int)v108);
  790.     LOBYTE(v168) = 5;
  791.     sub_364150(&v105);
  792.     goto LABEL_6;
  793.   }
  794.   if ( !sub_3641F0(v94) )
  795.   {
  796. LABEL_220:
  797.     LOBYTE(v168) = 40;
  798.     if ( !v128 )
  799.       ITF::String8::~String8((int)&Dst, (int)Dst);
  800.     LOBYTE(v168) = 38;
  801.     if ( !v122 )
  802.       ITF::String8::~String8((int)&v118, (int)v118);
  803.     LOBYTE(v168) = 31;
  804.     if ( !v117 )
  805.       ITF::String8::~String8((int)&v113, (int)v113);
  806.     LOBYTE(v168) = 8;
  807.     if ( !v112 )
  808.       ITF::String8::~String8((int)&v108, (int)v108);
  809.     goto LABEL_17;
  810.   }
  811.   if ( !(*(int (__thiscall **)(_DWORD *))(*v4 + 96))(v4) )
  812.     goto LABEL_210;
  813.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  814.   (*(void (__thiscall **)(_DWORD *))(*v4 + 60))(v4);
  815.   sub_449210(dword_F6F324);
  816.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  817.   if ( v4[3]
  818.     || (v60 = (void *)readAndInitFile((int)&v154, "config.xml", 0),
  819.         LOBYTE(v168) = 57,
  820.         v135 = 4,
  821.         v61 = sub_445DC0(dword_ED91A4, v60),
  822.         v148 = 1,
  823.         v61) )
  824.   {
  825.     v148 = 0;
  826.   }
  827.   v168 = 55;
  828.   if ( v135 & 4 )
  829.   {
  830.     v135 &= 0xFFFFFFFB;
  831.     sub_36AD90((int)&v154);
  832.   }
  833.   if ( v148 )
  834.     sub_362EE0();
  835.   (*(void (__thiscall **)(_DWORD *, char *))(*v4 + 24))(v4, &v105);
  836.   ITF::String8::String8((int)&v149, "simulatecrash");
  837.   LOBYTE(v168) = 58;
  838.   v62 = sub_3DCB00(&v105, (int)&v149);
  839.   LOBYTE(v168) = 55;
  840.   if ( !v153 )
  841.     ITF::String8::~String8((int)&v149, v149);
  842.   if ( v62 )
  843.     ++v0;
  844.   ITF::String8::String8((int)&v149, "port");
  845.   LOBYTE(v168) = 59;
  846.   v63 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  847.   LOBYTE(v168) = 55;
  848.   if ( !v153 )
  849.     ITF::String8::~String8((int)&v149, v149);
  850.   if ( v63 )
  851.     v93 = (unsigned __int16)ITF::String8::atoui32((int)&Src);
  852.   readAndInitFile((int)&v159, "DataAlias\\", 0);
  853.   LOBYTE(v168) = 60;
  854.   sub_446A70(dword_ED91A4, &v159);
  855.   LOBYTE(v168) = 55;
  856.   sub_36AD90((int)&v159);
  857.   v168 = 55;
  858.   if ( v135 & 8 )
  859.     sub_36AD90((int)&v154);
  860.   sub_4453D0(dword_F6F2F4, dword_F6F2FC + 312, v4[3], 1);
  861.   if ( dword_ED9130 )
  862.     sub_442330((void *)dword_ED9130);
  863.   ITF::String8::String8((int)&v149, "disableundo");
  864.   LOBYTE(v168) = 62;
  865.   v64 = sub_3DCB00(&v105, (int)&v149);
  866.   LOBYTE(v168) = 55;
  867.   if ( !v153 )
  868.     ITF::String8::~String8((int)&v149, v149);
  869.   if ( v64 )
  870.     *(_DWORD *)(dword_F6F2EC + 4) = 0;
  871.   ITF::String8::String8((int)&v149, "disableautofocus");
  872.   LOBYTE(v168) = 63;
  873.   v65 = sub_3DCB00(&v105, (int)&v149);
  874.   LOBYTE(v168) = 55;
  875.   if ( !v153 )
  876.     ITF::String8::~String8((int)&v149, v149);
  877.   if ( v65 )
  878.     *(_DWORD *)(dword_F6F2E0 + 12) = 0;
  879.   ITF::String8::String8((int)&v149, "disablescheduler");
  880.   LOBYTE(v168) = 64;
  881.   v66 = sub_3DCB00(&v105, (int)&v149);
  882.   LOBYTE(v168) = 55;
  883.   if ( !v153 )
  884.     ITF::String8::~String8((int)&v149, v149);
  885.   if ( v66 )
  886.     *(_DWORD *)(dword_F726D0 + 68) = 1;
  887.   ITF::String8::String8((int)&v149, "disablestats");
  888.   LOBYTE(v168) = 65;
  889.   v67 = sub_3DCB00(&v105, (int)&v149);
  890.   LOBYTE(v168) = 55;
  891.   if ( !v153 )
  892.     ITF::String8::~String8((int)&v149, v149);
  893.   if ( v67 )
  894.     *(_DWORD *)(dword_F6F2F8 + 2468) = 0;
  895.   ITF::String8::String8((int)&v149, "framefactor");
  896.   LOBYTE(v168) = 66;
  897.   v68 = sub_3DCB00(&v105, (int)&v149);
  898.   LOBYTE(v168) = 55;
  899.   if ( !v153 )
  900.     ITF::String8::~String8((int)&v149, v149);
  901.   if ( v68 )
  902.     v4[7] = ITF::String8::atoui32((int)&Src);
  903.   if ( dword_ED91E4 )
  904.     (*(void (__stdcall **)(signed int, signed int, _DWORD, signed int))(*(_DWORD *)dword_ED91E4 + 4))(1, 4, 0, 4);
  905.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  906.   *(float *)&v69 = COERCE_FLOAT(operator new(0xCA8u, 18));
  907.   v141 = *(float *)&v69;
  908.   LOBYTE(v168) = 67;
  909.   if ( *(float *)&v69 == 0.0 )
  910.     v70 = 0;
  911.   else
  912.     v70 = sub_4266D0(v69);
  913.   LOBYTE(v168) = 55;
  914.   sub_36C430((int)&unk_ED9118, (int)v70);
  915.   sub_41D860();
  916.   v100 = 0;
  917.   v101 = 0;
  918.   v102 = 0;
  919.   v103 = 0xFFFFFF;
  920.   v104 = 0;
  921.   LOBYTE(v168) = 68;
  922.   sub_3696B0((int)&v100, "Rayman Legends Demo");
  923.   if ( (int *)(dword_ED91A4 + 92) != &v100 )
  924.     ITF::String8::setText((void **)(dword_ED91A4 + 92), (char **)&v100);
  925.   ITF::String8::String8((int)&v149, "waitvbl");
  926.   LOBYTE(v168) = 69;
  927.   v71 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  928.   LOBYTE(v168) = 68;
  929.   if ( !v153 )
  930.     ITF::String8::~String8((int)&v149, v149);
  931.   if ( v71 )
  932.   {
  933.     v72 = dword_ED91A4;
  934.     *(_DWORD *)(v72 + 144) = sub_3687E0(&Src) != 0;
  935.   }
  936.   v95 = 0;
  937.   v96 = 0;
  938.   v97 = 0;
  939.   v98 = 0xFFFFFF;
  940.   v99 = 0;
  941.   LOBYTE(v168) = 70;
  942.   ITF::String8::String8((int)&v149, "shadersFolder");
  943.   LOBYTE(v168) = 71;
  944.   v73 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  945.   LOBYTE(v168) = 70;
  946.   if ( !v153 )
  947.     ITF::String8::~String8((int)&v149, v149);
  948.   if ( v73 )
  949.     ITF::String8::setText((void **)&v95, (char **)&Src);
  950.   (*(void (**)(void))(*(_DWORD *)dword_F6F2E0 + 4))();
  951.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  952.   ITF::String8::String8((int)&v149, "hiddenatboot");
  953.   LOBYTE(v168) = 72;
  954.   v74 = sub_3DCB00(&v105, (int)&v149) == 0;
  955.   LOBYTE(v168) = 70;
  956.   if ( !v153 )
  957.     ITF::String8::~String8((int)&v149, v149);
  958.   if ( !(*(int (__stdcall **)(_DWORD, _DWORD, signed int, _DWORD, _DWORD, _DWORD, _DWORD, int, _DWORD, int *, int))(*(_DWORD *)dword_F6F2E0 + 8))(
  959.           *(_DWORD *)dword_ED91A4,
  960.           *(_DWORD *)(dword_ED91A4 + 4),
  961.           16,
  962.           0,
  963.           0,
  964.           *(_DWORD *)(dword_ED91A4 + 8),
  965.           *(_DWORD *)(dword_ED91A4 + 52),
  966.           dword_ED91A4 + 92,
  967.           *(_DWORD *)(dword_ED91A4 + 144),
  968.           &v95,
  969.           v74) )
  970.   {
  971. LABEL_286:
  972.     LOBYTE(v168) = 68;
  973.     if ( !v99 )
  974.       ITF::String8::~String8((int)&v95, v95);
  975.     LOBYTE(v168) = 55;
  976.     if ( !v104 )
  977.       ITF::String8::~String8((int)&v100, v100);
  978.     goto LABEL_220;
  979.   }
  980.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  981.   (*(void (__thiscall **)(_DWORD *, int))(*v4 + 52))(v4, dword_ED91A4 + 92);
  982.   sub_362EA0(v4, v93, v106);
  983.   if ( dword_F6F318 )
  984.     (*(void (__stdcall **)(_DWORD))(*(_DWORD *)dword_F6F318 + 12))(*(_DWORD *)(dword_ED91A4 + 244));
  985.   (*(void (**)(void))(*(_DWORD *)dword_ED91A8 + 20))();
  986.   sub_38EE80((void *)dword_F6F314, (int)v142);
  987.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  988.   if ( !v134 )
  989.   {
  990.     (*(void (**)(void))(*(_DWORD *)dword_F6F338 + 28))();
  991.     *(_DWORD *)(dword_F6F314 + 324) = 0;
  992.     sub_389D60(dword_F6F314, -100.0);
  993.   }
  994.   sub_4005B0(dword_ED91D0);
  995.   (*(void (**)(void))(*(_DWORD *)dword_ED91A8 + 24))();
  996.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  997.   (*(void (__thiscall **)(_DWORD *))(*v4 + 68))(v4);
  998.   nullsub_2(dword_F6F300);
  999.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  1000.   v156 = 0;
  1001.   v157 = -1;
  1002.   v158 = 0;
  1003.   v155 = 0;
  1004.   LOBYTE(v168) = 73;
  1005.   if ( v118 && *v118 )
  1006.   {
  1007.     v75 = (void *)sub_3B1220(dword_F6F2FC, (int)&v154, (int)&v118);
  1008.     LOBYTE(v168) = 74;
  1009.     ITF::Path::operator=(&v155, v75);
  1010.     LOBYTE(v168) = 73;
  1011.     sub_36AD90((int)&v154);
  1012.     (*(void (__stdcall **)(char *))(*(_DWORD *)dword_F724AC + 60))(&v155);
  1013.   }
  1014.   sub_3A9DF0((int)sub_366B20);
  1015.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  1016.   if ( dword_F6F328 )
  1017.     (*(void (__stdcall **)(signed int))(*(_DWORD *)dword_F6F328 + 4))(1);
  1018.   sub_396C40((_DWORD *)dword_F6F2E8);
  1019.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  1020.   ITF::String8::String8((int)&v149, "scheduleroff");
  1021.   LOBYTE(v168) = 75;
  1022.   v76 = (struct _SINGLE_LIST_ENTRY *)(sub_3DCB00(&v105, (int)&v149) == 0);
  1023.   LOBYTE(v168) = 73;
  1024.   if ( !v153 )
  1025.     ITF::String8::~String8((int)&v149, v149);
  1026.   sub_381420((void *)dword_F726D0, v76);
  1027.   sub_3F45E0();
  1028.   sub_3EFBD0(3);
  1029.   for ( i = 0; i < dword_F6F370; ++i )
  1030.   {
  1031.     v141 = *(float *)(dword_F6F374 + 4 * i);
  1032.     v142 = (char **)dword_F6F2F8;
  1033.     v78 = sub_3E54F0(dword_F6F2F8);
  1034.     v79 = sub_3E9EC0((int)v142);
  1035.     sub_369DE0(SLODWORD(v141), 0, 0, v79, v78, 0.0, 1.0);
  1036.   }
  1037.   v80 = dword_F6F2F8;
  1038.   v142 = (char **)dword_F6F364;
  1039.   v81 = sub_3E54F0(dword_F6F2F8);
  1040.   v82 = sub_3E9EC0(v80);
  1041.   sub_369DE0((int)v142, 0, 0, v82, v81, 0.0, 1.0);
  1042.   *(_DWORD *)(dword_F6F364 + 168) = sub_3DC600((void *)(dword_F6F2F8 + 1368));
  1043.   sub_3E5430(dword_F6F2E0, dword_F6F364);
  1044.   *(float *)ArgList = *(float *)(dword_ED91A4 + 20);
  1045.   v141 = *(float *)(dword_ED91A4 + 24);
  1046.   v83 = dword_F6F2F8;
  1047.   v142 = *(char ***)(dword_ED91A4 + 28);
  1048.   *(float *)(dword_F6F2F8 + 2808) = *(float *)&v142;
  1049.   *(float *)(v83 + 2804) = v141;
  1050.   *(float *)(v83 + 2800) = *(float *)ArgList;
  1051.   *(float *)(v83 + 2812) = 1.0;
  1052.   (*(void (__stdcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(*(_DWORD *)dword_F6F2E0 + 52))(
  1053.     *(_DWORD *)(dword_ED91A4 + 12),
  1054.     *(_DWORD *)(dword_ED91A4 + 16),
  1055.     *(_DWORD *)dword_ED91A4,
  1056.     *(_DWORD *)(dword_ED91A4 + 4));
  1057.   sub_39F540(dword_F6F2E4, dword_ED91C0, 1u);
  1058.   ITF::String8::String8((int)&v149, "player_nodamage");
  1059.   LOBYTE(v168) = 76;
  1060.   v84 = ITF::CommandArgs::find(&v105, (int)&v149, (int)&Src);
  1061.   LOBYTE(v168) = 73;
  1062.   if ( !v153 )
  1063.     ITF::String8::~String8((int)&v149, v149);
  1064.   if ( v84 && ITF::String8::atoui32((int)&Src) )
  1065.     *(_DWORD *)(dword_ED91C0 + 44) = 1;
  1066.   if ( dword_ED917C )
  1067.     sub_3A84D0(dword_ED917C);
  1068.   (*(void (**)(void))(*(_DWORD *)ITF::TemplateSingleton<ITF::FileManager>::_instance + 84))();
  1069.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  1070.   sub_39F540(dword_F6F2E4, dword_ED91A8, 1u);
  1071.   (*(void (__stdcall **)(char *))(*(_DWORD *)dword_ED91C0 + 20))(&v105);
  1072.   if ( dword_ED9150 && *(_DWORD *)(dword_ED91A4 + 240) )
  1073.   {
  1074.     (*(void (**)(void))(*(_DWORD *)dword_ED9150 + 4))();
  1075.     *(_DWORD *)(dword_ED9150 + 44) = 1;
  1076.     (*(void (**)(void))(*(_DWORD *)dword_F724AC + 56))();
  1077.   }
  1078.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  1079.   (*(void (**)(void))(*(_DWORD *)dword_F6F2E0 + 80))();
  1080.   (*(void (**)(void))(*(_DWORD *)dword_F6F2E0 + 180))();
  1081.   sub_3618B0();
  1082.   v85 = sub_3A9E40();
  1083.   if ( v85 && *(_DWORD *)(dword_ED91A4 + 124) > v85 )
  1084.   {
  1085.     v149 = 0;
  1086.     v150 = 0;
  1087.     v151 = 0;
  1088.     v152 = 0xFFFFFF;
  1089.     v153 = 0;
  1090.     v86 = *(float *)(dword_ED91A4 + 124);
  1091.     LOBYTE(v168) = 77;
  1092.     sub_3696B0(
  1093.       (int)&v149,
  1094.       "ENGINE IS TOO OLD for this data folder.\n"
  1095.       "Please get a more recent version.\n"
  1096.       "\n"
  1097.       "Your version is:\t%u\n"
  1098.       "Version needed:\t%u\n"
  1099.       "\n"
  1100.       "IT'S STRONGLY ADVISED TO SAFE STOP HERE, EXIT NOW ?",
  1101.       v85,
  1102.       v86);
  1103.     ITF::String8::String8((int)&v89, "Version error");
  1104.     v87 = *(int (__stdcall **)(int *, int *, signed int, signed int, _DWORD))(*(_DWORD *)dword_F6F2E0 + 204);
  1105.     LOBYTE(v168) = 78;
  1106.     v148 = v87(&v89, &v149, 34, 1, 0) == 0;
  1107.     LOBYTE(v168) = 77;
  1108.     if ( !v90 )
  1109.       ITF::String8::~String8((int)&v89, v89);
  1110.     LOBYTE(v168) = 73;
  1111.     if ( v148 )
  1112.     {
  1113.       if ( !v153 )
  1114.         ITF::String8::~String8((int)&v149, v149);
  1115.       LOBYTE(v168) = 70;
  1116.       sub_36AD90((int)&v155);
  1117.       goto LABEL_286;
  1118.     }
  1119.     if ( !v153 )
  1120.       ITF::String8::~String8((int)&v149, v149);
  1121.   }
  1122.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  1123.   sub_3E4960((void *)dword_ED91D4);
  1124.   sub_3E0650((void *)dword_ED91D8);
  1125.   sub_39AAE0((void *)dword_ED91DC);
  1126.   sub_3A6FE0((void *)dword_F6F32C);
  1127.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  1128.   sub_363A70();
  1129.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  1130.   (*(void (__thiscall **)(_DWORD *))(*v4 + 8))(v4);
  1131.   (*(void (__thiscall **)(_DWORD *))(*v4 + 32))(v4);
  1132.   sub_3DA330();
  1133.   nullsub_2(dword_F7241C);
  1134.   (*(void (__thiscall **)(_DWORD))(*v4 + 40))(v4);
  1135.   sub_3A3560((int)dword_F6F300);
  1136.   LOBYTE(v168) = 70;
  1137.   sub_36AD90((int)&v155);
  1138.   LOBYTE(v168) = 68;
  1139.   if ( !v99 )
  1140.     ITF::String8::~String8((int)&v95, v95);
  1141.   LOBYTE(v168) = 55;
  1142.   if ( !v104 )
  1143.     ITF::String8::~String8((int)&v100, v100);
  1144.   LOBYTE(v168) = 40;
  1145.   if ( !v128 )
  1146.     ITF::String8::~String8((int)&Dst, (int)Dst);
  1147.   LOBYTE(v168) = 38;
  1148.   if ( !v122 )
  1149.     ITF::String8::~String8((int)&v118, (int)v118);
  1150.   LOBYTE(v168) = 31;
  1151.   if ( !v117 )
  1152.     ITF::String8::~String8((int)&v113, (int)v113);
  1153.   LOBYTE(v168) = 8;
  1154.   if ( !v112 )
  1155.     ITF::String8::~String8((int)&v108, (int)v108);
  1156.   LOBYTE(v168) = 5;
  1157.   sub_364150(&v105);
  1158.   LOBYTE(v168) = 4;
  1159.   if ( !v133 )
  1160.     ITF::String8::~String8((int)&v129, v129);
  1161.   LOBYTE(v168) = 3;
  1162.   if ( !v140 )
  1163.     ITF::String8::~String8((int)&Source, (int)Source);
  1164.   LOBYTE(v168) = 2;
  1165.   if ( !v147 )
  1166.     ITF::String8::~String8((int)&Src, (int)Src);
  1167.   v168 = -1;
  1168.   sub_36AD90((int)&v160);
  1169.   return 1;
  1170. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement