```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-12D0h] char v9; // [esp+0h] [ebp-12D0h] char v10; // [esp+0h] [ebp-12D0h] char v11[4096]; // [esp+8h] [ebp-12C8h] BYREF char v12[400]; // [esp+1008h] [ebp-2C8h] BYREF char Destination[200]; // [esp+1198h] [ebp-138h] BYREF char Source[52]; // [esp+1260h] [ebp-70h] BYREF char v15[16]; // [esp+1294h] [ebp-3Ch] BYREF __int16 v16[2]; // [esp+12A4h] [ebp-2Ch] BYREF int v17; // [esp+12A8h] [ebp-28h] int v18; // [esp+12B4h] [ebp-1Ch] int v19; // [esp+12B8h] [ebp-18h] BYREF char v20[4]; // [esp+12BCh] [ebp-14h] int v21; // [esp+12C0h] [ebp-10h] int i; // [esp+12C4h] [ebp-Ch] int v23; // [esp+12C8h] [ebp-8h] strcpy(Source, "Hello Client , I have received your connection.\n"); Src = malloc(8192u); LoadLibraryA("MObexDll.dll"); printf("\nInitialising Winsock...", v8); if ( WS2_32_115(514, v12) ) { v3 = WS2_32_111(); printf("Failed. Error Code : %d", v3); return 1; } else { printf("Initialised.\n", v9); v23 = WS2_32_23(2, 1, 0); if ( v23 == -1 ) { v5 = WS2_32_111(); printf("Could not create socket : %d", v5); } printf("Socket created.\n", v10); v16[0] = 2; v17 = 0; v16[1] = WS2_32_9(8888); if ( WS2_32_2(v23, v16, 16) == -1 ) { v6 = WS2_32_111(); printf("Bind failed with error code : %d", v6); } puts("Bind done"); WS2_32_13(v23, 3); puts("Waiting for incoming connections...port 8888"); v19 = 16; do { v21 = WS2_32_1(v23, v15, &v19); if ( v21 == -1 ) { v7 = WS2_32_111(); printf("accept failed with error code : %d", v7); } puts("Connection accepted\n"); strcpy(Destination, Source); WS2_32_19(v21, Destination, 200, 0); v18 = dword_403038; WS2_32_16(v21, Src, 8192, 0); *v20 = *(Src + 1) + *Src; printf("%x\n\n", v20[0]); if ( *v20 == -1 ) { Size = *(Src + 2); dword_403030 = *(Src + 3); } memcpy(v11, Src, Size); for ( i = 0; i < Size; ++i ) { if ( !v11[i] ) exit(1); } } while ( dword_403030 != -1988733902 ); return 0; } } ```