else { if ( v4 == 21156 ) { **(_DWORD **)(v5 + 8) = 1; v16 = "WorldAuthenticate. Access granted.\n"; return LogFile(v16); } v7 = v4 - 1260; if ( !v7 ) return sub_45386D(v6); v8 = v7 - 24; if ( v8 ) { v9 = v8 - 2722; if ( !v9 ) { dword_900478 = *(_DWORD *)(a3 + 6); dword_90047C = *(_DWORD *)v6; dword_923D58 = dword_900478; dword_923D5C = dword_90047C; dword_923D68 = *(_DWORD *)(a3 + 10); dword_923D6C = *(_DWORD *)(a3 + 14); dword_923D70 = *(_DWORD *)(a3 + 18); dword_923D60 = *(_DWORD *)(a3 + 22); strcpy(&byte_95D3D4, (const char *)(a3 + 34)); LogFile("WorldRPServer message: server name %s\n", a3 + 34); byte_905CA8 = *(_BYTE *)(a3 + 246); byte_905CA9 = *(_BYTE *)(a3 + 247); byte_923D64 = *(_BYTE *)(a3 + 262); byte_923D65 = *(_BYTE *)(a3 + 264); byte_923D7C = *(_BYTE *)(a3 + 263); result = *(_BYTE *)(a3 + 265); byte_923D66 = *(_BYTE *)(a3 + 265); return result; } v10 = v9 - 11391; if ( v10 ) { if ( v10 == 2286 ) return sub_4520E5(**(_DWORD **)(v5 + 4), 17683, v6); LABEL_20: v16 = "*** ERROR: WorldAuthenticate. ??? UNKNOWN MESSAGE \n"; return LogFile(v16); } result = sub_46D7D4(v6, **(_DWORD **)(v5 + 4)); } else { LogFile("WorldAuthenticate. P Update\n"); result = sub_451E54(v6); } } return result; }