ASI WindowModeAltFixByCake

Cake_

Потрачен
Автор темы
Проверенный
263
313
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Версия SA-MP
  1. Любая
bsCSkEI.png
Описание: Плагин исправляет появления зависаний/звуков ошибок/микро сворачиваний при нажатии клавиши ALT в оконном режиме. Название плагина не менять.

Требования: ASI Loader, gta_sa.exe US 1.0.
Активация: Автоматическая.
Автор: @Cake_
 

Вложения

  • WindowModeAltFixByCake.asi
    46.5 KB · Просмотры: 1,619

loganhackerdff

Известный
868
519
Внатуре класс, а как оно работает? Переводит в оконный без рамки?
 

Cake_

Потрачен
Автор темы
Проверенный
263
313
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

MisterTuk

Известный
110
6
А баг с исчезновением открытой таблички при сворачивании игры он исправляет?
 

VladislavR

Участник
57
7
Ну или установить sampfuncs и там поставить оконный режим. Проблем тоже не будет.
 

Cake_

Потрачен
Автор темы
Проверенный
263
313
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Carrentine

Потрачен
569
463
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
BOOL __stdcall DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
  int v3; // ecx
  void **v4; // eax
  void **v5; // eax
  const CHAR *v6; // eax
  CHAR *v7; // ecx
  int v8; // edx
  int v9; // ecx
  int v10; // eax
  int v11; // ecx
  LPCSTR *v12; // eax
  LPCSTR *v13; // eax
  unsigned int v14; // edi
  struct std::_Facet_base *v15; // esi
  int v16; // eax
  struct std::_Facet_base *v17; // esi
  void **v18; // esi
  void **v19; // edx
  CHAR *v20; // ecx
  int v21; // edx
  unsigned int v22; // eax
  bool v23; // cf
  bool v24; // zf
  int *v25; // eax
  void *v26; // edx
  int v27; // ecx
  int v28; // eax
  int v29; // eax
  int v30; // ecx
  void **v31; // eax
  void **v32; // eax
  size_t v33; // ecx
  size_t v34; // edi
  void **v35; // eax
  void **v36; // eax
  void *v37; // eax
  void **v38; // eax
  int v39; // esi
  int v40; // ecx
  void **v41; // eax
  void **v42; // eax
  const CHAR *v43; // eax
  CHAR *v44; // ecx
  int v45; // edx
  void (__thiscall ***v46)(_DWORD, signed int); // eax
  void *v48; // [esp+10h] [ebp-248h]
  int v49; // [esp+20h] [ebp-238h]
  unsigned int v50; // [esp+24h] [ebp-234h]
  void *v51; // [esp+28h] [ebp-230h]
  int v52; // [esp+38h] [ebp-220h]
  unsigned int v53; // [esp+3Ch] [ebp-21Ch]
  LPCSTR lpText[4]; // [esp+40h] [ebp-218h]
  __int64 v55; // [esp+50h] [ebp-208h]
  void *v56; // [esp+58h] [ebp-200h]
  size_t Size; // [esp+68h] [ebp-1F0h]
  unsigned int v58; // [esp+6Ch] [ebp-1ECh]
  void *v59[4]; // [esp+70h] [ebp-1E8h]
  __int64 v60; // [esp+80h] [ebp-1D8h]
  void *v61[4]; // [esp+88h] [ebp-1D0h]
  size_t v62[2]; // [esp+98h] [ebp-1C0h]
  void *v63[4]; // [esp+A0h] [ebp-1B8h]
  __int64 v64; // [esp+B0h] [ebp-1A8h]
  LPCSTR lpModuleName[4]; // [esp+B8h] [ebp-1A0h]
  __int64 v66; // [esp+C8h] [ebp-190h]
  void *Memory[4]; // [esp+D0h] [ebp-188h]
  __int64 v68; // [esp+E0h] [ebp-178h]
  bool v69; // [esp+EBh] [ebp-16Dh]
  struct std::_Facet_base *v70; // [esp+ECh] [ebp-16Ch]
  int Dst; // [esp+F0h] [ebp-168h]
  char v72; // [esp+F4h] [ebp-164h]
  __int128 v73; // [esp+F8h] [ebp-160h]
  int v74; // [esp+108h] [ebp-150h]
  char v75; // [esp+10Ch] [ebp-14Ch]
  int v76; // [esp+110h] [ebp-148h]
  int v77; // [esp+114h] [ebp-144h]
  char v78; // [esp+118h] [ebp-140h]
  int v79; // [esp+11Ch] [ebp-13Ch]
  int v80; // [esp+120h] [ebp-138h]
  char v81; // [esp+124h] [ebp-134h]
  struct std::_Facet_base *v82; // [esp+12Ch] [ebp-12Ch]
  __int128 v83; // [esp+130h] [ebp-128h]
  struct std::locale::_Locimp *v84; // [esp+140h] [ebp-118h]
  void *Src; // [esp+144h] [ebp-114h]
  CHAR Filename; // [esp+148h] [ebp-110h]
  int v87; // [esp+254h] [ebp-4h]

  if ( fdwReason != 1 )
  {
    if ( !fdwReason && !byte_1000C63C )
    {
      SetWindowLongA((HWND)*MEMORY[0xC17054], -4, (LONG)dwNewLong);
      byte_1000C63C = 1;
    }
    return 1;
  }
  v68 = 64424509440i64;
  LOBYTE(Memory[0]) = 0;
  sub_10002580(Memory, "WindowModeAltFixByCake", 0x16u);
  v87 = 0;
  v3 = v68;
  if ( (unsigned int)(HIDWORD(v68) - v68) < 4 )
  {
    LOBYTE(v70) = 0;
    v5 = (void **)sub_10002A60(Memory, 4, (int)v70, (int)".asi", 4u);
  }
  else
  {
    LODWORD(v68) = v68 + 4;
    v4 = Memory;
    if ( HIDWORD(v68) >= 0x10 )
      v4 = (void **)Memory[0];
    *(void **)((char *)v4 + v3) = (void *)1769169198;
    *((_BYTE *)v4 + v3 + 4) = 0;
    v5 = Memory;
  }
  *(_OWORD *)lpModuleName = *(_OWORD *)v5;
  v66 = *((_QWORD *)v5 + 2);
  v5[4] = 0;
  v5[5] = (void *)15;
  *(_BYTE *)v5 = 0;
  v6 = (const CHAR *)lpModuleName;
  if ( HIDWORD(v66) >= 0x10 )
    v6 = lpModuleName[0];
  v69 = GetModuleHandleA(v6) != hinstDLL;
  if ( HIDWORD(v66) >= 0x10 )
  {
    v7 = (CHAR *)lpModuleName[0];
    if ( (unsigned int)(HIDWORD(v66) + 1) >= 0x1000 )
    {
      v7 = (CHAR *)*((_DWORD *)lpModuleName[0] - 1);
      v8 = HIDWORD(v66) + 36;
      if ( (unsigned int)(lpModuleName[0] - (LPCSTR)v7 - 4) > 0x1F )
      {
LABEL_16:
        invalid_parameter_noinfo_noreturn(v7, v8);
        goto LABEL_17;
      }
    }
    sub_100086F1(v7);
  }
  v87 = -1;
  v66 = 64424509440i64;
  LOBYTE(lpModuleName[0]) = 0;
  if ( HIDWORD(v68) < 0x10 )
    goto LABEL_18;
  v7 = (CHAR *)Memory[0];
  if ( (unsigned int)(HIDWORD(v68) + 1) >= 0x1000 )
  {
    v7 = (CHAR *)*((_DWORD *)Memory[0] - 1);
    v8 = HIDWORD(v68) + 36;
    if ( (unsigned int)(Memory[0] - (void *)v7 - 4) > 0x1F )
      goto LABEL_16;
  }
LABEL_17:
  sub_100086F1(v7);
LABEL_18:
  if ( !v69 )
  {
    beginthread(sub_10002190, 0, 0);
    return 1;
  }
  GetModuleFileNameA(hinstDLL, &Filename, 0x100u);
  v84 = 0;
  v49 = 0;
  v83 = 0i64;
  v50 = 15;
  LOBYTE(v48) = 0;
  sub_10002580(&v48, ".asi", 4u);
  v87 = 1;
  v10 = sub_10002BE0((int)&v48, v9, ".*\\\\(.*", 7u);
  v66 = 0i64;
  *(_OWORD *)lpModuleName = *(_OWORD *)v10;
  v66 = *(_QWORD *)(v10 + 16);
  *(_DWORD *)(v10 + 16) = 0;
  *(_DWORD *)(v10 + 20) = 15;
  *(_BYTE *)v10 = 0;
  LOBYTE(v87) = 2;
  v11 = v66;
  if ( (unsigned int)(HIDWORD(v66) - v66) < 1 )
  {
    LOBYTE(v70) = 0;
    v13 = (LPCSTR *)sub_10002A60(lpModuleName, 1, (int)v70, (int)")", 1u);
  }
  else
  {
    LODWORD(v66) = v66 + 1;
    v12 = lpModuleName;
    if ( HIDWORD(v66) >= 0x10 )
      v12 = (LPCSTR *)lpModuleName[0];
    *(_WORD *)((char *)v12 + v11) = 41;
    v13 = lpModuleName;
  }
  v68 = 0i64;
  *(_OWORD *)Memory = *(_OWORD *)v13;
  v68 = *((_QWORD *)v13 + 2);
  v13[4] = 0;
  v13[5] = (LPCSTR)15;
  *(_BYTE *)v13 = 0;
  LODWORD(v83) = 0;
  LOBYTE(v87) = 4;
  v84 = std::locale::_Init(1);
  LOBYTE(v87) = 5;
  DWORD1(v83) = sub_10002EE0((char *)&v83 + 12);
  std::_Lockit::_Lockit((std::_Lockit *)&Src, 0);
  LOBYTE(v87) = 6;
  v70 = (struct std::_Facet_base *)dword_1000C644;
  v14 = std::locale::id::operator unsigned int(std::ctype<char>::id);
  if ( v14 >= *((_DWORD *)v84 + 3) )
  {
    v15 = 0;
  }
  else
  {
    v15 = *(struct std::_Facet_base **)(*((_DWORD *)v84 + 2) + 4 * v14);
    if ( v15 )
      goto LABEL_35;
  }
  if ( !*((_BYTE *)v84 + 20) )
  {
LABEL_31:
    if ( v15 )
      goto LABEL_35;
    goto LABEL_32;
  }
  v16 = std::locale::_Getgloballocale();
  if ( v14 < *(_DWORD *)(v16 + 12) )
  {
    v15 = *(struct std::_Facet_base **)(*(_DWORD *)(v16 + 8) + 4 * v14);
    goto LABEL_31;
  }
LABEL_32:
  v15 = v70;
  if ( !v70 )
  {
    if ( std::ctype<char>::_Getcat(&v70, (char *)&v83 + 12) == -1 )
      sub_100011D0();
    v17 = v70;
    v82 = v70;
    LOBYTE(v87) = 7;
    std::_Facet_Register(v70);
    (*(void (__thiscall **)(struct std::_Facet_base *))(*(_DWORD *)v17 + 4))(v17);
    v15 = v70;
    dword_1000C644 = (int)v70;
  }
LABEL_35:
  std::_Lockit::~_Lockit((std::_Lockit *)&Src);
  DWORD2(v83) = v15;
  LOBYTE(v87) = 8;
  v18 = Memory;
  v19 = Memory;
  if ( HIDWORD(v68) >= 0x10 )
    v18 = (void **)Memory[0];
  if ( HIDWORD(v68) >= 0x10 )
    v19 = (void **)Memory[0];
  sub_10002C90(v19, (char *)v18 + v68, HIDWORD(v68), v82);
  LOBYTE(v87) = 10;
  if ( HIDWORD(v68) >= 0x10 )
  {
    v20 = (CHAR *)Memory[0];
    if ( (unsigned int)(HIDWORD(v68) + 1) >= 0x1000 )
    {
      v20 = (CHAR *)*((_DWORD *)Memory[0] - 1);
      v21 = HIDWORD(v68) + 36;
      if ( (unsigned int)(Memory[0] - (void *)v20 - 4) > 0x1F )
        goto LABEL_50;
    }
    sub_100086F1(v20);
  }
  v68 = 64424509440i64;
  LOBYTE(Memory[0]) = 0;
  LOBYTE(v87) = 11;
  if ( HIDWORD(v66) < 0x10 )
    goto LABEL_47;
  v20 = (CHAR *)lpModuleName[0];
  if ( (unsigned int)(HIDWORD(v66) + 1) >= 0x1000 )
  {
    v20 = (CHAR *)*((_DWORD *)lpModuleName[0] - 1);
    v21 = HIDWORD(v66) + 36;
    if ( (unsigned int)(lpModuleName[0] - (LPCSTR)v20 - 4) > 0x1F )
    {
LABEL_50:
      invalid_parameter_noinfo_noreturn(v20, v21);
      goto LABEL_51;
    }
  }
  sub_100086F1(v20);
LABEL_47:
  v66 = 64424509440i64;
  LOBYTE(lpModuleName[0]) = 0;
  LOBYTE(v87) = 12;
  if ( v50 < 0x10 )
    goto LABEL_52;
  v20 = (CHAR *)v48;
  if ( v50 + 1 >= 0x1000 )
  {
    v20 = (CHAR *)*((_DWORD *)v48 - 1);
    v21 = v50 + 36;
    if ( (unsigned int)((_BYTE *)v48 - v20 - 4) > 0x1F )
      goto LABEL_50;
  }
LABEL_51:
  sub_100086F1(v20);
LABEL_52:
  memset(&Dst, 0, 0x38u);
  Dst = 0;
  v72 = 0;
  v73 = 0i64;
  v74 = 0;
  v75 = 0;
  v76 = 0;
  v77 = 0;
  v78 = 0;
  v79 = 0;
  v80 = 0;
  v81 = 0;
  LOBYTE(v87) = 13;
  if ( !(unsigned __int8)sub_10002740(&v83) )
    goto LABEL_109;
  Size = 0;
  v58 = 15;
  LOBYTE(v56) = 0;
  sub_10002580(&v56, "WindowModeAltFixByCake", 0x16u);
  LOBYTE(v87) = 14;
  v22 = (DWORD1(v73) - (signed int)v73) / 12;
  v23 = v22 < 1;
  v24 = v22 == 1;
  v25 = &v79;
  if ( !v23 && !v24 )
    v25 = (int *)(v73 + 12);
  if ( *((_BYTE *)v25 + 8) )
  {
    v26 = (void *)*v25;
    v27 = *v25;
    v28 = v25[1];
  }
  else
  {
    v26 = 0;
    v28 = 0;
    v27 = 0;
  }
  v52 = 0;
  v53 = 15;
  LOBYTE(v51) = 0;
  if ( v27 != v28 )
    sub_10002580(&v51, v26, v28 - v27);
  LOBYTE(v87) = 15;
  v29 = sub_10002BE0((int)&v51, v27, "Incorrect file name.\nPlease rename: ", 0x24u);
  v60 = 0i64;
  *(_OWORD *)v59 = *(_OWORD *)v29;
  v60 = *(_QWORD *)(v29 + 16);
  *(_DWORD *)(v29 + 16) = 0;
  *(_DWORD *)(v29 + 20) = 15;
  *(_BYTE *)v29 = 0;
  LOBYTE(v87) = 16;
  v30 = v60;
  if ( (unsigned int)(HIDWORD(v60) - v60) < 4 )
  {
    LOBYTE(Src) = 0;
    v32 = (void **)sub_10002A60(v59, 4, (int)Src, (int)" to ", 4u);
  }
  else
  {
    LODWORD(v60) = v60 + 4;
    v31 = v59;
    if ( HIDWORD(v60) >= 0x10 )
      v31 = (void **)v59[0];
    *(void **)((char *)v31 + v30) = (void *)544175136;
    *((_BYTE *)v31 + v30 + 4) = 0;
    v32 = v59;
  }
  v62[0] = 0;
  v62[1] = 0;
  *(_OWORD *)v61 = *(_OWORD *)v32;
  *(_QWORD *)v62 = *((_QWORD *)v32 + 2);
  v32[4] = 0;
  v32[5] = (void *)15;
  *(_BYTE *)v32 = 0;
  LOBYTE(v87) = 17;
  v33 = v62[0];
  v34 = Size;
  if ( Size <= v62[1] - v62[0] || v58 - Size < v62[0] )
  {
    v37 = &v56;
    if ( v58 >= 0x10 )
      v37 = v56;
    Src = v37;
    if ( Size > v62[1] - v62[0] )
    {
      LOBYTE(Src) = 0;
      v36 = (void **)sub_10002A60(v61, Size, (int)Src, (int)v37, Size);
    }
    else
    {
      v62[0] += Size;
      v38 = v61;
      if ( v62[1] >= 0x10 )
        v38 = (void **)v61[0];
      v39 = (int)v38 + v33;
      memmove((char *)v38 + v33, Src, Size);
      *(_BYTE *)(v34 + v39) = 0;
      v36 = v61;
    }
  }
  else
  {
    v35 = v61;
    if ( v62[1] >= 0x10 )
      v35 = (void **)v61[0];
    v36 = (void **)sub_10002BE0((int)&v56, v62[0], v35, v62[0]);
  }
  v64 = 0i64;
  *(_OWORD *)v63 = *(_OWORD *)v36;
  v64 = *((_QWORD *)v36 + 2);
  *(_BYTE *)v36 = 0;
  v36[5] = (void *)15;
  v36[4] = 0;
  LOBYTE(v87) = 18;
  v40 = v64;
  if ( (unsigned int)(HIDWORD(v64) - v64) < 4 )
  {
    LOBYTE(Src) = 0;
    v42 = (void **)sub_10002A60(v63, 4, (int)Src, (int)".asi", 4u);
  }
  else
  {
    LODWORD(v64) = v64 + 4;
    v41 = v63;
    if ( HIDWORD(v64) >= 0x10 )
      v41 = (void **)v63[0];
    *(void **)((char *)v41 + v40) = (void *)1769169198;
    *((_BYTE *)v41 + v40 + 4) = 0;
    v42 = v63;
  }
  *(_OWORD *)lpText = *(_OWORD *)v42;
  v55 = *((_QWORD *)v42 + 2);
  v42[4] = 0;
  v42[5] = (void *)15;
  *(_BYTE *)v42 = 0;
  v43 = (const CHAR *)lpText;
  if ( HIDWORD(v55) >= 0x10 )
    v43 = lpText[0];
  MessageBoxA(0, v43, "WindowModeAltFixByCake", 0);
  if ( HIDWORD(v55) >= 0x10 )
  {
    v44 = (CHAR *)lpText[0];
    if ( (unsigned int)(HIDWORD(v55) + 1) >= 0x1000 )
    {
      v44 = (CHAR *)*((_DWORD *)lpText[0] - 1);
      v45 = HIDWORD(v55) + 36;
      if ( (unsigned int)(lpText[0] - (LPCSTR)v44 - 4) > 0x1F )
        goto LABEL_107;
    }
    sub_100086F1(v44);
  }
  v55 = 64424509440i64;
  LOBYTE(lpText[0]) = 0;
  if ( HIDWORD(v64) >= 0x10 )
  {
    v44 = (CHAR *)v63[0];
    if ( (unsigned int)(HIDWORD(v64) + 1) >= 0x1000 )
    {
      v44 = (CHAR *)*((_DWORD *)v63[0] - 1);
      v45 = HIDWORD(v64) + 36;
      if ( (unsigned int)(v63[0] - (void *)v44 - 4) > 0x1F )
        goto LABEL_107;
    }
    sub_100086F1(v44);
  }
  v64 = 64424509440i64;
  LOBYTE(v63[0]) = 0;
  if ( v62[1] >= 0x10 )
  {
    v44 = (CHAR *)v61[0];
    if ( v62[1] + 1 >= 0x1000 )
    {
      v44 = (CHAR *)*((_DWORD *)v61[0] - 1);
      v45 = v62[1] + 36;
      if ( (unsigned int)(v61[0] - (void *)v44 - 4) > 0x1F )
        goto LABEL_107;
    }
    sub_100086F1(v44);
  }
  v62[0] = 0;
  v62[1] = 15;
  LOBYTE(v61[0]) = 0;
  if ( HIDWORD(v60) >= 0x10 )
  {
    v44 = (CHAR *)v59[0];
    if ( (unsigned int)(HIDWORD(v60) + 1) >= 0x1000 )
    {
      v44 = (CHAR *)*((_DWORD *)v59[0] - 1);
      v45 = HIDWORD(v60) + 36;
      if ( (unsigned int)(v59[0] - (void *)v44 - 4) > 0x1F )
        goto LABEL_107;
    }
    sub_100086F1(v44);
  }
  v60 = 64424509440i64;
  LOBYTE(v59[0]) = 0;
  if ( v53 < 0x10 )
    goto LABEL_104;
  v44 = (CHAR *)v51;
  if ( v53 + 1 >= 0x1000 )
  {
    v44 = (CHAR *)*((_DWORD *)v51 - 1);
    v45 = v53 + 36;
    if ( (unsigned int)((_BYTE *)v51 - v44 - 4) > 0x1F )
    {
LABEL_107:
      invalid_parameter_noinfo_noreturn(v44, v45);
LABEL_108:
      sub_100086F1(v44);
      goto LABEL_109;
    }
  }
  sub_100086F1(v44);
LABEL_104:
  v52 = 0;
  v53 = 15;
  LOBYTE(v51) = 0;
  if ( v58 >= 0x10 )
  {
    v44 = (CHAR *)v56;
    if ( v58 + 1 < 0x1000 )
      goto LABEL_108;
    v44 = (CHAR *)*((_DWORD *)v56 - 1);
    v45 = v58 + 36;
    if ( (unsigned int)((_BYTE *)v56 - v44 - 4) <= 0x1F )
      goto LABEL_108;
    goto LABEL_107;
  }
LABEL_109:
  sub_100021D0(&v73);
  sub_10002530(&v83);
  if ( v84 )
  {
    v46 = (void (__thiscall ***)(_DWORD, signed int))(*(int (**)(void))(*(_DWORD *)v84 + 8))();
    if ( v46 )
      (**v46)(v46, 1);
  }
  return 0;
}

Это IDA ебанулась или ты ебанулся?
 
  • Нравится
Реакции: AnWu

ALF

Известный
Проверенный
320
539
C++:
BOOL __stdcall DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
  int v3; // ecx
  void **v4; // eax
  void **v5; // eax
  const CHAR *v6; // eax
  CHAR *v7; // ecx
  int v8; // edx
  int v9; // ecx
  int v10; // eax
  int v11; // ecx
  LPCSTR *v12; // eax
  LPCSTR *v13; // eax
  unsigned int v14; // edi
  struct std::_Facet_base *v15; // esi
  int v16; // eax
  struct std::_Facet_base *v17; // esi
  void **v18; // esi
  void **v19; // edx
  CHAR *v20; // ecx
  int v21; // edx
  unsigned int v22; // eax
  bool v23; // cf
  bool v24; // zf
  int *v25; // eax
  void *v26; // edx
  int v27; // ecx
  int v28; // eax
  int v29; // eax
  int v30; // ecx
  void **v31; // eax
  void **v32; // eax
  size_t v33; // ecx
  size_t v34; // edi
  void **v35; // eax
  void **v36; // eax
  void *v37; // eax
  void **v38; // eax
  int v39; // esi
  int v40; // ecx
  void **v41; // eax
  void **v42; // eax
  const CHAR *v43; // eax
  CHAR *v44; // ecx
  int v45; // edx
  void (__thiscall ***v46)(_DWORD, signed int); // eax
  void *v48; // [esp+10h] [ebp-248h]
  int v49; // [esp+20h] [ebp-238h]
  unsigned int v50; // [esp+24h] [ebp-234h]
  void *v51; // [esp+28h] [ebp-230h]
  int v52; // [esp+38h] [ebp-220h]
  unsigned int v53; // [esp+3Ch] [ebp-21Ch]
  LPCSTR lpText[4]; // [esp+40h] [ebp-218h]
  __int64 v55; // [esp+50h] [ebp-208h]
  void *v56; // [esp+58h] [ebp-200h]
  size_t Size; // [esp+68h] [ebp-1F0h]
  unsigned int v58; // [esp+6Ch] [ebp-1ECh]
  void *v59[4]; // [esp+70h] [ebp-1E8h]
  __int64 v60; // [esp+80h] [ebp-1D8h]
  void *v61[4]; // [esp+88h] [ebp-1D0h]
  size_t v62[2]; // [esp+98h] [ebp-1C0h]
  void *v63[4]; // [esp+A0h] [ebp-1B8h]
  __int64 v64; // [esp+B0h] [ebp-1A8h]
  LPCSTR lpModuleName[4]; // [esp+B8h] [ebp-1A0h]
  __int64 v66; // [esp+C8h] [ebp-190h]
  void *Memory[4]; // [esp+D0h] [ebp-188h]
  __int64 v68; // [esp+E0h] [ebp-178h]
  bool v69; // [esp+EBh] [ebp-16Dh]
  struct std::_Facet_base *v70; // [esp+ECh] [ebp-16Ch]
  int Dst; // [esp+F0h] [ebp-168h]
  char v72; // [esp+F4h] [ebp-164h]
  __int128 v73; // [esp+F8h] [ebp-160h]
  int v74; // [esp+108h] [ebp-150h]
  char v75; // [esp+10Ch] [ebp-14Ch]
  int v76; // [esp+110h] [ebp-148h]
  int v77; // [esp+114h] [ebp-144h]
  char v78; // [esp+118h] [ebp-140h]
  int v79; // [esp+11Ch] [ebp-13Ch]
  int v80; // [esp+120h] [ebp-138h]
  char v81; // [esp+124h] [ebp-134h]
  struct std::_Facet_base *v82; // [esp+12Ch] [ebp-12Ch]
  __int128 v83; // [esp+130h] [ebp-128h]
  struct std::locale::_Locimp *v84; // [esp+140h] [ebp-118h]
  void *Src; // [esp+144h] [ebp-114h]
  CHAR Filename; // [esp+148h] [ebp-110h]
  int v87; // [esp+254h] [ebp-4h]

  if ( fdwReason != 1 )
  {
    if ( !fdwReason && !byte_1000C63C )
    {
      SetWindowLongA((HWND)*MEMORY[0xC17054], -4, (LONG)dwNewLong);
      byte_1000C63C = 1;
    }
    return 1;
  }
  v68 = 64424509440i64;
  LOBYTE(Memory[0]) = 0;
  sub_10002580(Memory, "WindowModeAltFixByCake", 0x16u);
  v87 = 0;
  v3 = v68;
  if ( (unsigned int)(HIDWORD(v68) - v68) < 4 )
  {
    LOBYTE(v70) = 0;
    v5 = (void **)sub_10002A60(Memory, 4, (int)v70, (int)".asi", 4u);
  }
  else
  {
    LODWORD(v68) = v68 + 4;
    v4 = Memory;
    if ( HIDWORD(v68) >= 0x10 )
      v4 = (void **)Memory[0];
    *(void **)((char *)v4 + v3) = (void *)1769169198;
    *((_BYTE *)v4 + v3 + 4) = 0;
    v5 = Memory;
  }
  *(_OWORD *)lpModuleName = *(_OWORD *)v5;
  v66 = *((_QWORD *)v5 + 2);
  v5[4] = 0;
  v5[5] = (void *)15;
  *(_BYTE *)v5 = 0;
  v6 = (const CHAR *)lpModuleName;
  if ( HIDWORD(v66) >= 0x10 )
    v6 = lpModuleName[0];
  v69 = GetModuleHandleA(v6) != hinstDLL;
  if ( HIDWORD(v66) >= 0x10 )
  {
    v7 = (CHAR *)lpModuleName[0];
    if ( (unsigned int)(HIDWORD(v66) + 1) >= 0x1000 )
    {
      v7 = (CHAR *)*((_DWORD *)lpModuleName[0] - 1);
      v8 = HIDWORD(v66) + 36;
      if ( (unsigned int)(lpModuleName[0] - (LPCSTR)v7 - 4) > 0x1F )
      {
LABEL_16:
        invalid_parameter_noinfo_noreturn(v7, v8);
        goto LABEL_17;
      }
    }
    sub_100086F1(v7);
  }
  v87 = -1;
  v66 = 64424509440i64;
  LOBYTE(lpModuleName[0]) = 0;
  if ( HIDWORD(v68) < 0x10 )
    goto LABEL_18;
  v7 = (CHAR *)Memory[0];
  if ( (unsigned int)(HIDWORD(v68) + 1) >= 0x1000 )
  {
    v7 = (CHAR *)*((_DWORD *)Memory[0] - 1);
    v8 = HIDWORD(v68) + 36;
    if ( (unsigned int)(Memory[0] - (void *)v7 - 4) > 0x1F )
      goto LABEL_16;
  }
LABEL_17:
  sub_100086F1(v7);
LABEL_18:
  if ( !v69 )
  {
    beginthread(sub_10002190, 0, 0);
    return 1;
  }
  GetModuleFileNameA(hinstDLL, &Filename, 0x100u);
  v84 = 0;
  v49 = 0;
  v83 = 0i64;
  v50 = 15;
  LOBYTE(v48) = 0;
  sub_10002580(&v48, ".asi", 4u);
  v87 = 1;
  v10 = sub_10002BE0((int)&v48, v9, ".*\\\\(.*", 7u);
  v66 = 0i64;
  *(_OWORD *)lpModuleName = *(_OWORD *)v10;
  v66 = *(_QWORD *)(v10 + 16);
  *(_DWORD *)(v10 + 16) = 0;
  *(_DWORD *)(v10 + 20) = 15;
  *(_BYTE *)v10 = 0;
  LOBYTE(v87) = 2;
  v11 = v66;
  if ( (unsigned int)(HIDWORD(v66) - v66) < 1 )
  {
    LOBYTE(v70) = 0;
    v13 = (LPCSTR *)sub_10002A60(lpModuleName, 1, (int)v70, (int)")", 1u);
  }
  else
  {
    LODWORD(v66) = v66 + 1;
    v12 = lpModuleName;
    if ( HIDWORD(v66) >= 0x10 )
      v12 = (LPCSTR *)lpModuleName[0];
    *(_WORD *)((char *)v12 + v11) = 41;
    v13 = lpModuleName;
  }
  v68 = 0i64;
  *(_OWORD *)Memory = *(_OWORD *)v13;
  v68 = *((_QWORD *)v13 + 2);
  v13[4] = 0;
  v13[5] = (LPCSTR)15;
  *(_BYTE *)v13 = 0;
  LODWORD(v83) = 0;
  LOBYTE(v87) = 4;
  v84 = std::locale::_Init(1);
  LOBYTE(v87) = 5;
  DWORD1(v83) = sub_10002EE0((char *)&v83 + 12);
  std::_Lockit::_Lockit((std::_Lockit *)&Src, 0);
  LOBYTE(v87) = 6;
  v70 = (struct std::_Facet_base *)dword_1000C644;
  v14 = std::locale::id::operator unsigned int(std::ctype<char>::id);
  if ( v14 >= *((_DWORD *)v84 + 3) )
  {
    v15 = 0;
  }
  else
  {
    v15 = *(struct std::_Facet_base **)(*((_DWORD *)v84 + 2) + 4 * v14);
    if ( v15 )
      goto LABEL_35;
  }
  if ( !*((_BYTE *)v84 + 20) )
  {
LABEL_31:
    if ( v15 )
      goto LABEL_35;
    goto LABEL_32;
  }
  v16 = std::locale::_Getgloballocale();
  if ( v14 < *(_DWORD *)(v16 + 12) )
  {
    v15 = *(struct std::_Facet_base **)(*(_DWORD *)(v16 + 8) + 4 * v14);
    goto LABEL_31;
  }
LABEL_32:
  v15 = v70;
  if ( !v70 )
  {
    if ( std::ctype<char>::_Getcat(&v70, (char *)&v83 + 12) == -1 )
      sub_100011D0();
    v17 = v70;
    v82 = v70;
    LOBYTE(v87) = 7;
    std::_Facet_Register(v70);
    (*(void (__thiscall **)(struct std::_Facet_base *))(*(_DWORD *)v17 + 4))(v17);
    v15 = v70;
    dword_1000C644 = (int)v70;
  }
LABEL_35:
  std::_Lockit::~_Lockit((std::_Lockit *)&Src);
  DWORD2(v83) = v15;
  LOBYTE(v87) = 8;
  v18 = Memory;
  v19 = Memory;
  if ( HIDWORD(v68) >= 0x10 )
    v18 = (void **)Memory[0];
  if ( HIDWORD(v68) >= 0x10 )
    v19 = (void **)Memory[0];
  sub_10002C90(v19, (char *)v18 + v68, HIDWORD(v68), v82);
  LOBYTE(v87) = 10;
  if ( HIDWORD(v68) >= 0x10 )
  {
    v20 = (CHAR *)Memory[0];
    if ( (unsigned int)(HIDWORD(v68) + 1) >= 0x1000 )
    {
      v20 = (CHAR *)*((_DWORD *)Memory[0] - 1);
      v21 = HIDWORD(v68) + 36;
      if ( (unsigned int)(Memory[0] - (void *)v20 - 4) > 0x1F )
        goto LABEL_50;
    }
    sub_100086F1(v20);
  }
  v68 = 64424509440i64;
  LOBYTE(Memory[0]) = 0;
  LOBYTE(v87) = 11;
  if ( HIDWORD(v66) < 0x10 )
    goto LABEL_47;
  v20 = (CHAR *)lpModuleName[0];
  if ( (unsigned int)(HIDWORD(v66) + 1) >= 0x1000 )
  {
    v20 = (CHAR *)*((_DWORD *)lpModuleName[0] - 1);
    v21 = HIDWORD(v66) + 36;
    if ( (unsigned int)(lpModuleName[0] - (LPCSTR)v20 - 4) > 0x1F )
    {
LABEL_50:
      invalid_parameter_noinfo_noreturn(v20, v21);
      goto LABEL_51;
    }
  }
  sub_100086F1(v20);
LABEL_47:
  v66 = 64424509440i64;
  LOBYTE(lpModuleName[0]) = 0;
  LOBYTE(v87) = 12;
  if ( v50 < 0x10 )
    goto LABEL_52;
  v20 = (CHAR *)v48;
  if ( v50 + 1 >= 0x1000 )
  {
    v20 = (CHAR *)*((_DWORD *)v48 - 1);
    v21 = v50 + 36;
    if ( (unsigned int)((_BYTE *)v48 - v20 - 4) > 0x1F )
      goto LABEL_50;
  }
LABEL_51:
  sub_100086F1(v20);
LABEL_52:
  memset(&Dst, 0, 0x38u);
  Dst = 0;
  v72 = 0;
  v73 = 0i64;
  v74 = 0;
  v75 = 0;
  v76 = 0;
  v77 = 0;
  v78 = 0;
  v79 = 0;
  v80 = 0;
  v81 = 0;
  LOBYTE(v87) = 13;
  if ( !(unsigned __int8)sub_10002740(&v83) )
    goto LABEL_109;
  Size = 0;
  v58 = 15;
  LOBYTE(v56) = 0;
  sub_10002580(&v56, "WindowModeAltFixByCake", 0x16u);
  LOBYTE(v87) = 14;
  v22 = (DWORD1(v73) - (signed int)v73) / 12;
  v23 = v22 < 1;
  v24 = v22 == 1;
  v25 = &v79;
  if ( !v23 && !v24 )
    v25 = (int *)(v73 + 12);
  if ( *((_BYTE *)v25 + 8) )
  {
    v26 = (void *)*v25;
    v27 = *v25;
    v28 = v25[1];
  }
  else
  {
    v26 = 0;
    v28 = 0;
    v27 = 0;
  }
  v52 = 0;
  v53 = 15;
  LOBYTE(v51) = 0;
  if ( v27 != v28 )
    sub_10002580(&v51, v26, v28 - v27);
  LOBYTE(v87) = 15;
  v29 = sub_10002BE0((int)&v51, v27, "Incorrect file name.\nPlease rename: ", 0x24u);
  v60 = 0i64;
  *(_OWORD *)v59 = *(_OWORD *)v29;
  v60 = *(_QWORD *)(v29 + 16);
  *(_DWORD *)(v29 + 16) = 0;
  *(_DWORD *)(v29 + 20) = 15;
  *(_BYTE *)v29 = 0;
  LOBYTE(v87) = 16;
  v30 = v60;
  if ( (unsigned int)(HIDWORD(v60) - v60) < 4 )
  {
    LOBYTE(Src) = 0;
    v32 = (void **)sub_10002A60(v59, 4, (int)Src, (int)" to ", 4u);
  }
  else
  {
    LODWORD(v60) = v60 + 4;
    v31 = v59;
    if ( HIDWORD(v60) >= 0x10 )
      v31 = (void **)v59[0];
    *(void **)((char *)v31 + v30) = (void *)544175136;
    *((_BYTE *)v31 + v30 + 4) = 0;
    v32 = v59;
  }
  v62[0] = 0;
  v62[1] = 0;
  *(_OWORD *)v61 = *(_OWORD *)v32;
  *(_QWORD *)v62 = *((_QWORD *)v32 + 2);
  v32[4] = 0;
  v32[5] = (void *)15;
  *(_BYTE *)v32 = 0;
  LOBYTE(v87) = 17;
  v33 = v62[0];
  v34 = Size;
  if ( Size <= v62[1] - v62[0] || v58 - Size < v62[0] )
  {
    v37 = &v56;
    if ( v58 >= 0x10 )
      v37 = v56;
    Src = v37;
    if ( Size > v62[1] - v62[0] )
    {
      LOBYTE(Src) = 0;
      v36 = (void **)sub_10002A60(v61, Size, (int)Src, (int)v37, Size);
    }
    else
    {
      v62[0] += Size;
      v38 = v61;
      if ( v62[1] >= 0x10 )
        v38 = (void **)v61[0];
      v39 = (int)v38 + v33;
      memmove((char *)v38 + v33, Src, Size);
      *(_BYTE *)(v34 + v39) = 0;
      v36 = v61;
    }
  }
  else
  {
    v35 = v61;
    if ( v62[1] >= 0x10 )
      v35 = (void **)v61[0];
    v36 = (void **)sub_10002BE0((int)&v56, v62[0], v35, v62[0]);
  }
  v64 = 0i64;
  *(_OWORD *)v63 = *(_OWORD *)v36;
  v64 = *((_QWORD *)v36 + 2);
  *(_BYTE *)v36 = 0;
  v36[5] = (void *)15;
  v36[4] = 0;
  LOBYTE(v87) = 18;
  v40 = v64;
  if ( (unsigned int)(HIDWORD(v64) - v64) < 4 )
  {
    LOBYTE(Src) = 0;
    v42 = (void **)sub_10002A60(v63, 4, (int)Src, (int)".asi", 4u);
  }
  else
  {
    LODWORD(v64) = v64 + 4;
    v41 = v63;
    if ( HIDWORD(v64) >= 0x10 )
      v41 = (void **)v63[0];
    *(void **)((char *)v41 + v40) = (void *)1769169198;
    *((_BYTE *)v41 + v40 + 4) = 0;
    v42 = v63;
  }
  *(_OWORD *)lpText = *(_OWORD *)v42;
  v55 = *((_QWORD *)v42 + 2);
  v42[4] = 0;
  v42[5] = (void *)15;
  *(_BYTE *)v42 = 0;
  v43 = (const CHAR *)lpText;
  if ( HIDWORD(v55) >= 0x10 )
    v43 = lpText[0];
  MessageBoxA(0, v43, "WindowModeAltFixByCake", 0);
  if ( HIDWORD(v55) >= 0x10 )
  {
    v44 = (CHAR *)lpText[0];
    if ( (unsigned int)(HIDWORD(v55) + 1) >= 0x1000 )
    {
      v44 = (CHAR *)*((_DWORD *)lpText[0] - 1);
      v45 = HIDWORD(v55) + 36;
      if ( (unsigned int)(lpText[0] - (LPCSTR)v44 - 4) > 0x1F )
        goto LABEL_107;
    }
    sub_100086F1(v44);
  }
  v55 = 64424509440i64;
  LOBYTE(lpText[0]) = 0;
  if ( HIDWORD(v64) >= 0x10 )
  {
    v44 = (CHAR *)v63[0];
    if ( (unsigned int)(HIDWORD(v64) + 1) >= 0x1000 )
    {
      v44 = (CHAR *)*((_DWORD *)v63[0] - 1);
      v45 = HIDWORD(v64) + 36;
      if ( (unsigned int)(v63[0] - (void *)v44 - 4) > 0x1F )
        goto LABEL_107;
    }
    sub_100086F1(v44);
  }
  v64 = 64424509440i64;
  LOBYTE(v63[0]) = 0;
  if ( v62[1] >= 0x10 )
  {
    v44 = (CHAR *)v61[0];
    if ( v62[1] + 1 >= 0x1000 )
    {
      v44 = (CHAR *)*((_DWORD *)v61[0] - 1);
      v45 = v62[1] + 36;
      if ( (unsigned int)(v61[0] - (void *)v44 - 4) > 0x1F )
        goto LABEL_107;
    }
    sub_100086F1(v44);
  }
  v62[0] = 0;
  v62[1] = 15;
  LOBYTE(v61[0]) = 0;
  if ( HIDWORD(v60) >= 0x10 )
  {
    v44 = (CHAR *)v59[0];
    if ( (unsigned int)(HIDWORD(v60) + 1) >= 0x1000 )
    {
      v44 = (CHAR *)*((_DWORD *)v59[0] - 1);
      v45 = HIDWORD(v60) + 36;
      if ( (unsigned int)(v59[0] - (void *)v44 - 4) > 0x1F )
        goto LABEL_107;
    }
    sub_100086F1(v44);
  }
  v60 = 64424509440i64;
  LOBYTE(v59[0]) = 0;
  if ( v53 < 0x10 )
    goto LABEL_104;
  v44 = (CHAR *)v51;
  if ( v53 + 1 >= 0x1000 )
  {
    v44 = (CHAR *)*((_DWORD *)v51 - 1);
    v45 = v53 + 36;
    if ( (unsigned int)((_BYTE *)v51 - v44 - 4) > 0x1F )
    {
LABEL_107:
      invalid_parameter_noinfo_noreturn(v44, v45);
LABEL_108:
      sub_100086F1(v44);
      goto LABEL_109;
    }
  }
  sub_100086F1(v44);
LABEL_104:
  v52 = 0;
  v53 = 15;
  LOBYTE(v51) = 0;
  if ( v58 >= 0x10 )
  {
    v44 = (CHAR *)v56;
    if ( v58 + 1 < 0x1000 )
      goto LABEL_108;
    v44 = (CHAR *)*((_DWORD *)v56 - 1);
    v45 = v58 + 36;
    if ( (unsigned int)((_BYTE *)v56 - v44 - 4) <= 0x1F )
      goto LABEL_108;
    goto LABEL_107;
  }
LABEL_109:
  sub_100021D0(&v73);
  sub_10002530(&v83);
  if ( v84 )
  {
    v46 = (void (__thiscall ***)(_DWORD, signed int))(*(int (**)(void))(*(_DWORD *)v84 + 8))();
    if ( v46 )
      (**v46)(v46, 1);
  }
  return 0;
}

Это IDA ебанулась или ты ебанулся?
он
 
  • Ха-ха
Реакции: AnWu

Cake_

Потрачен
Автор темы
Проверенный
263
313
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
BOOL __stdcall DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
  int v3; // ecx
  void **v4; // eax
  void **v5; // eax
  const CHAR *v6; // eax
  CHAR *v7; // ecx
  int v8; // edx
  int v9; // ecx
  int v10; // eax
  int v11; // ecx
  LPCSTR *v12; // eax
  LPCSTR *v13; // eax
  unsigned int v14; // edi
  struct std::_Facet_base *v15; // esi
  int v16; // eax
  struct std::_Facet_base *v17; // esi
  void **v18; // esi
  void **v19; // edx
  CHAR *v20; // ecx
  int v21; // edx
  unsigned int v22; // eax
  bool v23; // cf
  bool v24; // zf
  int *v25; // eax
  void *v26; // edx
  int v27; // ecx
  int v28; // eax
  int v29; // eax
  int v30; // ecx
  void **v31; // eax
  void **v32; // eax
  size_t v33; // ecx
  size_t v34; // edi
  void **v35; // eax
  void **v36; // eax
  void *v37; // eax
  void **v38; // eax
  int v39; // esi
  int v40; // ecx
  void **v41; // eax
  void **v42; // eax
  const CHAR *v43; // eax
  CHAR *v44; // ecx
  int v45; // edx
  void (__thiscall ***v46)(_DWORD, signed int); // eax
  void *v48; // [esp+10h] [ebp-248h]
  int v49; // [esp+20h] [ebp-238h]
  unsigned int v50; // [esp+24h] [ebp-234h]
  void *v51; // [esp+28h] [ebp-230h]
  int v52; // [esp+38h] [ebp-220h]
  unsigned int v53; // [esp+3Ch] [ebp-21Ch]
  LPCSTR lpText[4]; // [esp+40h] [ebp-218h]
  __int64 v55; // [esp+50h] [ebp-208h]
  void *v56; // [esp+58h] [ebp-200h]
  size_t Size; // [esp+68h] [ebp-1F0h]
  unsigned int v58; // [esp+6Ch] [ebp-1ECh]
  void *v59[4]; // [esp+70h] [ebp-1E8h]
  __int64 v60; // [esp+80h] [ebp-1D8h]
  void *v61[4]; // [esp+88h] [ebp-1D0h]
  size_t v62[2]; // [esp+98h] [ebp-1C0h]
  void *v63[4]; // [esp+A0h] [ebp-1B8h]
  __int64 v64; // [esp+B0h] [ebp-1A8h]
  LPCSTR lpModuleName[4]; // [esp+B8h] [ebp-1A0h]
  __int64 v66; // [esp+C8h] [ebp-190h]
  void *Memory[4]; // [esp+D0h] [ebp-188h]
  __int64 v68; // [esp+E0h] [ebp-178h]
  bool v69; // [esp+EBh] [ebp-16Dh]
  struct std::_Facet_base *v70; // [esp+ECh] [ebp-16Ch]
  int Dst; // [esp+F0h] [ebp-168h]
  char v72; // [esp+F4h] [ebp-164h]
  __int128 v73; // [esp+F8h] [ebp-160h]
  int v74; // [esp+108h] [ebp-150h]
  char v75; // [esp+10Ch] [ebp-14Ch]
  int v76; // [esp+110h] [ebp-148h]
  int v77; // [esp+114h] [ebp-144h]
  char v78; // [esp+118h] [ebp-140h]
  int v79; // [esp+11Ch] [ebp-13Ch]
  int v80; // [esp+120h] [ebp-138h]
  char v81; // [esp+124h] [ebp-134h]
  struct std::_Facet_base *v82; // [esp+12Ch] [ebp-12Ch]
  __int128 v83; // [esp+130h] [ebp-128h]
  struct std::locale::_Locimp *v84; // [esp+140h] [ebp-118h]
  void *Src; // [esp+144h] [ebp-114h]
  CHAR Filename; // [esp+148h] [ebp-110h]
  int v87; // [esp+254h] [ebp-4h]

  if ( fdwReason != 1 )
  {
    if ( !fdwReason && !byte_1000C63C )
    {
      SetWindowLongA((HWND)*MEMORY[0xC17054], -4, (LONG)dwNewLong);
      byte_1000C63C = 1;
    }
    return 1;
  }
  v68 = 64424509440i64;
  LOBYTE(Memory[0]) = 0;
  sub_10002580(Memory, "WindowModeAltFixByCake", 0x16u);
  v87 = 0;
  v3 = v68;
  if ( (unsigned int)(HIDWORD(v68) - v68) < 4 )
  {
    LOBYTE(v70) = 0;
    v5 = (void **)sub_10002A60(Memory, 4, (int)v70, (int)".asi", 4u);
  }
  else
  {
    LODWORD(v68) = v68 + 4;
    v4 = Memory;
    if ( HIDWORD(v68) >= 0x10 )
      v4 = (void **)Memory[0];
    *(void **)((char *)v4 + v3) = (void *)1769169198;
    *((_BYTE *)v4 + v3 + 4) = 0;
    v5 = Memory;
  }
  *(_OWORD *)lpModuleName = *(_OWORD *)v5;
  v66 = *((_QWORD *)v5 + 2);
  v5[4] = 0;
  v5[5] = (void *)15;
  *(_BYTE *)v5 = 0;
  v6 = (const CHAR *)lpModuleName;
  if ( HIDWORD(v66) >= 0x10 )
    v6 = lpModuleName[0];
  v69 = GetModuleHandleA(v6) != hinstDLL;
  if ( HIDWORD(v66) >= 0x10 )
  {
    v7 = (CHAR *)lpModuleName[0];
    if ( (unsigned int)(HIDWORD(v66) + 1) >= 0x1000 )
    {
      v7 = (CHAR *)*((_DWORD *)lpModuleName[0] - 1);
      v8 = HIDWORD(v66) + 36;
      if ( (unsigned int)(lpModuleName[0] - (LPCSTR)v7 - 4) > 0x1F )
      {
LABEL_16:
        invalid_parameter_noinfo_noreturn(v7, v8);
        goto LABEL_17;
      }
    }
    sub_100086F1(v7);
  }
  v87 = -1;
  v66 = 64424509440i64;
  LOBYTE(lpModuleName[0]) = 0;
  if ( HIDWORD(v68) < 0x10 )
    goto LABEL_18;
  v7 = (CHAR *)Memory[0];
  if ( (unsigned int)(HIDWORD(v68) + 1) >= 0x1000 )
  {
    v7 = (CHAR *)*((_DWORD *)Memory[0] - 1);
    v8 = HIDWORD(v68) + 36;
    if ( (unsigned int)(Memory[0] - (void *)v7 - 4) > 0x1F )
      goto LABEL_16;
  }
LABEL_17:
  sub_100086F1(v7);
LABEL_18:
  if ( !v69 )
  {
    beginthread(sub_10002190, 0, 0);
    return 1;
  }
  GetModuleFileNameA(hinstDLL, &Filename, 0x100u);
  v84 = 0;
  v49 = 0;
  v83 = 0i64;
  v50 = 15;
  LOBYTE(v48) = 0;
  sub_10002580(&v48, ".asi", 4u);
  v87 = 1;
  v10 = sub_10002BE0((int)&v48, v9, ".*\\\\(.*", 7u);
  v66 = 0i64;
  *(_OWORD *)lpModuleName = *(_OWORD *)v10;
  v66 = *(_QWORD *)(v10 + 16);
  *(_DWORD *)(v10 + 16) = 0;
  *(_DWORD *)(v10 + 20) = 15;
  *(_BYTE *)v10 = 0;
  LOBYTE(v87) = 2;
  v11 = v66;
  if ( (unsigned int)(HIDWORD(v66) - v66) < 1 )
  {
    LOBYTE(v70) = 0;
    v13 = (LPCSTR *)sub_10002A60(lpModuleName, 1, (int)v70, (int)")", 1u);
  }
  else
  {
    LODWORD(v66) = v66 + 1;
    v12 = lpModuleName;
    if ( HIDWORD(v66) >= 0x10 )
      v12 = (LPCSTR *)lpModuleName[0];
    *(_WORD *)((char *)v12 + v11) = 41;
    v13 = lpModuleName;
  }
  v68 = 0i64;
  *(_OWORD *)Memory = *(_OWORD *)v13;
  v68 = *((_QWORD *)v13 + 2);
  v13[4] = 0;
  v13[5] = (LPCSTR)15;
  *(_BYTE *)v13 = 0;
  LODWORD(v83) = 0;
  LOBYTE(v87) = 4;
  v84 = std::locale::_Init(1);
  LOBYTE(v87) = 5;
  DWORD1(v83) = sub_10002EE0((char *)&v83 + 12);
  std::_Lockit::_Lockit((std::_Lockit *)&Src, 0);
  LOBYTE(v87) = 6;
  v70 = (struct std::_Facet_base *)dword_1000C644;
  v14 = std::locale::id::operator unsigned int(std::ctype<char>::id);
  if ( v14 >= *((_DWORD *)v84 + 3) )
  {
    v15 = 0;
  }
  else
  {
    v15 = *(struct std::_Facet_base **)(*((_DWORD *)v84 + 2) + 4 * v14);
    if ( v15 )
      goto LABEL_35;
  }
  if ( !*((_BYTE *)v84 + 20) )
  {
LABEL_31:
    if ( v15 )
      goto LABEL_35;
    goto LABEL_32;
  }
  v16 = std::locale::_Getgloballocale();
  if ( v14 < *(_DWORD *)(v16 + 12) )
  {
    v15 = *(struct std::_Facet_base **)(*(_DWORD *)(v16 + 8) + 4 * v14);
    goto LABEL_31;
  }
LABEL_32:
  v15 = v70;
  if ( !v70 )
  {
    if ( std::ctype<char>::_Getcat(&v70, (char *)&v83 + 12) == -1 )
      sub_100011D0();
    v17 = v70;
    v82 = v70;
    LOBYTE(v87) = 7;
    std::_Facet_Register(v70);
    (*(void (__thiscall **)(struct std::_Facet_base *))(*(_DWORD *)v17 + 4))(v17);
    v15 = v70;
    dword_1000C644 = (int)v70;
  }
LABEL_35:
  std::_Lockit::~_Lockit((std::_Lockit *)&Src);
  DWORD2(v83) = v15;
  LOBYTE(v87) = 8;
  v18 = Memory;
  v19 = Memory;
  if ( HIDWORD(v68) >= 0x10 )
    v18 = (void **)Memory[0];
  if ( HIDWORD(v68) >= 0x10 )
    v19 = (void **)Memory[0];
  sub_10002C90(v19, (char *)v18 + v68, HIDWORD(v68), v82);
  LOBYTE(v87) = 10;
  if ( HIDWORD(v68) >= 0x10 )
  {
    v20 = (CHAR *)Memory[0];
    if ( (unsigned int)(HIDWORD(v68) + 1) >= 0x1000 )
    {
      v20 = (CHAR *)*((_DWORD *)Memory[0] - 1);
      v21 = HIDWORD(v68) + 36;
      if ( (unsigned int)(Memory[0] - (void *)v20 - 4) > 0x1F )
        goto LABEL_50;
    }
    sub_100086F1(v20);
  }
  v68 = 64424509440i64;
  LOBYTE(Memory[0]) = 0;
  LOBYTE(v87) = 11;
  if ( HIDWORD(v66) < 0x10 )
    goto LABEL_47;
  v20 = (CHAR *)lpModuleName[0];
  if ( (unsigned int)(HIDWORD(v66) + 1) >= 0x1000 )
  {
    v20 = (CHAR *)*((_DWORD *)lpModuleName[0] - 1);
    v21 = HIDWORD(v66) + 36;
    if ( (unsigned int)(lpModuleName[0] - (LPCSTR)v20 - 4) > 0x1F )
    {
LABEL_50:
      invalid_parameter_noinfo_noreturn(v20, v21);
      goto LABEL_51;
    }
  }
  sub_100086F1(v20);
LABEL_47:
  v66 = 64424509440i64;
  LOBYTE(lpModuleName[0]) = 0;
  LOBYTE(v87) = 12;
  if ( v50 < 0x10 )
    goto LABEL_52;
  v20 = (CHAR *)v48;
  if ( v50 + 1 >= 0x1000 )
  {
    v20 = (CHAR *)*((_DWORD *)v48 - 1);
    v21 = v50 + 36;
    if ( (unsigned int)((_BYTE *)v48 - v20 - 4) > 0x1F )
      goto LABEL_50;
  }
LABEL_51:
  sub_100086F1(v20);
LABEL_52:
  memset(&Dst, 0, 0x38u);
  Dst = 0;
  v72 = 0;
  v73 = 0i64;
  v74 = 0;
  v75 = 0;
  v76 = 0;
  v77 = 0;
  v78 = 0;
  v79 = 0;
  v80 = 0;
  v81 = 0;
  LOBYTE(v87) = 13;
  if ( !(unsigned __int8)sub_10002740(&v83) )
    goto LABEL_109;
  Size = 0;
  v58 = 15;
  LOBYTE(v56) = 0;
  sub_10002580(&v56, "WindowModeAltFixByCake", 0x16u);
  LOBYTE(v87) = 14;
  v22 = (DWORD1(v73) - (signed int)v73) / 12;
  v23 = v22 < 1;
  v24 = v22 == 1;
  v25 = &v79;
  if ( !v23 && !v24 )
    v25 = (int *)(v73 + 12);
  if ( *((_BYTE *)v25 + 8) )
  {
    v26 = (void *)*v25;
    v27 = *v25;
    v28 = v25[1];
  }
  else
  {
    v26 = 0;
    v28 = 0;
    v27 = 0;
  }
  v52 = 0;
  v53 = 15;
  LOBYTE(v51) = 0;
  if ( v27 != v28 )
    sub_10002580(&v51, v26, v28 - v27);
  LOBYTE(v87) = 15;
  v29 = sub_10002BE0((int)&v51, v27, "Incorrect file name.\nPlease rename: ", 0x24u);
  v60 = 0i64;
  *(_OWORD *)v59 = *(_OWORD *)v29;
  v60 = *(_QWORD *)(v29 + 16);
  *(_DWORD *)(v29 + 16) = 0;
  *(_DWORD *)(v29 + 20) = 15;
  *(_BYTE *)v29 = 0;
  LOBYTE(v87) = 16;
  v30 = v60;
  if ( (unsigned int)(HIDWORD(v60) - v60) < 4 )
  {
    LOBYTE(Src) = 0;
    v32 = (void **)sub_10002A60(v59, 4, (int)Src, (int)" to ", 4u);
  }
  else
  {
    LODWORD(v60) = v60 + 4;
    v31 = v59;
    if ( HIDWORD(v60) >= 0x10 )
      v31 = (void **)v59[0];
    *(void **)((char *)v31 + v30) = (void *)544175136;
    *((_BYTE *)v31 + v30 + 4) = 0;
    v32 = v59;
  }
  v62[0] = 0;
  v62[1] = 0;
  *(_OWORD *)v61 = *(_OWORD *)v32;
  *(_QWORD *)v62 = *((_QWORD *)v32 + 2);
  v32[4] = 0;
  v32[5] = (void *)15;
  *(_BYTE *)v32 = 0;
  LOBYTE(v87) = 17;
  v33 = v62[0];
  v34 = Size;
  if ( Size <= v62[1] - v62[0] || v58 - Size < v62[0] )
  {
    v37 = &v56;
    if ( v58 >= 0x10 )
      v37 = v56;
    Src = v37;
    if ( Size > v62[1] - v62[0] )
    {
      LOBYTE(Src) = 0;
      v36 = (void **)sub_10002A60(v61, Size, (int)Src, (int)v37, Size);
    }
    else
    {
      v62[0] += Size;
      v38 = v61;
      if ( v62[1] >= 0x10 )
        v38 = (void **)v61[0];
      v39 = (int)v38 + v33;
      memmove((char *)v38 + v33, Src, Size);
      *(_BYTE *)(v34 + v39) = 0;
      v36 = v61;
    }
  }
  else
  {
    v35 = v61;
    if ( v62[1] >= 0x10 )
      v35 = (void **)v61[0];
    v36 = (void **)sub_10002BE0((int)&v56, v62[0], v35, v62[0]);
  }
  v64 = 0i64;
  *(_OWORD *)v63 = *(_OWORD *)v36;
  v64 = *((_QWORD *)v36 + 2);
  *(_BYTE *)v36 = 0;
  v36[5] = (void *)15;
  v36[4] = 0;
  LOBYTE(v87) = 18;
  v40 = v64;
  if ( (unsigned int)(HIDWORD(v64) - v64) < 4 )
  {
    LOBYTE(Src) = 0;
    v42 = (void **)sub_10002A60(v63, 4, (int)Src, (int)".asi", 4u);
  }
  else
  {
    LODWORD(v64) = v64 + 4;
    v41 = v63;
    if ( HIDWORD(v64) >= 0x10 )
      v41 = (void **)v63[0];
    *(void **)((char *)v41 + v40) = (void *)1769169198;
    *((_BYTE *)v41 + v40 + 4) = 0;
    v42 = v63;
  }
  *(_OWORD *)lpText = *(_OWORD *)v42;
  v55 = *((_QWORD *)v42 + 2);
  v42[4] = 0;
  v42[5] = (void *)15;
  *(_BYTE *)v42 = 0;
  v43 = (const CHAR *)lpText;
  if ( HIDWORD(v55) >= 0x10 )
    v43 = lpText[0];
  MessageBoxA(0, v43, "WindowModeAltFixByCake", 0);
  if ( HIDWORD(v55) >= 0x10 )
  {
    v44 = (CHAR *)lpText[0];
    if ( (unsigned int)(HIDWORD(v55) + 1) >= 0x1000 )
    {
      v44 = (CHAR *)*((_DWORD *)lpText[0] - 1);
      v45 = HIDWORD(v55) + 36;
      if ( (unsigned int)(lpText[0] - (LPCSTR)v44 - 4) > 0x1F )
        goto LABEL_107;
    }
    sub_100086F1(v44);
  }
  v55 = 64424509440i64;
  LOBYTE(lpText[0]) = 0;
  if ( HIDWORD(v64) >= 0x10 )
  {
    v44 = (CHAR *)v63[0];
    if ( (unsigned int)(HIDWORD(v64) + 1) >= 0x1000 )
    {
      v44 = (CHAR *)*((_DWORD *)v63[0] - 1);
      v45 = HIDWORD(v64) + 36;
      if ( (unsigned int)(v63[0] - (void *)v44 - 4) > 0x1F )
        goto LABEL_107;
    }
    sub_100086F1(v44);
  }
  v64 = 64424509440i64;
  LOBYTE(v63[0]) = 0;
  if ( v62[1] >= 0x10 )
  {
    v44 = (CHAR *)v61[0];
    if ( v62[1] + 1 >= 0x1000 )
    {
      v44 = (CHAR *)*((_DWORD *)v61[0] - 1);
      v45 = v62[1] + 36;
      if ( (unsigned int)(v61[0] - (void *)v44 - 4) > 0x1F )
        goto LABEL_107;
    }
    sub_100086F1(v44);
  }
  v62[0] = 0;
  v62[1] = 15;
  LOBYTE(v61[0]) = 0;
  if ( HIDWORD(v60) >= 0x10 )
  {
    v44 = (CHAR *)v59[0];
    if ( (unsigned int)(HIDWORD(v60) + 1) >= 0x1000 )
    {
      v44 = (CHAR *)*((_DWORD *)v59[0] - 1);
      v45 = HIDWORD(v60) + 36;
      if ( (unsigned int)(v59[0] - (void *)v44 - 4) > 0x1F )
        goto LABEL_107;
    }
    sub_100086F1(v44);
  }
  v60 = 64424509440i64;
  LOBYTE(v59[0]) = 0;
  if ( v53 < 0x10 )
    goto LABEL_104;
  v44 = (CHAR *)v51;
  if ( v53 + 1 >= 0x1000 )
  {
    v44 = (CHAR *)*((_DWORD *)v51 - 1);
    v45 = v53 + 36;
    if ( (unsigned int)((_BYTE *)v51 - v44 - 4) > 0x1F )
    {
LABEL_107:
      invalid_parameter_noinfo_noreturn(v44, v45);
LABEL_108:
      sub_100086F1(v44);
      goto LABEL_109;
    }
  }
  sub_100086F1(v44);
LABEL_104:
  v52 = 0;
  v53 = 15;
  LOBYTE(v51) = 0;
  if ( v58 >= 0x10 )
  {
    v44 = (CHAR *)v56;
    if ( v58 + 1 < 0x1000 )
      goto LABEL_108;
    v44 = (CHAR *)*((_DWORD *)v56 - 1);
    v45 = v58 + 36;
    if ( (unsigned int)((_BYTE *)v56 - v44 - 4) <= 0x1F )
      goto LABEL_108;
    goto LABEL_107;
  }
LABEL_109:
  sub_100021D0(&v73);
  sub_10002530(&v83);
  if ( v84 )
  {
    v46 = (void (__thiscall ***)(_DWORD, signed int))(*(int (**)(void))(*(_DWORD *)v84 + 8))();
    if ( v46 )
  Ц    (**v46)(v46, 1);
  }
  return 0;
}

Это IDA ебанулась или ты ебанулся?
Хз, у меня этого мусора нет. это из-за стат. линковщика мб
 

MisterTuk

Известный
110
6
Не понял, если можешь - скинь фрапс этого бага
Ну табличку какую либо открываешь, например, когда переводишь кому-то деньги, в банке, сворачивает игру чтобы посмотреть счёт, разворачиваешь, а она закрыта. И так со всеми табличками при сворачивании.
 
Последнее редактирование:

Cake_

Потрачен
Автор темы
Проверенный
263
313
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну табличку какую либо открываешь, например, когда переводишь кому-то деньги, в банке, сворачивает игру чтобы посмотреть счёт, разворачиваешь, а она закрыта. И так со всеми табличками при сворачивании.
В сампе такого бага нет, возможно какой-то плагин / скрипт такой баг вызывает
 

sаnеk

Всефорумный sanek
Друг
2,111
2,093
В сампе такого бага нет, возможно какой-то плагин / скрипт такой баг вызывает
он имеет ввиду, что когда сворачиваешь игру с открытым диалогом, то после разворота он либо закрывается, либо в углу находится
 
  • Нравится
Реакции: Kakiein и MisterTuk