Advertisement
MiaMyLove

modelcheck 1.45

Oct 17th, 2018
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.28 KB | None | 0 0
  1. int __fastcall sub_140CDD37C(__int64 a1, float a2, float a3, float a4, char a5, char a6, signed int a7, _DWORD *a8, char a9, char a10, char a11)
  2. {
  3.   _DWORD *v11; // r13@1
  4.   float v12; // xmm6_4@1
  5.   char v13; // si@1
  6.   __int64 v14; // rax@1
  7.   char v15; // r12@1
  8.   float v16; // xmm0_4@4
  9.   __int64 v17; // rdi@9
  10.   __int64 v18; // rax@12
  11.   __int64 v19; // rax@13
  12.   __int64 v20; // rax@14
  13.   char v21; // r14@15
  14.   int v22; // er8@18
  15.   signed int v23; // ebx@18
  16.   int v24; // edx@18
  17.   int v25; // ecx@19
  18.   unsigned int v26; // er9@19
  19.   __int64 v27; // rax@28
  20.   __int64 v28; // rax@29
  21.   __int64 v29; // rax@32
  22.   __int64 v30; // rbx@35
  23.   __int64 v31; // rdx@36
  24.   __int64 v32; // r8@36
  25.   __int64 v33; // rcx@36
  26.   __int64 v34; // rax@40
  27.   __int64 *v35; // rcx@40
  28.   int v36; // eax@40
  29.   __int64 v37; // rax@42
  30.   __int64 v38; // rdx@43
  31.   __int64 v39; // r8@43
  32.   __int64 v40; // r9@43
  33.   signed int v42; // [sp+30h] [bp-88h]@1
  34.   float v43; // [sp+40h] [bp-78h]@40
  35.   float v44; // [sp+44h] [bp-74h]@40
  36.   float v45; // [sp+48h] [bp-70h]@40
  37.   __int64 v46; // [sp+50h] [bp-68h]@33
  38.   char v47; // [sp+59h] [bp-5Fh]@33
  39.   char v48; // [sp+5Ah] [bp-5Eh]@35
  40.   char v49; // [sp+5Bh] [bp-5Dh]@35
  41.   char v50; // [sp+5Ch] [bp-5Ch]@35
  42.   signed int v51; // [sp+60h] [bp-58h]@35
  43.  
  44.   v11 = a8;
  45.   *a8 = 0;
  46.   v42 = 0xFFFF;
  47.   v12 = a4;
  48.   LODWORD(a8) = ((unsigned int)a8 | 0xFFFFFFF) & 0xFFFFFFF;
  49.   ((void (__fastcall *)(__int64, signed int *))loc_1415F09A0)(a1, &v42);
  50.   v13 = a9;
  51.   LOWORD(a8) = v42;
  52.   LODWORD(v14) = ((unsigned int)a8 | 0xFFF0000) & 0xEFFFFFFF;
  53.   LODWORD(a8) = ((unsigned int)a8 | 0xFFF0000) & 0xEFFFFFFF;
  54.   v15 = a9 != 0 ? a10 : 0;
  55.   if ( (unsigned __int16)v42 != 0xFFFF && a2 < 16000.0 && a3 < 16000.0 )
  56.   {
  57.     v16 = a4;
  58.     if ( a4 < 2700.0 )
  59.     {
  60.       if ( !byte_1427FA410 || !a9 || (LODWORD(v14) = sub_140A11094(), v14) || a6 )
  61.       {
  62.         *(_WORD *)&a9 = sub_1415F0E48(&a8);
  63.         *(_DWORD *)&a9 = (((unsigned int)a8 ^ (((unsigned int)a8 ^ a9) & 0xFFF0000 ^ a9) & 0xDFFFFFFF) & 0x10000000 ^ (((unsigned int)a8 ^ a9) & 0xFFF0000 ^ a9) & 0xDFFFFFFF) & 0x3FFFFFFF;
  64.         LODWORD(v14) = sub_14001074C(&a9);
  65.         v17 = v14;
  66.         if ( v14 )
  67.         {
  68.           if ( (*(_DWORD *)(v14 + 80) >> 4) & 1 )
  69.           {
  70.             if ( !v15
  71.               || (LODWORD(v18) = sub_140A11094(), !v18)
  72.               || (LODWORD(v19) = sub_140A11094(), !*(_QWORD *)(v19 + 72))
  73.               || (LODWORD(v20) = sub_140A11094(),
  74.                   LODWORD(v14) = (*(int (__fastcall **)(_QWORD))((char *)&off_141564098 + 4))(*(_QWORD *)(v20 + 72)),
  75.                   (_BYTE)v14) )
  76.             {
  77.               v21 = a11;
  78.               LODWORD(v14) = *(_DWORD *)(v17 + 80) >> 19;
  79.               if ( !(v14 & 1) || a11 || !byte_1427FA410 )
  80.               {
  81.                 v22 = 0;
  82.                 v23 = -1;
  83.                 v24 = (unsigned __int16)dword_142437EA0 - 1;
  84.                 if ( v24 < 0 )
  85.                 {
  86. LABEL_24:
  87.                   v25 = -1;
  88.                 }
  89.                 else
  90.                 {
  91.                   while ( 1 )
  92.                   {
  93.                     v25 = (v24 + v22) >> 1;
  94.                     LODWORD(v14) = v25;
  95.                     v26 = *(_DWORD *)(qword_142437E98 + 4i64 * v25);
  96.                     if ( *(_DWORD *)(v17 + 24) == v26 )
  97.                       break;
  98.                     if ( *(_DWORD *)(v17 + 24) >= v26 )
  99.                       v22 = v25 + 1;
  100.                     else
  101.                       v24 = v25 - 1;
  102.                     if ( v22 > v24 )
  103.                       goto LABEL_24;
  104.                   }
  105.                 }
  106.                 if ( v25 == -1 || !byte_1427FA410 )
  107.                 {
  108.                   if ( !byte_1427FA3FF )
  109.                   {
  110.                     LODWORD(v27) = sub_140A11094();
  111.                     if ( v27 )
  112.                     {
  113.                       LODWORD(v28) = sub_140A11094();
  114.                       if ( *(_BYTE *)(v28 + 174) & 4 )
  115.                       {
  116.                         if ( byte_1427FA3FD )
  117.                         {
  118.                           v13 = 0;
  119.                         }
  120.                         else
  121.                         {
  122.                           LODWORD(v29) = sub_140A11094();
  123.                           *(_BYTE *)(v29 + 174) &= 0xFBu;
  124.                         }
  125.                       }
  126.                     }
  127.                   }
  128.                   LOWORD(v42) = sub_1415F0E48(&a8);
  129.                   v42 = (((unsigned int)a8 ^ (((unsigned int)a8 ^ v42) & 0xFFF0000 ^ v42) & 0xDFFFFFFF) & 0x10000000 ^ (((unsigned int)a8 ^ v42) & 0xFFF0000 ^ v42) & 0xDFFFFFFF) & 0x3FFFFFFF;
  130.                   sub_140105BB8(&v46, &v42, 4i64);
  131.                   v47 = 1;
  132.                   if ( a7 >= 0 )
  133.                     v23 = a7;
  134.                   v48 = v13;
  135.                   v49 = v13;
  136.                   v51 = v23;
  137.                   v50 = v21;
  138.                   LODWORD(v14) = sub_14073ADFC(&v46);
  139.                   v30 = v14;
  140.                   if ( v14 )
  141.                   {
  142.                     sub_140145B40(v14);
  143.                     *(_DWORD *)(v30 + 392) &= 0xFDFFFFFF;
  144.                     v33 = (unsigned int)(v13 == 0) << 25;
  145.                     *(_DWORD *)(v30 + 392) |= v33;
  146.                     if ( a4 <= -200.0 )
  147.                     {
  148.                       v16 = 0.0;
  149.                       sub_1407095F8(v33, v31, v32, 4i64);
  150.                       v12 = 0.0;
  151.                     }
  152.                     if ( a5 )
  153.                     {
  154.                       sub_1408F1678(v30);
  155.                       v12 = v12 + v16;
  156.                     }
  157.                     v34 = *(_QWORD *)v30;
  158.                     v43 = a2;
  159.                     v44 = a3;
  160.                     v45 = v12;
  161.                     LOBYTE(v32) = 1;
  162.                     (*(void (__fastcall **)(__int64, float *, __int64))(v34 + 200))(v30, &v43, v32);
  163.                     (*(void (__fastcall **)(__int64))(*(_QWORD *)v30 + 208i64))(v30);
  164.                     sub_1408D7814(v30, (unsigned int)dword_141CED968, 0i64);
  165.                     v35 = (__int64 *)(v30 + 240);
  166.                     v36 = *(_DWORD *)(v30 + 376);
  167.                     if ( !(v36 & 0x10) )
  168.                       *(_DWORD *)(v30 + 376) = v36 & 0xFFFFF7FF | 8;
  169.                     v37 = *v35;
  170.                     *(_OWORD *)&v43 = *(_OWORD *)(v30 + 144);
  171.                     (*(void (__fastcall **)(__int64 *, float *))(v37 + 8))(v35, &v43);
  172.                     (*(void (__fastcall **)(__int64))(*(_QWORD *)v30 + 368i64))(v30);
  173.                     sub_140A0B118(v30);
  174.                     LODWORD(v14) = sub_140A11250(v30);
  175.                     *v11 = v14;
  176.                     if ( a6 )
  177.                     {
  178.                       LODWORD(v14) = sub_140A110C4();
  179.                       if ( v14 )
  180.                       {
  181.                         *(_DWORD *)(v30 + 176) |= 8u;
  182.                         LOBYTE(v40) = 1;
  183.                         LOBYTE(v39) = v13;
  184.                         LOBYTE(v38) = v15;
  185.                         LODWORD(v14) = sub_140A19494(v30, v38, v39, v40);
  186.                       }
  187.                     }
  188.                     if ( *(_DWORD *)(v17 + 24) == -488621636 )
  189.                       LODWORD(v14) = sub_140145B40(v30);
  190.                   }
  191.                 }
  192.               }
  193.             }
  194.           }
  195.         }
  196.       }
  197.     }
  198.   }
  199.   return v14;
  200. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement