Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 9.26 KB | None | 0 0
  1. Quazal::qResult *__thiscall Quazal::NameSpace::StreamOut(Quazal::NameSpace *this, Quazal::qResult *a2, struct Quazal::BinaryRepresentation *a3, bool a4)
  2. {
  3.   Quazal::NameSpace *v4; // ebp
  4.   struct Quazal::BinaryRepresentation *v5; // edi
  5.   Quazal::NameSpaceItem *v6; // esi
  6.   Quazal::DOClassDeclaration *v7; // eax
  7.   Quazal::NameSpaceItem *v8; // eax
  8.   bool v9; // zf
  9.   int v10; // eax
  10.   Quazal::DatasetDeclaration *v11; // eax
  11.   Quazal::Declaration *v12; // eax
  12.   Quazal::PropertyDeclaration *v13; // eax
  13.   Quazal::Variable *v14; // eax
  14.   Quazal::Declaration *v15; // eax
  15.   Quazal::DDLUnitDeclaration *v16; // eax
  16.   Quazal::NameSpaceItem *v17; // eax
  17.   Quazal::Declaration *v18; // eax
  18.   int v20; // [esp+Ch] [ebp-4h]
  19.  
  20.   v4 = this;
  21.   if ( !a4 )
  22.     Quazal::NameSpace::Clear(this);
  23.   v5 = a3;
  24.   v20 = 0;
  25.   Quazal::BinaryRepresentation::operator>>(a3, &v20);
  26.   if ( v20 )
  27.   {
  28.     while ( 1 )
  29.     {
  30.       LOBYTE(a3) = 0;
  31.       Quazal::BinaryRepresentation::operator>>(v5, &a3);
  32.       v6 = 0;
  33.       switch ( a3 )
  34.       {
  35.         case 1u:
  36.           v17 = Quazal::RootObject::operator new(
  37.                   0x14u,
  38.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  39.                   0xDBu);
  40.           if ( !v17 )
  41.             goto LABEL_11;
  42.           v8 = Quazal::NameSpaceItem::NameSpaceItem(v17, v5);
  43.           goto LABEL_7;
  44.         case 2u:
  45.           v18 = Quazal::RootObject::operator new(
  46.                   0x48u,
  47.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  48.                   0xDEu);
  49.           if ( !v18 )
  50.             goto LABEL_11;
  51.           v8 = Quazal::Declaration::Declaration(v18, v5);
  52.           goto LABEL_7;
  53.         case 3u:
  54.           v7 = Quazal::RootObject::operator new(
  55.                  0x80u,
  56.                  "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  57.                  0xA8u);
  58.           if ( !v7 )
  59.             goto LABEL_11;
  60.           v8 = Quazal::DOClassDeclaration::DOClassDeclaration(v7, v5);
  61.           goto LABEL_7;
  62.         case 4u:
  63.           v11 = Quazal::RootObject::operator new(
  64.                   0x6Cu,
  65.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  66.                   0xABu);
  67.           if ( !v11 )
  68.             goto LABEL_11;
  69.           v8 = Quazal::DatasetDeclaration::DatasetDeclaration(v11, v5);
  70.           goto LABEL_7;
  71.         case 5u:
  72.           v12 = Quazal::RootObject::operator new(
  73.                   0x48u,
  74.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  75.                   0xAEu);
  76.           if ( !v12 )
  77.             goto LABEL_11;
  78.           v8 = sub_102409A0(v12, v5);
  79.           goto LABEL_7;
  80.         case 6u:
  81.           v14 = Quazal::RootObject::operator new(
  82.                   0x28u,
  83.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  84.                   0xB4u);
  85.           if ( !v14 )
  86.             goto LABEL_11;
  87.           v8 = Quazal::Variable::Variable(v14, v5);
  88.           goto LABEL_7;
  89.         case 8u:
  90.           if ( !Quazal::RootObject::operator new(
  91.                   0x6Cu,
  92.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  93.                   0xB7u) )
  94.             goto LABEL_11;
  95.           v8 = sub_10241440(v5);
  96.           goto LABEL_7;
  97.         case 9u:
  98.           if ( !Quazal::RootObject::operator new(
  99.                   0x6Cu,
  100.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  101.                   0xBAu) )
  102.             goto LABEL_11;
  103.           v8 = sub_102412D0(v5);
  104.           goto LABEL_7;
  105.         case 0xAu:
  106.           if ( !Quazal::RootObject::operator new(
  107.                   0x48u,
  108.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  109.                   0xD8u) )
  110.             goto LABEL_11;
  111.           v8 = sub_10240820(v5);
  112.           goto LABEL_7;
  113.         case 0xBu:
  114.           v13 = Quazal::RootObject::operator new(
  115.                   0x50u,
  116.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  117.                   0xB1u);
  118.           if ( !v13 )
  119.             goto LABEL_11;
  120.           v8 = Quazal::PropertyDeclaration::PropertyDeclaration(v13, v5);
  121.           goto LABEL_7;
  122.         case 0xCu:
  123.           if ( !Quazal::RootObject::operator new(
  124.                   0x6Cu,
  125.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  126.                   0xCFu) )
  127.             goto LABEL_11;
  128.           v8 = sub_102415B0(v5);
  129.           goto LABEL_7;
  130.         case 0xDu:
  131.           if ( !Quazal::RootObject::operator new(
  132.                   0x2Cu,
  133.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  134.                   0xBDu) )
  135.             goto LABEL_11;
  136.           v8 = sub_10243F90(v5);
  137.           goto LABEL_7;
  138.         case 0xEu:
  139.           if ( !Quazal::RootObject::operator new(
  140.                   0x28u,
  141.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  142.                   0xC0u) )
  143.             goto LABEL_11;
  144.           v8 = sub_10243A50(v5);
  145.           goto LABEL_7;
  146.         case 0xFu:
  147.           if ( !Quazal::RootObject::operator new(
  148.                   0x7Cu,
  149.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  150.                   0xC3u) )
  151.             goto LABEL_11;
  152.           v8 = sub_10240B00(v5);
  153.           goto LABEL_7;
  154.         case 0x10u:
  155.           if ( !Quazal::RootObject::operator new(
  156.                   0x4Cu,
  157.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  158.                   0xC9u) )
  159.             goto LABEL_11;
  160.           v8 = sub_10241630(v5);
  161.           goto LABEL_7;
  162.         case 0x11u:
  163.           if ( !Quazal::RootObject::operator new(
  164.                   0x48u,
  165.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  166.                   0xC6u) )
  167.             goto LABEL_11;
  168.           v8 = sub_10241760(v5);
  169.           goto LABEL_7;
  170.         case 0x12u:
  171.           v15 = Quazal::RootObject::operator new(
  172.                   0x74u,
  173.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  174.                   0xCCu);
  175.           if ( !v15 )
  176.             goto LABEL_11;
  177.           v8 = sub_102423A0(v15, v5);
  178.           goto LABEL_7;
  179.         case 0x13u:
  180.           v16 = Quazal::RootObject::operator new(
  181.                   0x50u,
  182.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  183.                   0xD2u);
  184.           if ( !v16 )
  185.             goto LABEL_11;
  186.           v8 = Quazal::DDLUnitDeclaration::DDLUnitDeclaration(v16, v5);
  187.           goto LABEL_7;
  188.         case 0x14u:
  189.           if ( !Quazal::RootObject::operator new(
  190.                   0x48u,
  191.                   "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  192.                   0xD5u) )
  193.           {
  194. LABEL_11:
  195.             v6 = 0;
  196. LABEL_8:
  197.             Quazal::SystemChecker::SystemCheck(
  198.               "pNewItem!=NULL",
  199.               "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  200.               0xE3u);
  201.             goto LABEL_9;
  202.           }
  203.           v8 = sub_102410C0(v5);
  204. LABEL_7:
  205.           v6 = v8;
  206.           if ( !v8 )
  207.             goto LABEL_8;
  208. LABEL_9:
  209.           a3 = v6;
  210.           v9 = Quazal::NameSpace::GetItem(v4, (v6 + 8)) == 0;
  211.           v10 = *v6;
  212.           if ( v9 )
  213.           {
  214.             (*(v10 + 56))(v6, v4);
  215.             sub_1010E470(*v4, *(v4 + 5), &a3);
  216.           }
  217.           else
  218.           {
  219.             (*(v10 + 8))(v6);
  220.             if ( a4 != 1 )
  221.               Quazal::SystemChecker::SystemCheck(
  222.                 "bExpandCurrentTree",
  223.                 "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  224.                 0xE8u);
  225.           }
  226.           if ( !--v20 )
  227.             goto LABEL_52;
  228.           break;
  229.         default:
  230.           Quazal::SystemChecker::SystemCheck(
  231.             "false",
  232.             "D:/work/gro/sin-gro-code/refactor/Yeti/engine/ExternLibs/OnlineSDK/1.4.1/OnlineCore/src/ParseTree/NameSpace.cpp",
  233.             0xE1u);
  234.           goto LABEL_8;
  235.       }
  236.     }
  237.   }
  238. LABEL_52:
  239.   Quazal::NameSpace::ResolveReferences(v4);
  240.   a4 = *(v5 + 40) == 0;
  241.   Quazal::qResult::qResult(a2, &a4);
  242.   return a2;
  243. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement