Advertisement
Earthcomputer

ZoomLayer.cpp

Nov 28th, 2018
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.76 KB | None | 0 0
  1. __int64 __fastcall ZoomLayer::fillArea(ZoomLayer *this, LayerData *a2, int a3, int a4, int a5, signed int a6)
  2. {
  3.   __int64 v6; // rax
  4.   int v7; // eax
  5.   int v8; // ecx
  6.   int v9; // eax
  7.   int v10; // eax
  8.   int v11; // ecx
  9.   int v12; // ST3C_4
  10.   int v14; // [rsp+40h] [rbp-10B0h]
  11.   int v15; // [rsp+48h] [rbp-10A8h]
  12.   __int64 v16; // [rsp+50h] [rbp-10A0h]
  13.   __int64 *v17; // [rsp+58h] [rbp-1098h]
  14.   int v18; // [rsp+64h] [rbp-108Ch]
  15.   int v19; // [rsp+68h] [rbp-1088h]
  16.   int v20; // [rsp+6Ch] [rbp-1084h]
  17.   int v21; // [rsp+70h] [rbp-1080h]
  18.   __int64 v22; // [rsp+74h] [rbp-107Ch]
  19.   __int64 v23; // [rsp+7Ch] [rbp-1074h]
  20.   int v24; // [rsp+84h] [rbp-106Ch]
  21.   unsigned int v25; // [rsp+88h] [rbp-1068h]
  22.   int v26; // [rsp+8Ch] [rbp-1064h]
  23.   int v27; // [rsp+90h] [rbp-1060h]
  24.   int v28; // [rsp+98h] [rbp-1058h]
  25.   __int64 v29; // [rsp+A0h] [rbp-1050h]
  26.   __int64 *v30; // [rsp+A8h] [rbp-1048h]
  27.   int v31[1026]; // [rsp+B0h] [rbp-1040h]
  28.   unsigned int v32; // [rsp+10B8h] [rbp-38h]
  29.   unsigned int v33; // [rsp+10BCh] [rbp-34h]
  30.   unsigned int v34; // [rsp+10C0h] [rbp-30h]
  31.   unsigned int v35; // [rsp+10C4h] [rbp-2Ch]
  32.   unsigned int v36; // [rsp+10C8h] [rbp-28h]
  33.   unsigned int v37; // [rsp+10CCh] [rbp-24h]
  34.   unsigned int v38; // [rsp+10D0h] [rbp-20h]
  35.   int v39; // [rsp+10D4h] [rbp-1Ch]
  36.   int v40; // [rsp+10D8h] [rbp-18h]
  37.   int v41; // [rsp+10DCh] [rbp-14h]
  38.   LayerData *v42; // [rsp+10E0h] [rbp-10h]
  39.   ZoomLayer *v43; // [rsp+10E8h] [rbp-8h]
  40.  
  41.   v43 = this;
  42.   v42 = a2;
  43.   v41 = a3;
  44.   v40 = a4;
  45.   v39 = a5;
  46.   v38 = a6;
  47.   v37 = a3 >> 1;
  48.   v36 = a4 >> 1;
  49.   v35 = (a5 >> 1) + 2;
  50.   v34 = (a6 >> 1) + 2;
  51.   v6 = std::__shared_ptr<Layer,(__gnu_cxx::_Lock_policy)2>::operator->((char *)this + 48);
  52.   (*(void (__fastcall **)(__int64, LayerData *, _QWORD, _QWORD, _QWORD, _QWORD))(*(_QWORD *)v6 + 24LL))(
  53.     v6,
  54.     a2,
  55.     v37,
  56.     v36,
  57.     v35,
  58.     v34);
  59.   v33 = 2 * (v35 - 1);
  60.   v32 = 2 * (v34 - 1);
  61.   v29 = range<int,1>(v34 - 1);
  62.   v30 = &v29;
  63.   v28 = Range<int,1>::begin(&v29);
  64.   v27 = Range<int,1>::end(v30);
  65.   while ( Range<int,1>::iterator::operator!=(&v28, &v27) & 1 )
  66.   {
  67.     v26 = Range<int,1>::iterator::operator*(&v28);
  68.     v25 = v33 * 2 * v26;
  69.     v24 = 0;
  70.     HIDWORD(v23) = *(_DWORD *)(*(_QWORD *)v42 + 4LL * (signed int)(v35 * v26));
  71.     LODWORD(v23) = *(_DWORD *)(*(_QWORD *)v42 + 4LL * (signed int)(v35 * (v26 + 1)));
  72.     while ( v24 < (signed int)(v35 - 1) )
  73.     {
  74.       Layer::initRandom(this, (signed int)(2 * (v37 + v24)), (signed int)(2 * (v36 + v26)));
  75.       HIDWORD(v22) = *(_DWORD *)(*(_QWORD *)v42 + 4LL * (signed int)(v35 * v26 + v24 + 1));
  76.       LODWORD(v22) = *(_DWORD *)(*(_QWORD *)v42 + 4LL * (signed int)(v35 * (v26 + 1) + v24 + 1));
  77.       v31[v25] = HIDWORD(v23);
  78.       v20 = HIDWORD(v23);
  79.       v21 = v23;
  80.       v7 = Layer::_random(this, &v20, 2);
  81.       v8 = v25++;
  82.       v31[v33 + v8] = v7;
  83.       v18 = HIDWORD(v23);
  84.       v19 = HIDWORD(v22);
  85.       v9 = Layer::_random(this, &v18, 2);
  86.       v31[v25] = v9;
  87.       v10 = (*(__int64 (__fastcall **)(ZoomLayer *, _QWORD, _QWORD, _QWORD, _QWORD))(*(_QWORD *)this + 32LL))(
  88.               this,
  89.               HIDWORD(v23),
  90.               HIDWORD(v22),
  91.               (unsigned int)v23,
  92.               (unsigned int)v22);
  93.       v11 = v25++;
  94.       v31[v33 + v11] = v10;
  95.       v23 = v22;
  96.       ++v24;
  97.     }
  98.     Range<int,1>::iterator::operator++(&v28);
  99.   }
  100.   v16 = range<int,1>(v38);
  101.   v17 = &v16;
  102.   v15 = Range<int,1>::begin(&v16);
  103.   v14 = Range<int,1>::end(v17);
  104.   while ( Range<int,1>::iterator::operator!=(&v15, &v14) & 1 )
  105.   {
  106.     v12 = Range<int,1>::iterator::operator*(&v15);
  107.     memcpy((void *)(4LL * v39 * v12 + *((_QWORD *)v42 + 1)), &v31[(v41 & 1) + v33 * ((v40 & 1) + v12)], 4LL * v39);
  108.     Range<int,1>::iterator::operator++(&v15);
  109.   }
  110.   return LayerData::swap(v42);
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement