Ledger Nano X - The secure hardware wallet
SHARE
TWEET

Untitled

a guest Mar 28th, 2020 62 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.     DWORD64 __fastcall get_entities()
  3.     {
  4.         unsigned __int64 v5; // rax
  5.         __int64 v6; // r9
  6.         int v7; // ecx
  7.         __int64 v8; // r8
  8.         unsigned __int64 v9; // rax
  9.         unsigned __int64 v10; // rax
  10.         unsigned __int64 v11; // rax
  11.         unsigned __int64 v12; // rax
  12.         unsigned __int64 v13; // rax
  13.         int v14; // ecx
  14.         unsigned __int64 v15; // rax
  15.         unsigned __int64 v16; // rax
  16.         unsigned __int64 v17; // rax
  17.         unsigned __int64 v18; // rax
  18.         unsigned __int64 v19; // rcx
  19.         unsigned __int64 v20; // rax
  20.         int v21; // ecx
  21.         unsigned __int64 v22; // rax
  22.         unsigned __int64 v23; // rax
  23.         int v24; // ecx
  24.         unsigned __int64 v25; // rax
  25.         unsigned __int64 v26; // rax
  26.         unsigned __int64 v27; // rax
  27.         unsigned __int64 v28; // rax
  28.         unsigned int v29; // edx
  29.         int v30; // ecx
  30.         unsigned __int64 v31; // rax
  31.         unsigned __int64 v32; // rax
  32.         unsigned __int64 v33; // rax
  33.         unsigned __int64 v34; // rax
  34.         unsigned __int64 v35; // rcx
  35.         unsigned int v36; // edx
  36.         int v37; // ecx
  37.         unsigned __int64 v38; // rax
  38.         unsigned __int64 v39; // rcx
  39.         unsigned __int64 v40; // rax
  40.         unsigned __int64 v41; // rax
  41.         unsigned int v42; // edx
  42.         int v43; // ecx
  43.         unsigned __int64 v44; // rax
  44.         unsigned int v45; // edx
  45.         int v46; // ecx
  46.         unsigned __int64 v47; // rcx
  47.         unsigned __int64 v48; // rax
  48.         unsigned __int64 v49; // rcx
  49.         unsigned __int64 v50; // rax
  50.         unsigned __int64 v51; // rax
  51.         unsigned int v52; // edx
  52.         int v53; // ecx
  53.         unsigned __int64 v54; // rcx
  54.         unsigned __int64 v55; // rax
  55.         unsigned __int64 v56; // rcx
  56.         unsigned __int64 v57; // rax
  57.         int v58; // ecx
  58.         unsigned __int64 v59; // rcx
  59.         unsigned __int64 v60; // rax
  60.         unsigned __int64 v61; // rax
  61.         unsigned __int64 v62; // rax
  62.         unsigned __int64 v63; // rax
  63.         int v64; // ecx
  64.         unsigned __int64 v65; // rax
  65.         unsigned __int64 v66; // rax
  66.         unsigned __int64 v67; // rax
  67.         int v68; // ecx
  68.         unsigned __int64 v69; // rcx
  69.         unsigned __int64 v70; // rax
  70.         unsigned __int64 v71; // rax
  71.         unsigned __int64 v72; // rax
  72.         int v73; // ecx
  73.         unsigned __int64 v74; // rax
  74.         unsigned __int64 v75; // rax
  75.         unsigned __int64 v76; // rax
  76.         unsigned int v77; // edx
  77.         int v78; // ecx
  78.         unsigned __int64 v79; // rcx
  79.         unsigned __int64 v80; // rax
  80.         unsigned __int64 v81; // rax
  81.         unsigned __int64 v82; // rax
  82.         int v83; // ecx
  83.         unsigned __int64 v84; // rax
  84.         unsigned __int64 v85; // rax
  85.         unsigned __int64 v86; // rax
  86.         unsigned __int64 v87; // rax
  87.         int v88; // ecx
  88.         unsigned __int64 v89; // rax
  89.         unsigned __int64 v90; // rax
  90.         unsigned __int64 v91; // rax
  91.         unsigned __int64 v92; // rax
  92.         unsigned __int64 v93; // rax
  93.         __int64 v94; // rdx
  94.  
  95.         const auto peb_address = reinterpret_cast<uint64_t>(GetPEB());
  96.         if (!peb_address)
  97.             return 0;
  98.  
  99.         unsigned __int64 qword_7FF73F5E8275 = *(uintptr_t*)((uintptr_t)globals::mainModule + 0x37F8275);
  100.         if (!qword_7FF73F5E8275)
  101.             return 0;
  102.  
  103.         v5 = *(uintptr_t*)((uintptr_t)globals::mainModule + 0x10764858);
  104.         if (!v5)
  105.             return 0;
  106.  
  107.         v5 = *(uintptr_t*)(v5 + 0x10);
  108.         if (!v5)
  109.             return 0;
  110.  
  111.         switch (__ROR8__((uint64_t)peb_address, 12) & 0xFi64)
  112.         {
  113.  
  114.         case 0i64:
  115.             v6 = qword_7FF73F5E8275;
  116.             v7 = -215334650;
  117.             IDA_LODWORD(v8) = -637894527;
  118.             do
  119.             {
  120.                 if ((unsigned int)v8 > 0x2F1925D1)
  121.                 {
  122.                     switch ((DWORD)v8)
  123.                     {
  124.                     case 0x894199C9:
  125.                         v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  126.                             0,
  127.                             16))
  128.                             + 9);
  129.                         v7 = -1656044642;
  130.                         break;
  131.                     case 0xD9FA8081:
  132.                         v13 = ((((279154826869148035i64 * v5) >> 11) ^ (279154826869148035i64 * v5)) >> 22) ^ ((279154826869148035i64 * v5) >> 11) ^ (279154826869148035i64 * v5);
  133.                         v5 = (v13 >> 44) ^ v13;
  134.                         v7 = 1354438984;
  135.                         break;
  136.                     case 0xE695FD56:
  137.                         v5 *= 1286231170876372887i64;
  138.                         v7 = -913516409;
  139.                         break;
  140.                     case 0xFD186B5D:
  141.                         v5 ^= v5 >> 32;
  142.                         v7 = 462263819;
  143.                         break;
  144.                     }
  145.                 }
  146.                 else
  147.                 {
  148.                     switch ((DWORD)v8)
  149.                     {
  150.                     case 0x2F1925D1:
  151.                         v5 ^= v5 >> 33;
  152.                         v7 = -1186633494;
  153.                         break;
  154.                     case 0x2B446A:
  155.                         v5 *= -7455582724775828167i64;
  156.                         v7 = 1000186924;
  157.                         break;
  158.                     case 0x2E52E7F:
  159.                         v9 = (((v5 >> 12) ^ v5) >> 24) ^ (v5 >> 12) ^ v5;
  160.                         v10 = ((-7978674832585199189i64 * ((v9 >> 48) ^ v9)) >> 11) ^ (-7978674832585199189i64 * ((v9 >> 48) ^ v9));
  161.                         v11 = (((v10 >> 22) ^ v10) >> 44) ^ (v10 >> 22) ^ v10;
  162.                         v12 = (((v11 >> 10) ^ v11) >> 20) ^ (v11 >> 10) ^ v11;
  163.                         v5 = (v12 >> 40) ^ v12;
  164.                         v7 = -1045507250;
  165.                         break;
  166.                     case 0x140B5A57:
  167.                         v5 ^= v5 >> 34;
  168.                         v7 = 1028675923;
  169.                         break;
  170.                     case 0x25252EAC:
  171.                         v7 = 859508772;
  172.                         v5 = -4326580056501010731i64
  173.                             * ((v5 >> 17) ^ v5 ^ (((v5 >> 17) ^ v5) >> 34))
  174.                             * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  175.                                 0,
  176.                                 16))
  177.                                 + 9));
  178.                         break;
  179.                     case 0x295B0304:
  180.                         v5 *= -4735444876904761375i64;
  181.                         v7 = -733779879;
  182.                         break;
  183.                     }
  184.                 }
  185.                 v8 = v7 ^ (unsigned int)v8;
  186.             } while ((DWORD)v8 != -1772335813);
  187.             break;
  188.         case 1i64:
  189.             v6 = qword_7FF73F5E8275;
  190.             v14 = -1421739455;
  191.             IDA_LODWORD(v8) = 1074241274;
  192.             do
  193.             {
  194.                 if ((unsigned int)v8 > 0x650270B6)
  195.                 {
  196.                     switch ((DWORD)v8)
  197.                     {
  198.                     case 0x7F5851F9:
  199.                         v5 ^= (((v5 >> 16) ^ v5) >> 32) ^ (v5 >> 16);
  200.                         v14 = -1732617670;
  201.                         break;
  202.                     case 0x819297F4:
  203.                         v19 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  204.                             0,
  205.                             16));
  206.                         v20 = ((*(uintptr_t*)(v19 + 13) * v5) >> 17) ^ (*(uintptr_t*)(v19 + 13) * v5);
  207.                         v5 = (v20 >> 34) ^ v20;
  208.                         v14 = -1182448197;
  209.                         break;
  210.                     case 0x854B90AA:
  211.                         v18 = (((v5 >> 14) ^ v5) >> 28) ^ (v5 >> 14) ^ v5;
  212.                         v14 = -1458132411;
  213.                         v5 = 3413544518411665113i64 * ((v18 >> 56) ^ v18);
  214.                         break;
  215.                     case 0xD1ABE8D6:
  216.                         v5 *= -6698299221468218401i64;
  217.                         v14 = -725603755;
  218.                         break;
  219.                     }
  220.                 }
  221.                 else
  222.                 {
  223.                     switch ((DWORD)v8)
  224.                     {
  225.                     case 0x650270B6:
  226.                         v17 = ((6217676989566351913i64 * v5) ^ ((6217676989566351913i64 * v5) >> 32))
  227.                             * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  228.                                 0,
  229.                                 16))
  230.                                 + 9));
  231.                         v5 = (v17 >> 33) ^ v17;
  232.                         v14 = 435067182;
  233.                         break;
  234.                     case 0x56BC283:
  235.                         v5 ^= v5 >> 34;
  236.                         v14 = 1617539637;
  237.                         break;
  238.                     case 0x40079EFA:
  239.                         v16 = ((((-8781049729379327165i64 * v5) >> 11) ^ (-8781049729379327165i64 * v5)) >> 22) ^ ((-8781049729379327165i64 * v5) >> 11) ^ (-8781049729379327165i64 * v5);
  240.                         v5 = (v16 >> 44) ^ v16;
  241.                         v14 = -1850968532;
  242.                         break;
  243.                     case 0x500684AC:
  244.                         v5 *= 6734988298214457105i64;
  245.                         v14 = 507389220;
  246.                         break;
  247.                     case 0x55061F6B:
  248.                         v15 = ((((9029082209774219265i64 * v5) >> 11) ^ (9029082209774219265i64 * v5)) >> 22) ^ ((9029082209774219265i64 * v5) >> 11) ^ (9029082209774219265i64 * v5);
  249.                         v5 = (v15 >> 44) ^ v15;
  250.                         v14 = 466402827;
  251.                         break;
  252.                     }
  253.                 }
  254.                 v8 = v14 ^ (unsigned int)v8;
  255.             } while ((DWORD)v8 != 2095901080);
  256.             break;
  257.         case 2i64:
  258.             v6 = qword_7FF73F5E8275;
  259.             v21 = -1263544496;
  260.             IDA_LODWORD(v8) = -510871146;
  261.             do
  262.             {
  263.                 if ((unsigned int)v8 > 0x6FE91FF7)
  264.                 {
  265.                     switch ((DWORD)v8)
  266.                     {
  267.                     case 0xA14914C5:
  268.                         v5 ^= v5 >> 37;
  269.                         v21 = -344456772;
  270.                         break;
  271.                     case 0xAA9CCAB9:
  272.                         v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  273.                             0,
  274.                             16))
  275.                             + 7);
  276.                         v21 = 1458045148;
  277.                         break;
  278.                     case 0xBD3AE54B:
  279.                         v5 ^= v5 >> 40;
  280.                         v21 = -1406000299;
  281.                         break;
  282.                     case 0xE18CB996:
  283.                         v23 = ((((6657778913670413337i64 * v5) >> 11) ^ (6657778913670413337i64 * v5)) >> 22) ^ ((6657778913670413337i64 * v5) >> 11) ^ (6657778913670413337i64 * v5);
  284.                         v5 = (v23 ^ (v23 >> 44))
  285.                             * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  286.                                 0,
  287.                                 16))
  288.                                 + 9));
  289.                         v21 = -131551280;
  290.                         break;
  291.                     case 0xF2C4FD8C:
  292.                         v5 *= 5026977441755745957i64;
  293.                         v21 = -443969895;
  294.                         break;
  295.                     }
  296.                 }
  297.                 else
  298.                 {
  299.                     switch ((DWORD)v8)
  300.                     {
  301.                     case 0x6FE91FF7:
  302.                         v5 *= 7639646068965556851i64;
  303.                         v21 = 1230816256;
  304.                         break;
  305.                     case 0x19A41646:
  306.                         v21 = 1247323927;
  307.                         v5 = -6538909203353742063i64 * ((v5 >> 34) ^ v5);
  308.                         break;
  309.                     case 0x26B5DBF7:
  310.                         v5 ^= v5 >> 33;
  311.                         v21 = 721016676;
  312.                         break;
  313.                     case 0x2BC0CA87:
  314.                         v22 = (((v5 >> 10) ^ v5) >> 20) ^ (v5 >> 10) ^ v5;
  315.                         v21 = 88846004;
  316.                         v5 = 3798737981467209321i64 * ((v22 >> 40) ^ v22);
  317.                         break;
  318.                     case 0x4457C76F:
  319.                         v5 ^= (((v5 >> 19) ^ v5) >> 38) ^ (v5 >> 19);
  320.                         v21 = 22049745;
  321.                         break;
  322.                     case 0x53FCB151:
  323.                         v5 ^= v5 >> 32;
  324.                         v21 = 1008053926;
  325.                         break;
  326.                     }
  327.                 }
  328.                 v8 = v21 ^ (unsigned int)v8;
  329.             } while ((DWORD)v8 != 206310547);
  330.             break;
  331.         case 3i64:
  332.             v6 = qword_7FF73F5E8275;
  333.             v24 = -1012227216;
  334.             IDA_LODWORD(v8) = 1259926867;
  335.             do
  336.             {
  337.                 if ((unsigned int)v8 > 0x5DBF7315)
  338.                 {
  339.                     switch ((DWORD)v8)
  340.                     {
  341.                     case 0x6113B811:
  342.                         v5 *= -1099864626353076491i64;
  343.                         v24 = -393604902;
  344.                         break;
  345.                     case 0xAD3D4B9C:
  346.                         v5 = ((-254576267790735895i64 * ((v5 >> 34) ^ v5)) >> 32) ^ (-254576267790735895i64 * ((v5 >> 34) ^ v5));
  347.                         v24 = -1856987998;
  348.                         break;
  349.                     case 0xE483386C:
  350.                         v5 ^= v5 >> 33;
  351.                         v24 = -875455757;
  352.                         break;
  353.                     case 0xE9715D84:
  354.                         v26 = (((v5 >> 12) ^ v5) >> 24) ^ (v5 >> 12) ^ v5;
  355.                         v27 = (((v26 >> 48) ^ v26) >> 29) ^ (v26 >> 48) ^ v26;
  356.                         v28 = (v27 ^ (v27 >> 58))
  357.                             * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  358.                                 0,
  359.                                 16))
  360.                                 + 13));
  361.                         v5 = (v28 >> 38) ^ v28;
  362.                         v24 = -831476011;
  363.                         break;
  364.                     }
  365.                 }
  366.                 else
  367.                 {
  368.                     switch ((DWORD)v8)
  369.                     {
  370.                     case 0x5DBF7315:
  371.                         v5 ^= (((v5 >> 20) ^ v5) >> 40) ^ (v5 >> 20);
  372.                         v24 = 188899258;
  373.                         break;
  374.                     case 0x89747E:
  375.                         v25 = (((v5 >> 11) ^ v5) >> 22) ^ (v5 >> 11) ^ v5;
  376.                         v24 = -1380696094;
  377.                         v5 = 6984239020889517927i64 * ((v25 >> 44) ^ v25);
  378.                         break;
  379.                     case 0x269CF141:
  380.                         v5 *= 6513416010345991633i64;
  381.                         v24 = 1980514413;
  382.                         break;
  383.                     case 0x31D1EB9C:
  384.                         v5 *= 2169238420182610817i64;
  385.                         v24 = -243773301;
  386.                         break;
  387.                     case 0x3C6DD73E:
  388.                         v5 *= 399063102185793645i64;
  389.                         v24 = -655429806;
  390.                         break;
  391.                     case 0x4B18F553:
  392.                         v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  393.                             0,
  394.                             16))
  395.                             + 9);
  396.                         v24 = 1267826989;
  397.                         break;
  398.                     }
  399.                 }
  400.                 v8 = v24 ^ (unsigned int)v8;
  401.             } while ((DWORD)v8 != 793944735);
  402.             break;
  403.         case 4i64:
  404.             v8 = qword_7FF73F5E8275;
  405.             v29 = 1843169928;
  406.             v30 = 367048649;
  407.             v6 = 79076019554718377i64;
  408.             do
  409.             {
  410.                 if (v29 > 0x6DDC8A88)
  411.                 {
  412.                     switch (v29)
  413.                     {
  414.                     case 0x7EBCAB5Cu:
  415.                         v35 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  416.                             0,
  417.                             16));
  418.                         v5 = ((*(uintptr_t*)(v35 + 9) * v5) >> 33) ^ (*(uintptr_t*)(v35 + 9) * v5);
  419.                         v30 = -1501942179;
  420.                         break;
  421.                     case 0x8FD7DC78:
  422.                         v5 ^= (((v5 >> 23) ^ v5) >> 46) ^ (v5 >> 23);
  423.                         v30 = -1287851851;
  424.                         break;
  425.                     case 0xCDC439FE:
  426.                         v34 = (((v5 >> 10) ^ v5) >> 20) ^ (v5 >> 10) ^ v5;
  427.                         v30 = 1248252581;
  428.                         v5 = -4576440385940277195i64 * ((v34 >> 40) ^ v34);
  429.                         break;
  430.                     case 0xFF1C4D45:
  431.                         v33 = -7498697789385608467i64 * (((8246635407885866537i64 * v5) >> 34) ^ (8246635407885866537i64 * v5));
  432.                         v5 = (v33 >> 32) ^ v33;
  433.                         v30 = -2120161767;
  434.                         break;
  435.                     }
  436.                 }
  437.                 else
  438.                 {
  439.                     switch (v29)
  440.                     {
  441.                     case 0x6DDC8A88u:
  442.                         v5 *= 79076019554718377i64;
  443.                         v30 = 930613693;
  444.                         break;
  445.                     case 0x38268BBu:
  446.                         v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  447.                             0,
  448.                             16))
  449.                             + 15);
  450.                         v30 = 1209109086;
  451.                         break;
  452.                     case 0x2B7692C0u:
  453.                         v30 = -1542376522;
  454.                         v5 = 7694257453969299829i64 * ((v5 >> 39) ^ v5);
  455.                         break;
  456.                     case 0x5AA48335u:
  457.                         v32 = (((v5 >> 11) ^ v5) >> 22) ^ (v5 >> 11) ^ v5;
  458.                         v5 = (v32 >> 44) ^ v32;
  459.                         v30 = -1514615184;
  460.                         break;
  461.                     case 0x68C99E17u:
  462.                         v31 = (((v5 >> 14) ^ v5) >> 28) ^ (v5 >> 14) ^ v5;
  463.                         v5 = (v31 >> 56) ^ v31;
  464.                         v30 = 745223281;
  465.                         break;
  466.                     }
  467.                 }
  468.                 v29 ^= v30;
  469.             } while (v29 != -658078463);
  470.             break;
  471.         case 5i64:
  472.             v8 = qword_7FF73F5E8275;
  473.             v36 = 206908681;
  474.             v37 = 1567126113;
  475.             v6 = -1490051115850256833i64;
  476.             do
  477.             {
  478.                 if (v36 > 0x7DA47CBF)
  479.                 {
  480.                     switch (v36)
  481.                     {
  482.                     case 0x8C92F8BA:
  483.                         v5 = ((2642899125010789073i64 * ((v5 >> 34) ^ v5)) >> 32) ^ (2642899125010789073i64 * ((v5 >> 34) ^ v5));
  484.                         v37 = -1421377855;
  485.                         break;
  486.                     case 0xB421D91D:
  487.                         v5 ^= v5 >> 33;
  488.                         v37 = -382859363;
  489.                         break;
  490.                     case 0xBC48D4DF:
  491.                         v41 = (((v5 >> 22) ^ v5) >> 44) ^ (v5 >> 22) ^ v5;
  492.                         v5 = (v41 >> 40) ^ v41;
  493.                         v37 = 728231214;
  494.                         break;
  495.                     case 0xC31A8BDF:
  496.                         v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  497.                             0,
  498.                             16))
  499.                             + 9);
  500.                         v37 = 1334342501;
  501.                         break;
  502.                     case 0xC773AD4D:
  503.                         v39 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  504.                             0,
  505.                             16));
  506.                         v40 = ((*(uintptr_t*)(v39 + 25) * v5) >> 25) ^ (*(uintptr_t*)(v39 + 25) * v5);
  507.                         v5 = (v40 >> 50) ^ v40;
  508.                         v37 = -1396802365;
  509.                         break;
  510.                     }
  511.                 }
  512.                 else
  513.                 {
  514.                     switch (v36)
  515.                     {
  516.                     case 0x7DA47CBFu:
  517.                         v5 *= 263753969891435199i64;
  518.                         v37 = 1791357254;
  519.                         break;
  520.                     case 0xC552D09u:
  521.                         v38 = ((((668279531958246127i64 * v5) >> 11) ^ (668279531958246127i64 * v5)) >> 22) ^ ((668279531958246127i64 * v5) >> 11) ^ (668279531958246127i64 * v5);
  522.                         v5 = (v38 >> 44) ^ v38;
  523.                         v37 = -816863530;
  524.                         break;
  525.                     case 0x16784F3Au:
  526.                         v5 *= 5150137896691509053i64;
  527.                         v37 = 968613796;
  528.                         break;
  529.                     case 0x1A879D6Bu:
  530.                         v37 = 530940254;
  531.                         v5 = -1350347289528063655i64 * ((v5 >> 36) ^ v5);
  532.                         break;
  533.                     case 0x27D5867Bu:
  534.                         v5 *= -1490051115850256833i64;
  535.                         v37 = -1812701338;
  536.                         break;
  537.                     }
  538.                 }
  539.                 v36 ^= v37;
  540.             } while (v36 != 1561321088);
  541.             break;
  542.         case 6i64:
  543.             v8 = qword_7FF73F5E8275;
  544.             v42 = -648102525;
  545.             v43 = 629457204;
  546.             v6 = -3714080857275482259i64;
  547.             do
  548.             {
  549.                 if (v42 > 0x6D919676)
  550.                 {
  551.                     switch (v42)
  552.                     {
  553.                     case 0x6FE29E70u:
  554.                         v5 = ((-8798424950109236483i64 * v5) >> 34) ^ (-8798424950109236483i64 * v5);
  555.                         v43 = 1480304983;
  556.                         break;
  557.                     case 0x7EAC57C6u:
  558.                         v43 = -1715498414;
  559.                         v5 = -2826511211129377569i64 * ((((v5 >> 25) ^ v5) >> 50) ^ (v5 >> 25) ^ v5);
  560.                         break;
  561.                     case 0xD95EBD83:
  562.                         v5 *= -3772161568334105389i64;
  563.                         v43 = 699488983;
  564.                         break;
  565.                     case 0xE2624955:
  566.                         v5 ^= v5 >> 36;
  567.                         v43 = 1135491346;
  568.                         break;
  569.                     case 0xF0EFE754:
  570.                         v44 = (((v5 >> 11) ^ v5) >> 22) ^ (v5 >> 11) ^ v5;
  571.                         v5 = (v44 >> 44) ^ v44;
  572.                         v43 = -1626506972;
  573.                         break;
  574.                     }
  575.                 }
  576.                 else
  577.                 {
  578.                     switch (v42)
  579.                     {
  580.                     case 0x6D919676u:
  581.                         v5 *= 1503922958134356461i64
  582.                             * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  583.                                 0,
  584.                                 16))
  585.                                 + 9));
  586.                         v43 = 1225715110;
  587.                         break;
  588.                     case 0x7E2B90Bu:
  589.                         v5 ^= (((v5 >> 24) ^ v5) >> 48) ^ (v5 >> 24);
  590.                         v43 = -1875839873;
  591.                         break;
  592.                     case 0x29EE04BCu:
  593.                         v5 = ((-6843233251514505657i64 * ((v5 >> 32) ^ v5)) >> 33) ^ (-6843233251514505657i64 * ((v5 >> 32) ^ v5));
  594.                         v43 = -125792829;
  595.                         break;
  596.                     case 0x37D93727u:
  597.                         v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  598.                             0,
  599.                             16))
  600.                             + 9);
  601.                         v43 = 506934171;
  602.                         break;
  603.                     case 0x62C70805u:
  604.                         v5 *= -3714080857275482259i64;
  605.                         v43 = -251588585;
  606.                         break;
  607.                     case 0x6A41C60Bu:
  608.                         v5 ^= (((v5 >> 21) ^ v5) >> 42) ^ (v5 >> 21);
  609.                         v43 = 1252100369;
  610.                         break;
  611.                     }
  612.                 }
  613.                 v42 ^= v43;
  614.             } while (v42 != -781284993);
  615.             break;
  616.         case 7i64:
  617.             v8 = qword_7FF73F5E8275;
  618.             v45 = 1715396362;
  619.             v46 = 1471282209;
  620.             v6 = -1046981356095461599i64;
  621.             do
  622.             {
  623.                 if (v45 > 0x9AAAF4E4)
  624.                 {
  625.                     switch (v45)
  626.                     {
  627.                     case 0xAF811AC6:
  628.                         v51 = ((((-1046981356095461599i64 * v5) >> 10) ^ (-1046981356095461599i64 * v5)) >> 20) ^ ((-1046981356095461599i64 * v5) >> 10) ^ (-1046981356095461599i64 * v5);
  629.                         v5 = (v51 >> 40) ^ v51;
  630.                         v46 = 1349605540;
  631.                         break;
  632.                     case 0xB60A3214:
  633.                         v49 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  634.                             0,
  635.                             16));
  636.                         v50 = ((*(uintptr_t*)(v49 + 15) * v5) >> 24) ^ (*(uintptr_t*)(v49 + 15) * v5);
  637.                         v5 = (v50 >> 48) ^ v50;
  638.                         v46 = 346659151;
  639.                         break;
  640.                     case 0xFCCD58D2:
  641.                         v5 = ((-5354681144209995371i64 * ((v5 >> 32) ^ v5)) >> 33) ^ (-5354681144209995371i64 * ((v5 >> 32) ^ v5));
  642.                         v46 = 575632065;
  643.                         break;
  644.                     }
  645.                 }
  646.                 else
  647.                 {
  648.                     switch (v45)
  649.                     {
  650.                     case 0x9AAAF4E4:
  651.                         v46 = -601365438;
  652.                         v5 = 8664097053072027533i64 * ((((v5 >> 28) ^ v5) >> 56) ^ (v5 >> 28) ^ v5);
  653.                         break;
  654.                     case 0x1F834CBu:
  655.                         v46 = -46830567;
  656.                         v5 = -6508093821370371639i64 * (((3379597867461193145i64 * v5) >> 34) ^ (3379597867461193145i64 * v5));
  657.                         break;
  658.                     case 0x663EDF0Au:
  659.                         v47 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  660.                             0,
  661.                             16));
  662.                         v48 = ((*(uintptr_t*)(v47 + 9) * v5) >> 11) ^ (*(uintptr_t*)(v47 + 9) * v5);
  663.                         v5 = (((v48 >> 22) ^ v48) >> 44) ^ (v48 >> 22) ^ v48;
  664.                         v46 = 1741089729;
  665.                         break;
  666.                     case 0x81E66D10:
  667.                         v46 = 2026038984;
  668.                         v5 = 8455267959189821851i64 * ((((v5 >> 18) ^ v5) >> 36) ^ (v5 >> 18) ^ v5);
  669.                         break;
  670.                     }
  671.                 }
  672.                 v45 ^= v46;
  673.             } while (v45 != -561894893);
  674.             break;
  675.         case 8i64:
  676.             v8 = qword_7FF73F5E8275;
  677.             v52 = 1324892019;
  678.             v53 = -1518275246;
  679.             v6 = 9061039594084433199i64;
  680.             do
  681.             {
  682.                 if (v52 > 0x5ECC1561)
  683.                 {
  684.                     switch (v52)
  685.                     {
  686.                     case 0x6CDC352Du:
  687.                         v53 = -792772235;
  688.                         v5 = -5320098532597007853i64
  689.                             * (((((-1785068723959019167i64 * v5) >> 32) ^ (-1785068723959019167i64 * v5)) >> 39) ^ ((-1785068723959019167i64 * v5) >> 32) ^ (-1785068723959019167i64 * v5));
  690.                         break;
  691.                     case 0x9660FB50:
  692.                         v5 ^= v5 >> 32;
  693.                         v53 = -791396491;
  694.                         break;
  695.                     case 0xA0227101:
  696.                         v5 *= -1259380067919648353i64;
  697.                         v53 = 92122529;
  698.                         break;
  699.                     case 0xA55FDCA0:
  700.                         v53 = 859777008;
  701.                         v5 = 7171650437169705013i64 * ((v5 >> 34) ^ v5);
  702.                         break;
  703.                     }
  704.                 }
  705.                 else
  706.                 {
  707.                     switch (v52)
  708.                     {
  709.                     case 0x5ECC1561u:
  710.                         v5 ^= v5 >> 33;
  711.                         v53 = 448929302;
  712.                         break;
  713.                     case 0x24711A6Cu:
  714.                         v56 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  715.                             0,
  716.                             16));
  717.                         v57 = ((*(uintptr_t*)(v56 + 9) * v5) >> 17) ^ (*(uintptr_t*)(v56 + 9) * v5);
  718.                         v53 = 1097301330;
  719.                         v5 = -7715613913043123993i64 * ((v57 >> 34) ^ v57);
  720.                         break;
  721.                     case 0x46B4C425u:
  722.                         v5 *= 9061039594084433199i64;
  723.                         v53 = 410571076;
  724.                         break;
  725.                     case 0x4EF83F73u:
  726.                         v54 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  727.                             0,
  728.                             16));
  729.                         v55 = ((*(uintptr_t*)(v54 + 9) * v5) >> 11) ^ (*(uintptr_t*)(v54 + 9) * v5);
  730.                         v5 = (((v55 >> 22) ^ v55) >> 44) ^ (v55 >> 22) ^ v55;
  731.                         v53 = -287682958;
  732.                         break;
  733.                     case 0x55D581BEu:
  734.                         v5 ^= v5 >> 36;
  735.                         v53 = -1679749402;
  736.                         break;
  737.                     }
  738.                 }
  739.                 v52 ^= v53;
  740.             } while (v52 != 1141771127);
  741.             break;
  742.         case 9i64:
  743.             v6 = qword_7FF73F5E8275;
  744.             v58 = -211136829;
  745.             IDA_LODWORD(v8) = -710799501;
  746.             do
  747.             {
  748.                 if ((unsigned int)v8 > 0x94068C46)
  749.                 {
  750.                     switch ((DWORD)v8)
  751.                     {
  752.                     case 0xD5A20F73:
  753.                         v5 *= -1140417542859424221i64;
  754.                         v58 = -49361488;
  755.                         break;
  756.                     case 0xDD87592C:
  757.                         v5 *= -5550595233316717153i64;
  758.                         v58 = 1033829346;
  759.                         break;
  760.                     case 0xE019A2CE:
  761.                         v5 ^= v5 >> 34;
  762.                         v58 = -1634333229;
  763.                         break;
  764.                     }
  765.                 }
  766.                 else
  767.                 {
  768.                     switch ((DWORD)v8)
  769.                     {
  770.                     case 0x94068C46:
  771.                         v5 = ((v5 >> 29) ^ v5 ^ (((v5 >> 29) ^ v5) >> 58))
  772.                             * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  773.                                 0,
  774.                                 16))
  775.                                 + 17));
  776.                         v58 = 1672135490;
  777.                         break;
  778.                     case 0x2DB4C43:
  779.                         v62 = ((((2357863658542354479i64 * v5) >> 31) ^ (2357863658542354479i64 * v5)) >> 62) ^ ((2357863658542354479i64 * v5) >> 31) ^ (2357863658542354479i64 * v5);
  780.                         v63 = 3227618980945044031i64 * ((((v62 >> 23) ^ v62) >> 46) ^ (v62 >> 23) ^ v62);
  781.                         v5 = (((v63 >> 21) ^ v63) >> 42) ^ (v63 >> 21) ^ v63;
  782.                         v58 = 380934493;
  783.                         break;
  784.                     case 0x28ACC2C3:
  785.                         v61 = (((v5 >> 11) ^ v5) >> 22) ^ (v5 >> 11) ^ v5;
  786.                         v5 = (v61 >> 44) ^ v61;
  787.                         v58 = -181691409;
  788.                         break;
  789.                     case 0x7E8FAF1D:
  790.                         v59 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  791.                             0,
  792.                             16));
  793.                         v60 = -791397262808006193i64 * (((*(uintptr_t*)(v59 + 9) * v5) >> 32) ^ (*(uintptr_t*)(v59 + 9) * v5));
  794.                         v5 = (v60 >> 33) ^ v60;
  795.                         v58 = -1639375542;
  796.                         break;
  797.                     }
  798.                 }
  799.                 v8 = v58 ^ (unsigned int)v8;
  800.             } while ((DWORD)v8 != -523849129);
  801.             break;
  802.         case 0xAi64:
  803.             v6 = qword_7FF73F5E8275;
  804.             v64 = 1226753560;
  805.             IDA_LODWORD(v8) = 1015843442;
  806.             do
  807.             {
  808.                 if ((unsigned int)v8 > 0x84338B99)
  809.                 {
  810.                     switch ((DWORD)v8)
  811.                     {
  812.                     case 0x9A09D69D:
  813.                         v67 = (((v5 >> 11) ^ v5) >> 22) ^ (v5 >> 11) ^ v5;
  814.                         v64 = -1259370927;
  815.                         v5 = -3261739495856580535i64 * ((v67 >> 44) ^ v67);
  816.                         break;
  817.                     case 0x9BE71274:
  818.                         v5 *= 5110205201235089995i64;
  819.                         v64 = -554473483;
  820.                         break;
  821.                     case 0xCA68CE62:
  822.                         v64 = 1314604539;
  823.                         v5 = -6666980917331756217i64 * ((v5 >> 32) ^ v5);
  824.                         break;
  825.                     }
  826.                 }
  827.                 else
  828.                 {
  829.                     switch ((DWORD)v8)
  830.                     {
  831.                     case 0x84338B99:
  832.                         v5 ^= v5 >> 33;
  833.                         v64 = 1640467298;
  834.                         break;
  835.                     case 0xBD879E9:
  836.                         v66 = (((v5 >> 33) ^ v5) >> 10) ^ (v5 >> 33) ^ v5;
  837.                         v64 = 1431160392;
  838.                         v5 = 584434054249834147i64
  839.                             * ((v66 >> 20) ^ v66 ^ (((v66 >> 20) ^ v66) >> 40))
  840.                             * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  841.                                 0,
  842.                                 16))
  843.                                 + 25));
  844.                         break;
  845.                     case 0x2EE650CC:
  846.                         v64 = -460415314;
  847.                         v5 = 7271143759764351223i64 * ((v5 >> 34) ^ v5);
  848.                         break;
  849.                     case 0x3A8D29AA:
  850.                         v65 = (((v5 >> 22) ^ v5) >> 44) ^ (v5 >> 22) ^ v5;
  851.                         v5 = (v65 >> 40) ^ v65;
  852.                         v64 = 1885461523;
  853.                         break;
  854.                     case 0x3C8C8A72:
  855.                         v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  856.                             0,
  857.                             16))
  858.                             + 9);
  859.                         v64 = -1501209361;
  860.                         break;
  861.                     }
  862.                 }
  863.                 v8 = v64 ^ (unsigned int)v8;
  864.             } while ((DWORD)v8 != -436993797);
  865.             break;
  866.         case 0xBi64:
  867.             v6 = qword_7FF73F5E8275;
  868.             v68 = -352576275;
  869.             IDA_LODWORD(v8) = 2083277596;
  870.             do
  871.             {
  872.                 if ((unsigned int)v8 > 0xA013D2CB)
  873.                 {
  874.                     switch ((DWORD)v8)
  875.                     {
  876.                     case 0xA98146FA:
  877.                         v5 *= -7777501567629756509i64;
  878.                         v68 = 1544727994;
  879.                         break;
  880.                     case 0xCCB45010:
  881.                         v72 = (((v5 >> 40) ^ v5) >> 22) ^ (v5 >> 40) ^ v5;
  882.                         v5 = (v72 >> 44) ^ v72;
  883.                         v68 = 715595232;
  884.                         break;
  885.                     case 0xE7597863:
  886.                         v5 = ((589820372989812181i64 * v5) >> 34) ^ (589820372989812181i64 * v5);
  887.                         v68 = -377226765;
  888.                         break;
  889.                     }
  890.                 }
  891.                 else
  892.                 {
  893.                     switch ((DWORD)v8)
  894.                     {
  895.                     case 0xA013D2CB:
  896.                         v71 = (((v5 >> 21) ^ v5) >> 42) ^ (v5 >> 21) ^ v5;
  897.                         v5 = ((v71 >> 25) ^ v71 ^ (((v71 >> 25) ^ v71) >> 50))
  898.                             * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  899.                                 0,
  900.                                 16))
  901.                                 + 15));
  902.                         v68 = 148528274;
  903.                         break;
  904.                     case 0xEDA8190:
  905.                         v5 *= -2542879130721843953i64;
  906.                         v68 = 824470298;
  907.                         break;
  908.                     case 0x3FFEEA8A:
  909.                         v5 = ((-5712079829072476083i64 * ((v5 >> 32) ^ v5)) >> 33) ^ (-5712079829072476083i64 * ((v5 >> 32) ^ v5));
  910.                         v68 = -754044170;
  911.                         break;
  912.                     case 0x6D082DD4:
  913.                         v5 *= -1364266855495272659i64;
  914.                         v68 = 571231357;
  915.                         break;
  916.                     case 0x7C2C4B1C:
  917.                         v69 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  918.                             0,
  919.                             16));
  920.                         v70 = ((*(uintptr_t*)(v69 + 9) * v5) >> 11) ^ (*(uintptr_t*)(v69 + 9) * v5);
  921.                         v5 = (((v70 >> 22) ^ v70) >> 44) ^ (v70 >> 22) ^ v70;
  922.                         v68 = -1686817921;
  923.                         break;
  924.                     }
  925.                 }
  926.                 v8 = v68 ^ (unsigned int)v8;
  927.             } while ((DWORD)v8 != -319760260);
  928.             break;
  929.         case 0xCi64:
  930.             v6 = qword_7FF73F5E8275;
  931.             v73 = 442867009;
  932.             IDA_LODWORD(v8) = 1096528784;
  933.             do
  934.             {
  935.                 if ((unsigned int)v8 > 0x5DF65450)
  936.                 {
  937.                     if ((DWORD)v8 == 1989134689)
  938.                     {
  939.                         v75 = -6933056048451905181i64
  940.                             * (((377204745575520251i64 * v5) >> 22) ^ (377204745575520251i64 * v5) ^ ((((377204745575520251i64 * v5) >> 22) ^ (377204745575520251i64 * v5)) >> 44))
  941.                             * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  942.                                 0,
  943.                                 16))
  944.                                 + 15));
  945.                         v76 = (((v75 >> 28) ^ v75) >> 56) ^ (v75 >> 28) ^ v75;
  946.                         v5 = (((v76 >> 29) ^ v76) >> 58) ^ (v76 >> 29) ^ v76;
  947.                         v73 = 1576807396;
  948.                     }
  949.                     else if ((DWORD)v8 == -405612626)
  950.                     {
  951.                         v5 ^= v5 >> 32;
  952.                         v73 = 889359932;
  953.                     }
  954.                 }
  955.                 else
  956.                 {
  957.                     switch ((DWORD)v8)
  958.                     {
  959.                     case 0x5DF65450:
  960.                         v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  961.                             0,
  962.                             16))
  963.                             + 9);
  964.                         v73 = 363653035;
  965.                         break;
  966.                     case 0x415BB390:
  967.                         v5 *= 5128713183279659103i64;
  968.                         v73 = 55877564;
  969.                         break;
  970.                     case 0x420F2C2C:
  971.                         v74 = (((v5 >> 11) ^ v5) >> 22) ^ (v5 >> 11) ^ v5;
  972.                         v5 = ((4032865656204776323i64 * ((v74 >> 44) ^ v74)) >> 34) ^ (4032865656204776323i64 * ((v74 >> 44) ^ v74));
  973.                         v73 = 536443004;
  974.                         break;
  975.                     case 0x485AB3FB:
  976.                         v5 = ((8738323996471334337i64 * ((v5 >> 32) ^ v5)) >> 33) ^ (8738323996471334337i64 * ((v5 >> 32) ^ v5));
  977.                         v73 = -757150338;
  978.                         break;
  979.                     }
  980.                 }
  981.                 v8 = v73 ^ (unsigned int)v8;
  982.             } while ((DWORD)v8 != -1702592891);
  983.             break;
  984.         case 0xDi64:
  985.             v8 = qword_7FF73F5E8275;
  986.             v77 = -1559511383;
  987.             v78 = 206813144;
  988.             v6 = -7057223809766711713i64;
  989.             do
  990.             {
  991.                 if (v77 > 0xA000DB01)
  992.                 {
  993.                     switch (v77)
  994.                     {
  995.                     case 0xA30BBEA9:
  996.                         v5 *= 4787882654895825615i64;
  997.                         v78 = 74983639;
  998.                         break;
  999.                     case 0xA750AD6D:
  1000.                         v5 *= -8371167368346145367i64;
  1001.                         v78 = -1945429779;
  1002.                         break;
  1003.                     case 0xA773967E:
  1004.                         v82 = (((v5 >> 11) ^ v5) >> 22) ^ (v5 >> 11) ^ v5;
  1005.                         v5 = (v82 >> 44) ^ v82;
  1006.                         v78 = -1274538672;
  1007.                         break;
  1008.                     case 0xD6AA84D2:
  1009.                         v5 ^= (((v5 >> 29) ^ v5) >> 58) ^ (v5 >> 29);
  1010.                         v78 = 1245808532;
  1011.                         break;
  1012.                     case 0xDF6331EF:
  1013.                         v5 = ((-5506733914780726849i64 * v5) >> 33) ^ (-5506733914780726849i64 * v5);
  1014.                         v78 = 336951811;
  1015.                         break;
  1016.                     }
  1017.                 }
  1018.                 else
  1019.                 {
  1020.                     switch (v77)
  1021.                     {
  1022.                     case 0xA000DB01:
  1023.                         v81 = (((v5 >> 18) ^ v5) >> 36) ^ (v5 >> 18) ^ v5;
  1024.                         v5 = (v81 >> 32) ^ v81;
  1025.                         v78 = -1431549620;
  1026.                         break;
  1027.                     case 0x5E86CCCu:
  1028.                         v5 ^= v5 >> 32;
  1029.                         v78 = -628400861;
  1030.                         break;
  1031.                     case 0x137B832Eu:
  1032.                         v79 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  1033.                             0,
  1034.                             16));
  1035.                         v80 = ((*(uintptr_t*)(v79 + 9) * v5) >> 34) ^ (*(uintptr_t*)(v79 + 9) * v5);
  1036.                         v78 = 378793954;
  1037.                         v5 = -4922768788278357693i64 * v80;
  1038.                         break;
  1039.                     case 0x2ADE580Au:
  1040.                         v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  1041.                             0,
  1042.                             16))
  1043.                             + 15);
  1044.                         v78 = -1214127080;
  1045.                         break;
  1046.                     case 0x4E730327u:
  1047.                         v5 *= -7057223809766711713i64;
  1048.                         v78 = -475046886;
  1049.                         break;
  1050.                     case 0x5272B5C6u:
  1051.                         v5 = ((-6528595123919291523i64 * v5) >> 34) ^ (-6528595123919291523i64 * v5);
  1052.                         v78 = -1033667739;
  1053.                         break;
  1054.                     }
  1055.                 }
  1056.                 v77 ^= v78;
  1057.             } while (v77 != -881439764);
  1058.             break;
  1059.         case 0xEi64:
  1060.             v6 = qword_7FF73F5E8275;
  1061.             v83 = -636480253;
  1062.             IDA_LODWORD(v8) = 1812341224;
  1063.             do
  1064.             {
  1065.                 if ((unsigned int)v8 > 0x6E66E1B9)
  1066.                 {
  1067.                     switch ((DWORD)v8)
  1068.                     {
  1069.                     case 0x8C2D5826:
  1070.                         v86 = ((((1917540473678440865i64 * v5) >> 25) ^ (1917540473678440865i64 * v5)) >> 50) ^ ((1917540473678440865i64 * v5) >> 25) ^ (1917540473678440865i64 * v5);
  1071.                         v87 = (((v86 >> 13) ^ v86) >> 26) ^ (v86 >> 13) ^ v86;
  1072.                         v5 = (v87 >> 52) ^ v87;
  1073.                         v83 = 1116439088;
  1074.                         break;
  1075.                     case 0x9BE2E87B:
  1076.                         v5 ^= v5 >> 33;
  1077.                         v83 = 624163107;
  1078.                         break;
  1079.                     case 0xCDCE9350:
  1080.                         v83 = 1445755691;
  1081.                         v5 = -7608280755266792109i64 * ((v5 >> 32) ^ v5);
  1082.                         break;
  1083.                     case 0xE51B47DF:
  1084.                         v5 *= -5713253312370912115i64
  1085.                             * *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  1086.                                 0,
  1087.                                 16))
  1088.                                 + 25);
  1089.                         v83 = -440436607;
  1090.                         break;
  1091.                     }
  1092.                 }
  1093.                 else
  1094.                 {
  1095.                     switch ((DWORD)v8)
  1096.                     {
  1097.                     case 0x6E66E1B9:
  1098.                         v85 = (((v5 >> 13) ^ v5) >> 26) ^ (v5 >> 13) ^ v5;
  1099.                         v5 = (v85 >> 52) ^ v85;
  1100.                         v83 = -460373271;
  1101.                         break;
  1102.                     case 0xD3C1A59:
  1103.                         v5 *= -7627514957499353495i64;
  1104.                         v83 = -1893333314;
  1105.                         break;
  1106.                     case 0x3CAD4040:
  1107.                         v5 ^= (((v5 >> 26) ^ v5) >> 52) ^ (v5 >> 26);
  1108.                         v83 = 957251475;
  1109.                         break;
  1110.                     case 0x4BA8CF9F:
  1111.                         v5 = (v5 ^ (v5 >> 34)) * *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(0, 16)) + 9);
  1112.                         v83 = -2040111921;
  1113.                         break;
  1114.                     case 0x6C0621E8:
  1115.                         v84 = ((((-5343560733404936715i64 * v5) >> 11) ^ (-5343560733404936715i64 * v5)) >> 22) ^ ((-5343560733404936715i64 * v5) >> 11) ^ (-5343560733404936715i64 * v5);
  1116.                         v83 = 665775735;
  1117.                         v5 = -3302863742832181443i64 * ((v84 >> 44) ^ v84);
  1118.                         break;
  1119.                     }
  1120.                 }
  1121.                 v8 = v83 ^ (unsigned int)v8;
  1122.             } while ((DWORD)v8 != -1093594792);
  1123.             break;
  1124.         default:
  1125.             v6 = qword_7FF73F5E8275;
  1126.             v88 = -1531642947;
  1127.             IDA_LODWORD(v8) = -211380569;
  1128.             do
  1129.             {
  1130.                 if ((unsigned int)v8 > 0x6CCBDBF1)
  1131.                 {
  1132.                     switch ((DWORD)v8)
  1133.                     {
  1134.                     case 0xAF517755:
  1135.                         v5 *= -427104470671662445i64;
  1136.                         v88 = 1543431172;
  1137.                         break;
  1138.                     case 0xF13C24EC:
  1139.                         v5 *= -421017844244858921i64;
  1140.                         v88 = -1729413572;
  1141.                         break;
  1142.                     case 0xF36696A7:
  1143.                         v93 = ((((764511474151144849i64 * v5) >> 11) ^ (764511474151144849i64 * v5)) >> 22) ^ ((764511474151144849i64 * v5) >> 11) ^ (764511474151144849i64 * v5);
  1144.                         v5 = (v93 >> 44) ^ v93;
  1145.                         v88 = 39498315;
  1146.                         break;
  1147.                     }
  1148.                 }
  1149.                 else
  1150.                 {
  1151.                     switch ((DWORD)v8)
  1152.                     {
  1153.                     case 0x6CCBDBF1:
  1154.                         v91 = (v5 ^ (v5 >> 37))
  1155.                             * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  1156.                                 0,
  1157.                                 16))
  1158.                                 + 25));
  1159.                         v92 = (((v91 >> 10) ^ v91) >> 20) ^ (v91 >> 10) ^ v91;
  1160.                         v5 = (v92 >> 40) ^ v92;
  1161.                         v88 = 432110273;
  1162.                         break;
  1163.                     case 0x10BA5514:
  1164.                         v5 *= -5339116251246344131i64;
  1165.                         v88 = -1039670011;
  1166.                         break;
  1167.                     case 0x2B8F086B:
  1168.                         v5 = ((-4967773153117584823i64 * v5) >> 33) ^ (-4967773153117584823i64 * v5);
  1169.                         v88 = -1284546173;
  1170.                         break;
  1171.                     case 0x5812BABF:
  1172.                         v90 = (((v5 >> 39) ^ v5) >> 29) ^ (v5 >> 39) ^ v5;
  1173.                         v88 = -154193965;
  1174.                         v5 = 3663648700882107923i64 * ((v90 >> 58) ^ v90);
  1175.                         break;
  1176.                     case 0x69D71AD0:
  1177.                         v89 = (v5 ^ (v5 >> 34))
  1178.                             * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
  1179.                                 0,
  1180.                                 16))
  1181.                                 + 9));
  1182.                         v5 = (v89 >> 32) ^ v89;
  1183.                         v88 = 1113068219;
  1184.                         break;
  1185.                     }
  1186.                 }
  1187.                 v8 = v88 ^ (unsigned int)v8;
  1188.             } while ((DWORD)v8 != -1730123288);
  1189.             break;
  1190.         }
  1191.         return v5;
  1192.     }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top