//----- (1000E640) -------------------------------------------------------- int __thiscall sub_1000E640(void *this, int a2) { unsigned int v2; // kr04_4@1 unsigned int v3; // ebp@1 int v4; // eax@4 int v5; // eax@4 unsigned int v6; // ecx@5 unsigned int v7; // ebp@10 unsigned int v8; // kr0C_4@10 unsigned int v9; // ebx@10 int v10; // eax@10 int v11; // eax@13 DWORD nSize; // [sp+10h] [bp-38h]@10 void *v14; // [sp+14h] [bp-34h]@1 int v15; // [sp+18h] [bp-30h]@1 char v16; // [sp+1Ch] [bp-2Ch]@1 void *v17; // [sp+20h] [bp-28h]@2 unsigned int v18; // [sp+24h] [bp-24h]@2 int v19; // [sp+30h] [bp-18h]@4 int v20; // [sp+44h] [bp-4h]@3 v14 = this; v15 = 0; v16 = a2; std::basic_string_std::allocator>::_Tidy(0); v2 = strlen("23CCC23") + 1; v3 = v2 - 1; if ( sub_10001790((int)&v16, v2 - 1, 1) ) { memcpy(v17, "23CCC23", v3); v18 = v2 - 1; *((_BYTE *)v17 + v3) = 0; } v20 = 0; if ( !v18 ) { sub_10002FE0(); LOBYTE(v20) = 1; sub_100014D0((int)&v16, v4, 0, dword_1003D300); v5 = v19; LOBYTE(v20) = 0; if ( v19 ) { v6 = v19 - 1; LOBYTE(v5) = *(_BYTE *)(v19 - 1); if ( (_BYTE)v5 && (_BYTE)v5 != -1 ) *(_BYTE *)v6 = v5 - 1; else sub_1002D5B4(v5, v6); } if ( v18 != 12 ) { nSize = 16; v7 = (unsigned int)operator new(0x10u); GetComputerNameA((LPSTR)v7, &nSize); *(_BYTE *)(v7 + 12) = 0; v8 = strlen((const char *)v7) + 1; v9 = v8 - 1; LOBYTE(v10) = sub_10001790((int)&v16, v8 - 1, 1); if ( (_BYTE)v10 ) { memcpy(v17, (const void *)v7, v9); v10 = (int)v17; v18 = v8 - 1; *((_BYTE *)v17 + v9) = 0; } sub_1002D5B4(v10, v7); } } v11 = sub_10011500(a2, (int)&v16, (int)((char *)v14 + 692)); if ( v17 ) { LOBYTE(v11) = *((_BYTE *)v17 - 1); if ( (_BYTE)v11 && (_BYTE)v11 != -1 ) *((_BYTE *)v17 - 1) = v11 - 1; else sub_1002D5B4(v11, (unsigned int)((char *)v17 - 1)); } return a2; } // 100016D0: using guessed type _DWORD __stdcall std__basic_string_char_std__char_traits_char__std__allocator_char_____Tidy(char); // 1003D300: using guessed type int dword_1003D300;