```c int __cdecl main(int argc, const char **argv, const char **envp) { char v3; // al char v5; // al char v6; // al char v7; // al char v8; // [esp+0h] [ebp-12E0h] char v9; // [esp+0h] [ebp-12E0h] char v10; // [esp+0h] [ebp-12E0h] char v11; // [esp+0h] [ebp-12E0h] char v12[4096]; // [esp+8h] [ebp-12D8h] BYREF char v13[400]; // [esp+1008h] [ebp-2D8h] BYREF char Format[200]; // [esp+1198h] [ebp-148h] BYREF char v15[64]; // [esp+1260h] [ebp-80h] BYREF char v16[16]; // [esp+12A0h] [ebp-40h] BYREF __int16 v17[2]; // [esp+12B0h] [ebp-30h] BYREF int v18; // [esp+12B4h] [ebp-2Ch] int v19; // [esp+12C0h] [ebp-20h] int v20; // [esp+12C4h] [ebp-1Ch] BYREF char v21[4]; // [esp+12C8h] [ebp-18h] char v22[4]; // [esp+12CCh] [ebp-14h] int v23; // [esp+12D0h] [ebp-10h] int i; // [esp+12D4h] [ebp-Ch] int v25; // [esp+12D8h] [ebp-8h] char v26; // [esp+12DFh] [ebp-1h] strcpy(v15, "Hello Client , I have received your connection your key is %d.\n"); *v21 = GetTickCount(); Src = malloc(0x2000u); LoadLibraryA("zlib.dll"); printf("\nInitialising Winsock...", v8); if ( WS2_32_115(514, v13) ) { v3 = WS2_32_111(); printf("Failed. Error Code : %d", v3); return 1; } else { printf("Initialised.\n", v9); v25 = WS2_32_23(2, 1, 0); if ( v25 == -1 ) { v5 = WS2_32_111(); printf("Could not create socket : %d", v5); } printf("Socket created.\n", v10); v17[0] = 2; v18 = 0; v17[1] = WS2_32_9(8888); if ( WS2_32_2(v25, v17, 16) == -1 ) { v6 = WS2_32_111(); printf("Bind failed with error code : %d", v6); } puts("Bind done"); WS2_32_13(v25, 3); puts("Waiting for incoming connections...port 8888"); v20 = 16; do { v23 = WS2_32_1(v25, v16, &v20); if ( v23 == -1 ) { v7 = WS2_32_111(); printf("accept failed with error code : %d", v7); } puts("Connection accepted\n"); memset(Format, 0, sizeof(Format)); sub_401400(Format, v15, v21[0]); printf(Format, v11); WS2_32_19(v23, Format, 200, 0); v19 = dword_404038; WS2_32_16(v23, Src, 0x2000, 0); *v22 = *(Src + 1) + *Src; printf("%x\n\n", v22[0]); if ( *v22 == -1 ) { Size = *(Src + 2); dword_404030 = *(Src + 3); } memcpy(v12, Src, Size); for ( i = 0; i < Size; ++i ) { v26 = v12[i]; if ( v26 == 1 ) exit(1); } } while ( dword_404030 != (*v21 ^ 0x89765432) ); return 0; } } ```