__int64 __fastcall parseCommandLineArgs(int a1, const char **a2) { unsigned int v2; // off const char **v3; // x8 int v4; // w9 unsigned int v5; // off int v6; // w0 _BYTE *v7; // x9 __int64 result; // x0 int v9; // w19 int v10; // w0 int v11; // w19 int v12; // w0 const char **v13; // [xsp+8h] [xbp-18h] const char **v14; // [xsp+8h] [xbp-18h] v2 = __ldar((unsigned __int8 *)&unk_710499E930); v3 = a2; v4 = a1; if ( !((unsigned __int64)&unk_710499E930 & 1) ) { v13 = a2; v9 = a1; v10 = sub_710193FC50(&unk_710499E930); v3 = v13; v4 = v9; if ( v10 ) { qword_710499EB68 = (__int64)"-stm"; qword_710499EB80 = (__int64)"Map(s) being smoke tested"; qword_710499ED98 = (__int64)"-sth"; qword_710499EDA0 = (__int64)"--smoketestheroes"; qword_710499EDB0 = (__int64)"Hero(s) being smoke tested"; qword_710499EFC8 = (__int64)"-fst"; qword_710499EFD0 = (__int64)"--finalsmoketest"; qword_710499EFE0 = (__int64)"Final build smoke test (cruder version of full smoketest)"; qword_710499F1F8 = (__int64)"-gt"; qword_710499F210 = (__int64)"Execute Game Engine Tests"; qword_710499F428 = (__int64)"-cc"; qword_710499F430 = (__int64)"--codecoverage"; qword_710499F440 = (__int64)"Run code coverage."; qword_710499F658 = (__int64)"-sttr"; qword_710499F660 = (__int64)"--smoketestthreadedrender"; qword_710499F670 = (__int64)"Allow threaded render during smoketest (breaks golden images)"; qword_710499F888 = (__int64)"-sp"; qword_710499F8A0 = (__int64)"If we want to save our SmokeTest progress"; qword_710499FAB8 = (__int64)"-dx"; qword_710499EB70 = (__int64)"--smoketestmap"; qword_710499FAC0 = (__int64)"--debugxml"; unk_710499E938 = "-st"; unk_710499E940 = "--smoketest"; qword_710499F200 = (__int64)"--gametest"; qword_710499FAD0 = (__int64)"Load the debug.xml file during smoketest."; unk_710499E948 = "Testing"; unk_710499E950 = "Execute smoketest."; dword_710499E958 = 2; qword_710499E960 = 0LL; byte_710499E968 = 0; qword_710499EB78 = (__int64)"Testing"; dword_710499EB88 = 2; qword_710499EB90 = 0LL; byte_710499EB98 = 0; qword_710499EDA8 = (__int64)"Testing"; dword_710499EDB8 = 2; qword_710499EDC0 = 0LL; byte_710499EDC8 = 0; qword_710499EFD8 = (__int64)"Testing"; dword_710499EFE8 = 0; qword_710499EFF0 = 0LL; byte_710499EFF8 = 0; qword_710499F208 = (__int64)"Testing"; dword_710499F218 = 0; qword_710499F220 = 0LL; byte_710499F228 = 0; qword_710499F438 = (__int64)"Testing"; dword_710499F448 = 2; qword_710499F450 = 0LL; byte_710499F458 = 0; qword_710499F668 = (__int64)"Testing"; dword_710499F678 = 0; qword_710499F680 = 0LL; byte_710499F688 = 0; qword_710499F890 = (__int64)"--saveprogress"; qword_710499F898 = (__int64)"Testing"; dword_710499F8A8 = 0; qword_710499F8B0 = 0LL; byte_710499F8B8 = 0; qword_710499FAC8 = (__int64)"Testing"; dword_710499FAD8 = 0; qword_710499FAE0 = 0LL; *((_BYTE *)&unk_710499E938 + 4528) = 0; qword_710499FCE8 = (__int64)"-frh"; qword_710499FCF0 = (__int64)"--forcereporthandler"; qword_710499FD00 = (__int64)"Force the report handler callback."; qword_710499FCF8 = (__int64)"Testing"; dword_710499FD08 = 0; qword_710499FD10 = 0LL; *((_BYTE *)&unk_710499E938 + 5088) = 0; qword_710499FF18 = (__int64)"-mm"; qword_710499FF20 = (__int64)"--memorymonitor"; qword_710499FF30 = (__int64)"Enable Memory Monitor"; qword_710499FF28 = (__int64)"Testing"; dword_710499FF38 = 0; qword_710499FF40 = 0LL; *((_BYTE *)&unk_710499E938 + 5648) = 0; qword_71049A0148 = (__int64)"-sr"; qword_71049A0150 = (__int64)"--setregistry"; qword_71049A0160 = (__int64)"Set a registry key"; qword_71049A0158 = (__int64)"Testing"; dword_71049A0168 = 2; qword_71049A0170 = 0LL; *((_BYTE *)&unk_710499E938 + 6208) = 0; qword_71049A0378 = (__int64)"-wfdh"; qword_71049A0380 = (__int64)"--waitForDurangoHost"; qword_71049A0390 = (__int64)"Spam CTRL-Z at the end of smoketest so that DurangoHost.py can quit gracefully."; qword_71049A0388 = (__int64)"Testing"; dword_71049A0398 = 0; qword_71049A03A0 = 0LL; *((_BYTE *)&unk_710499E938 + 6768) = 0; qword_71049A05A8 = (__int64)"-om"; qword_71049A05B0 = (__int64)"--overridemap"; qword_71049A05C0 = (__int64)"Map to use in place of debug map from configuration file."; qword_71049A05B8 = (__int64)"Testing"; dword_71049A05C8 = 2; qword_71049A05D0 = 0LL; *((_BYTE *)&unk_710499E938 + 7328) = 0; qword_71049A07E8 = (__int64)"Testing"; qword_71049A07D8 = (__int64)"-th"; qword_71049A07F0 = (__int64)"Set Telemetry host ip during smoke tests (overrides debug settings)"; qword_71049A07E0 = (__int64)"--telemetryhost"; dword_71049A07F8 = 2; qword_71049A0800 = 0LL; *((_BYTE *)&unk_710499E938 + 7888) = 0; qword_71049A0A08 = (__int64)"-b"; qword_71049A0A10 = (__int64)"--build"; qword_71049A0A20 = (__int64)"Attempt to start and connect to a build server instance just for this process."; qword_71049A0A18 = (__int64)"Build"; dword_71049A0A28 = 0; qword_71049A0A30 = 0LL; *((_BYTE *)&unk_710499E938 + 8448) = 0; qword_71049A0C38 = (__int64)"-bs"; qword_71049A0C40 = (__int64)"--build-server"; qword_71049A0C50 = (__int64)"Address and port of a build server (localhost:1000)"; qword_71049A0C48 = (__int64)"Build"; dword_71049A0C58 = 2; qword_71049A0C60 = 0LL; *((_BYTE *)&unk_710499E938 + 9008) = 0; qword_71049A0E68 = (__int64)"-ba"; qword_71049A0E70 = (__int64)"--build-arguments"; qword_71049A0E80 = (__int64)"Command-line arguments to pass to the build server"; qword_71049A0E78 = (__int64)"Build"; dword_71049A0E88 = 2; qword_71049A0E90 = 0LL; *((_BYTE *)&unk_710499E938 + 9568) = 0; qword_71049A1098 = (__int64)"-bfd"; qword_71049A10A0 = (__int64)"--build-final-data"; qword_71049A10B0 = (__int64)"Request final data from the build server."; qword_71049A10A8 = (__int64)"Build"; dword_71049A10B8 = 0; qword_71049A10C0 = 0LL; *((_BYTE *)&unk_710499E938 + 10128) = 0; qword_71049A12C8 = (__int64)"-ps4dm"; qword_71049A12D0 = (__int64)"--ps4developmentmode"; qword_71049A12E0 = (__int64)"PS4 Development Mode"; qword_71049A12D8 = (__int64)"Build"; dword_71049A12E8 = 0; qword_71049A12F0 = 0LL; *((_BYTE *)&unk_710499E938 + 10688) = 0; qword_71049A14F8 = (__int64)"-mmtid"; qword_71049A1500 = (__int64)"--matchmaking-title-id"; qword_71049A1510 = (__int64)"The title id to use for online matchmaking"; qword_71049A1508 = (__int64)"Online"; dword_71049A1518 = 2; qword_71049A1520 = 0LL; *((_BYTE *)&unk_710499E938 + 11248) = 0; qword_71049A1728 = (__int64)"-pc"; qword_71049A1730 = (__int64)"--primarycontroller"; qword_71049A1740 = (__int64)"The primary controller to use [1,2,3,4] when launching into a map."; qword_71049A1738 = (__int64)"Misc"; dword_71049A1748 = 2; qword_71049A1750 = 0LL; *((_BYTE *)&unk_710499E938 + 11808) = 0; qword_71049A1958 = (__int64)"-wd"; qword_71049A1960 = (__int64)"--windowdatafile"; qword_71049A1970 = (__int64)"The window settings datafile to use. Defaults to WindowData.igx."; qword_71049A1968 = (__int64)"Misc"; dword_71049A1978 = 2; qword_71049A1980 = 0LL; *((_BYTE *)&unk_710499E938 + 12368) = 0; qword_71049A1B88 = (__int64)"-h"; qword_71049A1B90 = (__int64)"--host"; qword_71049A1BA0 = (__int64)"Name of host computer."; qword_71049A1B98 = (__int64)"Misc"; dword_71049A1BA8 = 2; qword_71049A1BB0 = 0LL; *((_BYTE *)&unk_710499E938 + 12928) = 0; qword_71049A1DB8 = (__int64)"-dn"; qword_71049A1DC0 = (__int64)"--dotnet"; qword_71049A1DD0 = (__int64)"Port to use for DotNet debugging (7265)"; qword_71049A1DC8 = (__int64)"Misc"; dword_71049A1DD8 = 2; qword_71049A1DE0 = 0LL; *((_BYTE *)&unk_710499E938 + 13488) = 0; qword_71049A1FE8 = (__int64)"-wfdd"; qword_71049A1FF0 = (__int64)"--waitForDotNetDebugger"; qword_71049A2000 = (__int64)"Wait for the DotNet debugger to fully connect before starting a level."; qword_71049A1FF8 = (__int64)"Misc"; dword_71049A2008 = 0; qword_71049A2010 = 0LL; *((_BYTE *)&unk_710499E938 + 14048) = 0; qword_71049A2218 = (__int64)"-wfvd"; qword_71049A2220 = (__int64)"--waitForVscDebugger"; qword_71049A2230 = (__int64)"Wait for the Visual Script debugger to fully connect before starting a level."; qword_71049A2228 = (__int64)"Misc"; dword_71049A2238 = 0; qword_71049A2240 = 0LL; *((_BYTE *)&unk_710499E938 + 14608) = 0; qword_71049A2448 = (__int64)"-gc"; qword_71049A2450 = (__int64)"--gamecomm"; qword_71049A2460 = (__int64)"Port to use for Game Communication (30001)"; qword_71049A2458 = (__int64)"Misc"; dword_71049A2468 = 2; qword_71049A2470 = 0LL; *((_BYTE *)&unk_710499E938 + 15168) = 0; qword_71049A2678 = (__int64)"-hm"; qword_71049A2680 = (__int64)"--headlessMode"; qword_71049A2690 = (__int64)"Run in headless mode."; qword_71049A2688 = (__int64)"Misc"; dword_71049A2698 = 0; qword_71049A26A0 = 0LL; *((_BYTE *)&unk_710499E938 + 15728) = 0; qword_71049A28A8 = (__int64)"-gm"; qword_71049A28B0 = (__int64)"--gameMode"; qword_71049A28C0 = (__int64)"Set the game mode."; qword_71049A28B8 = (__int64)"Misc"; dword_71049A28C8 = 2; qword_71049A28D0 = 0LL; *((_BYTE *)&unk_710499E938 + 16288) = 0; qword_71049A2AD8 = (__int64)"-rm"; qword_71049A2AE0 = (__int64)"--raceMode"; qword_71049A2AF0 = (__int64)"Set the race mode."; qword_71049A2AE8 = (__int64)"Misc"; *((_DWORD *)&unk_710499E938 + 4208) = 2; qword_71049A2B00 = 0LL; *((_BYTE *)&unk_710499E938 + 16848) = 0; qword_71049A2D08 = (__int64)"-warp"; qword_71049A2D10 = (__int64)"--dx11warp"; qword_71049A2D18 = (__int64)"Misc"; qword_71049A2D20 = (__int64)"Use the DX11 Warp software renderer on Windows platforms."; *((_DWORD *)&unk_710499E938 + 4348) = 0; qword_71049A2D30 = 0LL; *((_BYTE *)&unk_710499E938 + 17408) = 0; qword_71049A2F40 = (__int64)"--cutscene-dump-frames"; qword_71049A2F38 = (__int64)"-cdf"; qword_71049A2F50 = (__int64)"Dump frames when playing cutscenes."; qword_71049A2F48 = (__int64)"Cutscene"; *((_DWORD *)&unk_710499E938 + 4488) = 0; qword_71049A2F60 = 0LL; *((_BYTE *)&unk_710499E938 + 17968) = 0; qword_71049A3168 = (__int64)"-ca"; qword_71049A3170 = (__int64)"--cutscene-animation"; qword_71049A3180 = (__int64)"Play a specific animation in a cutscene after level load."; qword_71049A3178 = (__int64)"Cutscene"; *((_DWORD *)&unk_710499E938 + 4628) = 2; qword_71049A3190 = 0LL; *((_BYTE *)&unk_710499E938 + 18528) = 0; qword_71049A3398 = (__int64)"-cn"; qword_71049A33A0 = (__int64)"--cutscene"; qword_71049A33A8 = (__int64)"Cutscene"; qword_71049A33B0 = (__int64)"Play cutscene immediately after level load."; *((_DWORD *)&unk_710499E938 + 4768) = 2; qword_71049A33C0 = 0LL; *((_BYTE *)&unk_710499E938 + 19088) = 0; qword_71049A35C8 = (__int64)"-hdp"; qword_71049A35D0 = (__int64)"--havok-debugger-port"; qword_71049A35D8 = (__int64)"Havok"; qword_71049A35E0 = (__int64)"Which port to use for the havok debugger."; *((_DWORD *)&unk_710499E938 + 4908) = 2; qword_71049A35F0 = 0LL; *((_BYTE *)&unk_710499E938 + 19648) = 0; qword_71049A37F8 = (__int64)"-join"; qword_71049A3800 = (__int64)"--join"; qword_71049A3808 = (__int64)"Online"; qword_71049A3810 = (__int64)"Gamertag to auto-join."; *((_DWORD *)&unk_710499E938 + 5048) = 2; qword_71049A3820 = 0LL; *((_BYTE *)&unk_710499E938 + 20208) = 0; qword_71049A3A28 = (__int64)"-hmd"; qword_71049A3A30 = (__int64)"--hostMountDirectory"; qword_71049A3A38 = (__int64)"NX"; qword_71049A3A40 = (__int64)"Specify the directory to mount as host device on nx."; *((_DWORD *)&unk_710499E938 + 5188) = 2; qword_71049A3A50 = 0LL; *((_BYTE *)&unk_710499E938 + 20768) = 0; qword_71049A3C58 = (__int64)"-loose"; qword_71049A3C60 = (__int64)"--loose"; qword_71049A3C70 = (__int64)"Run with loose files."; qword_71049A3C68 = (__int64)"Build"; *((_DWORD *)&unk_710499E938 + 5328) = 0; qword_71049A3C80 = 0LL; *((_BYTE *)&unk_710499E938 + 21328) = 0; qword_71049A3E88 = (__int64)"-ttrsim"; qword_71049A3E90 = (__int64)"--ttrSimulation"; qword_71049A3E98 = (__int64)"Simulations"; qword_71049A3EA0 = (__int64)"Run ai TTR simulation."; *((_DWORD *)&unk_710499E938 + 5468) = 0; qword_71049A3EB0 = 0LL; *((_BYTE *)&unk_710499E938 + 21888) = 0; sub_710193FC60(&unk_710499E930); v3 = v13; v4 = v9; } } v5 = __ldar((unsigned __int8 *)&unk_71049A40B8); if ( !((unsigned __int64)&unk_71049A40B8 & 1) ) { v14 = v3; v11 = v4; v12 = sub_710193FC50(&unk_71049A40B8); v3 = v14; v4 = v11; if ( v12 ) { unk_710499E0E0 = "game"; unk_710499E0E8 = "Game Engine"; qword_710499E100 = (__int64)&unk_710499E938; dword_710499E108 = 40; dword_710499E910 = 0; unk_710499E0F0 = off_710493B0B8[0]; unk_710499E0F8 = off_710493B0B8[0]; qword_710499E920 = 0LL; qword_710499E918 = 0LL; sub_710193FC60(&unk_71049A40B8); v3 = v14; v4 = v11; } } v6 = Core::igCommandLine::parse((Core::igCommandLine *)&unk_710499E0E0, v4, v3, 1); v7 = (_BYTE *)off_710493C7A8; *off_710493C710 = &unk_710499E0E0; *v7 = 1; if ( v6 ) result = 0xFFFFFFFFLL; else result = 0LL; return result; }