Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* This file has been generated by the Hex-Rays decompiler.
- Copyright (c) 2007-2017 Hex-Rays <info@hex-rays.com>
- Detected compiler: GNU C++
- */
- #include <math.h>
- #include <defs.h>
- #include <stdarg.h>
- //-------------------------------------------------------------------------
- // Function declarations
- int __fastcall init_proc(int a1, int a2);
- int sub_8049AF8();
- // int __cdecl __cxa_guard_acquire(_DWORD); weak
- // int __stdcall __cxa_end_catch(_DWORD); weak
- // int usleep(__useconds_t useconds);
- // double cos(double x);
- // double __strtod_internal(const char *nptr, char **endptr, int group);
- // _DWORD std::ios_base::Init::Init(std::ios_base::Init *this); idb
- // char *strncat(char *dest, const char *src, size_t n);
- // _DWORD __cdecl std::string::find_first_of(std::string *this, const char *, unsigned int, unsigned int); idb
- // int __cdecl SQLExecDirect(_DWORD, _DWORD, _DWORD); weak
- // ssize_t write(int fd, const void *buf, size_t n);
- // struct tm *localtime(const time_t *timer);
- // ssize_t recvfrom(int fd, void *buf, size_t n, int flags, struct sockaddr *addr, socklen_t *addr_len);
- // int strcmp(const char *s1, const char *s2);
- // int close(int fd);
- // double asin(double x);
- // __sighandler_t signal(int sig, __sighandler_t handler);
- // int pthread_create(pthread_t *newthread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg);
- // int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
- // void __assert_fail(const char *assertion, const char *file, unsigned int line, const char *function);
- // int vsnprintf(char *s, size_t maxlen, const char *format, __gnuc_va_list arg);
- // _DWORD __cdecl std::string::compare(std::string *this, const char *); idb
- // int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD); weak
- // int *__errno_location(void);
- // int ftell(FILE *stream);
- // int accept(int fd, struct sockaddr *addr, socklen_t *addr_len);
- // char *inet_ntoa(struct in_addr in);
- // int shutdown(int fd, int how);
- // int puts(const char *s);
- // int listen(int fd, int n);
- // double difftime(time_t time1, time_t time0);
- // _DWORD __cdecl std::string::find(std::string *this, const char *, unsigned int, unsigned int); idb
- // int __cdecl SQLFreeHandle(_DWORD, _DWORD); weak
- // int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr);
- // int pthread_mutex_destroy(pthread_mutex_t *mutex);
- // _DWORD __cdecl std::string::string(std::string *this, const std::string *, unsigned int, unsigned int); idb
- // size_t fread(void *ptr, size_t size, size_t n, FILE *stream);
- // void *memmove(void *dest, const void *src, size_t n);
- // ssize_t sendto(int fd, const void *buf, size_t n, int flags, const struct sockaddr *addr, socklen_t addr_len);
- // int __cdecl SQLGetDiagRec(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD); weak
- // int getsockopt(int fd, int level, int optname, void *optval, socklen_t *optlen);
- // _DWORD __cdecl std::string::~string(std::string *this); idb
- // int __cdecl __cxa_allocate_exception(_DWORD); weak
- // int setsockopt(int fd, int level, int optname, const void *optval, socklen_t optlen);
- // int fseek(FILE *stream, int off, int whence);
- // time_t time(time_t *timer);
- // int __cdecl __cxa_guard_release(_DWORD); weak
- // time_t mktime(struct tm *tp);
- // int pthread_mutex_lock(pthread_mutex_t *mutex);
- // int __cdecl std::string::_Rep::_M_destroy(_DWORD, _DWORD); weak
- // int __cdecl SQLSetEnvAttr(_DWORD, _DWORD, _DWORD); weak
- // int __cdecl SQLNumResultCols(_DWORD, _DWORD); weak
- // int __strtol_internal(const char *nptr, char **endptr, int base, int group);
- // void qsort(void *base, size_t nmemb, size_t size, __compar_fn_t compar);
- // _DWORD __cdecl std::string::string(std::string *this, const std::string *); idb
- // int __cdecl __cxa_begin_catch();
- // int strncmp(const char *s1, const char *s2, size_t n);
- // _DWORD __cdecl operator new[](unsigned int); idb
- // in_addr_t inet_addr(const char *cp);
- // _DWORD __cdecl std::_Rb_tree_decrement(std::_Rb_tree_node_base *); idb
- // int __cdecl std::string::string(_DWORD, _DWORD, _DWORD); weak
- // pthread_t pthread_self(void);
- // int __cdecl SQLRowCount(_DWORD, _DWORD); weak
- // int backtrace(void **array, int size);
- // _DWORD __cdecl operator new(unsigned int); idb
- // int __cdecl SQLError(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD); weak
- // _DWORD __cdecl std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base *, std::_Rb_tree_node_base *, std::_Rb_tree_node_base *); idb
- // int printf(const char *format, ...);
- // int bind(int fd, const struct sockaddr *addr, socklen_t len);
- // __off_t lseek(int fd, __off_t offset, int whence);
- // int fcntl(int fd, int cmd, ...);
- // void *memcpy(void *dest, const void *src, size_t n);
- // int fclose(FILE *stream);
- // int __cdecl SQLFreeStmt(_DWORD); weak
- // int gettimeofday(struct timeval *tv, __timezone_ptr_t tz);
- // void srand(unsigned int seed);
- // int snprintf(char *s, size_t maxlen, const char *format, ...);
- // int open(const char *file, int oflag, ...);
- // void __cdecl __noreturn std::__throw_length_error(const char *); idb
- // void __cdecl operator delete[](void *); idb
- // void pthread_exit(void *retval);
- // void exit(int status);
- // int __cdecl SQLCloseCursor(_DWORD); weak
- // int __cdecl SQLFetch(_DWORD); weak
- // _DWORD __cdecl std::string::assign(std::string *this, const std::string *); idb
- // int __cdecl SQLGetData(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD); weak
- // int __cdecl SQLConnect(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD); weak
- // int sscanf(const char *s, const char *format, ...);
- // void free(void *ptr);
- // ssize_t send(int fd, const void *buf, size_t n, int flags);
- // int ioctl(int fd, unsigned int request, ...);
- // double acos(double x);
- // void *memset(void *s, int c, size_t n);
- // void __cdecl __noreturn std::__throw_out_of_range(const char *); idb
- // int connect(int fd, const struct sockaddr *addr, socklen_t len);
- // int __cdecl SQLAllocHandle(_DWORD, _DWORD, _DWORD); weak
- // char *strncpy(char *dest, const char *src, size_t n);
- // _DWORD __cdecl __gnu_cxx::__exchange_and_add(volatile int *, int); idb
- // char **backtrace_symbols(void *const *array, int size);
- // FILE *fopen(const char *filename, const char *modes);
- // int dup(int fd);
- // int __cdecl _Unwind_Resume();
- // int __stdcall SQLDisconnect(_DWORD, _DWORD); weak
- // int pthread_mutex_unlock(pthread_mutex_t *mutex);
- // char *strtok(char *s, const char *delim);
- // ssize_t recv(int fd, void *buf, size_t n, int flags);
- // int __stdcall __cxa_throw(_DWORD, _DWORD, _DWORD, _DWORD); weak
- // int sprintf(char *s, const char *format, ...);
- // size_t fwrite(const void *ptr, size_t size, size_t n, FILE *s);
- // double sin(double x);
- // int socket(int domain, int type, int protocol);
- // int rand(void);
- // ssize_t read(int fd, void *buf, size_t nbytes);
- // void __cdecl operator delete(IPRegionTable *const this);
- // void __cdecl std::ios_base::Init::~Init(void *arg0);
- // char *strcpy(char *dest, const char *src);
- int __fastcall call_gmon_start(int a1, int a2);
- void _do_global_dtors_aux();
- int frame_dummy();
- void __cdecl ConnectManager::ConnectManager(ConnectManager *const this);
- void __noreturn sub_804A46C();
- void __cdecl ConnectManager::ConnectManager(ConnectManager *const this);
- void __noreturn sub_804A5F8();
- void __cdecl ConnectManager::~ConnectManager(ConnectManager *const this);
- void __cdecl ConnectManager::~ConnectManager(ConnectManager *const this);
- void __cdecl ConnectManager::~ConnectManager(ConnectManager *const this);
- // BOOL __usercall ConnectManager::Init@<eax>(ConnectManager *const this@<eax>); idb
- void __cdecl ConnectManager::Quit(ConnectManager *const this);
- void __cdecl ConnectManager::run(ConnectManager *const this);
- void __cdecl _tcf_0(void *);
- void `global constructor keyed to'g_pConnectManager(); // idb
- void __cdecl ReLoginManager::~ReLoginManager(int a2);
- void __cdecl ReLoginManager::~ReLoginManager(int a2);
- void __cdecl ConnectManager::stop(int a2);
- void __cdecl tag_IPRegion::CleanUp(_DWORD *a2);
- void __cdecl tag_IPRegion::tag_IPRegion(tag_IPRegion *const this);
- void __cdecl tag_IPRegion::tag_IPRegion(tag_IPRegion *const this);
- void __cdecl IPRegionTable::IPRegionTable(_DWORD *a2);
- void __cdecl IPRegionTable::IPRegionTable(_DWORD *a2);
- void __cdecl IPRegionTable::~IPRegionTable(IPRegionTable *const this);
- void __cdecl IPRegionTable::~IPRegionTable(IPRegionTable *const this);
- void __cdecl IPRegionTable::~IPRegionTable(IPRegionTable *const this);
- void __cdecl IPRegionTable::Init(IPRegionTable *const this);
- INT __cdecl IPRegionTable::FindIPRegion(IPRegionTable *const this, UINT uIP);
- INT __cdecl IPRegionTable::FindIPRegion(IPRegionTable *const this, CHAR *cIP);
- void __cdecl _tcf_0_0(void *);
- void `global constructor keyed to'g_pIPRegionTable(); // idb
- void __cdecl Login::Login(_DWORD *a2);
- void __cdecl Login::Login(_DWORD *a2);
- void __cdecl Login::~Login(Login *const this);
- void __cdecl Login::~Login(Login *const this);
- BOOL __cdecl Login::Loop(Login *const this);
- BOOL __cdecl Login::Exit(_DWORD *a2);
- BOOL __cdecl Login::NewLogin(Login *const this);
- BOOL __cdecl Login::InitLogin(Login *const this);
- BOOL __cdecl Login::Init(Login *const this);
- void __cdecl Login::Stop(Login *const this);
- void __cdecl LoginExceptionHandler::LoginExceptionHandler(LoginExceptionHandler *const this);
- void __cdecl LoginExceptionHandler::LoginExceptionHandler(LoginExceptionHandler *const this);
- void __cdecl LoginExceptionHandler::INTHandler(INT);
- void __cdecl LoginExceptionHandler::TERMHandler(INT);
- void __cdecl LoginExceptionHandler::ABORTHandler(INT);
- void __cdecl LoginExceptionHandler::ILLHandler(INT);
- void __cdecl LoginExceptionHandler::FPEHandler(INT);
- void __cdecl LoginExceptionHandler::SEGHandler(INT);
- void __cdecl LoginExceptionHandler::XFSZHandler(INT);
- void __cdecl _tcf_0_1(void *);
- void __cdecl _tcf_1(void *);
- void `global constructor keyed to'g_Login(); // idb
- int __cdecl main(int argc, const char **argv, const char **envp);
- void __cdecl _tcf_0_2(void *);
- void `global constructor keyed to'g_IgnoreWorldIDZoneIDCheck(); // idb
- BOOL __cdecl MIBAO::InitMiBaoGroupKey(MiBaoGroup *const gp);
- BOOL __cdecl MIBAO::InitMiBaoGroupKey1(MiBaoGroup *const gp);
- void __cdecl _tcf_0_3(void *);
- void `global constructor keyed to'g_MiBaoKeyTable(); // idb
- void __cdecl tag_ReLoginUnit::CleanUp(_DWORD *a2);
- void __cdecl tag_ReLoginUnit::tag_ReLoginUnit(tag_ReLoginUnit *const this);
- void __cdecl tag_ReLoginUnit::tag_ReLoginUnit(tag_ReLoginUnit *const this);
- void __cdecl tag_ReLoginUnit::SetIPAddr(tag_ReLoginUnit *const this, const CHAR *pIP);
- BOOL __cdecl tag_ReLoginUnit::IsSameIPReLogin(tag_ReLoginUnit *const this, const CHAR *pIP);
- BOOL __cdecl ReLoginManager::Init(ReLoginManager *const this);
- ReLoginUnit *__cdecl ReLoginManager::FindAccReLoginUnit(ReLoginManager *const this, const CHAR *szAccName);
- BOOL __cdecl ReLoginManager::IsAccCanReLogin(ReLoginManager *const this, const CHAR *szAccName, const CHAR *pIP, INT *const nResult);
- BOOL __cdecl ReLoginManager::SetPwdCheck(ReLoginManager *const this, const CHAR *szAccName, const CHAR *pIP, INT nCheck);
- BOOL __cdecl ReLoginManager::StopAccReLogin(ReLoginManager *const this, const CHAR *szAccName, const CHAR *pIP);
- BOOL __cdecl ReLoginManager::ResetAccReLogin(ReLoginManager *const this, const CHAR *szAccName);
- BOOL __cdecl ReLoginManager::HeartBeat(ReLoginManager *const this);
- void __cdecl _tcf_0_4(void *);
- void `global constructor keyed to'g_pReLoginManager(); // idb
- void __cdecl ServerManager::CleanUp(int a2);
- void __cdecl ServerManager::ServerManager(ServerManager *const this);
- // void __usercall sub_804D310(int a1@<ebp>);
- void __cdecl ServerManager::ServerManager(ServerManager *const this);
- // void __usercall sub_804D460(int a1@<ebp>);
- void __cdecl ServerManager::~ServerManager(ServerManager *const this);
- // void __usercall sub_804D572(int a1@<esi>);
- // void __usercall sub_804D588(int a1@<esi>);
- void __cdecl ServerManager::~ServerManager(ServerManager *const this);
- // void __usercall sub_804D69E(int a1@<esi>);
- // void __usercall sub_804D6B4(int a1@<esi>);
- ID_t __cdecl ServerManager::GetLoginID(ServerManager *const this);
- _SERVER_DATA *__cdecl ServerManager::FindServerInfo(ServerManager *const this, ID_t ServerID);
- _SERVER_DATA *__cdecl ServerManager::GetCurrentServerInfo(ServerManager *const this);
- BOOL __cdecl ServerManager::Init(int a2);
- BOOL __cdecl ServerManager::Select(ServerManager *const this);
- BOOL __cdecl ServerManager::DelServer(ServerManager *const this, SOCKET fd);
- BOOL __cdecl ServerManager::RemoveServer(ServerManager *const this, PlayerID_t id);
- Player *__cdecl ServerManager::GetServerPlayer(ServerManager *const this, PlayerID_t id);
- BOOL __cdecl ServerManager::ProcessExceptions(ServerManager *const this);
- BOOL __cdecl ServerManager::ProcessCommands(ServerManager *const this);
- BOOL __cdecl ServerManager::ProcessOutputs(ServerManager *const this);
- BOOL __cdecl ServerManager::ProcessInputs(ServerManager *const this);
- BOOL __cdecl ServerManager::AddServer(ServerManager *const this, SOCKET fd);
- BOOL __cdecl ServerManager::IsWorldServerActive(ServerManager *const this);
- BOOL __cdecl ServerManager::IsBillingServerActive(ServerManager *const this);
- BOOL __cdecl ServerManager::ConnectWorldServer(ServerManager *const this);
- BOOL __cdecl ServerManager::ConnectBillingServer(ServerManager *const this);
- BOOL __cdecl ServerManager::HeartBeat(ServerManager *const this);
- INT __cdecl ServerManager::GetServerPlayerPoolSize(int ServerID, unsigned __int16 ServerIDa);
- BOOL __cdecl ServerManager::ResetQueuePos(ServerManager *const this);
- BOOL __cdecl ServerManager::ResizeCache(ServerManager *const this);
- BOOL __cdecl ServerManager::SendPacket(ServerManager *const this, Packet *pPacket, ID_t ServerID, UINT Flag);
- BOOL __cdecl ServerManager::RecvPacket(ServerManager *const this, Packet **const pPacket, PlayerID_t *const PlayerID, UINT *const Flag);
- BOOL __cdecl ServerManager::ProcessCacheCommands(ServerManager *const this);
- void __cdecl ServerManager::SetServerPlayerPoolSize(int ServerID, unsigned __int16 ServerIDa, int a5);
- BOOL __cdecl ServerManager::SendQueuePlayerToWorld(ServerManager *const this);
- BOOL __cdecl ServerManager::Tick(ServerManager *const this);
- void __cdecl _tcf_0_5(void *);
- void `global constructor keyed to'g_pServerManager(); // idb
- void __cdecl Packets::LWAskCharLogin::LWAskCharLogin(Packets::LWAskCharLogin *const this);
- // void __usercall __noreturn sub_805071B(int a1@<ebp>);
- void __cdecl ServerThread::ServerThread(_DWORD *a2);
- void __cdecl ServerThread::ServerThread(_DWORD *a2);
- void __cdecl ServerThread::~ServerThread(Thread *a2);
- void __cdecl ServerThread::~ServerThread(Thread *a2);
- void __cdecl ServerThread::~ServerThread(IPRegionTable *a2);
- void __cdecl ServerThread::run(ServerThread *const this);
- void __cdecl _tcf_0_6(void *);
- void `global constructor keyed to'ServerThread::ServerThread(); // idb
- void __cdecl ServerThread::stop(int a2);
- void __cdecl ThreadManager::ThreadManager(ThreadManager *const this);
- void __cdecl ThreadManager::ThreadManager(ThreadManager *const this);
- void __cdecl ThreadManager::~ThreadManager(ThreadManager *const this);
- void __cdecl ThreadManager::~ThreadManager(ThreadManager *const this);
- BOOL __cdecl ThreadManager::Init(ThreadManager *const this);
- BOOL __cdecl ThreadManager::Start(ThreadManager *const this);
- BOOL __cdecl ThreadManager::Stop(ThreadManager *const this);
- void __cdecl _tcf_0_7(void *);
- void `global constructor keyed to'g_pThreadManager(); // idb
- void __cdecl Config::Config(Config *const this);
- void __cdecl Config::Config(Config *const this);
- void __cdecl Config::~Config(Config *const this);
- // void __usercall sub_80524C2(void *a1@<eax>, int a2@<edi>);
- void __cdecl Config::~Config(Config *const this);
- // void __usercall sub_8052752(void *a1@<eax>, int a2@<edi>);
- void __cdecl Config::LoadShareMemInfo_ReLoad(Config *const this);
- void __cdecl Config::LoadSceneInfo_ReLoad(Config *const this);
- void __cdecl Config::LoadServerInfo_ReLoad(Config *const this);
- void __cdecl Config::LoadMachineInfo_ReLoad(Config *const this);
- void __cdecl Config::LoadBillingInfo_ReLoad(Config *const this);
- void __cdecl Config::LoadWorldInfo_ReLoad(Config *const this);
- void __cdecl Config::LoadLoginInfo_Reload(Config *const this);
- void __cdecl Config::LoadConfigInfo_Only(Config *const this);
- void __cdecl Config::LoadConfigInfo_ReLoad(Config *const this);
- void __cdecl Config::LoadConfigInfo(Config *const this);
- void __cdecl Config::ReLoad(Config *a2);
- void __cdecl Config::LoadLoginInfo_Only(Config *const this);
- void __cdecl Config::LoadLoginInfo(Config *const this);
- void __cdecl Config::LoadWorldInfo_Only(Config *const this);
- void __cdecl Config::LoadWorldInfo(Config *const this);
- void __cdecl Config::LoadBillingInfo_Only(Config *const this);
- void __cdecl Config::LoadBillingInfo(Config *const this);
- void __cdecl Config::LoadShareMemInfo_Only(Config *const this);
- void __cdecl Config::LoadShareMemInfo(Config *const this);
- void __cdecl Config::LoadMachineInfo_Only(Config *const this);
- void __cdecl Config::LoadMachineInfo(Config *const this);
- void __cdecl Config::LoadServerInfo_Only(Config *const this);
- void __cdecl Config::LoadServerInfo(Config *const this);
- void __cdecl Config::LoadSceneInfo_Only(Config *const this);
- void __cdecl Config::LoadSceneInfo(Config *const this);
- BOOL __cdecl Config::Init(Config *const this);
- ID_t __cdecl Config::SceneID2ServerID(const Config *const this, SceneID_t sID);
- ID_t __cdecl Config::Key2ServerID(const Config *const this, SM_KEY key);
- int __cdecl Config::WorldID(int a2);
- void __cdecl _tcf_0_8(void *);
- void __cdecl _tcf_1_0(void *);
- void `global constructor keyed to'g_Config(); // idb
- void __cdecl _BILLING_DATA::~_BILLING_DATA(_DWORD *a2);
- void __cdecl _BILLING_DATA::~_BILLING_DATA(IPRegionTable *const a2);
- void __cdecl _BILLING_INFO::~_BILLING_INFO(_BILLING_INFO *const this);
- void __cdecl _BILLING_INFO::~_BILLING_INFO(_BILLING_INFO *const this);
- void __cdecl Log::Log(Log *const this);
- void __cdecl Log::Log(Log *const this);
- void __cdecl Log::~Log(Log *const this);
- void __cdecl Log::~Log(Log *const this);
- BOOL __cdecl Log::Init(Log *const this, INT cachesize);
- void __cdecl Log::DisplayLog(Log *const this, const CHAR *szMsg);
- void __cdecl Log::CacheLog(Log *const this, INT logid, const CHAR *szMsg);
- void __cdecl Log::GetLogName(Log *const this, INT logid, CHAR *szName);
- void __cdecl Log::FlushLog(Log *const this, INT logid);
- void __cdecl Log::FlushLog_All(Log *const this);
- BOOL __cdecl Log::CheckDebugLogSize(Log *const this, CHAR *strMessage, INT nSize);
- BOOL LogSystem_Init(); // idb
- void LogSystem_Flush(); // idb
- BOOL __cdecl LogSystem_CheckDebugLogSize(CHAR *strMessage, INT nSize);
- void CacheLog(INT logid, const CHAR *msg, ...);
- void CacheLog_MIPFormat(INT logid, const CHAR *msg, ...);
- void DiskLog(CHAR *filename, const CHAR *msg, ...);
- void __cdecl GetSerialKey(CHAR *pSerial, INT nZoneId, INT nWorldId, INT nServerId);
- void __cdecl _tcf_0_9(void *);
- void __cdecl _tcf_1_1(void *);
- void `global constructor keyed to'g_log_lock(); // idb
- void __cdecl SaveItemLog(ITEM_LOG_PARAM *pLogParam);
- void __cdecl SaveMoneyLog(MONEY_LOG_PARAM *pLogParam);
- void __cdecl SavePetLog(PET_LOG_PARAM *pLogParam);
- void __cdecl SaveSkillLog(SKILL_LOG_PARAM *pLogParam);
- void __cdecl SaveXinFaLog(XINFA_LOG_PARAM *pLogParam);
- void __cdecl SaveAbilityLog(ABILITY_LOG_PARAM *pLogParam);
- void __cdecl SaveMissionLog(MISSION_LOG_PARAM *pLogParam);
- void __cdecl SaveExpLog(EXP_LOG_PARAM *pLogParam);
- void __cdecl Save_EfficiencyStatistic(EFFICIENCY_LOG_PARAM *pLogParam);
- void __cdecl AuditSwitch(BOOL a2);
- void __cdecl LogForAudit(AuditType_T::TypeEnum_T nType, GUID_t guidUser, const CHAR *szData);
- void __cdecl Audit_BravertChallenge(GUID_t guidSelf, INT iSort);
- void __cdecl Audit_GuildLeague(GUID_t guidUser, INT numOfLeague, INT numOfGuildInLeague);
- void __cdecl Audit_Stall(GUID_t guidUser, INT CoinType, BOOL bOpen);
- void __cdecl Audit_ItemSoldInStall(GUID_t guidUser, INT nItemDataID, const CHAR *szItemName);
- void __cdecl Audit_PetSoldInStall(GUID_t guidUser, INT nPetDataID, const CHAR *szPetName, INT nPetLevel);
- void __cdecl Audit_GemCompound(GUID_t guidUser, BOOL bSuccess, INT nStuffID0, INT nStuffID1, INT nStuffID2, INT nStuffID3, INT nStuffID4, INT nProductID);
- void __cdecl Audit_CaoYun(GUID_t guidUser, INT nRound, BOOL bStartOrEnd, INT nMoney);
- void __cdecl Audit_ShuiLao(GUID_t guidUser);
- void __cdecl Audit_SafeBox(GUID_t guidUser);
- void __cdecl Audit_DaTu(GUID_t guidUser);
- void __cdecl Audit_WaBao(GUID_t guidUser);
- void __cdecl Audit_MonsterKilled(GUID_t guidUser, INT nMonsterDataID, const CHAR *szMonsterName);
- void __cdecl Audit_MenpaiMember(GUID_t guidUser, INT nMenpaiId);
- void __cdecl Audit_PetKilled(GUID_t guidUser, INT nPetDataID, const CHAR *szPetName);
- void __cdecl Audit_GPS(GUID_t guidUser, BOOL bCreate);
- void __cdecl Audit_Team(GUID_t guidUser);
- void __cdecl Audit_Challenge(GUID_t guidSelf, GUID_t guidTarget);
- void __cdecl Audit_PetHuanTong(GUID_t guidUser, INT nPetDataID, const CHAR *szPetName);
- void __cdecl Audit_PetProCreate(GUID_t guidUser, INT nPetDataID, const CHAR *szPetName, BOOL bRegister);
- void __cdecl Audit_PetCreate(GUID_t guidUser, INT nPetDataID, const CHAR *szType);
- void __cdecl Audit_PetCatched(GUID_t guidUser, INT nPetDataID, const CHAR *szPetName);
- void __cdecl Audit_MissionChain(GUID_t guidUser, INT nRound);
- void __cdecl Audit_PlayerShopBuy(GUID_t guidUser);
- void __cdecl Audit_PlayerShopSold(GUID_t guidUser);
- void __cdecl Audit_ItemSoldInPlayerShop(GUID_t guidUser, INT nItemDataID, const CHAR *szItemName);
- void __cdecl Audit_PetSoldInPlayerShop(GUID_t guidUser, INT nPetDataID, const CHAR *szPetName, INT nPetLevel);
- void __cdecl Audit_PlayerShopRemoved(GUID_t guidUser);
- void __cdecl Audit_PlayerMarriage(GUID_t guidUserA, GUID_t guidUserB, INT nWeddingType);
- void __cdecl Audit_PlayerDivorce(GUID_t guidUserA, GUID_t guidUserB);
- void __cdecl Audit_ItemCreate(GUID_t guidHuman, INT nNum, INT nItemDataID, const CHAR *szItemName, const CHAR *szCreateBy);
- void __cdecl Audit_PK(GUID_t guidDead, GUID_t guidKiller, INT nSceneID, const CHAR *szSceneName, BOOL bCaoYun, BOOL bPaoShang, const CHAR *szDesc);
- void __cdecl Audit_ShiMenRenWu(GUID_t guidSelf, INT nRound, INT nPlayerLevel);
- void __cdecl Audit_ShiMenRenWu_Day(GUID_t guidSelf, INT nRound, INT nPlayerLevel);
- void __cdecl Audit_HuashanThreeWinners(GUID_t guidSelf, INT nMenpai);
- void __cdecl Audit_Candidate(GUID_t guidSelf, const char *lpPlayerName);
- void __cdecl Audit_RelationPoint(GUID_t guidSelf, const CHAR *szRelationNPC, INT nPoint);
- void __cdecl Audit_Quest(GUID_t guidSelf, const char *szQuestName, INT nMenPai, INT nLevel);
- void __cdecl Audit_PaoShang(GUID_t guidUser, INT nMoney);
- void __cdecl Audit_PetImproveWuxing(GUID_t guidUser, INT nPetDataID, BOOL bSuccess, INT newValue);
- void __cdecl Audit_PetImproveSkillBook(GUID_t guidUser, INT nPetDataID, INT nSkillID);
- void __cdecl Audit_PlayerCountOfScene(INT nSceneID, INT nServerID, const CHAR *szSceneName, INT nPlayerCount);
- void __cdecl Audit_GemEmbed(GUID_t guidUser, INT nItemDataID, INT nItemLevel, INT nItemDataID_Equip);
- void __cdecl Audit_PlayerMaster(GUID_t guidMaster, GUID_t guidAprentice);
- void __cdecl Audit_PlayerMasterExp(GUID_t guidUser, INT nGBValue, INT nExp, SHORT sOpType);
- void __cdecl Audit_ItemUseMenPaiZhaoJiLing(GUID_t guidUser, INT nMenPaiID);
- void __cdecl Audit_PlayerLevelup(GUID_t guidUser, INT nCurrentLevel, INT nUpLevel);
- void __cdecl Audit_HDXianCaoZhengDuo(GUID_t guidSelf, const CHAR *szStep);
- void __cdecl Audit_PlayerGetGuildWage(GUID_t guidSelf, GUID_t guidGuild, INT nWage);
- void __cdecl Audit_MiYinKuangShiUsed(GUID_t guidUser);
- void __cdecl Audit_DarkKeyUsed(GUID_t guidSelf, INT nType, INT nRemain);
- void __cdecl Audit_JuBaoContainerUsed(GUID_t guidSelf, INT nType, INT nRemain);
- void __cdecl Audit_LuckyTurnTable(GUID_t guidSelf, INT nPrizeType_1, INT nPrizeType_2, INT nPrizeType_3);
- void __cdecl Audit_LuckyTurnTable_Dragon(GUID_t guidSelf, INT nPrizeType, INT nRemain);
- void __cdecl Audit_ChangeGem(GUID_t guidUser, const CHAR *strLog);
- void __cdecl Audit_ChangeNianShouDriver(GUID_t guidSelf, INT nLevel);
- void __cdecl Audit_CompoisteFigure(GUID_t guidSelf);
- void __cdecl Audit_ZhuanDanUsed(GUID_t guidSelf, INT nType, INT nRemain);
- void __cdecl Audit_ItemIdentified(GUID_t guidSelf, INT nItemIndex, INT nWorld, INT nServer, INT nItemSN, INT nItemLevel);
- void __cdecl Audit_CommisionSale(GUID_t guidSelf, INT nSN, INT nOptType, INT nValue, INT nPrice, BOOL bDeal, INT nPlayerLevel);
- void __cdecl Audit_GuildDeclareWar(GUID_t guidSelf, GUID_t guidSelfGuild, GUID_t guidTargetGuild, INT nOptType);
- void __cdecl Audit_MinorPassword(GUID_t guidSelf, const CHAR *szOpt);
- void __cdecl Audit_YanXuanYuExchange(GUID_t guidSelf, INT nItemIndexOfYanXuanYu, INT nCountOfYanXuanYu, INT nItemIndexOfTrophy);
- void __cdecl Audit_YunBiao(GUID_t guidSelf, GUID_t guidGuild, INT nInvest, const CHAR *szOpt);
- void __cdecl Audit_EquipQianghua(GUID_t guidSelf, INT nEquipItemIndex, INT nEnhanceLevel);
- void __cdecl Audit_GoodbadDecPKValue(GUID_t guidSelf, INT nDec);
- void __cdecl Audit_Skill_Monster(GUID_t guidSelf, const CHAR *nPlayerName, INT nMonsterNum);
- void __cdecl Audit_JiaoFei(GUID_t guidSelf);
- void __cdecl Audit_PlayerEnterScene(GUID_t guidSelf, INT nSceneID, const CHAR *szMapName);
- void __cdecl Audit_GemCarve(GUID_t guidSelf, INT GemItemID);
- void __cdecl Audit_PlayerShopSaleShopAddItem(GUID_t guidSelf, INT nItemIndex, INT iPos, INT iNeedNum, INT iPrice);
- void __cdecl Audit_PlayerShopSaleShopSellItem(GUID_t guidSelf, INT nItemIndex, INT itemWorld, INT itemServer, INT itemSerial, INT itemPrice, INT itemNum);
- void __cdecl Audit_LearnLifeAbility(GUID_t guidSelf, AbilityID_t nAid);
- void __cdecl Audit_LevelUpLifeAbility(GUID_t guidSelf, AbilityID_t nAid, INT iToLevel);
- void __cdecl Audit_ShengShou_Open_BigBox(GUID_t guidSelf);
- void __cdecl Audit_ShengShou_Open_SmallBox(GUID_t guidSelf);
- void __cdecl Audit_ShenQi(GUID_t guidSelf, INT nItemIndex);
- void __cdecl Audit_PlayerBehavior(GUID_t guidSelf, INT nSceneID, const CHAR *szSceneName, const CHAR *szDescription, INT nMenPai, INT nLevel);
- void __cdecl Audit_ShenCai(GUID_t guidSelf, INT nItemIndex);
- void __cdecl Audit_CaoyunSale(GUID_t guidUser);
- void __cdecl AuditUseSChoolBags(GUID_t guidUser, INT nLevel, INT nSex);
- void __cdecl Audit_GetSChoolUniform(GUID_t guidUser, INT nLevel, INT nSex);
- void __cdecl Audit_ChangeHead(GUID_t guidSelf, INT nHeadIndex);
- void __cdecl Audit_Equip_Stiletto(GUID_t guidUser, INT nItemDataID_Equip, INT nSlots);
- void __cdecl Audit_EquipPickOffGem(GUID_t guidUser, INT nItemDataID_Gem, INT nItemLevel_Gem, INT nItemDataID_Equip);
- void __cdecl Audit_ShuangXiangPao(GUID_t guidUser, INT nEventID);
- void __cdecl Audit_YuRenJie(GUID_t guidUser, const char *lpPlayerName);
- void __cdecl Audit_YuRenJie_Exp(GUID_t guidUser, const char *lpPlayerName, const int playerLevel, const int expNum);
- void __cdecl Audit_PetCagePresent(GUID_t guidUser, const char *lpPlayerName);
- void __cdecl Audit_GeiZhaoPai(GUID_t guidUser, const char *lpPlayerName, const char *lpZhaoPaiName);
- void __cdecl Audit_GodFire(SceneID_t sceneId, GUID_t guidUser, INT nItemIndex, MissionID_t nMissionId, ID_t nWorldID, ID_t nZoneID, const CHAR *nName, const CHAR *nAccName, UINT nLevel);
- void __cdecl Audit_DrawGuildWelfare(GUID_t guidUser, INT nMoney, INT nExp);
- void __cdecl Audit_SwitchToLeaguePK(INT sceneId, GUID_t guidUser);
- void __cdecl Audit_LeaguePkDie(INT sceneId, GUID_t guidUser, GUID_t guidKiller);
- void __cdecl Audit_ShiTuZongDongYuan(GUID_t guidUser, const CHAR *strLog);
- void __cdecl Audit_SlotFour(GUID_t guidUser, const CHAR *strLog);
- void __cdecl Audit_EnchaseFour(GUID_t guidUser, const CHAR *strLog);
- void __cdecl Audit_JipinZhuangbei(GUID_t guidUser, INT nItemIndex);
- void __cdecl Audit_PetSkillStudy_Manual(GUID_t guidUser, INT nPetDataID, INT nSkillID);
- void __cdecl Audit_PetSkillStudy_Auto(GUID_t guidUser, INT nPetDataID, INT nSkillID);
- void __cdecl Audit_PetSkillStudy_GetManual2(GUID_t guidUser, INT nPetDataID, INT nSkillID);
- void __cdecl Audit_PetSkillStudy_GetAuto5(GUID_t guidUser, INT nPetDataID, INT nSkillID);
- void __cdecl Audit_PMF_CreateFuben(GUID_t guidUser);
- void __cdecl Audit_PMF_CreateBoss(GUID_t guidUser, INT nBossDataID);
- void __cdecl Audit_PWLock(GUID_t OwnerGUID, SceneID_t sceneId, BYTE objType, BYTE optType, const _ITEM_GUID *itemGUID, const PET_GUID_t *petGUID);
- void __cdecl Audit_JoinJiaoShiJie(GUID_t guidUser);
- void __cdecl Audit_JoinCollectSignature(INT sceneId, GUID_t guidUser);
- void __cdecl Audit_ExchangeMenpaiSuit(INT sceneId, GUID_t guidUser, INT menpai, INT suitId);
- void __cdecl Audit_ExchangeFriendGift(INT sceneId, GUID_t guidUser, UINT itemId);
- void __cdecl Audit_CitySpy(INT sceneId, GUID_t guidUser, UINT level, UINT type);
- void __cdecl Audit_XQJ_CreateFuBen(GUID_t guidUser);
- void __cdecl Audit_ReexperienceWedding(GUID_t guidUser1, GUID_t guidUser2, INT level1, INT level2);
- void __cdecl Audit_UseTeacherGift(GUID_t guidUser, INT itemIndex);
- void __cdecl Audit_RunHunDanUsed(GUID_t guidSelf, INT ItemIndex);
- void __cdecl Audit_DianHuaMiBaoZengPing(GUID_t guidSelf, const CHAR *AccName, INT ItemIndex);
- void __cdecl Audit_AnBaoJinPaiZengPing(GUID_t guidSelf, INT ItemIndex);
- void __cdecl Audit_GiveExpAfterUnline(GUID_t guidSelf, INT nDone, INT nExpNum, INT nLevel, INT nMenPai);
- void __cdecl Audit_GiveItemAfterUnline(GUID_t guidSelf, INT nItemID, INT nItemNum, INT nLevel, INT nMenPai);
- void __cdecl Audit_GivePoolExpAfterUnline(GUID_t guidSelf, INT nExpNum, INT nDay, INT nLevel, INT nMenPai);
- void __cdecl Audit_NetPet_CreateCopy(GUID_t createrGuid, INT nMemberNum);
- void __cdecl Audit_CreateXSZhuangNum(GUID_t guidUser, INT num);
- void __cdecl Audit_ShiMen_CaiJiPet(GUID_t guidUser, INT Level);
- void __cdecl Audit_QingRenJie_ShiZhuang(GUID_t guidUser);
- void __cdecl Audit_ShiMen_CaiJi(GUID_t guidUser, INT type);
- void __cdecl Audit_XinSanHuan_CreateFuben(GUID_t guidUser, INT type);
- void __cdecl Audit_XuanHaoYu(GUID_t guidSelf, INT level, INT ItemID);
- void __cdecl Audit_GemMelting(GUID_t guidSelf, INT GemItemID1, INT GemItemID2, INT GemItemID3, INT NeedItemID, INT ProductItemID);
- void __cdecl Audit_UpgradeRing(GUID_t guidSelf, INT level, UINT itemID, INT type);
- void __cdecl Audit_GuildCollect(GUID_t guidSelf, const CHAR *guildName, const CHAR *cityName, INT level, UINT num, INT type);
- void __cdecl Audit_YuanBaoStall_Item(GUID_t guidSelf, GUID_t guidBuyer, INT number, INT ItemIndex, INT ItemPrice);
- void __cdecl Audit_YuanBaoStall_Pet(GUID_t guidSelf, GUID_t guidBuyer, INT number, INT PetIndex, INT PetPrice);
- void __cdecl Audit_Segment(GUID_t guidSelf, INT type);
- void __cdecl Audit_ResetPMFCountSmall(GUID_t guidSelf, INT nDayCount);
- void __cdecl Audit_ChangeFatigueState(GUID_t guidSelf, INT oldState, INT newState);
- void __cdecl Oops_Log(INT type, INT from, INT srvID, const CHAR *szMsg);
- void General_Oops_Log(INT type, const CHAR *msg, ...);
- void __cdecl OopsLogBase::WriteLog(OopsLogBase *const this, INT type, const CHAR *szMsg);
- void __cdecl Audit_QianDao_Award(GUID_t guidPlayer, const CHAR *strPlayerName, INT nLevel, INT nAwardCount);
- void __cdecl Audit_QianDao_Join(GUID_t guidPlayer, const CHAR *strPlayerName, INT nLevel);
- void __cdecl Audit_FindFriendAD_DelInfo(GUID_t guidSelf, INT nADType);
- void __cdecl Audit_FindFriendAD_NewInfo(GUID_t guidSelf, INT nADType);
- void __cdecl Audit_FindFriendad_ClickZheng(GUID_t guidSelf);
- void __cdecl Audit_PetSkillLevelUpAndCompound(GUID_t guidUser, INT type, INT ItemID);
- void __cdecl _tcf_0_10(void *);
- void __cdecl _tcf_1_2(void *);
- void `global constructor keyed to'SaveItemLog(); // idb
- void __cdecl OopsLogBase::~OopsLogBase(_DWORD *a2);
- void __cdecl OopsLogBase::~OopsLogBase(IPRegionTable *const a2);
- void __cdecl OopsLogBase::Flush(OopsLogBase *const this);
- void __cdecl StrTable::StrTable(_DWORD *a2);
- void __cdecl StrTable::StrTable(_DWORD *a2);
- void __cdecl StrTable::~StrTable(StrTable *const this);
- void __cdecl StrTable::~StrTable(StrTable *const this);
- void __cdecl StrTable::InitTable(StrTable *const this, UINT uMaxItem, UINT uSize);
- // BOOL __usercall StrTable::Add@<eax>(StrTable *const this, const CHAR *szString, void *pPtr@<eax>); idb
- void *__cdecl StrTable::Get(StrTable *const this, const CHAR *szString);
- void *__cdecl StrTable::GetByPos(StrTable *const this, UINT pos);
- void __cdecl StrTable::Remove(StrTable *const this, const CHAR *szString);
- void __cdecl StrTable::RemoveByPos(StrTable *const this, UINT pos);
- void __cdecl StrTable::CleanUp(StrTable *const this);
- void __cdecl _tcf_0_11(void *);
- void `global constructor keyed to'StrTable::StrTable(); // idb
- void __cdecl _HUMAN_DB_LOAD::CleanUp(_HUMAN_DB_LOAD *const this);
- void __cdecl _BANK_DB_LOAD::CleanUp(char *s);
- void __cdecl _BAG_DB_LOAD::CleanUp(_DWORD *s);
- void __cdecl _EQUIP_DB_LOAD::CleanUp(_WORD *s);
- void __cdecl _ABILITY_DB_LOAD::CleanUp(char *s);
- void __cdecl _SKILL_DB_LOAD::CleanUp(_SKILL_DB_LOAD *const this);
- void __cdecl _XINFA_DB_LOAD::CleanUp(_XINFA_DB_LOAD *const this);
- void __cdecl _IMPACT_DB_LOAD::CleanUp(_BYTE *a2);
- void __cdecl _MISSION_DB_LOAD::CleanUp(_MISSION_DB_LOAD *const this);
- void __cdecl _RELATION_DB_LOAD::CleanUp(_RELATION_DB_LOAD *const this);
- void __cdecl _PET_SKILL::CleanUp(int a2);
- void __cdecl _PET_DB_LOAD::CleanUp(_PET_DB_LOAD *const this);
- void __cdecl _PET_DB_LIST_LOAD::CleanUp(_PET_DB_LIST_LOAD *const this);
- void __cdecl _tcf_0_12(void *);
- void `global constructor keyed to'_HUMAN_DB_LOAD::CleanUp(); // idb
- void __cdecl BATCH_MAIL::CleanUp(int a2);
- BYTE __cdecl GetSerialClass(UINT Serial);
- unsigned int __cdecl GetSerialType(unsigned int a2);
- unsigned int __cdecl GetSerialQual(unsigned int a2);
- UINT __cdecl GetSerialIndex(unsigned int a2);
- void __cdecl SwapItem(_ITEM *pItemA, _ITEM *pItemB);
- void __cdecl _ITEM::SetItemBind(_ITEM *const this, BOOL bBind);
- void __cdecl _ITEM::SetItemLock(_ITEM *const this, BOOL bBind);
- void __cdecl FindFriendAD_DetailInfo::CleanUp(int a2);
- // _ITEM_TYPE *__userpurge ConvertSerial2ItemType@<eax>(_ITEM_TYPE *retstr, UINT Serial);
- BOOL __cdecl _ITEM::GetCreatorVar(int a2);
- UINT __cdecl GetItemRealSize(const _ITEM *const it);
- void __cdecl OverWriteItem(_ITEM *pItemA, _ITEM *pItemB);
- void __cdecl _ITEM::Read(_ITEM *const this, SocketInputStream *const iStream);
- void __cdecl _ITEM::Write(const _ITEM *const this, SocketOutputStream *const oStream);
- BOOL __cdecl _ITEM::IsFixAttr(_ITEM *const this, BYTE attrType);
- BYTE __cdecl _ITEM::GetFixAttrCount(_ITEM *const this);
- BOOL __cdecl _ITEM::GetItemBind(int a2);
- BOOL __cdecl _ITEM::GetItemLock(int a2);
- BOOL __cdecl _ITEM::GetItemIdent(int a2);
- void __cdecl _ITEM::SetItemIdent(_ITEM *const this, BOOL bIdent);
- void __cdecl _ITEM::SetCreatorVar(_ITEM *const this, BOOL bCreator);
- const CHAR *__cdecl _ITEM::GetCreator(const _ITEM *const this);
- BOOL __cdecl _ITEM::GetItemPLock(int a2);
- void __cdecl _ITEM::SetItemPLock(_ITEM *const this, BOOL bLock);
- BOOL __cdecl _ITEM::GetItemAptitude(int a2);
- void __cdecl _ITEM::SetItemAptitude(_ITEM *const this, BOOL bLock);
- INT __cdecl _ITEM::GetItemFailTimes(int a2);
- void __cdecl _ITEM::SetItemFailTimes(int a3, char a4);
- int __cdecl _ITEM::GetItemVisual(int a2);
- void __cdecl _ITEM::SetItemVisual(int nVisual, __int16 nVisuala);
- INT __cdecl _ITEM::GetItemParamValue(_ITEM *const this, UINT Start, const ItemParamValue *const ipv);
- void __cdecl _ITEM::SetItemParam(_ITEM *const this, UINT start, const ItemParamValue *const ipv, INT value);
- UINT __cdecl _ITEM::GetEquipmentMaxLevelGemID(_ITEM *const this);
- INT __cdecl _ITEM::WriteFixAttr(_ITEM *const this, CHAR *pIn, INT BuffLength);
- INT __cdecl _ITEM::Write_35_FixAttr(_ITEM *const this, CHAR *pIn, INT BuffLength);
- BOOL __cdecl _ITEM::ReadFixAttr(_ITEM *const this, CHAR *pOut, INT *const OutLength, INT BuffLength);
- BOOL __cdecl _ITEM::Read_35_FixAttr(_ITEM *const this, CHAR *pOut, INT *const OutLength, INT BuffLength);
- INT __cdecl _ITEM::WriteVarAttr(_ITEM *const this, CHAR *pIn, INT BuffLength);
- BOOL __cdecl _ITEM::ClientWriteVarAttr(_ITEM *const this, CHAR *pIn, INT *const OutLength, INT BuffLength);
- BOOL __cdecl _ITEM::ReadVarAttr(_ITEM *const this, CHAR *pOut, INT *const OutLength, INT BuffLength);
- BOOL __cdecl _ITEM::DBReadAttr(_ITEM *const this, CHAR *pOut, INT *const OutLength, INT BuffLength);
- BOOL __cdecl _ITEM::DBWriteAttr(_ITEM *const this, CHAR *pIn, INT BuffLength);
- BOOL __cdecl _ITEM::ClientReadVarAttr(_ITEM *const this, CHAR *pOut, INT *const OutLength, INT BuffLength);
- BYTE __cdecl _ITEM::GetItemCount(const _ITEM *const this);
- BOOL __cdecl _ITEM::DecCount(_ITEM *const this, char a3);
- void __cdecl _ITEM::SetItemCount(_ITEM *const this, INT nCount);
- BYTE __cdecl _ITEM::GetItemTileMax(const _ITEM *const this);
- BOOL __cdecl _ITEM::isFullTile(_ITEM *a2);
- BOOL __cdecl _ITEM::IncCount(_ITEM *const this, char a3);
- BOOL __cdecl _ITEM::GetEncodeDarkData(const _ITEM *const this, CHAR *pOut, INT nBufLen);
- void __cdecl _ITEM::DecodeDarkData(_ITEM *const this);
- BOOL __cdecl Item2String(_ITEM *pItem, CHAR *pOut, INT *const OutLength, INT BuffLength);
- BOOL __cdecl String2Item(const CHAR *pIn, INT BuffLength, _ITEM *pItem);
- void __cdecl GUILD_CGW_ASKLIST::Read(int a3, SocketInputStream *a4);
- void __cdecl GUILD_CGW_ASKLIST::Write(int a3, SocketOutputStream *a4);
- void __cdecl GUILD_CGW_ASKNAMELIST::Read(GUILD_CGW_ASKNAMELIST *const this, SocketInputStream *const iStream);
- void __cdecl GUILD_CGW_ASKNAMELIST::Write(const GUILD_CGW_ASKNAMELIST *const this, SocketOutputStream *const oStream);
- void __cdecl GUILD_CGW_CREATE::Read(GUILD_CGW_CREATE *const this, SocketInputStream *const iStream);
- void __cdecl GUILD_CGW_CREATE::Write(const GUILD_CGW_CREATE *const this, SocketOutputStream *const oStream);
- void __cdecl GUILD_CGW_JOIN::Read(GUILD_CGW_JOIN *const this, SocketInputStream *const iStream);
- void __cdecl GUILD_CGW_JOIN::Write(const GUILD_CGW_JOIN *const this, SocketOutputStream *const oStream);
- void __cdecl GUILD_CGW_ASKINFO::Read(int a3, SocketInputStream *a4);
- void __cdecl GUILD_CGW_ASKINFO::Write(int a3, SocketOutputStream *a4);
- void __cdecl GUILD_CGW_APPOINT::Read(CHAR *a3, SocketInputStream *a4);
- void __cdecl GUILD_CGW_APPOINT::Write(const CHAR *a3, SocketOutputStream *a4);
- void __cdecl GUILD_CGW_ADJUSTAUTH::Read(CHAR *a3, SocketInputStream *a4);
- void __cdecl GUILD_CGW_ADJUSTAUTH::Write(const CHAR *a3, SocketOutputStream *a4);
- void __cdecl GUILD_CGW_RECRUIT::Read(GUILD_CGW_RECRUIT *const this, SocketInputStream *const iStream);
- void __cdecl GUILD_CGW_RECRUIT::Write(const GUILD_CGW_RECRUIT *const this, SocketOutputStream *const oStream);
- void __cdecl GUILD_CGW_EXPEL::Read(GUILD_CGW_EXPEL *const this, SocketInputStream *const iStream);
- void __cdecl GUILD_CGW_EXPEL::Write(const GUILD_CGW_EXPEL *const this, SocketOutputStream *const oStream);
- void __cdecl GUILD_CGW_WITHDRAW::Read(GUILD_CGW_WITHDRAW *const this, SocketInputStream *const iStream);
- void __cdecl GUILD_CGW_WITHDRAW::Write(const GUILD_CGW_WITHDRAW *const this, SocketOutputStream *const oStream);
- void __cdecl GUILD_CGW_DEPOSIT::Read(GUILD_CGW_DEPOSIT *const this, SocketInputStream *const iStream);
- void __cdecl GUILD_CGW_DEPOSIT::Write(const GUILD_CGW_DEPOSIT *const this, SocketOutputStream *const oStream);
- void __cdecl GUILD_POSITION_NAME_LIST::Read(int a3, SocketInputStream *a4);
- void __cdecl GUILD_POSITION_NAME_LIST::Write(int a3, SocketOutputStream *a4);
- void __cdecl GUILD_CGW_CHANG_DESC::Read(GUILD_CGW_CHANG_DESC *const this, SocketInputStream *const iStream);
- void __cdecl GUILD_CGW_CHANG_DESC::Write(const GUILD_CGW_CHANG_DESC *const this, SocketOutputStream *const oStream);
- void __cdecl GUILD_CGW_MODIFY_LEAVE_WORD::Read(GUILD_CGW_MODIFY_LEAVE_WORD *const this, SocketInputStream *const iStream);
- void __cdecl GUILD_CGW_MODIFY_LEAVE_WORD::Write(const GUILD_CGW_MODIFY_LEAVE_WORD *const this, SocketOutputStream *const oStream);
- void __cdecl GUILD_WGC_APPOINT_INFO::Read(CHAR *a3, SocketInputStream *a4);
- void __cdecl GUILD_WGC_APPOINT_INFO::Write(const CHAR *a3, SocketOutputStream *a4);
- void __cdecl GUILD_WGC_GUILD_INFO::Read(CHAR *a3, SocketInputStream *a4);
- void __cdecl GUILD_WGC_GUILD_INFO::Write(const CHAR *a3, SocketOutputStream *a4);
- void __cdecl GUILD_WGC_MEMBER_LIST::Read(GUILD_WGC_MEMBER_LIST *const this, SocketInputStream *const iStream);
- void __cdecl GUILD_WGC_MEMBER_LIST::Write(const GUILD_WGC_MEMBER_LIST *const this, SocketOutputStream *const oStream);
- void __cdecl GUILD_WGC_LIST::Read(GUILD_WGC_LIST *const this, SocketInputStream *const iStream);
- void __cdecl GUILD_WGC_LIST::Write(const GUILD_WGC_LIST *const this, SocketOutputStream *const oStream);
- void __cdecl GUILD_WGC_NAMELIST::Read(GUILD_WGC_NAMELIST *const this, SocketInputStream *const iStream);
- void __cdecl GUILD_WGC_NAMELIST::Write(const GUILD_WGC_NAMELIST *const this, SocketOutputStream *const oStream);
- void __cdecl GUILD_WGC_SELF_GUILD_INFO::Read(GUILD_WGC_SELF_GUILD_INFO *const this, SocketInputStream *const iStream);
- void __cdecl GUILD_WGC_SELF_GUILD_INFO::Write(const GUILD_WGC_SELF_GUILD_INFO *const this, SocketOutputStream *const oStream);
- void __cdecl _GUILD_PACKET::Read(_GUILD_PACKET *const this, SocketInputStream *const iStream);
- void __cdecl _GUILD_PACKET::Write(const _GUILD_PACKET *const this, SocketOutputStream *const oStream);
- void __cdecl _GUILD_RETURN::Read(_GUILD_RETURN *const this, SocketInputStream *const iStream);
- void __cdecl _GUILD_RETURN::Write(const _GUILD_RETURN *const this, SocketOutputStream *const oStream);
- void __cdecl MAIL::Read(MAIL *const this, SocketInputStream *const iStream);
- void __cdecl MAIL::Write(const MAIL *const this, SocketOutputStream *const oStream);
- void __cdecl MAIL_LIST::Read(MAIL_LIST *const this, SocketInputStream *const iStream);
- void __cdecl MAIL_LIST::Write(const MAIL_LIST *const this, SocketOutputStream *const oStream);
- UINT __cdecl BATCH_MAIL::GetSize(const BATCH_MAIL *const this);
- void __cdecl BATCH_MAIL::Read(BATCH_MAIL *const this, SocketInputStream *const iStream);
- void __cdecl BATCH_MAIL::Write(const BATCH_MAIL *const this, SocketOutputStream *const oStream);
- void DB_QUERY::Parse(DB_QUERY *const this, const CHAR *pTemplate, ...);
- void LONG_DB_QUERY::Parse(LONG_DB_QUERY *const this, const CHAR *pTemplate, ...);
- int __cdecl TEAM_LIST_ENTRY::GetSize(int a2);
- void __cdecl TEAM_LIST_ENTRY::Read(TEAM_LIST_ENTRY *const this, SocketInputStream *const iStream);
- void __cdecl TEAM_LIST_ENTRY::Write(const TEAM_LIST_ENTRY *const this, SocketOutputStream *const oStream);
- void __cdecl _BUY_DATA::GetSubString(_BUY_DATA *const this, INT nIdx, CHAR *pBuf, INT nBufLength);
- BYTE __cdecl _BUY_DATA::GetPrizeType(_BUY_DATA *const this);
- int __cdecl _BUY_DATA::GetGoodsType(int a2);
- UINT __cdecl _BUY_DATA::GetPrizeSerial(_BUY_DATA *const this);
- int __cdecl _BUY_DATA::GetPrizeNum(int a2);
- int __cdecl _BUY_DATA::GetGoodsNum(int a2);
- UINT __cdecl _BUY_DATA::GetCostPoint(int a2);
- void __cdecl DisclosureMsg::DisclosureInfo::Read(DisclosureMsg::DisclosureInfo *const this, SocketInputStream *const iStream);
- void __cdecl DisclosureMsg::Read(DisclosureMsg *const this, SocketInputStream *const iStream);
- void __cdecl DisclosureMsg::DisclosureInfo::Write(const DisclosureMsg::DisclosureInfo *const this, SocketOutputStream *const oStream);
- void __cdecl DisclosureMsg::Write(const DisclosureMsg *const this, SocketOutputStream *const oStream);
- int __cdecl DisclosureMsg::DisclosureInfo::GetSize(unsigned __int8 *a2);
- int __cdecl DisclosureMsg::GetSize(int a2);
- void __cdecl FindFriendAD_VoteInfo_Packets::Read(FindFriendAD_VoteInfo_Packets *const this, SocketInputStream *const iStream);
- void __cdecl FindFriendAD_VoteInfo_Packets::Write(const FindFriendAD_VoteInfo_Packets *const this, SocketOutputStream *const oStream);
- void __cdecl FindFriendAD_SimpleInfo::Read(FindFriendAD_SimpleInfo *const this, SocketInputStream *const iStream);
- void __cdecl FindFriendAD_SimpleInfo::Write(const FindFriendAD_SimpleInfo *const this, SocketOutputStream *const oStream);
- int __cdecl FindFriendAD_DetailInfo::GetPacketSize(int a2);
- void __cdecl FindFriendAD_DetailInfo::Read(FindFriendAD_DetailInfo *const this, SocketInputStream *const iStream);
- void __cdecl FindFriendAD_DetailInfo::Write(const FindFriendAD_DetailInfo *const this, SocketOutputStream *const oStream);
- void __cdecl _tcf_0_13(void *);
- void `global constructor keyed to'GetSerialType(); // idb
- UINT __cdecl GUILD_CGW_ASKLIST::GetPacketSize(const GUILD_CGW_ASKLIST *const this);
- UINT __cdecl GUILD_CGW_ASKNAMELIST::GetPacketSize(const GUILD_CGW_ASKNAMELIST *const this);
- int __cdecl GUILD_CGW_CREATE::GetPacketSize(int a2);
- UINT __cdecl GUILD_CGW_JOIN::GetPacketSize(const GUILD_CGW_JOIN *const this);
- UINT __cdecl GUILD_CGW_ASKINFO::GetPacketSize(const GUILD_CGW_ASKINFO *const this);
- UINT __cdecl GUILD_CGW_APPOINT::GetPacketSize(const GUILD_CGW_APPOINT *const this);
- UINT __cdecl GUILD_CGW_ADJUSTAUTH::GetPacketSize(const GUILD_CGW_ADJUSTAUTH *const this);
- UINT __cdecl GUILD_CGW_RECRUIT::GetPacketSize(const GUILD_CGW_RECRUIT *const this);
- UINT __cdecl GUILD_CGW_EXPEL::GetPacketSize(const GUILD_CGW_EXPEL *const this);
- UINT __cdecl GUILD_CGW_WITHDRAW::GetPacketSize(const GUILD_CGW_WITHDRAW *const this);
- UINT __cdecl GUILD_CGW_DEPOSIT::GetPacketSize(const GUILD_CGW_DEPOSIT *const this);
- int __cdecl GUILD_POSITION_NAME_LIST::GetPacketSize(int a2);
- int __cdecl GUILD_CGW_CHANG_DESC::GetPacketSize(int a2);
- int __cdecl GUILD_CGW_MODIFY_LEAVE_WORD::GetPacketSize(int a2);
- int __cdecl GUILD_WGC_APPOINT_INFO::GetPacketSize(int a2);
- UINT __cdecl GUILD_WGC_GUILD_INFO::GetPacketSize(const GUILD_WGC_GUILD_INFO *const this);
- int __cdecl GUILD_WGC_MEMBER_LIST::GetPacketSize(int a2);
- int __cdecl GUILD_WGC_LIST::GetPacketSize(int a2);
- UINT __cdecl GUILD_WGC_NAMELIST::GetPacketSize(const GUILD_WGC_NAMELIST *const this);
- UINT __fastcall GUILD_WGC_SELF_GUILD_INFO::GetPacketSize(const GUILD_WGC_SELF_GUILD_INFO *const this);
- int __cdecl FindFriendAD_VoteInfo_Packets::GetPacketSize(int a2);
- int __cdecl FindFriendAD_SimpleInfo::GetPacketSize(int a2);
- void __cdecl MySleep(int a2);
- BOOL __cdecl sm_trylock(CHAR *const flag, CHAR type);
- void __cdecl sm_unlock(CHAR *const flag, CHAR type);
- void __cdecl sm_lock(CHAR *const flag, CHAR type);
- FLOAT __cdecl MySqrt(const WORLD_POS *pCur, const WORLD_POS *pTar);
- long double __cdecl MyLengthSq(float *a3, float *a4);
- FLOAT __cdecl MyAngle(const WORLD_POS *pCur, const WORLD_POS *pTar);
- BOOL __cdecl MyPosEqual(const WORLD_POS *pA, const WORLD_POS *pB);
- void __cdecl MyRandPos(WORLD_POS *pPos, const WORLD_POS *pDir, FLOAT fRadioMax, FLOAT fRadioMin);
- CHAR *MySocketError(); // idb
- UINT __cdecl MyCRC(const CHAR *szString);
- UINT __cdecl BinCRC(const CHAR *pBinary, INT InSize);
- BOOL __cdecl Bin2StrEx(const CHAR *pIn, UINT InLength, CHAR *pOut, UINT InMaxSize);
- BOOL __cdecl Str2BinEx(const CHAR *pIn, UINT InLength, CHAR *pOut, UINT *const MaxLengthOrOutLength);
- BOOL __cdecl Bin2Str(const CHAR *pIn, UINT InLength, CHAR *pOut);
- CHAR __cdecl Value2Ascii(CHAR in);
- CHAR __cdecl Ascii2Value(CHAR in);
- BOOL __cdecl Binary2String(const CHAR *pIn, UINT InLength, CHAR *pOut);
- BOOL __cdecl DBStr2Binary(const CHAR *pIn, UINT InLength, CHAR *pOut, UINT OutLimit, UINT *a6);
- BOOL __cdecl Str2Bin(const CHAR *pIn, UINT InLength, CHAR *pOut, UINT OutLimit, UINT *a6);
- BOOL __cdecl StrSafeCheck(const CHAR *pIn, UINT InLength);
- BOOL __cdecl AccNameCheck(const CHAR *pIn, UINT InLength, INT nLanguage);
- UINT __cdecl GetMailSize(const MAIL *const mail);
- UINT __cdecl GetMailListSize(const MAIL_LIST *const maillist);
- void __cdecl DumpStack(const CHAR *type);
- UINT __cdecl FullDataCrc(FULLUSERDATA *pData, BOOL bLog);
- bool __cdecl SafeMemCopy(void *pDest, const void *pSrc, const size_t DestSize, const size_t SrcSize);
- bool __cdecl SafeStrCopy(char *pDest, const size_t DestSize, const char *pSrc, const size_t SrcSize);
- void __cdecl _tcf_0_14(void *);
- void `global constructor keyed to'g_CmdArgv(); // idb
- void __cdecl PacketFactoryManagerInstance::PacketFactoryManagerInstance(PacketFactoryManager *a2);
- void __cdecl PacketFactoryManagerInstance::PacketFactoryManagerInstance(PacketFactoryManager *a2);
- void __cdecl PacketFactoryManagerInstance::~PacketFactoryManagerInstance(PacketFactoryManager *a2);
- void __cdecl PacketFactoryManagerInstance::~PacketFactoryManagerInstance(PacketFactoryManager *a2);
- void __cdecl PacketFactoryManagerInstance::~PacketFactoryManagerInstance(PacketFactoryManager *a2);
- BOOL __cdecl PacketFactoryManagerInstance::Init(PacketFactoryManagerInstance *const this);
- void __noreturn sub_806AD8D();
- // void __usercall __noreturn sub_806ADC8(pthread_mutex_t *a1@<eax>, int a2@<ebp>);
- void __cdecl BillPacketFactoryManagerInstance::BillPacketFactoryManagerInstance(BillPacketFactoryManager *a2);
- void __cdecl BillPacketFactoryManagerInstance::BillPacketFactoryManagerInstance(BillPacketFactoryManager *a2);
- void __cdecl BillPacketFactoryManagerInstance::~BillPacketFactoryManagerInstance(BillPacketFactoryManager *a2);
- void __cdecl BillPacketFactoryManagerInstance::~BillPacketFactoryManagerInstance(BillPacketFactoryManager *a2);
- void __cdecl BillPacketFactoryManagerInstance::~BillPacketFactoryManagerInstance(BillPacketFactoryManager *a2);
- BOOL __cdecl BillPacketFactoryManagerInstance::Init(BillPacketFactoryManagerInstance *const this);
- void __cdecl _tcf_0_15(void *);
- void `global constructor keyed to'g_pPacketFactoryManager(); // idb
- void __cdecl PacketFactory::~PacketFactory(_DWORD *a2);
- void __cdecl PacketFactory::~PacketFactory(IPRegionTable *const a2);
- Packet *__cdecl Packets::CLAskLoginFactory::CreatePacket(Packets::CLAskLoginFactory *const this);
- PacketID_t __cdecl Packets::CLAskLoginFactory::GetPacketID(const Packets::CLAskLoginFactory *const this);
- UINT __cdecl Packets::CLAskLoginFactory::GetPacketMaxSize(const Packets::CLAskLoginFactory *const this);
- Packet *__cdecl Packets::CLAskCharListFactory::CreatePacket(Packets::CLAskCharListFactory *const this);
- PacketID_t __cdecl Packets::CLAskCharListFactory::GetPacketID(const Packets::CLAskCharListFactory *const this);
- UINT __cdecl Packets::CLAskCharListFactory::GetPacketMaxSize(const Packets::CLAskCharListFactory *const this);
- Packet *__cdecl Packets::CLAskCharLoginFactory::CreatePacket(Packets::CLAskCharLoginFactory *const this);
- PacketID_t __cdecl Packets::CLAskCharLoginFactory::GetPacketID(const Packets::CLAskCharLoginFactory *const this);
- UINT __cdecl Packets::CLAskCharLoginFactory::GetPacketMaxSize(const Packets::CLAskCharLoginFactory *const this);
- Packet *__cdecl Packets::CLConnectFactory::CreatePacket(Packets::CLConnectFactory *const this);
- PacketID_t __cdecl Packets::CLConnectFactory::GetPacketID(const Packets::CLConnectFactory *const this);
- UINT __cdecl Packets::CLConnectFactory::GetPacketMaxSize(const Packets::CLConnectFactory *const this);
- Packet *__cdecl Packets::CLAskCreateCharFactory::CreatePacket(Packets::CLAskCreateCharFactory *const this);
- PacketID_t __cdecl Packets::CLAskCreateCharFactory::GetPacketID(const Packets::CLAskCreateCharFactory *const this);
- UINT __cdecl Packets::CLAskCreateCharFactory::GetPacketMaxSize(const Packets::CLAskCreateCharFactory *const this);
- Packet *__cdecl Packets::CLAskDeleteCharFactory::CreatePacket(Packets::CLAskDeleteCharFactory *const this);
- PacketID_t __cdecl Packets::CLAskDeleteCharFactory::GetPacketID(const Packets::CLAskDeleteCharFactory *const this);
- UINT __cdecl Packets::CLAskDeleteCharFactory::GetPacketMaxSize(const Packets::CLAskDeleteCharFactory *const this);
- Packet *__cdecl Packets::CLAskRegPassPortFactory::CreatePacket(Packets::CLAskRegPassPortFactory *const this);
- PacketID_t __cdecl Packets::CLAskRegPassPortFactory::GetPacketID(const Packets::CLAskRegPassPortFactory *const this);
- UINT __cdecl Packets::CLAskRegPassPortFactory::GetPacketMaxSize(const Packets::CLAskRegPassPortFactory *const this);
- Packet *__cdecl Packets::CLAskCreateCodeFactory::CreatePacket(Packets::CLAskCreateCodeFactory *const this);
- PacketID_t __cdecl Packets::CLAskCreateCodeFactory::GetPacketID(const Packets::CLAskCreateCodeFactory *const this);
- UINT __cdecl Packets::CLAskCreateCodeFactory::GetPacketMaxSize(const Packets::CLAskCreateCodeFactory *const this);
- Packet *__cdecl Packets::CLRegNewLicenseFactory::CreatePacket(Packets::CLRegNewLicenseFactory *const this);
- PacketID_t __cdecl Packets::CLRegNewLicenseFactory::GetPacketID(const Packets::CLRegNewLicenseFactory *const this);
- UINT __cdecl Packets::CLRegNewLicenseFactory::GetPacketMaxSize(const Packets::CLRegNewLicenseFactory *const this);
- Packet *__cdecl Packets::CLAskLoginCodeFactory::CreatePacket(Packets::CLAskLoginCodeFactory *const this);
- PacketID_t __cdecl Packets::CLAskLoginCodeFactory::GetPacketID(const Packets::CLAskLoginCodeFactory *const this);
- UINT __cdecl Packets::CLAskLoginCodeFactory::GetPacketMaxSize(const Packets::CLAskLoginCodeFactory *const this);
- Packet *__cdecl Packets::CLRegSafeSignFactory::CreatePacket(Packets::CLRegSafeSignFactory *const this);
- PacketID_t __cdecl Packets::CLRegSafeSignFactory::GetPacketID(const Packets::CLRegSafeSignFactory *const this);
- UINT __cdecl Packets::CLRegSafeSignFactory::GetPacketMaxSize(const Packets::CLRegSafeSignFactory *const this);
- Packet *__cdecl Packets::LCRetLoginFactory::CreatePacket(Packets::LCRetLoginFactory *const this);
- PacketID_t __cdecl Packets::LCRetLoginFactory::GetPacketID(const Packets::LCRetLoginFactory *const this);
- UINT __cdecl Packets::LCRetLoginFactory::GetPacketMaxSize(const Packets::LCRetLoginFactory *const this);
- Packet *__cdecl Packets::LCRetCharListFactory::CreatePacket(Packets::LCRetCharListFactory *const this);
- PacketID_t __cdecl Packets::LCRetCharListFactory::GetPacketID(const Packets::LCRetCharListFactory *const this);
- UINT __cdecl Packets::LCRetCharListFactory::GetPacketMaxSize(const Packets::LCRetCharListFactory *const this);
- Packet *__cdecl Packets::LCStatusFactory::CreatePacket(Packets::LCStatusFactory *const this);
- PacketID_t __cdecl Packets::LCStatusFactory::GetPacketID(const Packets::LCStatusFactory *const this);
- UINT __cdecl Packets::LCStatusFactory::GetPacketMaxSize(const Packets::LCStatusFactory *const this);
- Packet *__cdecl Packets::LCRetCharLoginFactory::CreatePacket(Packets::LCRetCharLoginFactory *const this);
- PacketID_t __cdecl Packets::LCRetCharLoginFactory::GetPacketID(const Packets::LCRetCharLoginFactory *const this);
- UINT __cdecl Packets::LCRetCharLoginFactory::GetPacketMaxSize(const Packets::LCRetCharLoginFactory *const this);
- Packet *__cdecl Packets::LCRetConnectFactory::CreatePacket(Packets::LCRetConnectFactory *const this);
- PacketID_t __cdecl Packets::LCRetConnectFactory::GetPacketID(const Packets::LCRetConnectFactory *const this);
- UINT __cdecl Packets::LCRetConnectFactory::GetPacketMaxSize(const Packets::LCRetConnectFactory *const this);
- Packet *__cdecl Packets::LCRetCreateCharFactory::CreatePacket(Packets::LCRetCreateCharFactory *const this);
- PacketID_t __cdecl Packets::LCRetCreateCharFactory::GetPacketID(const Packets::LCRetCreateCharFactory *const this);
- UINT __cdecl Packets::LCRetCreateCharFactory::GetPacketMaxSize(const Packets::LCRetCreateCharFactory *const this);
- Packet *__cdecl Packets::LCRetDeleteCharFactory::CreatePacket(Packets::LCRetDeleteCharFactory *const this);
- PacketID_t __cdecl Packets::LCRetDeleteCharFactory::GetPacketID(const Packets::LCRetDeleteCharFactory *const this);
- UINT __cdecl Packets::LCRetDeleteCharFactory::GetPacketMaxSize(const Packets::LCRetDeleteCharFactory *const this);
- Packet *__cdecl Packets::LCRetCreateCodeFactory::CreatePacket(Packets::LCRetCreateCodeFactory *const this);
- PacketID_t __cdecl Packets::LCRetCreateCodeFactory::GetPacketID(const Packets::LCRetCreateCodeFactory *const this);
- UINT __cdecl Packets::LCRetCreateCodeFactory::GetPacketMaxSize(const Packets::LCRetCreateCodeFactory *const this);
- Packet *__cdecl Packets::LCRetLoginCodeFactory::CreatePacket(Packets::LCRetLoginCodeFactory *const this);
- PacketID_t __cdecl Packets::LCRetLoginCodeFactory::GetPacketID(const Packets::LCRetLoginCodeFactory *const this);
- UINT __cdecl Packets::LCRetLoginCodeFactory::GetPacketMaxSize(const Packets::LCRetLoginCodeFactory *const this);
- Packet *__cdecl Packets::KeyExchangeFactory::CreatePacket(Packets::KeyExchangeFactory *const this);
- PacketID_t __cdecl Packets::KeyExchangeFactory::GetPacketID(const Packets::KeyExchangeFactory *const this);
- UINT __cdecl Packets::KeyExchangeFactory::GetPacketMaxSize(const Packets::KeyExchangeFactory *const this);
- Packet *__cdecl Packets::SSConnectFactory::CreatePacket(Packets::SSConnectFactory *const this);
- PacketID_t __cdecl Packets::SSConnectFactory::GetPacketID(const Packets::SSConnectFactory *const this);
- UINT __cdecl Packets::SSConnectFactory::GetPacketMaxSize(const Packets::SSConnectFactory *const this);
- Packet *__cdecl Packets::SSScenePlayerCountFactory::CreatePacket(Packets::SSScenePlayerCountFactory *const this);
- PacketID_t __cdecl Packets::SSScenePlayerCountFactory::GetPacketID(const Packets::SSScenePlayerCountFactory *const this);
- UINT __cdecl Packets::SSScenePlayerCountFactory::GetPacketMaxSize(const Packets::SSScenePlayerCountFactory *const this);
- Packet *__cdecl Packets::GWLWGCostLogFactory::CreatePacket(Packets::GWLWGCostLogFactory *const this);
- PacketID_t __cdecl Packets::GWLWGCostLogFactory::GetPacketID(const Packets::GWLWGCostLogFactory *const this);
- UINT __cdecl Packets::GWLWGCostLogFactory::GetPacketMaxSize(const Packets::GWLWGCostLogFactory *const this);
- PacketID_t __cdecl Packets::LWAskCharLoginFactory::GetPacketID(const Packets::LWAskCharLoginFactory *const this);
- UINT __cdecl Packets::LWAskCharLoginFactory::GetPacketMaxSize(const Packets::LWAskCharLoginFactory *const this);
- Packet *__cdecl Packets::LWRetBillingStartFactory::CreatePacket(Packets::LWRetBillingStartFactory *const this);
- PacketID_t __cdecl Packets::LWRetBillingStartFactory::GetPacketID(const Packets::LWRetBillingStartFactory *const this);
- UINT __cdecl Packets::LWRetBillingStartFactory::GetPacketMaxSize(const Packets::LWRetBillingStartFactory *const this);
- Packet *__cdecl Packets::LWRetBillingEndFactory::CreatePacket(Packets::LWRetBillingEndFactory *const this);
- PacketID_t __cdecl Packets::LWRetBillingEndFactory::GetPacketID(const Packets::LWRetBillingEndFactory *const this);
- UINT __cdecl Packets::LWRetBillingEndFactory::GetPacketMaxSize(const Packets::LWRetBillingEndFactory *const this);
- Packet *__cdecl Packets::LWRetBillingKeepFactory::CreatePacket(Packets::LWRetBillingKeepFactory *const this);
- PacketID_t __cdecl Packets::LWRetBillingKeepFactory::GetPacketID(const Packets::LWRetBillingKeepFactory *const this);
- UINT __cdecl Packets::LWRetBillingKeepFactory::GetPacketMaxSize(const Packets::LWRetBillingKeepFactory *const this);
- Packet *__cdecl Packets::LWRetPrizeFactory::CreatePacket(Packets::LWRetPrizeFactory *const this);
- PacketID_t __cdecl Packets::LWRetPrizeFactory::GetPacketID(const Packets::LWRetPrizeFactory *const this);
- UINT __cdecl Packets::LWRetPrizeFactory::GetPacketMaxSize(const Packets::LWRetPrizeFactory *const this);
- Packet *__cdecl Packets::LWNotifyUserFactory::CreatePacket(Packets::LWNotifyUserFactory *const this);
- PacketID_t __cdecl Packets::LWNotifyUserFactory::GetPacketID(const Packets::LWNotifyUserFactory *const this);
- UINT __cdecl Packets::LWNotifyUserFactory::GetPacketMaxSize(const Packets::LWNotifyUserFactory *const this);
- Packet *__cdecl Packets::LWChangeNameFactory::CreatePacket(Packets::LWChangeNameFactory *const this);
- PacketID_t __cdecl Packets::LWChangeNameFactory::GetPacketID(const Packets::LWChangeNameFactory *const this);
- UINT __cdecl Packets::LWChangeNameFactory::GetPacketMaxSize(const Packets::LWChangeNameFactory *const this);
- Packet *__cdecl Packets::LWOperateAccResultFactory::CreatePacket(Packets::LWOperateAccResultFactory *const this);
- PacketID_t __cdecl Packets::LWOperateAccResultFactory::GetPacketID(const Packets::LWOperateAccResultFactory *const this);
- UINT __cdecl Packets::LWOperateAccResultFactory::GetPacketMaxSize(const Packets::LWOperateAccResultFactory *const this);
- Packet *__cdecl Packets::WLRetCharLoginFactory::CreatePacket(Packets::WLRetCharLoginFactory *const this);
- PacketID_t __cdecl Packets::WLRetCharLoginFactory::GetPacketID(const Packets::WLRetCharLoginFactory *const this);
- UINT __cdecl Packets::WLRetCharLoginFactory::GetPacketMaxSize(const Packets::WLRetCharLoginFactory *const this);
- Packet *__cdecl Packets::WLBillingStartFactory::CreatePacket(Packets::WLBillingStartFactory *const this);
- PacketID_t __cdecl Packets::WLBillingStartFactory::GetPacketID(const Packets::WLBillingStartFactory *const this);
- UINT __cdecl Packets::WLBillingStartFactory::GetPacketMaxSize(const Packets::WLBillingStartFactory *const this);
- Packet *__cdecl Packets::WLBillingEndFactory::CreatePacket(Packets::WLBillingEndFactory *const this);
- PacketID_t __cdecl Packets::WLBillingEndFactory::GetPacketID(const Packets::WLBillingEndFactory *const this);
- UINT __cdecl Packets::WLBillingEndFactory::GetPacketMaxSize(const Packets::WLBillingEndFactory *const this);
- Packet *__cdecl Packets::WLBillingKeepFactory::CreatePacket(Packets::WLBillingKeepFactory *const this);
- PacketID_t __cdecl Packets::WLBillingKeepFactory::GetPacketID(const Packets::WLBillingKeepFactory *const this);
- UINT __cdecl Packets::WLBillingKeepFactory::GetPacketMaxSize(const Packets::WLBillingKeepFactory *const this);
- Packet *__cdecl Packets::WLBillingKickFactory::CreatePacket(Packets::WLBillingKickFactory *const this);
- PacketID_t __cdecl Packets::WLBillingKickFactory::GetPacketID(const Packets::WLBillingKickFactory *const this);
- UINT __cdecl Packets::WLBillingKickFactory::GetPacketMaxSize(const Packets::WLBillingKickFactory *const this);
- Packet *__cdecl Packets::WLAskPrizeFactory::CreatePacket(Packets::WLAskPrizeFactory *const this);
- PacketID_t __cdecl Packets::WLAskPrizeFactory::GetPacketID(const Packets::WLAskPrizeFactory *const this);
- UINT __cdecl Packets::WLAskPrizeFactory::GetPacketMaxSize(const Packets::WLAskPrizeFactory *const this);
- Packet *__cdecl Packets::WLNotifyUserFactory::CreatePacket(Packets::WLNotifyUserFactory *const this);
- PacketID_t __cdecl Packets::WLNotifyUserFactory::GetPacketID(const Packets::WLNotifyUserFactory *const this);
- UINT __cdecl Packets::WLNotifyUserFactory::GetPacketMaxSize(const Packets::WLNotifyUserFactory *const this);
- Packet *__cdecl Packets::WLChangeNameFactory::CreatePacket(Packets::WLChangeNameFactory *const this);
- PacketID_t __cdecl Packets::WLChangeNameFactory::GetPacketID(const Packets::WLChangeNameFactory *const this);
- UINT __cdecl Packets::WLChangeNameFactory::GetPacketMaxSize(const Packets::WLChangeNameFactory *const this);
- Packet *__cdecl Packets::WLOperateAccFactory::CreatePacket(Packets::WLOperateAccFactory *const this);
- PacketID_t __cdecl Packets::WLOperateAccFactory::GetPacketID(const Packets::WLOperateAccFactory *const this);
- UINT __cdecl Packets::WLOperateAccFactory::GetPacketMaxSize(const Packets::WLOperateAccFactory *const this);
- Packet *__cdecl Packets::LBAskAuthFactory::CreatePacket(Packets::LBAskAuthFactory *const this);
- PacketID_t __cdecl Packets::LBAskAuthFactory::GetPacketID(const Packets::LBAskAuthFactory *const this);
- UINT __cdecl Packets::LBAskAuthFactory::GetPacketMaxSize(const Packets::LBAskAuthFactory *const this);
- Packet *__cdecl Packets::LBAskRegAuthFactory::CreatePacket(Packets::LBAskRegAuthFactory *const this);
- PacketID_t __cdecl Packets::LBAskRegAuthFactory::GetPacketID(const Packets::LBAskRegAuthFactory *const this);
- UINT __cdecl Packets::LBAskRegAuthFactory::GetPacketMaxSize(const Packets::LBAskRegAuthFactory *const this);
- Packet *__cdecl Packets::LBAskRegLicenseFactory::CreatePacket(Packets::LBAskRegLicenseFactory *const this);
- PacketID_t __cdecl Packets::LBAskRegLicenseFactory::GetPacketID(const Packets::LBAskRegLicenseFactory *const this);
- UINT __cdecl Packets::LBAskRegLicenseFactory::GetPacketMaxSize(const Packets::LBAskRegLicenseFactory *const this);
- Packet *__cdecl Packets::BLRetAuthFactory::CreatePacket(Packets::BLRetAuthFactory *const this);
- PacketID_t __cdecl Packets::BLRetAuthFactory::GetPacketID(const Packets::BLRetAuthFactory *const this);
- UINT __cdecl Packets::BLRetAuthFactory::GetPacketMaxSize(const Packets::BLRetAuthFactory *const this);
- void __cdecl BillPacketFactory::~BillPacketFactory(_DWORD *a2);
- void __cdecl BillPacketFactory::~BillPacketFactory(IPRegionTable *const a2);
- BillPacket *__cdecl Packets::BLRetConnectFactory::CreatePacket(Packets::BLRetConnectFactory *const this);
- BPacketID_t __cdecl Packets::BLRetConnectFactory::GetPacketID(const Packets::BLRetConnectFactory *const this);
- UINT __cdecl Packets::BLRetConnectFactory::GetPacketMaxSize(const Packets::BLRetConnectFactory *const this);
- BillPacket *__cdecl Packets::BLRetKeepLiveFactory::CreatePacket(Packets::BLRetKeepLiveFactory *const this);
- BPacketID_t __cdecl Packets::BLRetKeepLiveFactory::GetPacketID(const Packets::BLRetKeepLiveFactory *const this);
- UINT __cdecl Packets::BLRetKeepLiveFactory::GetPacketMaxSize(const Packets::BLRetKeepLiveFactory *const this);
- BillPacket *__cdecl Packets::BLRetAccCheckFactory::CreatePacket(Packets::BLRetAccCheckFactory *const this);
- BPacketID_t __cdecl Packets::BLRetAccCheckFactory::GetPacketID(const Packets::BLRetAccCheckFactory *const this);
- UINT __cdecl Packets::BLRetAccCheckFactory::GetPacketMaxSize(const Packets::BLRetAccCheckFactory *const this);
- BillPacket *__cdecl Packets::BLRetBillingStartFactory::CreatePacket(Packets::BLRetBillingStartFactory *const this);
- BPacketID_t __cdecl Packets::BLRetBillingStartFactory::GetPacketID(const Packets::BLRetBillingStartFactory *const this);
- UINT __cdecl Packets::BLRetBillingStartFactory::GetPacketMaxSize(const Packets::BLRetBillingStartFactory *const this);
- BillPacket *__cdecl Packets::BLRetBillingEndFactory::CreatePacket(Packets::BLRetBillingEndFactory *const this);
- BPacketID_t __cdecl Packets::BLRetBillingEndFactory::GetPacketID(const Packets::BLRetBillingEndFactory *const this);
- UINT __cdecl Packets::BLRetBillingEndFactory::GetPacketMaxSize(const Packets::BLRetBillingEndFactory *const this);
- BillPacket *__cdecl Packets::BLRetBillingKeepFactory::CreatePacket(Packets::BLRetBillingKeepFactory *const this);
- BPacketID_t __cdecl Packets::BLRetBillingKeepFactory::GetPacketID(const Packets::BLRetBillingKeepFactory *const this);
- UINT __cdecl Packets::BLRetBillingKeepFactory::GetPacketMaxSize(const Packets::BLRetBillingKeepFactory *const this);
- BillPacket *__cdecl Packets::BLRetKickALLFactory::CreatePacket(Packets::BLRetKickALLFactory *const this);
- BPacketID_t __cdecl Packets::BLRetKickALLFactory::GetPacketID(const Packets::BLRetKickALLFactory *const this);
- UINT __cdecl Packets::BLRetKickALLFactory::GetPacketMaxSize(const Packets::BLRetKickALLFactory *const this);
- BillPacket *__cdecl Packets::BLRetRegPassPortFactory::CreatePacket(Packets::BLRetRegPassPortFactory *const this);
- BPacketID_t __cdecl Packets::BLRetRegPassPortFactory::GetPacketID(const Packets::BLRetRegPassPortFactory *const this);
- UINT __cdecl Packets::BLRetRegPassPortFactory::GetPacketMaxSize(const Packets::BLRetRegPassPortFactory *const this);
- BillPacket *__cdecl Packets::BLRetPrizeFactory::CreatePacket(Packets::BLRetPrizeFactory *const this);
- BPacketID_t __cdecl Packets::BLRetPrizeFactory::GetPacketID(const Packets::BLRetPrizeFactory *const this);
- UINT __cdecl Packets::BLRetPrizeFactory::GetPacketMaxSize(const Packets::BLRetPrizeFactory *const this);
- BillPacket *__cdecl Packets::BLRetAskPointFactory::CreatePacket(Packets::BLRetAskPointFactory *const this);
- BPacketID_t __cdecl Packets::BLRetAskPointFactory::GetPacketID(const Packets::BLRetAskPointFactory *const this);
- UINT __cdecl Packets::BLRetAskPointFactory::GetPacketMaxSize(const Packets::BLRetAskPointFactory *const this);
- BillPacket *__cdecl Packets::BLRetAskBuyFactory::CreatePacket(Packets::BLRetAskBuyFactory *const this);
- BPacketID_t __cdecl Packets::BLRetAskBuyFactory::GetPacketID(const Packets::BLRetAskBuyFactory *const this);
- UINT __cdecl Packets::BLRetAskBuyFactory::GetPacketMaxSize(const Packets::BLRetAskBuyFactory *const this);
- BillPacket *__cdecl Packets::LBLCostLogFactory::CreatePacket(Packets::LBLCostLogFactory *const this);
- BPacketID_t __cdecl Packets::LBLCostLogFactory::GetPacketID(const Packets::LBLCostLogFactory *const this);
- UINT __cdecl Packets::LBLCostLogFactory::GetPacketMaxSize(const Packets::LBLCostLogFactory *const this);
- BillPacket *__cdecl Packets::LBLAskNewUserCardFactory::CreatePacket(Packets::LBLAskNewUserCardFactory *const this);
- BPacketID_t __cdecl Packets::LBLAskNewUserCardFactory::GetPacketID(const Packets::LBLAskNewUserCardFactory *const this);
- UINT __cdecl Packets::LBLAskNewUserCardFactory::GetPacketMaxSize(const Packets::LBLAskNewUserCardFactory *const this);
- BillPacket *__cdecl Packets::LBLNewPrizeFactory::CreatePacket(Packets::LBLNewPrizeFactory *const this);
- BPacketID_t __cdecl Packets::LBLNewPrizeFactory::GetPacketID(const Packets::LBLNewPrizeFactory *const this);
- UINT __cdecl Packets::LBLNewPrizeFactory::GetPacketMaxSize(const Packets::LBLNewPrizeFactory *const this);
- BillPacket *__cdecl Packets::LBLNewCheckPrizeFactory::CreatePacket(Packets::LBLNewCheckPrizeFactory *const this);
- BPacketID_t __cdecl Packets::LBLNewCheckPrizeFactory::GetPacketID(const Packets::LBLNewCheckPrizeFactory *const this);
- UINT __cdecl Packets::LBLNewCheckPrizeFactory::GetPacketMaxSize(const Packets::LBLNewCheckPrizeFactory *const this);
- BillPacket *__cdecl Packets::LBLAskMigFactory::CreatePacket(Packets::LBLAskMigFactory *const this);
- BPacketID_t __cdecl Packets::LBLAskMigFactory::GetPacketID(const Packets::LBLAskMigFactory *const this);
- UINT __cdecl Packets::LBLAskMigFactory::GetPacketMaxSize(const Packets::LBLAskMigFactory *const this);
- BillPacket *__cdecl Packets::LBLRegNewLicenseFactory::CreatePacket(Packets::LBLRegNewLicenseFactory *const this);
- BPacketID_t __cdecl Packets::LBLRegNewLicenseFactory::GetPacketID(const Packets::LBLRegNewLicenseFactory *const this);
- UINT __cdecl Packets::LBLRegNewLicenseFactory::GetPacketMaxSize(const Packets::LBLRegNewLicenseFactory *const this);
- BillPacket *__cdecl Packets::LBLCardCheckPrizeFactory::CreatePacket(Packets::LBLCardCheckPrizeFactory *const this);
- BPacketID_t __cdecl Packets::LBLCardCheckPrizeFactory::GetPacketID(const Packets::LBLCardCheckPrizeFactory *const this);
- UINT __cdecl Packets::LBLCardCheckPrizeFactory::GetPacketMaxSize(const Packets::LBLCardCheckPrizeFactory *const this);
- BillPacket *__cdecl Packets::LBLOperateAccFactory::CreatePacket(Packets::LBLOperateAccFactory *const this);
- BPacketID_t __cdecl Packets::LBLOperateAccFactory::GetPacketID(const Packets::LBLOperateAccFactory *const this);
- UINT __cdecl Packets::LBLOperateAccFactory::GetPacketMaxSize(const Packets::LBLOperateAccFactory *const this);
- Packet *__cdecl Packets::LWAskCharLoginFactory::CreatePacket(Packets::LWAskCharLoginFactory *const this);
- void __cdecl Packets::CLAskLoginFactory::~CLAskLoginFactory(_DWORD *a2);
- void __cdecl Packets::CLAskLoginFactory::~CLAskLoginFactory(IPRegionTable *const a2);
- void __cdecl Packets::CLAskCharListFactory::~CLAskCharListFactory(_DWORD *a2);
- void __cdecl Packets::CLAskCharListFactory::~CLAskCharListFactory(IPRegionTable *const a2);
- void __cdecl Packets::CLAskCharLoginFactory::~CLAskCharLoginFactory(_DWORD *a2);
- void __cdecl Packets::CLAskCharLoginFactory::~CLAskCharLoginFactory(IPRegionTable *const a2);
- void __cdecl Packets::CLConnectFactory::~CLConnectFactory(_DWORD *a2);
- void __cdecl Packets::CLConnectFactory::~CLConnectFactory(IPRegionTable *const a2);
- void __cdecl Packets::CLAskCreateCharFactory::~CLAskCreateCharFactory(_DWORD *a2);
- void __cdecl Packets::CLAskCreateCharFactory::~CLAskCreateCharFactory(IPRegionTable *const a2);
- void __cdecl Packets::CLAskDeleteCharFactory::~CLAskDeleteCharFactory(_DWORD *a2);
- void __cdecl Packets::CLAskDeleteCharFactory::~CLAskDeleteCharFactory(IPRegionTable *const a2);
- void __cdecl Packets::CLAskRegPassPortFactory::~CLAskRegPassPortFactory(_DWORD *a2);
- void __cdecl Packets::CLAskRegPassPortFactory::~CLAskRegPassPortFactory(IPRegionTable *const a2);
- void __cdecl Packets::CLAskCreateCodeFactory::~CLAskCreateCodeFactory(_DWORD *a2);
- void __cdecl Packets::CLAskCreateCodeFactory::~CLAskCreateCodeFactory(IPRegionTable *const a2);
- void __cdecl Packets::CLRegNewLicenseFactory::~CLRegNewLicenseFactory(_DWORD *a2);
- void __cdecl Packets::CLRegNewLicenseFactory::~CLRegNewLicenseFactory(IPRegionTable *const a2);
- void __cdecl Packets::CLAskLoginCodeFactory::~CLAskLoginCodeFactory(_DWORD *a2);
- void __cdecl Packets::CLAskLoginCodeFactory::~CLAskLoginCodeFactory(IPRegionTable *const a2);
- void __cdecl Packets::CLRegSafeSignFactory::~CLRegSafeSignFactory(_DWORD *a2);
- void __cdecl Packets::CLRegSafeSignFactory::~CLRegSafeSignFactory(IPRegionTable *const a2);
- void __cdecl Packets::LCRetLoginFactory::~LCRetLoginFactory(_DWORD *a2);
- void __cdecl Packets::LCRetLoginFactory::~LCRetLoginFactory(IPRegionTable *const a2);
- void __cdecl Packets::LCRetCharListFactory::~LCRetCharListFactory(_DWORD *a2);
- void __cdecl Packets::LCRetCharListFactory::~LCRetCharListFactory(IPRegionTable *const a2);
- void __cdecl Packets::LCStatusFactory::~LCStatusFactory(_DWORD *a2);
- void __cdecl Packets::LCStatusFactory::~LCStatusFactory(IPRegionTable *const a2);
- void __cdecl Packets::LCRetCharLoginFactory::~LCRetCharLoginFactory(_DWORD *a2);
- void __cdecl Packets::LCRetCharLoginFactory::~LCRetCharLoginFactory(IPRegionTable *const a2);
- void __cdecl Packets::LCRetConnectFactory::~LCRetConnectFactory(_DWORD *a2);
- void __cdecl Packets::LCRetConnectFactory::~LCRetConnectFactory(IPRegionTable *const a2);
- void __cdecl Packets::LCRetCreateCharFactory::~LCRetCreateCharFactory(_DWORD *a2);
- void __cdecl Packets::LCRetCreateCharFactory::~LCRetCreateCharFactory(IPRegionTable *const a2);
- void __cdecl Packets::LCRetDeleteCharFactory::~LCRetDeleteCharFactory(_DWORD *a2);
- void __cdecl Packets::LCRetDeleteCharFactory::~LCRetDeleteCharFactory(IPRegionTable *const a2);
- void __cdecl Packets::LCRetCreateCodeFactory::~LCRetCreateCodeFactory(_DWORD *a2);
- void __cdecl Packets::LCRetCreateCodeFactory::~LCRetCreateCodeFactory(IPRegionTable *const a2);
- void __cdecl Packets::LCRetLoginCodeFactory::~LCRetLoginCodeFactory(_DWORD *a2);
- void __cdecl Packets::LCRetLoginCodeFactory::~LCRetLoginCodeFactory(IPRegionTable *const a2);
- void __cdecl Packets::KeyExchangeFactory::~KeyExchangeFactory(_DWORD *a2);
- void __cdecl Packets::KeyExchangeFactory::~KeyExchangeFactory(IPRegionTable *const a2);
- void __cdecl Packets::SSConnectFactory::~SSConnectFactory(_DWORD *a2);
- void __cdecl Packets::SSConnectFactory::~SSConnectFactory(IPRegionTable *const a2);
- void __cdecl Packets::SSScenePlayerCountFactory::~SSScenePlayerCountFactory(_DWORD *a2);
- void __cdecl Packets::SSScenePlayerCountFactory::~SSScenePlayerCountFactory(IPRegionTable *const a2);
- void __cdecl Packets::GWLWGCostLogFactory::~GWLWGCostLogFactory(_DWORD *a2);
- void __cdecl Packets::GWLWGCostLogFactory::~GWLWGCostLogFactory(IPRegionTable *const a2);
- void __cdecl Packets::LWAskCharLoginFactory::~LWAskCharLoginFactory(_DWORD *a2);
- void __cdecl Packets::LWAskCharLoginFactory::~LWAskCharLoginFactory(IPRegionTable *const a2);
- void __cdecl Packets::LWRetBillingStartFactory::~LWRetBillingStartFactory(_DWORD *a2);
- void __cdecl Packets::LWRetBillingStartFactory::~LWRetBillingStartFactory(IPRegionTable *const a2);
- void __cdecl Packets::LWRetBillingEndFactory::~LWRetBillingEndFactory(_DWORD *a2);
- void __cdecl Packets::LWRetBillingEndFactory::~LWRetBillingEndFactory(IPRegionTable *const a2);
- void __cdecl Packets::LWRetBillingKeepFactory::~LWRetBillingKeepFactory(_DWORD *a2);
- void __cdecl Packets::LWRetBillingKeepFactory::~LWRetBillingKeepFactory(IPRegionTable *const a2);
- void __cdecl Packets::LWRetPrizeFactory::~LWRetPrizeFactory(_DWORD *a2);
- void __cdecl Packets::LWRetPrizeFactory::~LWRetPrizeFactory(IPRegionTable *const a2);
- void __cdecl Packets::LWNotifyUserFactory::~LWNotifyUserFactory(_DWORD *a2);
- void __cdecl Packets::LWNotifyUserFactory::~LWNotifyUserFactory(IPRegionTable *const a2);
- void __cdecl Packets::LWChangeNameFactory::~LWChangeNameFactory(_DWORD *a2);
- void __cdecl Packets::LWChangeNameFactory::~LWChangeNameFactory(IPRegionTable *const a2);
- void __cdecl Packets::LWOperateAccResultFactory::~LWOperateAccResultFactory(_DWORD *a2);
- void __cdecl Packets::LWOperateAccResultFactory::~LWOperateAccResultFactory(IPRegionTable *const a2);
- void __cdecl Packets::WLRetCharLoginFactory::~WLRetCharLoginFactory(_DWORD *a2);
- void __cdecl Packets::WLRetCharLoginFactory::~WLRetCharLoginFactory(IPRegionTable *const a2);
- void __cdecl Packets::WLBillingStartFactory::~WLBillingStartFactory(_DWORD *a2);
- void __cdecl Packets::WLBillingStartFactory::~WLBillingStartFactory(IPRegionTable *const a2);
- void __cdecl Packets::WLBillingEndFactory::~WLBillingEndFactory(_DWORD *a2);
- void __cdecl Packets::WLBillingEndFactory::~WLBillingEndFactory(IPRegionTable *const a2);
- void __cdecl Packets::WLBillingKeepFactory::~WLBillingKeepFactory(_DWORD *a2);
- void __cdecl Packets::WLBillingKeepFactory::~WLBillingKeepFactory(IPRegionTable *const a2);
- void __cdecl Packets::WLBillingKickFactory::~WLBillingKickFactory(_DWORD *a2);
- void __cdecl Packets::WLBillingKickFactory::~WLBillingKickFactory(IPRegionTable *const a2);
- void __cdecl Packets::WLAskPrizeFactory::~WLAskPrizeFactory(_DWORD *a2);
- void __cdecl Packets::WLAskPrizeFactory::~WLAskPrizeFactory(IPRegionTable *const a2);
- void __cdecl Packets::WLNotifyUserFactory::~WLNotifyUserFactory(_DWORD *a2);
- void __cdecl Packets::WLNotifyUserFactory::~WLNotifyUserFactory(IPRegionTable *const a2);
- void __cdecl Packets::WLChangeNameFactory::~WLChangeNameFactory(_DWORD *a2);
- void __cdecl Packets::WLChangeNameFactory::~WLChangeNameFactory(IPRegionTable *const a2);
- void __cdecl Packets::WLOperateAccFactory::~WLOperateAccFactory(_DWORD *a2);
- void __cdecl Packets::WLOperateAccFactory::~WLOperateAccFactory(IPRegionTable *const a2);
- void __cdecl Packets::LBAskAuthFactory::~LBAskAuthFactory(_DWORD *a2);
- void __cdecl Packets::LBAskAuthFactory::~LBAskAuthFactory(IPRegionTable *const a2);
- void __cdecl Packets::LBAskRegAuthFactory::~LBAskRegAuthFactory(_DWORD *a2);
- void __cdecl Packets::LBAskRegAuthFactory::~LBAskRegAuthFactory(IPRegionTable *const a2);
- void __cdecl Packets::LBAskRegLicenseFactory::~LBAskRegLicenseFactory(_DWORD *a2);
- void __cdecl Packets::LBAskRegLicenseFactory::~LBAskRegLicenseFactory(IPRegionTable *const a2);
- void __cdecl Packets::BLRetAuthFactory::~BLRetAuthFactory(_DWORD *a2);
- void __cdecl Packets::BLRetAuthFactory::~BLRetAuthFactory(IPRegionTable *const a2);
- void __cdecl Packets::BLRetConnectFactory::~BLRetConnectFactory(_DWORD *a2);
- void __cdecl Packets::BLRetConnectFactory::~BLRetConnectFactory(IPRegionTable *const a2);
- void __cdecl Packets::BLRetKeepLiveFactory::~BLRetKeepLiveFactory(_DWORD *a2);
- void __cdecl Packets::BLRetKeepLiveFactory::~BLRetKeepLiveFactory(IPRegionTable *const a2);
- void __cdecl Packets::BLRetAccCheckFactory::~BLRetAccCheckFactory(_DWORD *a2);
- void __cdecl Packets::BLRetAccCheckFactory::~BLRetAccCheckFactory(IPRegionTable *const a2);
- void __cdecl Packets::BLRetBillingStartFactory::~BLRetBillingStartFactory(_DWORD *a2);
- void __cdecl Packets::BLRetBillingStartFactory::~BLRetBillingStartFactory(IPRegionTable *const a2);
- void __cdecl Packets::BLRetBillingEndFactory::~BLRetBillingEndFactory(_DWORD *a2);
- void __cdecl Packets::BLRetBillingEndFactory::~BLRetBillingEndFactory(IPRegionTable *const a2);
- void __cdecl Packets::BLRetBillingKeepFactory::~BLRetBillingKeepFactory(_DWORD *a2);
- void __cdecl Packets::BLRetBillingKeepFactory::~BLRetBillingKeepFactory(IPRegionTable *const a2);
- void __cdecl Packets::BLRetKickALLFactory::~BLRetKickALLFactory(_DWORD *a2);
- void __cdecl Packets::BLRetKickALLFactory::~BLRetKickALLFactory(IPRegionTable *const a2);
- void __cdecl Packets::BLRetRegPassPortFactory::~BLRetRegPassPortFactory(_DWORD *a2);
- void __cdecl Packets::BLRetRegPassPortFactory::~BLRetRegPassPortFactory(IPRegionTable *const a2);
- void __cdecl Packets::BLRetPrizeFactory::~BLRetPrizeFactory(_DWORD *a2);
- void __cdecl Packets::BLRetPrizeFactory::~BLRetPrizeFactory(IPRegionTable *const a2);
- void __cdecl Packets::BLRetAskPointFactory::~BLRetAskPointFactory(_DWORD *a2);
- void __cdecl Packets::BLRetAskPointFactory::~BLRetAskPointFactory(IPRegionTable *const a2);
- void __cdecl Packets::BLRetAskBuyFactory::~BLRetAskBuyFactory(_DWORD *a2);
- void __cdecl Packets::BLRetAskBuyFactory::~BLRetAskBuyFactory(IPRegionTable *const a2);
- void __cdecl Packets::LBLCostLogFactory::~LBLCostLogFactory(_DWORD *a2);
- void __cdecl Packets::LBLCostLogFactory::~LBLCostLogFactory(IPRegionTable *const a2);
- void __cdecl Packets::LBLAskNewUserCardFactory::~LBLAskNewUserCardFactory(_DWORD *a2);
- void __cdecl Packets::LBLAskNewUserCardFactory::~LBLAskNewUserCardFactory(IPRegionTable *const a2);
- void __cdecl Packets::LBLNewPrizeFactory::~LBLNewPrizeFactory(_DWORD *a2);
- void __cdecl Packets::LBLNewPrizeFactory::~LBLNewPrizeFactory(IPRegionTable *const a2);
- void __cdecl Packets::LBLNewCheckPrizeFactory::~LBLNewCheckPrizeFactory(_DWORD *a2);
- void __cdecl Packets::LBLNewCheckPrizeFactory::~LBLNewCheckPrizeFactory(IPRegionTable *const a2);
- void __cdecl Packets::LBLAskMigFactory::~LBLAskMigFactory(_DWORD *a2);
- void __cdecl Packets::LBLAskMigFactory::~LBLAskMigFactory(IPRegionTable *const a2);
- void __cdecl Packets::LBLRegNewLicenseFactory::~LBLRegNewLicenseFactory(_DWORD *a2);
- void __cdecl Packets::LBLRegNewLicenseFactory::~LBLRegNewLicenseFactory(IPRegionTable *const a2);
- void __cdecl Packets::LBLCardCheckPrizeFactory::~LBLCardCheckPrizeFactory(_DWORD *a2);
- void __cdecl Packets::LBLCardCheckPrizeFactory::~LBLCardCheckPrizeFactory(IPRegionTable *const a2);
- void __cdecl Packets::LBLOperateAccFactory::~LBLOperateAccFactory(_DWORD *a2);
- void __cdecl Packets::LBLOperateAccFactory::~LBLOperateAccFactory(IPRegionTable *const a2);
- void __cdecl Packets::SChgNamePacketUnit::SChgNamePacketUnit(_DWORD *a2);
- void __cdecl Packets::SChgNamePacketUnit::SChgNamePacketUnit(_DWORD *a2);
- void __cdecl Packets::SChgNamePacketUnit::SetUserNewName(Packets::SChgNamePacketUnit *const this, INT OpType, const CHAR *pName);
- void __cdecl Packets::SChgNamePacketUnit::SetUserOldName(Packets::SChgNamePacketUnit *const this, INT OpType, const CHAR *pName);
- UINT __cdecl Packets::SChgNamePacketUnit::GetPacketSize();
- BOOL __cdecl Packets::SChgNamePacketUnit::ReadStream(Packets::SChgNamePacketUnit *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::SChgNamePacketUnit::WriteStream(const Packets::SChgNamePacketUnit *const this, SocketOutputStream *const oStream);
- void __cdecl _tcf_0_16(void *);
- void `global constructor keyed to'Packets::SChgNamePacketUnit::SChgNamePacketUnit(); // idb
- BOOL __cdecl RangeCheckForIndex_Assert(INT nIndex, INT nFrom, INT nTo, const CHAR *szCodeLocation);
- void __cdecl _tcf_0_17(void *);
- void `global constructor keyed to'RangeCheckForIndex_Assert(); // idb
- BOOL __cdecl Packets::BLRetAccCheck::Read(Packets::BLRetAccCheck *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::BLRetAccCheck::Write(const Packets::BLRetAccCheck *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::BLRetAccCheck::Execute(Packets::BLRetAccCheck *const this, Player *pPlayer);
- void __cdecl _tcf_0_18(void *);
- void `global constructor keyed to'Packets::BLRetAccCheck::Read(); // idb
- BOOL __cdecl BillPacket::CheckPacket(BillPacket *const this);
- void __cdecl Packets::BLRetAccCheck::~BLRetAccCheck(BillPacket *a2);
- void __cdecl Packets::BLRetAccCheck::~BLRetAccCheck(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::BLRetAccCheck::GetPacketID(const Packets::BLRetAccCheck *const this);
- int __cdecl Packets::BLRetAccCheck::GetPacketSize(int a2);
- BOOL __cdecl Packets::BLRetAuth::Read(Packets::BLRetAuth *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::BLRetAuth::Write(const Packets::BLRetAuth *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::BLRetAuth::Execute(Packets::BLRetAuth *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::BLRetAuth::GetAccount(const Packets::BLRetAuth *const this);
- void __cdecl Packets::BLRetAuth::SetAccount(Packets::BLRetAuth *const this, const CHAR *pAccount);
- LOGIN_RESULT __cdecl Packets::BLRetAuth::GetResult(int a2);
- void __cdecl Packets::BLRetAuth::SetResult(int a3, int a4);
- int __cdecl Packets::BLRetAuth::GetPlayerID(int a2);
- void __cdecl Packets::BLRetAuth::SetPlayerID(int pID, __int16 pIDa);
- GUID_t __cdecl Packets::BLRetAuth::GetPlayerGUID(int a2);
- void __cdecl Packets::BLRetAuth::SetPlayerGUID(int a3, int a4);
- void __cdecl _tcf_0_19(void *);
- void `global constructor keyed to'Packets::BLRetAuth::Read(); // idb
- BOOL __cdecl Packet::CheckPacket(Packet *const this);
- BOOL __cdecl Packet::IsStreamPacket(const Packet *const this);
- void __cdecl Packets::BLRetAuth::~BLRetAuth(Packet *a2);
- void __cdecl Packets::BLRetAuth::~BLRetAuth(IPRegionTable *a2);
- PacketID_t __cdecl Packets::BLRetAuth::GetPacketID(const Packets::BLRetAuth *const this);
- UINT __cdecl Packets::BLRetAuth::GetPacketSize(const Packets::BLRetAuth *const this);
- BOOL __cdecl Packets::BLRetBillingEnd::Read(Packets::BLRetBillingEnd *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::BLRetBillingEnd::Write(const Packets::BLRetBillingEnd *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::BLRetBillingEnd::Execute(Packets::BLRetBillingEnd *const this, Player *pPlayer);
- void __cdecl _tcf_0_20(void *);
- void `global constructor keyed to'Packets::BLRetBillingEnd::Read(); // idb
- void __cdecl Packets::BLRetBillingEnd::~BLRetBillingEnd(BillPacket *a2);
- void __cdecl Packets::BLRetBillingEnd::~BLRetBillingEnd(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::BLRetBillingEnd::GetPacketID(const Packets::BLRetBillingEnd *const this);
- int __cdecl Packets::BLRetBillingEnd::GetPacketSize(int a2);
- BOOL __cdecl Packets::BLRetBillingKeep::Read(Packets::BLRetBillingKeep *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::BLRetBillingKeep::Write(const Packets::BLRetBillingKeep *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::BLRetBillingKeep::Execute(Packets::BLRetBillingKeep *const this, Player *pPlayer);
- void __cdecl _tcf_0_21(void *);
- void `global constructor keyed to'Packets::BLRetBillingKeep::Read(); // idb
- void __cdecl Packets::BLRetBillingKeep::~BLRetBillingKeep(BillPacket *a2);
- void __cdecl Packets::BLRetBillingKeep::~BLRetBillingKeep(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::BLRetBillingKeep::GetPacketID(const Packets::BLRetBillingKeep *const this);
- int __cdecl Packets::BLRetBillingKeep::GetPacketSize(int a2);
- BOOL __cdecl Packets::BLRetBillingStart::Read(Packets::BLRetBillingStart *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::BLRetBillingStart::Write(const Packets::BLRetBillingStart *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::BLRetBillingStart::Execute(Packets::BLRetBillingStart *const this, Player *pPlayer);
- void __cdecl _tcf_0_22(void *);
- void `global constructor keyed to'Packets::BLRetBillingStart::Read(); // idb
- void __cdecl Packets::BLRetBillingStart::~BLRetBillingStart(BillPacket *a2);
- void __cdecl Packets::BLRetBillingStart::~BLRetBillingStart(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::BLRetBillingStart::GetPacketID(const Packets::BLRetBillingStart *const this);
- UINT __cdecl Packets::BLRetBillingStart::GetPacketSize(const Packets::BLRetBillingStart *const this);
- BOOL __cdecl Packets::BLRetConnect::Read(Packets::BLRetConnect *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::BLRetConnect::Write(const Packets::BLRetConnect *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::BLRetConnect::Execute(Packets::BLRetConnect *const this, Player *pPlayer);
- void __cdecl _tcf_0_23(void *);
- void `global constructor keyed to'Packets::BLRetConnect::Read(); // idb
- void __cdecl Packets::BLRetConnect::~BLRetConnect(BillPacket *a2);
- void __cdecl Packets::BLRetConnect::~BLRetConnect(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::BLRetConnect::GetPacketID(const Packets::BLRetConnect *const this);
- UINT __cdecl Packets::BLRetConnect::GetPacketSize(const Packets::BLRetConnect *const this);
- BOOL __cdecl Packets::BLRetKeepLive::Read(Packets::BLRetKeepLive *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::BLRetKeepLive::Write(const Packets::BLRetKeepLive *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::BLRetKeepLive::Execute(Packets::BLRetKeepLive *const this, Player *pPlayer);
- void __cdecl _tcf_0_24(void *);
- void `global constructor keyed to'Packets::BLRetKeepLive::Read(); // idb
- void __cdecl Packets::BLRetKeepLive::~BLRetKeepLive(BillPacket *a2);
- void __cdecl Packets::BLRetKeepLive::~BLRetKeepLive(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::BLRetKeepLive::GetPacketID(const Packets::BLRetKeepLive *const this);
- UINT __cdecl Packets::BLRetKeepLive::GetPacketSize(const Packets::BLRetKeepLive *const this);
- BOOL __cdecl Packets::BLRetKickALL::Read(Packets::BLRetKickALL *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::BLRetKickALL::Write(const Packets::BLRetKickALL *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::BLRetKickALL::Execute(Packets::BLRetKickALL *const this, Player *pPlayer);
- void __cdecl _tcf_0_25(void *);
- void `global constructor keyed to'Packets::BLRetKickALL::Read(); // idb
- void __cdecl Packets::BLRetKickALL::~BLRetKickALL(BillPacket *a2);
- void __cdecl Packets::BLRetKickALL::~BLRetKickALL(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::BLRetKickALL::GetPacketID(const Packets::BLRetKickALL *const this);
- UINT __cdecl Packets::BLRetKickALL::GetPacketSize(const Packets::BLRetKickALL *const this);
- BOOL __cdecl Packets::BLRetRegPassPort::Read(Packets::BLRetRegPassPort *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::BLRetRegPassPort::Write(const Packets::BLRetRegPassPort *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::BLRetRegPassPort::Execute(Packets::BLRetRegPassPort *const this, Player *pPlayer);
- void __cdecl _tcf_0_26(void *);
- void `global constructor keyed to'Packets::BLRetRegPassPort::Read(); // idb
- void __cdecl Packets::BLRetRegPassPort::~BLRetRegPassPort(BillPacket *a2);
- void __cdecl Packets::BLRetRegPassPort::~BLRetRegPassPort(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::BLRetRegPassPort::GetPacketID(const Packets::BLRetRegPassPort *const this);
- int __cdecl Packets::BLRetRegPassPort::GetPacketSize(int a2);
- BOOL __cdecl Packets::CLAskCharList::Read(Packets::CLAskCharList *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::CLAskCharList::Write(const Packets::CLAskCharList *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::CLAskCharList::Execute(Packets::CLAskCharList *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::CLAskCharList::GetAccount(const Packets::CLAskCharList *const this);
- void __cdecl Packets::CLAskCharList::SetAccount(Packets::CLAskCharList *const this, const CHAR *pAccount);
- void __cdecl _tcf_0_27(void *);
- void `global constructor keyed to'Packets::CLAskCharList::Read(); // idb
- void __cdecl Packets::CLAskCharList::~CLAskCharList(Packet *a2);
- void __cdecl Packets::CLAskCharList::~CLAskCharList(IPRegionTable *a2);
- PacketID_t __cdecl Packets::CLAskCharList::GetPacketID(const Packets::CLAskCharList *const this);
- UINT __cdecl Packets::CLAskCharList::GetPacketSize(const Packets::CLAskCharList *const this);
- BOOL __cdecl Packets::CLAskCharLogin::Read(Packets::CLAskCharLogin *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::CLAskCharLogin::Write(const Packets::CLAskCharLogin *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::CLAskCharLogin::Execute(Packets::CLAskCharLogin *const this, Player *pPlayer);
- GUID_t __cdecl Packets::CLAskCharLogin::GetCharGuid(int a2);
- void __cdecl Packets::CLAskCharLogin::SetCharGuid(int a3, int a4);
- void __cdecl _tcf_0_28(void *);
- void `global constructor keyed to'Packets::CLAskCharLogin::Read(); // idb
- void __cdecl Packets::CLAskCharLogin::~CLAskCharLogin(Packet *a2);
- void __cdecl Packets::CLAskCharLogin::~CLAskCharLogin(IPRegionTable *a2);
- PacketID_t __cdecl Packets::CLAskCharLogin::GetPacketID(const Packets::CLAskCharLogin *const this);
- UINT __cdecl Packets::CLAskCharLogin::GetPacketSize(const Packets::CLAskCharLogin *const this);
- BOOL __cdecl Packets::CLAskCreateChar::Read(Packets::CLAskCreateChar *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::CLAskCreateChar::Write(const Packets::CLAskCreateChar *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::CLAskCreateChar::Execute(Packets::CLAskCreateChar *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::CLAskCreateChar::GetAccount(const Packets::CLAskCreateChar *const this);
- void __cdecl Packets::CLAskCreateChar::SetAccount(Packets::CLAskCreateChar *const this, const CHAR *pAccount);
- void __cdecl _tcf_0_29(void *);
- void `global constructor keyed to'Packets::CLAskCreateChar::Read(); // idb
- void __cdecl Packets::CLAskCreateChar::~CLAskCreateChar(Packet *a2);
- void __cdecl Packets::CLAskCreateChar::~CLAskCreateChar(IPRegionTable *a2);
- PacketID_t __cdecl Packets::CLAskCreateChar::GetPacketID(const Packets::CLAskCreateChar *const this);
- UINT __cdecl Packets::CLAskCreateChar::GetPacketSize(const Packets::CLAskCreateChar *const this);
- BOOL __cdecl Packets::CLAskDeleteChar::Read(Packets::CLAskDeleteChar *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::CLAskDeleteChar::Write(const Packets::CLAskDeleteChar *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::CLAskDeleteChar::Execute(Packets::CLAskDeleteChar *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::CLAskDeleteChar::GetAccount(const Packets::CLAskDeleteChar *const this);
- void __cdecl Packets::CLAskDeleteChar::SetAccount(Packets::CLAskDeleteChar *const this, const CHAR *pAccount);
- void __cdecl _tcf_0_30(void *);
- void `global constructor keyed to'Packets::CLAskDeleteChar::Read(); // idb
- void __cdecl Packets::CLAskDeleteChar::~CLAskDeleteChar(Packet *a2);
- void __cdecl Packets::CLAskDeleteChar::~CLAskDeleteChar(IPRegionTable *a2);
- PacketID_t __cdecl Packets::CLAskDeleteChar::GetPacketID(const Packets::CLAskDeleteChar *const this);
- UINT __cdecl Packets::CLAskDeleteChar::GetPacketSize(const Packets::CLAskDeleteChar *const this);
- BOOL __cdecl Packets::CLAskLogin::Read(Packets::CLAskLogin *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::CLAskLogin::Write(const Packets::CLAskLogin *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::CLAskLogin::Execute(Packets::CLAskLogin *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::CLAskLogin::GetAccount(const Packets::CLAskLogin *const this);
- void __cdecl Packets::CLAskLogin::SetAccount(Packets::CLAskLogin *const this, CHAR *pAccount);
- const CHAR *__cdecl Packets::CLAskLogin::GetPassWord(const Packets::CLAskLogin *const this);
- void __cdecl Packets::CLAskLogin::SetPassWord(Packets::CLAskLogin *const this, CHAR *pPassWord);
- UINT __cdecl Packets::CLAskLogin::GetVersion(int a2);
- void __cdecl Packets::CLAskLogin::SetVersion(int a3, int a4);
- INT __cdecl Packets::CLAskLogin::GetPassWordLength(Packets::CLAskLogin *const this);
- CHAR *__cdecl Packets::CLAskLogin::GetMacAddr(Packets::CLAskLogin *const this);
- void __cdecl Packets::CLAskLogin::SetMacAddr(Packets::CLAskLogin *const this, CHAR *pMacMD5);
- void __fastcall Packets::CLAskLogin::SetHWID(Packets::CLAskLogin *const this, const GL_HWIDSTRUCT *const hwid);
- // GL_HWIDSTRUCT *__userpurge Packets::CLAskLogin::GetHWID@<eax>(GL_HWIDSTRUCT *retstr, const Packets::CLAskLogin *const this);
- void __cdecl Packets::CLAskLogin::SetCPUInformation(Packets::CLAskLogin *const this, CHAR *CPUInformation);
- CHAR *__cdecl Packets::CLAskLogin::GetCPUInformation(Packets::CLAskLogin *const this);
- void __cdecl Packets::CLAskLogin::SetVideoInformation(Packets::CLAskLogin *const this, CHAR *VideoInformation);
- CHAR *__cdecl Packets::CLAskLogin::GetVideoInformation(Packets::CLAskLogin *const this);
- void __cdecl _tcf_0_31(void *);
- void `global constructor keyed to'Packets::CLAskLogin::Read(); // idb
- void __cdecl Packets::CLAskLogin::~CLAskLogin(Packet *a2);
- void __cdecl Packets::CLAskLogin::~CLAskLogin(IPRegionTable *a2);
- PacketID_t __cdecl Packets::CLAskLogin::GetPacketID(const Packets::CLAskLogin *const this);
- UINT __cdecl Packets::CLAskLogin::GetPacketSize(const Packets::CLAskLogin *const this);
- BOOL __cdecl Packets::CLAskLoginCode::Read(Packets::CLAskLoginCode *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::CLAskLoginCode::Write(const Packets::CLAskLoginCode *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::CLAskLoginCode::Execute(Packets::CLAskLoginCode *const this, Player *pPlayer);
- void __cdecl _tcf_0_32(void *);
- void `global constructor keyed to'Packets::CLAskLoginCode::Read(); // idb
- void __cdecl Packets::CLAskLoginCode::~CLAskLoginCode(Packet *a2);
- void __cdecl Packets::CLAskLoginCode::~CLAskLoginCode(IPRegionTable *a2);
- PacketID_t __cdecl Packets::CLAskLoginCode::GetPacketID(const Packets::CLAskLoginCode *const this);
- int __cdecl Packets::CLAskLoginCode::GetPacketSize(int a2);
- BOOL __cdecl Packets::CLAskRegPassPort::Read(Packets::CLAskRegPassPort *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::CLAskRegPassPort::Write(const Packets::CLAskRegPassPort *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::CLAskRegPassPort::Execute(Packets::CLAskRegPassPort *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::CLAskRegPassPort::GetAccount(const Packets::CLAskRegPassPort *const this);
- void __cdecl Packets::CLAskRegPassPort::SetAccount(Packets::CLAskRegPassPort *const this, CHAR *pAccount);
- const CHAR *__cdecl Packets::CLAskRegPassPort::GetSuperPw(const Packets::CLAskRegPassPort *const this);
- void __cdecl Packets::CLAskRegPassPort::SetSuperPw(Packets::CLAskRegPassPort *const this, CHAR *pSuperPw);
- const CHAR *__cdecl Packets::CLAskRegPassPort::GetConfirmSuperPw(const Packets::CLAskRegPassPort *const this);
- void __cdecl Packets::CLAskRegPassPort::SetConfirmSuperPw(Packets::CLAskRegPassPort *const this, CHAR *pConfirmSuperPw);
- const CHAR *__cdecl Packets::CLAskRegPassPort::GetPwMd5(const Packets::CLAskRegPassPort *const this);
- void __cdecl Packets::CLAskRegPassPort::SetPwMd5(Packets::CLAskRegPassPort *const this, CHAR *pPwMd5);
- const CHAR *__cdecl Packets::CLAskRegPassPort::GetConfirmPwMd5(const Packets::CLAskRegPassPort *const this);
- void __cdecl Packets::CLAskRegPassPort::SetConfirmPwMd5(Packets::CLAskRegPassPort *const this, CHAR *pConfirmPwMd5);
- const CHAR *__cdecl Packets::CLAskRegPassPort::GetEmail(const Packets::CLAskRegPassPort *const this);
- void __cdecl Packets::CLAskRegPassPort::SetEmail(Packets::CLAskRegPassPort *const this, CHAR *pEmail);
- void __cdecl _tcf_0_33(void *);
- void `global constructor keyed to'Packets::CLAskRegPassPort::Read(); // idb
- void __cdecl Packets::CLAskRegPassPort::~CLAskRegPassPort(Packet *a2);
- void __cdecl Packets::CLAskRegPassPort::~CLAskRegPassPort(IPRegionTable *a2);
- PacketID_t __cdecl Packets::CLAskRegPassPort::GetPacketID(const Packets::CLAskRegPassPort *const this);
- UINT __cdecl Packets::CLAskRegPassPort::GetPacketSize(const Packets::CLAskRegPassPort *const this);
- BOOL __cdecl Packets::CLConnect::Read(Packets::CLConnect *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::CLConnect::Write(const Packets::CLConnect *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::CLConnect::Execute(Packets::CLConnect *const this, Player *pPlayer);
- void __cdecl _tcf_0_34(void *);
- void `global constructor keyed to'Packets::CLConnect::Read(); // idb
- void __cdecl Packets::CLConnect::~CLConnect(Packet *a2);
- void __cdecl Packets::CLConnect::~CLConnect(IPRegionTable *a2);
- PacketID_t __cdecl Packets::CLConnect::GetPacketID(const Packets::CLConnect *const this);
- UINT __cdecl Packets::CLConnect::GetPacketSize(const Packets::CLConnect *const this);
- BOOL __cdecl Packets::KeyExchange::Read(Packets::KeyExchange *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::KeyExchange::Write(const Packets::KeyExchange *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::KeyExchange::Execute(Packets::KeyExchange *const this, Player *pPlayer);
- void __cdecl Packets::KeyExchange::SetKey(Packets::KeyExchange *const this, const UCHAR *szKey, INT nKeySize);
- void __cdecl _tcf_0_35(void *);
- void `global constructor keyed to'Packets::KeyExchange::Read(); // idb
- void __cdecl Packets::KeyExchange::~KeyExchange(Packet *a2);
- void __cdecl Packets::KeyExchange::~KeyExchange(IPRegionTable *a2);
- PacketID_t __cdecl Packets::KeyExchange::GetPacketID(const Packets::KeyExchange *const this);
- int __cdecl Packets::KeyExchange::GetPacketSize(int a2);
- BOOL __cdecl Packets::LBAccCheck::Read(Packets::LBAccCheck *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBAccCheck::Write(const Packets::LBAccCheck *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBAccCheck::Execute(Packets::LBAccCheck *const this, Player *pPlayer);
- void __cdecl _tcf_0_36(void *);
- void `global constructor keyed to'Packets::LBAccCheck::Read(); // idb
- void __cdecl Packets::LBAccCheck::~LBAccCheck(BillPacket *a2);
- void __cdecl Packets::LBAccCheck::~LBAccCheck(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBAccCheck::GetPacketID(const Packets::LBAccCheck *const this);
- UINT __fastcall Packets::LBAccCheck::GetPacketSize(const Packets::LBAccCheck *const this);
- BOOL __cdecl Packets::LBAskAuth::Read(Packets::LBAskAuth *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LBAskAuth::Write(const Packets::LBAskAuth *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LBAskAuth::Execute(Packets::LBAskAuth *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::LBAskAuth::GetAccount(const Packets::LBAskAuth *const this);
- void __cdecl Packets::LBAskAuth::SetAccount(Packets::LBAskAuth *const this, const CHAR *pAccount);
- const CHAR *__cdecl Packets::LBAskAuth::GetPassWord(const Packets::LBAskAuth *const this);
- void __cdecl Packets::LBAskAuth::SetPassWord(Packets::LBAskAuth *const this, const CHAR *pPassWord);
- int __cdecl Packets::LBAskAuth::GetPlayerID(int a2);
- void __cdecl Packets::LBAskAuth::SetPlayerID(int pID, __int16 pIDa);
- void __cdecl Packets::LBAskAuth::SetIPAddr(Packets::LBAskAuth *const this, const CHAR *pIP);
- const CHAR *__cdecl Packets::LBAskAuth::GetIPAddr(const Packets::LBAskAuth *const this);
- const CHAR *__cdecl Packets::LBAskAuth::GetMacAddr(const Packets::LBAskAuth *const this);
- void __cdecl Packets::LBAskAuth::SetMacAddr(Packets::LBAskAuth *const this, CHAR *pMacMD5);
- const CHAR *__cdecl Packets::LBAskAuth::GetHWIDInfo(const Packets::LBAskAuth *const this);
- void __cdecl Packets::LBAskAuth::SetHWIDInfo(Packets::LBAskAuth *const this, CHAR *pHWIDInfo);
- void __cdecl _tcf_0_37(void *);
- void `global constructor keyed to'Packets::LBAskAuth::Read(); // idb
- void __cdecl Packets::LBAskAuth::~LBAskAuth(Packet *a2);
- void __cdecl Packets::LBAskAuth::~LBAskAuth(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LBAskAuth::GetPacketID(const Packets::LBAskAuth *const this);
- UINT __cdecl Packets::LBAskAuth::GetPacketSize(const Packets::LBAskAuth *const this);
- BOOL __cdecl Packets::LBAskRegAuth::Read(Packets::LBAskRegAuth *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LBAskRegAuth::Write(const Packets::LBAskRegAuth *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LBAskRegAuth::Execute(Packets::LBAskRegAuth *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::LBAskRegAuth::GetAccount(const Packets::LBAskRegAuth *const this);
- void __cdecl Packets::LBAskRegAuth::SetAccount(Packets::LBAskRegAuth *const this, const CHAR *pAccount);
- const CHAR *__cdecl Packets::LBAskRegAuth::GetPassWord(const Packets::LBAskRegAuth *const this);
- void __cdecl Packets::LBAskRegAuth::SetPassWord(Packets::LBAskRegAuth *const this, const CHAR *pPassWord);
- int __cdecl Packets::LBAskRegAuth::GetPlayerID(int a2);
- void __cdecl Packets::LBAskRegAuth::SetPlayerID(int pID, __int16 pIDa);
- const CHAR *__cdecl Packets::LBAskRegAuth::GetSuperPassWord(const Packets::LBAskRegAuth *const this);
- void __cdecl Packets::LBAskRegAuth::SetSuperPassWord(Packets::LBAskRegAuth *const this, const CHAR *pSuperPassWord);
- const CHAR *__cdecl Packets::LBAskRegAuth::GetIP(const Packets::LBAskRegAuth *const this);
- void __cdecl Packets::LBAskRegAuth::SetIP(Packets::LBAskRegAuth *const this, const CHAR *pIP);
- const CHAR *__cdecl Packets::LBAskRegAuth::GetEmail(const Packets::LBAskRegAuth *const this);
- void __cdecl Packets::LBAskRegAuth::SetEmail(Packets::LBAskRegAuth *const this, const CHAR *pEmail);
- void __cdecl _tcf_0_38(void *);
- void `global constructor keyed to'Packets::LBAskRegAuth::Read(); // idb
- void __cdecl Packets::LBAskRegAuth::~LBAskRegAuth(Packet *a2);
- void __cdecl Packets::LBAskRegAuth::~LBAskRegAuth(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LBAskRegAuth::GetPacketID(const Packets::LBAskRegAuth *const this);
- UINT __cdecl Packets::LBAskRegAuth::GetPacketSize(const Packets::LBAskRegAuth *const this);
- BOOL __cdecl Packets::LBBillingEnd::Read(Packets::LBBillingEnd *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBBillingEnd::Write(const Packets::LBBillingEnd *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBBillingEnd::Execute(Packets::LBBillingEnd *const this, Player *pPlayer);
- void __cdecl _tcf_0_39(void *);
- void `global constructor keyed to'Packets::LBBillingEnd::Read(); // idb
- void __cdecl Packets::LBBillingEnd::~LBBillingEnd(BillPacket *a2);
- void __cdecl Packets::LBBillingEnd::~LBBillingEnd(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBBillingEnd::GetPacketID(const Packets::LBBillingEnd *const this);
- int __cdecl Packets::LBBillingEnd::GetPacketSize(int a2);
- BOOL __cdecl Packets::LBBillingKeep::Read(Packets::LBBillingKeep *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBBillingKeep::Write(const Packets::LBBillingKeep *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBBillingKeep::Execute(Packets::LBBillingKeep *const this, Player *pPlayer);
- void __cdecl _tcf_0_40(void *);
- void `global constructor keyed to'Packets::LBBillingKeep::Read(); // idb
- void __cdecl Packets::LBBillingKeep::~LBBillingKeep(BillPacket *a2);
- void __cdecl Packets::LBBillingKeep::~LBBillingKeep(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBBillingKeep::GetPacketID(const Packets::LBBillingKeep *const this);
- int __cdecl Packets::LBBillingKeep::GetPacketSize(int a2);
- BOOL __cdecl Packets::LBBillingStart::Read(Packets::LBBillingStart *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBBillingStart::Write(const Packets::LBBillingStart *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBBillingStart::Execute(Packets::LBBillingStart *const this, Player *pPlayer);
- void __cdecl _tcf_0_41(void *);
- void `global constructor keyed to'Packets::LBBillingStart::Read(); // idb
- void __cdecl Packets::LBBillingStart::~LBBillingStart(BillPacket *a2);
- void __cdecl Packets::LBBillingStart::~LBBillingStart(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBBillingStart::GetPacketID(const Packets::LBBillingStart *const this);
- int __cdecl Packets::LBBillingStart::GetPacketSize(int a2);
- BOOL __cdecl Packets::LBConnect::Read(Packets::LBConnect *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBConnect::Write(const Packets::LBConnect *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBConnect::Execute(Packets::LBConnect *const this, Player *pPlayer);
- void __cdecl _tcf_0_42(void *);
- void `global constructor keyed to'Packets::LBConnect::Read(); // idb
- void __cdecl Packets::LBConnect::~LBConnect(BillPacket *a2);
- void __cdecl Packets::LBConnect::~LBConnect(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBConnect::GetPacketID(const Packets::LBConnect *const this);
- int __cdecl Packets::LBConnect::GetPacketSize(int a2);
- BOOL __cdecl Packets::LBKeepLive::Read(Packets::LBKeepLive *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBKeepLive::Write(const Packets::LBKeepLive *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBKeepLive::Execute(Packets::LBKeepLive *const this, Player *pPlayer);
- void __cdecl _tcf_0_43(void *);
- void `global constructor keyed to'Packets::LBKeepLive::Read(); // idb
- void __cdecl Packets::LBKeepLive::~LBKeepLive(BillPacket *a2);
- void __cdecl Packets::LBKeepLive::~LBKeepLive(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBKeepLive::GetPacketID(const Packets::LBKeepLive *const this);
- UINT __cdecl Packets::LBKeepLive::GetPacketSize(const Packets::LBKeepLive *const this);
- BOOL __cdecl Packets::LBKickAll::Read(Packets::LBKickAll *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBKickAll::Write(const Packets::LBKickAll *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBKickAll::Execute(Packets::LBKickAll *const this, Player *pPlayer);
- void __cdecl _tcf_0_44(void *);
- void `global constructor keyed to'Packets::LBKickAll::Read(); // idb
- void __cdecl Packets::LBKickAll::~LBKickAll(BillPacket *a2);
- void __cdecl Packets::LBKickAll::~LBKickAll(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBKickAll::GetPacketID(const Packets::LBKickAll *const this);
- UINT __fastcall Packets::LBKickAll::GetPacketSize(const Packets::LBKickAll *const this);
- BOOL __cdecl Packets::LBRegPassPort::Read(Packets::LBRegPassPort *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBRegPassPort::Write(const Packets::LBRegPassPort *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBRegPassPort::Execute(Packets::LBRegPassPort *const this, Player *pPlayer);
- void __cdecl _tcf_0_45(void *);
- void `global constructor keyed to'Packets::LBRegPassPort::Read(); // idb
- void __cdecl Packets::LBRegPassPort::~LBRegPassPort(BillPacket *a2);
- void __cdecl Packets::LBRegPassPort::~LBRegPassPort(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBRegPassPort::GetPacketID(const Packets::LBRegPassPort *const this);
- UINT __fastcall Packets::LBRegPassPort::GetPacketSize(const Packets::LBRegPassPort *const this);
- BOOL __cdecl Packets::LCRetCharList::Read(Packets::LCRetCharList *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LCRetCharList::Write(const Packets::LCRetCharList *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LCRetCharList::Execute(Packets::LCRetCharList *const this, Player *pPlayer);
- ASKCHARLIST_RESULT __cdecl Packets::LCRetCharList::GetResult(int a2);
- const CHAR *__cdecl Packets::LCRetCharList::GetAccount(const Packets::LCRetCharList *const this);
- void __cdecl Packets::LCRetCharList::SetAccount(Packets::LCRetCharList *const this, const CHAR *pAccount);
- void __cdecl Packets::LCRetCharList::SetResult(int a3, int a4);
- void __cdecl _tcf_0_46(void *);
- void `global constructor keyed to'Packets::LCRetCharList::Read(); // idb
- void __cdecl Packets::LCRetCharList::~LCRetCharList(Packet *a2);
- void __cdecl Packets::LCRetCharList::~LCRetCharList(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LCRetCharList::GetPacketID(const Packets::LCRetCharList *const this);
- UINT __cdecl Packets::LCRetCharList::GetPacketSize(const Packets::LCRetCharList *const this);
- BOOL __cdecl Packets::LCRetCharLogin::Read(Packets::LCRetCharLogin *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LCRetCharLogin::Write(const Packets::LCRetCharLogin *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LCRetCharLogin::Execute(Packets::LCRetCharLogin *const this, Player *pPlayer);
- void __cdecl _tcf_0_47(void *);
- void `global constructor keyed to'Packets::LCRetCharLogin::Read(); // idb
- void __cdecl Packets::LCRetCharLogin::~LCRetCharLogin(Packet *a2);
- void __cdecl Packets::LCRetCharLogin::~LCRetCharLogin(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LCRetCharLogin::GetPacketID(const Packets::LCRetCharLogin *const this);
- UINT __cdecl Packets::LCRetCharLogin::GetPacketSize(const Packets::LCRetCharLogin *const this);
- BOOL __cdecl Packets::LCRetConnect::Read(Packets::LCRetConnect *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LCRetConnect::Write(const Packets::LCRetConnect *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LCRetConnect::Execute(Packets::LCRetConnect *const this, Player *pPlayer);
- void __cdecl _tcf_0_48(void *);
- void `global constructor keyed to'Packets::LCRetConnect::Read(); // idb
- void __cdecl Packets::LCRetConnect::~LCRetConnect(Packet *a2);
- void __cdecl Packets::LCRetConnect::~LCRetConnect(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LCRetConnect::GetPacketID(const Packets::LCRetConnect *const this);
- UINT __cdecl Packets::LCRetConnect::GetPacketSize(const Packets::LCRetConnect *const this);
- BOOL __cdecl Packets::LCRetCreateChar::Read(Packets::LCRetCreateChar *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LCRetCreateChar::Write(const Packets::LCRetCreateChar *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LCRetCreateChar::Execute(Packets::LCRetCreateChar *const this, Player *pPlayer);
- ASKCREATECHAR_RESULT __cdecl Packets::LCRetCreateChar::GetResult(int a2);
- void __cdecl Packets::LCRetCreateChar::SetResult(int a3, int a4);
- const CHAR *__cdecl Packets::LCRetCreateChar::GetAccount(const Packets::LCRetCreateChar *const this);
- void __cdecl Packets::LCRetCreateChar::SetAccount(Packets::LCRetCreateChar *const this, const CHAR *pAccount);
- void __cdecl _tcf_0_49(void *);
- void `global constructor keyed to'Packets::LCRetCreateChar::Read(); // idb
- void __cdecl Packets::LCRetCreateChar::~LCRetCreateChar(Packet *a2);
- void __cdecl Packets::LCRetCreateChar::~LCRetCreateChar(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LCRetCreateChar::GetPacketID(const Packets::LCRetCreateChar *const this);
- UINT __cdecl Packets::LCRetCreateChar::GetPacketSize(const Packets::LCRetCreateChar *const this);
- BOOL __cdecl Packets::LCRetDeleteChar::Read(Packets::LCRetDeleteChar *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LCRetDeleteChar::Write(const Packets::LCRetDeleteChar *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LCRetDeleteChar::Execute(Packets::LCRetDeleteChar *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::LCRetDeleteChar::GetAccount(const Packets::LCRetDeleteChar *const this);
- void __cdecl Packets::LCRetDeleteChar::SetAccount(Packets::LCRetDeleteChar *const this, const CHAR *pAccount);
- ASKDELETECHAR_RESULT __cdecl Packets::LCRetDeleteChar::GetResult(int a2);
- void __cdecl Packets::LCRetDeleteChar::SetResult(int a3, int a4);
- void __cdecl _tcf_0_50(void *);
- void `global constructor keyed to'Packets::LCRetDeleteChar::Read(); // idb
- void __cdecl Packets::LCRetDeleteChar::~LCRetDeleteChar(Packet *a2);
- void __cdecl Packets::LCRetDeleteChar::~LCRetDeleteChar(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LCRetDeleteChar::GetPacketID(const Packets::LCRetDeleteChar *const this);
- UINT __cdecl Packets::LCRetDeleteChar::GetPacketSize(const Packets::LCRetDeleteChar *const this);
- BOOL __cdecl Packets::LCRetLogin::Read(Packets::LCRetLogin *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LCRetLogin::Write(const Packets::LCRetLogin *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LCRetLogin::Execute(Packets::LCRetLogin *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::LCRetLogin::GetAccount(const Packets::LCRetLogin *const this);
- void __cdecl Packets::LCRetLogin::SetAccount(Packets::LCRetLogin *const this, const CHAR *pAccount);
- LOGIN_RESULT __cdecl Packets::LCRetLogin::GetResult(int a2);
- void __cdecl Packets::LCRetLogin::SetResult(int a3, int a4);
- void __cdecl _tcf_0_51(void *);
- void `global constructor keyed to'Packets::LCRetLogin::Read(); // idb
- void __cdecl Packets::LCRetLogin::~LCRetLogin(Packet *a2);
- void __cdecl Packets::LCRetLogin::~LCRetLogin(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LCRetLogin::GetPacketID(const Packets::LCRetLogin *const this);
- UINT __cdecl Packets::LCRetLogin::GetPacketSize(const Packets::LCRetLogin *const this);
- BOOL __cdecl Packets::LCRetLoginCode::Read(Packets::LCRetLoginCode *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LCRetLoginCode::Write(const Packets::LCRetLoginCode *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LCRetLoginCode::Execute(Packets::LCRetLoginCode *const this, Player *pPlayer);
- void __cdecl _tcf_0_52(void *);
- void `global constructor keyed to'Packets::LCRetLoginCode::Read(); // idb
- void __cdecl Packets::LCRetLoginCode::~LCRetLoginCode(Packet *a2);
- void __cdecl Packets::LCRetLoginCode::~LCRetLoginCode(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LCRetLoginCode::GetPacketID(const Packets::LCRetLoginCode *const this);
- UINT __cdecl Packets::LCRetLoginCode::GetPacketSize(const Packets::LCRetLoginCode *const this);
- BOOL __cdecl Packets::LCStatus::Read(Packets::LCStatus *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LCStatus::Write(const Packets::LCStatus *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LCStatus::Execute(Packets::LCStatus *const this, Player *pPlayer);
- void __cdecl _tcf_0_53(void *);
- void `global constructor keyed to'Packets::LCStatus::Read(); // idb
- void __cdecl Packets::LCStatus::~LCStatus(Packet *a2);
- void __cdecl Packets::LCStatus::~LCStatus(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LCStatus::GetPacketID(const Packets::LCStatus *const this);
- UINT __cdecl Packets::LCStatus::GetPacketSize(const Packets::LCStatus *const this);
- BOOL __cdecl Packets::LWAskCharLogin::Read(Packets::LWAskCharLogin *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LWAskCharLogin::Write(const Packets::LWAskCharLogin *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LWAskCharLogin::Execute(Packets::LWAskCharLogin *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::LWAskCharLogin::GetAccount(const Packets::LWAskCharLogin *const this);
- void __cdecl Packets::LWAskCharLogin::SetAccount(Packets::LWAskCharLogin *const this, const CHAR *pAccount);
- const CHAR *__cdecl Packets::LWAskCharLogin::GetHost(const Packets::LWAskCharLogin *const this);
- void __cdecl Packets::LWAskCharLogin::SetHost(Packets::LWAskCharLogin *const this, const CHAR *pHost);
- void __cdecl _tcf_0_54(void *);
- void `global constructor keyed to'Packets::LWAskCharLogin::Read(); // idb
- void __cdecl Packets::LWAskCharLogin::~LWAskCharLogin(Packets::LWAskCharLogin *const this);
- void __cdecl Packets::LWAskCharLogin::~LWAskCharLogin(Packets::LWAskCharLogin *const this);
- PacketID_t __cdecl Packets::LWAskCharLogin::GetPacketID(const Packets::LWAskCharLogin *const this);
- UINT __cdecl Packets::LWAskCharLogin::GetPacketSize(const Packets::LWAskCharLogin *const this);
- BOOL __cdecl Packets::LWRetBillingEnd::Read(Packets::LWRetBillingEnd *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LWRetBillingEnd::Write(const Packets::LWRetBillingEnd *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LWRetBillingEnd::Execute(Packets::LWRetBillingEnd *const this, Player *pPlayer);
- void __cdecl _tcf_0_55(void *);
- void `global constructor keyed to'Packets::LWRetBillingEnd::Read(); // idb
- void __cdecl Packets::LWRetBillingEnd::~LWRetBillingEnd(Packet *a2);
- void __cdecl Packets::LWRetBillingEnd::~LWRetBillingEnd(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LWRetBillingEnd::GetPacketID(const Packets::LWRetBillingEnd *const this);
- UINT __cdecl Packets::LWRetBillingEnd::GetPacketSize(const Packets::LWRetBillingEnd *const this);
- BOOL __cdecl Packets::LWRetBillingKeep::Read(Packets::LWRetBillingKeep *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LWRetBillingKeep::Write(const Packets::LWRetBillingKeep *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LWRetBillingKeep::Execute(Packets::LWRetBillingKeep *const this, Player *pPlayer);
- void __cdecl _tcf_0_56(void *);
- void `global constructor keyed to'Packets::LWRetBillingKeep::Read(); // idb
- void __cdecl Packets::LWRetBillingKeep::~LWRetBillingKeep(Packet *a2);
- void __cdecl Packets::LWRetBillingKeep::~LWRetBillingKeep(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LWRetBillingKeep::GetPacketID(const Packets::LWRetBillingKeep *const this);
- UINT __cdecl Packets::LWRetBillingKeep::GetPacketSize(const Packets::LWRetBillingKeep *const this);
- BOOL __cdecl Packets::LWRetBillingStart::Read(Packets::LWRetBillingStart *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LWRetBillingStart::Write(const Packets::LWRetBillingStart *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LWRetBillingStart::Execute(Packets::LWRetBillingStart *const this, Player *pPlayer);
- void __cdecl _tcf_0_57(void *);
- void `global constructor keyed to'Packets::LWRetBillingStart::Read(); // idb
- void __cdecl Packets::LWRetBillingStart::~LWRetBillingStart(Packet *a2);
- void __cdecl Packets::LWRetBillingStart::~LWRetBillingStart(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LWRetBillingStart::GetPacketID(const Packets::LWRetBillingStart *const this);
- UINT __cdecl Packets::LWRetBillingStart::GetPacketSize(const Packets::LWRetBillingStart *const this);
- BOOL __cdecl Packets::SSConnect::Read(Packets::SSConnect *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::SSConnect::Write(const Packets::SSConnect *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::SSConnect::Execute(Packets::SSConnect *const this, Player *pPlayer);
- void __cdecl _tcf_0_58(void *);
- void `global constructor keyed to'Packets::SSConnect::Read(); // idb
- void __cdecl Packets::SSConnect::~SSConnect(Packet *a2);
- void __cdecl Packets::SSConnect::~SSConnect(IPRegionTable *a2);
- PacketID_t __cdecl Packets::SSConnect::GetPacketID(const Packets::SSConnect *const this);
- UINT __cdecl Packets::SSConnect::GetPacketSize(const Packets::SSConnect *const this);
- BOOL __cdecl Packets::SSScenePlayerCount::Read(Packets::SSScenePlayerCount *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::SSScenePlayerCount::Write(const Packets::SSScenePlayerCount *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::SSScenePlayerCount::Execute(Packets::SSScenePlayerCount *const this, Player *pPlayer);
- void __cdecl _tcf_0_59(void *);
- void `global constructor keyed to'Packets::SSScenePlayerCount::Read(); // idb
- void __cdecl Packets::SSScenePlayerCount::~SSScenePlayerCount(Packet *a2);
- void __cdecl Packets::SSScenePlayerCount::~SSScenePlayerCount(IPRegionTable *a2);
- PacketID_t __cdecl Packets::SSScenePlayerCount::GetPacketID(const Packets::SSScenePlayerCount *const this);
- UINT __cdecl Packets::SSScenePlayerCount::GetPacketSize(const Packets::SSScenePlayerCount *const this);
- BOOL __cdecl Packets::WLBillingEnd::Read(Packets::WLBillingEnd *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::WLBillingEnd::Write(const Packets::WLBillingEnd *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::WLBillingEnd::Execute(Packets::WLBillingEnd *const this, Player *pPlayer);
- void __cdecl _tcf_0_60(void *);
- void `global constructor keyed to'Packets::WLBillingEnd::Read(); // idb
- void __cdecl Packets::WLBillingEnd::~WLBillingEnd(Packet *a2);
- void __cdecl Packets::WLBillingEnd::~WLBillingEnd(IPRegionTable *a2);
- PacketID_t __cdecl Packets::WLBillingEnd::GetPacketID(const Packets::WLBillingEnd *const this);
- UINT __cdecl Packets::WLBillingEnd::GetPacketSize(const Packets::WLBillingEnd *const this);
- BOOL __cdecl Packets::WLBillingKeep::Read(Packets::WLBillingKeep *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::WLBillingKeep::Write(const Packets::WLBillingKeep *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::WLBillingKeep::Execute(Packets::WLBillingKeep *const this, Player *pPlayer);
- void __cdecl _tcf_0_61(void *);
- void `global constructor keyed to'Packets::WLBillingKeep::Read(); // idb
- void __cdecl Packets::WLBillingKeep::~WLBillingKeep(Packet *a2);
- void __cdecl Packets::WLBillingKeep::~WLBillingKeep(IPRegionTable *a2);
- PacketID_t __cdecl Packets::WLBillingKeep::GetPacketID(const Packets::WLBillingKeep *const this);
- UINT __cdecl Packets::WLBillingKeep::GetPacketSize(const Packets::WLBillingKeep *const this);
- BOOL __cdecl Packets::WLBillingKick::Read(Packets::WLBillingKick *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::WLBillingKick::Write(const Packets::WLBillingKick *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::WLBillingKick::Execute(Packets::WLBillingKick *const this, Player *pPlayer);
- void __cdecl _tcf_0_62(void *);
- void `global constructor keyed to'Packets::WLBillingKick::Read(); // idb
- void __cdecl Packets::WLBillingKick::~WLBillingKick(Packet *a2);
- void __cdecl Packets::WLBillingKick::~WLBillingKick(IPRegionTable *a2);
- PacketID_t __cdecl Packets::WLBillingKick::GetPacketID(const Packets::WLBillingKick *const this);
- UINT __cdecl Packets::WLBillingKick::GetPacketSize(const Packets::WLBillingKick *const this);
- BOOL __cdecl Packets::WLBillingStart::Read(Packets::WLBillingStart *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::WLBillingStart::Write(const Packets::WLBillingStart *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::WLBillingStart::Execute(Packets::WLBillingStart *const this, Player *pPlayer);
- void __cdecl _tcf_0_63(void *);
- void `global constructor keyed to'Packets::WLBillingStart::Read(); // idb
- void __cdecl Packets::WLBillingStart::~WLBillingStart(Packet *a2);
- void __cdecl Packets::WLBillingStart::~WLBillingStart(IPRegionTable *a2);
- PacketID_t __cdecl Packets::WLBillingStart::GetPacketID(const Packets::WLBillingStart *const this);
- UINT __cdecl Packets::WLBillingStart::GetPacketSize(const Packets::WLBillingStart *const this);
- BOOL __cdecl Packets::WLRetCharLogin::Read(Packets::WLRetCharLogin *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::WLRetCharLogin::Write(const Packets::WLRetCharLogin *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::WLRetCharLogin::Execute(Packets::WLRetCharLogin *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::WLRetCharLogin::GetAccount(const Packets::WLRetCharLogin *const this);
- void __cdecl Packets::WLRetCharLogin::SetAccount(Packets::WLRetCharLogin *const this, const CHAR *pAccount);
- void __cdecl _tcf_0_64(void *);
- void `global constructor keyed to'Packets::WLRetCharLogin::Read(); // idb
- void __cdecl Packets::WLRetCharLogin::~WLRetCharLogin(Packet *a2);
- void __cdecl Packets::WLRetCharLogin::~WLRetCharLogin(IPRegionTable *a2);
- PacketID_t __cdecl Packets::WLRetCharLogin::GetPacketID(const Packets::WLRetCharLogin *const this);
- UINT __cdecl Packets::WLRetCharLogin::GetPacketSize(const Packets::WLRetCharLogin *const this);
- BOOL __cdecl Packets::BLRetAskBuy::Read(Packets::BLRetAskBuy *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::BLRetAskBuy::Write(const Packets::BLRetAskBuy *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::BLRetAskBuy::Execute(Packets::BLRetAskBuy *const this, Player *pPlayer);
- void __cdecl _tcf_0_65(void *);
- void `global constructor keyed to'Packets::BLRetAskBuy::Read(); // idb
- void __cdecl Packets::BLRetAskBuy::~BLRetAskBuy(BillPacket *a2);
- void __cdecl Packets::BLRetAskBuy::~BLRetAskBuy(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::BLRetAskBuy::GetPacketID(const Packets::BLRetAskBuy *const this);
- UINT __cdecl Packets::BLRetAskBuy::GetPacketSize(const Packets::BLRetAskBuy *const this);
- BOOL __cdecl Packets::BLRetAskPoint::Read(Packets::BLRetAskPoint *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::BLRetAskPoint::Write(const Packets::BLRetAskPoint *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::BLRetAskPoint::Execute(Packets::BLRetAskPoint *const this, Player *pPlayer);
- void __cdecl _tcf_0_66(void *);
- void `global constructor keyed to'Packets::BLRetAskPoint::Read(); // idb
- void __cdecl Packets::BLRetAskPoint::~BLRetAskPoint(BillPacket *a2);
- void __cdecl Packets::BLRetAskPoint::~BLRetAskPoint(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::BLRetAskPoint::GetPacketID(const Packets::BLRetAskPoint *const this);
- int __cdecl Packets::BLRetAskPoint::GetPacketSize(int a2);
- BOOL __cdecl Packets::BLRetPrize::Read(Packets::BLRetPrize *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::BLRetPrize::Write(const Packets::BLRetPrize *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::BLRetPrize::Execute(Packets::BLRetPrize *const this, Player *pPlayer);
- void __cdecl _tcf_0_67(void *);
- void `global constructor keyed to'Packets::BLRetPrize::Read(); // idb
- void __cdecl Packets::BLRetPrize::~BLRetPrize(BillPacket *a2);
- void __cdecl Packets::BLRetPrize::~BLRetPrize(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::BLRetPrize::GetPacketID(const Packets::BLRetPrize *const this);
- UINT __cdecl Packets::BLRetPrize::GetPacketSize(const Packets::BLRetPrize *const this);
- BOOL __cdecl Packets::LBAskBuy::Read(Packets::LBAskBuy *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBAskBuy::Write(const Packets::LBAskBuy *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBAskBuy::Execute(Packets::LBAskBuy *const this, Player *pPlayer);
- void __cdecl _tcf_0_68(void *);
- void `global constructor keyed to'Packets::LBAskBuy::Read(); // idb
- void __cdecl Packets::LBAskBuy::~LBAskBuy(BillPacket *a2);
- void __cdecl Packets::LBAskBuy::~LBAskBuy(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBAskBuy::GetPacketID(const Packets::LBAskBuy *const this);
- int __cdecl Packets::LBAskBuy::GetPacketSize(unsigned __int8 *a2);
- BOOL __cdecl Packets::LBAskPoint::Read(Packets::LBAskPoint *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBAskPoint::Write(const Packets::LBAskPoint *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBAskPoint::Execute(Packets::LBAskPoint *const this, Player *pPlayer);
- void __cdecl _tcf_0_69(void *);
- void `global constructor keyed to'Packets::LBAskPoint::Read(); // idb
- void __cdecl Packets::LBAskPoint::~LBAskPoint(BillPacket *a2);
- void __cdecl Packets::LBAskPoint::~LBAskPoint(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBAskPoint::GetPacketID(const Packets::LBAskPoint *const this);
- int __cdecl Packets::LBAskPoint::GetPacketSize(unsigned __int8 *a2);
- BOOL __cdecl Packets::LBLAskNewUserCard::Read(Packets::LBLAskNewUserCard *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBLAskNewUserCard::Write(const Packets::LBLAskNewUserCard *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBLAskNewUserCard::Execute(Packets::LBLAskNewUserCard *const this, Player *pPlayer);
- void __cdecl _tcf_0_70(void *);
- void `global constructor keyed to'Packets::LBLAskNewUserCard::Read(); // idb
- void __cdecl Packets::LBLAskNewUserCard::~LBLAskNewUserCard(BillPacket *a2);
- void __cdecl Packets::LBLAskNewUserCard::~LBLAskNewUserCard(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBLAskNewUserCard::GetPacketID(const Packets::LBLAskNewUserCard *const this);
- UINT __cdecl Packets::LBLAskNewUserCard::GetPacketSize(const Packets::LBLAskNewUserCard *const this);
- BOOL __cdecl Packets::LBLCardCheckPrize::Read(Packets::LBLCardCheckPrize *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBLCardCheckPrize::Write(const Packets::LBLCardCheckPrize *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBLCardCheckPrize::Execute(Packets::LBLCardCheckPrize *const this, Player *pPlayer);
- void __cdecl _tcf_0_71(void *);
- void `global constructor keyed to'Packets::LBLCardCheckPrize::Read(); // idb
- void __cdecl Packets::LBLCardCheckPrize::~LBLCardCheckPrize(BillPacket *a2);
- void __cdecl Packets::LBLCardCheckPrize::~LBLCardCheckPrize(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBLCardCheckPrize::GetPacketID(const Packets::LBLCardCheckPrize *const this);
- UINT __cdecl Packets::LBLCardCheckPrize::GetPacketSize(const Packets::LBLCardCheckPrize *const this);
- BOOL __cdecl Packets::LBLNewCheckPrize::Read(Packets::LBLNewCheckPrize *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBLNewCheckPrize::Write(const Packets::LBLNewCheckPrize *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBLNewCheckPrize::Execute(Packets::LBLNewCheckPrize *const this, Player *pPlayer);
- void __cdecl _tcf_0_72(void *);
- void `global constructor keyed to'Packets::LBLNewCheckPrize::Read(); // idb
- void __cdecl Packets::LBLNewCheckPrize::~LBLNewCheckPrize(BillPacket *a2);
- void __cdecl Packets::LBLNewCheckPrize::~LBLNewCheckPrize(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBLNewCheckPrize::GetPacketID(const Packets::LBLNewCheckPrize *const this);
- UINT __cdecl Packets::LBLNewCheckPrize::GetPacketSize(const Packets::LBLNewCheckPrize *const this);
- BOOL __cdecl Packets::LBLNewPrize::Read(Packets::LBLNewPrize *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBLNewPrize::Write(const Packets::LBLNewPrize *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBLNewPrize::Execute(Packets::LBLNewPrize *const this, Player *pPlayer);
- void __cdecl _tcf_0_73(void *);
- void `global constructor keyed to'Packets::LBLNewPrize::Read(); // idb
- void __cdecl Packets::LBLNewPrize::~LBLNewPrize(BillPacket *a2);
- void __cdecl Packets::LBLNewPrize::~LBLNewPrize(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBLNewPrize::GetPacketID(const Packets::LBLNewPrize *const this);
- UINT __cdecl Packets::LBLNewPrize::GetPacketSize(const Packets::LBLNewPrize *const this);
- BOOL __cdecl Packets::LBPrize::Read(Packets::LBPrize *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBPrize::Write(const Packets::LBPrize *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBPrize::Execute(Packets::LBPrize *const this, Player *pPlayer);
- void __cdecl _tcf_0_74(void *);
- void `global constructor keyed to'Packets::LBPrize::Read(); // idb
- void __cdecl Packets::LBPrize::~LBPrize(BillPacket *a2);
- void __cdecl Packets::LBPrize::~LBPrize(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBPrize::GetPacketID(const Packets::LBPrize *const this);
- int __cdecl Packets::LBPrize::GetPacketSize(unsigned __int8 *a2);
- BOOL __cdecl Packets::LWRetPrize::Read(Packets::LWRetPrize *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LWRetPrize::Write(const Packets::LWRetPrize *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LWRetPrize::Execute(Packets::LWRetPrize *const this, Player *pPlayer);
- void __cdecl _tcf_0_75(void *);
- void `global constructor keyed to'Packets::LWRetPrize::Read(); // idb
- void __cdecl Packets::LWRetPrize::~LWRetPrize(Packet *a2);
- void __cdecl Packets::LWRetPrize::~LWRetPrize(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LWRetPrize::GetPacketID(const Packets::LWRetPrize *const this);
- UINT __cdecl Packets::LWRetPrize::GetPacketSize(const Packets::LWRetPrize *const this);
- BOOL __cdecl Packets::WLAskPrize::Read(Packets::WLAskPrize *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::WLAskPrize::Write(const Packets::WLAskPrize *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::WLAskPrize::Execute(Packets::WLAskPrize *const this, Player *pPlayer);
- void __cdecl _tcf_0_76(void *);
- void `global constructor keyed to'Packets::WLAskPrize::Read(); // idb
- void __cdecl Packets::WLAskPrize::~WLAskPrize(Packet *a2);
- void __cdecl Packets::WLAskPrize::~WLAskPrize(IPRegionTable *a2);
- PacketID_t __cdecl Packets::WLAskPrize::GetPacketID(const Packets::WLAskPrize *const this);
- UINT __cdecl Packets::WLAskPrize::GetPacketSize(const Packets::WLAskPrize *const this);
- BOOL __cdecl Packets::LWNotifyUser::Read(Packets::LWNotifyUser *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LWNotifyUser::Write(const Packets::LWNotifyUser *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LWNotifyUser::Execute(Packets::LWNotifyUser *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::LWNotifyUser::GetAccount(const Packets::LWNotifyUser *const this);
- void __cdecl Packets::LWNotifyUser::SetAccount(Packets::LWNotifyUser *const this, const CHAR *pAccount);
- void __cdecl _tcf_0_77(void *);
- void `global constructor keyed to'Packets::LWNotifyUser::Read(); // idb
- void __cdecl Packets::LWNotifyUser::~LWNotifyUser(Packet *a2);
- void __cdecl Packets::LWNotifyUser::~LWNotifyUser(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LWNotifyUser::GetPacketID(const Packets::LWNotifyUser *const this);
- UINT __cdecl Packets::LWNotifyUser::GetPacketSize(const Packets::LWNotifyUser *const this);
- BOOL __cdecl Packets::WLNotifyUser::Read(Packets::WLNotifyUser *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::WLNotifyUser::Write(const Packets::WLNotifyUser *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::WLNotifyUser::Execute(Packets::WLNotifyUser *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::WLNotifyUser::GetHost(const Packets::WLNotifyUser *const this);
- void __cdecl Packets::WLNotifyUser::SetHost(Packets::WLNotifyUser *const this, const CHAR *pHost);
- void __cdecl _tcf_0_78(void *);
- void `global constructor keyed to'Packets::WLNotifyUser::Read(); // idb
- void __cdecl Packets::WLNotifyUser::~WLNotifyUser(Packet *a2);
- void __cdecl Packets::WLNotifyUser::~WLNotifyUser(IPRegionTable *a2);
- PacketID_t __cdecl Packets::WLNotifyUser::GetPacketID(const Packets::WLNotifyUser *const this);
- UINT __cdecl Packets::WLNotifyUser::GetPacketSize(const Packets::WLNotifyUser *const this);
- BOOL __cdecl Packets::GWLWGCostLog::Read(Packets::GWLWGCostLog *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::GWLWGCostLog::Write(const Packets::GWLWGCostLog *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::GWLWGCostLog::Execute(Packets::GWLWGCostLog *const this, Player *pPlayer);
- void __cdecl _tcf_0_79(void *);
- void `global constructor keyed to'Packets::GWLWGCostLog::Read(); // idb
- void __cdecl Packets::GWLWGCostLog::~GWLWGCostLog(Packet *a2);
- void __cdecl Packets::GWLWGCostLog::~GWLWGCostLog(IPRegionTable *a2);
- PacketID_t __cdecl Packets::GWLWGCostLog::GetPacketID(const Packets::GWLWGCostLog *const this);
- UINT __cdecl Packets::GWLWGCostLog::GetPacketSize(const Packets::GWLWGCostLog *const this);
- BOOL __cdecl Packets::LBLCostLog::Read(Packets::LBLCostLog *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBLCostLog::Write(const Packets::LBLCostLog *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBLCostLog::Execute(Packets::LBLCostLog *const this, Player *pPlayer);
- void __cdecl Packets::LBLCostLog::SetCostInfo(Packets::LBLCostLog *const this, _COST_LOG *pLog);
- void __cdecl _tcf_0_80(void *);
- void `global constructor keyed to'Packets::LBLCostLog::Read(); // idb
- void __cdecl Packets::LBLCostLog::~LBLCostLog(BillPacket *a2);
- void __cdecl Packets::LBLCostLog::~LBLCostLog(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBLCostLog::GetPacketID(const Packets::LBLCostLog *const this);
- UINT __cdecl Packets::LBLCostLog::GetPacketSize(const Packets::LBLCostLog *const this);
- BOOL __cdecl Packets::LBLAskMig::Read(Packets::LBLAskMig *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBLAskMig::Write(const Packets::LBLAskMig *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBLAskMig::Execute(Packets::LBLAskMig *const this, Player *pPlayer);
- void __cdecl _tcf_0_81(void *);
- void `global constructor keyed to'Packets::LBLAskMig::Read(); // idb
- void __cdecl Packets::LBLAskMig::~LBLAskMig(BillPacket *a2);
- void __cdecl Packets::LBLAskMig::~LBLAskMig(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBLAskMig::GetPacketID(const Packets::LBLAskMig *const this);
- UINT __cdecl Packets::LBLAskMig::GetPacketSize(const Packets::LBLAskMig *const this);
- BOOL __cdecl Packets::LWChangeName::Read(Packets::LWChangeName *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LWChangeName::Write(const Packets::LWChangeName *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LWChangeName::Execute(Packets::LWChangeName *const this, Player *pPlayer);
- void __cdecl _tcf_0_82(void *);
- void `global constructor keyed to'Packets::LWChangeName::Read(); // idb
- void __cdecl Packets::LWChangeName::~LWChangeName(Packet *a2);
- void __cdecl Packets::LWChangeName::~LWChangeName(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LWChangeName::GetPacketID(const Packets::LWChangeName *const this);
- UINT __cdecl Packets::LWChangeName::GetPacketSize(const Packets::LWChangeName *const this);
- BOOL __cdecl Packets::WLChangeName::Read(Packets::WLChangeName *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::WLChangeName::Write(const Packets::WLChangeName *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::WLChangeName::Execute(Packets::WLChangeName *const this, Player *pPlayer);
- void __cdecl _tcf_0_83(void *);
- void `global constructor keyed to'Packets::WLChangeName::Read(); // idb
- void __cdecl Packets::WLChangeName::~WLChangeName(Packet *a2);
- void __cdecl Packets::WLChangeName::~WLChangeName(IPRegionTable *a2);
- PacketID_t __cdecl Packets::WLChangeName::GetPacketID(const Packets::WLChangeName *const this);
- UINT __cdecl Packets::WLChangeName::GetPacketSize(const Packets::WLChangeName *const this);
- BOOL __cdecl Packets::CLAskCreateCode::Read(Packets::CLAskCreateCode *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::CLAskCreateCode::Write(const Packets::CLAskCreateCode *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::CLAskCreateCode::Execute(Packets::CLAskCreateCode *const this, Player *pPlayer);
- void __cdecl _tcf_0_84(void *);
- void `global constructor keyed to'Packets::CLAskCreateCode::Read(); // idb
- void __cdecl Packets::CLAskCreateCode::~CLAskCreateCode(Packet *a2);
- void __cdecl Packets::CLAskCreateCode::~CLAskCreateCode(IPRegionTable *a2);
- PacketID_t __cdecl Packets::CLAskCreateCode::GetPacketID(const Packets::CLAskCreateCode *const this);
- int __cdecl Packets::CLAskCreateCode::GetPacketSize(int a2);
- BOOL __cdecl Packets::LCRetCreateCode::Read(Packets::LCRetCreateCode *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LCRetCreateCode::Write(const Packets::LCRetCreateCode *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LCRetCreateCode::Execute(Packets::LCRetCreateCode *const this, Player *pPlayer);
- void __cdecl _tcf_0_85(void *);
- void `global constructor keyed to'Packets::LCRetCreateCode::Read(); // idb
- void __cdecl Packets::LCRetCreateCode::~LCRetCreateCode(Packet *a2);
- void __cdecl Packets::LCRetCreateCode::~LCRetCreateCode(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LCRetCreateCode::GetPacketID(const Packets::LCRetCreateCode *const this);
- UINT __cdecl Packets::LCRetCreateCode::GetPacketSize(const Packets::LCRetCreateCode *const this);
- BOOL __cdecl Packets::CLRegNewLicense::Read(Packets::CLRegNewLicense *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::CLRegNewLicense::Write(const Packets::CLRegNewLicense *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::CLRegNewLicense::Execute(Packets::CLRegNewLicense *const this, Player *pPlayer);
- void __cdecl _tcf_0_86(void *);
- void `global constructor keyed to'Packets::CLRegNewLicense::Read(); // idb
- void __cdecl Packets::CLRegNewLicense::~CLRegNewLicense(Packet *a2);
- void __cdecl Packets::CLRegNewLicense::~CLRegNewLicense(IPRegionTable *a2);
- PacketID_t __cdecl Packets::CLRegNewLicense::GetPacketID(const Packets::CLRegNewLicense *const this);
- UINT __cdecl Packets::CLRegNewLicense::GetPacketSize(const Packets::CLRegNewLicense *const this);
- BOOL __cdecl Packets::LBAskRegLicense::Read(Packets::LBAskRegLicense *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LBAskRegLicense::Write(const Packets::LBAskRegLicense *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LBAskRegLicense::Execute(Packets::LBAskRegLicense *const this, Player *pPlayer);
- const CHAR *__cdecl Packets::LBAskRegLicense::GetAccount(const Packets::LBAskRegLicense *const this);
- void __cdecl Packets::LBAskRegLicense::SetAccount(Packets::LBAskRegLicense *const this, const CHAR *pAccount);
- int __cdecl Packets::LBAskRegLicense::GetPlayerID(int a2);
- void __cdecl Packets::LBAskRegLicense::SetPlayerID(int pID, __int16 pIDa);
- int __cdecl Packets::LBAskRegLicense::GetUserAnswer(int a2);
- void __cdecl Packets::LBAskRegLicense::SetUserAnswer(int rt, char rta);
- void __cdecl Packets::LBAskRegLicense::SetIPAddr(Packets::LBAskRegLicense *const this, const CHAR *pIP);
- const CHAR *__cdecl Packets::LBAskRegLicense::GetIPAddr(const Packets::LBAskRegLicense *const this);
- void __cdecl _tcf_0_87(void *);
- void `global constructor keyed to'Packets::LBAskRegLicense::Read(); // idb
- void __cdecl Packets::LBAskRegLicense::~LBAskRegLicense(Packet *a2);
- void __cdecl Packets::LBAskRegLicense::~LBAskRegLicense(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LBAskRegLicense::GetPacketID(const Packets::LBAskRegLicense *const this);
- UINT __cdecl Packets::LBAskRegLicense::GetPacketSize(const Packets::LBAskRegLicense *const this);
- BOOL __cdecl Packets::LBLRegNewLicense::Read(Packets::LBLRegNewLicense *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBLRegNewLicense::Write(const Packets::LBLRegNewLicense *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBLRegNewLicense::Execute(Packets::LBLRegNewLicense *const this, Player *pPlayer);
- void __cdecl _tcf_0_88(void *);
- void `global constructor keyed to'Packets::LBLRegNewLicense::Read(); // idb
- void __cdecl Packets::LBLRegNewLicense::~LBLRegNewLicense(BillPacket *a2);
- void __cdecl Packets::LBLRegNewLicense::~LBLRegNewLicense(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBLRegNewLicense::GetPacketID(const Packets::LBLRegNewLicense *const this);
- UINT __cdecl Packets::LBLRegNewLicense::GetPacketSize(const Packets::LBLRegNewLicense *const this);
- BOOL __cdecl Packets::CLRegSafeSign::Read(Packets::CLRegSafeSign *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::CLRegSafeSign::Write(const Packets::CLRegSafeSign *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::CLRegSafeSign::Execute(Packets::CLRegSafeSign *const this, Player *pPlayer);
- void __cdecl _tcf_0_89(void *);
- void `global constructor keyed to'Packets::CLRegSafeSign::Read(); // idb
- void __cdecl Packets::CLRegSafeSign::~CLRegSafeSign(Packet *a2);
- void __cdecl Packets::CLRegSafeSign::~CLRegSafeSign(IPRegionTable *a2);
- PacketID_t __cdecl Packets::CLRegSafeSign::GetPacketID(const Packets::CLRegSafeSign *const this);
- UINT __cdecl Packets::CLRegSafeSign::GetPacketSize(const Packets::CLRegSafeSign *const this);
- BOOL __cdecl Packets::LBLOperateAcc::Read(Packets::LBLOperateAcc *const this, SocketBillingInputStream *const iStream);
- BOOL __cdecl Packets::LBLOperateAcc::Write(const Packets::LBLOperateAcc *const this, SocketBillingOutputStream *const oStream);
- UINT __cdecl Packets::LBLOperateAcc::Execute(Packets::LBLOperateAcc *const this, Player *pPlayer);
- void __cdecl _tcf_0_90(void *);
- void `global constructor keyed to'Packets::LBLOperateAcc::Read(); // idb
- void __cdecl Packets::LBLOperateAcc::~LBLOperateAcc(BillPacket *a2);
- void __cdecl Packets::LBLOperateAcc::~LBLOperateAcc(IPRegionTable *a2);
- BPacketID_t __cdecl Packets::LBLOperateAcc::GetPacketID(const Packets::LBLOperateAcc *const this);
- UINT __cdecl Packets::LBLOperateAcc::GetPacketSize(const Packets::LBLOperateAcc *const this);
- BOOL __cdecl Packets::LWOperateAccResult::Read(Packets::LWOperateAccResult *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::LWOperateAccResult::Write(const Packets::LWOperateAccResult *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::LWOperateAccResult::Execute(Packets::LWOperateAccResult *const this, Player *pPlayer);
- void __cdecl _tcf_0_91(void *);
- void `global constructor keyed to'Packets::LWOperateAccResult::Read(); // idb
- void __cdecl Packets::LWOperateAccResult::~LWOperateAccResult(Packet *a2);
- void __cdecl Packets::LWOperateAccResult::~LWOperateAccResult(IPRegionTable *a2);
- PacketID_t __cdecl Packets::LWOperateAccResult::GetPacketID(const Packets::LWOperateAccResult *const this);
- UINT __cdecl Packets::LWOperateAccResult::GetPacketSize(const Packets::LWOperateAccResult *const this);
- BOOL __cdecl Packets::WLOperateAcc::Read(Packets::WLOperateAcc *const this, SocketInputStream *const iStream);
- BOOL __cdecl Packets::WLOperateAcc::Write(const Packets::WLOperateAcc *const this, SocketOutputStream *const oStream);
- UINT __cdecl Packets::WLOperateAcc::Execute(Packets::WLOperateAcc *const this, Player *pPlayer);
- void __cdecl _tcf_0_92(void *);
- void `global constructor keyed to'Packets::WLOperateAcc::Read(); // idb
- void __cdecl Packets::WLOperateAcc::~WLOperateAcc(Packet *a2);
- void __cdecl Packets::WLOperateAcc::~WLOperateAcc(IPRegionTable *a2);
- PacketID_t __cdecl Packets::WLOperateAcc::GetPacketID(const Packets::WLOperateAcc *const this);
- UINT __cdecl Packets::WLOperateAcc::GetPacketSize(const Packets::WLOperateAcc *const this);
- void __cdecl DBAbilityList::DBAbilityList(DBAbilityList *const this, ODBCInterface *pInterface);
- void __cdecl DBAbilityList::DBAbilityList(DBAbilityList *const this, ODBCInterface *pInterface);
- int __cdecl DBAbilityList::Load(DBAbilityList *const this);
- int __cdecl DBAbilityList::Save(DBAbilityList *const this, void *pSource);
- int __cdecl DBAbilityList::Delete(DBAbilityList *const this);
- int __cdecl DBAbilityList::ParseResult(DBAbilityList *const this, void *pResult);
- GUID_t __cdecl DBAbilityList::GetCharGuid(int a2);
- void __cdecl DBAbilityList::SetCharGuid(int a3, int a4);
- UINT __cdecl DBAbilityList::GetDBVersion(int a2);
- void __cdecl DBAbilityList::SetDBVersion(int a3, int a4);
- void __cdecl _tcf_0_93(void *);
- void `global constructor keyed to'DBAbilityList::DBAbilityList(); // idb
- void __cdecl DBCharCreate::DBCharCreate(DBCharCreate *const this, ODBCInterface *pInterface);
- void __cdecl DBCharCreate::DBCharCreate(DBCharCreate *const this, ODBCInterface *pInterface);
- int __cdecl DBCharCreate::Load(DBCharCreate *const this);
- int __cdecl DBCharCreate::AddNew(DBCharCreate *const this);
- int __cdecl DBCharCreate::ParseResult(DBCharCreate *const this, void *pResult);
- const CHAR *__cdecl DBCharCreate::GetAccount(const DBCharCreate *const this);
- void __cdecl DBCharCreate::SetAccount(DBCharCreate *const this, const CHAR *pAccount);
- void __cdecl DBCharCreate::SetCharName(const CHAR *pName, const char *pNamea);
- const CHAR *__cdecl DBCharCreate::GetCharName(DBCharCreate *const this);
- void __cdecl DBCharCreate::SetSex(int a3, int a4);
- int __cdecl DBCharCreate::GetSex(int a2);
- void __cdecl DBCharCreate::SetHairColor(int Color, char Colora);
- int __cdecl DBCharCreate::GetHairColor(int a2);
- void __cdecl DBCharCreate::SetFaceColor(int Color, char Colora);
- int __cdecl DBCharCreate::GetFaceColor(int a2);
- void __cdecl DBCharCreate::SetHairModel(int Model, char Modela);
- int __cdecl DBCharCreate::GetHairModel(int a2);
- void __cdecl DBCharCreate::SetFaceModel(int Model, char Modela);
- int __cdecl DBCharCreate::GetFaceModel(int a2);
- void __cdecl DBCharCreate::SetHeadID(int Head, char Heada);
- int __cdecl DBCharCreate::GetHeadID(int a2);
- void __cdecl DBCharCreate::SetDefEquip(int a3, int a4);
- INT __cdecl DBCharCreate::GetDefEquip(int a2);
- GUID_t __cdecl DBCharCreate::GetCharGuid(int a2);
- void __cdecl _tcf_0_94(void *);
- void `global constructor keyed to'DBCharCreate::DBCharCreate(); // idb
- void __cdecl DBChardbVersion::DBChardbVersion(DBChardbVersion *const this, ODBCInterface *pInterface);
- void __cdecl DBChardbVersion::DBChardbVersion(DBChardbVersion *const this, ODBCInterface *pInterface);
- int __cdecl DBChardbVersion::Load(DBChardbVersion *const this);
- int __cdecl DBChardbVersion::ParseResult(DBChardbVersion *const this, void *pResult);
- void __cdecl DBChardbVersion::SetCharGuid(int a3, int a4);
- GUID_t __cdecl DBChardbVersion::GetCharGuid(int a2);
- INT __cdecl DBChardbVersion::GetdbVersion(int a2);
- BOOL __cdecl DBChardbVersion::IsValid(int a2);
- void __cdecl DBChardbVersion::ForceCheckConnect(DBChardbVersion *const this);
- void __cdecl _tcf_0_95(void *);
- void `global constructor keyed to'DBChardbVersion::DBChardbVersion(); // idb
- void __cdecl DBCharExtradbVersion::DBCharExtradbVersion(DBCharExtradbVersion *const this, ODBCInterface *pInterface);
- void __cdecl DBCharExtradbVersion::DBCharExtradbVersion(DBCharExtradbVersion *const this, ODBCInterface *pInterface);
- int __cdecl DBCharExtradbVersion::Load(DBCharExtradbVersion *const this);
- int __cdecl DBCharExtradbVersion::ParseResult(DBCharExtradbVersion *const this, void *pResult);
- void __cdecl DBCharExtradbVersion::SetCharGuid(int a3, int a4);
- GUID_t __cdecl DBCharExtradbVersion::GetCharGuid(int a2);
- INT __cdecl DBCharExtradbVersion::GetdbVersion(int a2);
- void __cdecl DBCharExtradbVersion::ForceCheckConnect(DBCharExtradbVersion *const this);
- void __cdecl _tcf_0_96(void *);
- void `global constructor keyed to'DBCharExtradbVersion::DBCharExtradbVersion(); // idb
- void __cdecl DBCharExtraInfo::DBCharExtraInfo(DBCharExtraInfo *const this, ODBCInterface *pInterface);
- void __cdecl DBCharExtraInfo::DBCharExtraInfo(DBCharExtraInfo *const this, ODBCInterface *pInterface);
- int __cdecl DBCharExtraInfo::Load(DBCharExtraInfo *const this);
- int __cdecl DBCharExtraInfo::Save(DBCharExtraInfo *const this, void *pSource);
- int __cdecl DBCharExtraInfo::Delete(DBCharExtraInfo *const this);
- int __cdecl DBCharExtraInfo::ParseResult(DBCharExtraInfo *const this, void *pResult);
- GUID_t __cdecl DBCharExtraInfo::GetCharGuid(int a2);
- void __cdecl DBCharExtraInfo::SetCharGuid(int a3, int a4);
- UINT __cdecl DBCharExtraInfo::GetDBVersion(int a2);
- void __cdecl DBCharExtraInfo::SetDBVersion(int a3, int a4);
- void __cdecl _tcf_0_97(void *);
- void `global constructor keyed to'DBCharExtraInfo::DBCharExtraInfo(); // idb
- void __cdecl DBCharFullData::DBCharFullData(DBCharFullData *const this, ODBCInterface *pInterface);
- void __cdecl DBCharFullData::DBCharFullData(DBCharFullData *const this, ODBCInterface *pInterface);
- int __cdecl DBCharFullData::Load(DBCharFullData *const this);
- GUID_t __cdecl DBCharFullData::GetCharGuid(int a2);
- void __cdecl DBCharFullData::SetCharGuid(int a3, int a4);
- void __cdecl DBCharFullData::SetCRC(int a3, int a4);
- UINT __cdecl DBCharFullData::GetCRC(int a2);
- INT __cdecl FullDataMagicInt2(FULLUSERDATA_0 *pData);
- int __cdecl DBCharFullData::Save(DBCharFullData *const this, void *pSource);
- INT __cdecl FullDataMagicInt1(FULLUSERDATA_0 *pData);
- int __cdecl DBCharFullData::ParseResult(DBCharFullData *const this, void *pResult);
- void __cdecl _tcf_0_98(void *);
- void `global constructor keyed to'DBCharFullData::DBCharFullData(); // idb
- INT __cdecl Float2Int<float>(float TValue);
- void __cdecl DBCharList::CleanUp(_DWORD *a2);
- void __cdecl DBCharList::DBCharList(DBCharList *const this, ODBCInterface *pInterface);
- void __cdecl DBCharList::DBCharList(DBCharList *const this, ODBCInterface *pInterface);
- int __cdecl DBCharList::Load(DBCharList *const this);
- int __cdecl DBCharList::Save(DBCharList *const this);
- int __cdecl DBCharList::ParseResult(DBCharList *const this, void *pResult);
- const CHAR *__cdecl DBCharList::GetAccount(const DBCharList *const this);
- void __cdecl DBCharList::SetAccount(DBCharList *const this, const CHAR *pAccount);
- UINT __cdecl DBCharList::GetCharNumber(int a2);
- GUID_t __cdecl DBCharList::GetGuid(DBCharList *const this, UINT Index);
- void __cdecl _tcf_0_99(void *);
- void `global constructor keyed to'DBCharList::DBCharList(); // idb
- void __cdecl DBCharVisualGem::DBCharVisualGem(DBCharVisualGem *const this, ODBCInterface *pInterface);
- void __cdecl DBCharVisualGem::DBCharVisualGem(DBCharVisualGem *const this, ODBCInterface *pInterface);
- int __cdecl DBCharVisualGem::Load(DBCharVisualGem *const this);
- int __cdecl DBCharVisualGem::Save(DBCharVisualGem *const this, void *pSource);
- int __cdecl DBCharVisualGem::Delete(DBCharVisualGem *const this);
- int __cdecl DBCharVisualGem::ParseResult(DBCharVisualGem *const this, void *pResult);
- GUID_t __cdecl DBCharVisualGem::GetCharGuid(int a2);
- void __cdecl DBCharVisualGem::SetCharGuid(int a3, int a4);
- UINT __cdecl DBCharVisualGem::GetDBVersion(int a2);
- void __cdecl DBCharVisualGem::SetDBVersion(int a3, int a4);
- void __cdecl _tcf_0_100(void *);
- void `global constructor keyed to'DBCharVisualGem::DBCharVisualGem(); // idb
- void __cdecl DBCheckCharName::DBCheckCharName(DBCheckCharName *const this, ODBCInterface *pInterface);
- void __cdecl DBCheckCharName::DBCheckCharName(DBCheckCharName *const this, ODBCInterface *pInterface);
- int __cdecl DBCheckCharName::Load(DBCheckCharName *const this);
- int __cdecl DBCheckCharName::ParseResult(DBCheckCharName *const this, void *pResult);
- void __cdecl DBCheckCharName::SetCharName(const CHAR *pName, const char *pNamea);
- const CHAR *__cdecl DBCheckCharName::GetCharName(DBCheckCharName *const this);
- INT __cdecl DBCheckCharName::GetCheckResult(int a2);
- void __cdecl _tcf_0_101(void *);
- void `global constructor keyed to'DBCheckCharName::DBCheckCharName(); // idb
- void __cdecl DBClearDupItemList::DBClearDupItemList(DBClearDupItemList *const this, ODBCInterface *pInterface);
- void __cdecl DBClearDupItemList::DBClearDupItemList(DBClearDupItemList *const this, ODBCInterface *pInterface);
- int __cdecl DBClearDupItemList::Save(DBClearDupItemList *const this, void *pSource);
- int __cdecl DBClearDupItemList::ParseResult(DBClearDupItemList *const this, void *pResult);
- GUID_t __cdecl DBClearDupItemList::GetCharGuid(int a2);
- void __cdecl DBClearDupItemList::SetCharGuid(int a3, int a4);
- UINT __cdecl DBClearDupItemList::GetDBVersion(int a2);
- void __cdecl DBClearDupItemList::SetDBVersion(int a3, int a4);
- void __cdecl _tcf_0_102(void *);
- void `global constructor keyed to'DBClearDupItemList::DBClearDupItemList(); // idb
- void __cdecl DBCoolDownInfo::DBCoolDownInfo(DBCoolDownInfo *const this, ODBCInterface *pInterface);
- void __cdecl DBCoolDownInfo::DBCoolDownInfo(DBCoolDownInfo *const this, ODBCInterface *pInterface);
- int __cdecl DBCoolDownInfo::Load(DBCoolDownInfo *const this);
- int __cdecl DBCoolDownInfo::Save(DBCoolDownInfo *const this, void *pSource);
- int __cdecl DBCoolDownInfo::Delete(DBCoolDownInfo *const this);
- int __cdecl DBCoolDownInfo::ParseResult(DBCoolDownInfo *const this, void *pResult);
- GUID_t __cdecl DBCoolDownInfo::GetCharGuid(int a2);
- void __cdecl DBCoolDownInfo::SetCharGuid(int a3, int a4);
- UINT __cdecl DBCoolDownInfo::GetDBVersion(int a2);
- void __cdecl DBCoolDownInfo::SetDBVersion(int a3, int a4);
- void __cdecl _tcf_0_103(void *);
- void `global constructor keyed to'DBCoolDownInfo::DBCoolDownInfo(); // idb
- void __cdecl DBCrcInfo::DBCrcInfo(DBCrcInfo *const this, ODBCInterface *pInterface);
- void __cdecl DBCrcInfo::DBCrcInfo(DBCrcInfo *const this, ODBCInterface *pInterface);
- int __cdecl DBCrcInfo::Load(DBCrcInfo *const this);
- int __cdecl DBCrcInfo::Save(DBCrcInfo *const this, void *pSource);
- int __cdecl DBCrcInfo::Delete(DBCrcInfo *const this);
- int __cdecl DBCrcInfo::ParseResult(DBCrcInfo *const this, void *pResult);
- UINT __cdecl DBCrcInfo::GetAid(int a2);
- void __cdecl DBCrcInfo::SetAid(int a3, int a4);
- GUID_t __cdecl DBCrcInfo::GetCharGuid(int a2);
- void __cdecl DBCrcInfo::SetCharGuid(int a3, int a4);
- UINT __cdecl DBCrcInfo::GetCrc32(int a2);
- void __cdecl DBCrcInfo::SetCrc32(int a3, int a4);
- INT __cdecl DBCrcInfo::GetServerId(int a2);
- void __cdecl DBCrcInfo::SetServerId(int a3, int a4);
- void __cdecl DBCrcInfo::SetChange(int a3, int a4);
- void __cdecl _tcf_0_104(void *);
- void `global constructor keyed to'DBCrcInfo::DBCrcInfo(); // idb
- void __cdecl DBCreateCharOp::DBCreateCharOp(DBCreateCharOp *const this, ODBCInterface *pInterface);
- void __cdecl DBCreateCharOp::DBCreateCharOp(DBCreateCharOp *const this, ODBCInterface *pInterface);
- int __cdecl DBCreateCharOp::Load(DBCreateCharOp *const this);
- int __cdecl DBCreateCharOp::AddNew(DBCreateCharOp *const this);
- int __cdecl DBCreateCharOp::ParseResult(DBCreateCharOp *const this, void *pResult);
- const CHAR *__cdecl DBCreateCharOp::GetAccount(const DBCreateCharOp *const this);
- void __cdecl DBCreateCharOp::SetAccount(DBCreateCharOp *const this, const CHAR *pAccount);
- GUID_t __cdecl DBCreateCharOp::GetCharGuid(int a2);
- void __cdecl DBCreateCharOp::SetCharGuid(int a3, int a4);
- void __cdecl DBCreateCharOp::SetCharName(const CHAR *pName, const char *pNamea);
- const CHAR *__cdecl DBCreateCharOp::GetCharName(DBCreateCharOp *const this);
- void __cdecl DBCreateCharOp::SetSex(int a3, int a4);
- int __cdecl DBCreateCharOp::GetSex(int a2);
- void __cdecl DBCreateCharOp::SetHairColor(int Color, char Colora);
- int __cdecl DBCreateCharOp::GetHairColor(int a2);
- void __cdecl DBCreateCharOp::SetFaceColor(int Color, char Colora);
- int __cdecl DBCreateCharOp::GetFaceColor(int a2);
- void __cdecl DBCreateCharOp::SetHairModel(int Model, char Modela);
- int __cdecl DBCreateCharOp::GetHairModel(int a2);
- void __cdecl DBCreateCharOp::SetFaceModel(int Model, char Modela);
- int __cdecl DBCreateCharOp::GetFaceModel(int a2);
- void __cdecl DBCreateCharOp::SetHeadID(int Head, char Heada);
- int __cdecl DBCreateCharOp::GetHeadID(int a2);
- void __cdecl DBCreateCharOp::SetDefEquip(int a3, int a4);
- INT __cdecl DBCreateCharOp::GetDefEquip(int a2);
- void __cdecl _tcf_0_105(void *);
- void `global constructor keyed to'DBCreateCharOp::DBCreateCharOp(); // idb
- void __cdecl DBDeleteCharOp::DBDeleteCharOp(DBDeleteCharOp *const this, ODBCInterface *pInterface);
- void __cdecl DBDeleteCharOp::DBDeleteCharOp(DBDeleteCharOp *const this, ODBCInterface *pInterface);
- int __cdecl DBDeleteCharOp::Load(DBDeleteCharOp *const this);
- int __cdecl DBDeleteCharOp::AddNew(DBDeleteCharOp *const this);
- int __cdecl DBDeleteCharOp::Delete(DBDeleteCharOp *const this);
- int __cdecl DBDeleteCharOp::ParseResult(DBDeleteCharOp *const this, void *pResult);
- const CHAR *__cdecl DBDeleteCharOp::GetAccount(const DBDeleteCharOp *const this);
- void __cdecl DBDeleteCharOp::SetAccount(DBDeleteCharOp *const this, const CHAR *pAccount);
- GUID_t __cdecl DBDeleteCharOp::GetCharGuid(int a2);
- void __cdecl DBDeleteCharOp::SetCharGuid(int a3, int a4);
- void __cdecl DBDeleteCharOp::SetNeedTime(int a3, int a4);
- void __cdecl _tcf_0_106(void *);
- void `global constructor keyed to'DBDeleteCharOp::DBDeleteCharOp(); // idb
- void __cdecl DBEquipBaseList::DBEquipBaseList(DBEquipBaseList *const this, ODBCInterface *pInterface);
- void __cdecl DBEquipBaseList::DBEquipBaseList(DBEquipBaseList *const this, ODBCInterface *pInterface);
- int __cdecl DBEquipBaseList::Load(DBEquipBaseList *const this);
- int __cdecl DBEquipBaseList::Save(DBEquipBaseList *const this);
- int __cdecl DBEquipBaseList::ParseResult(DBEquipBaseList *const this, void *pResult);
- GUID_t __cdecl DBEquipBaseList::GetCharGuid(int a2);
- void __cdecl DBEquipBaseList::SetCharGuid(int a3, int a4);
- void __cdecl _tcf_0_107(void *);
- void `global constructor keyed to'DBEquipBaseList::DBEquipBaseList(); // idb
- void __cdecl DBFatigueInfo::DBFatigueInfo(DBFatigueInfo *const this, ODBCInterface *pInterface);
- void __cdecl DBFatigueInfo::DBFatigueInfo(DBFatigueInfo *const this, ODBCInterface *pInterface);
- int __cdecl DBFatigueInfo::Load(DBFatigueInfo *const this);
- int __cdecl DBFatigueInfo::Save(DBFatigueInfo *const this, void *pSource);
- int __cdecl DBFatigueInfo::Delete(DBFatigueInfo *const this);
- int __cdecl DBFatigueInfo::ParseResult(DBFatigueInfo *const this, void *pResult);
- GUID_t __cdecl DBFatigueInfo::GetCharGuid(int a2);
- void __cdecl DBFatigueInfo::SetCharGuid(int a3, int a4);
- UINT __cdecl DBFatigueInfo::GetDBVersion(int a2);
- void __cdecl DBFatigueInfo::SetDBVersion(int a3, int a4);
- void __cdecl _tcf_0_108(void *);
- void `global constructor keyed to'DBFatigueInfo::DBFatigueInfo(); // idb
- void __cdecl DBGeneralSet::DBGeneralSet(DBGeneralSet *const this, ODBCInterface *pInterface);
- void __cdecl DBGeneralSet::DBGeneralSet(DBGeneralSet *const this, ODBCInterface *pInterface);
- int __cdecl DBGeneralSet::MySave(DBGeneralSet *const this, DBGeneralSet::GSET_TYPE tKey, INT nVal);
- int __cdecl DBGeneralSet::MyLoad(DBGeneralSet *const this, DBGeneralSet::GSET_TYPE tKey, INT *const pVal);
- int __cdecl DBGeneralSet::SetValue(DBGeneralSet *const this, DBGeneralSet::GSET_TYPE tKey, INT nVal);
- int __cdecl DBGeneralSet::GetValue(DBGeneralSet *const this, DBGeneralSet::GSET_TYPE tKey, INT *const pVal);
- int __cdecl DBGeneralSet::ParseResult(DBGeneralSet *const this, void *pResult);
- void __cdecl _tcf_0_109(void *);
- void `global constructor keyed to'DBGeneralSet::DBGeneralSet(); // idb
- void __cdecl DBImmigration::DBImmigration(DBImmigration *const this, ODBCInterface *pInterface);
- void __cdecl DBImmigration::DBImmigration(DBImmigration *const this, ODBCInterface *pInterface);
- int __cdecl DBImmigration::Load(DBImmigration *const this);
- int __cdecl DBImmigration::IsCharNameOK(DBImmigration *const this);
- int __cdecl DBImmigration::UpdateNewCharName(DBImmigration *const this);
- int __cdecl DBImmigration::AddNew(DBImmigration *const this);
- int __cdecl DBImmigration::Save(DBImmigration *const this, void *pResult);
- int __cdecl DBImmigration::ParseResult(DBImmigration *const this, void *pResult);
- const CHAR *__cdecl DBImmigration::GetAccount(const DBImmigration *const this);
- void __cdecl DBImmigration::SetAccount(DBImmigration *const this, const CHAR *pAccount);
- const CHAR *__cdecl DBImmigration::GetCharName(const DBImmigration *const this);
- void __cdecl DBImmigration::SetCharName(DBImmigration *const this, const CHAR *pName);
- GUID_t __cdecl DBImmigration::GetCharGuid(int a2);
- void __cdecl DBImmigration::SetCharGuid(int a3, int a4);
- void __cdecl DBImmigration::SetCharCreateTime(int a3, int a4);
- UINT __cdecl DBImmigration::GetCharCreateTime(int a2);
- void __cdecl _tcf_0_110(void *);
- void `global constructor keyed to'DBImmigration::DBImmigration(); // idb
- void __cdecl DBImpactList::DBImpactList(DBImpactList *const this, ODBCInterface *pInterface);
- void __cdecl DBImpactList::DBImpactList(DBImpactList *const this, ODBCInterface *pInterface);
- int __cdecl DBImpactList::Load(DBImpactList *const this);
- int __cdecl DBImpactList::Save(DBImpactList *const this, void *pSource);
- int __cdecl DBImpactList::Delete(DBImpactList *const this);
- int __cdecl DBImpactList::ParseResult(DBImpactList *const this, void *pResult);
- GUID_t __cdecl DBImpactList::GetCharGuid(int a2);
- void __cdecl DBImpactList::SetCharGuid(int a3, int a4);
- UINT __cdecl DBImpactList::GetDBVersion(int a2);
- void __cdecl DBImpactList::SetDBVersion(int a3, int a4);
- void __cdecl _tcf_0_111(void *);
- void `global constructor keyed to'DBImpactList::DBImpactList(); // idb
- void __cdecl DBItemList::DBItemList(DBItemList *const this, ODBCInterface *pInterface);
- void __cdecl DBItemList::DBItemList(DBItemList *const this, ODBCInterface *pInterface);
- int __cdecl DBItemList::Load(DBItemList *const this);
- int __cdecl DBItemList::Save(DBItemList *const this, void *pSource);
- int __cdecl DBItemList::Delete(DBItemList *const this);
- int __cdecl DBItemList::GetIsOld(int a2);
- int __cdecl DBItemList::ParseResult(DBItemList *const this, void *pResult);
- GUID_t __cdecl DBItemList::GetCharGuid(int a2);
- void __cdecl DBItemList::SetCharGuid(int a3, int a4);
- UINT __cdecl DBItemList::GetDBVersion(int a2);
- void __cdecl DBItemList::SetDBVersion(int a3, int a4);
- void __cdecl DBItemList::SetIsOld(int a3, int a4);
- void __cdecl _tcf_0_112(void *);
- void `global constructor keyed to'DBItemList::DBItemList(); // idb
- void __cdecl DBManager::DBManager(DBManager *const this);
- void __cdecl DBManager::DBManager(DBManager *const this);
- void __cdecl DBManager::~DBManager(DBManager *const this);
- void __cdecl DBManager::~DBManager(DBManager *const this);
- void __cdecl DBManager::~DBManager(DBManager *const this);
- int __cdecl DBManager::Init(DBManager *const this);
- void __cdecl DBManager::run(DBManager *const this);
- ODBCInterface *__cdecl DBManager::GetInterface(DB_NAMES name, DB_NAMES namea);
- void __cdecl DBManager::Quit(DBManager *const this);
- void __cdecl _tcf_0_113(void *);
- void `global constructor keyed to'DBManager::DBManager(); // idb
- void __cdecl DBManager::stop(int a2);
- BOOL __cdecl DBManager::CheckWorldIDZoneID(DBManager *const this);
- void __cdecl DBPetList::DBPetList(DBPetList *const this, ODBCInterface *pInterface);
- void __cdecl DBPetList::DBPetList(DBPetList *const this, ODBCInterface *pInterface);
- int __cdecl DBPetList::Load(DBPetList *const this);
- int __cdecl DBPetList::Save(DBPetList *const this, void *pSource);
- int __cdecl DBPetList::Delete(DBPetList *const this);
- void __cdecl DBPetList::LoadPetSkillFrom_V0(_PET_SKILL *PetSkill, UINT PetSkillNum, _PET_SKILL *PetSkill_V0, UINT PetSkillNum_V0);
- int __cdecl DBPetList::ParseResult(DBPetList *const this, void *pResult);
- GUID_t __cdecl DBPetList::GetCharGuid(int a2);
- void __cdecl DBPetList::SetCharGuid(int a3, int a4);
- UINT __cdecl DBPetList::GetDBVersion(int a2);
- void __cdecl DBPetList::SetDBVersion(int a3, int a4);
- void __cdecl _tcf_0_114(void *);
- void `global constructor keyed to'DBPetList::DBPetList(); // idb
- void __cdecl DBPrivateInfo::DBPrivateInfo(DBPrivateInfo *const this, ODBCInterface *pInterface);
- void __cdecl DBPrivateInfo::DBPrivateInfo(DBPrivateInfo *const this, ODBCInterface *pInterface);
- int __cdecl DBPrivateInfo::Load(DBPrivateInfo *const this);
- int __cdecl DBPrivateInfo::Save(DBPrivateInfo *const this, void *pSource);
- int __cdecl DBPrivateInfo::Delete(DBPrivateInfo *const this);
- int __cdecl DBPrivateInfo::ParseResult(DBPrivateInfo *const this, void *pResult);
- GUID_t __cdecl DBPrivateInfo::GetCharGuid(int a2);
- void __cdecl DBPrivateInfo::SetCharGuid(int a3, int a4);
- UINT __cdecl DBPrivateInfo::GetDBVersion(int a2);
- void __cdecl DBPrivateInfo::SetDBVersion(int a3, int a4);
- void __cdecl _tcf_0_115(void *);
- void `global constructor keyed to'DBPrivateInfo::DBPrivateInfo(); // idb
- void __cdecl DBPvPInfo::DBPvPInfo(DBPvPInfo *const this, ODBCInterface *pInterface);
- void __cdecl DBPvPInfo::DBPvPInfo(DBPvPInfo *const this, ODBCInterface *pInterface);
- int __cdecl DBPvPInfo::Load(DBPvPInfo *const this);
- int __cdecl DBPvPInfo::Save(DBPvPInfo *const this, void *pSource);
- int __cdecl DBPvPInfo::Delete(DBPvPInfo *const this);
- int __cdecl DBPvPInfo::ParseResult(DBPvPInfo *const this, void *pResult);
- GUID_t __cdecl DBPvPInfo::GetCharGuid(int a2);
- void __cdecl DBPvPInfo::SetCharGuid(int a3, int a4);
- UINT __cdecl DBPvPInfo::GetDBVersion(int a2);
- void __cdecl DBPvPInfo::SetDBVersion(int a3, int a4);
- void __cdecl _tcf_0_116(void *);
- void `global constructor keyed to'DBPvPInfo::DBPvPInfo(); // idb
- void __cdecl DBRelationList::DBRelationList(DBRelationList *const this, ODBCInterface *pInterface);
- void __cdecl DBRelationList::DBRelationList(DBRelationList *const this, ODBCInterface *pInterface);
- int __cdecl DBRelationList::Load(DBRelationList *const this);
- int __cdecl DBRelationList::Save(DBRelationList *const this, void *pSource);
- int __cdecl DBRelationList::Delete(DBRelationList *const this);
- int __cdecl DBRelationList::ParseResult(DBRelationList *const this, void *pResult);
- GUID_t __cdecl DBRelationList::GetCharGuid(int a2);
- void __cdecl DBRelationList::SetCharGuid(int a3, int a4);
- void __cdecl DBRelationList::SetDBVersion(int a3, int a4);
- UINT __cdecl DBRelationList::GetDBVersion(int a2);
- void __cdecl _tcf_0_117(void *);
- void `global constructor keyed to'DBRelationList::DBRelationList(); // idb
- int __cdecl SkillCompare(const void *pVoid1, const void *pVoid2);
- void __cdecl DBSkillList::DBSkillList(DBSkillList *const this, ODBCInterface *pInterface);
- void __cdecl DBSkillList::DBSkillList(DBSkillList *const this, ODBCInterface *pInterface);
- int __cdecl DBSkillList::Load(DBSkillList *const this);
- int __cdecl DBSkillList::Save(DBSkillList *const this, void *pSource);
- int __cdecl DBSkillList::Delete(DBSkillList *const this);
- int __cdecl DBSkillList::ParseResult(DBSkillList *const this, void *pResult);
- GUID_t __cdecl DBSkillList::GetCharGuid(int a2);
- void __cdecl DBSkillList::SetCharGuid(int a3, int a4);
- UINT __cdecl DBSkillList::GetDBVersion(int a2);
- void __cdecl DBSkillList::SetDBVersion(int a3, int a4);
- void __cdecl _tcf_0_118(void *);
- void `global constructor keyed to'DBSkillList::DBSkillList(); // idb
- void __cdecl DBTaskList::DBTaskList(DBTaskList *const this, ODBCInterface *pInterface);
- void __cdecl DBTaskList::DBTaskList(DBTaskList *const this, ODBCInterface *pInterface);
- int __cdecl DBTaskList::Load(DBTaskList *const this);
- int __cdecl DBTaskList::Save(DBTaskList *const this, void *pSource);
- int __cdecl DBTaskList::Delete(DBTaskList *const this);
- int __cdecl DBTaskList::ParseResult(DBTaskList *const this, void *pResult);
- GUID_t __cdecl DBTaskList::GetCharGuid(int a2);
- void __cdecl DBTaskList::SetCharGuid(int a3, int a4);
- UINT __cdecl DBTaskList::GetDBVersion(int a2);
- void __cdecl DBTaskList::SetDBVersion(int a3, int a4);
- void __cdecl _tcf_0_119(void *);
- void `global constructor keyed to'DBTaskList::DBTaskList(); // idb
- void __cdecl DBTitleInfo::DBTitleInfo(DBTitleInfo *const this, ODBCInterface *pInterface);
- void __cdecl DBTitleInfo::DBTitleInfo(DBTitleInfo *const this, ODBCInterface *pInterface);
- int __cdecl DBTitleInfo::Load(DBTitleInfo *const this);
- int __cdecl DBTitleInfo::Save(DBTitleInfo *const this, void *pSource);
- int __cdecl DBTitleInfo::Delete(DBTitleInfo *const this);
- int __cdecl DBTitleInfo::ParseResult(DBTitleInfo *const this, void *pResult);
- GUID_t __cdecl DBTitleInfo::GetCharGuid(int a2);
- void __cdecl DBTitleInfo::SetCharGuid(int a3, int a4);
- UINT __cdecl DBTitleInfo::GetDBVersion(int a2);
- void __cdecl DBTitleInfo::SetDBVersion(int a3, int a4);
- void __cdecl _tcf_0_120(void *);
- void `global constructor keyed to'DBTitleInfo::DBTitleInfo(); // idb
- int __cdecl XinFaCompare(const void *pVoid1, const void *pVoid2);
- void __cdecl DBXinFaList::DBXinFaList(DBXinFaList *const this, ODBCInterface *pInterface);
- void __cdecl DBXinFaList::DBXinFaList(DBXinFaList *const this, ODBCInterface *pInterface);
- int __cdecl DBXinFaList::Load(DBXinFaList *const this);
- int __cdecl DBXinFaList::Save(DBXinFaList *const this, void *pSource);
- int __cdecl DBXinFaList::Delete(DBXinFaList *const this);
- int __cdecl DBXinFaList::ParseResult(DBXinFaList *const this, void *pResult);
- GUID_t __cdecl DBXinFaList::GetCharGuid(int a2);
- void __cdecl DBXinFaList::SetCharGuid(int a3, int a4);
- UINT __cdecl DBXinFaList::GetDBVersion(int a2);
- void __cdecl DBXinFaList::SetDBVersion(int a3, int a4);
- void __cdecl _tcf_0_121(void *);
- void `global constructor keyed to'DBXinFaList::DBXinFaList(); // idb
- void __cdecl ODBCBase::ODBCBase(_DWORD *a2);
- void __cdecl ODBCBase::ODBCBase(_DWORD *a2);
- UINT __cdecl ODBCBase::GetResultCount(int a2);
- DB_QUERY *__cdecl ODBCBase::GetInternalQuery(int a2);
- LONG_DB_QUERY *__cdecl ODBCBase::GetLongInterQuery(int a2);
- INT __cdecl ODBCBase::GetInternalAffectCount(int a2);
- int __cdecl ODBCBase::IsPrepare(int a2);
- int __cdecl ODBCBase::Load(ODBCBase *const this);
- int __cdecl ODBCBase::LongLoad(ODBCBase *const this);
- int __cdecl ODBCBase::AddNew(ODBCBase *const this);
- int __cdecl ODBCBase::Delete(ODBCBase *const this);
- int __cdecl ODBCBase::LongDelete(ODBCBase *const this);
- int __cdecl ODBCBase::Save(ODBCBase *const this, void *pSource);
- int __cdecl ODBCBase::LongSave(ODBCBase *const this, void *pSource);
- void __cdecl ODBCBase::SetDBName(int a3, int a4);
- INT __cdecl ODBCBase::GetErrorCode(int a2);
- CHAR *__cdecl ODBCBase::GetErrorMessage(int a2);
- int __cdecl ODBCBase::CheckDBConnect(ODBCBase *const this, const CHAR *pInfo);
- void __cdecl _tcf_0_122(void *);
- void `global constructor keyed to'ODBCBase::ODBCBase(); // idb
- INT __cdecl ODBCInterface::GetInt(ODBCInterface *const this, INT ColIndex, INT *const ErrorCode);
- void __cdecl ODBCInterface::ODBCInterface(int a2);
- void __cdecl ODBCInterface::ODBCInterface(int a2);
- void __cdecl ODBCInterface::~ODBCInterface(ODBCInterface *const this);
- void __cdecl ODBCInterface::~ODBCInterface(ODBCInterface *const this);
- int __cdecl ODBCInterface::Close(ODBCInterface *const this);
- void __cdecl ODBCInterface::Clear(ODBCInterface *const this);
- void __cdecl ODBCInterface::Clear_NoCommit(ODBCInterface *const this);
- UINT __cdecl ODBCInterface::GetUInt(ODBCInterface *const this, INT ColIndex, INT *const ErrorCode);
- FLOAT __cdecl ODBCInterface::GetFloat(ODBCInterface *const this, INT ColIndex, INT *const ErrorCode);
- void __cdecl ODBCInterface::GetString(ODBCInterface *const this, INT ColIndex, CHAR *buf, INT BufLen, INT *const ErrorCode);
- void __cdecl ODBCInterface::GetField(ODBCInterface *const this, INT ColIndex, CHAR *buf, INT BufLen, INT *const ErrorCode);
- void __cdecl ODBCInterface::GetLongField(ODBCInterface *const this, INT ColIndex, CHAR *buf, INT BufLen, INT *const ErrorCode);
- void __cdecl ODBCInterface::SaveErrorLog(ODBCInterface *const this, const CHAR *pLog);
- void __cdecl ODBCInterface::DiagStateEx(ODBCInterface *const this);
- void __cdecl ODBCInterface::DiagState(ODBCInterface *const this);
- int __cdecl ODBCInterface::LongFetch(ODBCInterface *const this);
- int __cdecl ODBCInterface::Fetch(ODBCInterface *const this);
- int __cdecl ODBCInterface::Connect(ODBCInterface *const this);
- int __cdecl ODBCInterface::Connect(ODBCInterface *const this, const CHAR *ConnectStr, const CHAR *UserName, const CHAR *Password);
- int __cdecl ODBCInterface::LongExecute(ODBCInterface *const this);
- int __cdecl ODBCInterface::Execute(ODBCInterface *const this);
- void __cdecl ODBCInterface::SaveWarrning(ODBCInterface *const this, const CHAR *pLog);
- void __cdecl ODBCInterface::CleanEnv(ODBCInterface *const this);
- void __cdecl ODBCInterface::Dump(ODBCInterface *const this, INT col);
- void __cdecl _tcf_0_123(void *);
- void `global constructor keyed to'ODBCInterface::ODBCInterface(); // idb
- void __cdecl _tcf_0_124(void *);
- void `global constructor keyed to'LoadCharList(); // idb
- void __cdecl BillingPlayer::BillingPlayer(BillingPlayer *const this, BOOL bIsServer);
- void __cdecl BillingPlayer::BillingPlayer(BillingPlayer *const this, BOOL bIsServer);
- void __cdecl BillingPlayer::~BillingPlayer(Player_AtLogin *a2);
- void __cdecl BillingPlayer::~BillingPlayer(Player_AtLogin *a2);
- void __cdecl BillingPlayer::~BillingPlayer(Player *a2);
- BOOL __cdecl BillingPlayer::ProcessCommand(BillingPlayer *const this, BOOL Option);
- BOOL __cdecl BillingPlayer::ProcessInput(BillingPlayer *const this);
- BOOL __cdecl BillingPlayer::ProcessOutput(BillingPlayer *const this);
- BOOL __cdecl BillingPlayer::SendPacket(BillingPlayer *const this, BillPacket *pPacket);
- BOOL __cdecl BillingPlayer::IsValid(BillingPlayer *const this);
- void __cdecl BillingPlayer::CleanUp(BillingPlayer *const this);
- BOOL __cdecl BillingPlayer::HeartBeat(BillingPlayer *const this, UINT uTime);
- void __cdecl _tcf_0_125(void *);
- void `global constructor keyed to'BillingPlayer::BillingPlayer(); // idb
- void __cdecl Player_AtLogin::onPacketExecuteError(Player_AtLogin *const this, PacketID_t id, const CHAR *debugBuffer, UINT debugBufferLength);
- void __cdecl Player_AtLogin::onPacketExecuteBreak(Player_AtLogin *const this, PacketID_t id, const CHAR *debugBuffer, UINT debugBufferLength);
- void __cdecl Player_AtLogin::onPacketExecuteContinue(Player_AtLogin *const this, PacketID_t id, const CHAR *debugBuffer, UINT debugBufferLength);
- void __cdecl Player_AtLogin::onPacketExecuteNotRemove(Player_AtLogin *const this, PacketID_t id, const CHAR *debugBuffer, UINT debugBufferLength);
- void __cdecl Player_AtLogin::onPacketExecuteNotRemoveError(Player_AtLogin *const this, PacketID_t id, const CHAR *debugBuffer, UINT debugBufferLength);
- BOOL __cdecl BillingPlayer::IsServerPlayer(BillingPlayer *const this);
- BOOL __cdecl BillingPlayer::IsBillingPlayer(BillingPlayer *const this);
- BOOL __cdecl BillingPlayer::IsLoginPlayer(BillingPlayer *const this);
- void __cdecl LoginPlayer::ResetDisconnectCountDown(int a2);
- void __cdecl LoginPlayer::LoginPlayer(LoginPlayer *const this);
- void __cdecl LoginPlayer::LoginPlayer(LoginPlayer *const this);
- void __cdecl LoginPlayer::~LoginPlayer(Player_AtLogin *a2);
- void __cdecl LoginPlayer::~LoginPlayer(Player_AtLogin *a2);
- void __cdecl LoginPlayer::~LoginPlayer(Player *a2);
- void __cdecl LoginPlayer::CleanUp(LoginPlayer *const this);
- BOOL __cdecl LoginPlayer::ProcessCommand(LoginPlayer *const this, BOOL Option);
- BOOL __cdecl LoginPlayer::ProcessInput(LoginPlayer *const this);
- BOOL __cdecl LoginPlayer::ProcessOutput(LoginPlayer *const this);
- BOOL __cdecl LoginPlayer::SendPacket(LoginPlayer *const this, Packet *pPacket);
- BOOL __cdecl LoginPlayer::IsDisconnectCountDown(const LoginPlayer *const this);
- void __cdecl LoginPlayer::TrigerDisconnectCountDown(LoginPlayer *const this, UINT a3);
- BOOL __cdecl LoginPlayer::DisconnectCountDown(LoginPlayer *const this, UINT now);
- BOOL __cdecl LoginPlayer::HeartBeat(LoginPlayer *const this, UINT uTime);
- void __cdecl LoginPlayer::SetCPUInformation(LoginPlayer *const this, CHAR *CPUInformation);
- CHAR *__cdecl LoginPlayer::GetCPUInformation(LoginPlayer *const this);
- void __cdecl LoginPlayer::SetVideoInformation(LoginPlayer *const this, CHAR *VideoInformation);
- CHAR *__cdecl LoginPlayer::GetVideoInformation(LoginPlayer *const this);
- BOOL __cdecl LoginPlayer::FreeOwn(LoginPlayer *const this);
- void __cdecl LoginPlayer::Init(LoginPlayer *const this);
- void __cdecl LoginPlayer::Disconnect(LoginPlayer *const this);
- void __cdecl LoginPlayer::ResetKick(LoginPlayer *const this);
- const CHAR *__cdecl LoginPlayer::GetAccount(LoginPlayer *const this);
- void __cdecl LoginPlayer::SetAccount(const CHAR *pAccount, const char *pAccounta);
- UINT __cdecl LoginPlayer::GetVersion(int a2);
- void __cdecl LoginPlayer::SetVersion(int a3, int a4);
- UINT __cdecl LoginPlayer::GetQueuePos(int a2);
- void __cdecl LoginPlayer::SetQueuePos(int a3, int a4);
- void __cdecl LoginPlayer::SetCharNumber(int a3, int a4);
- INT __cdecl LoginPlayer::GetCharNumber(int a2);
- void __cdecl LoginPlayer::SetCharGUID(UINT uIndex, int a4, UINT uIndexa);
- BOOL __cdecl LoginPlayer::IsGUIDOwner(LoginPlayer *const this, GUID_t guid);
- void __cdecl LoginPlayer::SetUserKey(int a3, int a4);
- UINT __cdecl LoginPlayer::GetUserKey(int a2);
- void __cdecl LoginPlayer::SetDBOperating(int a3, int a4);
- BOOL __cdecl LoginPlayer::GetDBOperating(int a2);
- void __cdecl LoginPlayer::SetReadyKickCount(int a3, int a4);
- INT __cdecl LoginPlayer::GetReadyKickCount(int a2);
- UINT __cdecl LoginPlayer::GetLastSendTurnTime(int a2);
- void __cdecl LoginPlayer::SetLastSendTurnTime(int a3, int a4);
- void __cdecl LoginPlayer::SetWrongPWCount(int a3, int a4);
- INT __cdecl LoginPlayer::GetWrongPWCount(int a2);
- int __cdecl LoginPlayer::GetChooseSceneID(int a2);
- void __cdecl LoginPlayer::SetChooseSceneID(int sid, __int16 sida);
- // WORLD_POS *__userpurge LoginPlayer::GetWorldPos@<eax>(WORLD_POS *retstr, const LoginPlayer *const this);
- void __fastcall LoginPlayer::SetWorldPos(LoginPlayer *const this, WORLD_POS *const pos);
- void __cdecl LoginPlayer::SetAccFatigueSign(int cSign, CHAR cSigna);
- void __cdecl LoginPlayer::SetAccOnlineTime(int a3, int a4);
- BOOL __cdecl LoginPlayer::GetPhoneBind(int a2);
- BOOL __cdecl LoginPlayer::GetIPBind(int a2);
- BOOL __cdecl LoginPlayer::GetMiBaoBind(int a2);
- BOOL __cdecl LoginPlayer::GetMacBind(int a2);
- BOOL __cdecl LoginPlayer::GetRealNameBind(int a2);
- BOOL __cdecl LoginPlayer::GetInputNameBind(int a2);
- BOOL __cdecl LoginPlayer::GetPhoneMiBaoBind(int a2);
- void __cdecl LoginPlayer::SetPhoneBind(LoginPlayer *const this, CHAR cSign);
- void __cdecl LoginPlayer::SetIPBind(LoginPlayer *const this, CHAR cSign);
- void __cdecl LoginPlayer::SetMiBaoBind(LoginPlayer *const this, CHAR cSign);
- void __cdecl LoginPlayer::SetMacBind(LoginPlayer *const this, CHAR cSign);
- void __cdecl LoginPlayer::SetRealNameBind(LoginPlayer *const this, CHAR cSign);
- void __cdecl LoginPlayer::SetInputNameBind(LoginPlayer *const this, CHAR cSign);
- void __cdecl LoginPlayer::SetPhoneMiBaoBind(LoginPlayer *const this, CHAR cSign);
- CHAR *__cdecl ProxyTool_GetIPByNetProvider(const LoginPlayer *pPlayer, ID_t ServerID);
- UINT __cdecl ProxyTool_GetPortByNetProvider(const LoginPlayer *pPlayer, ID_t ServerID);
- void __cdecl LoginPlayer::SendCreateCode(LoginPlayer *const this);
- void __cdecl LoginPlayer::SendLoginCode(LoginPlayer *const this);
- int __cdecl LoginPlayer::GetIsPilferedAccount(int a2);
- void __cdecl LoginPlayer::SetIsPilferedAccount(int isPilfered, USHORT isPilfereda);
- void __cdecl _tcf_0_126(void *);
- void `global constructor keyed to'LoginPlayer::LoginPlayer(); // idb
- BOOL __cdecl LoginPlayer::IsBillingPlayer(LoginPlayer *const this);
- BOOL __cdecl LoginPlayer::IsLoginPlayer(LoginPlayer *const this);
- BOOL __cdecl LoginPlayer::IsServerPlayer(LoginPlayer *const this);
- void __cdecl LoginPlayerManager::LoginPlayerManager(LoginPlayerManager *const this);
- void __cdecl LoginPlayerManager::LoginPlayerManager(LoginPlayerManager *const this);
- void __cdecl LoginPlayerManager::~LoginPlayerManager(LoginPlayerManager *const this);
- // void __usercall __noreturn sub_808C33D(int a1@<esi>);
- void __cdecl LoginPlayerManager::~LoginPlayerManager(LoginPlayerManager *const this);
- // void __usercall __noreturn sub_808C485(int a1@<esi>);
- BOOL __cdecl LoginPlayerManager::Init(LoginPlayerManager *const this);
- BOOL __cdecl LoginPlayerManager::Select(LoginPlayerManager *const this);
- BOOL __cdecl LoginPlayerManager::AddPlayer(LoginPlayerManager *const this, Player *pPlayer);
- BOOL __cdecl LoginPlayerManager::AcceptNewConnection(LoginPlayerManager *const this);
- BOOL __cdecl LoginPlayerManager::DelPlayer(LoginPlayerManager *const this, PlayerID_t pid);
- BOOL __cdecl LoginPlayerManager::RemovePlayer(LoginPlayerManager *const this, Player *pPlayer);
- BOOL __cdecl LoginPlayerManager::ProcessCommands(LoginPlayerManager *const this);
- BOOL __cdecl LoginPlayerManager::ProcessExceptions(LoginPlayerManager *const this);
- BOOL __cdecl LoginPlayerManager::ProcessOutputs(LoginPlayerManager *const this);
- BOOL __cdecl LoginPlayerManager::ProcessInputs(LoginPlayerManager *const this);
- BOOL __cdecl LoginPlayerManager::HeartBeat(LoginPlayerManager *const this);
- void __cdecl LoginPlayerManager::RemoveAllPlayer(LoginPlayerManager *const this);
- BOOL __cdecl LoginPlayerManager::RecvPacket(LoginPlayerManager *const this, Packet **const pPacket, PlayerID_t *const PlayerID, UINT *const Flag);
- BOOL __cdecl LoginPlayerManager::MovePacket(LoginPlayerManager *const this, PlayerID_t PlayerID);
- BOOL __cdecl LoginPlayerManager::ProcessCacheCommands(LoginPlayerManager *const this);
- BOOL __cdecl LoginPlayerManager::ResizeCache(LoginPlayerManager *const this);
- BOOL __cdecl LoginPlayerManager::SendPacket(LoginPlayerManager *const this, Packet *pPacket, PlayerID_t PlayerID, UINT Flag);
- void __cdecl _tcf_0_127(void *);
- void `global constructor keyed to'g_pLoginPlayerManager(); // idb
- void __cdecl Player_AtLogin::Player_AtLogin(Player *a3, unsigned int a4);
- void __cdecl Player_AtLogin::Player_AtLogin(Player *a3, unsigned int a4);
- void __cdecl Player_AtLogin::~Player_AtLogin(Player *a2);
- void __cdecl Player_AtLogin::~Player_AtLogin(Player *a2);
- void __cdecl Player_AtLogin::~Player_AtLogin(Player *a2);
- void __cdecl Player_AtLogin::CleanUp(Player_AtLogin *const this);
- BOOL __cdecl Player_AtLogin::ProcessInput(Player_AtLogin *const this);
- BOOL __cdecl Player_AtLogin::ProcessOutput(Player_AtLogin *const this);
- void __cdecl Player_AtLogin::onPacketIDInvalid(Player_AtLogin *const this, PacketID_t packetID);
- void __cdecl Player_AtLogin::onPacketSizeInvalid(Player_AtLogin *const this, PacketID_t packetID, UINT packetSize, UINT packetMaxSize);
- void __cdecl Player_AtLogin::onPacketCreateError(Player_AtLogin *const this, PacketID_t packetID, UINT packetSize, UINT packetMaxSize);
- void __cdecl Player_AtLogin::onPacketReadError(Player_AtLogin *const this, PacketID_t id, UINT packetSize, UINT packetMaxSize, const CHAR *debugBuffer, UINT debugBufferLength);
- BOOL __cdecl Player_AtLogin::beforeExecutePacket(UINT packetIndex);
- void __cdecl Player_AtLogin::onPacketExecuteUNKNOWN(Player_AtLogin *const this, PacketID_t id, const CHAR *debugBuffer, UINT debugBufferLength);
- void __cdecl Player_AtLogin::onExecutePacketException(Player_AtLogin *const this, INT ring, const CHAR *debugBuffer, UINT debugBufferLength);
- BOOL __cdecl Player_AtLogin::ProcessCommand(Player_AtLogin *const this, BOOL);
- BOOL __cdecl Player_AtLogin::SendPacket(Player_AtLogin *const this, Packet *pPacket);
- BOOL __cdecl Player_AtLogin::HeartBeat(Player_AtLogin *const this, UINT uTime);
- void __cdecl Player_AtLogin::ResetKick(Player_AtLogin *const this);
- INT __cdecl Player_AtLogin::WhereThisPlayerFrom(const Player_AtLogin *const this);
- CHAR *__cdecl ProxyTool_GetCorrespondingIP(const Player *pPlayer, ID_t ServerID);
- UINT __cdecl ProxyTool_GetCorrespondingPort(const Player *pPlayer, ID_t ServerID);
- void __cdecl _tcf_0_128(void *);
- void `global constructor keyed to'Player_AtLogin::Player_AtLogin(); // idb
- void __cdecl PlayerManager::PlayerManager(PlayerManager *const this);
- void __cdecl PlayerManager::PlayerManager(PlayerManager *const this);
- void __cdecl PlayerManager::CleanUp(PlayerManager *const this);
- void __cdecl PlayerManager::~PlayerManager(PlayerManager *const a2);
- void __cdecl PlayerManager::~PlayerManager(PlayerManager *const a2);
- BOOL __cdecl PlayerManager::AddPlayer(PlayerManager *const this, Player_AtLogin *pPlayer);
- BOOL __cdecl PlayerManager::AddPlayer(PlayerManager *const this, Player_AtLogin *pPlayer, UINT MaxPlayer);
- BOOL __cdecl PlayerManager::AddPlayer(PlayerManager *const this, PlayerID_t pid);
- void __cdecl PlayerManager::RemovePlayer(PlayerManager *const this, PlayerID_t pid);
- BOOL __cdecl PlayerManager::HeartBeat(PlayerManager *const this, UINT uTime);
- void __cdecl _tcf_0_129(void *);
- void `global constructor keyed to'PlayerManager::PlayerManager(); // idb
- void __cdecl PlayerPool::PlayerPool(int a2);
- void __cdecl PlayerPool::PlayerPool(int a2);
- void __cdecl PlayerPool::~PlayerPool(PlayerPool *const this);
- // void __usercall __noreturn sub_808EF08(int a1@<ebx>, int a2@<esi>);
- void __cdecl PlayerPool::~PlayerPool(PlayerPool *const this);
- // void __usercall __noreturn sub_808EFD8(int a1@<ebx>, int a2@<esi>);
- BOOL __cdecl PlayerPool::Init(PlayerPool *const this);
- LoginPlayer *__cdecl PlayerPool::NewPlayer(PlayerPool *const this);
- LoginPlayer *__cdecl PlayerPool::NewPlayer(PlayerPool *const this, PlayerID_t PlayerID);
- void __cdecl PlayerPool::DelPlayer(PlayerPool *const this, PlayerID_t PlayerID);
- void __cdecl _tcf_0_130(void *);
- void `global constructor keyed to'g_pPlayerPool(); // idb
- void __cdecl ServerPlayer::ServerPlayer(BOOL bIsServer, unsigned int bIsServera);
- void __cdecl ServerPlayer::ServerPlayer(BOOL bIsServer, unsigned int bIsServera);
- void __cdecl ServerPlayer::~ServerPlayer(Player_AtLogin *a2);
- void __cdecl ServerPlayer::~ServerPlayer(Player_AtLogin *a2);
- void __cdecl ServerPlayer::~ServerPlayer(Player *a2);
- BOOL __cdecl ServerPlayer::ProcessCommand(ServerPlayer *const this, BOOL Option);
- BOOL __cdecl ServerPlayer::ProcessInput(ServerPlayer *const this);
- BOOL __cdecl ServerPlayer::ProcessOutput(ServerPlayer *const this);
- BOOL __cdecl ServerPlayer::SendPacket(ServerPlayer *const this, Packet *pPacket);
- BOOL __cdecl ServerPlayer::IsValid(ServerPlayer *const this);
- void __cdecl ServerPlayer::CleanUp(ServerPlayer *const this);
- BOOL __cdecl ServerPlayer::HeartBeat(ServerPlayer *const this, UINT uTime);
- void __cdecl _tcf_0_131(void *);
- void `global constructor keyed to'ServerPlayer::ServerPlayer(); // idb
- BOOL __cdecl ServerPlayer::IsLoginPlayer(ServerPlayer *const this);
- BOOL __cdecl ServerPlayer::IsServerPlayer(ServerPlayer *const this);
- BOOL __cdecl ServerPlayer::IsBillingPlayer(ServerPlayer *const this);
- void __cdecl TurnPlayerQueue::TurnPlayerQueue(TurnPlayerQueue *const this);
- void __noreturn sub_808F840();
- void __cdecl TurnPlayerQueue::TurnPlayerQueue(TurnPlayerQueue *const this);
- void __noreturn sub_808F91C();
- void __cdecl TurnPlayerQueue::~TurnPlayerQueue(TurnPlayerQueue *const this);
- void __cdecl TurnPlayerQueue::~TurnPlayerQueue(TurnPlayerQueue *const this);
- BOOL __cdecl TurnPlayerQueue::Init(TurnPlayerQueue *const this);
- BOOL __cdecl TurnPlayerQueue::AddInPlayer(TurnPlayerQueue *const this, PlayerID_t pID, const CHAR *Name, UINT *const QueuePos);
- BOOL __cdecl TurnPlayerQueue::GetOutPlayer(TurnPlayerQueue *const this, PlayerID_t *const pID, CHAR *NameBuff);
- void __cdecl TurnPlayerQueue::RePosQueue(TurnPlayerQueue *const this);
- void __cdecl TurnPlayerQueue::SortQueuePos(TurnPlayerQueue *const this);
- void __cdecl WorldPlayerQueue::WorldPlayerQueue(WorldPlayerQueue *const this);
- void __noreturn sub_8090237();
- void __cdecl WorldPlayerQueue::WorldPlayerQueue(WorldPlayerQueue *const this);
- void __noreturn sub_809032B();
- void __cdecl WorldPlayerQueue::~WorldPlayerQueue(WorldPlayerQueue *const this);
- void __cdecl WorldPlayerQueue::~WorldPlayerQueue(WorldPlayerQueue *const this);
- BOOL __cdecl WorldPlayerQueue::Init(WorldPlayerQueue *const this);
- BOOL __cdecl WorldPlayerQueue::AddInPlayer(WorldPlayerQueue *const this, PlayerID_t pID, const CHAR *Name, GUID_t guid, UINT *const QueuePos);
- BOOL __cdecl WorldPlayerQueue::GetOutPlayer(WorldPlayerQueue *const this, UINT QueuePos);
- BOOL __cdecl WorldPlayerQueue::FindHeadPlayer(WorldPlayerQueue *const this, UINT *const QueuePos);
- WORLD_PLAYER_INFO *__cdecl WorldPlayerQueue::GetPlayer(_DWORD *a3, int a4);
- void __cdecl WorldPlayerQueue::RePosQueue(WorldPlayerQueue *const this);
- void __cdecl WorldPlayerQueue::SortQueuePos(WorldPlayerQueue *const this);
- void __cdecl _tcf_0_132(void *);
- void __cdecl _tcf_1_3(void *);
- void __cdecl _tcf_2(void *);
- void `global constructor keyed to'g_WorldPlayerCounter1(); // idb
- UINT __cdecl Packets::BLRetAccCheckHandler::Execute(Packets::BLRetAccCheck *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_133(void *);
- void `global constructor keyed to'Packets::BLRetAccCheckHandler::Execute(); // idb
- UINT __cdecl Packets::BLRetAuthHandler::Execute(Packets::BLRetAuth *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_134(void *);
- void `global constructor keyed to'Packets::BLRetAuthHandler::Execute(); // idb
- UINT __cdecl Packets::BLRetBillingEndHandler::Execute(Packets::BLRetBillingEnd *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_135(void *);
- void `global constructor keyed to'Packets::BLRetBillingEndHandler::Execute(); // idb
- UINT __cdecl Packets::BLRetBillingKeepHandler::Execute(Packets::BLRetBillingKeep *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_136(void *);
- void `global constructor keyed to'Packets::BLRetBillingKeepHandler::Execute(); // idb
- UINT __cdecl Packets::BLRetBillingStartHandler::Execute(Packets::BLRetBillingStart *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_137(void *);
- void `global constructor keyed to'Packets::BLRetBillingStartHandler::Execute(); // idb
- UINT __cdecl Packets::BLRetConnectHandler::Execute(Packets::BLRetConnect *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_138(void *);
- void `global constructor keyed to'Packets::BLRetConnectHandler::Execute(); // idb
- UINT __cdecl Packets::BLRetKeepLiveHandler::Execute(Packets::BLRetKeepLive *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_139(void *);
- void `global constructor keyed to'Packets::BLRetKeepLiveHandler::Execute(); // idb
- UINT __cdecl Packets::BLRetKickALLHandler::Execute(Packets::BLRetKickALL *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_140(void *);
- void `global constructor keyed to'Packets::BLRetKickALLHandler::Execute(); // idb
- UINT __cdecl Packets::BLRetRegPassPortHandler::Execute(Packets::BLRetRegPassPort *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_141(void *);
- void `global constructor keyed to'Packets::BLRetRegPassPortHandler::Execute(); // idb
- UINT __cdecl Packets::CLAskCharListHandler::Execute(Packets::CLAskCharList *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_142(void *);
- void `global constructor keyed to'Packets::CLAskCharListHandler::Execute(); // idb
- UINT __cdecl Packets::CLAskCharLoginHandler::Execute(Packets::CLAskCharLogin *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_143(void *);
- void `global constructor keyed to'Packets::CLAskCharLoginHandler::Execute(); // idb
- UINT __cdecl Packets::CLAskCreateCharHandler::Execute(Packets::CLAskCreateChar *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_144(void *);
- void `global constructor keyed to'Packets::CLAskCreateCharHandler::Execute(); // idb
- void __cdecl FULLUSERDATA::FULLUSERDATA(FULLUSERDATA_0 *const this);
- void __noreturn sub_80955B9();
- UINT __cdecl Packets::CLAskCreateCodeHandler::Execute(Packets::CLAskCreateCode *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_145(void *);
- void `global constructor keyed to'Packets::CLAskCreateCodeHandler::Execute(); // idb
- UINT __cdecl Packets::CLAskDeleteCharHandler::Execute(Packets::CLAskDeleteChar *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_146(void *);
- void `global constructor keyed to'Packets::CLAskDeleteCharHandler::Execute(); // idb
- UINT __cdecl Packets::CLAskLoginCodeHandler::Execute(Packets::CLAskLoginCode *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_147(void *);
- void `global constructor keyed to'Packets::CLAskLoginCodeHandler::Execute(); // idb
- UINT __cdecl Packets::CLAskLoginHandler::Execute(Packets::CLAskLogin *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_148(void *);
- void `global constructor keyed to'Packets::CLAskLoginHandler::Execute(); // idb
- UINT __cdecl Packets::CLAskRegPassPortHandler::Execute(Packets::CLAskRegPassPort *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_149(void *);
- void `global constructor keyed to'Packets::CLAskRegPassPortHandler::Execute(); // idb
- UINT __cdecl Packets::CLConnectHandler::Execute(Packets::CLConnect *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_150(void *);
- void `global constructor keyed to'Packets::CLConnectHandler::Execute(); // idb
- UINT __cdecl Packets::KeyExchangeHandler::Execute(Packets::KeyExchange *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_151(void *);
- void `global constructor keyed to'Packets::KeyExchangeHandler::Execute(); // idb
- UINT __cdecl Packets::LBAccCheckHandler::Execute(Packets::LBAccCheck *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_152(void *);
- void `global constructor keyed to'Packets::LBAccCheckHandler::Execute(); // idb
- UINT __cdecl Packets::LBAskAuthHandler::Execute(Packets::LBAskAuth *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_153(void *);
- void `global constructor keyed to'Packets::LBAskAuthHandler::Execute(); // idb
- UINT __cdecl Packets::LBAskRegAuthHandler::Execute(Packets::LBAskRegAuth *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_154(void *);
- void `global constructor keyed to'Packets::LBAskRegAuthHandler::Execute(); // idb
- UINT __cdecl Packets::LBBillingEndHandler::Execute(Packets::LBBillingEnd *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_155(void *);
- void `global constructor keyed to'Packets::LBBillingEndHandler::Execute(); // idb
- UINT __cdecl Packets::LBBillingKeepHandler::Execute(Packets::LBBillingKeep *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_156(void *);
- void `global constructor keyed to'Packets::LBBillingKeepHandler::Execute(); // idb
- UINT __cdecl Packets::LBBillingStartHandler::Execute(Packets::LBBillingStart *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_157(void *);
- void `global constructor keyed to'Packets::LBBillingStartHandler::Execute(); // idb
- UINT __cdecl Packets::LBConnectHandler::Execute(Packets::LBConnect *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_158(void *);
- void `global constructor keyed to'Packets::LBConnectHandler::Execute(); // idb
- UINT __cdecl Packets::LBKeepLiveHandler::Execute(Packets::LBKeepLive *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_159(void *);
- void `global constructor keyed to'Packets::LBKeepLiveHandler::Execute(); // idb
- UINT __cdecl Packets::LBKickAllHandler::Execute(Packets::LBKickAll *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_160(void *);
- void `global constructor keyed to'Packets::LBKickAllHandler::Execute(); // idb
- UINT __cdecl Packets::LBRegPassPortHandler::Execute(Packets::LBRegPassPort *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_161(void *);
- void `global constructor keyed to'Packets::LBRegPassPortHandler::Execute(); // idb
- UINT __cdecl Packets::LCRetCharListHandler::Execute(Packets::LCRetCharList *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_162(void *);
- void `global constructor keyed to'Packets::LCRetCharListHandler::Execute(); // idb
- UINT __cdecl Packets::LCRetCharLoginHandler::Execute(Packets::LCRetCharLogin *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_163(void *);
- void `global constructor keyed to'Packets::LCRetCharLoginHandler::Execute(); // idb
- UINT __cdecl Packets::LCRetConnectHandler::Execute(Packets::LCRetConnect *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_164(void *);
- void `global constructor keyed to'Packets::LCRetConnectHandler::Execute(); // idb
- UINT __cdecl Packets::LCRetCreateCharHandler::Execute(Packets::LCRetCreateChar *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_165(void *);
- void `global constructor keyed to'Packets::LCRetCreateCharHandler::Execute(); // idb
- UINT __cdecl Packets::LCRetCreateCodeHandler::Execute(Packets::LCRetCreateCode *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_166(void *);
- void `global constructor keyed to'Packets::LCRetCreateCodeHandler::Execute(); // idb
- UINT __cdecl Packets::LCRetDeleteCharHandler::Execute(Packets::LCRetDeleteChar *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_167(void *);
- void `global constructor keyed to'Packets::LCRetDeleteCharHandler::Execute(); // idb
- UINT __cdecl Packets::LCRetLoginCodeHandler::Execute(Packets::LCRetLoginCode *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_168(void *);
- void `global constructor keyed to'Packets::LCRetLoginCodeHandler::Execute(); // idb
- UINT __cdecl Packets::LCRetLoginHandler::Execute(Packets::LCRetLogin *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_169(void *);
- void `global constructor keyed to'Packets::LCRetLoginHandler::Execute(); // idb
- UINT __cdecl Packets::LCStatusHandler::Execute(Packets::LCStatus *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_170(void *);
- void `global constructor keyed to'Packets::LCStatusHandler::Execute(); // idb
- UINT __cdecl Packets::LWAskCharLoginHandler::Execute(Packets::LWAskCharLogin *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_171(void *);
- void `global constructor keyed to'Packets::LWAskCharLoginHandler::Execute(); // idb
- UINT __cdecl Packets::LWNotifyUserHandler::Execute(Packets::LWNotifyUser *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_172(void *);
- void `global constructor keyed to'Packets::LWNotifyUserHandler::Execute(); // idb
- UINT __cdecl Packets::LWRetBillingEndHandler::Execute(Packets::LWRetBillingEnd *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_173(void *);
- void `global constructor keyed to'Packets::LWRetBillingEndHandler::Execute(); // idb
- UINT __cdecl Packets::LWRetBillingKeepHandler::Execute(Packets::LWRetBillingKeep *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_174(void *);
- void `global constructor keyed to'Packets::LWRetBillingKeepHandler::Execute(); // idb
- UINT __cdecl Packets::LWRetBillingStartHandler::Execute(Packets::LWRetBillingStart *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_175(void *);
- void `global constructor keyed to'Packets::LWRetBillingStartHandler::Execute(); // idb
- UINT __cdecl Packets::SSConnectHandler::Execute(Packets::SSConnect *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_176(void *);
- void `global constructor keyed to'Packets::SSConnectHandler::Execute(); // idb
- UINT __cdecl Packets::SSScenePlayerCountHandler::Execute(Packets::SSScenePlayerCount *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_177(void *);
- void `global constructor keyed to'Packets::SSScenePlayerCountHandler::Execute(); // idb
- UINT __cdecl Packets::WLBillingEndHandler::Execute(Packets::WLBillingEnd *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_178(void *);
- void `global constructor keyed to'Packets::WLBillingEndHandler::Execute(); // idb
- UINT __cdecl Packets::WLBillingKeepHandler::Execute(Packets::WLBillingKeep *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_179(void *);
- void `global constructor keyed to'Packets::WLBillingKeepHandler::Execute(); // idb
- UINT __cdecl Packets::WLBillingKickHandler::Execute(Packets::WLBillingKick *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_180(void *);
- void `global constructor keyed to'Packets::WLBillingKickHandler::Execute(); // idb
- UINT __cdecl Packets::WLBillingStartHandler::Execute(Packets::WLBillingStart *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_181(void *);
- void `global constructor keyed to'Packets::WLBillingStartHandler::Execute(); // idb
- UINT __cdecl Packets::WLNotifyUserHandler::Execute(Packets::WLNotifyUser *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_182(void *);
- void `global constructor keyed to'Packets::WLNotifyUserHandler::Execute(); // idb
- UINT __cdecl Packets::WLRetCharLoginHandler::Execute(Packets::WLRetCharLogin *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_183(void *);
- void `global constructor keyed to'Packets::WLRetCharLoginHandler::Execute(); // idb
- UINT __cdecl Packets::BLRetAskBuyHandler::Execute(Packets::BLRetAskBuy *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_184(void *);
- void `global constructor keyed to'Packets::BLRetAskBuyHandler::Execute(); // idb
- UINT __cdecl Packets::BLRetAskPointHandler::Execute(Packets::BLRetAskPoint *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_185(void *);
- void `global constructor keyed to'Packets::BLRetAskPointHandler::Execute(); // idb
- UINT __cdecl Packets::BLRetPrizeHandler::Execute(Packets::BLRetPrize *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_186(void *);
- void `global constructor keyed to'Packets::BLRetPrizeHandler::Execute(); // idb
- UINT __cdecl Packets::LBAskBuyHandler::Execute(Packets::LBAskBuy *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_187(void *);
- void `global constructor keyed to'Packets::LBAskBuyHandler::Execute(); // idb
- UINT __cdecl Packets::LBAskPointHandler::Execute(Packets::LBAskPoint *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_188(void *);
- void `global constructor keyed to'Packets::LBAskPointHandler::Execute(); // idb
- UINT __cdecl Packets::LBLAskNewUserCardHandler::Execute(Packets::LBLAskNewUserCard *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_189(void *);
- void `global constructor keyed to'Packets::LBLAskNewUserCardHandler::Execute(); // idb
- UINT __cdecl Packets::LBLCardCheckPrizeHandler::Execute(Packets::LBLCardCheckPrize *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_190(void *);
- void `global constructor keyed to'Packets::LBLCardCheckPrizeHandler::Execute(); // idb
- UINT __cdecl Packets::LBLNewCheckPrizeHandler::Execute(Packets::LBLNewCheckPrize *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_191(void *);
- void `global constructor keyed to'Packets::LBLNewCheckPrizeHandler::Execute(); // idb
- UINT __cdecl Packets::LBLNewPrizeHandler::Execute(Packets::LBLNewPrize *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_192(void *);
- void `global constructor keyed to'Packets::LBLNewPrizeHandler::Execute(); // idb
- UINT __cdecl Packets::LBPrizeHandler::Execute(Packets::LBPrize *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_193(void *);
- void `global constructor keyed to'Packets::LBPrizeHandler::Execute(); // idb
- UINT __cdecl Packets::LWRetPrizeHandler::Execute(Packets::LWRetPrize *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_194(void *);
- void `global constructor keyed to'Packets::LWRetPrizeHandler::Execute(); // idb
- UINT __cdecl Packets::WLAskPrizeHandler::Execute(Packets::WLAskPrize *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_195(void *);
- void `global constructor keyed to'Packets::WLAskPrizeHandler::Execute(); // idb
- UINT __cdecl Packets::GWLWGCostLogHandler::Execute(Packets::GWLWGCostLog *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_196(void *);
- void `global constructor keyed to'Packets::GWLWGCostLogHandler::Execute(); // idb
- UINT __cdecl Packets::LBLCostLogHandler::Execute(Packets::LBLCostLog *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_197(void *);
- void `global constructor keyed to'Packets::LBLCostLogHandler::Execute(); // idb
- UINT __cdecl Packets::LBLAskMigHandler::Execute(Packets::LBLAskMig *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_198(void *);
- void `global constructor keyed to'Packets::LBLAskMigHandler::Execute(); // idb
- UINT __cdecl Packets::LWChangeNameHandler::Execute(Packets::LWChangeName *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_199(void *);
- void `global constructor keyed to'Packets::LWChangeNameHandler::Execute(); // idb
- UINT __cdecl Packets::WLChangeNameHandler::Execute(Packets::WLChangeName *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_200(void *);
- void `global constructor keyed to'Packets::WLChangeNameHandler::Execute(); // idb
- UINT __cdecl Packets::CLRegNewLicenseHandler::Execute(Packets::CLRegNewLicense *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_201(void *);
- void `global constructor keyed to'Packets::CLRegNewLicenseHandler::Execute(); // idb
- UINT __cdecl Packets::LBAskRegLicenseHandler::Execute(Packets::LBAskRegLicense *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_202(void *);
- void `global constructor keyed to'Packets::LBAskRegLicenseHandler::Execute(); // idb
- UINT __cdecl Packets::LBLRegNewLicenseHandler::Execute(Packets::LBLRegNewLicense *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_203(void *);
- void `global constructor keyed to'Packets::LBLRegNewLicenseHandler::Execute(); // idb
- UINT __cdecl Packets::CLRegSafeSignHandler::Execute(Packets::CLRegSafeSign *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_204(void *);
- void `global constructor keyed to'Packets::CLRegSafeSignHandler::Execute(); // idb
- UINT __cdecl Packets::LBLOperateAccHandler::Execute(Packets::LBLOperateAcc *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_205(void *);
- void `global constructor keyed to'Packets::LBLOperateAccHandler::Execute(); // idb
- UINT __cdecl Packets::LWOperateAccResultHandler::Execute(Packets::LWOperateAccResult *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_206(void *);
- void `global constructor keyed to'Packets::LWOperateAccResultHandler::Execute(); // idb
- UINT __cdecl Packets::WLOperateAccHandler::Execute(Packets::WLOperateAcc *pPacket, Player *pPlayer);
- void __cdecl _tcf_0_207(void *);
- void `global constructor keyed to'Packets::WLOperateAccHandler::Execute(); // idb
- void __cdecl CharConfig::~CharConfig(CharConfig *const this);
- void __cdecl CharConfig::~CharConfig(CharConfig *const this);
- CFG_CHOOSE_SCENE *__cdecl DBChooseSceneTable::GetSceneInfo(CHAR_TYPE ctype, CHAR_TYPE ctypea);
- BOOL __cdecl CharConfig::GetCharChooseScene(DB_CHOOSE_SCENE *pInfo, CHAR_TYPE ctype);
- void __cdecl DBChooseSceneTable::DBChooseSceneTable(DBChooseSceneTable *const this);
- void __cdecl DBChooseSceneTable::DBChooseSceneTable(DBChooseSceneTable *const this);
- BOOL __cdecl DBChooseSceneTable::GetPosBySceneID(DBChooseSceneTable *const this, SceneID_t sid, CHAR_TYPE ctype, WORLD_POS *const pos);
- BOOL __cdecl DBChooseSceneTable::isValidSceneID(DBChooseSceneTable *const this, SceneID_t sid, CHAR_TYPE ctype);
- BOOL __cdecl CharConfig::InitCharAttr(FULLUSERDATA *pData);
- void __cdecl CharConfig::CharConfig(CharConfig *const this);
- void __cdecl CharConfig::CharConfig(CharConfig *const this);
- void __cdecl _tcf_0_208(void *);
- void __cdecl _tcf_1_4(void *);
- void `global constructor keyed to'CharConfig::pUserData(); // idb
- void __cdecl DBLogicManager::DBLogicManager(DBLogicManager *const this);
- void __cdecl DBLogicManager::DBLogicManager(DBLogicManager *const this);
- void __cdecl DBLogicManager::~DBLogicManager(DBLogicManager *const this);
- void __noreturn sub_80A4CC1();
- // void __usercall __noreturn sub_80A4CF1(pthread_mutex_t *a1@<eax>, int a2@<ebp>);
- void __noreturn sub_80A4D08();
- void __cdecl DBLogicManager::~DBLogicManager(DBLogicManager *const this);
- void __noreturn sub_80A4DE9();
- // void __usercall __noreturn sub_80A4E19(pthread_mutex_t *a1@<eax>, int a2@<ebp>);
- void __noreturn sub_80A4E30();
- BOOL __cdecl DBLogicManager::RecvPacket(DBLogicManager *const this, Packet **const pPacket, PlayerID_t *const PlayerID, UINT *const Flag);
- BOOL __cdecl DBLogicManager::MovePacket(DBLogicManager *const this, PlayerID_t PlayerID);
- BOOL __cdecl DBLogicManager::ProcessCacheCommands(DBLogicManager *const this);
- BOOL __cdecl DBLogicManager::HeartBeat(DBLogicManager *const this, UINT uTime);
- BOOL __cdecl DBLogicManager::SendPacket(DBLogicManager *const this, Packet *pPacket, PlayerID_t PlayerID, UINT Flag);
- void __cdecl _tcf_0_209(void *);
- void __cdecl _tcf_1_5(void *);
- void `global constructor keyed to'g_DBLogicManager(); // idb
- int __cdecl DBThread::IsConnected(int a2);
- void __cdecl DBThread::DBThread(DBThread *const this);
- void __cdecl DBThread::DBThread(DBThread *const this);
- void __cdecl DBThread::~DBThread(DBThread *const this);
- void __cdecl DBThread::~DBThread(DBThread *const this);
- void __cdecl DBThread::~DBThread(DBThread *const this);
- int __cdecl DBThread::Init(DBThread *const this);
- ODBCInterface *__cdecl DBThread::GetInterface(int a2);
- int __cdecl DBThread::RecvPacket(DBThread *const this, Packet **const pPacket, PlayerID_t *const PlayerID);
- int __cdecl DBThread::ProcessCacheCommand(DBThread *const this);
- void __cdecl DBThread::run(DBThread *const this);
- int __cdecl DBThread::SendPacket(DBThread *const this, Packet *pPacket, PlayerID_t pID);
- void __cdecl _tcf_0_210(void *);
- void `global constructor keyed to'DBThread::DBThread(); // idb
- void __cdecl DBThread::stop(int a2);
- void __cdecl DBThreadManager::DBThreadManager(DBThreadManager *const this);
- void __cdecl DBThreadManager::DBThreadManager(DBThreadManager *const this);
- void __cdecl DBThreadManager::~DBThreadManager(DBThreadManager *const this);
- void __cdecl DBThreadManager::~DBThreadManager(DBThreadManager *const this);
- BOOL __cdecl DBThreadManager::Init(DBThreadManager *const this);
- BOOL __cdecl DBThreadManager::Start(DBThreadManager *const this);
- BOOL __cdecl DBThreadManager::Stop(DBThreadManager *const this);
- BOOL __cdecl DBThreadManager::IsPoolTID(DBThreadManager *const this, TID tid);
- BOOL __cdecl DBThreadManager::SendPacket(DBThreadManager *const this, Packet *pPacket, PlayerID_t pID);
- ODBCInterface *__cdecl DBThreadManager::GetInterface(DBThreadManager *const this, TID tid);
- BOOL __cdecl DBThreadManager::CheckWorldIDZoneID(DBThreadManager *const this, ID_t nConfigWorldID, ID_t nConfigZoneID);
- void __cdecl _tcf_0_211(void *);
- void `global constructor keyed to'g_pDBThreadManager(); // idb
- int __cdecl LoginDBManager::Init(LoginDBManager *const this);
- void __cdecl LoginDBManager::run(LoginDBManager *const this);
- void __cdecl _tcf_0_212(void *);
- void `global constructor keyed to'g_pDBManager(); // idb
- void __cdecl LoginDBManager::~LoginDBManager(DBManager *a2);
- void __cdecl LoginDBManager::~LoginDBManager(DBManager *a2);
- void __cdecl ProcessManager::ProcessManager(ProcessManager *const this);
- void __cdecl ProcessManager::ProcessManager(ProcessManager *const this);
- void __cdecl ProcessManager::~ProcessManager(ProcessManager *const this);
- // void __usercall __noreturn sub_80A6B72(int a1@<esi>);
- void __cdecl ProcessManager::~ProcessManager(ProcessManager *const this);
- // void __usercall __noreturn sub_80A6CA2(int a1@<esi>);
- void __cdecl ProcessManager::~ProcessManager(ProcessManager *const this);
- // void __usercall __noreturn sub_80A6DE5(int a1@<esi>);
- BOOL __cdecl ProcessManager::Init(int a2);
- void __cdecl ProcessManager::Quit(ProcessManager *const this);
- BOOL __cdecl ProcessManager::RecvPacket(ProcessManager *const this, Packet **const pPacket, PlayerID_t *const PlayerID, UINT *const Flag);
- BOOL __cdecl ProcessManager::MovePacket(ProcessManager *const this, PlayerID_t PlayerID);
- BOOL __cdecl ProcessManager::ProcessCacheCommands(ProcessManager *const this);
- BOOL __cdecl ProcessManager::ResizeCache(ProcessManager *const this);
- BOOL __cdecl ProcessManager::SendPacket(ProcessManager *const this, Packet *pPacket, PlayerID_t PlayerID, UINT Flag);
- BOOL __cdecl ProcessManager::MoveQueuePlayer(ProcessManager *const this);
- BOOL __cdecl ProcessManager::ResetQueuePos(ProcessManager *const this);
- BOOL __cdecl ProcessManager::DoTick(ProcessManager *const this, UINT uTime);
- void __cdecl ProcessManager::run(ProcessManager *const this);
- void __cdecl _tcf_0_213(void *);
- void `global constructor keyed to'g_pProcessManager(); // idb
- void __cdecl ProcessManager::stop(int a2);
- void __cdecl ProcessPlayerManager::ProcessPlayerManager(ProcessPlayerManager *const this);
- void __cdecl ProcessPlayerManager::ProcessPlayerManager(ProcessPlayerManager *const this);
- void __cdecl ProcessPlayerManager::~ProcessPlayerManager(ProcessPlayerManager *const this);
- void __cdecl ProcessPlayerManager::~ProcessPlayerManager(ProcessPlayerManager *const this);
- BOOL __cdecl ProcessPlayerManager::Select(ProcessPlayerManager *const this);
- BOOL __cdecl ProcessPlayerManager::DelPlayerSocket(ProcessPlayerManager *const this, SOCKET fd);
- BOOL __cdecl ProcessPlayerManager::AddPlayerSocket(ProcessPlayerManager *const this, SOCKET fd);
- Player *__cdecl ProcessPlayerManager::FindAccName(ProcessPlayerManager *const this, const CHAR *szAccount);
- BOOL __cdecl ProcessPlayerManager::AddPlayer(ProcessPlayerManager *const this, Player *pPlayer);
- BOOL __cdecl ProcessPlayerManager::DelPlayer(ProcessPlayerManager *const this, PlayerID_t pid);
- BOOL __cdecl ProcessPlayerManager::RemovePlayer(ProcessPlayerManager *const this, Player *pPlayer);
- BOOL __cdecl ProcessPlayerManager::ProcessCommands(ProcessPlayerManager *const this);
- BOOL __cdecl ProcessPlayerManager::ProcessExceptions(ProcessPlayerManager *const this);
- BOOL __cdecl ProcessPlayerManager::ProcessOutputs(ProcessPlayerManager *const this);
- BOOL __cdecl ProcessPlayerManager::ProcessInputs(ProcessPlayerManager *const this);
- BOOL __cdecl ProcessPlayerManager::HeartBeat(ProcessPlayerManager *const this, UINT uTime);
- void __cdecl ProcessPlayerManager::RemoveAllPlayer(ProcessPlayerManager *const this);
- void __cdecl _tcf_0_214(void *);
- void `global constructor keyed to'g_pProcessPlayerManager(); // idb
- const char *__cdecl DBC::DBCFile::_GetLineFromMemory(char *pStringBuf, int nBufSize, const char *pMemory, const char *pDeadEnd);
- const DBC::DBCFile::FIELD *__cdecl DBC::DBCFile::Search_First_Column_Equ(const DBC::DBCFile *const this, int nColumnNum, const DBC::DBCFile::FIELD *const value);
- const DBC::DBCFile::FIELD *__cdecl DBC::DBCFile::Search_Posistion(const DBC::DBCFile *const this, int nRecordLine, int nColumNum);
- const DBC::DBCFile::FIELD *__cdecl DBC::DBCFile::Search_Index_EQU(const DBC::DBCFile *const this, int iIndex);
- void __cdecl DBC::DBCFile::~DBCFile(DBC::DBCFile *const this);
- void __cdecl DBC::DBCFile::~DBCFile(DBC::DBCFile *const this);
- void __cdecl DBC::DBCFile::~DBCFile(DBC::DBCFile *const this);
- void __cdecl DBC::DBCFile::CreateIndex(DBC::DBCFile *const this, int nColum, const char *szFileName);
- int __cdecl DBC::DBCFile::_ConvertStringToVector(const char *strStringSource, std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > *const vRet, const char *szKey, bool bOneOfKey, bool bIgnoreEmpty);
- bool __cdecl DBC::DBCFile::OpenFromMemoryImpl_Text(DBC::DBCFile *const this, const char *pMemory, const char *pDeadEnd, const char *szFileName, int nColumToRead);
- // void __usercall sub_80AA8F4(int a1@<eax>, int a2@<ebx>, int a3@<ebp>);
- bool __cdecl DBC::DBCFile::OpenFromMemoryImpl_Binary(DBC::DBCFile *const this, const char *pMemory, const char *pDeadEnd, const char *szFileName, int nColumToRead);
- bool __cdecl DBC::DBCFile::OpenFromMemory(DBC::DBCFile *const this, const char *pMemory, const char *pDeadEnd, const char *szFileName, int nColumToRead);
- bool __cdecl DBC::DBCFile::OpenFromTXT(DBC::DBCFile *const this, const char *szFileName, int nColumToRead);
- void __cdecl DBC::DBCFile::DBCFile(DBC::DBCFile *const this, unsigned int id, bool needDecrypt, const char *encryptKey);
- void __cdecl DBC::DBCFile::DBCFile(DBC::DBCFile *const this, unsigned int id, bool needDecrypt, const char *encryptKey);
- void __cdecl _tcf_0_215(void *);
- void `global constructor keyed to'DBC::DBCFile::s_funcIsEncryptMemory(); // idb
- BOOL __cdecl DBC::DBCFile::_FieldEqu<(DBC::DBCFile::FIELD_TYPE)0>(const DBC::DBCFile::FIELD *const a, const DBC::DBCFile::FIELD *const b);
- BOOL __cdecl DBC::DBCFile::_FieldEqu<(DBC::DBCFile::FIELD_TYPE)1>(const DBC::DBCFile::FIELD *const a, const DBC::DBCFile::FIELD *const b);
- BOOL __cdecl DBC::DBCFile::_FieldEqu<(DBC::DBCFile::FIELD_TYPE)2>(const DBC::DBCFile::FIELD *const a, const DBC::DBCFile::FIELD *const b);
- const unsigned int *__cdecl std::lower_bound<unsigned long const*,unsigned long>(const unsigned int *__first, const unsigned int *__last, const unsigned int *const __val);
- void __cdecl __gnu_cxx::hashtable<std::pair<int const,DBC::DBCFile::FIELD *>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<int const,DBC::DBCFile::FIELD *>>,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD *>>::clear(__gnu_cxx::hashtable<std::pair<const int,DBC::DBCFile::FIELD*>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<const int,DBC::DBCFile::FIELD*> >,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> > *const this);
- void __cdecl std::fill<__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE *,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>>,DBC::DBCFile::FIELD_TYPE>(__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > __first, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > __last, const DBC::DBCFile::FIELD_TYPE *const __value);
- void __cdecl std::fill<__gnu_cxx::__normal_iterator<char *,std::vector<char,std::allocator<char>>>,char>(__gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > __first, __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > __last, const char *const __value);
- void __cdecl std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::_M_erase(std::_Rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::_Select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > *const this, std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *__x);
- void __cdecl std::fill<__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD *,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>>,DBC::DBCFile::FIELD>(__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > __first, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > __last, const DBC::DBCFile::FIELD *const __value);
- void __cdecl std::fill<__gnu_cxx::__normal_iterator<unsigned int *,std::vector<unsigned int,std::allocator<unsigned int>>>,unsigned int>(__gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > __first, __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > __last, const unsigned int *const __value);
- DBC::DBCFile::FIELD_TYPE *__cdecl std::__uninitialized_fill_n_aux<DBC::DBCFile::FIELD_TYPE *,unsigned int,DBC::DBCFile::FIELD_TYPE>(DBC::DBCFile::FIELD_TYPE *__first, unsigned int __n, const DBC::DBCFile::FIELD_TYPE *const __x, __false_type);
- // __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > *__userpurge std::__uninitialized_fill_n_aux<__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE *,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>>,unsigned int,DBC::DBCFile::FIELD_TYPE>@<eax>(__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > *retstr, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > __first, unsigned int __n, const DBC::DBCFile::FIELD_TYPE *const __x, __false_type a5);
- DBC::DBCFile::FIELD *__cdecl std::__uninitialized_fill_n_aux<DBC::DBCFile::FIELD *,unsigned int,DBC::DBCFile::FIELD>(DBC::DBCFile::FIELD *__first, unsigned int __n, const DBC::DBCFile::FIELD *const __x, __false_type);
- // __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > *__userpurge std::__uninitialized_fill_n_aux<__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD *,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>>,unsigned int,DBC::DBCFile::FIELD>@<eax>(__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > *retstr, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > __first, unsigned int __n, const DBC::DBCFile::FIELD *const __x, __false_type a5);
- // __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > *__userpurge std::fill_n<__gnu_cxx::__normal_iterator<char *,std::vector<char,std::allocator<char>>>,unsigned int,char>@<eax>(__gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > *retstr, __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > __first, unsigned int __n, const char *const __value);
- // std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *__userpurge std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::find@<eax>(std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *retstr, std::_Rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::_Select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > *const this, const string *const __k);
- // std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *__userpurge std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::_M_insert@<eax>(std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *retstr, std::_Rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::_Select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > *const this, std::_Rb_tree_node_base *__x, std::_Rb_tree_node_base *__p, const std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *const __v);
- // std::pair<std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,bool> *__userpurge std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::insert_unique@<eax>(std::pair<std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,bool> *retstr, std::_Rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::_Select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > *const this, const std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *const __v);
- std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > *__cdecl std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>::operator=(std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > *const this, const std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > *const __x);
- // std::pair<__gnu_cxx::_Hashtable_iterator<std::pair<const int,DBC::DBCFile::FIELD*>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<const int,DBC::DBCFile::FIELD*> >,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> >,bool> *__userpurge __gnu_cxx::hashtable<std::pair<int const,DBC::DBCFile::FIELD *>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<int const,DBC::DBCFile::FIELD *>>,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD *>>::insert_unique_noresize@<eax>(std::pair<__gnu_cxx::_Hashtable_iterator<std::pair<const int,DBC::DBCFile::FIELD*>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<const int,DBC::DBCFile::FIELD*> >,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> >,bool> *retstr, __gnu_cxx::hashtable<std::pair<const int,DBC::DBCFile::FIELD*>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<const int,DBC::DBCFile::FIELD*> >,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> > *const this, const std::pair<const int,DBC::DBCFile::FIELD*> *const __obj);
- // __gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > *__userpurge std::vector<std::string,std::allocator<std::string>>::erase@<eax>(__gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > *retstr, std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > *const this, __gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > __first, __gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > __last);
- void __cdecl std::fill<__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> **,std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>>,__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>(__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > > __first, __gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > > __last, __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *const *const __value);
- unsigned int *__cdecl std::fill_n<unsigned int *,unsigned int,unsigned int>(unsigned int *__first, unsigned int __n, const unsigned int *const __value);
- // __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > *__userpurge std::fill_n<__gnu_cxx::__normal_iterator<unsigned int *,std::vector<unsigned int,std::allocator<unsigned int>>>,unsigned int,unsigned int>@<eax>(__gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > *retstr, __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > __first, unsigned int __n, const unsigned int *const __value);
- // __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > *__userpurge std::vector<char,std::allocator<char>>::erase@<eax>(__gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > *retstr, std::vector<char,std::allocator<char> > *const this, __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > __first, __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > __last);
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **__cdecl std::fill_n<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> **,unsigned int,__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>(__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **__first, unsigned int __n, __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *const *const __value);
- void __cdecl __gnu_cxx::hashtable<std::pair<int const,DBC::DBCFile::FIELD *>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<int const,DBC::DBCFile::FIELD *>>,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD *>>::resize(__gnu_cxx::hashtable<std::pair<const int,DBC::DBCFile::FIELD*>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<const int,DBC::DBCFile::FIELD*> >,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> > *const this, size_t __num_elements_hint);
- void __cdecl std::vector<std::string,std::allocator<std::string>>::_M_insert_aux(std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > *const this, __gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > __position, const string *const __x);
- // __gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > > *__userpurge std::fill_n<__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> **,std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>>,unsigned int,__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>@<eax>(__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > > *retstr, __gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > > __first, unsigned int __n, __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *const *const __value);
- // __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > *__userpurge std::vector<unsigned int,std::allocator<unsigned int>>::erase@<eax>(__gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > *retstr, std::vector<unsigned int,std::allocator<unsigned int> > *const this, __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > __first, __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > __last);
- // __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > *__userpurge std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>::erase@<eax>(__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > *retstr, std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > *const this, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > __first, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > __last);
- // __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > *__userpurge std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>::erase@<eax>(__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > *retstr, std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > *const this, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > __first, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > __last);
- void __cdecl std::vector<char,std::allocator<char>>::_M_fill_insert(std::vector<char,std::allocator<char> > *const this, __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > __position, size_t __n, const char *const __x);
- void __cdecl std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>::_M_insert_aux(std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > *const this, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > __position, const DBC::DBCFile::FIELD *const __x);
- void __cdecl std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>::_M_fill_insert(std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > *const this, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > __position, size_t __n, const DBC::DBCFile::FIELD *const __x);
- void __cdecl std::vector<std::pair<std::string,int>,std::allocator<std::pair<std::string,int>>>::_M_insert_aux(std::vector<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > *const this, __gnu_cxx::__normal_iterator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>*,std::vector<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > > __position, const std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *const __x);
- void __cdecl std::vector<unsigned int,std::allocator<unsigned int>>::_M_fill_insert(std::vector<unsigned int,std::allocator<unsigned int> > *const this, __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > __position, size_t __n, const unsigned int *const __x);
- void __cdecl std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>::_M_fill_insert(std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > *const this, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > __position, size_t __n, const DBC::DBCFile::FIELD_TYPE *const __x);
- void __cdecl std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>::reserve(std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > *const this, size_t __n);
- void __cdecl std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>::_M_fill_insert(std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > *const this, __gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > > __position, size_t __n, __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *const *const __x);
- void __cdecl BillPacket::BillPacket(_DWORD *a2);
- void __cdecl BillPacket::BillPacket(_DWORD *a2);
- void __cdecl BillPacket::~BillPacket(_DWORD *a2);
- void __cdecl BillPacket::~BillPacket(_DWORD *a2);
- void __cdecl BillPacket::~BillPacket(IPRegionTable *const a2);
- void __cdecl _tcf_0_216(void *);
- void `global constructor keyed to'BillPacket::BillPacket(); // idb
- void __cdecl BillPacketFactoryManager::BillPacketFactoryManager(BillPacketFactoryManager *const this, USHORT nPacketCounts);
- void __cdecl BillPacketFactoryManager::BillPacketFactoryManager(BillPacketFactoryManager *const this, USHORT nPacketCounts);
- void __cdecl BillPacketFactoryManager::~BillPacketFactoryManager(BillPacketFactoryManager *const this);
- void __cdecl BillPacketFactoryManager::~BillPacketFactoryManager(BillPacketFactoryManager *const this);
- void __cdecl BillPacketFactoryManager::~BillPacketFactoryManager(BillPacketFactoryManager *const this);
- void __cdecl BillPacketFactoryManager::AddFactory(BillPacketFactoryManager *const this, BillPacketFactory *pFactory);
- BillPacket *__cdecl BillPacketFactoryManager::CreatePacket(BillPacketFactoryManager *const this, BPacketID_t packetID);
- UINT __cdecl BillPacketFactoryManager::GetPacketMaxSize(BillPacketFactoryManager *const this, BPacketID_t packetID);
- void __cdecl BillPacketFactoryManager::RemovePacket(BillPacketFactoryManager *const this, BillPacket *pPacket);
- void __cdecl _tcf_0_217(void *);
- void `global constructor keyed to'BillPacketFactoryManager::BillPacketFactoryManager(); // idb
- void __cdecl SocketBillingInputStream::SocketBillingInputStream(Socket *sock, UINT BufferLen, UINT MaxBufferLen, UINT MaxBufferLena);
- void __cdecl SocketBillingInputStream::SocketBillingInputStream(Socket *sock, UINT BufferLen, UINT MaxBufferLen, UINT MaxBufferLena);
- BOOL __cdecl SocketBillingInputStream::ReadPacket(SocketBillingInputStream *const this, BillPacket *pPacket);
- void __cdecl _tcf_0_218(void *);
- void `global constructor keyed to'SocketBillingInputStream::SocketBillingInputStream(); // idb
- void __cdecl SocketBillingInputStream::~SocketBillingInputStream(SocketInputStream *a2);
- void __cdecl SocketBillingInputStream::~SocketBillingInputStream(SocketInputStream *a2);
- void __cdecl SocketBillingOutputStream::SocketBillingOutputStream(Socket *sock, UINT BufferSize, UINT MaxBufferSize, UINT MaxBufferSizea);
- void __cdecl SocketBillingOutputStream::SocketBillingOutputStream(Socket *sock, UINT BufferSize, UINT MaxBufferSize, UINT MaxBufferSizea);
- BOOL __cdecl SocketBillingOutputStream::WritePacket(SocketOutputStream *a3, int a4);
- void __cdecl _tcf_0_219(void *);
- void `global constructor keyed to'SocketBillingOutputStream::SocketBillingOutputStream(); // idb
- void __cdecl SocketBillingOutputStream::~SocketBillingOutputStream(SocketOutputStream *a2);
- void __cdecl SocketBillingOutputStream::~SocketBillingOutputStream(SocketOutputStream *a2);
- void __cdecl Packet::Packet(int a2);
- void __cdecl Packet::Packet(int a2);
- void __cdecl Packet::~Packet(_DWORD *a2);
- void __cdecl Packet::~Packet(_DWORD *a2);
- void __cdecl Packet::~Packet(IPRegionTable *const a2);
- void __cdecl _tcf_0_220(void *);
- void `global constructor keyed to'Packet::Packet(); // idb
- void __cdecl PacketFactoryManager::PacketFactoryManager(PacketFactoryManager *const this, USHORT nPacketCounts, BOOL bAutoLock);
- void __cdecl PacketFactoryManager::PacketFactoryManager(PacketFactoryManager *const this, USHORT nPacketCounts, BOOL bAutoLock);
- void __cdecl PacketFactoryManager::~PacketFactoryManager(PacketFactoryManager *const this);
- // void __usercall sub_80ADEDF(pthread_mutex_t *a1@<eax>, int a2@<ebp>);
- void __cdecl PacketFactoryManager::~PacketFactoryManager(PacketFactoryManager *const this);
- // void __usercall sub_80ADFDF(pthread_mutex_t *a1@<eax>, int a2@<ebp>);
- void __cdecl PacketFactoryManager::~PacketFactoryManager(PacketFactoryManager *const this);
- // void __usercall sub_80AE0FF(pthread_mutex_t *a1@<eax>, int a2@<ebp>);
- void __cdecl PacketFactoryManager::AddFactory(PacketFactoryManager *const this, PacketFactory *pFactory);
- Packet *__cdecl PacketFactoryManager::CreatePacket(PacketFactoryManager *const this, PacketID_t packetID);
- // void __usercall sub_80AE274(pthread_mutex_t *a1@<eax>, int a2@<ebp>);
- UINT __cdecl PacketFactoryManager::GetPacketMaxSize(PacketFactoryManager *const this, PacketID_t packetID);
- void __cdecl PacketFactoryManager::RemovePacket(PacketFactoryManager *const this, Packet *pPacket);
- // void __usercall sub_80AE3F7(pthread_mutex_t *a1@<eax>, int a2@<ebp>);
- UINT __cdecl PacketFactoryManager::GetPacketAllocCount(const PacketFactoryManager *const this, PacketID_t packetID);
- void __cdecl _tcf_0_221(void *);
- void `global constructor keyed to'PacketFactoryManager::PacketFactoryManager(); // idb
- void __cdecl Player::Player(Player *const this, UINT inputBufSize, UINT inputBufMaxSize, UINT outBufSize, UINT outBufMaxSize);
- void __cdecl Player::Player(Player *const this, UINT inputBufSize, UINT inputBufMaxSize, UINT outBufSize, UINT outBufMaxSize);
- void __cdecl Player::~Player(Player *const this);
- void __cdecl Player::~Player(Player *const this);
- void __cdecl Player::~Player(Player *const this);
- BOOL __cdecl Player::ProcessInput(Player *const this, UINT *const socketRet);
- BOOL __cdecl Player::ProcessOutput(Player *const this, UINT *const socketRet);
- BOOL __cdecl Player::IsValid(const Player *const this);
- void __cdecl Player::Disconnect(Player *const this);
- BOOL __cdecl Player::ProcessCommand(Player *const this, PacketID_t nMaxPacketID, PacketFactoryManager *pPacketFactoryManager, INT maxPacketsCountsPertick, PACKET_FROM_WHERE fromWhere);
- void __cdecl _tcf_0_222(void *);
- void `global constructor keyed to'Player::Player(); // idb
- void __cdecl ServerSocket::ServerSocket(ServerSocket *const this, UINT port, UINT backlog);
- void __cdecl ServerSocket::ServerSocket(ServerSocket *const this, UINT port, UINT backlog);
- void __cdecl ServerSocket::~ServerSocket(ServerSocket *const this);
- void __cdecl ServerSocket::~ServerSocket(ServerSocket *const this);
- void __cdecl ServerSocket::close(ServerSocket *const this);
- BOOL __cdecl ServerSocket::accept(ServerSocket *const this, Socket *socket);
- void __cdecl _tcf_0_223(void *);
- void `global constructor keyed to'ServerSocket::ServerSocket(); // idb
- void __cdecl Socket::Socket(_DWORD *a2);
- void __cdecl Socket::Socket(_DWORD *a2);
- BOOL __cdecl Socket::isValid(int a2);
- BOOL __cdecl Socket::create(int a2);
- void __cdecl Socket::Socket(const CHAR *host, const char *hosta, int a5);
- void __cdecl Socket::Socket(const CHAR *host, const char *hosta, int a5);
- BOOL __cdecl Socket::connect(int a2);
- BOOL __cdecl Socket::connect(const CHAR *host, const char *hosta, int a5);
- UINT Socket::send(Socket *const this, const void *buf, UINT len, UINT flags); // idb
- UINT Socket::receive(Socket *const this, void *buf, UINT len, UINT flags); // idb
- UINT __cdecl Socket::available(int a2);
- int __cdecl Socket::getLinger(int a2);
- SOCKET Socket::accept(Socket *const this, sockaddr *addr, UINT *addrlen); // idb
- BOOL __cdecl Socket::setLinger(int a3, int a4);
- BOOL __cdecl Socket::isNonBlocking(int a2);
- BOOL __cdecl Socket::setNonBlocking(BOOL on, BOOL ona);
- UINT __cdecl Socket::getReceiveBufferSize(int a2);
- BOOL __cdecl Socket::setReceiveBufferSize(UINT size);
- UINT __cdecl Socket::getSendBufferSize(int a2);
- BOOL __cdecl Socket::setSendBufferSize(UINT size);
- UINT __cdecl Socket::getPort(int a2);
- UINT __cdecl Socket::getHostIP(int a2);
- SOCKET __cdecl Socket::getSOCKET(int a2);
- BOOL __cdecl Socket::isSockError(int a2);
- UINT __cdecl Socket::getSockError(const Socket *const this);
- void __cdecl Socket::close(Socket *const this);
- BOOL __cdecl Socket::reconnect(Socket *a4, char *src, UINT a6);
- void __cdecl Socket::~Socket(Socket *a2);
- void __cdecl Socket::~Socket(Socket *a2);
- void __cdecl Socket::~Socket(Socket *a2);
- BOOL __cdecl Socket::bind(int a2);
- BOOL __cdecl Socket::bind(int a3, int a4);
- BOOL __cdecl Socket::listen(INT backlog, UINT backloga);
- BOOL __cdecl Socket::isReuseAddr(int a2);
- BOOL __cdecl Socket::setReuseAddr(BOOL on, BOOL ona);
- void __cdecl _tcf_0_224(void *);
- void `global constructor keyed to'Socket::Socket(); // idb
- SOCKET __cdecl SocketAPI::socket_ex(INT domain, INT type, INT protocol);
- BOOL __cdecl SocketAPI::bind_ex(SOCKET s, const sockaddr *addr, UINT addrlen);
- BOOL __cdecl SocketAPI::connect_ex(SOCKET s, const sockaddr *addr, UINT addrlen);
- BOOL __cdecl SocketAPI::listen_ex(SOCKET s, UINT backlog);
- SOCKET __cdecl SocketAPI::accept_ex(SOCKET s, sockaddr *addr, UINT *addrlen);
- BOOL __cdecl SocketAPI::getsockopt_ex(SOCKET s, INT level, INT optname, void *optval, UINT *optlen);
- UINT __cdecl SocketAPI::getsockopt_ex2(SOCKET s, INT level, INT optname, void *optval, UINT *optlen);
- BOOL __cdecl SocketAPI::setsockopt_ex(SOCKET s, INT level, INT optname, const void *optval, UINT optlen);
- UINT __cdecl SocketAPI::send_ex(SOCKET s, const void *buf, UINT len, UINT flags);
- UINT __cdecl SocketAPI::sendto_ex(SOCKET s, const void *buf, INT len, UINT flags, const sockaddr *to, INT tolen);
- UINT __cdecl SocketAPI::recv_ex(SOCKET s, void *buf, UINT len, UINT flags);
- UINT __cdecl SocketAPI::recvfrom_ex(SOCKET s, void *buf, INT len, UINT flags, sockaddr *from, UINT *fromlen);
- BOOL __cdecl SocketAPI::closesocket_ex(SOCKET s);
- BOOL __cdecl SocketAPI::ioctlsocket_ex(SOCKET s, LONG cmd, ULONG *argp);
- BOOL __cdecl SocketAPI::getsocketnonblocking_ex(SOCKET s);
- BOOL __cdecl SocketAPI::setsocketnonblocking_ex(SOCKET s, BOOL on);
- UINT __cdecl SocketAPI::availablesocket_ex(SOCKET s);
- BOOL __cdecl SocketAPI::shutdown_ex(SOCKET s, UINT how);
- INT __cdecl SocketAPI::select_ex(INT maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, timeval *timeout);
- void __cdecl _tcf_0_225(void *);
- void `global constructor keyed to'gSocketError(); // idb
- UINT __cdecl SocketInputStream::Length(const SocketInputStream *const this);
- void SocketInputStream::SocketInputStream(SocketInputStream *const this, Socket *sock, UINT BufferLen, UINT MaxBufferLen); // idb
- void SocketInputStream::SocketInputStream(SocketInputStream *const this, Socket *sock, UINT BufferLen, UINT MaxBufferLen); // idb
- void __cdecl SocketInputStream::~SocketInputStream(SocketInputStream *const this);
- void __cdecl SocketInputStream::~SocketInputStream(SocketInputStream *const this);
- void __cdecl SocketInputStream::~SocketInputStream(SocketInputStream *const this);
- UINT __cdecl SocketInputStream::Read(SocketInputStream *const this, CHAR *buf, UINT len);
- BOOL __cdecl SocketInputStream::Peek(SocketInputStream *const this, CHAR *buf, UINT len);
- BOOL __cdecl SocketInputStream::Skip(SocketInputStream *const this, UINT len);
- BOOL __cdecl SocketInputStream::ReadPacket(SocketInputStream *const this, Packet *pPacket);
- void __cdecl SocketInputStream::Initsize(SocketInputStream *const this, UINT BufferSize);
- BOOL __cdecl SocketInputStream::Resize(SocketInputStream *const this, INT size);
- UINT __cdecl SocketInputStream::Fill(SocketInputStream *const this);
- void __cdecl SocketInputStream::CleanUp(int a2);
- UINT __cdecl SocketInputStream::Write(SocketInputStream *const this, const CHAR *buf, UINT len);
- void __cdecl _tcf_0_226(void *);
- void `global constructor keyed to'SocketInputStream::SocketInputStream(); // idb
- UINT __cdecl SocketOutputStream::Length(const SocketOutputStream *const this);
- void SocketOutputStream::SocketOutputStream(SocketOutputStream *const this, Socket *sock, UINT BufferLen, UINT MaxBufferLen); // idb
- void SocketOutputStream::SocketOutputStream(SocketOutputStream *const this, Socket *sock, UINT BufferLen, UINT MaxBufferLen); // idb
- void __cdecl SocketOutputStream::~SocketOutputStream(SocketOutputStream *const this);
- void __cdecl SocketOutputStream::~SocketOutputStream(SocketOutputStream *const this);
- void __cdecl SocketOutputStream::~SocketOutputStream(SocketOutputStream *const this);
- BOOL __cdecl SocketOutputStream::Resize(SocketOutputStream *const this, INT size);
- UINT __cdecl SocketOutputStream::Write(SocketOutputStream *const this, const CHAR *buf, UINT len);
- BOOL __cdecl SocketOutputStream::WritePacket(SocketOutputStream *a3, unsigned __int8 *a4);
- void __cdecl SocketOutputStream::Initsize(SocketOutputStream *const this, UINT BufferLen);
- UINT __cdecl SocketOutputStream::Flush(SocketOutputStream *const this);
- void __cdecl SocketOutputStream::CleanUp(int a2);
- void __cdecl _tcf_0_227(void *);
- void `global constructor keyed to'SocketOutputStream::SocketOutputStream(); // idb
- void __cdecl _tcf_0_228(void *);
- void __cdecl __show__(const CHAR *szTemp);
- void __cdecl __messagebox__(const CHAR *msg);
- void __cdecl __assert__(const CHAR *file, UINT line, const CHAR *func, const CHAR *expr);
- void __cdecl __assertex__(const CHAR *file, UINT line, const CHAR *func, const CHAR *expr, const CHAR *msg);
- void __cdecl __assertspecial__(const CHAR *file, UINT line, const CHAR *func, const CHAR *expr, const CHAR *msg);
- void __cdecl _tcf_1_6(void *);
- void `global constructor keyed to'g_Command_Assert(); // idb
- INT __cdecl FileAPI::open_ex(const CHAR *filename, INT flags);
- INT __cdecl FileAPI::open_ex(const CHAR *filename, INT flags, INT mode);
- UINT __cdecl FileAPI::read_ex(INT fd, void *buf, UINT len);
- UINT __cdecl FileAPI::write_ex(INT fd, const void *buf, UINT len);
- void __cdecl FileAPI::close_ex(INT fd);
- INT __cdecl FileAPI::fcntl_ex(INT fd, INT cmd);
- INT __cdecl FileAPI::fcntl_ex(INT fd, INT cmd, LONG arg);
- BOOL __cdecl FileAPI::getfilenonblocking_ex(INT fd);
- void __cdecl FileAPI::setfilenonblocking_ex(INT fd, BOOL on);
- void __cdecl FileAPI::ioctl_ex(INT fd, INT request, void *argp);
- void __cdecl FileAPI::setfilenonblocking_ex2(INT fd, BOOL on);
- UINT __cdecl FileAPI::availablefile_ex(INT fd);
- INT __cdecl FileAPI::dup_ex(INT fd);
- LONG __cdecl FileAPI::lseek_ex(INT fd, LONG offset, INT whence);
- LONG __cdecl FileAPI::tell_ex(INT fd);
- void __cdecl _tcf_0_229(void *);
- void `global constructor keyed to'FileAPI::open_ex(); // idb
- void __cdecl IniFile::IniFile(_DWORD *a2);
- void __cdecl IniFile::IniFile(_DWORD *a2);
- void __cdecl IniFile::~IniFile(IniFile *const this);
- void __cdecl IniFile::~IniFile(IniFile *const this);
- void __cdecl IniFile::~IniFile(IniFile *const this);
- void __cdecl IniFile::InitIndex(IniFile *const this);
- BOOL __cdecl IniFile::Open(IniFile *const this, const CHAR *filename, const CHAR *encryptKey);
- void __cdecl IniFile::IniFile(const CHAR *filename, const CHAR *filenamea);
- void __cdecl IniFile::IniFile(const CHAR *filename, const CHAR *filenamea);
- void __cdecl IniFile::Close(IniFile *const this);
- BOOL __cdecl IniFile::Save(IniFile *const this, CHAR *filename);
- CHAR *__cdecl IniFile::GetData(int a2);
- INT __cdecl IniFile::GetLines(IniFile *const this, INT cur);
- INT __cdecl IniFile::GetLines(IniFile *const this);
- INT __cdecl IniFile::GotoNextLine(IniFile *const this, INT p);
- BOOL __cdecl IniFile::ReadText(IniFile *const this, INT p, CHAR *pBuffer, INT nBufferSize);
- INT __cdecl IniFile::FindIndex(IniFile *const this, CHAR *string);
- BOOL __cdecl IniFile::ReadDataName(IniFile *const this, INT *const p, CHAR *szBuffer, INT nBufferSize);
- INT __cdecl IniFile::FindData(IniFile *const this, INT index, CHAR *string);
- BOOL __cdecl IniFile::AddIndex(IniFile *const this, CHAR *index);
- BOOL __cdecl IniFile::AddData(IniFile *const this, INT p, CHAR *name, CHAR *string);
- BOOL __cdecl IniFile::ModityData(IniFile *const this, INT p, CHAR *name, CHAR *string);
- INT __cdecl IniFile::GotoLastLine(IniFile *const this, CHAR *index);
- BOOL __cdecl IniFile::ReadText(IniFile *const this, CHAR *index, CHAR *name, CHAR *str, INT size);
- BOOL __cdecl IniFile::ReadText(IniFile *const this, CHAR *index, INT lines, CHAR *str, INT size);
- BOOL __cdecl IniFile::ReadInt(IniFile *const this, CHAR *index, CHAR *name, int *a5);
- BOOL __cdecl IniFile::ReadInt(IniFile *const this, CHAR *index, INT lines, int *a5);
- BOOL __cdecl IniFile::ReadFloat(IniFile *const this, CHAR *index, CHAR *name, float *a5);
- BOOL __cdecl IniFile::ReadFloat(IniFile *const this, CHAR *index, INT lines, float *a5);
- BOOL __cdecl IniFile::ReadCaption(IniFile *const this, CHAR *index, INT lines, CHAR *str, INT size);
- BOOL __cdecl IniFile::Write(IniFile *const this, CHAR *index, CHAR *name, CHAR *string);
- BOOL __cdecl IniFile::Write(IniFile *const this, CHAR *index, CHAR *name, INT num);
- INT __cdecl IniFile::GetContinueDataNum(IniFile *const this, CHAR *index);
- INT __cdecl IniFile::FindOneLine(IniFile *const this, INT p);
- BOOL __cdecl IniFile::ReadOneLine(IniFile *const this, INT p, CHAR *szBuffer, INT nBufferSize);
- INT __cdecl IniFile::ReturnLineNum(IniFile *const this, CHAR *string);
- void __cdecl _tcf_0_230(void *);
- void `global constructor keyed to'IniFile::IniFile(); // idb
- void __cdecl Thread::Thread(_DWORD *a2);
- void __cdecl Thread::Thread(_DWORD *a2);
- void __cdecl Thread::~Thread(_DWORD *a2);
- void __cdecl Thread::~Thread(_DWORD *a2);
- void __cdecl Thread::~Thread(IPRegionTable *const a2);
- void __cdecl Thread::start(Thread *const this);
- void __cdecl Thread::stop(Thread *const this);
- void __cdecl Thread::exit(Thread *const this, void *retval);
- void __cdecl _tcf_0_231(void *);
- void *__cdecl Thread::MyThreadProcess(void *derivedThread);
- void __cdecl Thread::run(Thread *const this);
- void __cdecl _tcf_1_7(void *);
- void `global constructor keyed to'Thread::s_CreateThreadCount(); // idb
- void __cdecl ThreadValueManager::ThreadValueManager(ThreadValueManager *const this);
- void __cdecl ThreadValueManager::ThreadValueManager(ThreadValueManager *const this);
- void __cdecl ThreadValueManager::~ThreadValueManager(ThreadValueManager *const this);
- void __cdecl ThreadValueManager::~ThreadValueManager(ThreadValueManager *const this);
- void __cdecl ThreadValueManager::AddThread(ThreadValueManager *const this, TID tid);
- void __cdecl ThreadValueManager::SetThreadValue(ThreadValueManager *const this, TID tid, INT nValue);
- INT __cdecl ThreadValueManager::GetThreadValue(ThreadValueManager *const this, TID tid);
- TID ThreadValueManager::GetCurrentTrueThreadID(); // idb
- void __cdecl _tcf_0_232(void *);
- ThreadValueManager *ThreadValueManager::getSingleton(); // idb
- int ThreadValueManager::GetCurrentThreadID();
- void __cdecl _tcf_1_8(void *);
- void `global constructor keyed to'ThreadValueManager::ThreadValueManager(); // idb
- void __cdecl TimeManager::TimeManager(int a2);
- void __cdecl TimeManager::TimeManager(int a2);
- void __cdecl TimeManager::~TimeManager(TimeManager *const this);
- void __cdecl TimeManager::~TimeManager(TimeManager *const this);
- UINT __cdecl TimeManager::CurrentTime(int a2);
- UINT __fastcall TimeManager::Time2Day(TimeManager *const this);
- void __cdecl TimeManager::SetTime(int a2);
- time_t __cdecl TimeManager::GetANSITime(int a2);
- int __cdecl TimeManager::Time2DWORD(_DWORD *a2);
- void __cdecl TimeManager::ConvertTU(TimeManager *const this, tm *TM, UINT *const Date);
- UINT __cdecl TimeManager::CurrentDate(TimeManager *a2);
- BOOL __cdecl TimeManager::Init(TimeManager *a2);
- void __cdecl TimeManager::DWORD2Time(TimeManager *const this, UINT Date, tm *TM);
- UINT __cdecl TimeManager::DiffDWORDTime(TimeManager *const this, UINT Date1, UINT Date2);
- INT __cdecl TimeManager::IsDiffDay(TimeManager *const this, time_t uPrevANSITime, time_t uNextANSITime);
- INT __cdecl TimeManager::DiffDayCount(TimeManager *const this, time_t uPrevANSITime, time_t uNextANSITime);
- void __cdecl TimeManager::ConvertUT(TimeManager *const this, UINT Date, tm *TM);
- UINT __cdecl TimeManager::DiffTime(TimeManager *const this, UINT Date1, UINT Date2);
- UINT __cdecl TimeManager::GetDayTime(TimeManager *const this);
- int __cdecl TimeManager::GetHourTime(int a2);
- UINT __cdecl TimeManager::GetQuarterTime(TimeManager *const this);
- UINT __cdecl TimeManager::GetWeekTime(TimeManager *const this);
- void __cdecl _tcf_0_233(void *);
- void `global constructor keyed to'g_pTimeManager(); // idb
- int __cdecl Cyclone::FileHead2CRC(const unsigned __int8 *szData, int nDataLen);
- encrypt_fret __cdecl Cyclone::IsEncrptMemory(const char *pIn, int nDataSize);
- bool __cdecl Cyclone::DecryptData(char *chMask, E_Encrypt_Type eType, const char *pInBuf, int nInSize, char *pOutBuf, int *const nOutSize);
- encrypt_fret __cdecl Cyclone::PlatformDecrypMemory(const char *szKey, const char *pIn, int nInSize, char *pOut, int *const nOutSize);
- encrypt_fret __cdecl Cyclone::PlatformDecryptFile(const char *szKey, const char *szSourceFileName, const char *szObjectFileName);
- bool __cdecl Cyclone::EncryptData(char *chMask, E_Encrypt_Type eType, const char *pInBuf, int nInSize, char *pOutBuf, int *const nOutSize);
- encrypt_fret __cdecl Cyclone::PlatformEncrptMemory(const char *szKey, const char *pIn, int nInSize, char *pOut, int *const nOutSize);
- encrypt_fret __cdecl Cyclone::PlatformEncrptFile(const char *szKey, const char *szSourceFileName, const char *szObjectFileName);
- aes_fret __cdecl aes_enc_blk(const unsigned __int8 *in_blk, unsigned __int8 *out_blk, const aes_ctx *cx_0);
- aes_fret __cdecl aes_dec_blk(const unsigned __int8 *in_blk, unsigned __int8 *out_blk, const aes_ctx *cx_0);
- aes_fret __cdecl aes_enc_key(const unsigned __int8 *in_key, unsigned int klen, aes_ctx *cx_0);
- aes_fret __cdecl aes_dec_key(const unsigned __int8 *in_key, unsigned int klen, aes_ctx *cx_0);
- void __cdecl CAPTCHA::FontFile::FontFile(CAPTCHA::FontFile *const this);
- void __cdecl CAPTCHA::FontFile::FontFile(CAPTCHA::FontFile *const this);
- void __cdecl CAPTCHA::FontFile::release(CAPTCHA::FontFile *const this);
- void __cdecl CAPTCHA::FontFile::~FontFile(CAPTCHA::FontFile *const this);
- void __cdecl CAPTCHA::FontFile::~FontFile(CAPTCHA::FontFile *const this);
- void __cdecl CAPTCHA::FontFile::createEmptyFile(CAPTCHA::FontFile *const this);
- unsigned __int16 __cdecl CAPTCHA::FontFile::getCodeFromIndex(const CAPTCHA::FontFile *const this, int index);
- void __cdecl CAPTCHA::FontFile::_increseGlyphBuf(CAPTCHA::FontFile *const this);
- void __cdecl CAPTCHA::FontFile::insertGlyph_rgb(CAPTCHA::FontFile *const this, unsigned __int16 code, const unsigned __int8 *pBitbuf, unsigned int lPitch);
- bool __cdecl CAPTCHA::FontFile::saveToFile(CAPTCHA::FontFile *const this, const char *szFileName);
- bool __cdecl CAPTCHA::FontFile::openFromFile(CAPTCHA::FontFile *const this, const char *szFileName);
- unsigned __int8 *__cdecl CAPTCHA::FontFile::getCodeGlyph(const CAPTCHA::FontFile *const this, unsigned __int16 code);
- void __cdecl CAPTCHA::Generator::Generator(_DWORD *a2);
- void __cdecl CAPTCHA::Generator::Generator(_DWORD *a2);
- void __cdecl CAPTCHA::Generator::~Generator(CAPTCHA::Generator *const this);
- void __cdecl CAPTCHA::Generator::~Generator(CAPTCHA::Generator *const this);
- signed int __cdecl CAPTCHA::Generator::setFontFile(const CAPTCHA::FontFile *pFontFile, const CAPTCHA::FontFile *pFontFilea);
- void __cdecl CAPTCHA::Generator::_adjustBlankInAnswer(CAPTCHA::Generator *const this, unsigned __int16 *answer);
- void __cdecl CAPTCHA::Generator::_setPixel(CAPTCHA::Generator *const this, int x, int y, bool is_dot, CAPTCHA::CAPTCHA_DATA *const captchaData);
- void __cdecl CAPTCHA::Generator::_generatorAnswer(CAPTCHA::Generator *const this, CAPTCHA::CAPTCHA_DATA *const captchaData, bool withBlank);
- bool __cdecl CAPTCHA::Generator::generatorImage(CAPTCHA::Generator *const this, CAPTCHA::CAPTCHA_DATA *const captchaData, bool addMask, bool addNoise, bool withBlank);
- void __cdecl CAPTCHA::Mask::generateRandomMask(unsigned __int8 *pBitBuf);
- void __cdecl Seraph::Encrypt_1_S(char *memory, int len);
- void __cdecl Seraph::Encrypt_2_S(char *memory, int len);
- void __cdecl Seraph::StringEncrypt::StringEncrypt(int a2);
- void __cdecl Seraph::StringEncrypt::StringEncrypt(int a2);
- void __cdecl Seraph::StringEncrypt::~StringEncrypt(_DWORD *a2);
- void __cdecl Seraph::StringEncrypt::~StringEncrypt(_DWORD *a2);
- void __cdecl Seraph::StringEncrypt::~StringEncrypt(IPRegionTable *const a2);
- void __cdecl Seraph::StringEncrypt::MakeKey(Seraph::StringEncrypt *const this, const char *key, const char *chain, int keylength, int blockSize);
- void __cdecl Seraph::StringEncrypt::DefDecryptBlock(Seraph::StringEncrypt *const this, const char *in, char *result);
- void __cdecl Seraph::StringEncrypt::DecryptBlock(Seraph::StringEncrypt *const this, const char *in, char *result);
- void __cdecl Seraph::Hex2Char(const char *szHex, unsigned __int8 *const rch);
- void __cdecl Seraph::HexStr2CharStr(const char *pszHexStr, unsigned __int8 *pucCharStr, int iSize);
- void __cdecl Seraph::string2pwd(const char *pIn, char *pOut);
- unsigned int __cdecl Seraph::CRC_Get(unsigned int nc, unsigned int ne, unsigned int nca, int a7, unsigned int nea);
- void __cdecl Seraph::doMotherCheck(unsigned int uRunTime, char *szCheckValue);
- void __fastcall _libc_csu_init(int a1, int a2);
- void _libc_csu_fini(void); // idb
- int __fastcall _do_global_ctors_aux(int a1, int a2);
- void term_proc();
- //-------------------------------------------------------------------------
- // Data declarations
- _UNKNOWN loc_804D2BD; // weak
- _UNKNOWN loc_804D40D; // weak
- _UNKNOWN loc_804D528; // weak
- _UNKNOWN loc_804D654; // weak
- _UNKNOWN loc_805246C; // weak
- _UNKNOWN loc_80526FC; // weak
- _UNKNOWN loc_80AA87B; // weak
- _UNKNOWN loc_80ADE81; // weak
- _UNKNOWN loc_80ADF81; // weak
- _UNKNOWN loc_80AE091; // weak
- _UNKNOWN loc_80AE251; // weak
- _UNKNOWN loc_80AE3BD; // weak
- _DWORD (__cdecl *off_80BAF90)(ConnectManager *this) = &ConnectManager::~ConnectManager; // weak
- _DWORD (__cdecl *off_80BAFC8[2])(ReLoginManager *this) = { &ReLoginManager::~ReLoginManager, &ReLoginManager::~ReLoginManager }; // weak
- _DWORD (__cdecl *off_80BB128[2])(IPRegionTable *this) = { &IPRegionTable::~IPRegionTable, &IPRegionTable::~IPRegionTable }; // weak
- TimeManager stru_80BBB20 =
- {
- 1952805421u,
- 1935767922u,
- 1953654131,
- {
- 671747328,
- 690168611,
- 1767992608,
- 774778478,
- 1735347200,
- 1394634345,
- 1953653108,
- 778530409,
- 673197614,
- 808529445,
- (const char *)0x25282964
- },
- 771762532,
- { 1767984431, 1867263854 },
- { 1299081575, 778987873 },
- { 7368803, 838873393 }
- }; // idb
- _DWORD (__cdecl *off_80BC420)(ServerManager *this) = &ServerManager::HeartBeat; // weak
- _DWORD (__cdecl *off_80BCFC0)(ServerThread *this) = &ServerThread::~ServerThread; // weak
- _DWORD (__cdecl *off_80BD1A8[2])(_BILLING_DATA *this) = { &_BILLING_DATA::~_BILLING_DATA, &_BILLING_DATA::~_BILLING_DATA }; // weak
- _DWORD (__cdecl *off_80BD1D0[2])(_BILLING_INFO *this) = { &_BILLING_INFO::~_BILLING_INFO, &_BILLING_INFO::~_BILLING_INFO }; // weak
- CHAR aSmu[3] = "SMU"; // idb
- CHAR aMachine[7] = "Machine"; // idb
- CHAR asc_80C3048[1] = "_"; // idb
- _DWORD (__cdecl *off_80C3600[2])(OopsLogBase *this) = { &OopsLogBase::~OopsLogBase, &OopsLogBase::~OopsLogBase }; // weak
- _UNKNOWN unk_80C4365; // weak
- char aD[3] = "%d,"; // idb
- char a0x08x_0[7] = "0X%08X,"; // idb
- char aDS_0[6] = "%d,%s,"; // idb
- char byte_80C4FBC = '\xB4'; // idb
- char aGetRunhundanCh[47] = "Get Runhundan,CharaterId:%d,ItemId:%d,AccountNo"; // idb
- _DWORD (__cdecl *off_80C9930)(PacketFactoryManagerInstance *this) = &PacketFactoryManagerInstance::Init; // weak
- _DWORD (__cdecl *off_80C9970)(BillPacketFactoryManagerInstance *this) = &BillPacketFactoryManagerInstance::Init; // weak
- _DWORD (__cdecl *off_80C99D0)(Packets::BLRetConnectFactory *this) = &Packets::BLRetConnectFactory::~BLRetConnectFactory; // weak
- _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this) =
- {
- &BillPacketFactory::~BillPacketFactory,
- &BillPacketFactory::~BillPacketFactory
- }; // weak
- _DWORD (__cdecl *off_80C9A68)(Packets::BLRetKeepLiveFactory *this) = &Packets::BLRetKeepLiveFactory::~BLRetKeepLiveFactory; // weak
- _DWORD (__cdecl *off_80C9AD0)(Packets::BLRetAccCheckFactory *this) = &Packets::BLRetAccCheckFactory::~BLRetAccCheckFactory; // weak
- _DWORD (__cdecl *off_80C9B30)(Packets::BLRetBillingStartFactory *this) = &Packets::BLRetBillingStartFactory::~BLRetBillingStartFactory; // weak
- _DWORD (__cdecl *off_80C9B90)(Packets::BLRetBillingEndFactory *this) = &Packets::BLRetBillingEndFactory::~BLRetBillingEndFactory; // weak
- _DWORD (__cdecl *off_80C9BF0)(Packets::BLRetBillingKeepFactory *this) = &Packets::BLRetBillingKeepFactory::~BLRetBillingKeepFactory; // weak
- _DWORD (__cdecl *off_80C9C50)(Packets::BLRetKickALLFactory *this) = &Packets::BLRetKickALLFactory::~BLRetKickALLFactory; // weak
- _DWORD (__cdecl *off_80C9CA8)(Packets::BLRetRegPassPortFactory *this) = &Packets::BLRetRegPassPortFactory::~BLRetRegPassPortFactory; // weak
- _DWORD (__cdecl *off_80C9D10)(Packets::BLRetPrizeFactory *this) = &Packets::BLRetPrizeFactory::~BLRetPrizeFactory; // weak
- _DWORD (__cdecl *off_80C9D58)(Packets::BLRetAskPointFactory *this) = &Packets::BLRetAskPointFactory::~BLRetAskPointFactory; // weak
- _DWORD (__cdecl *off_80C9DB0)(Packets::BLRetAskBuyFactory *this) = &Packets::BLRetAskBuyFactory::~BLRetAskBuyFactory; // weak
- _DWORD (__cdecl *off_80C9DF8)(Packets::LBLCostLogFactory *this) = &Packets::LBLCostLogFactory::~LBLCostLogFactory; // weak
- _DWORD (__cdecl *off_80C9E40)(Packets::LBLAskNewUserCardFactory *this) = &Packets::LBLAskNewUserCardFactory::~LBLAskNewUserCardFactory; // weak
- _DWORD (__cdecl *off_80C9E90)(Packets::LBLNewPrizeFactory *this) = &Packets::LBLNewPrizeFactory::~LBLNewPrizeFactory; // weak
- _DWORD (__cdecl *off_80C9ED8)(Packets::LBLNewCheckPrizeFactory *this) = &Packets::LBLNewCheckPrizeFactory::~LBLNewCheckPrizeFactory; // weak
- _DWORD (__cdecl *off_80C9F30)(Packets::LBLAskMigFactory *this) = &Packets::LBLAskMigFactory::~LBLAskMigFactory; // weak
- _DWORD (__cdecl *off_80C9F78)(Packets::LBLRegNewLicenseFactory *this) = &Packets::LBLRegNewLicenseFactory::~LBLRegNewLicenseFactory; // weak
- _DWORD (__cdecl *off_80C9FD0)(Packets::LBLCardCheckPrizeFactory *this) = &Packets::LBLCardCheckPrizeFactory::~LBLCardCheckPrizeFactory; // weak
- _DWORD (__cdecl *off_80CA030)(Packets::LBLOperateAccFactory *this) = &Packets::LBLOperateAccFactory::~LBLOperateAccFactory; // weak
- _DWORD (__cdecl *off_80CA090)(Packets::CLAskLoginFactory *this) = &Packets::CLAskLoginFactory::~CLAskLoginFactory; // weak
- _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this) = { &PacketFactory::~PacketFactory, &PacketFactory::~PacketFactory }; // weak
- _DWORD (__cdecl *off_80CA110)(Packets::CLAskCharListFactory *this) = &Packets::CLAskCharListFactory::~CLAskCharListFactory; // weak
- _DWORD (__cdecl *off_80CA170)(Packets::CLAskCharLoginFactory *this) = &Packets::CLAskCharLoginFactory::~CLAskCharLoginFactory; // weak
- _DWORD (__cdecl *off_80CA1D0)(Packets::CLConnectFactory *this) = &Packets::CLConnectFactory::~CLConnectFactory; // weak
- _DWORD (__cdecl *off_80CA218)(Packets::CLAskCreateCharFactory *this) = &Packets::CLAskCreateCharFactory::~CLAskCreateCharFactory; // weak
- _DWORD (__cdecl *off_80CA270)(Packets::CLAskDeleteCharFactory *this) = &Packets::CLAskDeleteCharFactory::~CLAskDeleteCharFactory; // weak
- _DWORD (__cdecl *off_80CA2D0)(Packets::CLAskRegPassPortFactory *this) = &Packets::CLAskRegPassPortFactory::~CLAskRegPassPortFactory; // weak
- _DWORD (__cdecl *off_80CA330)(Packets::CLAskCreateCodeFactory *this) = &Packets::CLAskCreateCodeFactory::~CLAskCreateCodeFactory; // weak
- _DWORD (__cdecl *off_80CA390)(Packets::CLRegNewLicenseFactory *this) = &Packets::CLRegNewLicenseFactory::~CLRegNewLicenseFactory; // weak
- _DWORD (__cdecl *off_80CA3F0)(Packets::CLAskLoginCodeFactory *this) = &Packets::CLAskLoginCodeFactory::~CLAskLoginCodeFactory; // weak
- _DWORD (__cdecl *off_80CA450)(Packets::CLRegSafeSignFactory *this) = &Packets::CLRegSafeSignFactory::~CLRegSafeSignFactory; // weak
- _DWORD (__cdecl *off_80CA4B0)(Packets::LCRetLoginFactory *this) = &Packets::LCRetLoginFactory::~LCRetLoginFactory; // weak
- _DWORD (__cdecl *off_80CA4F8)(Packets::LCRetCharListFactory *this) = &Packets::LCRetCharListFactory::~LCRetCharListFactory; // weak
- _DWORD (__cdecl *off_80CA550)(Packets::LCStatusFactory *this) = &Packets::LCStatusFactory::~LCStatusFactory; // weak
- _DWORD (__cdecl *off_80CA598)(Packets::LCRetCharLoginFactory *this) = &Packets::LCRetCharLoginFactory::~LCRetCharLoginFactory; // weak
- _DWORD (__cdecl *off_80CA5F0)(Packets::LCRetConnectFactory *this) = &Packets::LCRetConnectFactory::~LCRetConnectFactory; // weak
- _DWORD (__cdecl *off_80CA648)(Packets::LCRetCreateCharFactory *this) = &Packets::LCRetCreateCharFactory::~LCRetCreateCharFactory; // weak
- _DWORD (__cdecl *off_80CA6B0)(Packets::LCRetDeleteCharFactory *this) = &Packets::LCRetDeleteCharFactory::~LCRetDeleteCharFactory; // weak
- _DWORD (__cdecl *off_80CA710)(Packets::LCRetCreateCodeFactory *this) = &Packets::LCRetCreateCodeFactory::~LCRetCreateCodeFactory; // weak
- _DWORD (__cdecl *off_80CA770)(Packets::LCRetLoginCodeFactory *this) = &Packets::LCRetLoginCodeFactory::~LCRetLoginCodeFactory; // weak
- _DWORD (__cdecl *off_80CA7D0)(Packets::KeyExchangeFactory *this) = &Packets::KeyExchangeFactory::~KeyExchangeFactory; // weak
- _DWORD (__cdecl *off_80CA818)(Packets::SSConnectFactory *this) = &Packets::SSConnectFactory::~SSConnectFactory; // weak
- _DWORD (__cdecl *off_80CA860)(Packets::SSScenePlayerCountFactory *this) = &Packets::SSScenePlayerCountFactory::~SSScenePlayerCountFactory; // weak
- _DWORD (__cdecl *off_80CA8B0)(Packets::GWLWGCostLogFactory *this) = &Packets::GWLWGCostLogFactory::~GWLWGCostLogFactory; // weak
- _DWORD (__cdecl *off_80CA908)(Packets::LWAskCharLoginFactory *this) = &Packets::LWAskCharLoginFactory::~LWAskCharLoginFactory; // weak
- _DWORD (__cdecl *off_80CA970)(Packets::LWRetBillingStartFactory *this) = &Packets::LWRetBillingStartFactory::~LWRetBillingStartFactory; // weak
- _DWORD (__cdecl *off_80CA9D0)(Packets::LWRetBillingEndFactory *this) = &Packets::LWRetBillingEndFactory::~LWRetBillingEndFactory; // weak
- _DWORD (__cdecl *off_80CAA30)(Packets::LWRetBillingKeepFactory *this) = &Packets::LWRetBillingKeepFactory::~LWRetBillingKeepFactory; // weak
- _DWORD (__cdecl *off_80CAA90)(Packets::LWRetPrizeFactory *this) = &Packets::LWRetPrizeFactory::~LWRetPrizeFactory; // weak
- _DWORD (__cdecl *off_80CAAD8)(Packets::LWNotifyUserFactory *this) = &Packets::LWNotifyUserFactory::~LWNotifyUserFactory; // weak
- _DWORD (__cdecl *off_80CAB28)(Packets::LWChangeNameFactory *this) = &Packets::LWChangeNameFactory::~LWChangeNameFactory; // weak
- _DWORD (__cdecl *off_80CAB88)(Packets::LWOperateAccResultFactory *this) = &Packets::LWOperateAccResultFactory::~LWOperateAccResultFactory; // weak
- _DWORD (__cdecl *off_80CABF0)(Packets::WLRetCharLoginFactory *this) = &Packets::WLRetCharLoginFactory::~WLRetCharLoginFactory; // weak
- _DWORD (__cdecl *off_80CAC50)(Packets::WLBillingStartFactory *this) = &Packets::WLBillingStartFactory::~WLBillingStartFactory; // weak
- _DWORD (__cdecl *off_80CACB0)(Packets::WLBillingEndFactory *this) = &Packets::WLBillingEndFactory::~WLBillingEndFactory; // weak
- _DWORD (__cdecl *off_80CAD08)(Packets::WLBillingKeepFactory *this) = &Packets::WLBillingKeepFactory::~WLBillingKeepFactory; // weak
- _DWORD (__cdecl *off_80CAD70)(Packets::WLBillingKickFactory *this) = &Packets::WLBillingKickFactory::~WLBillingKickFactory; // weak
- _DWORD (__cdecl *off_80CADD0)(Packets::WLAskPrizeFactory *this) = &Packets::WLAskPrizeFactory::~WLAskPrizeFactory; // weak
- _DWORD (__cdecl *off_80CAE18)(Packets::WLNotifyUserFactory *this) = &Packets::WLNotifyUserFactory::~WLNotifyUserFactory; // weak
- _DWORD (__cdecl *off_80CAE68)(Packets::WLChangeNameFactory *this) = &Packets::WLChangeNameFactory::~WLChangeNameFactory; // weak
- _DWORD (__cdecl *off_80CAEC8)(Packets::WLOperateAccFactory *this) = &Packets::WLOperateAccFactory::~WLOperateAccFactory; // weak
- _DWORD (__cdecl *off_80CAF28)(Packets::LBAskAuthFactory *this) = &Packets::LBAskAuthFactory::~LBAskAuthFactory; // weak
- _DWORD (__cdecl *off_80CAF70)(Packets::LBAskRegAuthFactory *this) = &Packets::LBAskRegAuthFactory::~LBAskRegAuthFactory; // weak
- _DWORD (__cdecl *off_80CAFC8)(Packets::LBAskRegLicenseFactory *this) = &Packets::LBAskRegLicenseFactory::~LBAskRegLicenseFactory; // weak
- _DWORD (__cdecl *off_80CB030)(Packets::BLRetAuthFactory *this) = &Packets::BLRetAuthFactory::~BLRetAuthFactory; // weak
- _DWORD (__cdecl *off_80CB468[2])(Packets::BLRetAccCheck *this) =
- {
- &Packets::BLRetAccCheck::~BLRetAccCheck,
- &Packets::BLRetAccCheck::~BLRetAccCheck
- }; // weak
- _DWORD (__cdecl *off_80CB5E8[2])(Packets::BLRetAuth *this) = { &Packets::BLRetAuth::~BLRetAuth, &Packets::BLRetAuth::~BLRetAuth }; // weak
- _DWORD (__cdecl *off_80CB788[2])(Packets::BLRetBillingEnd *this) =
- {
- &Packets::BLRetBillingEnd::~BLRetBillingEnd,
- &Packets::BLRetBillingEnd::~BLRetBillingEnd
- }; // weak
- _DWORD (__cdecl *off_80CB928[2])(Packets::BLRetBillingKeep *this) =
- {
- &Packets::BLRetBillingKeep::~BLRetBillingKeep,
- &Packets::BLRetBillingKeep::~BLRetBillingKeep
- }; // weak
- _DWORD (__cdecl *off_80CBAC8[2])(Packets::BLRetBillingStart *this) =
- {
- &Packets::BLRetBillingStart::~BLRetBillingStart,
- &Packets::BLRetBillingStart::~BLRetBillingStart
- }; // weak
- _DWORD (__cdecl *off_80CBC68[2])(Packets::BLRetConnect *this) = { &Packets::BLRetConnect::~BLRetConnect, &Packets::BLRetConnect::~BLRetConnect }; // weak
- _DWORD (__cdecl *off_80CBDE8[2])(Packets::BLRetKeepLive *this) =
- {
- &Packets::BLRetKeepLive::~BLRetKeepLive,
- &Packets::BLRetKeepLive::~BLRetKeepLive
- }; // weak
- _DWORD (__cdecl *off_80CBF68[2])(Packets::BLRetKickALL *this) = { &Packets::BLRetKickALL::~BLRetKickALL, &Packets::BLRetKickALL::~BLRetKickALL }; // weak
- _DWORD (__cdecl *off_80CC0E8[2])(Packets::BLRetRegPassPort *this) =
- {
- &Packets::BLRetRegPassPort::~BLRetRegPassPort,
- &Packets::BLRetRegPassPort::~BLRetRegPassPort
- }; // weak
- _DWORD (__cdecl *off_80CC288[2])(Packets::CLAskCharList *this) =
- {
- &Packets::CLAskCharList::~CLAskCharList,
- &Packets::CLAskCharList::~CLAskCharList
- }; // weak
- _DWORD (__cdecl *off_80CC428[2])(Packets::CLAskCharLogin *this) =
- {
- &Packets::CLAskCharLogin::~CLAskCharLogin,
- &Packets::CLAskCharLogin::~CLAskCharLogin
- }; // weak
- _DWORD (__cdecl *off_80CC588[2])(Packets::CLAskCreateChar *this) =
- {
- &Packets::CLAskCreateChar::~CLAskCreateChar,
- &Packets::CLAskCreateChar::~CLAskCreateChar
- }; // weak
- _DWORD (__cdecl *off_80CC748[2])(Packets::CLAskDeleteChar *this) =
- {
- &Packets::CLAskDeleteChar::~CLAskDeleteChar,
- &Packets::CLAskDeleteChar::~CLAskDeleteChar
- }; // weak
- _DWORD (__cdecl *off_80CC908[2])(Packets::CLAskLogin *this) = { &Packets::CLAskLogin::~CLAskLogin, &Packets::CLAskLogin::~CLAskLogin }; // weak
- _DWORD (__cdecl *off_80CCBE8[2])(Packets::CLAskLoginCode *this) =
- {
- &Packets::CLAskLoginCode::~CLAskLoginCode,
- &Packets::CLAskLoginCode::~CLAskLoginCode
- }; // weak
- _DWORD (__cdecl *off_80CCD48[2])(Packets::CLAskRegPassPort *this) =
- {
- &Packets::CLAskRegPassPort::~CLAskRegPassPort,
- &Packets::CLAskRegPassPort::~CLAskRegPassPort
- }; // weak
- _DWORD (__cdecl *off_80CD088[2])(Packets::CLConnect *this) = { &Packets::CLConnect::~CLConnect, &Packets::CLConnect::~CLConnect }; // weak
- _DWORD (__cdecl *off_80CD1E8[2])(Packets::KeyExchange *this) = { &Packets::KeyExchange::~KeyExchange, &Packets::KeyExchange::~KeyExchange }; // weak
- _DWORD (__cdecl *off_80CD408[2])(Packets::LBAccCheck *this) = { &Packets::LBAccCheck::~LBAccCheck, &Packets::LBAccCheck::~LBAccCheck }; // weak
- _DWORD (__cdecl *off_80CD588[2])(Packets::LBAskAuth *this) = { &Packets::LBAskAuth::~LBAskAuth, &Packets::LBAskAuth::~LBAskAuth }; // weak
- _DWORD (__cdecl *off_80CD828[2])(Packets::LBAskRegAuth *this) = { &Packets::LBAskRegAuth::~LBAskRegAuth, &Packets::LBAskRegAuth::~LBAskRegAuth }; // weak
- _DWORD (__cdecl *off_80CDAE8[2])(Packets::LBBillingEnd *this) = { &Packets::LBBillingEnd::~LBBillingEnd, &Packets::LBBillingEnd::~LBBillingEnd }; // weak
- _DWORD (__cdecl *off_80CDC68[2])(Packets::LBBillingKeep *this) =
- {
- &Packets::LBBillingKeep::~LBBillingKeep,
- &Packets::LBBillingKeep::~LBBillingKeep
- }; // weak
- _DWORD (__cdecl *off_80CDDE8[2])(Packets::LBBillingStart *this) =
- {
- &Packets::LBBillingStart::~LBBillingStart,
- &Packets::LBBillingStart::~LBBillingStart
- }; // weak
- _DWORD (__cdecl *off_80CDF68[2])(Packets::LBConnect *this) = { &Packets::LBConnect::~LBConnect, &Packets::LBConnect::~LBConnect }; // weak
- _DWORD (__cdecl *off_80CE0E8[2])(Packets::LBKeepLive *this) = { &Packets::LBKeepLive::~LBKeepLive, &Packets::LBKeepLive::~LBKeepLive }; // weak
- _DWORD (__cdecl *off_80CE268[2])(Packets::LBKickAll *this) = { &Packets::LBKickAll::~LBKickAll, &Packets::LBKickAll::~LBKickAll }; // weak
- _DWORD (__cdecl *off_80CE3E8[2])(Packets::LBRegPassPort *this) =
- {
- &Packets::LBRegPassPort::~LBRegPassPort,
- &Packets::LBRegPassPort::~LBRegPassPort
- }; // weak
- _DWORD (__cdecl *off_80CE568[2])(Packets::LCRetCharList *this) =
- {
- &Packets::LCRetCharList::~LCRetCharList,
- &Packets::LCRetCharList::~LCRetCharList
- }; // weak
- _DWORD (__cdecl *off_80CE708[2])(Packets::LCRetCharLogin *this) =
- {
- &Packets::LCRetCharLogin::~LCRetCharLogin,
- &Packets::LCRetCharLogin::~LCRetCharLogin
- }; // weak
- _DWORD (__cdecl *off_80CE868[2])(Packets::LCRetConnect *this) = { &Packets::LCRetConnect::~LCRetConnect, &Packets::LCRetConnect::~LCRetConnect }; // weak
- _DWORD (__cdecl *off_80CE9C8[2])(Packets::LCRetCreateChar *this) =
- {
- &Packets::LCRetCreateChar::~LCRetCreateChar,
- &Packets::LCRetCreateChar::~LCRetCreateChar
- }; // weak
- _DWORD (__cdecl *off_80CEB88[2])(Packets::LCRetDeleteChar *this) =
- {
- &Packets::LCRetDeleteChar::~LCRetDeleteChar,
- &Packets::LCRetDeleteChar::~LCRetDeleteChar
- }; // weak
- _DWORD (__cdecl *off_80CED48[2])(Packets::LCRetLogin *this) = { &Packets::LCRetLogin::~LCRetLogin, &Packets::LCRetLogin::~LCRetLogin }; // weak
- _DWORD (__cdecl *off_80CEEE8[2])(Packets::LCRetLoginCode *this) =
- {
- &Packets::LCRetLoginCode::~LCRetLoginCode,
- &Packets::LCRetLoginCode::~LCRetLoginCode
- }; // weak
- _DWORD (__cdecl *off_80CF048[2])(Packets::LCStatus *this) = { &Packets::LCStatus::~LCStatus, &Packets::LCStatus::~LCStatus }; // weak
- _DWORD (__cdecl *off_80CF1A8[2])(Packets::LWAskCharLogin *this) =
- {
- &Packets::LWAskCharLogin::~LWAskCharLogin,
- &Packets::LWAskCharLogin::~LWAskCharLogin
- }; // weak
- _DWORD (__cdecl *off_80CF3A8[2])(Packets::LWRetBillingEnd *this) =
- {
- &Packets::LWRetBillingEnd::~LWRetBillingEnd,
- &Packets::LWRetBillingEnd::~LWRetBillingEnd
- }; // weak
- _DWORD (__cdecl *off_80CF528[2])(Packets::LWRetBillingKeep *this) =
- {
- &Packets::LWRetBillingKeep::~LWRetBillingKeep,
- &Packets::LWRetBillingKeep::~LWRetBillingKeep
- }; // weak
- _DWORD (__cdecl *off_80CF6C8[2])(Packets::LWRetBillingStart *this) =
- {
- &Packets::LWRetBillingStart::~LWRetBillingStart,
- &Packets::LWRetBillingStart::~LWRetBillingStart
- }; // weak
- _DWORD (__cdecl *off_80CF868[2])(Packets::SSConnect *this) = { &Packets::SSConnect::~SSConnect, &Packets::SSConnect::~SSConnect }; // weak
- _DWORD (__cdecl *off_80CF9C8[2])(Packets::SSScenePlayerCount *this) =
- {
- &Packets::SSScenePlayerCount::~SSScenePlayerCount,
- &Packets::SSScenePlayerCount::~SSScenePlayerCount
- }; // weak
- _DWORD (__cdecl *off_80CFB68[2])(Packets::WLBillingEnd *this) = { &Packets::WLBillingEnd::~WLBillingEnd, &Packets::WLBillingEnd::~WLBillingEnd }; // weak
- _DWORD (__cdecl *off_80CFCC8[2])(Packets::WLBillingKeep *this) =
- {
- &Packets::WLBillingKeep::~WLBillingKeep,
- &Packets::WLBillingKeep::~WLBillingKeep
- }; // weak
- _DWORD (__cdecl *off_80CFE28[2])(Packets::WLBillingKick *this) =
- {
- &Packets::WLBillingKick::~WLBillingKick,
- &Packets::WLBillingKick::~WLBillingKick
- }; // weak
- _DWORD (__cdecl *off_80CFF88[2])(Packets::WLBillingStart *this) =
- {
- &Packets::WLBillingStart::~WLBillingStart,
- &Packets::WLBillingStart::~WLBillingStart
- }; // weak
- _DWORD (__cdecl *off_80D00E8[2])(Packets::WLRetCharLogin *this) =
- {
- &Packets::WLRetCharLogin::~WLRetCharLogin,
- &Packets::WLRetCharLogin::~WLRetCharLogin
- }; // weak
- _DWORD (__cdecl *off_80D0288[2])(Packets::BLRetAskBuy *this) = { &Packets::BLRetAskBuy::~BLRetAskBuy, &Packets::BLRetAskBuy::~BLRetAskBuy }; // weak
- _DWORD (__cdecl *off_80D0408[2])(Packets::BLRetAskPoint *this) =
- {
- &Packets::BLRetAskPoint::~BLRetAskPoint,
- &Packets::BLRetAskPoint::~BLRetAskPoint
- }; // weak
- _DWORD (__cdecl *off_80D0588[2])(Packets::BLRetPrize *this) = { &Packets::BLRetPrize::~BLRetPrize, &Packets::BLRetPrize::~BLRetPrize }; // weak
- _DWORD (__cdecl *off_80D0708[2])(Packets::LBAskBuy *this) = { &Packets::LBAskBuy::~LBAskBuy, &Packets::LBAskBuy::~LBAskBuy }; // weak
- _DWORD (__cdecl *off_80D0868[2])(Packets::LBAskPoint *this) = { &Packets::LBAskPoint::~LBAskPoint, &Packets::LBAskPoint::~LBAskPoint }; // weak
- _DWORD (__cdecl *off_80D09E8[2])(Packets::LBLAskNewUserCard *this) =
- {
- &Packets::LBLAskNewUserCard::~LBLAskNewUserCard,
- &Packets::LBLAskNewUserCard::~LBLAskNewUserCard
- }; // weak
- _DWORD (__cdecl *off_80D0B88[2])(Packets::LBLCardCheckPrize *this) =
- {
- &Packets::LBLCardCheckPrize::~LBLCardCheckPrize,
- &Packets::LBLCardCheckPrize::~LBLCardCheckPrize
- }; // weak
- _DWORD (__cdecl *off_80D0D28[2])(Packets::LBLNewCheckPrize *this) =
- {
- &Packets::LBLNewCheckPrize::~LBLNewCheckPrize,
- &Packets::LBLNewCheckPrize::~LBLNewCheckPrize
- }; // weak
- _DWORD (__cdecl *off_80D0EC8[2])(Packets::LBLNewPrize *this) = { &Packets::LBLNewPrize::~LBLNewPrize, &Packets::LBLNewPrize::~LBLNewPrize }; // weak
- _DWORD (__cdecl *off_80D1048[2])(Packets::LBPrize *this) = { &Packets::LBPrize::~LBPrize, &Packets::LBPrize::~LBPrize }; // weak
- _DWORD (__cdecl *off_80D11A8[2])(Packets::LWRetPrize *this) = { &Packets::LWRetPrize::~LWRetPrize, &Packets::LWRetPrize::~LWRetPrize }; // weak
- _DWORD (__cdecl *off_80D1348[2])(Packets::WLAskPrize *this) = { &Packets::WLAskPrize::~WLAskPrize, &Packets::WLAskPrize::~WLAskPrize }; // weak
- _DWORD (__cdecl *off_80D14A8[2])(Packets::LWNotifyUser *this) = { &Packets::LWNotifyUser::~LWNotifyUser, &Packets::LWNotifyUser::~LWNotifyUser }; // weak
- _DWORD (__cdecl *off_80D1648[2])(Packets::WLNotifyUser *this) = { &Packets::WLNotifyUser::~WLNotifyUser, &Packets::WLNotifyUser::~WLNotifyUser }; // weak
- _DWORD (__cdecl *off_80D17E8[2])(Packets::GWLWGCostLog *this) = { &Packets::GWLWGCostLog::~GWLWGCostLog, &Packets::GWLWGCostLog::~GWLWGCostLog }; // weak
- _DWORD (__cdecl *off_80D1948[2])(Packets::LBLCostLog *this) = { &Packets::LBLCostLog::~LBLCostLog, &Packets::LBLCostLog::~LBLCostLog }; // weak
- _DWORD (__cdecl *off_80D1B68[2])(Packets::LBLAskMig *this) = { &Packets::LBLAskMig::~LBLAskMig, &Packets::LBLAskMig::~LBLAskMig }; // weak
- _DWORD (__cdecl *off_80D1CE8[2])(Packets::LWChangeName *this) = { &Packets::LWChangeName::~LWChangeName, &Packets::LWChangeName::~LWChangeName }; // weak
- _DWORD (__cdecl *off_80D1E48[2])(Packets::WLChangeName *this) = { &Packets::WLChangeName::~WLChangeName, &Packets::WLChangeName::~WLChangeName }; // weak
- _DWORD (__cdecl *off_80D1FA8[2])(Packets::CLAskCreateCode *this) =
- {
- &Packets::CLAskCreateCode::~CLAskCreateCode,
- &Packets::CLAskCreateCode::~CLAskCreateCode
- }; // weak
- _DWORD (__cdecl *off_80D2128[2])(Packets::LCRetCreateCode *this) =
- {
- &Packets::LCRetCreateCode::~LCRetCreateCode,
- &Packets::LCRetCreateCode::~LCRetCreateCode
- }; // weak
- _DWORD (__cdecl *off_80D22A8[2])(Packets::CLRegNewLicense *this) =
- {
- &Packets::CLRegNewLicense::~CLRegNewLicense,
- &Packets::CLRegNewLicense::~CLRegNewLicense
- }; // weak
- _DWORD (__cdecl *off_80D2428[2])(Packets::LBAskRegLicense *this) =
- {
- &Packets::LBAskRegLicense::~LBAskRegLicense,
- &Packets::LBAskRegLicense::~LBAskRegLicense
- }; // weak
- _DWORD (__cdecl *off_80D2628[2])(Packets::LBLRegNewLicense *this) =
- {
- &Packets::LBLRegNewLicense::~LBLRegNewLicense,
- &Packets::LBLRegNewLicense::~LBLRegNewLicense
- }; // weak
- _DWORD (__cdecl *off_80D27C8[2])(Packets::CLRegSafeSign *this) =
- {
- &Packets::CLRegSafeSign::~CLRegSafeSign,
- &Packets::CLRegSafeSign::~CLRegSafeSign
- }; // weak
- _DWORD (__cdecl *off_80D2928[2])(Packets::LBLOperateAcc *this) =
- {
- &Packets::LBLOperateAcc::~LBLOperateAcc,
- &Packets::LBLOperateAcc::~LBLOperateAcc
- }; // weak
- _DWORD (__cdecl *off_80D2AA8[2])(Packets::LWOperateAccResult *this) =
- {
- &Packets::LWOperateAccResult::~LWOperateAccResult,
- &Packets::LWOperateAccResult::~LWOperateAccResult
- }; // weak
- _DWORD (__cdecl *off_80D2C48[2])(Packets::WLOperateAcc *this) = { &Packets::WLOperateAcc::~WLOperateAcc, &Packets::WLOperateAcc::~WLOperateAcc }; // weak
- _DWORD (__cdecl *off_80D2DA8)(DBAbilityList *this) = &DBAbilityList::Load; // weak
- _DWORD (__cdecl *off_80D2FB8[2])(DBCharCreate *this) = { &DBCharCreate::Load, &DBCharCreate::AddNew }; // weak
- _DWORD (__cdecl *off_80D3130)(DBChardbVersion *this) = &DBChardbVersion::Load; // weak
- _DWORD (__cdecl *off_80D3280)(DBCharExtradbVersion *this) = &DBCharExtradbVersion::Load; // weak
- _DWORD (__cdecl *off_80D33D8)(DBCharExtraInfo *this) = &DBCharExtraInfo::Load; // weak
- _DWORD (__cdecl *off_80D3590)(DBCharFullData *this) = &DBCharFullData::Load; // weak
- _DWORD (__cdecl *off_80D37A8)(DBCharList *this) = &DBCharList::Load; // weak
- _DWORD (__cdecl *off_80D3958)(DBCharVisualGem *this) = &DBCharVisualGem::Load; // weak
- _DWORD (__cdecl *off_80D3B78)(DBCheckCharName *this) = &DBCheckCharName::Load; // weak
- _DWORD (__cdecl *off_80D3CB0[3])(ODBCBase *this) = { &ODBCBase::Load, &ODBCBase::AddNew, &ODBCBase::Delete }; // weak
- _DWORD (__cdecl *off_80D3E40)(DBCoolDownInfo *this) = &DBCoolDownInfo::Load; // weak
- _DWORD (__cdecl *off_80D3FF0)(DBCrcInfo *this) = &DBCrcInfo::Load; // weak
- _DWORD (__cdecl *off_80D4150[2])(DBCreateCharOp *this) = { &DBCreateCharOp::Load, &DBCreateCharOp::AddNew }; // weak
- _DWORD (__cdecl *off_80D42D0[3])(DBDeleteCharOp *this) = { &DBDeleteCharOp::Load, &DBDeleteCharOp::AddNew, &DBDeleteCharOp::Delete }; // weak
- _DWORD (__cdecl *off_80D44A8)(DBEquipBaseList *this) = &DBEquipBaseList::Load; // weak
- _DWORD (__cdecl *off_80D4618)(DBFatigueInfo *this) = &DBFatigueInfo::Load; // weak
- _DWORD (__cdecl *off_80D47D0[3])(ODBCBase *this) = { &ODBCBase::Load, &ODBCBase::AddNew, &ODBCBase::Delete }; // weak
- _DWORD (__cdecl *off_80D4A90[2])(DBImmigration *this) = { &DBImmigration::Load, &DBImmigration::AddNew }; // weak
- _DWORD (__cdecl *off_80D4D30)(DBImpactList *this) = &DBImpactList::Load; // weak
- _DWORD (__cdecl *off_80D4F08)(DBItemList *this) = &DBItemList::Load; // weak
- _DWORD (__cdecl *off_80D5108)(DBManager *this) = &DBManager::~DBManager; // weak
- _DWORD (__cdecl *off_80D5248)(DBPetList *this) = &DBPetList::Load; // weak
- _DWORD (__cdecl *off_80D5430)(DBPrivateInfo *this) = &DBPrivateInfo::Load; // weak
- _DWORD (__cdecl *off_80D55F0)(DBPvPInfo *this) = &DBPvPInfo::Load; // weak
- _DWORD (__cdecl *off_80D5748)(DBRelationList *this) = &DBRelationList::Load; // weak
- _DWORD (__cdecl *off_80D5918)(DBSkillList *this) = &DBSkillList::Load; // weak
- _DWORD (__cdecl *off_80D5AD0)(DBTaskList *this) = &DBTaskList::Load; // weak
- _DWORD (__cdecl *off_80D5C50)(DBTitleInfo *this) = &DBTitleInfo::Load; // weak
- _DWORD (__cdecl *off_80D5DC8)(DBXinFaList *this) = &DBXinFaList::Load; // weak
- _DWORD (__cdecl *off_80D5F70[3])(ODBCBase *this) = { &ODBCBase::Load, &ODBCBase::AddNew, &ODBCBase::Delete }; // weak
- _DWORD (__cdecl *off_80DA2C8[2])(Player *this, UINT *const socketRet) = { &Player::ProcessInput, &Player::ProcessOutput }; // weak
- _DWORD (__cdecl *off_80DA848[2])(Player *this, UINT *const socketRet) = { &Player::ProcessInput, &Player::ProcessOutput }; // weak
- _DWORD (__cdecl *off_80DB268)(PlayerManager *this, UINT uTime) = &PlayerManager::HeartBeat; // weak
- _DWORD (__cdecl *off_80DB9A8[2])(Player *this, UINT *const socketRet) = { &Player::ProcessInput, &Player::ProcessOutput }; // weak
- _DWORD (__cdecl *off_80DC0C8)(PlayerManager *this, UINT uTime) = &PlayerManager::HeartBeat; // weak
- _DWORD (__cdecl *off_80DC408[2])(Player *this, UINT *const socketRet) = { &Player::ProcessInput, &Player::ProcessOutput }; // weak
- CHAR aClaskcharlisth_1[35] = "CLAskCharListHandler::Execute()...."; // idb
- CHAR byte_80DDF85 = '\xB4'; // idb
- CHAR aClaskcreatecha_6[37] = "CLAskCreateCharHandler::Execute()...."; // idb
- CHAR byte_80DE6FA = '\xB4'; // idb
- CHAR aClaskdeletecha_3[37] = "CLAskDeleteCharHandler::Execute()...."; // idb
- CHAR byte_80DEB58 = '\xB4'; // idb
- CHAR byte_80DEF48 = '\xB4'; // idb
- CHAR byte_80DF289 = '\xB4'; // idb
- CHAR aLbaskauthhandl_0[17] = "LBAskAuthHandler "; // idb
- CHAR aLbaskregauthha_0[20] = "LBAskRegAuthHandler "; // idb
- CHAR aLcretcharlisth_1[21] = "LCRetCharListHandler "; // idb
- CHAR aLcretcharlogin_0[22] = "LCRetCharLoginHandler "; // idb
- CHAR aLcretcreatecha_7[23] = "LCRetCreateCharHandler "; // idb
- CHAR aLcretdeletecha_1[23] = "LCRetDeleteCharHandler "; // idb
- CHAR aLwaskcharlogin_0[22] = "LWAskCharLoginHandler "; // idb
- CHAR aSssceneplayerc_2[26] = "SSScenePlayerCountHandler "; // idb
- CHAR aNull[8] = "NULL == "; // idb
- CHAR aWlretcharlogin_14[36] = "WLRetCharLoginHandler::Execute()...."; // idb
- CHAR aWlretcharlogin_15[22] = "WLRetCharLoginHandler "; // idb
- CHAR byte_80E15CD = '\xB4'; // idb
- CHAR byte_80E160D = '\xB4'; // idb
- CHAR aLwchangenameha_0[20] = "LWChangeNameHandler "; // idb
- CHAR byte_80E3180 = '\xB4'; // idb
- CHAR aLbaskreglicens_0[23] = "LBAskRegLicenseHandler "; // idb
- CHAR aMax[4] = "max_"; // idb
- CHAR aMax_0[4] = "max_"; // idb
- char byte_80E3B2E = ''; // idb
- char byte_80E3B91 = ''; // idb
- _DWORD (__cdecl *off_80E3E58)(DBThread *this) = &DBThread::~DBThread; // weak
- _DWORD (__cdecl *off_80E4268[2])(LoginDBManager *this) = { &LoginDBManager::~LoginDBManager, &LoginDBManager::~LoginDBManager }; // weak
- _DWORD (__cdecl *off_80E43B8)(ProcessManager *this) = &ProcessManager::~ProcessManager; // weak
- _DWORD (__cdecl *off_80E4780)(ProcessPlayerManager *this, UINT uTime) = &ProcessPlayerManager::HeartBeat; // weak
- _DWORD (__cdecl *off_80E4DB0)(DBC::DBCFile *this, int iIndex) = &DBC::DBCFile::Search_Index_EQU; // weak
- const unsigned int __gnu_cxx::__stl_prime_list[28] =
- {
- 53u,
- 97u,
- 193u,
- 389u,
- 769u,
- 1543u,
- 3079u,
- 6151u,
- 12289u,
- 24593u,
- 49157u,
- 98317u,
- 196613u,
- 393241u,
- 786433u,
- 1572869u,
- 3145739u,
- 6291469u,
- 12582917u,
- 25165843u,
- 50331653u,
- 100663319u,
- 201326611u,
- 402653189u,
- 805306457u,
- 1610612741u,
- 3221225473u,
- 4294967291u
- }; // idb
- unsigned int _last = 0u; // idb
- _DWORD (__cdecl *off_80E5068[2])(BillPacket *this) = { &BillPacket::~BillPacket, &BillPacket::~BillPacket }; // weak
- void *off_80E50A8 = &__cxa_pure_virtual; // weak
- _DWORD (__cdecl *off_80E5320)(SocketBillingInputStream *this) = &SocketBillingInputStream::~SocketBillingInputStream; // weak
- _DWORD (__cdecl *off_80E5358)(SocketBillingOutputStream *this) = &SocketBillingOutputStream::~SocketBillingOutputStream; // weak
- _DWORD (__cdecl *off_80E53A8[2])(Packet *this) = { &Packet::~Packet, &Packet::~Packet }; // weak
- void *off_80E53E8 = &__cxa_pure_virtual; // weak
- _DWORD (__cdecl *off_80E54C8[2])(Player *this, UINT *const socketRet) = { &Player::ProcessInput, &Player::ProcessOutput }; // weak
- _DWORD (__cdecl *off_80E5590[2])(Socket *this) = { &Socket::~Socket, &Socket::~Socket }; // weak
- _DWORD (__cdecl *off_80E5618[2])(SocketInputStream *this) =
- {
- &SocketInputStream::~SocketInputStream,
- &SocketInputStream::~SocketInputStream
- }; // weak
- _DWORD (__cdecl *off_80E5648[2])(SocketOutputStream *this) =
- {
- &SocketOutputStream::~SocketOutputStream,
- &SocketOutputStream::~SocketOutputStream
- }; // weak
- _DWORD (__cdecl *off_80E56F8[2])(IniFile *this) = { &IniFile::~IniFile, &IniFile::~IniFile }; // weak
- _DWORD (__cdecl *off_80E5948[4])(Thread *this) = { &Thread::~Thread, &Thread::~Thread, &Thread::stop, &Thread::run }; // weak
- const uint32_t im_tab[4][256] =
- {
- {
- 0u,
- 185403662u,
- 370807324u,
- 488053522u,
- 741614648u,
- 658058550u,
- 976107044u,
- 824393514u,
- 1483229296u,
- 1399144830u,
- 1316117100u,
- 1165972322u,
- 1952214088u,
- 2136040774u,
- 1648787028u,
- 1766553434u,
- 2966458592u,
- 3151862254u,
- 2798289660u,
- 2915535858u,
- 2632234200u,
- 2548678102u,
- 2331944644u,
- 2180231114u,
- 3904428176u,
- 3820343710u,
- 4272081548u,
- 4121936770u,
- 3297574056u,
- 3481400742u,
- 3533106868u,
- 3650873274u,
- 2075868123u,
- 1890988757u,
- 1839278535u,
- 1722556617u,
- 1468997603u,
- 1552029421u,
- 1100287487u,
- 1251476721u,
- 601060267u,
- 685669029u,
- 902390199u,
- 1053059257u,
- 266819475u,
- 82468509u,
- 436028815u,
- 317738113u,
- 3412831035u,
- 3227951669u,
- 3715217703u,
- 3598495785u,
- 3881799427u,
- 3964831245u,
- 4047871263u,
- 4199060497u,
- 2466505547u,
- 2551114309u,
- 2233069911u,
- 2383738969u,
- 3208103795u,
- 3023752829u,
- 2838353263u,
- 2720062561u,
- 4134368941u,
- 4250959779u,
- 3765920945u,
- 3950669247u,
- 3663286933u,
- 3511966619u,
- 3426959497u,
- 3343796615u,
- 2919579357u,
- 2768779219u,
- 3089050817u,
- 3004310991u,
- 2184256229u,
- 2302415851u,
- 2485848313u,
- 2670068215u,
- 1186850381u,
- 1303441219u,
- 1353184337u,
- 1537932639u,
- 1787413109u,
- 1636092795u,
- 2090061929u,
- 2006899047u,
- 517320253u,
- 366520115u,
- 147831841u,
- 63092015u,
- 853641733u,
- 971801355u,
- 620468249u,
- 804688151u,
- 2379631990u,
- 2262516856u,
- 2613862250u,
- 2428589668u,
- 2715969870u,
- 2867814464u,
- 3086515026u,
- 3170202204u,
- 3586000134u,
- 3736275976u,
- 3282310938u,
- 3366526484u,
- 4186579262u,
- 4068943920u,
- 4019204898u,
- 3835509292u,
- 1023860118u,
- 906744984u,
- 723308426u,
- 538035844u,
- 288553390u,
- 440397984u,
- 120122290u,
- 203809468u,
- 1701746150u,
- 1852021992u,
- 1937016826u,
- 2021232372u,
- 1230680542u,
- 1113045200u,
- 1598071746u,
- 1414376140u,
- 4158319681u,
- 4242007375u,
- 3787521629u,
- 3939366739u,
- 3689859193u,
- 3504587127u,
- 3455375973u,
- 3338261355u,
- 2947720241u,
- 2764025151u,
- 3114841645u,
- 2997206819u,
- 2206629897u,
- 2290845959u,
- 2510066197u,
- 2660342555u,
- 1191869601u,
- 1275557295u,
- 1360031421u,
- 1511876531u,
- 1799248025u,
- 1613975959u,
- 2099530373u,
- 1982415755u,
- 526529745u,
- 342834655u,
- 158869197u,
- 41234371u,
- 861278441u,
- 945494503u,
- 625738485u,
- 776014843u,
- 2355222426u,
- 2272059028u,
- 2591802758u,
- 2440481928u,
- 2689987490u,
- 2874735276u,
- 3058688446u,
- 3175278768u,
- 3557400554u,
- 3741619940u,
- 3256061430u,
- 3374220536u,
- 4164795346u,
- 4080055004u,
- 3995576782u,
- 3844776128u,
- 1018251130u,
- 935087732u,
- 715871590u,
- 564550760u,
- 277177154u,
- 461924940u,
- 111112542u,
- 227702864u,
- 1691946762u,
- 1876166148u,
- 1925389590u,
- 2043548696u,
- 1223502642u,
- 1138762300u,
- 1593260334u,
- 1442459680u,
- 28809964u,
- 179999714u,
- 397248752u,
- 480281086u,
- 763608788u,
- 646887386u,
- 999926984u,
- 815048134u,
- 1507840668u,
- 1389550482u,
- 1338359936u,
- 1154009486u,
- 1978398372u,
- 2129067946u,
- 1676797112u,
- 1761406390u,
- 2976320012u,
- 3127509762u,
- 2809993232u,
- 2893025566u,
- 2639474228u,
- 2522752826u,
- 2336832552u,
- 2151953702u,
- 3910091388u,
- 3791801202u,
- 4279586912u,
- 4095236462u,
- 3309004356u,
- 3459673930u,
- 3542185048u,
- 3626794326u,
- 2047648055u,
- 1895934009u,
- 1813426987u,
- 1729870373u,
- 1446544655u,
- 1563790337u,
- 1076008723u,
- 1261411869u,
- 577038663u,
- 694804553u,
- 880737115u,
- 1064563285u,
- 240176511u,
- 90031217u,
- 407560035u,
- 323475053u,
- 3403428311u,
- 3251714265u,
- 3703972811u,
- 3620416197u,
- 3873969647u,
- 3991215329u,
- 4042393587u,
- 4227796733u,
- 2461301159u,
- 2579067049u,
- 2226023355u,
- 2409849525u,
- 3196083615u,
- 3045938321u,
- 2828685187u,
- 2744600205u
- },
- {
- 0u,
- 218697227u,
- 437394454u,
- 387650077u,
- 874788908u,
- 959264295u,
- 775300154u,
- 591342129u,
- 1749577816u,
- 1698790995u,
- 1918528590u,
- 2136171077u,
- 1550600308u,
- 1365591679u,
- 1182684258u,
- 1266113129u,
- 3499155632u,
- 3717852859u,
- 3397581990u,
- 3347837613u,
- 3837057180u,
- 3921532567u,
- 4272342154u,
- 4088384129u,
- 3101200616u,
- 3050413795u,
- 2731183358u,
- 2948825845u,
- 2365368516u,
- 2180359887u,
- 2532226258u,
- 2615655129u,
- 3141262203u,
- 3056784752u,
- 2703869805u,
- 2887829862u,
- 2401231703u,
- 2182540636u,
- 2500722497u,
- 2550460746u,
- 3547573027u,
- 3732579624u,
- 3378624309u,
- 3295197502u,
- 3881276175u,
- 3932069124u,
- 4249194265u,
- 4031545618u,
- 1806384075u,
- 1721906624u,
- 1907959773u,
- 2091919830u,
- 1603208167u,
- 1384517100u,
- 1167925233u,
- 1217663482u,
- 65227667u,
- 250234264u,
- 435246981u,
- 351820174u,
- 935818175u,
- 986611124u,
- 768962473u,
- 551313826u,
- 1836494326u,
- 1618977789u,
- 2003087840u,
- 2054012907u,
- 1498584538u,
- 1415289809u,
- 1128303052u,
- 1313441735u,
- 88006062u,
- 137876389u,
- 523026872u,
- 304467891u,
- 823846274u,
- 1007938441u,
- 722008468u,
- 637663135u,
- 3185986886u,
- 2968470349u,
- 2817806672u,
- 2868731739u,
- 2311222634u,
- 2227927905u,
- 2479909244u,
- 2665047927u,
- 3584965918u,
- 3634836245u,
- 3485212936u,
- 3266653955u,
- 3783918898u,
- 3968011065u,
- 4221049124u,
- 4136703791u,
- 3595400845u,
- 3678697606u,
- 3428805275u,
- 3243664528u,
- 3798552225u,
- 4016062634u,
- 4168831671u,
- 4117912764u,
- 3188000469u,
- 3003910366u,
- 2752977603u,
- 2837320904u,
- 2317434617u,
- 2267558130u,
- 2419270383u,
- 2637835492u,
- 115185213u,
- 198481974u,
- 483363371u,
- 298222624u,
- 855223825u,
- 1072734234u,
- 686535175u,
- 635616268u,
- 1855317605u,
- 1671227502u,
- 1955068531u,
- 2039411832u,
- 1521606217u,
- 1471729730u,
- 1084473951u,
- 1303039060u,
- 3672916471u,
- 3622129660u,
- 3237895649u,
- 3455538154u,
- 4006115803u,
- 3821107152u,
- 4107953613u,
- 4191382470u,
- 2997105071u,
- 3215802276u,
- 2830511545u,
- 2780767154u,
- 2256537987u,
- 2341013384u,
- 2626819477u,
- 2442861470u,
- 175939911u,
- 125153100u,
- 275692881u,
- 493335386u,
- 1045993835u,
- 860985184u,
- 608863613u,
- 692292470u,
- 1647628575u,
- 1866325780u,
- 2015808777u,
- 1966064386u,
- 1443948851u,
- 1528424248u,
- 1275262245u,
- 1091304238u,
- 1641519756u,
- 1826526343u,
- 2076542618u,
- 1993115793u,
- 1442030240u,
- 1492823211u,
- 1340194486u,
- 1122545853u,
- 161475284u,
- 76997855u,
- 328070850u,
- 512030921u,
- 1035719416u,
- 817028339u,
- 665439982u,
- 715178213u,
- 2974251580u,
- 3159258167u,
- 2874500650u,
- 2791073825u,
- 2237874704u,
- 2288667675u,
- 2675006982u,
- 2457358349u,
- 3641641572u,
- 3557164143u,
- 3273463410u,
- 3457423481u,
- 3979031112u,
- 3760340035u,
- 4147719774u,
- 4197458005u,
- 3080383489u,
- 3130253834u,
- 2911432727u,
- 2692873756u,
- 2210321453u,
- 2394413606u,
- 2578237499u,
- 2493892144u,
- 3755121753u,
- 3537605202u,
- 3317727311u,
- 3368652356u,
- 3958809717u,
- 3875515006u,
- 4058298467u,
- 4243437160u,
- 1728711857u,
- 1778582202u,
- 2098729127u,
- 1880170156u,
- 1395537053u,
- 1579629206u,
- 1228679307u,
- 1144333952u,
- 256015593u,
- 38499042u,
- 357589247u,
- 408514292u,
- 996558021u,
- 913263310u,
- 561273043u,
- 746411736u,
- 211892090u,
- 27801969u,
- 380840812u,
- 465184103u,
- 948244310u,
- 898367837u,
- 580326208u,
- 798891339u,
- 1693009698u,
- 1776306473u,
- 2130402100u,
- 1945261375u,
- 1355644686u,
- 1573155077u,
- 1256153880u,
- 1205234963u,
- 3694254026u,
- 3510163905u,
- 3324234716u,
- 3408578007u,
- 3893751782u,
- 3843875309u,
- 4060607472u,
- 4279172603u,
- 3027871634u,
- 3111168409u,
- 2926295940u,
- 2741155215u,
- 2153619390u,
- 2371129781u,
- 2588902312u,
- 2537983395u
- },
- {
- 0u,
- 151915277u,
- 303830554u,
- 454171927u,
- 607661108u,
- 758523705u,
- 908343854u,
- 1059729699u,
- 1215322216u,
- 1098797925u,
- 1517047410u,
- 1398949247u,
- 1816687708u,
- 1699118929u,
- 2119459398u,
- 2002413899u,
- 2430644432u,
- 2582559709u,
- 2197595850u,
- 2347937223u,
- 3034094820u,
- 3184957417u,
- 2797898494u,
- 2949284339u,
- 3633375416u,
- 3516851125u,
- 3398237858u,
- 3280139695u,
- 4238918796u,
- 4121350017u,
- 4004827798u,
- 3887782299u,
- 1004239803u,
- 852848822u,
- 700935585u,
- 550069932u,
- 534992783u,
- 384654466u,
- 234832277u,
- 82922136u,
- 1940595667u,
- 2057644254u,
- 1639396809u,
- 1756970692u,
- 1469255655u,
- 1587348714u,
- 1167006205u,
- 1283527408u,
- 2872822635u,
- 2721431654u,
- 3106397553u,
- 2955531900u,
- 2399397727u,
- 2249059410u,
- 2636116293u,
- 2484206152u,
- 3813380867u,
- 3930429454u,
- 4049044761u,
- 4166618644u,
- 3346251575u,
- 3464344634u,
- 3580864813u,
- 3697386016u,
- 1991112301u,
- 2141453664u,
- 1689378935u,
- 1841294202u,
- 1385552473u,
- 1536938324u,
- 1082772547u,
- 1233635150u,
- 1054715397u,
- 936617224u,
- 750893087u,
- 634368786u,
- 451248689u,
- 334203196u,
- 150574123u,
- 33005350u,
- 3863824061u,
- 4014165424u,
- 4098969767u,
- 4250885034u,
- 3262474889u,
- 3413860740u,
- 3496574099u,
- 3647436702u,
- 2923241173u,
- 2805143000u,
- 3156281551u,
- 3039757250u,
- 2315596513u,
- 2198551020u,
- 2551784699u,
- 2434215926u,
- 1299615190u,
- 1148749531u,
- 1600822220u,
- 1449431233u,
- 1766760930u,
- 1614850799u,
- 2069018616u,
- 1918680309u,
- 84334014u,
- 201907891u,
- 387629988u,
- 504678569u,
- 557775242u,
- 674296455u,
- 857927568u,
- 976020637u,
- 3717610758u,
- 3566745099u,
- 3481938716u,
- 3330547729u,
- 4188934450u,
- 4037024319u,
- 3954313000u,
- 3803974693u,
- 2514904430u,
- 2632478307u,
- 2281337716u,
- 2398386297u,
- 2984135002u,
- 3100656215u,
- 2747424576u,
- 2865517645u,
- 3963746266u,
- 3847224535u,
- 4267565504u,
- 4149471949u,
- 3363429358u,
- 3245854947u,
- 3664104948u,
- 3547055865u,
- 2754719666u,
- 2906629311u,
- 3056449960u,
- 3206787749u,
- 2148107142u,
- 2298972299u,
- 2450888092u,
- 2602278545u,
- 2090944266u,
- 1974422535u,
- 1857900816u,
- 1739807261u,
- 1486449470u,
- 1368875059u,
- 1250262308u,
- 1133213225u,
- 886120290u,
- 1038029935u,
- 650971512u,
- 801309301u,
- 283718486u,
- 434583643u,
- 49620300u,
- 201010753u,
- 3617229921u,
- 3734275948u,
- 3313932923u,
- 3431502198u,
- 4087521365u,
- 4205620056u,
- 3787372111u,
- 3903896898u,
- 2682967049u,
- 2531581700u,
- 2381758995u,
- 2230896926u,
- 3151165501u,
- 3000824624u,
- 2848910887u,
- 2696996138u,
- 1199193265u,
- 1316239292u,
- 1432758955u,
- 1550328230u,
- 1665273989u,
- 1783372680u,
- 1901987487u,
- 2018512274u,
- 252339417u,
- 100954068u,
- 488010435u,
- 337148366u,
- 724715757u,
- 574374880u,
- 959340279u,
- 807425530u,
- 2599158199u,
- 2481064634u,
- 2297436077u,
- 2180914336u,
- 3201576323u,
- 3084527246u,
- 2898803609u,
- 2781229204u,
- 3533461983u,
- 3683799762u,
- 3229634501u,
- 3381544136u,
- 4137973227u,
- 4289363686u,
- 3837289457u,
- 3988154620u,
- 168604007u,
- 50510442u,
- 403744637u,
- 287222896u,
- 775200083u,
- 658151006u,
- 1009290057u,
- 891715652u,
- 1115482383u,
- 1265820162u,
- 1348534037u,
- 1500443672u,
- 1715782971u,
- 1867173430u,
- 1951978273u,
- 2102843436u,
- 2704767500u,
- 2822336769u,
- 3005967382u,
- 3123013403u,
- 2232374840u,
- 2348899637u,
- 2534621218u,
- 2652719919u,
- 3913753188u,
- 3762891113u,
- 4217058430u,
- 4065673075u,
- 3447656016u,
- 3295741277u,
- 3747813450u,
- 3597472583u,
- 836225756u,
- 953795025u,
- 600562886u,
- 717608907u,
- 368043752u,
- 484568549u,
- 133427442u,
- 251526143u,
- 2041025204u,
- 1890163129u,
- 1807451310u,
- 1656065955u,
- 1570750080u,
- 1418835341u,
- 1334028442u,
- 1183687575u
- },
- {
- 0u,
- 235605257u,
- 471210514u,
- 303896347u,
- 942421028u,
- 908540205u,
- 607792694u,
- 707863359u,
- 1884842056u,
- 2119394625u,
- 1817080410u,
- 1648721747u,
- 1215585388u,
- 1182749029u,
- 1415726718u,
- 1516850039u,
- 3769684112u,
- 4005289369u,
- 4238789250u,
- 4071475083u,
- 3634160820u,
- 3600279997u,
- 3297443494u,
- 3397514159u,
- 2431170776u,
- 2665723345u,
- 2365498058u,
- 2197139395u,
- 2831453436u,
- 2798617077u,
- 3033700078u,
- 3134823399u,
- 3682319163u,
- 3580933682u,
- 3345850665u,
- 3378949152u,
- 3814166303u,
- 3982262806u,
- 4282488077u,
- 4048197636u,
- 2871251827u,
- 2770919034u,
- 3073755489u,
- 3107898472u,
- 2467293015u,
- 2634345054u,
- 2400845125u,
- 2165502028u,
- 1003187115u,
- 901801634u,
- 668823993u,
- 701922480u,
- 65494927u,
- 233591430u,
- 535905693u,
- 301615252u,
- 1267925987u,
- 1167593194u,
- 1468340721u,
- 1502483704u,
- 1941911495u,
- 2108963534u,
- 1873358293u,
- 1638015196u,
- 2918608246u,
- 2751291519u,
- 2984277860u,
- 3219880557u,
- 2514114898u,
- 2614187099u,
- 2311865152u,
- 2277985865u,
- 3719169342u,
- 3550808119u,
- 3250069292u,
- 3484619301u,
- 3850514714u,
- 3951639571u,
- 4187237128u,
- 4154402305u,
- 1296481766u,
- 1129165039u,
- 1364240372u,
- 1599843069u,
- 1969916354u,
- 2069988555u,
- 1769771984u,
- 1735892697u,
- 1025430958u,
- 857069735u,
- 554225596u,
- 788775605u,
- 87220618u,
- 188345475u,
- 421854104u,
- 389019281u,
- 1989006925u,
- 2022103876u,
- 1788595295u,
- 1687208278u,
- 1319232105u,
- 1084944224u,
- 1387788411u,
- 1555887474u,
- 114671109u,
- 148812556u,
- 449029143u,
- 348694814u,
- 1056541217u,
- 821200680u,
- 586125363u,
- 753179962u,
- 2520581853u,
- 2553678804u,
- 2318081231u,
- 2216694214u,
- 2920362745u,
- 2686074864u,
- 2986813675u,
- 3154912738u,
- 3865407125u,
- 3899548572u,
- 4201870471u,
- 4101536142u,
- 3729349297u,
- 3494008760u,
- 3261022371u,
- 3428076970u,
- 1106762476u,
- 1341970405u,
- 1575076094u,
- 1407897079u,
- 2044456648u,
- 2010178497u,
- 1707996378u,
- 1808202195u,
- 833598116u,
- 1067761581u,
- 767142070u,
- 598910399u,
- 159614592u,
- 126389129u,
- 362126482u,
- 463376795u,
- 2705787516u,
- 2940995445u,
- 3176206446u,
- 3009027431u,
- 2573942360u,
- 2539664209u,
- 2239571018u,
- 2339776835u,
- 3508494900u,
- 3742658365u,
- 3439949862u,
- 3271718191u,
- 3912455696u,
- 3879230233u,
- 4112862210u,
- 4214112523u,
- 2592891351u,
- 2491903198u,
- 2258271173u,
- 2291234508u,
- 2728416755u,
- 2896910586u,
- 3199619041u,
- 2965193448u,
- 3939764639u,
- 3839820950u,
- 4139914125u,
- 4173930116u,
- 3539484091u,
- 3706925234u,
- 3471714217u,
- 3236244128u,
- 2050797895u,
- 1949809742u,
- 1714072405u,
- 1747035740u,
- 1108378979u,
- 1276872810u,
- 1577492337u,
- 1343066744u,
- 174381327u,
- 74437638u,
- 376619805u,
- 410635796u,
- 843640107u,
- 1011081250u,
- 777975609u,
- 542505520u,
- 3959535514u,
- 3792353939u,
- 4028083592u,
- 4263288961u,
- 3559752638u,
- 3659959991u,
- 3359349164u,
- 3325072549u,
- 2623135698u,
- 2454901467u,
- 2152711616u,
- 2386872521u,
- 2759191542u,
- 2860443391u,
- 3093557732u,
- 3060333805u,
- 212952842u,
- 45771267u,
- 279411992u,
- 514617361u,
- 882725678u,
- 982933031u,
- 680216892u,
- 645940277u,
- 2095648578u,
- 1927414347u,
- 1627329872u,
- 1861490777u,
- 1153776486u,
- 1255028335u,
- 1490231668u,
- 1457007741u,
- 930745505u,
- 963707304u,
- 728503987u,
- 627514298u,
- 257308805u,
- 22885772u,
- 322970263u,
- 491466654u,
- 1193436393u,
- 1227450848u,
- 1530167035u,
- 1430221810u,
- 2131644621u,
- 1896177092u,
- 1662536415u,
- 1829980118u,
- 3620396081u,
- 3653357880u,
- 3420243491u,
- 3319253802u,
- 4024887317u,
- 3790464284u,
- 4092654087u,
- 4261150478u,
- 2811409529u,
- 2845423984u,
- 3146034795u,
- 3046089570u,
- 2680062045u,
- 2444594516u,
- 2208864847u,
- 2376308550u
- }
- }; // idb
- const uint32_t il_tab[4][256] =
- {
- {
- 82u,
- 9u,
- 106u,
- 213u,
- 48u,
- 54u,
- 165u,
- 56u,
- 191u,
- 64u,
- 163u,
- 158u,
- 129u,
- 243u,
- 215u,
- 251u,
- 124u,
- 227u,
- 57u,
- 130u,
- 155u,
- 47u,
- 255u,
- 135u,
- 52u,
- 142u,
- 67u,
- 68u,
- 196u,
- 222u,
- 233u,
- 203u,
- 84u,
- 123u,
- 148u,
- 50u,
- 166u,
- 194u,
- 35u,
- 61u,
- 238u,
- 76u,
- 149u,
- 11u,
- 66u,
- 250u,
- 195u,
- 78u,
- 8u,
- 46u,
- 161u,
- 102u,
- 40u,
- 217u,
- 36u,
- 178u,
- 118u,
- 91u,
- 162u,
- 73u,
- 109u,
- 139u,
- 209u,
- 37u,
- 114u,
- 248u,
- 246u,
- 100u,
- 134u,
- 104u,
- 152u,
- 22u,
- 212u,
- 164u,
- 92u,
- 204u,
- 93u,
- 101u,
- 182u,
- 146u,
- 108u,
- 112u,
- 72u,
- 80u,
- 253u,
- 237u,
- 185u,
- 218u,
- 94u,
- 21u,
- 70u,
- 87u,
- 167u,
- 141u,
- 157u,
- 132u,
- 144u,
- 216u,
- 171u,
- 0u,
- 140u,
- 188u,
- 211u,
- 10u,
- 247u,
- 228u,
- 88u,
- 5u,
- 184u,
- 179u,
- 69u,
- 6u,
- 208u,
- 44u,
- 30u,
- 143u,
- 202u,
- 63u,
- 15u,
- 2u,
- 193u,
- 175u,
- 189u,
- 3u,
- 1u,
- 19u,
- 138u,
- 107u,
- 58u,
- 145u,
- 17u,
- 65u,
- 79u,
- 103u,
- 220u,
- 234u,
- 151u,
- 242u,
- 207u,
- 206u,
- 240u,
- 180u,
- 230u,
- 115u,
- 150u,
- 172u,
- 116u,
- 34u,
- 231u,
- 173u,
- 53u,
- 133u,
- 226u,
- 249u,
- 55u,
- 232u,
- 28u,
- 117u,
- 223u,
- 110u,
- 71u,
- 241u,
- 26u,
- 113u,
- 29u,
- 41u,
- 197u,
- 137u,
- 111u,
- 183u,
- 98u,
- 14u,
- 170u,
- 24u,
- 190u,
- 27u,
- 252u,
- 86u,
- 62u,
- 75u,
- 198u,
- 210u,
- 121u,
- 32u,
- 154u,
- 219u,
- 192u,
- 254u,
- 120u,
- 205u,
- 90u,
- 244u,
- 31u,
- 221u,
- 168u,
- 51u,
- 136u,
- 7u,
- 199u,
- 49u,
- 177u,
- 18u,
- 16u,
- 89u,
- 39u,
- 128u,
- 236u,
- 95u,
- 96u,
- 81u,
- 127u,
- 169u,
- 25u,
- 181u,
- 74u,
- 13u,
- 45u,
- 229u,
- 122u,
- 159u,
- 147u,
- 201u,
- 156u,
- 239u,
- 160u,
- 224u,
- 59u,
- 77u,
- 174u,
- 42u,
- 245u,
- 176u,
- 200u,
- 235u,
- 187u,
- 60u,
- 131u,
- 83u,
- 153u,
- 97u,
- 23u,
- 43u,
- 4u,
- 126u,
- 186u,
- 119u,
- 214u,
- 38u,
- 225u,
- 105u,
- 20u,
- 99u,
- 85u,
- 33u,
- 12u,
- 125u
- },
- {
- 20992u,
- 2304u,
- 27136u,
- 54528u,
- 12288u,
- 13824u,
- 42240u,
- 14336u,
- 48896u,
- 16384u,
- 41728u,
- 40448u,
- 33024u,
- 62208u,
- 55040u,
- 64256u,
- 31744u,
- 58112u,
- 14592u,
- 33280u,
- 39680u,
- 12032u,
- 65280u,
- 34560u,
- 13312u,
- 36352u,
- 17152u,
- 17408u,
- 50176u,
- 56832u,
- 59648u,
- 51968u,
- 21504u,
- 31488u,
- 37888u,
- 12800u,
- 42496u,
- 49664u,
- 8960u,
- 15616u,
- 60928u,
- 19456u,
- 38144u,
- 2816u,
- 16896u,
- 64000u,
- 49920u,
- 19968u,
- 2048u,
- 11776u,
- 41216u,
- 26112u,
- 10240u,
- 55552u,
- 9216u,
- 45568u,
- 30208u,
- 23296u,
- 41472u,
- 18688u,
- 27904u,
- 35584u,
- 53504u,
- 9472u,
- 29184u,
- 63488u,
- 62976u,
- 25600u,
- 34304u,
- 26624u,
- 38912u,
- 5632u,
- 54272u,
- 41984u,
- 23552u,
- 52224u,
- 23808u,
- 25856u,
- 46592u,
- 37376u,
- 27648u,
- 28672u,
- 18432u,
- 20480u,
- 64768u,
- 60672u,
- 47360u,
- 55808u,
- 24064u,
- 5376u,
- 17920u,
- 22272u,
- 42752u,
- 36096u,
- 40192u,
- 33792u,
- 36864u,
- 55296u,
- 43776u,
- 0u,
- 35840u,
- 48128u,
- 54016u,
- 2560u,
- 63232u,
- 58368u,
- 22528u,
- 1280u,
- 47104u,
- 45824u,
- 17664u,
- 1536u,
- 53248u,
- 11264u,
- 7680u,
- 36608u,
- 51712u,
- 16128u,
- 3840u,
- 512u,
- 49408u,
- 44800u,
- 48384u,
- 768u,
- 256u,
- 4864u,
- 35328u,
- 27392u,
- 14848u,
- 37120u,
- 4352u,
- 16640u,
- 20224u,
- 26368u,
- 56320u,
- 59904u,
- 38656u,
- 61952u,
- 52992u,
- 52736u,
- 61440u,
- 46080u,
- 58880u,
- 29440u,
- 38400u,
- 44032u,
- 29696u,
- 8704u,
- 59136u,
- 44288u,
- 13568u,
- 34048u,
- 57856u,
- 63744u,
- 14080u,
- 59392u,
- 7168u,
- 29952u,
- 57088u,
- 28160u,
- 18176u,
- 61696u,
- 6656u,
- 28928u,
- 7424u,
- 10496u,
- 50432u,
- 35072u,
- 28416u,
- 46848u,
- 25088u,
- 3584u,
- 43520u,
- 6144u,
- 48640u,
- 6912u,
- 64512u,
- 22016u,
- 15872u,
- 19200u,
- 50688u,
- 53760u,
- 30976u,
- 8192u,
- 39424u,
- 56064u,
- 49152u,
- 65024u,
- 30720u,
- 52480u,
- 23040u,
- 62464u,
- 7936u,
- 56576u,
- 43008u,
- 13056u,
- 34816u,
- 1792u,
- 50944u,
- 12544u,
- 45312u,
- 4608u,
- 4096u,
- 22784u,
- 9984u,
- 32768u,
- 60416u,
- 24320u,
- 24576u,
- 20736u,
- 32512u,
- 43264u,
- 6400u,
- 46336u,
- 18944u,
- 3328u,
- 11520u,
- 58624u,
- 31232u,
- 40704u,
- 37632u,
- 51456u,
- 39936u,
- 61184u,
- 40960u,
- 57344u,
- 15104u,
- 19712u,
- 44544u,
- 10752u,
- 62720u,
- 45056u,
- 51200u,
- 60160u,
- 47872u,
- 15360u,
- 33536u,
- 21248u,
- 39168u,
- 24832u,
- 5888u,
- 11008u,
- 1024u,
- 32256u,
- 47616u,
- 30464u,
- 54784u,
- 9728u,
- 57600u,
- 26880u,
- 5120u,
- 25344u,
- 21760u,
- 8448u,
- 3072u,
- 32000u
- },
- {
- 5373952u,
- 589824u,
- 6946816u,
- 13959168u,
- 3145728u,
- 3538944u,
- 10813440u,
- 3670016u,
- 12517376u,
- 4194304u,
- 10682368u,
- 10354688u,
- 8454144u,
- 15925248u,
- 14090240u,
- 16449536u,
- 8126464u,
- 14876672u,
- 3735552u,
- 8519680u,
- 10158080u,
- 3080192u,
- 16711680u,
- 8847360u,
- 3407872u,
- 9306112u,
- 4390912u,
- 4456448u,
- 12845056u,
- 14548992u,
- 15269888u,
- 13303808u,
- 5505024u,
- 8060928u,
- 9699328u,
- 3276800u,
- 10878976u,
- 12713984u,
- 2293760u,
- 3997696u,
- 15597568u,
- 4980736u,
- 9764864u,
- 720896u,
- 4325376u,
- 16384000u,
- 12779520u,
- 5111808u,
- 524288u,
- 3014656u,
- 10551296u,
- 6684672u,
- 2621440u,
- 14221312u,
- 2359296u,
- 11665408u,
- 7733248u,
- 5963776u,
- 10616832u,
- 4784128u,
- 7143424u,
- 9109504u,
- 13697024u,
- 2424832u,
- 7471104u,
- 16252928u,
- 16121856u,
- 6553600u,
- 8781824u,
- 6815744u,
- 9961472u,
- 1441792u,
- 13893632u,
- 10747904u,
- 6029312u,
- 13369344u,
- 6094848u,
- 6619136u,
- 11927552u,
- 9568256u,
- 7077888u,
- 7340032u,
- 4718592u,
- 5242880u,
- 16580608u,
- 15532032u,
- 12124160u,
- 14286848u,
- 6160384u,
- 1376256u,
- 4587520u,
- 5701632u,
- 10944512u,
- 9240576u,
- 10289152u,
- 8650752u,
- 9437184u,
- 14155776u,
- 11206656u,
- 0u,
- 9175040u,
- 12320768u,
- 13828096u,
- 655360u,
- 16187392u,
- 14942208u,
- 5767168u,
- 327680u,
- 12058624u,
- 11730944u,
- 4521984u,
- 393216u,
- 13631488u,
- 2883584u,
- 1966080u,
- 9371648u,
- 13238272u,
- 4128768u,
- 983040u,
- 131072u,
- 12648448u,
- 11468800u,
- 12386304u,
- 196608u,
- 65536u,
- 1245184u,
- 9043968u,
- 7012352u,
- 3801088u,
- 9502720u,
- 1114112u,
- 4259840u,
- 5177344u,
- 6750208u,
- 14417920u,
- 15335424u,
- 9895936u,
- 15859712u,
- 13565952u,
- 13500416u,
- 15728640u,
- 11796480u,
- 15073280u,
- 7536640u,
- 9830400u,
- 11272192u,
- 7602176u,
- 2228224u,
- 15138816u,
- 11337728u,
- 3473408u,
- 8716288u,
- 14811136u,
- 16318464u,
- 3604480u,
- 15204352u,
- 1835008u,
- 7667712u,
- 14614528u,
- 7208960u,
- 4653056u,
- 15794176u,
- 1703936u,
- 7405568u,
- 1900544u,
- 2686976u,
- 12910592u,
- 8978432u,
- 7274496u,
- 11993088u,
- 6422528u,
- 917504u,
- 11141120u,
- 1572864u,
- 12451840u,
- 1769472u,
- 16515072u,
- 5636096u,
- 4063232u,
- 4915200u,
- 12976128u,
- 13762560u,
- 7929856u,
- 2097152u,
- 10092544u,
- 14352384u,
- 12582912u,
- 16646144u,
- 7864320u,
- 13434880u,
- 5898240u,
- 15990784u,
- 2031616u,
- 14483456u,
- 11010048u,
- 3342336u,
- 8912896u,
- 458752u,
- 13041664u,
- 3211264u,
- 11599872u,
- 1179648u,
- 1048576u,
- 5832704u,
- 2555904u,
- 8388608u,
- 15466496u,
- 6225920u,
- 6291456u,
- 5308416u,
- 8323072u,
- 11075584u,
- 1638400u,
- 11862016u,
- 4849664u,
- 851968u,
- 2949120u,
- 15007744u,
- 7995392u,
- 10420224u,
- 9633792u,
- 13172736u,
- 10223616u,
- 15663104u,
- 10485760u,
- 14680064u,
- 3866624u,
- 5046272u,
- 11403264u,
- 2752512u,
- 16056320u,
- 11534336u,
- 13107200u,
- 15400960u,
- 12255232u,
- 3932160u,
- 8585216u,
- 5439488u,
- 10027008u,
- 6356992u,
- 1507328u,
- 2818048u,
- 262144u,
- 8257536u,
- 12189696u,
- 7798784u,
- 14024704u,
- 2490368u,
- 14745600u,
- 6881280u,
- 1310720u,
- 6488064u,
- 5570560u,
- 2162688u,
- 786432u,
- 8192000u
- },
- {
- 1375731712u,
- 150994944u,
- 1778384896u,
- 3573547008u,
- 805306368u,
- 905969664u,
- 2768240640u,
- 939524096u,
- 3204448256u,
- 1073741824u,
- 2734686208u,
- 2650800128u,
- 2164260864u,
- 4076863488u,
- 3607101440u,
- 4211081216u,
- 2080374784u,
- 3808428032u,
- 956301312u,
- 2181038080u,
- 2600468480u,
- 788529152u,
- 4278190080u,
- 2264924160u,
- 872415232u,
- 2382364672u,
- 1124073472u,
- 1140850688u,
- 3288334336u,
- 3724541952u,
- 3909091328u,
- 3405774848u,
- 1409286144u,
- 2063597568u,
- 2483027968u,
- 838860800u,
- 2785017856u,
- 3254779904u,
- 587202560u,
- 1023410176u,
- 3992977408u,
- 1275068416u,
- 2499805184u,
- 184549376u,
- 1107296256u,
- 4194304000u,
- 3271557120u,
- 1308622848u,
- 134217728u,
- 771751936u,
- 2701131776u,
- 1711276032u,
- 671088640u,
- 3640655872u,
- 603979776u,
- 2986344448u,
- 1979711488u,
- 1526726656u,
- 2717908992u,
- 1224736768u,
- 1828716544u,
- 2332033024u,
- 3506438144u,
- 620756992u,
- 1912602624u,
- 4160749568u,
- 4127195136u,
- 1677721600u,
- 2248146944u,
- 1744830464u,
- 2550136832u,
- 369098752u,
- 3556769792u,
- 2751463424u,
- 1543503872u,
- 3422552064u,
- 1560281088u,
- 1694498816u,
- 3053453312u,
- 2449473536u,
- 1811939328u,
- 1879048192u,
- 1207959552u,
- 1342177280u,
- 4244635648u,
- 3976200192u,
- 3103784960u,
- 3657433088u,
- 1577058304u,
- 352321536u,
- 1174405120u,
- 1459617792u,
- 2801795072u,
- 2365587456u,
- 2634022912u,
- 2214592512u,
- 2415919104u,
- 3623878656u,
- 2868903936u,
- 0u,
- 2348810240u,
- 3154116608u,
- 3539992576u,
- 167772160u,
- 4143972352u,
- 3825205248u,
- 1476395008u,
- 83886080u,
- 3087007744u,
- 3003121664u,
- 1157627904u,
- 100663296u,
- 3489660928u,
- 738197504u,
- 503316480u,
- 2399141888u,
- 3388997632u,
- 1056964608u,
- 251658240u,
- 33554432u,
- 3238002688u,
- 2936012800u,
- 3170893824u,
- 50331648u,
- 16777216u,
- 318767104u,
- 2315255808u,
- 1795162112u,
- 973078528u,
- 2432696320u,
- 285212672u,
- 1090519040u,
- 1325400064u,
- 1728053248u,
- 3690987520u,
- 3925868544u,
- 2533359616u,
- 4060086272u,
- 3472883712u,
- 3456106496u,
- 4026531840u,
- 3019898880u,
- 3858759680u,
- 1929379840u,
- 2516582400u,
- 2885681152u,
- 1946157056u,
- 570425344u,
- 3875536896u,
- 2902458368u,
- 889192448u,
- 2231369728u,
- 3791650816u,
- 4177526784u,
- 922746880u,
- 3892314112u,
- 469762048u,
- 1962934272u,
- 3741319168u,
- 1845493760u,
- 1191182336u,
- 4043309056u,
- 436207616u,
- 1895825408u,
- 486539264u,
- 687865856u,
- 3305111552u,
- 2298478592u,
- 1862270976u,
- 3070230528u,
- 1644167168u,
- 234881024u,
- 2852126720u,
- 402653184u,
- 3187671040u,
- 452984832u,
- 4227858432u,
- 1442840576u,
- 1040187392u,
- 1258291200u,
- 3321888768u,
- 3523215360u,
- 2030043136u,
- 536870912u,
- 2583691264u,
- 3674210304u,
- 3221225472u,
- 4261412864u,
- 2013265920u,
- 3439329280u,
- 1509949440u,
- 4093640704u,
- 520093696u,
- 3707764736u,
- 2818572288u,
- 855638016u,
- 2281701376u,
- 117440512u,
- 3338665984u,
- 822083584u,
- 2969567232u,
- 301989888u,
- 268435456u,
- 1493172224u,
- 654311424u,
- 2147483648u,
- 3959422976u,
- 1593835520u,
- 1610612736u,
- 1358954496u,
- 2130706432u,
- 2835349504u,
- 419430400u,
- 3036676096u,
- 1241513984u,
- 218103808u,
- 754974720u,
- 3841982464u,
- 2046820352u,
- 2667577344u,
- 2466250752u,
- 3372220416u,
- 2617245696u,
- 4009754624u,
- 2684354560u,
- 3758096384u,
- 989855744u,
- 1291845632u,
- 2919235584u,
- 704643072u,
- 4110417920u,
- 2952790016u,
- 3355443200u,
- 3942645760u,
- 3137339392u,
- 1006632960u,
- 2197815296u,
- 1392508928u,
- 2566914048u,
- 1627389952u,
- 385875968u,
- 721420288u,
- 67108864u,
- 2113929216u,
- 3120562176u,
- 1996488704u,
- 3590324224u,
- 637534208u,
- 3774873600u,
- 1761607680u,
- 335544320u,
- 1660944384u,
- 1426063360u,
- 553648128u,
- 201326592u,
- 2097152000u
- }
- }; // idb
- const uint32_t it_tab[4][256] =
- {
- {
- 1353184337u,
- 1399144830u,
- 3282310938u,
- 2522752826u,
- 3412831035u,
- 4047871263u,
- 2874735276u,
- 2466505547u,
- 1442459680u,
- 4134368941u,
- 2440481928u,
- 625738485u,
- 4242007375u,
- 3620416197u,
- 2151953702u,
- 2409849525u,
- 1230680542u,
- 1729870373u,
- 2551114309u,
- 3787521629u,
- 41234371u,
- 317738113u,
- 2744600205u,
- 3338261355u,
- 3881799427u,
- 2510066197u,
- 3950669247u,
- 3663286933u,
- 763608788u,
- 3542185048u,
- 694804553u,
- 1154009486u,
- 1787413109u,
- 2021232372u,
- 1799248025u,
- 3715217703u,
- 3058688446u,
- 397248752u,
- 1722556617u,
- 3023752829u,
- 407560035u,
- 2184256229u,
- 1613975959u,
- 1165972322u,
- 3765920945u,
- 2226023355u,
- 480281086u,
- 2485848313u,
- 1483229296u,
- 436028815u,
- 2272059028u,
- 3086515026u,
- 601060267u,
- 3791801202u,
- 1468997603u,
- 715871590u,
- 120122290u,
- 63092015u,
- 2591802758u,
- 2768779219u,
- 4068943920u,
- 2997206819u,
- 3127509762u,
- 1552029421u,
- 723308426u,
- 2461301159u,
- 4042393587u,
- 2715969870u,
- 3455375973u,
- 3586000134u,
- 526529745u,
- 2331944644u,
- 2639474228u,
- 2689987490u,
- 853641733u,
- 1978398372u,
- 971801355u,
- 2867814464u,
- 111112542u,
- 1360031421u,
- 4186579262u,
- 1023860118u,
- 2919579357u,
- 1186850381u,
- 3045938321u,
- 90031217u,
- 1876166148u,
- 4279586912u,
- 620468249u,
- 2548678102u,
- 3426959497u,
- 2006899047u,
- 3175278768u,
- 2290845959u,
- 945494503u,
- 3689859193u,
- 1191869601u,
- 3910091388u,
- 3374220536u,
- 0u,
- 2206629897u,
- 1223502642u,
- 2893025566u,
- 1316117100u,
- 4227796733u,
- 1446544655u,
- 517320253u,
- 658058550u,
- 1691946762u,
- 564550760u,
- 3511966619u,
- 976107044u,
- 2976320012u,
- 266819475u,
- 3533106868u,
- 2660342555u,
- 1338359936u,
- 2720062561u,
- 1766553434u,
- 370807324u,
- 179999714u,
- 3844776128u,
- 1138762300u,
- 488053522u,
- 185403662u,
- 2915535858u,
- 3114841645u,
- 3366526484u,
- 2233069911u,
- 1275557295u,
- 3151862254u,
- 4250959779u,
- 2670068215u,
- 3170202204u,
- 3309004356u,
- 880737115u,
- 1982415755u,
- 3703972811u,
- 1761406390u,
- 1676797112u,
- 3403428311u,
- 277177154u,
- 1076008723u,
- 538035844u,
- 2099530373u,
- 4164795346u,
- 288553390u,
- 1839278535u,
- 1261411869u,
- 4080055004u,
- 3964831245u,
- 3504587127u,
- 1813426987u,
- 2579067049u,
- 4199060497u,
- 577038663u,
- 3297574056u,
- 440397984u,
- 3626794326u,
- 4019204898u,
- 3343796615u,
- 3251714265u,
- 4272081548u,
- 906744984u,
- 3481400742u,
- 685669029u,
- 646887386u,
- 2764025151u,
- 3835509292u,
- 227702864u,
- 2613862250u,
- 1648787028u,
- 3256061430u,
- 3904428176u,
- 1593260334u,
- 4121936770u,
- 3196083615u,
- 2090061929u,
- 2838353263u,
- 3004310991u,
- 999926984u,
- 2809993232u,
- 1852021992u,
- 2075868123u,
- 158869197u,
- 4095236462u,
- 28809964u,
- 2828685187u,
- 1701746150u,
- 2129067946u,
- 147831841u,
- 3873969647u,
- 3650873274u,
- 3459673930u,
- 3557400554u,
- 3598495785u,
- 2947720241u,
- 824393514u,
- 815048134u,
- 3227951669u,
- 935087732u,
- 2798289660u,
- 2966458592u,
- 366520115u,
- 1251476721u,
- 4158319681u,
- 240176511u,
- 804688151u,
- 2379631990u,
- 1303441219u,
- 1414376140u,
- 3741619940u,
- 3820343710u,
- 461924940u,
- 3089050817u,
- 2136040774u,
- 82468509u,
- 1563790337u,
- 1937016826u,
- 776014843u,
- 1511876531u,
- 1389550482u,
- 861278441u,
- 323475053u,
- 2355222426u,
- 2047648055u,
- 2383738969u,
- 2302415851u,
- 3995576782u,
- 902390199u,
- 3991215329u,
- 1018251130u,
- 1507840668u,
- 1064563285u,
- 2043548696u,
- 3208103795u,
- 3939366739u,
- 1537932639u,
- 342834655u,
- 2262516856u,
- 2180231114u,
- 1053059257u,
- 741614648u,
- 1598071746u,
- 1925389590u,
- 203809468u,
- 2336832552u,
- 1100287487u,
- 1895934009u,
- 3736275976u,
- 2632234200u,
- 2428589668u,
- 1636092795u,
- 1890988757u,
- 1952214088u,
- 1113045200u
- },
- {
- 2817806672u,
- 1698790995u,
- 2752977603u,
- 1579629206u,
- 1806384075u,
- 1167925233u,
- 1492823211u,
- 65227667u,
- 4197458005u,
- 1836494326u,
- 1993115793u,
- 1275262245u,
- 3622129660u,
- 3408578007u,
- 1144333952u,
- 2741155215u,
- 1521606217u,
- 465184103u,
- 250234264u,
- 3237895649u,
- 1966064386u,
- 4031545618u,
- 2537983395u,
- 4191382470u,
- 1603208167u,
- 2626819477u,
- 2054012907u,
- 1498584538u,
- 2210321453u,
- 561273043u,
- 1776306473u,
- 3368652356u,
- 2311222634u,
- 2039411832u,
- 1045993835u,
- 1907959773u,
- 1340194486u,
- 2911432727u,
- 2887829862u,
- 986611124u,
- 1256153880u,
- 823846274u,
- 860985184u,
- 2136171077u,
- 2003087840u,
- 2926295940u,
- 2692873756u,
- 722008468u,
- 1749577816u,
- 4249194265u,
- 1826526343u,
- 4168831671u,
- 3547573027u,
- 38499042u,
- 2401231703u,
- 2874500650u,
- 686535175u,
- 3266653955u,
- 2076542618u,
- 137876389u,
- 2267558130u,
- 2780767154u,
- 1778582202u,
- 2182540636u,
- 483363371u,
- 3027871634u,
- 4060607472u,
- 3798552225u,
- 4107953613u,
- 3188000469u,
- 1647628575u,
- 4272342154u,
- 1395537053u,
- 1442030240u,
- 3783918898u,
- 3958809717u,
- 3968011065u,
- 4016062634u,
- 2675006982u,
- 275692881u,
- 2317434617u,
- 115185213u,
- 88006062u,
- 3185986886u,
- 2371129781u,
- 1573155077u,
- 3557164143u,
- 357589247u,
- 4221049124u,
- 3921532567u,
- 1128303052u,
- 2665047927u,
- 1122545853u,
- 2341013384u,
- 1528424248u,
- 4006115803u,
- 175939911u,
- 256015593u,
- 512030921u,
- 0u,
- 2256537987u,
- 3979031112u,
- 1880170156u,
- 1918528590u,
- 4279172603u,
- 948244310u,
- 3584965918u,
- 959264295u,
- 3641641572u,
- 2791073825u,
- 1415289809u,
- 775300154u,
- 1728711857u,
- 3881276175u,
- 2532226258u,
- 2442861470u,
- 3317727311u,
- 551313826u,
- 1266113129u,
- 437394454u,
- 3130253834u,
- 715178213u,
- 3760340035u,
- 387650077u,
- 218697227u,
- 3347837613u,
- 2830511545u,
- 2837320904u,
- 435246981u,
- 125153100u,
- 3717852859u,
- 1618977789u,
- 637663135u,
- 4117912764u,
- 996558021u,
- 2130402100u,
- 692292470u,
- 3324234716u,
- 4243437160u,
- 4058298467u,
- 3694254026u,
- 2237874704u,
- 580326208u,
- 298222624u,
- 608863613u,
- 1035719416u,
- 855223825u,
- 2703869805u,
- 798891339u,
- 817028339u,
- 1384517100u,
- 3821107152u,
- 380840812u,
- 3111168409u,
- 1217663482u,
- 1693009698u,
- 2365368516u,
- 1072734234u,
- 746411736u,
- 2419270383u,
- 1313441735u,
- 3510163905u,
- 2731183358u,
- 198481974u,
- 2180359887u,
- 3732579624u,
- 2394413606u,
- 3215802276u,
- 2637835492u,
- 2457358349u,
- 3428805275u,
- 1182684258u,
- 328070850u,
- 3101200616u,
- 4147719774u,
- 2948825845u,
- 2153619390u,
- 2479909244u,
- 768962473u,
- 304467891u,
- 2578237499u,
- 2098729127u,
- 1671227502u,
- 3141262203u,
- 2015808777u,
- 408514292u,
- 3080383489u,
- 2588902312u,
- 1855317605u,
- 3875515006u,
- 3485212936u,
- 3893751782u,
- 2615655129u,
- 913263310u,
- 161475284u,
- 2091919830u,
- 2997105071u,
- 591342129u,
- 2493892144u,
- 1721906624u,
- 3159258167u,
- 3397581990u,
- 3499155632u,
- 3634836245u,
- 2550460746u,
- 3672916471u,
- 1355644686u,
- 4136703791u,
- 3595400845u,
- 2968470349u,
- 1303039060u,
- 76997855u,
- 3050413795u,
- 2288667675u,
- 523026872u,
- 1365591679u,
- 3932069124u,
- 898367837u,
- 1955068531u,
- 1091304238u,
- 493335386u,
- 3537605202u,
- 1443948851u,
- 1205234963u,
- 1641519756u,
- 211892090u,
- 351820174u,
- 1007938441u,
- 665439982u,
- 3378624309u,
- 3843875309u,
- 2974251580u,
- 3755121753u,
- 1945261375u,
- 3457423481u,
- 935818175u,
- 3455538154u,
- 2868731739u,
- 1866325780u,
- 3678697606u,
- 4088384129u,
- 3295197502u,
- 874788908u,
- 1084473951u,
- 3273463410u,
- 635616268u,
- 1228679307u,
- 2500722497u,
- 27801969u,
- 3003910366u,
- 3837057180u,
- 3243664528u,
- 2227927905u,
- 3056784752u,
- 1550600308u,
- 1471729730u
- },
- {
- 4098969767u,
- 1098797925u,
- 387629988u,
- 658151006u,
- 2872822635u,
- 2636116293u,
- 4205620056u,
- 3813380867u,
- 807425530u,
- 1991112301u,
- 3431502198u,
- 49620300u,
- 3847224535u,
- 717608907u,
- 891715652u,
- 1656065955u,
- 2984135002u,
- 3123013403u,
- 3930429454u,
- 4267565504u,
- 801309301u,
- 1283527408u,
- 1183687575u,
- 3547055865u,
- 2399397727u,
- 2450888092u,
- 1841294202u,
- 1385552473u,
- 3201576323u,
- 1951978273u,
- 3762891113u,
- 3381544136u,
- 3262474889u,
- 2398386297u,
- 1486449470u,
- 3106397553u,
- 3787372111u,
- 2297436077u,
- 550069932u,
- 3464344634u,
- 3747813450u,
- 451248689u,
- 1368875059u,
- 1398949247u,
- 1689378935u,
- 1807451310u,
- 2180914336u,
- 150574123u,
- 1215322216u,
- 1167006205u,
- 3734275948u,
- 2069018616u,
- 1940595667u,
- 1265820162u,
- 534992783u,
- 1432758955u,
- 3954313000u,
- 3039757250u,
- 3313932923u,
- 936617224u,
- 674296455u,
- 3206787749u,
- 50510442u,
- 384654466u,
- 3481938716u,
- 2041025204u,
- 133427442u,
- 1766760930u,
- 3664104948u,
- 84334014u,
- 886120290u,
- 2797898494u,
- 775200083u,
- 4087521365u,
- 2315596513u,
- 4137973227u,
- 2198551020u,
- 1614850799u,
- 1901987487u,
- 1857900816u,
- 557775242u,
- 3717610758u,
- 1054715397u,
- 3863824061u,
- 1418835341u,
- 3295741277u,
- 100954068u,
- 1348534037u,
- 2551784699u,
- 3184957417u,
- 1082772547u,
- 3647436702u,
- 3903896898u,
- 2298972299u,
- 434583643u,
- 3363429358u,
- 2090944266u,
- 1115482383u,
- 2230896926u,
- 0u,
- 2148107142u,
- 724715757u,
- 287222896u,
- 1517047410u,
- 251526143u,
- 2232374840u,
- 2923241173u,
- 758523705u,
- 252339417u,
- 1550328230u,
- 1536938324u,
- 908343854u,
- 168604007u,
- 1469255655u,
- 4004827798u,
- 2602278545u,
- 3229634501u,
- 3697386016u,
- 2002413899u,
- 303830554u,
- 2481064634u,
- 2696996138u,
- 574374880u,
- 454171927u,
- 151915277u,
- 2347937223u,
- 3056449960u,
- 504678569u,
- 4049044761u,
- 1974422535u,
- 2582559709u,
- 2141453664u,
- 33005350u,
- 1918680309u,
- 1715782971u,
- 4217058430u,
- 1133213225u,
- 600562886u,
- 3988154620u,
- 3837289457u,
- 836225756u,
- 1665273989u,
- 2534621218u,
- 3330547729u,
- 1250262308u,
- 3151165501u,
- 4188934450u,
- 700935585u,
- 2652719919u,
- 3000824624u,
- 2249059410u,
- 3245854947u,
- 3005967382u,
- 1890163129u,
- 2484206152u,
- 3913753188u,
- 4238918796u,
- 4037024319u,
- 2102843436u,
- 857927568u,
- 1233635150u,
- 953795025u,
- 3398237858u,
- 3566745099u,
- 4121350017u,
- 2057644254u,
- 3084527246u,
- 2906629311u,
- 976020637u,
- 2018512274u,
- 1600822220u,
- 2119459398u,
- 2381758995u,
- 3633375416u,
- 959340279u,
- 3280139695u,
- 1570750080u,
- 3496574099u,
- 3580864813u,
- 634368786u,
- 2898803609u,
- 403744637u,
- 2632478307u,
- 1004239803u,
- 650971512u,
- 1500443672u,
- 2599158199u,
- 1334028442u,
- 2514904430u,
- 4289363686u,
- 3156281551u,
- 368043752u,
- 3887782299u,
- 1867173430u,
- 2682967049u,
- 2955531900u,
- 2754719666u,
- 1059729699u,
- 2781229204u,
- 2721431654u,
- 1316239292u,
- 2197595850u,
- 2430644432u,
- 2805143000u,
- 82922136u,
- 3963746266u,
- 3447656016u,
- 2434215926u,
- 1299615190u,
- 4014165424u,
- 2865517645u,
- 2531581700u,
- 3516851125u,
- 1783372680u,
- 750893087u,
- 1699118929u,
- 1587348714u,
- 2348899637u,
- 2281337716u,
- 201010753u,
- 1739807261u,
- 3683799762u,
- 283718486u,
- 3597472583u,
- 3617229921u,
- 2704767500u,
- 4166618644u,
- 334203196u,
- 2848910887u,
- 1639396809u,
- 484568549u,
- 1199193265u,
- 3533461983u,
- 4065673075u,
- 337148366u,
- 3346251575u,
- 4149471949u,
- 4250885034u,
- 1038029935u,
- 1148749531u,
- 2949284339u,
- 1756970692u,
- 607661108u,
- 2747424576u,
- 488010435u,
- 3803974693u,
- 1009290057u,
- 234832277u,
- 2822336769u,
- 201907891u,
- 3034094820u,
- 1449431233u,
- 3413860740u,
- 852848822u,
- 1816687708u,
- 3100656215u
- },
- {
- 1364240372u,
- 2119394625u,
- 449029143u,
- 982933031u,
- 1003187115u,
- 535905693u,
- 2896910586u,
- 1267925987u,
- 542505520u,
- 2918608246u,
- 2291234508u,
- 4112862210u,
- 1341970405u,
- 3319253802u,
- 645940277u,
- 3046089570u,
- 3729349297u,
- 627514298u,
- 1167593194u,
- 1575076094u,
- 3271718191u,
- 2165502028u,
- 2376308550u,
- 1808202195u,
- 65494927u,
- 362126482u,
- 3219880557u,
- 2514114898u,
- 3559752638u,
- 1490231668u,
- 1227450848u,
- 2386872521u,
- 1969916354u,
- 4101536142u,
- 2573942360u,
- 668823993u,
- 3199619041u,
- 4028083592u,
- 3378949152u,
- 2108963534u,
- 1662536415u,
- 3850514714u,
- 2539664209u,
- 1648721747u,
- 2984277860u,
- 3146034795u,
- 4263288961u,
- 4187237128u,
- 1884842056u,
- 2400845125u,
- 2491903198u,
- 1387788411u,
- 2871251827u,
- 1927414347u,
- 3814166303u,
- 1714072405u,
- 2986813675u,
- 788775605u,
- 2258271173u,
- 3550808119u,
- 821200680u,
- 598910399u,
- 45771267u,
- 3982262806u,
- 2318081231u,
- 2811409529u,
- 4092654087u,
- 1319232105u,
- 1707996378u,
- 114671109u,
- 3508494900u,
- 3297443494u,
- 882725678u,
- 2728416755u,
- 87220618u,
- 2759191542u,
- 188345475u,
- 1084944224u,
- 1577492337u,
- 3176206446u,
- 1056541217u,
- 2520581853u,
- 3719169342u,
- 1296481766u,
- 2444594516u,
- 1896177092u,
- 74437638u,
- 1627329872u,
- 421854104u,
- 3600279997u,
- 2311865152u,
- 1735892697u,
- 2965193448u,
- 126389129u,
- 3879230233u,
- 2044456648u,
- 2705787516u,
- 2095648578u,
- 4173930116u,
- 0u,
- 159614592u,
- 843640107u,
- 514617361u,
- 1817080410u,
- 4261150478u,
- 257308805u,
- 1025430958u,
- 908540205u,
- 174381327u,
- 1747035740u,
- 2614187099u,
- 607792694u,
- 212952842u,
- 2467293015u,
- 3033700078u,
- 463376795u,
- 2152711616u,
- 1638015196u,
- 1516850039u,
- 471210514u,
- 3792353939u,
- 3236244128u,
- 1011081250u,
- 303896347u,
- 235605257u,
- 4071475083u,
- 767142070u,
- 348694814u,
- 1468340721u,
- 2940995445u,
- 4005289369u,
- 2751291519u,
- 4154402305u,
- 1555887474u,
- 1153776486u,
- 1530167035u,
- 2339776835u,
- 3420243491u,
- 3060333805u,
- 3093557732u,
- 3620396081u,
- 1108378979u,
- 322970263u,
- 2216694214u,
- 2239571018u,
- 3539484091u,
- 2920362745u,
- 3345850665u,
- 491466654u,
- 3706925234u,
- 233591430u,
- 2010178497u,
- 728503987u,
- 2845423984u,
- 301615252u,
- 1193436393u,
- 2831453436u,
- 2686074864u,
- 1457007741u,
- 586125363u,
- 2277985865u,
- 3653357880u,
- 2365498058u,
- 2553678804u,
- 2798617077u,
- 2770919034u,
- 3659959991u,
- 1067761581u,
- 753179962u,
- 1343066744u,
- 1788595295u,
- 1415726718u,
- 4139914125u,
- 2431170776u,
- 777975609u,
- 2197139395u,
- 2680062045u,
- 1769771984u,
- 1873358293u,
- 3484619301u,
- 3359349164u,
- 279411992u,
- 3899548572u,
- 3682319163u,
- 3439949862u,
- 1861490777u,
- 3959535514u,
- 2208864847u,
- 3865407125u,
- 2860443391u,
- 554225596u,
- 4024887317u,
- 3134823399u,
- 1255028335u,
- 3939764639u,
- 701922480u,
- 833598116u,
- 707863359u,
- 3325072549u,
- 901801634u,
- 1949809742u,
- 4238789250u,
- 3769684112u,
- 857069735u,
- 4048197636u,
- 1106762476u,
- 2131644621u,
- 389019281u,
- 1989006925u,
- 1129165039u,
- 3428076970u,
- 3839820950u,
- 2665723345u,
- 1276872810u,
- 3250069292u,
- 1182749029u,
- 2634345054u,
- 22885772u,
- 4201870471u,
- 4214112523u,
- 3009027431u,
- 2454901467u,
- 3912455696u,
- 1829980118u,
- 2592891351u,
- 930745505u,
- 1502483704u,
- 3951639571u,
- 3471714217u,
- 3073755489u,
- 3790464284u,
- 2050797895u,
- 2623135698u,
- 1430221810u,
- 410635796u,
- 1941911495u,
- 1407897079u,
- 1599843069u,
- 3742658365u,
- 2022103876u,
- 3397514159u,
- 3107898472u,
- 942421028u,
- 3261022371u,
- 376619805u,
- 3154912738u,
- 680216892u,
- 4282488077u,
- 963707304u,
- 148812556u,
- 3634160820u,
- 1687208278u,
- 2069988555u,
- 3580933682u,
- 1215585388u,
- 3494008760u
- }
- }; // idb
- const uint32_t fl_tab[4][256] =
- {
- {
- 99u,
- 124u,
- 119u,
- 123u,
- 242u,
- 107u,
- 111u,
- 197u,
- 48u,
- 1u,
- 103u,
- 43u,
- 254u,
- 215u,
- 171u,
- 118u,
- 202u,
- 130u,
- 201u,
- 125u,
- 250u,
- 89u,
- 71u,
- 240u,
- 173u,
- 212u,
- 162u,
- 175u,
- 156u,
- 164u,
- 114u,
- 192u,
- 183u,
- 253u,
- 147u,
- 38u,
- 54u,
- 63u,
- 247u,
- 204u,
- 52u,
- 165u,
- 229u,
- 241u,
- 113u,
- 216u,
- 49u,
- 21u,
- 4u,
- 199u,
- 35u,
- 195u,
- 24u,
- 150u,
- 5u,
- 154u,
- 7u,
- 18u,
- 128u,
- 226u,
- 235u,
- 39u,
- 178u,
- 117u,
- 9u,
- 131u,
- 44u,
- 26u,
- 27u,
- 110u,
- 90u,
- 160u,
- 82u,
- 59u,
- 214u,
- 179u,
- 41u,
- 227u,
- 47u,
- 132u,
- 83u,
- 209u,
- 0u,
- 237u,
- 32u,
- 252u,
- 177u,
- 91u,
- 106u,
- 203u,
- 190u,
- 57u,
- 74u,
- 76u,
- 88u,
- 207u,
- 208u,
- 239u,
- 170u,
- 251u,
- 67u,
- 77u,
- 51u,
- 133u,
- 69u,
- 249u,
- 2u,
- 127u,
- 80u,
- 60u,
- 159u,
- 168u,
- 81u,
- 163u,
- 64u,
- 143u,
- 146u,
- 157u,
- 56u,
- 245u,
- 188u,
- 182u,
- 218u,
- 33u,
- 16u,
- 255u,
- 243u,
- 210u,
- 205u,
- 12u,
- 19u,
- 236u,
- 95u,
- 151u,
- 68u,
- 23u,
- 196u,
- 167u,
- 126u,
- 61u,
- 100u,
- 93u,
- 25u,
- 115u,
- 96u,
- 129u,
- 79u,
- 220u,
- 34u,
- 42u,
- 144u,
- 136u,
- 70u,
- 238u,
- 184u,
- 20u,
- 222u,
- 94u,
- 11u,
- 219u,
- 224u,
- 50u,
- 58u,
- 10u,
- 73u,
- 6u,
- 36u,
- 92u,
- 194u,
- 211u,
- 172u,
- 98u,
- 145u,
- 149u,
- 228u,
- 121u,
- 231u,
- 200u,
- 55u,
- 109u,
- 141u,
- 213u,
- 78u,
- 169u,
- 108u,
- 86u,
- 244u,
- 234u,
- 101u,
- 122u,
- 174u,
- 8u,
- 186u,
- 120u,
- 37u,
- 46u,
- 28u,
- 166u,
- 180u,
- 198u,
- 232u,
- 221u,
- 116u,
- 31u,
- 75u,
- 189u,
- 139u,
- 138u,
- 112u,
- 62u,
- 181u,
- 102u,
- 72u,
- 3u,
- 246u,
- 14u,
- 97u,
- 53u,
- 87u,
- 185u,
- 134u,
- 193u,
- 29u,
- 158u,
- 225u,
- 248u,
- 152u,
- 17u,
- 105u,
- 217u,
- 142u,
- 148u,
- 155u,
- 30u,
- 135u,
- 233u,
- 206u,
- 85u,
- 40u,
- 223u,
- 140u,
- 161u,
- 137u,
- 13u,
- 191u,
- 230u,
- 66u,
- 104u,
- 65u,
- 153u,
- 45u,
- 15u,
- 176u,
- 84u,
- 187u,
- 22u
- },
- {
- 25344u,
- 31744u,
- 30464u,
- 31488u,
- 61952u,
- 27392u,
- 28416u,
- 50432u,
- 12288u,
- 256u,
- 26368u,
- 11008u,
- 65024u,
- 55040u,
- 43776u,
- 30208u,
- 51712u,
- 33280u,
- 51456u,
- 32000u,
- 64000u,
- 22784u,
- 18176u,
- 61440u,
- 44288u,
- 54272u,
- 41472u,
- 44800u,
- 39936u,
- 41984u,
- 29184u,
- 49152u,
- 46848u,
- 64768u,
- 37632u,
- 9728u,
- 13824u,
- 16128u,
- 63232u,
- 52224u,
- 13312u,
- 42240u,
- 58624u,
- 61696u,
- 28928u,
- 55296u,
- 12544u,
- 5376u,
- 1024u,
- 50944u,
- 8960u,
- 49920u,
- 6144u,
- 38400u,
- 1280u,
- 39424u,
- 1792u,
- 4608u,
- 32768u,
- 57856u,
- 60160u,
- 9984u,
- 45568u,
- 29952u,
- 2304u,
- 33536u,
- 11264u,
- 6656u,
- 6912u,
- 28160u,
- 23040u,
- 40960u,
- 20992u,
- 15104u,
- 54784u,
- 45824u,
- 10496u,
- 58112u,
- 12032u,
- 33792u,
- 21248u,
- 53504u,
- 0u,
- 60672u,
- 8192u,
- 64512u,
- 45312u,
- 23296u,
- 27136u,
- 51968u,
- 48640u,
- 14592u,
- 18944u,
- 19456u,
- 22528u,
- 52992u,
- 53248u,
- 61184u,
- 43520u,
- 64256u,
- 17152u,
- 19712u,
- 13056u,
- 34048u,
- 17664u,
- 63744u,
- 512u,
- 32512u,
- 20480u,
- 15360u,
- 40704u,
- 43008u,
- 20736u,
- 41728u,
- 16384u,
- 36608u,
- 37376u,
- 40192u,
- 14336u,
- 62720u,
- 48128u,
- 46592u,
- 55808u,
- 8448u,
- 4096u,
- 65280u,
- 62208u,
- 53760u,
- 52480u,
- 3072u,
- 4864u,
- 60416u,
- 24320u,
- 38656u,
- 17408u,
- 5888u,
- 50176u,
- 42752u,
- 32256u,
- 15616u,
- 25600u,
- 23808u,
- 6400u,
- 29440u,
- 24576u,
- 33024u,
- 20224u,
- 56320u,
- 8704u,
- 10752u,
- 36864u,
- 34816u,
- 17920u,
- 60928u,
- 47104u,
- 5120u,
- 56832u,
- 24064u,
- 2816u,
- 56064u,
- 57344u,
- 12800u,
- 14848u,
- 2560u,
- 18688u,
- 1536u,
- 9216u,
- 23552u,
- 49664u,
- 54016u,
- 44032u,
- 25088u,
- 37120u,
- 38144u,
- 58368u,
- 30976u,
- 59136u,
- 51200u,
- 14080u,
- 27904u,
- 36096u,
- 54528u,
- 19968u,
- 43264u,
- 27648u,
- 22016u,
- 62464u,
- 59904u,
- 25856u,
- 31232u,
- 44544u,
- 2048u,
- 47616u,
- 30720u,
- 9472u,
- 11776u,
- 7168u,
- 42496u,
- 46080u,
- 50688u,
- 59392u,
- 56576u,
- 29696u,
- 7936u,
- 19200u,
- 48384u,
- 35584u,
- 35328u,
- 28672u,
- 15872u,
- 46336u,
- 26112u,
- 18432u,
- 768u,
- 62976u,
- 3584u,
- 24832u,
- 13568u,
- 22272u,
- 47360u,
- 34304u,
- 49408u,
- 7424u,
- 40448u,
- 57600u,
- 63488u,
- 38912u,
- 4352u,
- 26880u,
- 55552u,
- 36352u,
- 37888u,
- 39680u,
- 7680u,
- 34560u,
- 59648u,
- 52736u,
- 21760u,
- 10240u,
- 57088u,
- 35840u,
- 41216u,
- 35072u,
- 3328u,
- 48896u,
- 58880u,
- 16896u,
- 26624u,
- 16640u,
- 39168u,
- 11520u,
- 3840u,
- 45056u,
- 21504u,
- 47872u,
- 5632u
- },
- {
- 6488064u,
- 8126464u,
- 7798784u,
- 8060928u,
- 15859712u,
- 7012352u,
- 7274496u,
- 12910592u,
- 3145728u,
- 65536u,
- 6750208u,
- 2818048u,
- 16646144u,
- 14090240u,
- 11206656u,
- 7733248u,
- 13238272u,
- 8519680u,
- 13172736u,
- 8192000u,
- 16384000u,
- 5832704u,
- 4653056u,
- 15728640u,
- 11337728u,
- 13893632u,
- 10616832u,
- 11468800u,
- 10223616u,
- 10747904u,
- 7471104u,
- 12582912u,
- 11993088u,
- 16580608u,
- 9633792u,
- 2490368u,
- 3538944u,
- 4128768u,
- 16187392u,
- 13369344u,
- 3407872u,
- 10813440u,
- 15007744u,
- 15794176u,
- 7405568u,
- 14155776u,
- 3211264u,
- 1376256u,
- 262144u,
- 13041664u,
- 2293760u,
- 12779520u,
- 1572864u,
- 9830400u,
- 327680u,
- 10092544u,
- 458752u,
- 1179648u,
- 8388608u,
- 14811136u,
- 15400960u,
- 2555904u,
- 11665408u,
- 7667712u,
- 589824u,
- 8585216u,
- 2883584u,
- 1703936u,
- 1769472u,
- 7208960u,
- 5898240u,
- 10485760u,
- 5373952u,
- 3866624u,
- 14024704u,
- 11730944u,
- 2686976u,
- 14876672u,
- 3080192u,
- 8650752u,
- 5439488u,
- 13697024u,
- 0u,
- 15532032u,
- 2097152u,
- 16515072u,
- 11599872u,
- 5963776u,
- 6946816u,
- 13303808u,
- 12451840u,
- 3735552u,
- 4849664u,
- 4980736u,
- 5767168u,
- 13565952u,
- 13631488u,
- 15663104u,
- 11141120u,
- 16449536u,
- 4390912u,
- 5046272u,
- 3342336u,
- 8716288u,
- 4521984u,
- 16318464u,
- 131072u,
- 8323072u,
- 5242880u,
- 3932160u,
- 10420224u,
- 11010048u,
- 5308416u,
- 10682368u,
- 4194304u,
- 9371648u,
- 9568256u,
- 10289152u,
- 3670016u,
- 16056320u,
- 12320768u,
- 11927552u,
- 14286848u,
- 2162688u,
- 1048576u,
- 16711680u,
- 15925248u,
- 13762560u,
- 13434880u,
- 786432u,
- 1245184u,
- 15466496u,
- 6225920u,
- 9895936u,
- 4456448u,
- 1507328u,
- 12845056u,
- 10944512u,
- 8257536u,
- 3997696u,
- 6553600u,
- 6094848u,
- 1638400u,
- 7536640u,
- 6291456u,
- 8454144u,
- 5177344u,
- 14417920u,
- 2228224u,
- 2752512u,
- 9437184u,
- 8912896u,
- 4587520u,
- 15597568u,
- 12058624u,
- 1310720u,
- 14548992u,
- 6160384u,
- 720896u,
- 14352384u,
- 14680064u,
- 3276800u,
- 3801088u,
- 655360u,
- 4784128u,
- 393216u,
- 2359296u,
- 6029312u,
- 12713984u,
- 13828096u,
- 11272192u,
- 6422528u,
- 9502720u,
- 9764864u,
- 14942208u,
- 7929856u,
- 15138816u,
- 13107200u,
- 3604480u,
- 7143424u,
- 9240576u,
- 13959168u,
- 5111808u,
- 11075584u,
- 7077888u,
- 5636096u,
- 15990784u,
- 15335424u,
- 6619136u,
- 7995392u,
- 11403264u,
- 524288u,
- 12189696u,
- 7864320u,
- 2424832u,
- 3014656u,
- 1835008u,
- 10878976u,
- 11796480u,
- 12976128u,
- 15204352u,
- 14483456u,
- 7602176u,
- 2031616u,
- 4915200u,
- 12386304u,
- 9109504u,
- 9043968u,
- 7340032u,
- 4063232u,
- 11862016u,
- 6684672u,
- 4718592u,
- 196608u,
- 16121856u,
- 917504u,
- 6356992u,
- 3473408u,
- 5701632u,
- 12124160u,
- 8781824u,
- 12648448u,
- 1900544u,
- 10354688u,
- 14745600u,
- 16252928u,
- 9961472u,
- 1114112u,
- 6881280u,
- 14221312u,
- 9306112u,
- 9699328u,
- 10158080u,
- 1966080u,
- 8847360u,
- 15269888u,
- 13500416u,
- 5570560u,
- 2621440u,
- 14614528u,
- 9175040u,
- 10551296u,
- 8978432u,
- 851968u,
- 12517376u,
- 15073280u,
- 4325376u,
- 6815744u,
- 4259840u,
- 10027008u,
- 2949120u,
- 983040u,
- 11534336u,
- 5505024u,
- 12255232u,
- 1441792u
- },
- {
- 1660944384u,
- 2080374784u,
- 1996488704u,
- 2063597568u,
- 4060086272u,
- 1795162112u,
- 1862270976u,
- 3305111552u,
- 805306368u,
- 16777216u,
- 1728053248u,
- 721420288u,
- 4261412864u,
- 3607101440u,
- 2868903936u,
- 1979711488u,
- 3388997632u,
- 2181038080u,
- 3372220416u,
- 2097152000u,
- 4194304000u,
- 1493172224u,
- 1191182336u,
- 4026531840u,
- 2902458368u,
- 3556769792u,
- 2717908992u,
- 2936012800u,
- 2617245696u,
- 2751463424u,
- 1912602624u,
- 3221225472u,
- 3070230528u,
- 4244635648u,
- 2466250752u,
- 637534208u,
- 905969664u,
- 1056964608u,
- 4143972352u,
- 3422552064u,
- 872415232u,
- 2768240640u,
- 3841982464u,
- 4043309056u,
- 1895825408u,
- 3623878656u,
- 822083584u,
- 352321536u,
- 67108864u,
- 3338665984u,
- 587202560u,
- 3271557120u,
- 402653184u,
- 2516582400u,
- 83886080u,
- 2583691264u,
- 117440512u,
- 301989888u,
- 2147483648u,
- 3791650816u,
- 3942645760u,
- 654311424u,
- 2986344448u,
- 1962934272u,
- 150994944u,
- 2197815296u,
- 738197504u,
- 436207616u,
- 452984832u,
- 1845493760u,
- 1509949440u,
- 2684354560u,
- 1375731712u,
- 989855744u,
- 3590324224u,
- 3003121664u,
- 687865856u,
- 3808428032u,
- 788529152u,
- 2214592512u,
- 1392508928u,
- 3506438144u,
- 0u,
- 3976200192u,
- 536870912u,
- 4227858432u,
- 2969567232u,
- 1526726656u,
- 1778384896u,
- 3405774848u,
- 3187671040u,
- 956301312u,
- 1241513984u,
- 1275068416u,
- 1476395008u,
- 3472883712u,
- 3489660928u,
- 4009754624u,
- 2852126720u,
- 4211081216u,
- 1124073472u,
- 1291845632u,
- 855638016u,
- 2231369728u,
- 1157627904u,
- 4177526784u,
- 33554432u,
- 2130706432u,
- 1342177280u,
- 1006632960u,
- 2667577344u,
- 2818572288u,
- 1358954496u,
- 2734686208u,
- 1073741824u,
- 2399141888u,
- 2449473536u,
- 2634022912u,
- 939524096u,
- 4110417920u,
- 3154116608u,
- 3053453312u,
- 3657433088u,
- 553648128u,
- 268435456u,
- 4278190080u,
- 4076863488u,
- 3523215360u,
- 3439329280u,
- 201326592u,
- 318767104u,
- 3959422976u,
- 1593835520u,
- 2533359616u,
- 1140850688u,
- 385875968u,
- 3288334336u,
- 2801795072u,
- 2113929216u,
- 1023410176u,
- 1677721600u,
- 1560281088u,
- 419430400u,
- 1929379840u,
- 1610612736u,
- 2164260864u,
- 1325400064u,
- 3690987520u,
- 570425344u,
- 704643072u,
- 2415919104u,
- 2281701376u,
- 1174405120u,
- 3992977408u,
- 3087007744u,
- 335544320u,
- 3724541952u,
- 1577058304u,
- 184549376u,
- 3674210304u,
- 3758096384u,
- 838860800u,
- 973078528u,
- 167772160u,
- 1224736768u,
- 100663296u,
- 603979776u,
- 1543503872u,
- 3254779904u,
- 3539992576u,
- 2885681152u,
- 1644167168u,
- 2432696320u,
- 2499805184u,
- 3825205248u,
- 2030043136u,
- 3875536896u,
- 3355443200u,
- 922746880u,
- 1828716544u,
- 2365587456u,
- 3573547008u,
- 1308622848u,
- 2835349504u,
- 1811939328u,
- 1442840576u,
- 4093640704u,
- 3925868544u,
- 1694498816u,
- 2046820352u,
- 2919235584u,
- 134217728u,
- 3120562176u,
- 2013265920u,
- 620756992u,
- 771751936u,
- 469762048u,
- 2785017856u,
- 3019898880u,
- 3321888768u,
- 3892314112u,
- 3707764736u,
- 1946157056u,
- 520093696u,
- 1258291200u,
- 3170893824u,
- 2332033024u,
- 2315255808u,
- 1879048192u,
- 1040187392u,
- 3036676096u,
- 1711276032u,
- 1207959552u,
- 50331648u,
- 4127195136u,
- 234881024u,
- 1627389952u,
- 889192448u,
- 1459617792u,
- 3103784960u,
- 2248146944u,
- 3238002688u,
- 486539264u,
- 2650800128u,
- 3774873600u,
- 4160749568u,
- 2550136832u,
- 285212672u,
- 1761607680u,
- 3640655872u,
- 2382364672u,
- 2483027968u,
- 2600468480u,
- 503316480u,
- 2264924160u,
- 3909091328u,
- 3456106496u,
- 1426063360u,
- 671088640u,
- 3741319168u,
- 2348810240u,
- 2701131776u,
- 2298478592u,
- 218103808u,
- 3204448256u,
- 3858759680u,
- 1107296256u,
- 1744830464u,
- 1090519040u,
- 2566914048u,
- 754974720u,
- 251658240u,
- 2952790016u,
- 1409286144u,
- 3137339392u,
- 369098752u
- }
- }; // idb
- const uint32_t ft_tab[4][256] =
- {
- {
- 2774754246u,
- 2222750968u,
- 2574743534u,
- 2373680118u,
- 234025727u,
- 3177933782u,
- 2976870366u,
- 1422247313u,
- 1345335392u,
- 50397442u,
- 2842126286u,
- 2099981142u,
- 436141799u,
- 1658312629u,
- 3870010189u,
- 2591454956u,
- 1170918031u,
- 2642575903u,
- 1086966153u,
- 2273148410u,
- 368769775u,
- 3948501426u,
- 3376891790u,
- 200339707u,
- 3970805057u,
- 1742001331u,
- 4255294047u,
- 3937382213u,
- 3214711843u,
- 4154762323u,
- 2524082916u,
- 1539358875u,
- 3266819957u,
- 486407649u,
- 2928907069u,
- 1780885068u,
- 1513502316u,
- 1094664062u,
- 49805301u,
- 1338821763u,
- 1546925160u,
- 4104496465u,
- 887481809u,
- 150073849u,
- 2473685474u,
- 1943591083u,
- 1395732834u,
- 1058346282u,
- 201589768u,
- 1388824469u,
- 1696801606u,
- 1589887901u,
- 672667696u,
- 2711000631u,
- 251987210u,
- 3046808111u,
- 151455502u,
- 907153956u,
- 2608889883u,
- 1038279391u,
- 652995533u,
- 1764173646u,
- 3451040383u,
- 2675275242u,
- 453576978u,
- 2659418909u,
- 1949051992u,
- 773462580u,
- 756751158u,
- 2993581788u,
- 3998898868u,
- 4221608027u,
- 4132590244u,
- 1295727478u,
- 1641469623u,
- 3467883389u,
- 2066295122u,
- 1055122397u,
- 1898917726u,
- 2542044179u,
- 4115878822u,
- 1758581177u,
- 0u,
- 753790401u,
- 1612718144u,
- 536673507u,
- 3367088505u,
- 3982187446u,
- 3194645204u,
- 1187761037u,
- 3653156455u,
- 1262041458u,
- 3729410708u,
- 3561770136u,
- 3898103984u,
- 1255133061u,
- 1808847035u,
- 720367557u,
- 3853167183u,
- 385612781u,
- 3309519750u,
- 3612167578u,
- 1429418854u,
- 2491778321u,
- 3477423498u,
- 284817897u,
- 100794884u,
- 2172616702u,
- 4031795360u,
- 1144798328u,
- 3131023141u,
- 3819481163u,
- 4082192802u,
- 4272137053u,
- 3225436288u,
- 2324664069u,
- 2912064063u,
- 3164445985u,
- 1211644016u,
- 83228145u,
- 3753688163u,
- 3249976951u,
- 1977277103u,
- 1663115586u,
- 806359072u,
- 452984805u,
- 250868733u,
- 1842533055u,
- 1288555905u,
- 336333848u,
- 890442534u,
- 804056259u,
- 3781124030u,
- 2727843637u,
- 3427026056u,
- 957814574u,
- 1472513171u,
- 4071073621u,
- 2189328124u,
- 1195195770u,
- 2892260552u,
- 3881655738u,
- 723065138u,
- 2507371494u,
- 2690670784u,
- 2558624025u,
- 3511635870u,
- 2145180835u,
- 1713513028u,
- 2116692564u,
- 2878378043u,
- 2206763019u,
- 3393603212u,
- 703524551u,
- 3552098411u,
- 1007948840u,
- 2044649127u,
- 3797835452u,
- 487262998u,
- 1994120109u,
- 1004593371u,
- 1446130276u,
- 1312438900u,
- 503974420u,
- 3679013266u,
- 168166924u,
- 1814307912u,
- 3831258296u,
- 1573044895u,
- 1859376061u,
- 4021070915u,
- 2791465668u,
- 2828112185u,
- 2761266481u,
- 937747667u,
- 2339994098u,
- 854058965u,
- 1137232011u,
- 1496790894u,
- 3077402074u,
- 2358086913u,
- 1691735473u,
- 3528347292u,
- 3769215305u,
- 3027004632u,
- 4199962284u,
- 133494003u,
- 636152527u,
- 2942657994u,
- 2390391540u,
- 3920539207u,
- 403179536u,
- 3585784431u,
- 2289596656u,
- 1864705354u,
- 1915629148u,
- 605822008u,
- 4054230615u,
- 3350508659u,
- 1371981463u,
- 602466507u,
- 2094914977u,
- 2624877800u,
- 555687742u,
- 3712699286u,
- 3703422305u,
- 2257292045u,
- 2240449039u,
- 2423288032u,
- 1111375484u,
- 3300242801u,
- 2858837708u,
- 3628615824u,
- 84083462u,
- 32962295u,
- 302911004u,
- 2741068226u,
- 1597322602u,
- 4183250862u,
- 3501832553u,
- 2441512471u,
- 1489093017u,
- 656219450u,
- 3114180135u,
- 954327513u,
- 335083755u,
- 3013122091u,
- 856756514u,
- 3144247762u,
- 1893325225u,
- 2307821063u,
- 2811532339u,
- 3063651117u,
- 572399164u,
- 2458355477u,
- 552200649u,
- 1238290055u,
- 4283782570u,
- 2015897680u,
- 2061492133u,
- 2408352771u,
- 4171342169u,
- 2156497161u,
- 386731290u,
- 3669999461u,
- 837215959u,
- 3326231172u,
- 3093850320u,
- 3275833730u,
- 2962856233u,
- 1999449434u,
- 286199582u,
- 3417354363u,
- 4233385128u,
- 3602627437u,
- 974525996u
- },
- {
- 1667483301u,
- 2088564868u,
- 2004348569u,
- 2071721613u,
- 4076011277u,
- 1802229437u,
- 1869602481u,
- 3318059348u,
- 808476752u,
- 16843267u,
- 1734856361u,
- 724260477u,
- 4278118169u,
- 3621238114u,
- 2880130534u,
- 1987505306u,
- 3402272581u,
- 2189565853u,
- 3385428288u,
- 2105408135u,
- 4210749205u,
- 1499050731u,
- 1195871945u,
- 4042324747u,
- 2913812972u,
- 3570709351u,
- 2728550397u,
- 2947499498u,
- 2627478463u,
- 2762232823u,
- 1920132246u,
- 3233848155u,
- 3082253762u,
- 4261273884u,
- 2475900334u,
- 640044138u,
- 909536346u,
- 1061125697u,
- 4160222466u,
- 3435955023u,
- 875849820u,
- 2779075060u,
- 3857043764u,
- 4059166984u,
- 1903288979u,
- 3638078323u,
- 825320019u,
- 353708607u,
- 67373068u,
- 3351745874u,
- 589514341u,
- 3284376926u,
- 404238376u,
- 2526427041u,
- 84216335u,
- 2593796021u,
- 117902857u,
- 303178806u,
- 2155879323u,
- 3806519101u,
- 3958099238u,
- 656887401u,
- 2998042573u,
- 1970662047u,
- 151589403u,
- 2206408094u,
- 741103732u,
- 437924910u,
- 454768173u,
- 1852759218u,
- 1515893998u,
- 2694863867u,
- 1381147894u,
- 993752653u,
- 3604395873u,
- 3014884814u,
- 690573947u,
- 3823361342u,
- 791633521u,
- 2223248279u,
- 1397991157u,
- 3520182632u,
- 0u,
- 3991781676u,
- 538984544u,
- 4244431647u,
- 2981198280u,
- 1532737261u,
- 1785386174u,
- 3419114822u,
- 3200149465u,
- 960066123u,
- 1246401758u,
- 1280088276u,
- 1482207464u,
- 3486483786u,
- 3503340395u,
- 4025468202u,
- 2863288293u,
- 4227591446u,
- 1128498885u,
- 1296931543u,
- 859006549u,
- 2240090516u,
- 1162185423u,
- 4193904912u,
- 33686534u,
- 2139094657u,
- 1347461360u,
- 1010595908u,
- 2678007226u,
- 2829601763u,
- 1364304627u,
- 2745392638u,
- 1077969088u,
- 2408514954u,
- 2459058093u,
- 2644320700u,
- 943222856u,
- 4126535940u,
- 3166462943u,
- 3065411521u,
- 3671764853u,
- 555827811u,
- 269492272u,
- 4294960410u,
- 4092853518u,
- 3537026925u,
- 3452797260u,
- 202119188u,
- 320022069u,
- 3974939439u,
- 1600110305u,
- 2543269282u,
- 1145342156u,
- 387395129u,
- 3301217111u,
- 2812761586u,
- 2122251394u,
- 1027439175u,
- 1684326572u,
- 1566423783u,
- 421081643u,
- 1936975509u,
- 1616953504u,
- 2172721560u,
- 1330618065u,
- 3705447295u,
- 572671078u,
- 707417214u,
- 2425371563u,
- 2290617219u,
- 1179028682u,
- 4008625961u,
- 3099093971u,
- 336865340u,
- 3739133817u,
- 1583267042u,
- 185275933u,
- 3688607094u,
- 3772832571u,
- 842163286u,
- 976909390u,
- 168432670u,
- 1229558491u,
- 101059594u,
- 606357612u,
- 1549580516u,
- 3267534685u,
- 3553869166u,
- 2896970735u,
- 1650640038u,
- 2442213800u,
- 2509582756u,
- 3840201527u,
- 2038035083u,
- 3890730290u,
- 3368586051u,
- 926379609u,
- 1835915959u,
- 2374828428u,
- 3587551588u,
- 1313774802u,
- 2846444000u,
- 1819072692u,
- 1448520954u,
- 4109693703u,
- 3941256997u,
- 1701169839u,
- 2054878350u,
- 2930657257u,
- 134746136u,
- 3132780501u,
- 2021191816u,
- 623200879u,
- 774790258u,
- 471611428u,
- 2795919345u,
- 3031724999u,
- 3334903633u,
- 3907570467u,
- 3722289532u,
- 1953818780u,
- 522141217u,
- 1263245021u,
- 3183305180u,
- 2341145990u,
- 2324303749u,
- 1886445712u,
- 1044282434u,
- 3048567236u,
- 1718013098u,
- 1212715224u,
- 50529797u,
- 4143380225u,
- 235805714u,
- 1633796771u,
- 892693087u,
- 1465364217u,
- 3115936208u,
- 2256934801u,
- 3250690392u,
- 488454695u,
- 2661164985u,
- 3789674808u,
- 4177062675u,
- 2560109491u,
- 286335539u,
- 1768542907u,
- 3654920560u,
- 2391672713u,
- 2492740519u,
- 2610638262u,
- 505297954u,
- 2273777042u,
- 3924412704u,
- 3469641545u,
- 1431677695u,
- 673730680u,
- 3755976058u,
- 2357986191u,
- 2711706104u,
- 2307459456u,
- 218962455u,
- 3216991706u,
- 3873888049u,
- 1111655622u,
- 1751699640u,
- 1094812355u,
- 2576951728u,
- 757946999u,
- 252648977u,
- 2964356043u,
- 1414834428u,
- 3149622742u,
- 370551866u
- },
- {
- 1673962851u,
- 2096661628u,
- 2012125559u,
- 2079755643u,
- 4076801522u,
- 1809235307u,
- 1876865391u,
- 3314635973u,
- 811618352u,
- 16909057u,
- 1741597031u,
- 727088427u,
- 4276558334u,
- 3618988759u,
- 2874009259u,
- 1995217526u,
- 3398387146u,
- 2183110018u,
- 3381215433u,
- 2113570685u,
- 4209972730u,
- 1504897881u,
- 1200539975u,
- 4042984432u,
- 2906778797u,
- 3568527316u,
- 2724199842u,
- 2940594863u,
- 2619588508u,
- 2756966308u,
- 1927583346u,
- 3231407040u,
- 3077948087u,
- 4259388669u,
- 2470293139u,
- 642542118u,
- 913070646u,
- 1065238847u,
- 4160029431u,
- 3431157708u,
- 879254580u,
- 2773611685u,
- 3855693029u,
- 4059629809u,
- 1910674289u,
- 3635114968u,
- 828527409u,
- 355090197u,
- 67636228u,
- 3348452039u,
- 591815971u,
- 3281870531u,
- 405809176u,
- 2520228246u,
- 84545285u,
- 2586817946u,
- 118360327u,
- 304363026u,
- 2149292928u,
- 3806281186u,
- 3956090603u,
- 659450151u,
- 2994720178u,
- 1978310517u,
- 152181513u,
- 2199756419u,
- 743994412u,
- 439627290u,
- 456535323u,
- 1859957358u,
- 1521806938u,
- 2690382752u,
- 1386542674u,
- 997608763u,
- 3602342358u,
- 3011366579u,
- 693271337u,
- 3822927587u,
- 794718511u,
- 2215876484u,
- 1403450707u,
- 3518589137u,
- 0u,
- 3988860141u,
- 541089824u,
- 4242743292u,
- 2977548465u,
- 1538714971u,
- 1792327274u,
- 3415033547u,
- 3194476990u,
- 963791673u,
- 1251270218u,
- 1285084236u,
- 1487988824u,
- 3481619151u,
- 3501943760u,
- 4022676207u,
- 2857362858u,
- 4226619131u,
- 1132905795u,
- 1301993293u,
- 862344499u,
- 2232521861u,
- 1166724933u,
- 4192801017u,
- 33818114u,
- 2147385727u,
- 1352724560u,
- 1014514748u,
- 2670049951u,
- 2823545768u,
- 1369633617u,
- 2740846243u,
- 1082179648u,
- 2399505039u,
- 2453646738u,
- 2636233885u,
- 946882616u,
- 4126213365u,
- 3160661948u,
- 3061301686u,
- 3668932058u,
- 557998881u,
- 270544912u,
- 4293204735u,
- 4093447923u,
- 3535760850u,
- 3447803085u,
- 202904588u,
- 321271059u,
- 3972214764u,
- 1606345055u,
- 2536874647u,
- 1149815876u,
- 388905239u,
- 3297990596u,
- 2807427751u,
- 2130477694u,
- 1031423805u,
- 1690872932u,
- 1572530013u,
- 422718233u,
- 1944491379u,
- 1623236704u,
- 2165938305u,
- 1335808335u,
- 3701702620u,
- 574907938u,
- 710180394u,
- 2419829648u,
- 2282455944u,
- 1183631942u,
- 4006029806u,
- 3094074296u,
- 338181140u,
- 3735517662u,
- 1589437022u,
- 185998603u,
- 3685578459u,
- 3772464096u,
- 845436466u,
- 980700730u,
- 169090570u,
- 1234361161u,
- 101452294u,
- 608726052u,
- 1555620956u,
- 3265224130u,
- 3552407251u,
- 2890133420u,
- 1657054818u,
- 2436475025u,
- 2503058581u,
- 3839047652u,
- 2045938553u,
- 3889509095u,
- 3364570056u,
- 929978679u,
- 1843050349u,
- 2365688973u,
- 3585172693u,
- 1318900302u,
- 2840191145u,
- 1826141292u,
- 1454176854u,
- 4109567988u,
- 3939444202u,
- 1707781989u,
- 2062847610u,
- 2923948462u,
- 135272456u,
- 3127891386u,
- 2029029496u,
- 625635109u,
- 777810478u,
- 473441308u,
- 2790781350u,
- 3027486644u,
- 3331805638u,
- 3905627112u,
- 3718347997u,
- 1961401460u,
- 524165407u,
- 1268178251u,
- 3177307325u,
- 2332919435u,
- 2316273034u,
- 1893765232u,
- 1048330814u,
- 3044132021u,
- 1724688998u,
- 1217452104u,
- 50726147u,
- 4143383030u,
- 236720654u,
- 1640145761u,
- 896163637u,
- 1471084887u,
- 3110719673u,
- 2249691526u,
- 3248052417u,
- 490350365u,
- 2653403550u,
- 3789109473u,
- 4176155640u,
- 2553000856u,
- 287453969u,
- 1775418217u,
- 3651760345u,
- 2382858638u,
- 2486413204u,
- 2603464347u,
- 507257374u,
- 2266337927u,
- 3922272489u,
- 3464972750u,
- 1437269845u,
- 676362280u,
- 3752164063u,
- 2349043596u,
- 2707028129u,
- 2299101321u,
- 219813645u,
- 3211123391u,
- 3872862694u,
- 1115997762u,
- 1758509160u,
- 1099088705u,
- 2569646233u,
- 760903469u,
- 253628687u,
- 2960903088u,
- 1420360788u,
- 3144537787u,
- 371997206u
- },
- {
- 3332727651u,
- 4169432188u,
- 4003034999u,
- 4136467323u,
- 4279104242u,
- 3602738027u,
- 3736170351u,
- 2438251973u,
- 1615867952u,
- 33751297u,
- 3467208551u,
- 1451043627u,
- 3877240574u,
- 3043153879u,
- 1306962859u,
- 3969545846u,
- 2403715786u,
- 530416258u,
- 2302724553u,
- 4203183485u,
- 4011195130u,
- 3001768281u,
- 2395555655u,
- 4211863792u,
- 1106029997u,
- 3009926356u,
- 1610457762u,
- 1173008303u,
- 599760028u,
- 1408738468u,
- 3835064946u,
- 2606481600u,
- 1975695287u,
- 3776773629u,
- 1034851219u,
- 1282024998u,
- 1817851446u,
- 2118205247u,
- 4110612471u,
- 2203045068u,
- 1750873140u,
- 1374987685u,
- 3509904869u,
- 4178113009u,
- 3801313649u,
- 2876496088u,
- 1649619249u,
- 708777237u,
- 135005188u,
- 2505230279u,
- 1181033251u,
- 2640233411u,
- 807933976u,
- 933336726u,
- 168756485u,
- 800430746u,
- 235472647u,
- 607523346u,
- 463175808u,
- 3745374946u,
- 3441880043u,
- 1315514151u,
- 2144187058u,
- 3936318837u,
- 303761673u,
- 496927619u,
- 1484008492u,
- 875436570u,
- 908925723u,
- 3702681198u,
- 3035519578u,
- 1543217312u,
- 2767606354u,
- 1984772923u,
- 3076642518u,
- 2110698419u,
- 1383803177u,
- 3711886307u,
- 1584475951u,
- 328696964u,
- 2801095507u,
- 3110654417u,
- 0u,
- 3240947181u,
- 1080041504u,
- 3810524412u,
- 2043195825u,
- 3069008731u,
- 3569248874u,
- 2370227147u,
- 1742323390u,
- 1917532473u,
- 2497595978u,
- 2564049996u,
- 2968016984u,
- 2236272591u,
- 3144405200u,
- 3307925487u,
- 1340451498u,
- 3977706491u,
- 2261074755u,
- 2597801293u,
- 1716859699u,
- 294946181u,
- 2328839493u,
- 3910203897u,
- 67502594u,
- 4269899647u,
- 2700103760u,
- 2017737788u,
- 632987551u,
- 1273211048u,
- 2733855057u,
- 1576969123u,
- 2160083008u,
- 92966799u,
- 1068339858u,
- 566009245u,
- 1883781176u,
- 4043634165u,
- 1675607228u,
- 2009183926u,
- 2943736538u,
- 1113792801u,
- 540020752u,
- 3843751935u,
- 4245615603u,
- 3211645650u,
- 2169294285u,
- 403966988u,
- 641012499u,
- 3274697964u,
- 3202441055u,
- 899848087u,
- 2295088196u,
- 775493399u,
- 2472002756u,
- 1441965991u,
- 4236410494u,
- 2051489085u,
- 3366741092u,
- 3135724893u,
- 841685273u,
- 3868554099u,
- 3231735904u,
- 429425025u,
- 2664517455u,
- 2743065820u,
- 1147544098u,
- 1417554474u,
- 1001099408u,
- 193169544u,
- 2362066502u,
- 3341414126u,
- 1809037496u,
- 675025940u,
- 2809781982u,
- 3168951902u,
- 371002123u,
- 2910247899u,
- 3678134496u,
- 1683370546u,
- 1951283770u,
- 337512970u,
- 2463844681u,
- 201983494u,
- 1215046692u,
- 3101973596u,
- 2673722050u,
- 3178157011u,
- 1139780780u,
- 3299238498u,
- 967348625u,
- 832869781u,
- 3543655652u,
- 4069226873u,
- 3576883175u,
- 2336475336u,
- 1851340599u,
- 3669454189u,
- 25988493u,
- 2976175573u,
- 2631028302u,
- 1239460265u,
- 3635702892u,
- 2902087254u,
- 4077384948u,
- 3475368682u,
- 3400492389u,
- 4102978170u,
- 1206496942u,
- 270010376u,
- 1876277946u,
- 4035475576u,
- 1248797989u,
- 1550986798u,
- 941890588u,
- 1475454630u,
- 1942467764u,
- 2538718918u,
- 3408128232u,
- 2709315037u,
- 3902567540u,
- 1042358047u,
- 2531085131u,
- 1641856445u,
- 226921355u,
- 260409994u,
- 3767562352u,
- 2084716094u,
- 1908716981u,
- 3433719398u,
- 2430093384u,
- 100991747u,
- 4144101110u,
- 470945294u,
- 3265487201u,
- 1784624437u,
- 2935576407u,
- 1775286713u,
- 395413126u,
- 2572730817u,
- 975641885u,
- 666476190u,
- 3644383713u,
- 3943954680u,
- 733190296u,
- 573772049u,
- 3535497577u,
- 2842745305u,
- 126455438u,
- 866620564u,
- 766942107u,
- 1008868894u,
- 361924487u,
- 3374377449u,
- 2269761230u,
- 2868860245u,
- 1350051880u,
- 2776293343u,
- 59739276u,
- 1509466529u,
- 159418761u,
- 437718285u,
- 1708834751u,
- 3610371814u,
- 2227585602u,
- 3501746280u,
- 2193834305u,
- 699439513u,
- 1517759789u,
- 504434447u,
- 2076946608u,
- 2835108948u,
- 1842789307u,
- 742004246u
- }
- }; // idb
- const uint32_t rcon_tab[29] =
- {
- 1u,
- 2u,
- 4u,
- 8u,
- 16u,
- 32u,
- 64u,
- 128u,
- 27u,
- 54u,
- 108u,
- 216u,
- 171u,
- 77u,
- 154u,
- 47u,
- 94u,
- 188u,
- 99u,
- 198u,
- 151u,
- 53u,
- 106u,
- 212u,
- 179u,
- 125u,
- 250u,
- 239u,
- 197u
- }; // idb
- _DWORD (__cdecl *off_80EAE60[2])(Seraph::StringEncrypt *this) =
- {
- &Seraph::StringEncrypt::~StringEncrypt,
- &Seraph::StringEncrypt::~StringEncrypt
- }; // weak
- char Seraph::StringEncrypt::sm_rcon[30] =
- {
- '\x01',
- '\x02',
- '\x04',
- '\b',
- '\x10',
- ' ',
- '@',
- '\x80',
- '\x1B',
- '6',
- 'l',
- '',
- '\xAB',
- 'M',
- '\x9A',
- '/',
- '^',
- '\xBC',
- 'c',
- '',
- '\x97',
- '5',
- 'j',
- '',
- '\xB3',
- '}',
- '\xFA',
- '',
- '',
- '\x91'
- }; // idb
- const int Seraph::StringEncrypt::sm_U4[256] =
- {
- 0,
- 151849742,
- 303699484,
- 454499602,
- 607398968,
- 758720310,
- 908999204,
- 1059270954,
- 1214797936,
- 1097159550,
- 1517440620,
- 1400849762,
- 1817998408,
- 1699839814,
- 2118541908,
- 2001430874,
- 2429595872,
- 2581445614,
- 2194319100,
- 2345119218,
- 3034881240,
- 3186202582,
- 2801699524,
- 2951971274,
- 3635996816,
- 3518358430,
- 3399679628,
- 3283088770,
- 4237083816,
- 4118925222,
- 4002861748,
- 3885750714,
- 1002142683,
- 850817237,
- 698445255,
- 548169417,
- 529487843,
- 377642221,
- 227885567,
- 77089521,
- 1943217067,
- 2061379749,
- 1640576439,
- 1757691577,
- 1474760595,
- 1592394909,
- 1174215055,
- 1290801793,
- 2875968315,
- 2724642869,
- 3111247143,
- 2960971305,
- 2405426947,
- 2253581325,
- 2638606623,
- 2487810577,
- 3808662347,
- 3926825029,
- 4044981591,
- 4162096729,
- 3342319475,
- 3459953789,
- 3576539503,
- 3693126241,
- 1986918061,
- 2137062819,
- 1685577905,
- 1836772287,
- 1381620373,
- 1532285339,
- 1078185097,
- 1229899655,
- 1040559837,
- 923313619,
- 740276417,
- 621982671,
- 439452389,
- 322734571,
- 137073913,
- 19308535,
- 3871163981,
- 4021308739,
- 4104605777,
- 4255800159,
- 3263785589,
- 3414450555,
- 3499326569,
- 3651041127,
- 2933202493,
- 2815956275,
- 3167684641,
- 3049390895,
- 2330014213,
- 2213296395,
- 2566595609,
- 2448830231,
- 1305906550,
- 1155237496,
- 1607244650,
- 1455525988,
- 1776460110,
- 1626319424,
- 2079897426,
- 1928707164,
- 96392454,
- 213114376,
- 396673818,
- 514443284,
- 562755902,
- 679998000,
- 865136418,
- 983426092,
- 3708173718,
- 3557504664,
- 3474729866,
- 3323011204,
- 4180808110,
- 4030667424,
- 3945269170,
- 3794078908,
- 2507040230,
- 2623762152,
- 2272556026,
- 2390325492,
- 2975484382,
- 3092726480,
- 2738905026,
- 2857194700,
- 3973773121,
- 3856137295,
- 4274053469,
- 4157467219,
- 3371096953,
- 3252932727,
- 3673476453,
- 3556361835,
- 2763173681,
- 2915017791,
- 3064510765,
- 3215307299,
- 2156299017,
- 2307622919,
- 2459735317,
- 2610011675,
- 2081048481,
- 1963412655,
- 1846563261,
- 1729977011,
- 1480485785,
- 1362321559,
- 1243905413,
- 1126790795,
- 878845905,
- 1030690015,
- 645401037,
- 796197571,
- 274084841,
- 425408743,
- 38544885,
- 188821243,
- 3613494426,
- 3731654548,
- 3313212038,
- 3430322568,
- 4082475170,
- 4200115116,
- 3780097726,
- 3896688048,
- 2668221674,
- 2516901860,
- 2366882550,
- 2216610296,
- 3141400786,
- 2989552604,
- 2837966542,
- 2687165888,
- 1202797690,
- 1320957812,
- 1437280870,
- 1554391400,
- 1669664834,
- 1787304780,
- 1906247262,
- 2022837584,
- 265905162,
- 114585348,
- 499347990,
- 349075736,
- 736970802,
- 585122620,
- 972512814,
- 821712160,
- 2595684844,
- 2478443234,
- 2293045232,
- 2174754046,
- 3196267988,
- 3079546586,
- 2895723464,
- 2777952454,
- 3537852828,
- 3687994002,
- 3234156416,
- 3385345166,
- 4142626212,
- 4293295786,
- 3841024952,
- 3992742070,
- 174567692,
- 57326082,
- 410887952,
- 292596766,
- 777231668,
- 660510266,
- 1011452712,
- 893681702,
- 1108339068,
- 1258480242,
- 1343618912,
- 1494807662,
- 1715193156,
- 1865862730,
- 1948373848,
- 2100090966,
- 2701949495,
- 2818666809,
- 3004591147,
- 3122358053,
- 2235061775,
- 2352307457,
- 2535604243,
- 2653899549,
- 3915653703,
- 3764988233,
- 4219352155,
- 4067639125,
- 3444575871,
- 3294430577,
- 3746175075,
- 3594982253,
- 836553431,
- 953270745,
- 600235211,
- 718002117,
- 367585007,
- 484830689,
- 133361907,
- 251657213,
- 2041877159,
- 1891211689,
- 1806599355,
- 1654886325,
- 1568718495,
- 1418573201,
- 1335535747,
- 1184342925
- }; // idb
- const int Seraph::StringEncrypt::sm_U3[256] =
- {
- 0,
- 218828297,
- 437656594,
- 387781147,
- 875313188,
- 958871085,
- 775562294,
- 590424639,
- 1750626376,
- 1699970625,
- 1917742170,
- 2135253587,
- 1551124588,
- 1367295589,
- 1180849278,
- 1265195639,
- 3501252752,
- 3720081049,
- 3399941250,
- 3350065803,
- 3835484340,
- 3919042237,
- 4270507174,
- 4085369519,
- 3102249176,
- 3051593425,
- 2734591178,
- 2952102595,
- 2361698556,
- 2177869557,
- 2530391278,
- 2614737639,
- 3145456443,
- 3060847922,
- 2708326185,
- 2892417312,
- 2404901663,
- 2187128086,
- 2504130317,
- 2555048196,
- 3542330227,
- 3727205754,
- 3375740769,
- 3292445032,
- 3876557655,
- 3926170974,
- 4246310725,
- 4027744588,
- 1808481195,
- 1723872674,
- 1910319033,
- 2094410160,
- 1608975247,
- 1391201670,
- 1173430173,
- 1224348052,
- 59984867,
- 244860394,
- 428169201,
- 344873464,
- 935293895,
- 984907214,
- 766078933,
- 547512796,
- 1844882806,
- 1627235199,
- 2011214180,
- 2062270317,
- 1507497298,
- 1423022939,
- 1137477952,
- 1321699145,
- 95345982,
- 145085239,
- 532201772,
- 313773861,
- 830661914,
- 1015671571,
- 731183368,
- 648017665,
- 3175501286,
- 2957853679,
- 2807058932,
- 2858115069,
- 2305455554,
- 2220981195,
- 2474404304,
- 2658625497,
- 3575528878,
- 3625268135,
- 3473416636,
- 3254988725,
- 3778151818,
- 3963161475,
- 4213447064,
- 4130281361,
- 3599595085,
- 3683022916,
- 3432737375,
- 3247465558,
- 3802222185,
- 4020912224,
- 4172763771,
- 4122762354,
- 3201631749,
- 3017672716,
- 2764249623,
- 2848461854,
- 2331590177,
- 2280796200,
- 2431590963,
- 2648976442,
- 104699613,
- 188127444,
- 472615631,
- 287343814,
- 840019705,
- 1058709744,
- 671593195,
- 621591778,
- 1852171925,
- 1668212892,
- 1953757831,
- 2037970062,
- 1514790577,
- 1463996600,
- 1080017571,
- 1297403050,
- 3673637356,
- 3623636965,
- 3235995134,
- 3454686199,
- 4007360968,
- 3822090177,
- 4107101658,
- 4190530515,
- 2997825956,
- 3215212461,
- 2830708150,
- 2779915199,
- 2256734592,
- 2340947849,
- 2627016082,
- 2443058075,
- 172466556,
- 122466165,
- 273792366,
- 492483431,
- 1047239000,
- 861968209,
- 612205898,
- 695634755,
- 1646252340,
- 1863638845,
- 2013908262,
- 1963115311,
- 1446242576,
- 1530455833,
- 1277555970,
- 1093597963,
- 1636604631,
- 1820824798,
- 2073724613,
- 1989249228,
- 1436590835,
- 1487645946,
- 1337376481,
- 1119727848,
- 164948639,
- 81781910,
- 331544205,
- 516552836,
- 1039717051,
- 821288114,
- 669961897,
- 719700128,
- 2973530695,
- 3157750862,
- 2871682645,
- 2787207260,
- 2232435299,
- 2283490410,
- 2667994737,
- 2450346104,
- 3647212047,
- 3564045318,
- 3279033885,
- 3464042516,
- 3980931627,
- 3762502690,
- 4150144569,
- 4199882800,
- 3070356634,
- 3121275539,
- 2904027272,
- 2686254721,
- 2200818878,
- 2384911031,
- 2570832044,
- 2486224549,
- 3747192018,
- 3528626907,
- 3310321856,
- 3359936201,
- 3950355702,
- 3867060991,
- 4049844452,
- 4234721005,
- 1739656202,
- 1790575107,
- 2108100632,
- 1890328081,
- 1402811438,
- 1586903591,
- 1233856572,
- 1149249077,
- 266959938,
- 48394827,
- 369057872,
- 418672217,
- 1002783846,
- 919489135,
- 567498868,
- 752375421,
- 209336225,
- 24197544,
- 376187827,
- 459744698,
- 945164165,
- 895287692,
- 574624663,
- 793451934,
- 1679968233,
- 1764313568,
- 2117360635,
- 1933530610,
- 1343127501,
- 1560637892,
- 1243112415,
- 1192455638,
- 3704280881,
- 3519142200,
- 3336358691,
- 3419915562,
- 3907448597,
- 3857572124,
- 4075877127,
- 4294704398,
- 3029510009,
- 3113855344,
- 2927934315,
- 2744104290,
- 2159976285,
- 2377486676,
- 2594734927,
- 2544078150
- }; // idb
- const int Seraph::StringEncrypt::sm_U2[256] =
- {
- 0,
- 185469197,
- 370938394,
- 487725847,
- 741876788,
- 657861945,
- 975451694,
- 824852259,
- 1483753576,
- 1400783205,
- 1315723890,
- 1164071807,
- 1950903388,
- 2135319889,
- 1649704518,
- 1767536459,
- 2967507152,
- 3152976349,
- 2801566410,
- 2918353863,
- 2631447780,
- 2547432937,
- 2328143614,
- 2177544179,
- 3901806776,
- 3818836405,
- 4270639778,
- 4118987695,
- 3299409036,
- 3483825537,
- 3535072918,
- 3652904859,
- 2077965243,
- 1893020342,
- 1841768865,
- 1724457132,
- 1474502543,
- 1559041666,
- 1107234197,
- 1257309336,
- 598438867,
- 681933534,
- 901210569,
- 1052338372,
- 261314535,
- 77422314,
- 428819965,
- 310463728,
- 3409685355,
- 3224740454,
- 3710368113,
- 3593056380,
- 3875770207,
- 3960309330,
- 4045380933,
- 4195456072,
- 2471224067,
- 2554718734,
- 2237133081,
- 2388260884,
- 3212035895,
- 3028143674,
- 2842678573,
- 2724322336,
- 4138563181,
- 4255350624,
- 3769721975,
- 3955191162,
- 3667219033,
- 3516619604,
- 3431546947,
- 3347532110,
- 2933734917,
- 2782082824,
- 3099667487,
- 3016697106,
- 2196052529,
- 2313884476,
- 2499348523,
- 2683765030,
- 1179510461,
- 1296297904,
- 1347548327,
- 1533017514,
- 1786102409,
- 1635502980,
- 2087309459,
- 2003294622,
- 507358933,
- 355706840,
- 136428751,
- 53458370,
- 839224033,
- 957055980,
- 605657339,
- 790073846,
- 2373340630,
- 2256028891,
- 2607439820,
- 2422494913,
- 2706270690,
- 2856345839,
- 3075636216,
- 3160175349,
- 3573941694,
- 3725069491,
- 3273267108,
- 3356761769,
- 4181598602,
- 4063242375,
- 4011996048,
- 3828103837,
- 1033297158,
- 915985419,
- 730517276,
- 545572369,
- 296679730,
- 446754879,
- 129166120,
- 213705253,
- 1709610350,
- 1860738147,
- 1945798516,
- 2029293177,
- 1239331162,
- 1120974935,
- 1606591296,
- 1422699085,
- 4148292826,
- 4233094615,
- 3781033664,
- 3931371469,
- 3682191598,
- 3497509347,
- 3446004468,
- 3328955385,
- 2939266226,
- 2755636671,
- 3106780840,
- 2988687269,
- 2198438022,
- 2282195339,
- 2501218972,
- 2652609425,
- 1201765386,
- 1286567175,
- 1371368976,
- 1521706781,
- 1805211710,
- 1620529459,
- 2105887268,
- 1988838185,
- 533804130,
- 350174575,
- 164439672,
- 46346101,
- 870912086,
- 954669403,
- 636813900,
- 788204353,
- 2358957921,
- 2274680428,
- 2592523643,
- 2441661558,
- 2695033685,
- 2880240216,
- 3065962831,
- 3182487618,
- 3572145929,
- 3756299780,
- 3270937875,
- 3388507166,
- 4174560061,
- 4091327024,
- 4006521127,
- 3854606378,
- 1014646705,
- 930369212,
- 711349675,
- 560487590,
- 272786309,
- 457992840,
- 106852767,
- 223377554,
- 1678381017,
- 1862534868,
- 1914052035,
- 2031621326,
- 1211247597,
- 1128014560,
- 1580087799,
- 1428173050,
- 32283319,
- 182621114,
- 401639597,
- 486441376,
- 768917123,
- 651868046,
- 1003007129,
- 818324884,
- 1503449823,
- 1385356242,
- 1333838021,
- 1150208456,
- 1973745387,
- 2125135846,
- 1673061617,
- 1756818940,
- 2970356327,
- 3120694122,
- 2802849917,
- 2887651696,
- 2637442643,
- 2520393566,
- 2334669897,
- 2149987652,
- 3917234703,
- 3799141122,
- 4284502037,
- 4100872472,
- 3309594171,
- 3460984630,
- 3545789473,
- 3629546796,
- 2050466060,
- 1899603969,
- 1814803222,
- 1730525723,
- 1443857720,
- 1560382517,
- 1075025698,
- 1260232239,
- 575138148,
- 692707433,
- 878443390,
- 1062597235,
- 243256656,
- 91341917,
- 409198410,
- 325965383,
- 3403100636,
- 3252238545,
- 3704300486,
- 3620022987,
- 3874428392,
- 3990953189,
- 4042459122,
- 4227665663,
- 2460449204,
- 2578018489,
- 2226875310,
- 2411029155,
- 3198115200,
- 3046200461,
- 2827177882,
- 2743944855
- }; // idb
- const int Seraph::StringEncrypt::sm_U1[256] =
- {
- 0,
- 235474187,
- 470948374,
- 303765277,
- 941896748,
- 908933415,
- 607530554,
- 708780849,
- 1883793496,
- 2118214995,
- 1817866830,
- 1649639237,
- 1215061108,
- 1181045119,
- 1417561698,
- 1517767529,
- 3767586992,
- 4003061179,
- 4236429990,
- 4069246893,
- 3635733660,
- 3602770327,
- 3299278474,
- 3400528769,
- 2430122216,
- 2664543715,
- 2362090238,
- 2193862645,
- 2835123396,
- 2801107407,
- 3035535058,
- 3135740889,
- 3678124923,
- 3576870512,
- 3341394285,
- 3374361702,
- 3810496343,
- 3977675356,
- 4279080257,
- 4043610186,
- 2876494627,
- 2776292904,
- 3076639029,
- 3110650942,
- 2472011535,
- 2640243204,
- 2403728665,
- 2169303058,
- 1001089995,
- 899835584,
- 666464733,
- 699432150,
- 59727847,
- 226906860,
- 530400753,
- 294930682,
- 1273168787,
- 1172967064,
- 1475418501,
- 1509430414,
- 1942435775,
- 2110667444,
- 1876241833,
- 1641816226,
- 2910219766,
- 2743034109,
- 2976151520,
- 3211623147,
- 2505202138,
- 2606453969,
- 2302690252,
- 2269728455,
- 3711829422,
- 3543599269,
- 3240894392,
- 3475313331,
- 3843699074,
- 3943906441,
- 4178062228,
- 4144047775,
- 1306967366,
- 1139781709,
- 1374988112,
- 1610459739,
- 1975683434,
- 2076935265,
- 1775276924,
- 1742315127,
- 1034867998,
- 866637845,
- 566021896,
- 800440835,
- 92987698,
- 193195065,
- 429456164,
- 395441711,
- 1984812685,
- 2017778566,
- 1784663195,
- 1683407248,
- 1315562145,
- 1080094634,
- 1383856311,
- 1551037884,
- 101039829,
- 135050206,
- 437757123,
- 337553864,
- 1042385657,
- 807962610,
- 573804783,
- 742039012,
- 2531067453,
- 2564033334,
- 2328828971,
- 2227573024,
- 2935566865,
- 2700099354,
- 3001755655,
- 3168937228,
- 3868552805,
- 3902563182,
- 4203181171,
- 4102977912,
- 3736164937,
- 3501741890,
- 3265478751,
- 3433712980,
- 1106041591,
- 1340463100,
- 1576976609,
- 1408749034,
- 2043211483,
- 2009195472,
- 1708848333,
- 1809054150,
- 832877231,
- 1068351396,
- 766945465,
- 599762354,
- 159417987,
- 126454664,
- 361929877,
- 463180190,
- 2709260871,
- 2943682380,
- 3178106961,
- 3009879386,
- 2572697195,
- 2538681184,
- 2236228733,
- 2336434550,
- 3509871135,
- 3745345300,
- 3441850377,
- 3274667266,
- 3910161971,
- 3877198648,
- 4110568485,
- 4211818798,
- 2597806476,
- 2497604743,
- 2261089178,
- 2295101073,
- 2733856160,
- 2902087851,
- 3202437046,
- 2968011453,
- 3936291284,
- 3835036895,
- 4136440770,
- 4169408201,
- 3535486456,
- 3702665459,
- 3467192302,
- 3231722213,
- 2051518780,
- 1951317047,
- 1716890410,
- 1750902305,
- 1113818384,
- 1282050075,
- 1584504582,
- 1350078989,
- 168810852,
- 67556463,
- 371049330,
- 404016761,
- 841739592,
- 1008918595,
- 775550814,
- 540080725,
- 3969562369,
- 3801332234,
- 4035489047,
- 4269907996,
- 3569255213,
- 3669462566,
- 3366754619,
- 3332740144,
- 2631065433,
- 2463879762,
- 2160117071,
- 2395588676,
- 2767645557,
- 2868897406,
- 3102011747,
- 3069049960,
- 202008497,
- 33778362,
- 270040487,
- 504459436,
- 875451293,
- 975658646,
- 675039627,
- 641025152,
- 2084704233,
- 1917518562,
- 1615861247,
- 1851332852,
- 1147550661,
- 1248802510,
- 1484005843,
- 1451044056,
- 933301370,
- 967311729,
- 733156972,
- 632953703,
- 260388950,
- 25965917,
- 328671808,
- 496906059,
- 1206477858,
- 1239443753,
- 1543208500,
- 1441952575,
- 2144161806,
- 1908694277,
- 1675577880,
- 1842759443,
- 3610369226,
- 3644379585,
- 3408119516,
- 3307916247,
- 4011190502,
- 3776767469,
- 4077384432,
- 4245618683,
- 2809771154,
- 2842737049,
- 3144396420,
- 3043140495,
- 2673705150,
- 2438237621,
- 2203032232,
- 2370213795
- }; // idb
- const int Seraph::StringEncrypt::sm_T8[256] =
- {
- 4104605777,
- 1097159550,
- 396673818,
- 660510266,
- 2875968315,
- 2638606623,
- 4200115116,
- 3808662347,
- 821712160,
- 1986918061,
- 3430322568,
- 38544885,
- 3856137295,
- 718002117,
- 893681702,
- 1654886325,
- 2975484382,
- 3122358053,
- 3926825029,
- 4274053469,
- 796197571,
- 1290801793,
- 1184342925,
- 3556361835,
- 2405426947,
- 2459735317,
- 1836772287,
- 1381620373,
- 3196267988,
- 1948373848,
- 3764988233,
- 3385345166,
- 3263785589,
- 2390325492,
- 1480485785,
- 3111247143,
- 3780097726,
- 2293045232,
- 548169417,
- 3459953789,
- 3746175075,
- 439452389,
- 1362321559,
- 1400849762,
- 1685577905,
- 1806599355,
- 2174754046,
- 137073913,
- 1214797936,
- 1174215055,
- 3731654548,
- 2079897426,
- 1943217067,
- 1258480242,
- 529487843,
- 1437280870,
- 3945269170,
- 3049390895,
- 3313212038,
- 923313619,
- 679998000,
- 3215307299,
- 57326082,
- 377642221,
- 3474729866,
- 2041877159,
- 133361907,
- 1776460110,
- 3673476453,
- 96392454,
- 878845905,
- 2801699524,
- 777231668,
- 4082475170,
- 2330014213,
- 4142626212,
- 2213296395,
- 1626319424,
- 1906247262,
- 1846563261,
- 562755902,
- 3708173718,
- 1040559837,
- 3871163981,
- 1418573201,
- 3294430577,
- 114585348,
- 1343618912,
- 2566595609,
- 3186202582,
- 1078185097,
- 3651041127,
- 3896688048,
- 2307622919,
- 425408743,
- 3371096953,
- 2081048481,
- 1108339068,
- 2216610296,
- 0,
- 2156299017,
- 736970802,
- 292596766,
- 1517440620,
- 251657213,
- 2235061775,
- 2933202493,
- 758720310,
- 265905162,
- 1554391400,
- 1532285339,
- 908999204,
- 174567692,
- 1474760595,
- 4002861748,
- 2610011675,
- 3234156416,
- 3693126241,
- 2001430874,
- 303699484,
- 2478443234,
- 2687165888,
- 585122620,
- 454499602,
- 151849742,
- 2345119218,
- 3064510765,
- 514443284,
- 4044981591,
- 1963412655,
- 2581445614,
- 2137062819,
- 19308535,
- 1928707164,
- 1715193156,
- 4219352155,
- 1126790795,
- 600235211,
- 3992742070,
- 3841024952,
- 836553431,
- 1669664834,
- 2535604243,
- 3323011204,
- 1243905413,
- 3141400786,
- 4180808110,
- 698445255,
- 2653899549,
- 2989552604,
- 2253581325,
- 3252932727,
- 3004591147,
- 1891211689,
- 2487810577,
- 3915653703,
- 4237083816,
- 4030667424,
- 2100090966,
- 865136418,
- 1229899655,
- 953270745,
- 3399679628,
- 3557504664,
- 4118925222,
- 2061379749,
- 3079546586,
- 2915017791,
- 983426092,
- 2022837584,
- 1607244650,
- 2118541908,
- 2366882550,
- 3635996816,
- 972512814,
- 3283088770,
- 1568718495,
- 3499326569,
- 3576539503,
- 621982671,
- 2895723464,
- 410887952,
- 2623762152,
- 1002142683,
- 645401037,
- 1494807662,
- 2595684844,
- 1335535747,
- 2507040230,
- 4293295786,
- 3167684641,
- 367585007,
- 3885750714,
- 1865862730,
- 2668221674,
- 2960971305,
- 2763173681,
- 1059270954,
- 2777952454,
- 2724642869,
- 1320957812,
- 2194319100,
- 2429595872,
- 2815956275,
- 77089521,
- 3973773121,
- 3444575871,
- 2448830231,
- 1305906550,
- 4021308739,
- 2857194700,
- 2516901860,
- 3518358430,
- 1787304780,
- 740276417,
- 1699839814,
- 1592394909,
- 2352307457,
- 2272556026,
- 188821243,
- 1729977011,
- 3687994002,
- 274084841,
- 3594982253,
- 3613494426,
- 2701949495,
- 4162096729,
- 322734571,
- 2837966542,
- 1640576439,
- 484830689,
- 1202797690,
- 3537852828,
- 4067639125,
- 349075736,
- 3342319475,
- 4157467219,
- 4255800159,
- 1030690015,
- 1155237496,
- 2951971274,
- 1757691577,
- 607398968,
- 2738905026,
- 499347990,
- 3794078908,
- 1011452712,
- 227885567,
- 2818666809,
- 213114376,
- 3034881240,
- 1455525988,
- 3414450555,
- 850817237,
- 1817998408,
- 3092726480
- }; // idb
- const int Seraph::StringEncrypt::sm_T7[256] =
- {
- 2807058932,
- 1699970625,
- 2764249623,
- 1586903591,
- 1808481195,
- 1173430173,
- 1487645946,
- 59984867,
- 4199882800,
- 1844882806,
- 1989249228,
- 1277555970,
- 3623636965,
- 3419915562,
- 1149249077,
- 2744104290,
- 1514790577,
- 459744698,
- 244860394,
- 3235995134,
- 1963115311,
- 4027744588,
- 2544078150,
- 4190530515,
- 1608975247,
- 2627016082,
- 2062270317,
- 1507497298,
- 2200818878,
- 567498868,
- 1764313568,
- 3359936201,
- 2305455554,
- 2037970062,
- 1047239000,
- 1910319033,
- 1337376481,
- 2904027272,
- 2892417312,
- 984907214,
- 1243112415,
- 830661914,
- 861968209,
- 2135253587,
- 2011214180,
- 2927934315,
- 2686254721,
- 731183368,
- 1750626376,
- 4246310725,
- 1820824798,
- 4172763771,
- 3542330227,
- 48394827,
- 2404901663,
- 2871682645,
- 671593195,
- 3254988725,
- 2073724613,
- 145085239,
- 2280796200,
- 2779915199,
- 1790575107,
- 2187128086,
- 472615631,
- 3029510009,
- 4075877127,
- 3802222185,
- 4107101658,
- 3201631749,
- 1646252340,
- 4270507174,
- 1402811438,
- 1436590835,
- 3778151818,
- 3950355702,
- 3963161475,
- 4020912224,
- 2667994737,
- 273792366,
- 2331590177,
- 104699613,
- 95345982,
- 3175501286,
- 2377486676,
- 1560637892,
- 3564045318,
- 369057872,
- 4213447064,
- 3919042237,
- 1137477952,
- 2658625497,
- 1119727848,
- 2340947849,
- 1530455833,
- 4007360968,
- 172466556,
- 266959938,
- 516552836,
- 0,
- 2256734592,
- 3980931627,
- 1890328081,
- 1917742170,
- 4294704398,
- 945164165,
- 3575528878,
- 958871085,
- 3647212047,
- 2787207260,
- 1423022939,
- 775562294,
- 1739656202,
- 3876557655,
- 2530391278,
- 2443058075,
- 3310321856,
- 547512796,
- 1265195639,
- 437656594,
- 3121275539,
- 719700128,
- 3762502690,
- 387781147,
- 218828297,
- 3350065803,
- 2830708150,
- 2848461854,
- 428169201,
- 122466165,
- 3720081049,
- 1627235199,
- 648017665,
- 4122762354,
- 1002783846,
- 2117360635,
- 695634755,
- 3336358691,
- 4234721005,
- 4049844452,
- 3704280881,
- 2232435299,
- 574624663,
- 287343814,
- 612205898,
- 1039717051,
- 840019705,
- 2708326185,
- 793451934,
- 821288114,
- 1391201670,
- 3822090177,
- 376187827,
- 3113855344,
- 1224348052,
- 1679968233,
- 2361698556,
- 1058709744,
- 752375421,
- 2431590963,
- 1321699145,
- 3519142200,
- 2734591178,
- 188127444,
- 2177869557,
- 3727205754,
- 2384911031,
- 3215212461,
- 2648976442,
- 2450346104,
- 3432737375,
- 1180849278,
- 331544205,
- 3102249176,
- 4150144569,
- 2952102595,
- 2159976285,
- 2474404304,
- 766078933,
- 313773861,
- 2570832044,
- 2108100632,
- 1668212892,
- 3145456443,
- 2013908262,
- 418672217,
- 3070356634,
- 2594734927,
- 1852171925,
- 3867060991,
- 3473416636,
- 3907448597,
- 2614737639,
- 919489135,
- 164948639,
- 2094410160,
- 2997825956,
- 590424639,
- 2486224549,
- 1723872674,
- 3157750862,
- 3399941250,
- 3501252752,
- 3625268135,
- 2555048196,
- 3673637356,
- 1343127501,
- 4130281361,
- 3599595085,
- 2957853679,
- 1297403050,
- 81781910,
- 3051593425,
- 2283490410,
- 532201772,
- 1367295589,
- 3926170974,
- 895287692,
- 1953757831,
- 1093597963,
- 492483431,
- 3528626907,
- 1446242576,
- 1192455638,
- 1636604631,
- 209336225,
- 344873464,
- 1015671571,
- 669961897,
- 3375740769,
- 3857572124,
- 2973530695,
- 3747192018,
- 1933530610,
- 3464042516,
- 935293895,
- 3454686199,
- 2858115069,
- 1863638845,
- 3683022916,
- 4085369519,
- 3292445032,
- 875313188,
- 1080017571,
- 3279033885,
- 621591778,
- 1233856572,
- 2504130317,
- 24197544,
- 3017672716,
- 3835484340,
- 3247465558,
- 2220981195,
- 3060847922,
- 1551124588,
- 1463996600
- }; // idb
- const int Seraph::StringEncrypt::sm_T6[256] =
- {
- 1347548327,
- 1400783205,
- 3273267108,
- 2520393566,
- 3409685355,
- 4045380933,
- 2880240216,
- 2471224067,
- 1428173050,
- 4138563181,
- 2441661558,
- 636813900,
- 4233094615,
- 3620022987,
- 2149987652,
- 2411029155,
- 1239331162,
- 1730525723,
- 2554718734,
- 3781033664,
- 46346101,
- 310463728,
- 2743944855,
- 3328955385,
- 3875770207,
- 2501218972,
- 3955191162,
- 3667219033,
- 768917123,
- 3545789473,
- 692707433,
- 1150208456,
- 1786102409,
- 2029293177,
- 1805211710,
- 3710368113,
- 3065962831,
- 401639597,
- 1724457132,
- 3028143674,
- 409198410,
- 2196052529,
- 1620529459,
- 1164071807,
- 3769721975,
- 2226875310,
- 486441376,
- 2499348523,
- 1483753576,
- 428819965,
- 2274680428,
- 3075636216,
- 598438867,
- 3799141122,
- 1474502543,
- 711349675,
- 129166120,
- 53458370,
- 2592523643,
- 2782082824,
- 4063242375,
- 2988687269,
- 3120694122,
- 1559041666,
- 730517276,
- 2460449204,
- 4042459122,
- 2706270690,
- 3446004468,
- 3573941694,
- 533804130,
- 2328143614,
- 2637442643,
- 2695033685,
- 839224033,
- 1973745387,
- 957055980,
- 2856345839,
- 106852767,
- 1371368976,
- 4181598602,
- 1033297158,
- 2933734917,
- 1179510461,
- 3046200461,
- 91341917,
- 1862534868,
- 4284502037,
- 605657339,
- 2547432937,
- 3431546947,
- 2003294622,
- 3182487618,
- 2282195339,
- 954669403,
- 3682191598,
- 1201765386,
- 3917234703,
- 3388507166,
- 0,
- 2198438022,
- 1211247597,
- 2887651696,
- 1315723890,
- 4227665663,
- 1443857720,
- 507358933,
- 657861945,
- 1678381017,
- 560487590,
- 3516619604,
- 975451694,
- 2970356327,
- 261314535,
- 3535072918,
- 2652609425,
- 1333838021,
- 2724322336,
- 1767536459,
- 370938394,
- 182621114,
- 3854606378,
- 1128014560,
- 487725847,
- 185469197,
- 2918353863,
- 3106780840,
- 3356761769,
- 2237133081,
- 1286567175,
- 3152976349,
- 4255350624,
- 2683765030,
- 3160175349,
- 3309594171,
- 878443390,
- 1988838185,
- 3704300486,
- 1756818940,
- 1673061617,
- 3403100636,
- 272786309,
- 1075025698,
- 545572369,
- 2105887268,
- 4174560061,
- 296679730,
- 1841768865,
- 1260232239,
- 4091327024,
- 3960309330,
- 3497509347,
- 1814803222,
- 2578018489,
- 4195456072,
- 575138148,
- 3299409036,
- 446754879,
- 3629546796,
- 4011996048,
- 3347532110,
- 3252238545,
- 4270639778,
- 915985419,
- 3483825537,
- 681933534,
- 651868046,
- 2755636671,
- 3828103837,
- 223377554,
- 2607439820,
- 1649704518,
- 3270937875,
- 3901806776,
- 1580087799,
- 4118987695,
- 3198115200,
- 2087309459,
- 2842678573,
- 3016697106,
- 1003007129,
- 2802849917,
- 1860738147,
- 2077965243,
- 164439672,
- 4100872472,
- 32283319,
- 2827177882,
- 1709610350,
- 2125135846,
- 136428751,
- 3874428392,
- 3652904859,
- 3460984630,
- 3572145929,
- 3593056380,
- 2939266226,
- 824852259,
- 818324884,
- 3224740454,
- 930369212,
- 2801566410,
- 2967507152,
- 355706840,
- 1257309336,
- 4148292826,
- 243256656,
- 790073846,
- 2373340630,
- 1296297904,
- 1422699085,
- 3756299780,
- 3818836405,
- 457992840,
- 3099667487,
- 2135319889,
- 77422314,
- 1560382517,
- 1945798516,
- 788204353,
- 1521706781,
- 1385356242,
- 870912086,
- 325965383,
- 2358957921,
- 2050466060,
- 2388260884,
- 2313884476,
- 4006521127,
- 901210569,
- 3990953189,
- 1014646705,
- 1503449823,
- 1062597235,
- 2031621326,
- 3212035895,
- 3931371469,
- 1533017514,
- 350174575,
- 2256028891,
- 2177544179,
- 1052338372,
- 741876788,
- 1606591296,
- 1914052035,
- 213705253,
- 2334669897,
- 1107234197,
- 1899603969,
- 3725069491,
- 2631447780,
- 2422494913,
- 1635502980,
- 1893020342,
- 1950903388,
- 1120974935
- }; // idb
- const int Seraph::StringEncrypt::sm_T5[256] =
- {
- 1374988112,
- 2118214995,
- 437757123,
- 975658646,
- 1001089995,
- 530400753,
- 2902087851,
- 1273168787,
- 540080725,
- 2910219766,
- 2295101073,
- 4110568485,
- 1340463100,
- 3307916247,
- 641025152,
- 3043140495,
- 3736164937,
- 632953703,
- 1172967064,
- 1576976609,
- 3274667266,
- 2169303058,
- 2370213795,
- 1809054150,
- 59727847,
- 361929877,
- 3211623147,
- 2505202138,
- 3569255213,
- 1484005843,
- 1239443753,
- 2395588676,
- 1975683434,
- 4102977912,
- 2572697195,
- 666464733,
- 3202437046,
- 4035489047,
- 3374361702,
- 2110667444,
- 1675577880,
- 3843699074,
- 2538681184,
- 1649639237,
- 2976151520,
- 3144396420,
- 4269907996,
- 4178062228,
- 1883793496,
- 2403728665,
- 2497604743,
- 1383856311,
- 2876494627,
- 1917518562,
- 3810496343,
- 1716890410,
- 3001755655,
- 800440835,
- 2261089178,
- 3543599269,
- 807962610,
- 599762354,
- 33778362,
- 3977675356,
- 2328828971,
- 2809771154,
- 4077384432,
- 1315562145,
- 1708848333,
- 101039829,
- 3509871135,
- 3299278474,
- 875451293,
- 2733856160,
- 92987698,
- 2767645557,
- 193195065,
- 1080094634,
- 1584504582,
- 3178106961,
- 1042385657,
- 2531067453,
- 3711829422,
- 1306967366,
- 2438237621,
- 1908694277,
- 67556463,
- 1615861247,
- 429456164,
- 3602770327,
- 2302690252,
- 1742315127,
- 2968011453,
- 126454664,
- 3877198648,
- 2043211483,
- 2709260871,
- 2084704233,
- 4169408201,
- 0,
- 159417987,
- 841739592,
- 504459436,
- 1817866830,
- 4245618683,
- 260388950,
- 1034867998,
- 908933415,
- 168810852,
- 1750902305,
- 2606453969,
- 607530554,
- 202008497,
- 2472011535,
- 3035535058,
- 463180190,
- 2160117071,
- 1641816226,
- 1517767529,
- 470948374,
- 3801332234,
- 3231722213,
- 1008918595,
- 303765277,
- 235474187,
- 4069246893,
- 766945465,
- 337553864,
- 1475418501,
- 2943682380,
- 4003061179,
- 2743034109,
- 4144047775,
- 1551037884,
- 1147550661,
- 1543208500,
- 2336434550,
- 3408119516,
- 3069049960,
- 3102011747,
- 3610369226,
- 1113818384,
- 328671808,
- 2227573024,
- 2236228733,
- 3535486456,
- 2935566865,
- 3341394285,
- 496906059,
- 3702665459,
- 226906860,
- 2009195472,
- 733156972,
- 2842737049,
- 294930682,
- 1206477858,
- 2835123396,
- 2700099354,
- 1451044056,
- 573804783,
- 2269728455,
- 3644379585,
- 2362090238,
- 2564033334,
- 2801107407,
- 2776292904,
- 3669462566,
- 1068351396,
- 742039012,
- 1350078989,
- 1784663195,
- 1417561698,
- 4136440770,
- 2430122216,
- 775550814,
- 2193862645,
- 2673705150,
- 1775276924,
- 1876241833,
- 3475313331,
- 3366754619,
- 270040487,
- 3902563182,
- 3678124923,
- 3441850377,
- 1851332852,
- 3969562369,
- 2203032232,
- 3868552805,
- 2868897406,
- 566021896,
- 4011190502,
- 3135740889,
- 1248802510,
- 3936291284,
- 699432150,
- 832877231,
- 708780849,
- 3332740144,
- 899835584,
- 1951317047,
- 4236429990,
- 3767586992,
- 866637845,
- 4043610186,
- 1106041591,
- 2144161806,
- 395441711,
- 1984812685,
- 1139781709,
- 3433712980,
- 3835036895,
- 2664543715,
- 1282050075,
- 3240894392,
- 1181045119,
- 2640243204,
- 25965917,
- 4203181171,
- 4211818798,
- 3009879386,
- 2463879762,
- 3910161971,
- 1842759443,
- 2597806476,
- 933301370,
- 1509430414,
- 3943906441,
- 3467192302,
- 3076639029,
- 3776767469,
- 2051518780,
- 2631065433,
- 1441952575,
- 404016761,
- 1942435775,
- 1408749034,
- 1610459739,
- 3745345300,
- 2017778566,
- 3400528769,
- 3110650942,
- 941896748,
- 3265478751,
- 371049330,
- 3168937228,
- 675039627,
- 4279080257,
- 967311729,
- 135050206,
- 3635733660,
- 1683407248,
- 2076935265,
- 3576870512,
- 1215061108,
- 3501741890
- }; // idb
- char Seraph::StringEncrypt::sm_Si[256] =
- {
- 'R',
- '\t',
- 'j',
- '',
- '0',
- '6',
- '\xA5',
- '8',
- '\xBF',
- '@',
- '\xA3',
- '\x9E',
- '\x81',
- '',
- '',
- '\xFB',
- '|',
- '',
- '9',
- '\x82',
- '\x9B',
- '/',
- '\xFF',
- '\x87',
- '4',
- '\x8E',
- 'C',
- 'D',
- '',
- '',
- '',
- '',
- 'T',
- '{',
- '\x94',
- '2',
- '\xA6',
- '',
- '#',
- '=',
- '',
- 'L',
- '\x95',
- '\v',
- 'B',
- '\xFA',
- '',
- 'N',
- '\b',
- '.',
- '\xA1',
- 'f',
- '(',
- '',
- '$',
- '\xB2',
- 'v',
- '[',
- '\xA2',
- 'I',
- 'm',
- '\x8B',
- '',
- '%',
- 'r',
- '\xF8',
- '',
- 'd',
- '\x86',
- 'h',
- '\x98',
- '\x16',
- '',
- '\xA4',
- '\\',
- '',
- ']',
- 'e',
- '\xB6',
- '\x92',
- 'l',
- 'p',
- 'H',
- 'P',
- '\xFD',
- '',
- '\xB9',
- '',
- '^',
- '\x15',
- 'F',
- 'W',
- '\xA7',
- '\x8D',
- '\x9D',
- '\x84',
- '\x90',
- '',
- '\xAB',
- '\0',
- '\x8C',
- '\xBC',
- '',
- '\n',
- '',
- '',
- 'X',
- '\x05',
- '\xB8',
- '\xB3',
- 'E',
- '\x06',
- '',
- ',',
- '\x1E',
- '\x8F',
- '',
- '?',
- '\x0F',
- '\x02',
- '',
- '\xAF',
- '\xBD',
- '\x03',
- '\x01',
- '\x13',
- '\x8A',
- 'k',
- ':',
- '\x91',
- '\x11',
- 'A',
- 'O',
- 'g',
- '',
- '',
- '\x97',
- '',
- '',
- '',
- '',
- '\xB4',
- '',
- 's',
- '\x96',
- '\xAC',
- 't',
- '\"',
- '',
- '\xAD',
- '5',
- '\x85',
- '',
- '\xF9',
- '7',
- '',
- '\x1C',
- 'u',
- '',
- 'n',
- 'G',
- '',
- '\x1A',
- 'q',
- '\x1D',
- ')',
- '',
- '\x89',
- 'o',
- '\xB7',
- 'b',
- '\x0E',
- '\xAA',
- '\x18',
- '\xBE',
- '\x1B',
- '\xFC',
- 'V',
- '>',
- 'K',
- '',
- '',
- 'y',
- ' ',
- '\x9A',
- '',
- '',
- '\xFE',
- 'x',
- '',
- 'Z',
- '',
- '\x1F',
- '',
- '\xA8',
- '3',
- '\x88',
- '\a',
- '',
- '1',
- '\xB1',
- '\x12',
- '\x10',
- 'Y',
- '\'',
- '\x80',
- '',
- '_',
- '`',
- 'Q',
- '\x7F',
- '\xA9',
- '\x19',
- '\xB5',
- 'J',
- '\r',
- '-',
- '',
- 'z',
- '\x9F',
- '\x93',
- '',
- '\x9C',
- '',
- '\xA0',
- '',
- ';',
- 'M',
- '\xAE',
- '*',
- '',
- '\xB0',
- '',
- '',
- '\xBB',
- '<',
- '\x83',
- 'S',
- '\x99',
- 'a',
- '\x17',
- '+',
- '\x04',
- '~',
- '\xBA',
- 'w',
- '',
- '&',
- '',
- 'i',
- '\x14',
- 'c',
- 'U',
- '!',
- '\f',
- '}'
- }; // idb
- char Seraph::StringEncrypt::sm_S[256] =
- {
- 'c',
- '|',
- 'w',
- '{',
- '',
- 'k',
- 'o',
- '',
- '0',
- '\x01',
- 'g',
- '+',
- '\xFE',
- '',
- '\xAB',
- 'v',
- '',
- '\x82',
- '',
- '}',
- '\xFA',
- 'Y',
- 'G',
- '',
- '\xAD',
- '',
- '\xA2',
- '\xAF',
- '\x9C',
- '\xA4',
- 'r',
- '',
- '\xB7',
- '\xFD',
- '\x93',
- '&',
- '6',
- '?',
- '',
- '',
- '4',
- '\xA5',
- '',
- '',
- 'q',
- '',
- '1',
- '\x15',
- '\x04',
- '',
- '#',
- '',
- '\x18',
- '\x96',
- '\x05',
- '\x9A',
- '\a',
- '\x12',
- '\x80',
- '',
- '',
- '\'',
- '\xB2',
- 'u',
- '\t',
- '\x83',
- ',',
- '\x1A',
- '\x1B',
- 'n',
- 'Z',
- '\xA0',
- 'R',
- ';',
- '',
- '\xB3',
- ')',
- '',
- '/',
- '\x84',
- 'S',
- '',
- '\0',
- '',
- ' ',
- '\xFC',
- '\xB1',
- '[',
- 'j',
- '',
- '\xBE',
- '9',
- 'J',
- 'L',
- 'X',
- '',
- '',
- '',
- '\xAA',
- '\xFB',
- 'C',
- 'M',
- '3',
- '\x85',
- 'E',
- '\xF9',
- '\x02',
- '\x7F',
- 'P',
- '<',
- '\x9F',
- '\xA8',
- 'Q',
- '\xA3',
- '@',
- '\x8F',
- '\x92',
- '\x9D',
- '8',
- '',
- '\xBC',
- '\xB6',
- '',
- '!',
- '\x10',
- '\xFF',
- '',
- '',
- '',
- '\f',
- '\x13',
- '',
- '_',
- '\x97',
- 'D',
- '\x17',
- '',
- '\xA7',
- '~',
- '=',
- 'd',
- ']',
- '\x19',
- 's',
- '`',
- '\x81',
- 'O',
- '',
- '\"',
- '*',
- '\x90',
- '\x88',
- 'F',
- '',
- '\xB8',
- '\x14',
- '',
- '^',
- '\v',
- '',
- '',
- '2',
- ':',
- '\n',
- 'I',
- '\x06',
- '$',
- '\\',
- '',
- '',
- '\xAC',
- 'b',
- '\x91',
- '\x95',
- '',
- 'y',
- '',
- '',
- '7',
- 'm',
- '\x8D',
- '',
- 'N',
- '\xA9',
- 'l',
- 'V',
- '',
- '',
- 'e',
- 'z',
- '\xAE',
- '\b',
- '\xBA',
- 'x',
- '%',
- '.',
- '\x1C',
- '\xA6',
- '\xB4',
- '',
- '',
- '',
- 't',
- '\x1F',
- 'K',
- '\xBD',
- '\x8B',
- '\x8A',
- 'p',
- '>',
- '\xB5',
- 'f',
- 'H',
- '\x03',
- '',
- '\x0E',
- 'a',
- '5',
- 'W',
- '\xB9',
- '\x86',
- '',
- '\x1D',
- '\x9E',
- '',
- '\xF8',
- '\x98',
- '\x11',
- 'i',
- '',
- '\x8E',
- '\x94',
- '\x9B',
- '\x1E',
- '\x87',
- '',
- '',
- 'U',
- '(',
- '',
- '\x8C',
- '\xA1',
- '\x89',
- '\r',
- '\xBF',
- '',
- 'B',
- 'h',
- 'A',
- '\x99',
- '-',
- '\x0F',
- '\xB0',
- 'T',
- '\xBB',
- '\x16'
- }; // idb
- int _CTOR_LIST__[] = { 4294967295 }; // weak
- int (*off_810D3AC)() = &`global constructor keyed to'g_pTimeManager; // weak
- int _JCR_LIST__ = 0; // weak
- int (*dword_810D4BC)(void) = NULL; // weak
- _UNKNOWN _dso_handle; // weak
- int *p_0 = &_DTOR_END__; // weak
- CHAR *g_MiBaoKeyTable1[49] =
- {
- (CHAR *)0x80BBB70,
- (CHAR *)0x80BBB73,
- "31",
- "41",
- "51",
- "61",
- "71",
- "12",
- "22",
- (CHAR *)0x80E15F3,
- "42",
- "52",
- "62",
- "72",
- "13",
- "23",
- "33",
- "43",
- "53",
- "63",
- "73",
- "14",
- "24",
- "34",
- "44",
- "54",
- "64",
- "74",
- "15",
- "25",
- "35",
- "45",
- "55",
- "65",
- "75",
- "16",
- "26",
- "36",
- "46",
- "56",
- (CHAR *)0x80C2035,
- "76",
- "17",
- "27",
- "37",
- "47",
- "57",
- "67",
- "77"
- }; // idb
- CHAR *g_MiBaoKeyTable[49] =
- {
- "a1",
- "b1",
- "c1",
- "d1",
- (CHAR *)0x80C2298,
- "f1",
- "g1",
- "a2",
- "b2",
- "c2",
- "d2",
- (CHAR *)0x80C22A8,
- "f2",
- "g2",
- "a3",
- "b3",
- "c3",
- "d3",
- "e3",
- "f3",
- "g3",
- "a4",
- "b4",
- "c4",
- "d4",
- "e4",
- "f4",
- "g4",
- "a5",
- "b5",
- "c5",
- (CHAR *)0x80CD03B,
- "e5",
- "f5",
- "g5",
- "a6",
- "b6",
- "c6",
- "d6",
- "e6",
- "f6",
- "g6",
- "a7",
- "b7",
- "c7",
- "d7",
- "e7",
- "f7",
- "g7"
- }; // idb
- CHAR g_szIspID[48] =
- {
- 'C',
- 'N',
- 'C',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- 'C',
- 'T',
- 'C',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- 'E',
- 'D',
- 'U',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0'
- }; // idb
- CHAR *g_pLogFileName[30] =
- {
- "./Log/login",
- "./Log/debug",
- "./Log/error",
- "./Log/functions",
- "./Log/world",
- &unk_80C30B0,
- "./Log/send",
- &unk_80C30C6,
- "./Log/pet",
- &unk_80C30DC,
- &unk_80C30E8,
- &unk_80C30F4,
- "./Log/chat",
- "./Log/mission",
- "./Log/exchange",
- "./Log/guild",
- "./Log/Audit",
- "./Log/PetProcreate",
- "./Log/Exp",
- "./Log/MIP",
- &unk_80C3169,
- "./Log/LoginCacheLog",
- "./Log/CoupleAudit",
- "./Log/Prize",
- "./Log/check",
- "./Log/yuanbao",
- "./Log/HardWare",
- "./Log/Oops",
- "./Log/Efficiency",
- NULL
- }; // idb
- INT g_Command_LogActive = 1; // idb
- INT g_Command_LogPrint = 1; // idb
- INT GetSerialKey(char *,int,int,int)::s_Step = 100; // idb
- OOPSTYPE_DEFINE g_OopsLogDefine[4] =
- {
- { EOT_NOTERROR, "NotError" },
- { EOT_NOTYPE, "NOTYPE" },
- { EOT_ITEMREPEAT, "ITEMREPEAT" },
- { EOT_DEBUGLOGSIZE, "DEBUGLOGSIZE" }
- }; // idb
- const CHAR *g_szAuditType[200] =
- {
- "ABILITY_COOKING",
- "ABILITY_PHARMACY",
- "ABILITY_INLAY",
- "ABILITY_FOUNDRY",
- "ABILITY_TAILOR",
- "ABILITY_ARTWORK",
- "ABILITY_FOUNDRY_SP",
- "ABILITY_TAILOR_SP",
- "ABILITY_ARTWORK_SP",
- "ABILITY_GATHERMINE",
- "ABILITY_GATHERMEDIC",
- "ABILITY_FISH",
- "ABILITY_PLANT",
- "ABILITY_SHAOLINDRUG",
- "ABILITY_HOLYFIRE",
- "ABILITY_BREWING",
- "ABILITY_THICKICE",
- "ABILITY_INSECTCULTURING",
- "ABILITY_POISON",
- "ABILITY_INCANTATION",
- "ABILITY_ALCHEMY",
- "ABILITY_THAUMATURGY",
- "ABILITY_ENGINEERING",
- "ABILITY_FIGHTGHOST",
- "ABILITY_SEARCHTSTORE",
- "ABILITY_TRADE",
- "ABILITY_HAGGLE",
- "ABILITY_EXCESSPROFIT",
- "ABILITY_PROCESSING",
- "ABILITY_PHARMACOLOGY",
- "ABILITY_REGIMEN",
- "ABILITY_BUDDHOLOGY",
- "ABILITY_FIREMAKING",
- "ABILITY_BEGSKILL",
- "ABILITY_ICEMAKING",
- "ABILITY_VENATIONFORMULA",
- "ABILITY_INSECTENTICING",
- "ABILITY_MENTALTELEPATHY",
- "ABILITY_TAOISM",
- "ABILITY_BODYBUILDING",
- "ABILITY_QUITATION",
- "ABILITY_GPS",
- "ABILITY_HUOXUE",
- "ABILITY_YANGQI",
- "ABILITY_QIANGSHEN",
- "ABILITY_JIANTI",
- "ABILITY_XUESHEN",
- "ABILITY_SUTI",
- "ABILITY_MATERIALPROCESSING",
- "GEMCOMPOUND",
- "STALL",
- &unk_80C39C6,
- "PET_SOLD_IN_STALL",
- "CAO_YUN",
- "JOIN_MENPAI",
- "SHUI_LAO",
- "DA_TU",
- "WA_BAO",
- "MONSTER_KILLED",
- "PET_KILLED",
- (const CHAR *)0x80C393F,
- "TEAM",
- "CHALLENGE",
- "PET_HUAN_TONG",
- "PET_PROCREATE",
- "PET_CREATE",
- "PET_CATCHED",
- "MISSION_CIRCLE",
- "PLAYER_SHOP_BUY",
- "PLAYER_SHOP_SOLD",
- "ITEM_SOLD_IN_PLAYER_SHOP",
- "PET_SOLD_IN_PLAYER_SHOP",
- "PLAYER_SHOP_REMOVED",
- "PLAYER_MARRIAGE",
- "PLAYER_DIVORCE",
- "ITEM_CREATED",
- "PLAYER_PK",
- "SHI_MEN_REN_WU",
- "SHI_MEN_REN_WU_DAY",
- "HUA_SHAN_THREE_WINNERS",
- "EXAMINATION_CANDIDATE",
- "QUEST",
- "PAO_SHANG",
- "PET_IMPROVE_WU_XING",
- "PET_IMPROVE_SKILL_BOOK",
- "SCENE_PLAYER_COUNT",
- "GEM_EMBED",
- "PLAYER_MASTER",
- "PLAYER_MASTER_EXP",
- "PET_ZHENGYOU",
- "ITEM_USE_MENPAIZHAOJILING",
- "PLAYER_LEVEL_UP",
- "HUODONG_XIANCAOZHENGDUO",
- "GUILD_WAGE",
- "DARK_KEY_USED",
- "ITEM_IDENTIFIED",
- "COMMISION_SALE",
- "GUILD_DECLARE_WAR",
- "MINOR_PASSWORD_OPT",
- "YAN_XUAN_YU_EXCHANGE",
- "YUN_BIAO",
- "EQUIP_QIANGHUA",
- "GOODBAD_DEC_PKVALUE",
- "PLAYER_SKILL_MONSTER",
- "GUILD_JIAO_FEI",
- "PLAYER_ENTER_SCENE",
- "GEM_CARVE",
- "PLAYER_SHOP_SALE_SHOP_ADD_ITEM",
- "PLAYER_SHOP_SALE_SHOP_SELL_ITEM",
- "LEARN_LIFE_ABILITY",
- "LEVEL_UP_LIFE_ABILITY",
- "SHENGSHOU_OPEN_BIGBOX",
- "SHENGSHOU_OPEN_SMALLBOX",
- "SHENQI_ITEM",
- "PLAYER_BEHAVIOR",
- "SHENCAI_ITEM",
- "CAOYUN_SALE",
- "JUBAOCONTAINER_USED",
- "SAFEBOX_OPEN",
- "CHANGEHEAD_SUCCEED",
- "EQUIP_STILETTO",
- "EQUIP_PICKOFF_GEM",
- "50W_JOIN",
- "LUCKY_TURN_TABLE",
- "LUCKY_TURN_TABLE_DRAGON",
- "GUILD_LEAGUE",
- "SHUANG_XIANG_PAO",
- "YURENJIE",
- "PetCagePresent",
- "GEIZHAOPAI",
- "GODFIRE_SUCCEED",
- "DRAW_GUILDWELFARE",
- "SWITCH_TO_LEAGUE_PK",
- "LEAGUE_PK_DIE",
- "SHITUZONGDONGYUAN",
- "FOUR_SLOT",
- "FOUR_ENCHASE",
- "JIPIN_ZHUANGBEI",
- "PETSKILLSTUDY_MANUAL",
- "PETSKILLSTUDY_AUTO",
- "PETSKILLSTUDY_GETMANUAL2",
- "PETSKILLSTUDY_GETAUTO5",
- "PMF_CREATE_FUBEN",
- "PMF_CREATE_BOSS",
- "PWLOCK_ITEM_PET",
- "JOIN_JIAOSHIJIE",
- "USE_TEACHER_GIFT",
- "RUNHUNDAN_USED",
- "DIANHUAMIBAO_ZENGPING_LINGQU",
- "ANBAODALIBAO_LINGQU",
- "ZHUAN_DAN_USED",
- "UNLINE_GIVEGIFT_EXP",
- "UNLINE_GIVEGIFT_ITEM",
- "COLLECT_SIGNATURE",
- "EXCHANGE_FRIEND_GIFT",
- "SPY_CITY_INFO",
- "XQJ_FUBEN_CREATE",
- "EXCHANGE_MENPAI_SUIT",
- "NEWPET_CREATECOPY",
- "CREATE_NEW_XSZHUANG",
- "XINSANHUAN_CREATE_HUANGJIN",
- "XINSANHUAN_CREATE_XUANFOUZHU",
- "XINSANHUAN_CREATE_RONGYAN",
- "XUANHAOYU_EXCHANGE",
- "REEXPERIENCE_WEDDING",
- "MIYINKUANGSHI_USED",
- "GEM_MELTING",
- "UPGRADE_RING_GET",
- "UPGRADE_RING_UP",
- "UPGRADE_RING_BLESS",
- "YUANBAO_STALL_APPLY",
- "YUANBAO_STALL_ITEM",
- "CHANGE_GEM",
- "SHIMEN_CAIJI_JOINTPLAYER",
- "SHIMEN_CAIJI_FINISHTHREEPLAYER",
- "SHIMEN_CAIJI_PETLEVELPLAYER",
- "GUILD_COLLECT_JOIN",
- "GUILD_COLLECT_SUBMIT",
- "GUILD_COLLECT_PRIZE",
- "FRACTION_SEGMENT",
- "COMPOSE_SEGMENT",
- "RESET_PMFCOUNT_SMALL",
- "RELATION_POINT_NPC",
- "ADD_FINDFRIENDAD_INFO",
- "DEL_FINDFRIENDAD_INFO",
- "PETSKILLLEVELUP",
- "PETMEDICINEHCCOMPOUND",
- "COMPOSE_FIGURE",
- "CHANGENIANSHOUDRIVER",
- "QINRENJIE_SHIZHUANG",
- "FINDFRIENDAD_CLICK_ZHENG",
- "CHANGE_FATIGUE_STATE",
- "YUANBAO_STALL_PET",
- "REEXPERIENCE_WEDDING",
- "YURENJIE_EXP",
- "QIANDAO",
- "GETSCHOOLUNIFORM",
- "USESCHOOLBAGS",
- "TYPE_UNLINE_POOLEXP",
- &unk_80C4346
- }; // idb
- CHAR *g_EfficiencyLogFormat = "EFL:%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d"; // idb
- CHAR *g_ExpLogFormat = "EOL:%X,%d,%d,%d,%d,%.2f,%.2f,%s"; // idb
- CHAR *g_MissionLogFormat = "MIL:%X,%d,%d,%.2f,%.2f,%d,%d,%d,%u,%u,%u,%u,%u,%u,%u,%u,%d,%d,%d,%d"; // idb
- CHAR *g_AbilityLogFormat = "AOL:%X,%d,%d,%.2f,%.2f,%u,%d,%d"; // idb
- CHAR *g_XinFaLogFormat = "XOL:%X,%d,%d,%.2f,%.2f,%u,%d,%d"; // idb
- CHAR *g_SkillLogFormat = "SOL:%X,%d,%d,%.2f,%.2f,%u,%d,%d"; // idb
- CHAR *g_PetLogFormat_MIP = "POL,%X,%X,%d,%d,%.2f,%.2f,%u,%u,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%f,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d"; // idb
- CHAR *g_PetLogFormat = "POL:CharGUID:%X, TargetGUID:%X, OPType:%d, SceneID:%d, XPos:%.2f, ZPos:%.2f, HighSection:%u, LowSection:%u, DataID:%d, Str:%d, Con:%d, Dex:%d, Spr:%d, Int:%d, StrPer:%d, ConPer:%d, DexPer:%d, SprPer:%d, IntPer:%d, RemainPoint:%d, GrowRate:%f, Gengu:%d, Skill0~Skill12:%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, Savvy:%d, Level:%d"; // idb
- CHAR GSET_KEY[192] =
- {
- 'U',
- 'N',
- 'U',
- 'S',
- 'E',
- '_',
- 'S',
- 'P',
- 'L',
- 'I',
- 'T',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- 'P',
- 'S',
- 'H',
- 'O',
- 'P',
- '_',
- 'N',
- 'E',
- 'W',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- 'G',
- 'U',
- 'I',
- 'L',
- 'D',
- '_',
- 'N',
- 'E',
- 'W',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- 'C',
- 'I',
- 'T',
- 'Y',
- '_',
- 'N',
- 'E',
- 'W',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- 'W',
- 'O',
- 'R',
- 'L',
- 'D',
- '_',
- 'I',
- 'D',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- 'Z',
- 'O',
- 'N',
- 'E',
- '_',
- 'I',
- 'D',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0'
- }; // idb
- CHAR *SaveCharExtra = "call save_charextra(%d,%d,%d,%d,%d,%u,%u,%d,%d,%d,%d,%d)"; // idb
- CHAR *SaveCrcInfo = "insert into %s (charguid,logouttime,crc32,fulldata,isdelete,server) values(%d,%u,%d,'%s',%d,%d)"; // idb
- CHAR *SaveTGeneralSet = "call save_general_set('%s',%d)"; // idb
- CHAR *LoadTGeneralSet = "select nVal from %s where sKey='%s'"; // idb
- CHAR *NewCharPet = "insert into %s(charguid ,hpetguid,lpetguid,dataxid,petname,petnick,level,needlevel,atttype,aitype,camp,hp,mp,life,pettype,genera,enjoy,strper,conper,dexper,sprper,iprper,gengu,growrate,repoint,exp,str,con,dex,spr,ipr,skill,pwflag,pclvl,dbversion,hspetguid,lspetguid,savvy,title,curtitle,us_unlock_time,us_reserve,dataversion) values(%d,%d,%d,%d,'%s','%s',%d,%d,%d,%d,'%s',%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,'%s',%d,%d,%d,%d,%d,%d,'%s',%d,%d,%d,%d)"; // idb
- CHAR *NewCharImpact = "insert into %s(charguid,imdata,dbversion) values(%d,'%s',%d)"; // idb
- CHAR *NewCharRelation = "insert into %s(charguid,fguid,fname,fpoint,reflag,groupid,extdata,dbversion) values(%d,%d,'%s',%d,%d,%d,'%s',%d)"; // idb
- CHAR *UpdateCharVisualGem = "update %s set visualgem='%s'where charguid=%d and isvalid>0 and dbversion=%d"; // idb
- CHAR *UpdateCharFatigueInfo = "update %s set fatigue='%s'where charguid=%d and isvalid>0 and dbversion=%d"; // idb
- CHAR *UpdateCharPvPInfo = "update %s set pvpinfo='%s'where charguid=%d and isvalid>0 and dbversion=%d"; // idb
- CHAR *UpdateCharCoolDownInfo = "update %s set cooldown='%s'where charguid=%d and isvalid>0 and dbversion=%d"; // idb
- CHAR *UpdateCharTitleInfo = "update %s set titleinfo='%s'where charguid=%d and isvalid>0 and dbversion=%d"; // idb
- CHAR *UpdateCharPrivateInfo = "update %s set pinfo='%s' where charguid=%d and isvalid>0 and dbversion=%d"; // idb
- CHAR *UpdateCharTaskFlag = "update %s set mflag='%s' where charguid = %d and isvalid>0 and dbversion=%d"; // idb
- CHAR *UpdateCharTaskData = "update %s set mdata='%s' where charguid = %d and isvalid>0 and dbversion=%d"; // idb
- CHAR *NewCharTask = "insert into %s(charguid,missionid,scriptid,flag,p1,p2,p3,p4,p5,p6,p7,p8,dbversion) values(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d)"; // idb
- CHAR *NewCharAbility = "insert into %s(charguid,abid,ablvl,abexp,dbversion) values(%d,%d,%d,%u,%d)"; // idb
- CHAR *NewCharXinFa = "insert into %s(charguid,xinfaid,xinfalvl,dbversion) values(%d,%d,%d,%d)"; // idb
- CHAR *NewCharSkill = "insert into %s(charguid,skid,dbversion) \tvalues(%d,%d,%d) \n"; // idb
- CHAR *NewCharItem = "call save_iteminfo(%d,%d,%d,%d,%u,%d,%u,%d,'%s',%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,'%s','%s')"; // idb
- CHAR *DeleteBaseChar = "call delete_char_new('%s','%s',%d,%d,%u)"; // idb
- CHAR *FetchNewGuid = "call fetch_guid()"; // idb
- CHAR *CheckCharName = "call is_charname_ok('%s')"; // idb
- CHAR *CreateChar = "call create_newchar('%s','%s',%d,%d,%d,%d,%d,%d,%d,%d)"; // idb
- CHAR *CreateNewChar = "insert into %s(accname,charguid,charname,title,pw,sex,level,enegry,outlook,scene,xpos,zpos,menpai,hp,mp,strikepoint,str,con,dex,spr,ipr,points,logouttime,logintime,createtime,dbversion,haircolor,hairmodel,facecolor,facemodel,vmoney,settings,isvalid,exp,pres,shopinfo,carrypet,guldid,teamid,headid,erecover,vigor,maxvigor,vrecover,energymax,pwdeltime,pinfo,bkscene,bkxpos,bkzpos,titleinfo,dietime,bankmoney,bankend,cooldown,defeq) values('%s',%d,'%s','%s','%s',%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,'%s',%d,%d,'%s','%s','%s',%d,%d,%d,%d,%d,%d,%d,%d,%d,'%s',%d,%d,%d,'%s',%d,%d,%d,'%s',%d)"; // idb
- CHAR *UpdateCharName = "update %s set charname='%s' where charguid=%d"; // idb
- CHAR *MigCheckCharName = "select charguid from %s where charname='%s' limit 1"; // idb
- CHAR *MigNewChar = "insert into %s(accname,charguid,charname,title,pw,sex,level,enegry,outlook,scene,xpos,zpos,menpai,hp,mp,strikepoint,str,con,dex,spr,ipr,points,logouttime,logintime,createtime,dbversion,haircolor,hairmodel,facecolor,facemodel,vmoney,settings,isvalid,exp,pres,shopinfo,carrypet,guldid,teamid,headid,erecover,vigor,maxvigor,vrecover,energymax,pwdeltime,pinfo,bkscene,bkxpos,bkzpos,titleinfo,dietime,bankmoney,bankend,cooldown,defeq) values('%s',%d,'%s','%s','%s',%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,'%s',%d,%d,'%s','%s','%s',%d,%d,%d,%d,%d,%d,%d,%d,%d,'%s',%d,%d,%d,'%s',%d,%d,%d,'%s',%d)"; // idb
- CHAR *UpdateCharPresList = "update %s set pres = '%s' where charguid = %d and isvalid>0 and dbversion = %d"; // idb
- CHAR *UpdateCharRelationData = "update %s set relflag = '%s' where charguid = %d and isvalid>0 and dbversion=%d"; // idb
- CHAR *LoadCharRelationData = "select charguid,relflag from %s where charguid = %d and isvalid =1 and dbversion=%d"; // idb
- CHAR *LoadCharTaskDataAndFlag = "select charguid,mflag,mdata from %s where charguid = %d and dbversion=%d"; // idb
- CHAR *LoadCharPresList = "select charguid,pres from %s where charguid = %d and dbversion=%d"; // idb
- CHAR *DeleteCharItemSingle = "update %s set isvalid=0,guid=0,world=0,server=0,dbversion=%d where charguid=%d and pos=%d and dbversion<=%d"; // idb
- CHAR *LoadDupItemList = "select charguid,pos,itemtype,dbversion from %s where guid=%d and world=%d and server=%d and isvalid>0"; // idb
- CHAR *DeleteCharRequest = "update %s set isvalid = 0,deltime=0,charname = CONCAT(charname,'@DELETE_',%d) where charguid = %d"; // idb
- CHAR *UpdateCharFullData = "update %s set title='%s',sex=%d,level=%d,enegry=%d,exp=%d,vmoney=%d,pw='%s',haircolor=%d,facecolor=%d,hairmodel=%d,facemodel=%d,scene=%d,xpos=%d,zpos=%d,logintime=%d,logouttime=%d,dbversion=%d,menpai=%d,hp=%d,mp=%d,strikepoint=%d,str=%d,spr=%d,con=%d,ipr=%d,dex=%d,points=%d,settings='%s', shopinfo = '%s',carrypet = '%s' ,guldid= %d,teamid =%d,headid=%d,erecover=%d,vigor=%d,maxvigor=%d,vrecover=%d,energymax=%d, pwdeltime=%d,dietime=%d,bankmoney=%d,bankend=%d,bkscene=%d,bkxpos=%d,bkzpos=%d,rage=%d,defeq=%d,guildpoint=%d,menpaipoint =%d,gevil=%d,pkvalue=%d,otime=%d,deltime=%d,expinfo='%s',crc32=%d,loginip=%d,pkvaluetime=%d,yuanbao=%u,isolditem=0, uipoint=%d,zengdian=%d where charguid = %d and isvalid >0 and dbversion<=%d"; // idb
- CHAR *LoadCharExtradbVersion = "select dbversion from %s where charguid = %d"; // idb
- CHAR *LoadChardbVersion = "select dbversion,isvalid from %s where charguid = %d"; // idb
- CHAR *LoadCharList = "select charguid,sex,charname,level,haircolor,facecolor,hairmodel,facemodel,scene,menpai, headid,logintime,defeq,deltime,dbversion,isolditem from %s where accname ='%s' and isvalid =1"; // idb
- char Cyclone::g_szRanKey[62] = "QWASDRTFYUIOGHJKLmncXz23456789zcbnmasdfjMNBC0qwzfgbhuifdfgJKL"; // idb
- int Cyclone::g_encryptCrc32Table[256] =
- {
- 0,
- 1996959894,
- 3993919788,
- 2567524794,
- 124634137,
- 1886057615,
- 3915621685,
- 2657392035,
- 249268274,
- 2044508324,
- 3772115230,
- 2547177864,
- 162941995,
- 2125561021,
- 3887607047,
- 2428444049,
- 498536548,
- 1789927666,
- 4089016648,
- 2227061214,
- 450548861,
- 1843258603,
- 4107580753,
- 2211677639,
- 325883990,
- 1684777152,
- 4251122042,
- 2321926636,
- 335633487,
- 1661365465,
- 4195302755,
- 2366115317,
- 997073096,
- 1281953886,
- 3579855332,
- 2724688242,
- 1006888145,
- 1258607687,
- 3524101629,
- 2768942443,
- 901097722,
- 1119000684,
- 3686517206,
- 2898065728,
- 853044451,
- 1172266101,
- 3705015759,
- 2882616665,
- 651767980,
- 1373503546,
- 3369554304,
- 3218104598,
- 565507253,
- 1454621731,
- 3485111705,
- 3099436303,
- 671266974,
- 1594198024,
- 3322730930,
- 2970347812,
- 795835527,
- 1483230225,
- 3244367275,
- 3060149565,
- 1994146192,
- 31158534,
- 2563907772,
- 4023717930,
- 1907459465,
- 112637215,
- 2680153253,
- 3904427059,
- 2013776290,
- 251722036,
- 2517215374,
- 3775830040,
- 2137656763,
- 141376813,
- 2439277719,
- 3865271297,
- 1802195444,
- 476864866,
- 2238001368,
- 4066508878,
- 1812370925,
- 453092731,
- 2181625025,
- 4111451223,
- 1706088902,
- 314042704,
- 2344532202,
- 4240017532,
- 1658658271,
- 366619977,
- 2362670323,
- 4224994405,
- 1303535960,
- 984961486,
- 2747007092,
- 3569037538,
- 1256170817,
- 1037604311,
- 2765210733,
- 3554079995,
- 1131014506,
- 879679996,
- 2909243462,
- 3663771856,
- 1141124467,
- 855842277,
- 2852801631,
- 3708648649,
- 1342533948,
- 654459306,
- 3188396048,
- 3373015174,
- 1466479909,
- 544179635,
- 3110523913,
- 3462522015,
- 1591671054,
- 702138776,
- 2966460450,
- 3352799412,
- 1504918807,
- 783551873,
- 3082640443,
- 3233442989,
- 3988292384,
- 2596254646,
- 62317068,
- 1957810842,
- 3939845945,
- 2647816111,
- 81470997,
- 1943803523,
- 3814918930,
- 2489596804,
- 225274430,
- 2053790376,
- 3826175755,
- 2466906013,
- 167816743,
- 2097651377,
- 4027552580,
- 2265490386,
- 503444072,
- 1762050814,
- 4150417245,
- 2154129355,
- 426522225,
- 1852507879,
- 4275313526,
- 2312317920,
- 282753626,
- 1742555852,
- 4189708143,
- 2394877945,
- 397917763,
- 1622183637,
- 3604390888,
- 2714866558,
- 953729732,
- 1340076626,
- 3518719985,
- 2797360999,
- 1068828381,
- 1219638859,
- 3624741850,
- 2936675148,
- 906185462,
- 1090812512,
- 3747672003,
- 2825379669,
- 829329135,
- 1181335161,
- 3412177804,
- 3160834842,
- 628085408,
- 1382605366,
- 3423369109,
- 3138078467,
- 570562233,
- 1426400815,
- 3317316542,
- 2998733608,
- 733239954,
- 1555261956,
- 3268935591,
- 3050360625,
- 752459403,
- 1541320221,
- 2607071920,
- 3965973030,
- 1969922972,
- 40735498,
- 2617837225,
- 3943577151,
- 1913087877,
- 83908371,
- 2512341634,
- 3803740692,
- 2075208622,
- 213261112,
- 2463272603,
- 3855990285,
- 2094854071,
- 198958881,
- 2262029012,
- 4057260610,
- 1759359992,
- 534414190,
- 2176718541,
- 4139329115,
- 1873836001,
- 414664567,
- 2282248934,
- 4279200368,
- 1711684554,
- 285281116,
- 2405801727,
- 4167216745,
- 1634467795,
- 376229701,
- 2685067896,
- 3608007406,
- 1308918612,
- 956543938,
- 2808555105,
- 3495958263,
- 1231636301,
- 1047427035,
- 2932959818,
- 3654703836,
- 1088359270,
- 936918000,
- 2847714899,
- 3736837829,
- 1202900863,
- 817233897,
- 3183342108,
- 3401237130,
- 1404277552,
- 615818150,
- 3134207493,
- 3453421203,
- 1423857449,
- 601450431,
- 3009837614,
- 3294710456,
- 1567103746,
- 711928724,
- 3020668471,
- 3272380065,
- 1510334235,
- 755167117
- }; // idb
- char CAPTCHA::g_staticMask[4640] =
- {
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xF8',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\x04',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '?',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\x03',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x87',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xF8',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xF8',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFC',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x03',
- '\xFF',
- '\xFF',
- '\xFF',
- '',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xF8',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFC',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFE',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x01',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x8F',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xBF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\x80',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '?',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x1F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x7F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x01',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\a',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\0',
- '\x0F',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\xFF',
- '\0',
- '\0',
- '\0',
- '\0'
- }; // idb
- const char *Seraph::StringEncrypt::sm_chain0 = &unk_80EAEA0; // idb
- _UNKNOWN std::string::_Rep::_S_empty_rep_storage; // weak
- _UNKNOWN unk_810FC6C; // weak
- _UNKNOWN `typeinfo for'int; // weak
- _UNKNOWN `typeinfo for'char *; // weak
- char completed_1; // weak
- ConnectManager *g_pConnectManager; // idb
- std::ios_base::Init std::__ioinit; // idb
- IPRegionTable *g_pIPRegionTable; // idb
- std::ios_base::Init std::__ioinit; // idb
- LoginExceptionHandler g_LoginExceptionHandler; // idb
- CAPTCHA::FontFile *g_pGlobalCaptchaFontFile; // idb
- CAPTCHA::Generator *g_pGenerator; // idb
- Login g_Login; // idb
- std::ios_base::Init std::__ioinit; // idb
- int g_SingleDBConnection; // idb
- int g_IgnoreWorldIDZoneIDCheck; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- ReLoginManager *g_pReLoginManager; // idb
- std::ios_base::Init std::__ioinit; // idb
- ID_t g_pServerManager; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- ThreadManager *g_pThreadManager; // idb
- std::ios_base::Init std::__ioinit; // idb
- Config g_Config; // idb
- std::ios_base::Init std::__ioinit; // idb
- Log *g_pLog; // idb
- MyLock g_log_lock; // idb
- std::ios_base::Init std::__ioinit; // idb
- OopsLogBase theOopsLog; // idb
- std::ios_base::Init std::__ioinit; // idb
- BOOL g_bAuditFlag; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- WORLD_GLOBAL_DATA g_WorldGlobalData; // idb
- std::ios_base::Init std::__ioinit; // idb
- UINT g_CurWorld; // idb
- INT g_DBConnectThread; // idb
- std::ios_base::Init std::__ioinit; // idb
- BillPacketFactoryManager *g_pBPacketFactoryManager; // idb
- PacketFactoryManager *g_pPacketFactoryManager; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- LoginPlayerManager *g_pLoginPlayerManager; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- PlayerPool *g_pPlayerPool; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- WorldPlayerQueue *g_pWorldPlayerQueue; // idb
- TurnPlayerQueue *g_pProcessPlayerQueue; // idb
- WorldPlayerCounter g_WorldPlayerCounter; // idb
- WorldPlayerCounter g_WorldPlayerCounter1; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- DBChooseSceneTable g_DBSceneTable; // idb
- CharConfig g_CharConfig; // idb
- FULLUSERDATA *CharConfig::pUserData; // idb
- std::ios_base::Init std::__ioinit; // idb
- DBLogicManager g_DBLogicManager; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- DBThreadManager *g_pDBThreadManager; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- ProcessManager *g_pProcessManager; // idb
- std::ios_base::Init std::__ioinit; // idb
- ProcessPlayerManager *g_pProcessPlayerManager; // idb
- std::ios_base::Init std::__ioinit; // idb
- int (*DBC::DBCFile::s_funcPlatformDecrypMemoryFunc)(const char *, const char *, int, char *, int *); // idb
- int (*DBC::DBCFile::s_funcIsEncryptMemory)(const char *, int); // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- CHAR gSocketError[260]; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- INT g_Command_IgnoreMessageBox; // idb
- INT g_Command_Assert; // idb
- std::ios_base::Init std::__ioinit; // idb
- __int64 `guard variable for'__show__(char const*)::llock; // idb
- MyLock __show__(char const*)::llock; // idb
- std::ios_base::Init std::__ioinit; // idb
- std::ios_base::Init std::__ioinit; // idb
- UINT Thread::s_QuitThreadCount; // idb
- UINT Thread::s_CreateThreadCount; // idb
- std::ios_base::Init std::__ioinit; // idb
- __int64 `guard variable for'Thread::MyThreadProcess(void *)::s_thread_lock; // idb
- MyLock Thread::MyThreadProcess(void *)::s_thread_lock; // idb
- std::ios_base::Init std::__ioinit; // idb
- __int64 `guard variable for'ThreadValueManager::getSingleton(void)::sThreadValue; // idb
- ThreadValueManager ThreadValueManager::getSingleton(void)::sThreadValue; // idb
- UINT g_LogFileNameFix_Last; // idb
- UINT g_LogFileNameFix; // idb
- TimeManager *g_pTimeManager; // idb
- std::ios_base::Init std::__ioinit; // idb
- unsigned int CAPTCHA::Generator::generatorImage(CAPTCHA::CAPTCHA_DATA &,bool,bool,bool)::s_totalCounts; // idb
- int Seraph::doMotherCheck(unsigned int,char *)::nStatus; // idb
- // extern _UNKNOWN _gmon_start__; weak
- //----- (08049AE0) --------------------------------------------------------
- int __fastcall init_proc(int a1, int a2)
- {
- int v2; // edx
- int v3; // ecx
- call_gmon_start(a1, a2);
- frame_dummy();
- return _do_global_ctors_aux(v3, v2);
- }
- //----- (08049AF8) --------------------------------------------------------
- int sub_8049AF8()
- {
- return dword_810D4BC();
- }
- // 810D4BC: using guessed type int (*dword_810D4BC)(void);
- //----- (0804A278) --------------------------------------------------------
- #error "804A27B: positive sp value has been found (funcsize=2)"
- //----- (0804A29C) --------------------------------------------------------
- int __fastcall call_gmon_start(int a1, int a2)
- {
- int v3; // [esp-4h] [ebp-8h]
- v3 = a2;
- if ( &_gmon_start__ )
- ((void (__cdecl *)(int))_gmon_start__)(a2);
- return v3;
- }
- //----- (0804A2C0) --------------------------------------------------------
- void _do_global_dtors_aux()
- {
- void (*v0)(void); // edx
- if ( !completed_1 )
- {
- while ( 1 )
- {
- v0 = (void (*)(void))*p_0;
- if ( !*p_0 )
- break;
- ++p_0;
- v0();
- }
- completed_1 = 1;
- }
- }
- // 810D6A8: using guessed type int *p_0;
- // 810FCE4: using guessed type char completed_1;
- //----- (0804A2F4) --------------------------------------------------------
- int frame_dummy()
- {
- int result; // eax
- result = _JCR_LIST__;
- if ( _JCR_LIST__ )
- result = 0;
- return result;
- }
- // 810D3BC: using guessed type int _JCR_LIST__;
- //----- (0804A320) --------------------------------------------------------
- void __cdecl ConnectManager::ConnectManager(ConnectManager *const this)
- {
- bool v1; // zf
- LoginPlayerManager *v2; // esi
- ReLoginManager *v3; // eax
- ReLoginManager *v4; // esi
- tag_ReLoginUnit *v5; // ebx
- int v6; // eax
- int v7; // eax
- signed int v8; // [esp+14h] [ebp-10h]
- Thread::Thread(this);
- v1 = g_pLoginPlayerManager == 0;
- this->_vptr_Thread = (int (**)(...))&off_80BAF90;
- if ( v1 )
- {
- v2 = (LoginPlayerManager *)operator new(0x17B8u);
- LoginPlayerManager::LoginPlayerManager(v2);
- g_pLoginPlayerManager = v2;
- if ( !v2 )
- __assert__("./Main/ConnectManager.cpp", 0xFu, "ConnectManager::ConnectManager()", "g_pLoginPlayerManager");
- }
- if ( !g_pReLoginManager )
- {
- v3 = (ReLoginManager *)operator new(0x19002Cu);
- v3->_vptr_ReLoginManager = (int (**)(...))off_80BAFC8;
- v4 = v3;
- StrTable::StrTable(&v3->m_LoginAccTable.m_pTable);
- v5 = v4->m_LoginUnit;
- v8 = 51199;
- do
- {
- tag_ReLoginUnit::tag_ReLoginUnit(v5);
- --v8;
- ++v5;
- }
- while ( v8 != -1 );
- v6 = (int)&v4->m_CheckOldTimer;
- *(_DWORD *)(v6 + 8) = 0;
- *(_DWORD *)(v6 + 4) = 0;
- v7 = (int)&v4->m_RestCountTimer;
- v4->m_CheckOldTimer.m_uTickTerm = 0;
- v4->m_RestCountTimer.m_uTickTerm = 0;
- *(_DWORD *)(v7 + 8) = 0;
- *(_DWORD *)(v7 + 4) = 0;
- g_pReLoginManager = v4;
- }
- this->m_Active = 0;
- }
- // 80BAF90: using guessed type _DWORD (__cdecl *off_80BAF90)(ConnectManager *this);
- // 80BAFC8: using guessed type _DWORD (__cdecl *off_80BAFC8[2])(ReLoginManager *this);
- //----- (0804A46C) --------------------------------------------------------
- void __noreturn sub_804A46C()
- {
- _DWORD *v0; // [esp+0h] [ebp-10h]
- Thread::~Thread(v0);
- _Unwind_Resume();
- }
- //----- (0804A4AC) --------------------------------------------------------
- void __cdecl ConnectManager::ConnectManager(ConnectManager *const this)
- {
- bool v1; // zf
- LoginPlayerManager *v2; // esi
- ReLoginManager *v3; // eax
- ReLoginManager *v4; // esi
- tag_ReLoginUnit *v5; // ebx
- int v6; // eax
- int v7; // eax
- signed int v8; // [esp+14h] [ebp-10h]
- Thread::Thread(this);
- v1 = g_pLoginPlayerManager == 0;
- this->_vptr_Thread = (int (**)(...))&off_80BAF90;
- if ( v1 )
- {
- v2 = (LoginPlayerManager *)operator new(0x17B8u);
- LoginPlayerManager::LoginPlayerManager(v2);
- g_pLoginPlayerManager = v2;
- if ( !v2 )
- __assert__("./Main/ConnectManager.cpp", 0xFu, "ConnectManager::ConnectManager()", "g_pLoginPlayerManager");
- }
- if ( !g_pReLoginManager )
- {
- v3 = (ReLoginManager *)operator new(0x19002Cu);
- v3->_vptr_ReLoginManager = (int (**)(...))off_80BAFC8;
- v4 = v3;
- StrTable::StrTable(&v3->m_LoginAccTable.m_pTable);
- v5 = v4->m_LoginUnit;
- v8 = 51199;
- do
- {
- tag_ReLoginUnit::tag_ReLoginUnit(v5);
- --v8;
- ++v5;
- }
- while ( v8 != -1 );
- v6 = (int)&v4->m_CheckOldTimer;
- *(_DWORD *)(v6 + 8) = 0;
- *(_DWORD *)(v6 + 4) = 0;
- v7 = (int)&v4->m_RestCountTimer;
- v4->m_CheckOldTimer.m_uTickTerm = 0;
- v4->m_RestCountTimer.m_uTickTerm = 0;
- *(_DWORD *)(v7 + 8) = 0;
- *(_DWORD *)(v7 + 4) = 0;
- g_pReLoginManager = v4;
- }
- this->m_Active = 0;
- }
- // 80BAF90: using guessed type _DWORD (__cdecl *off_80BAF90)(ConnectManager *this);
- // 80BAFC8: using guessed type _DWORD (__cdecl *off_80BAFC8[2])(ReLoginManager *this);
- //----- (0804A5F8) --------------------------------------------------------
- void __noreturn sub_804A5F8()
- {
- _DWORD *v0; // [esp+0h] [ebp-10h]
- Thread::~Thread(v0);
- _Unwind_Resume();
- }
- //----- (0804A638) --------------------------------------------------------
- void __cdecl ConnectManager::~ConnectManager(ConnectManager *const this)
- {
- LoginPlayerManager *v1; // ebx
- bool v2; // zf
- v1 = g_pLoginPlayerManager;
- v2 = g_pLoginPlayerManager == 0;
- this->_vptr_Thread = (int (**)(...))&off_80BAF90;
- if ( !v2 )
- {
- LoginPlayerManager::~LoginPlayerManager(v1);
- operator delete((IPRegionTable *const )v1);
- g_pLoginPlayerManager = 0;
- }
- Thread::~Thread(this);
- }
- // 80BAF90: using guessed type _DWORD (__cdecl *off_80BAF90)(ConnectManager *this);
- //----- (0804A6D0) --------------------------------------------------------
- void __cdecl ConnectManager::~ConnectManager(ConnectManager *const this)
- {
- LoginPlayerManager *v1; // ebx
- bool v2; // zf
- v1 = g_pLoginPlayerManager;
- v2 = g_pLoginPlayerManager == 0;
- this->_vptr_Thread = (int (**)(...))&off_80BAF90;
- if ( !v2 )
- {
- LoginPlayerManager::~LoginPlayerManager(v1);
- operator delete((IPRegionTable *const )v1);
- g_pLoginPlayerManager = 0;
- }
- Thread::~Thread(this);
- }
- // 80BAF90: using guessed type _DWORD (__cdecl *off_80BAF90)(ConnectManager *this);
- //----- (0804A768) --------------------------------------------------------
- void __cdecl ConnectManager::~ConnectManager(ConnectManager *const this)
- {
- LoginPlayerManager *v1; // ebx
- bool v2; // zf
- v1 = g_pLoginPlayerManager;
- v2 = g_pLoginPlayerManager == 0;
- this->_vptr_Thread = (int (**)(...))&off_80BAF90;
- if ( !v2 )
- {
- LoginPlayerManager::~LoginPlayerManager(v1);
- operator delete((IPRegionTable *const )v1);
- g_pLoginPlayerManager = 0;
- }
- Thread::~Thread(this);
- operator delete((IPRegionTable *const )this);
- }
- // 80BAF90: using guessed type _DWORD (__cdecl *off_80BAF90)(ConnectManager *this);
- //----- (0804A808) --------------------------------------------------------
- #error "804A862: positive sp value has been found (funcsize=25)"
- //----- (0804A8C8) --------------------------------------------------------
- void __cdecl ConnectManager::Quit(ConnectManager *const this)
- {
- LoginPlayerManager::RemoveAllPlayer(g_pLoginPlayerManager);
- }
- //----- (0804A92C) --------------------------------------------------------
- #error "804AAB4: positive sp value has been found (funcsize=95)"
- //----- (0804ABE0) --------------------------------------------------------
- void __cdecl _tcf_0(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0804ABF0) --------------------------------------------------------
- void `global constructor keyed to'g_pConnectManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0804AC1C) --------------------------------------------------------
- void __cdecl ReLoginManager::~ReLoginManager(int a2)
- {
- *(_DWORD *)a2 = off_80BAFC8;
- StrTable::~StrTable((StrTable *const )(a2 + 4));
- }
- // 80BAFC8: using guessed type _DWORD (__cdecl *off_80BAFC8[2])(ReLoginManager *this);
- //----- (0804AC3C) --------------------------------------------------------
- void __cdecl ReLoginManager::~ReLoginManager(int a2)
- {
- *(_DWORD *)a2 = off_80BAFC8;
- StrTable::~StrTable((StrTable *const )(a2 + 4));
- operator delete((IPRegionTable *const )a2);
- }
- // 80BAFC8: using guessed type _DWORD (__cdecl *off_80BAFC8[2])(ReLoginManager *this);
- //----- (0804AC64) --------------------------------------------------------
- void __cdecl ConnectManager::stop(int a2)
- {
- *(_DWORD *)(a2 + 12) = 0;
- }
- //----- (0804AC74) --------------------------------------------------------
- void __cdecl tag_IPRegion::CleanUp(_DWORD *a2)
- {
- *a2 = -1;
- a2[2] = 0;
- a2[1] = 0;
- }
- //----- (0804AC90) --------------------------------------------------------
- void __cdecl tag_IPRegion::tag_IPRegion(tag_IPRegion *const this)
- {
- tag_IPRegion::CleanUp(this);
- }
- //----- (0804AC9C) --------------------------------------------------------
- void __cdecl tag_IPRegion::tag_IPRegion(tag_IPRegion *const this)
- {
- tag_IPRegion::CleanUp(this);
- }
- //----- (0804ACA8) --------------------------------------------------------
- void __cdecl IPRegionTable::IPRegionTable(_DWORD *a2)
- {
- *a2 = off_80BB128;
- a2[1] = 0;
- a2[2] = 0;
- }
- // 80BB128: using guessed type _DWORD (__cdecl *off_80BB128[2])(IPRegionTable *this);
- //----- (0804ACC4) --------------------------------------------------------
- void __cdecl IPRegionTable::IPRegionTable(_DWORD *a2)
- {
- *a2 = off_80BB128;
- a2[1] = 0;
- a2[2] = 0;
- }
- // 80BB128: using guessed type _DWORD (__cdecl *off_80BB128[2])(IPRegionTable *this);
- //----- (0804ACE0) --------------------------------------------------------
- void __cdecl IPRegionTable::~IPRegionTable(IPRegionTable *const this)
- {
- IPRegion *v1; // eax
- v1 = this->m_RegionData;
- this->_vptr_IPRegionTable = (int (**)(...))off_80BB128;
- this->m_MaxRegionCount = 0;
- if ( v1 )
- {
- operator delete[](v1);
- this->m_RegionData = 0;
- }
- }
- // 80BB128: using guessed type _DWORD (__cdecl *off_80BB128[2])(IPRegionTable *this);
- //----- (0804AD1C) --------------------------------------------------------
- void __cdecl IPRegionTable::~IPRegionTable(IPRegionTable *const this)
- {
- IPRegion *v1; // eax
- v1 = this->m_RegionData;
- this->_vptr_IPRegionTable = (int (**)(...))off_80BB128;
- this->m_MaxRegionCount = 0;
- if ( v1 )
- {
- operator delete[](v1);
- this->m_RegionData = 0;
- }
- }
- // 80BB128: using guessed type _DWORD (__cdecl *off_80BB128[2])(IPRegionTable *this);
- //----- (0804AD58) --------------------------------------------------------
- void __cdecl IPRegionTable::~IPRegionTable(IPRegionTable *const this)
- {
- IPRegion *v1; // eax
- v1 = this->m_RegionData;
- this->_vptr_IPRegionTable = (int (**)(...))off_80BB128;
- this->m_MaxRegionCount = 0;
- if ( v1 )
- {
- operator delete[](v1);
- this->m_RegionData = 0;
- }
- operator delete(this);
- }
- // 80BB128: using guessed type _DWORD (__cdecl *off_80BB128[2])(IPRegionTable *this);
- //----- (0804ADA0) --------------------------------------------------------
- void __cdecl IPRegionTable::Init(IPRegionTable *const this)
- {
- int v1; // ebx
- IPRegion *v2; // edi
- tag_IPRegion *i; // esi
- int v4; // esi
- int v5; // edi
- IPRegion *v6; // ebx
- IPRegion *v7; // ebx
- const DBC::DBCFile::FIELD *v8; // eax
- in_addr_t v9; // eax
- IPRegion *v10; // ebx
- const DBC::DBCFile::FIELD *v11; // eax
- in_addr_t v12; // eax
- DBC::DBCFile ThirdFile; // [esp+10h] [ebp-88h]
- DBC::DBCFile::DBCFile(&ThirdFile, 0, 1, "<EMPTY>");
- if ( !DBC::DBCFile::OpenFromTXT(&ThirdFile, "./Config/IPRegionTable.txt", 0) )
- __assert__("./Main/IpTable.cpp", 0x36u, "void IPRegionTable::Init()", "ret");
- v1 = ThirdFile.m_nRecordsNum;
- this->m_MaxRegionCount = ThirdFile.m_nRecordsNum;
- v2 = (IPRegion *)operator new[](12 * v1);
- for ( i = v2; --v1 != -1; ++i )
- tag_IPRegion::tag_IPRegion(i);
- this->m_RegionData = v2;
- if ( !v2 )
- __assert__("./Main/IpTable.cpp", 0x3Du, "void IPRegionTable::Init()", "m_RegionData");
- v4 = 0;
- if ( this->m_MaxRegionCount > 0 )
- {
- v5 = 0;
- do
- {
- v6 = this->m_RegionData;
- v6[v5].m_CountyID = DBC::DBCFile::Search_Posistion(&ThirdFile, v4, 1)->iValue;
- v7 = this->m_RegionData;
- v8 = DBC::DBCFile::Search_Posistion(&ThirdFile, v4, 2);
- v9 = inet_addr((const char *)v8->iValue);
- LOWORD(v9) = __ROR2__(v9, 8);
- v9 = __ROR4__(v9, 16);
- LOWORD(v9) = __ROR2__(v9, 8);
- v7[v5].m_IPBegin = v9;
- v10 = this->m_RegionData;
- v11 = DBC::DBCFile::Search_Posistion(&ThirdFile, v4, 3);
- v12 = inet_addr((const char *)v11->iValue);
- ++v4;
- LOWORD(v12) = __ROR2__(v12, 8);
- v12 = __ROR4__(v12, 16);
- LOWORD(v12) = __ROR2__(v12, 8);
- v10[v5].m_IPEnd = v12;
- ++v5;
- }
- while ( this->m_MaxRegionCount > v4 );
- }
- DBC::DBCFile::~DBCFile(&ThirdFile);
- }
- //----- (0804AF98) --------------------------------------------------------
- INT __cdecl IPRegionTable::FindIPRegion(IPRegionTable *const this, UINT uIP)
- {
- IPRegion *v2; // eax
- INT v3; // edx
- INT v4; // ebx
- INT v5; // ecx
- signed int v6; // edi
- int v7; // edx
- v2 = this->m_RegionData;
- v3 = -1;
- if ( v2 )
- {
- v4 = this->m_MaxRegionCount;
- v5 = 0;
- v6 = -1;
- if ( v4 > 0 )
- {
- v7 = 0;
- while ( v2[v7].m_IPBegin > uIP || v2[v7].m_IPEnd < uIP )
- {
- ++v5;
- ++v7;
- if ( v4 <= v5 )
- goto LABEL_7;
- }
- v6 = v2[v7].m_CountyID;
- }
- LABEL_7:
- v3 = v6;
- }
- return v3;
- }
- //----- (0804AFE8) --------------------------------------------------------
- INT __cdecl IPRegionTable::FindIPRegion(IPRegionTable *const this, CHAR *cIP)
- {
- UINT v2; // eax
- if ( !cIP )
- return -1;
- v2 = inet_addr(cIP);
- LOWORD(v2) = __ROR2__(v2, 8);
- v2 = __ROR4__(v2, 16);
- LOWORD(v2) = __ROR2__(v2, 8);
- return IPRegionTable::FindIPRegion(this, v2);
- }
- //----- (0804B028) --------------------------------------------------------
- void __cdecl _tcf_0_0(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0804B038) --------------------------------------------------------
- void `global constructor keyed to'g_pIPRegionTable()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_0, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0804B064) --------------------------------------------------------
- void __cdecl Login::Login(_DWORD *a2)
- {
- int v2; // edx
- int v3; // edx
- v2 = (int)(a2 + 1);
- *a2 = 0;
- *(_DWORD *)(v2 + 8) = 0;
- *(_DWORD *)(v2 + 4) = 0;
- v3 = (int)(a2 + 4);
- a2[1] = 0;
- a2[4] = 0;
- *(_DWORD *)(v3 + 8) = 0;
- *(_DWORD *)(v3 + 4) = 0;
- }
- //----- (0804B0A4) --------------------------------------------------------
- void __cdecl Login::Login(_DWORD *a2)
- {
- int v2; // edx
- int v3; // edx
- v2 = (int)(a2 + 1);
- *a2 = 0;
- *(_DWORD *)(v2 + 8) = 0;
- *(_DWORD *)(v2 + 4) = 0;
- v3 = (int)(a2 + 4);
- a2[1] = 0;
- a2[4] = 0;
- *(_DWORD *)(v3 + 8) = 0;
- *(_DWORD *)(v3 + 4) = 0;
- }
- //----- (0804B0E4) --------------------------------------------------------
- void __cdecl Login::~Login(Login *const this)
- {
- ;
- }
- //----- (0804B0EC) --------------------------------------------------------
- void __cdecl Login::~Login(Login *const this)
- {
- ;
- }
- //----- (0804B0F4) --------------------------------------------------------
- BOOL __cdecl __noreturn Login::Loop(Login *const this)
- {
- TimeManager *v1; // ecx
- UINT v2; // ebx
- UINT v3; // edi
- DiskLog("./Log/Login", "\r\nLoop...");
- DiskLog("./Log/Login", "g_pConnectManager->start( )...");
- Thread::start(&g_pConnectManager->0);
- DiskLog("./Log/Login", "g_pThreadManager->Start( )...");
- if ( !ThreadManager::Start(g_pThreadManager) )
- __assert__("./Main/Login.cpp", 0x63u, "BOOL Login::Loop()", "bRet");
- DiskLog("./Log/Login", "g_pDBThreadManager->Start() ...");
- DBThreadManager::Start(g_pDBThreadManager);
- DiskLog("./Log/Login", "g_pProcessManager->Loop( )...");
- Thread::start(&g_pProcessManager->0);
- while ( 1 )
- {
- v2 = TimeManager::Time2Day(v1);
- v3 = TimeManager::CurrentTime((int)g_pTimeManager);
- if ( !this->m_FlushLogTimer.m_bOper )
- {
- this->m_FlushLogTimer.m_bOper = 1;
- this->m_FlushLogTimer.m_uTickTerm = 2000;
- this->m_FlushLogTimer.m_uTickOld = v3;
- }
- g_LogFileNameFix = v2;
- if ( this->m_FlushLogTimer.m_bOper && this->m_FlushLogTimer.m_uTickOld + this->m_FlushLogTimer.m_uTickTerm <= v3 )
- {
- this->m_FlushLogTimer.m_uTickOld = v3;
- LogSystem_Flush();
- }
- if ( g_DBConnectThread )
- {
- if ( !this->m_ClearConnectThreadTimer.m_bOper )
- {
- this->m_ClearConnectThreadTimer.m_bOper = 1;
- this->m_ClearConnectThreadTimer.m_uTickTerm = 120000;
- this->m_ClearConnectThreadTimer.m_uTickOld = v3;
- }
- if ( this->m_ClearConnectThreadTimer.m_uTickOld + this->m_ClearConnectThreadTimer.m_uTickTerm <= v3 )
- {
- this->m_ClearConnectThreadTimer.m_uTickOld = v3;
- g_DBConnectThread = 0;
- }
- }
- else if ( this->m_ClearConnectThreadTimer.m_bOper )
- {
- this->m_ClearConnectThreadTimer.m_uTickTerm = 0;
- this->m_ClearConnectThreadTimer.m_bOper = 0;
- this->m_ClearConnectThreadTimer.m_uTickOld = 0;
- }
- MySleep(100);
- }
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (0804B314) --------------------------------------------------------
- BOOL __cdecl Login::Exit(_DWORD *a2)
- {
- IPRegionTable *v1; // ebx
- IPRegionTable *v2; // ebx
- IPRegionTable *v3; // ebx
- IPRegionTable *v4; // ebx
- IPRegionTable *v5; // ebx
- IPRegionTable *v6; // ebx
- IPRegionTable *v7; // ebx
- IPRegionTable *v8; // ebx
- DiskLog("./Log/Login", "Begin delete...");
- if ( g_pProcessManager )
- {
- (*((void (__cdecl **)(ProcessManager *))g_pProcessManager->_vptr_Thread + 1))(g_pProcessManager);
- g_pProcessManager = 0;
- }
- DiskLog("./Log/Login", "g_pProcessManager delete...OK");
- v1 = (IPRegionTable *)g_pPlayerPool;
- if ( g_pPlayerPool )
- {
- PlayerPool::~PlayerPool(g_pPlayerPool);
- operator delete(v1);
- g_pPlayerPool = 0;
- }
- DiskLog("./Log/Login", "g_pPlayerPool delete...OK");
- if ( g_pPacketFactoryManager )
- {
- (*((void (__cdecl **)(PacketFactoryManager *))g_pPacketFactoryManager->_vptr_PacketFactoryManager + 2))(g_pPacketFactoryManager);
- g_pPacketFactoryManager = 0;
- }
- DiskLog("./Log/Login", "g_pPacketFactoryManager delete...OK");
- v2 = (IPRegionTable *)g_pProcessPlayerQueue;
- if ( g_pProcessPlayerQueue )
- {
- TurnPlayerQueue::~TurnPlayerQueue(g_pProcessPlayerQueue);
- operator delete(v2);
- g_pProcessPlayerQueue = 0;
- }
- DiskLog("./Log/Login", "g_pProcessPlayerQueue delete...OK");
- v3 = (IPRegionTable *)g_pWorldPlayerQueue;
- if ( g_pWorldPlayerQueue )
- {
- WorldPlayerQueue::~WorldPlayerQueue(g_pWorldPlayerQueue);
- operator delete(v3);
- g_pWorldPlayerQueue = 0;
- }
- DiskLog("./Log/Login", "g_pWorldPlayerQueue delete...OK");
- v4 = (IPRegionTable *)g_pThreadManager;
- if ( g_pThreadManager )
- {
- ThreadManager::~ThreadManager(g_pThreadManager);
- operator delete(v4);
- g_pThreadManager = 0;
- }
- DiskLog("./Log/Login", "g_pThreadManager delete...OK");
- v5 = *(IPRegionTable **)&g_pServerManager;
- if ( *(_DWORD *)&g_pServerManager )
- {
- ServerManager::~ServerManager(*(ServerManager *const *)&g_pServerManager);
- operator delete(v5);
- *(_DWORD *)&g_pServerManager = 0;
- }
- DiskLog("./Log/Login", "g_pServerManager delete...OK");
- if ( g_pConnectManager )
- {
- (*((void (__cdecl **)(ConnectManager *))g_pConnectManager->_vptr_Thread + 1))(g_pConnectManager);
- g_pConnectManager = 0;
- }
- DiskLog("./Log/Login", "g_pConnectManager delete...OK");
- v6 = (IPRegionTable *)g_pDBThreadManager;
- if ( g_pDBThreadManager )
- {
- DBThreadManager::~DBThreadManager(g_pDBThreadManager);
- operator delete(v6);
- g_pDBThreadManager = 0;
- }
- DiskLog("./Log/Login", "g_pDBThreadManager delete ... OK");
- v7 = (IPRegionTable *)g_pGlobalCaptchaFontFile;
- if ( g_pGlobalCaptchaFontFile )
- {
- CAPTCHA::FontFile::~FontFile(g_pGlobalCaptchaFontFile);
- operator delete(v7);
- g_pGlobalCaptchaFontFile = 0;
- }
- DiskLog("./Log/Login", "g_pGlobalCaptchaFontFile delete ... OK");
- if ( g_pIPRegionTable )
- {
- (*((void (__cdecl **)(IPRegionTable *))g_pIPRegionTable->_vptr_IPRegionTable + 1))(g_pIPRegionTable);
- g_pIPRegionTable = 0;
- }
- DiskLog("./Log/Login", "g_pIPRegionTable delete ... OK");
- v8 = (IPRegionTable *)g_pGenerator;
- if ( g_pGenerator )
- {
- CAPTCHA::Generator::~Generator(g_pGenerator);
- operator delete(v8);
- g_pGenerator = 0;
- }
- DiskLog("./Log/Login", "g_pGenerator delete ... OK");
- DiskLog("./Log/Login", "End delete...");
- *a2 = 1;
- return 1;
- }
- //----- (0804B65C) --------------------------------------------------------
- #error "804BB23: positive sp value has been found (funcsize=274)"
- //----- (0804BB58) --------------------------------------------------------
- BOOL __cdecl Login::InitLogin(Login *const this)
- {
- ConnectManager *const v1; // ST08_4
- if ( !PlayerPool::Init(g_pPlayerPool) )
- __assert__("./Main/Login.cpp", 0x148u, "BOOL Login::InitLogin()", "bRet");
- DiskLog("./Log/Login", "g_pPlayerPool->Init()...OK");
- if ( !((int (__cdecl *)(PacketFactoryManager *))*g_pPacketFactoryManager->_vptr_PacketFactoryManager)(g_pPacketFactoryManager) )
- __assert__("./Main/Login.cpp", 0x14Du, "BOOL Login::InitLogin()", "bRet");
- DiskLog("./Log/Login", "g_pPacketFactoryManager->Init()...OK");
- if ( !((int (__cdecl *)(BillPacketFactoryManager *))*g_pBPacketFactoryManager->_vptr_BillPacketFactoryManager)(g_pBPacketFactoryManager) )
- __assert__("./Main/Login.cpp", 0x151u, "BOOL Login::InitLogin()", "bRet");
- DiskLog("./Log/Login", "g_pBPacketFactoryManager->Init()...OK");
- if ( !TurnPlayerQueue::Init(g_pProcessPlayerQueue) )
- __assert__("./Main/Login.cpp", 0x154u, "BOOL Login::InitLogin()", "bRet");
- DiskLog("./Log/Login", "g_pTurnPlayerQueue->Init() ... OK");
- if ( !WorldPlayerQueue::Init(g_pWorldPlayerQueue) )
- __assert__("./Main/Login.cpp", 0x158u, "BOOL Login::InitLogin()", "bRet");
- DiskLog("./Log/Login", "g_pWorldPlayerQueue->Init() ... OK");
- if ( !DBThreadManager::Init(g_pDBThreadManager) )
- __assert__("./Main/Login.cpp", 0x15Cu, "BOOL Login::InitLogin()", "bRet");
- DiskLog("./Log/Login", "g_pDBThreadManager->Init()...OK");
- if ( !DBThreadManager::CheckWorldIDZoneID(
- g_pDBThreadManager,
- g_Config.m_WorldInfo.m_WorldID,
- g_Config.m_WorldInfo.m_ZoneID) )
- __assert__("./Main/Login.cpp", 0x160u, "BOOL Login::InitLogin()", "bRet");
- DiskLog(
- "./Log/Login",
- "g_pDBThreadManager->CheckWorldIDZoneID(%d,%d)...OK",
- g_Config.m_WorldInfo.m_WorldID,
- g_Config.m_WorldInfo.m_ZoneID);
- if ( !ConnectManager::Init(v1) )
- __assert__("./Main/Login.cpp", 0x166u, "BOOL Login::InitLogin()", "bRet");
- DiskLog("./Log/Login", "g_pConnectManager->Init()...OK");
- if ( !ProcessManager::Init((int)g_pProcessManager) )
- __assert__("./Main/Login.cpp", 0x16Bu, "BOOL Login::InitLogin()", "bRet");
- DiskLog("./Log/Login", "g_pProcessManager->Init()...OK");
- if ( !ThreadManager::Init(g_pThreadManager) )
- __assert__("./Main/Login.cpp", 0x170u, "BOOL Login::InitLogin()", "bRet");
- DiskLog("./Log/Login", "g_pThreadManager->Init()...OK");
- CAPTCHA::FontFile::openFromFile(g_pGlobalCaptchaFontFile, "./Config/ascii.cpf");
- CAPTCHA::Generator::setFontFile((const CAPTCHA::FontFile *)g_pGenerator, g_pGlobalCaptchaFontFile);
- DiskLog("./Log/Login", "g_pGenerator->setFontFile()...OK");
- return 1;
- }
- //----- (0804BE9C) --------------------------------------------------------
- #error "804BF5F: positive sp value has been found (funcsize=44)"
- //----- (0804BF74) --------------------------------------------------------
- void __cdecl Login::Stop(Login *const this)
- {
- if ( g_pConnectManager )
- (*((void (__cdecl **)(ConnectManager *))g_pConnectManager->_vptr_Thread + 2))(g_pConnectManager);
- }
- //----- (0804BFE4) --------------------------------------------------------
- void __cdecl LoginExceptionHandler::LoginExceptionHandler(LoginExceptionHandler *const this)
- {
- signal(13, (__sighandler_t)1);
- signal(11, LoginExceptionHandler::SEGHandler);
- signal(8, LoginExceptionHandler::FPEHandler);
- signal(4, LoginExceptionHandler::ILLHandler);
- signal(2, LoginExceptionHandler::INTHandler);
- signal(15, LoginExceptionHandler::TERMHandler);
- signal(6, LoginExceptionHandler::ABORTHandler);
- signal(25, LoginExceptionHandler::XFSZHandler);
- }
- //----- (0804C058) --------------------------------------------------------
- void __cdecl LoginExceptionHandler::LoginExceptionHandler(LoginExceptionHandler *const this)
- {
- signal(13, (__sighandler_t)1);
- signal(11, LoginExceptionHandler::SEGHandler);
- signal(8, LoginExceptionHandler::FPEHandler);
- signal(4, LoginExceptionHandler::ILLHandler);
- signal(2, LoginExceptionHandler::INTHandler);
- signal(15, LoginExceptionHandler::TERMHandler);
- signal(6, LoginExceptionHandler::ABORTHandler);
- signal(25, LoginExceptionHandler::XFSZHandler);
- }
- //----- (0804C0CC) --------------------------------------------------------
- void __cdecl __noreturn LoginExceptionHandler::INTHandler(INT a1)
- {
- DumpStack("INT exception:\r\n");
- exit(0);
- }
- //----- (0804C0E8) --------------------------------------------------------
- void __cdecl __noreturn LoginExceptionHandler::TERMHandler(INT a1)
- {
- DumpStack("TERM exception:\r\n");
- exit(0);
- }
- //----- (0804C104) --------------------------------------------------------
- void __cdecl __noreturn LoginExceptionHandler::ABORTHandler(INT a1)
- {
- DumpStack("ABORT exception:\r\n");
- exit(0);
- }
- //----- (0804C120) --------------------------------------------------------
- void __cdecl __noreturn LoginExceptionHandler::ILLHandler(INT a1)
- {
- DumpStack("ILL exception:\r\n");
- exit(0);
- }
- //----- (0804C13C) --------------------------------------------------------
- void __cdecl __noreturn LoginExceptionHandler::FPEHandler(INT a1)
- {
- DumpStack("FPE exception:\r\n");
- exit(0);
- }
- //----- (0804C158) --------------------------------------------------------
- void __cdecl __noreturn LoginExceptionHandler::SEGHandler(INT a1)
- {
- DumpStack("SEG exception:\r\n");
- exit(0);
- }
- //----- (0804C174) --------------------------------------------------------
- void __cdecl __noreturn LoginExceptionHandler::XFSZHandler(INT a1)
- {
- DumpStack("XFSZ exception:\r\n");
- exit(0);
- }
- //----- (0804C190) --------------------------------------------------------
- void __cdecl _tcf_0_1(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0804C1A0) --------------------------------------------------------
- void __cdecl _tcf_1(void *a1)
- {
- ;
- }
- //----- (0804C1A8) --------------------------------------------------------
- void `global constructor keyed to'g_Login()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_1, 0, &_dso_handle);
- Login::Login(&g_Login);
- __cxa_atexit(_tcf_1, 0, &_dso_handle);
- LoginExceptionHandler::LoginExceptionHandler(&g_LoginExceptionHandler);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0804C1FC) --------------------------------------------------------
- int __cdecl __noreturn main(int argc, const char **argv, const char **envp)
- {
- bool v3; // zf
- bool j; // sf
- unsigned __int8 v5; // of
- signed int v6; // ecx
- const char *v7; // esi
- const char *v8; // edi
- signed int v9; // ecx
- const char *v10; // esi
- const char *v11; // edi
- signed int v12; // ecx
- const char *v13; // esi
- const char *v14; // edi
- const char *v15; // ebx
- signed int v16; // ecx
- const char *v17; // esi
- const char *v18; // edi
- TimeManager *v19; // edi
- signed int v20; // ecx
- const char *v21; // esi
- TimeManager *v22; // esi
- UINT v23; // ST3C_4
- int v24; // eax
- unsigned int v25; // eax
- int i; // [esp+8h] [ebp-10h]
- if ( argc > 1 )
- {
- i = 1;
- v5 = __OFSUB__(1, argc);
- v3 = argc == 1;
- for ( j = 1 - argc < 0; j ^ v5; j = i - argc < 0 )
- {
- v15 = argv[i];
- v16 = 14;
- v17 = argv[i];
- v18 = "-ignoreassert";
- do
- {
- if ( !v16 )
- break;
- v3 = *v17++ == *v18++;
- --v16;
- }
- while ( v3 );
- if ( v3 )
- {
- g_Command_Assert = 1;
- }
- else
- {
- v19 = &stru_80BBB20;
- v20 = 13;
- v21 = argv[i];
- do
- {
- if ( !v20 )
- break;
- v3 = *v21++ == LOBYTE(v19->m_StartTime);
- v19 = (TimeManager *)((char *)v19 + 1);
- --v20;
- }
- while ( v3 );
- if ( v3 )
- g_Command_Assert = 2;
- }
- v6 = 18;
- v7 = v15;
- v8 = "-ignoremessagebox";
- do
- {
- if ( !v6 )
- break;
- v3 = *v7++ == *v8++;
- --v6;
- }
- while ( v3 );
- if ( v3 )
- g_Command_IgnoreMessageBox = 1;
- v9 = 10;
- v10 = v15;
- v11 = "-singledb";
- do
- {
- if ( !v9 )
- break;
- v3 = *v10++ == *v11++;
- --v9;
- }
- while ( v3 );
- if ( v3 )
- g_SingleDBConnection = 1;
- v12 = 15;
- v13 = v15;
- v14 = "-ignoreidcheck";
- do
- {
- if ( !v12 )
- break;
- v3 = *v13++ == *v14++;
- --v12;
- }
- while ( v3 );
- if ( v3 )
- g_IgnoreWorldIDZoneIDCheck = 1;
- v5 = __OFSUB__(++i, argc);
- v3 = i == argc;
- }
- }
- DBC::DBCFile::s_funcIsEncryptMemory = Cyclone::IsEncrptMemory;
- DBC::DBCFile::s_funcPlatformDecrypMemoryFunc = (int (*)(const char *, const char *, int, char *, int *))Cyclone::PlatformDecrypMemory;
- v22 = (TimeManager *)operator new(0x54u);
- TimeManager::TimeManager((int)v22);
- g_pTimeManager = v22;
- TimeManager::Init(v22);
- LogSystem_Init();
- DiskLog("./Log/Login", (const CHAR *)&stru_80BBB20.m_TM.tm_sec + 1);
- TimeManager::SetTime((int)g_pTimeManager);
- v23 = g_pTimeManager->m_StartTime;
- v24 = TimeManager::Time2DWORD(g_pTimeManager);
- DiskLog("./Log/Login", (const CHAR *)&stru_80BBB20.m_TM.tm_mon + 1, v24, v23);
- v25 = TimeManager::CurrentTime((int)g_pTimeManager);
- srand(v25);
- if ( !Login::Init(&g_Login) )
- __assert__((const CHAR *)&stru_80BBB20.m_GameTime + 3, 0x41u, "INT main(INT, CHAR**)", "bRet");
- Login::Loop(&g_Login);
- }
- //----- (0804C44C) --------------------------------------------------------
- void __cdecl _tcf_0_2(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0804C45C) --------------------------------------------------------
- void `global constructor keyed to'g_IgnoreWorldIDZoneIDCheck()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_2, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0804C488) --------------------------------------------------------
- BOOL __cdecl MIBAO::InitMiBaoGroupKey(MiBaoGroup *const gp)
- {
- MiBaoGroup *v1; // ebx
- signed int v2; // ecx
- CHAR *v3; // edi
- signed int v4; // ebx
- int v5; // esi
- int v6; // edx
- MiBaoGroup *v7; // ecx
- BYTE v8; // dl
- MiBaoUint *v9; // ebx
- unsigned int v10; // esi
- BYTE rColumn; // [esp+13h] [ebp-35h]
- BYTE nNum; // [esp+1Bh] [ebp-2Dh]
- v1 = gp;
- v2 = 2;
- do
- {
- v1->unit[0].column = -1;
- v1->unit[0].row = -1;
- *(_WORD *)v1->unit[0].key = 0;
- v1->unit[0].key[2] = 0;
- *(_WORD *)v1->unit[0].value = 0;
- v3 = &v1->unit[0].value[2];
- v1 = (MiBaoGroup *)((char *)v1 + 8);
- --v2;
- *v3 = 0;
- }
- while ( v2 >= 0 );
- nNum = 0;
- do
- {
- v4 = 7;
- v5 = rand() % 7;
- v6 = rand() % 7;
- rColumn = v6;
- if ( (unsigned __int8)v5 <= 6u && (unsigned __int8)v6 <= 6u )
- {
- LOBYTE(v4) = 0;
- v7 = gp;
- while ( 1 )
- {
- if ( v7->unit[0].row <= 6u )
- {
- v8 = v7->unit[0].column;
- if ( v8 <= 6u && v7->unit[0].row == (unsigned __int8)v5 && v8 == rColumn )
- break;
- }
- ++v4;
- v7 = (MiBaoGroup *)((char *)v7 + 8);
- if ( v4 > 2 )
- {
- v9 = &gp->unit[nNum];
- v9->row = v5;
- v9->column = rColumn;
- v10 = (unsigned __int8)v5 + 7 * rColumn;
- if ( v10 > 0x30 )
- __assert__(
- "./Main/MiBao.cpp",
- 0x30u,
- "static BOOL MIBAO::InitMiBaoGroupKey(MiBaoGroup&)",
- "kIndex >= 0 && kIndex < MIBAO_TABLE_ROW_MAX*MIBAO_TABLE_COLUMN_MAX");
- strncpy(v9->key, g_MiBaoKeyTable[v10], 2u);
- ++nNum;
- break;
- }
- }
- }
- }
- while ( nNum <= 2u );
- return 1;
- }
- //----- (0804C618) --------------------------------------------------------
- BOOL __cdecl MIBAO::InitMiBaoGroupKey1(MiBaoGroup *const gp)
- {
- MiBaoGroup *v1; // ebx
- signed int v2; // ecx
- CHAR *v3; // edi
- signed int v4; // ebx
- int v5; // esi
- int v6; // edx
- MiBaoGroup *v7; // ecx
- BYTE v8; // dl
- MiBaoUint *v9; // ebx
- unsigned int v10; // esi
- BYTE rColumn; // [esp+13h] [ebp-35h]
- BYTE nNum; // [esp+1Bh] [ebp-2Dh]
- v1 = gp;
- v2 = 2;
- do
- {
- v1->unit[0].column = -1;
- v1->unit[0].row = -1;
- *(_WORD *)v1->unit[0].key = 0;
- v1->unit[0].key[2] = 0;
- *(_WORD *)v1->unit[0].value = 0;
- v3 = &v1->unit[0].value[2];
- v1 = (MiBaoGroup *)((char *)v1 + 8);
- --v2;
- *v3 = 0;
- }
- while ( v2 >= 0 );
- nNum = 0;
- do
- {
- v4 = 7;
- v5 = rand() % 7;
- v6 = rand() % 7;
- rColumn = v6;
- if ( (unsigned __int8)v5 <= 6u && (unsigned __int8)v6 <= 6u )
- {
- LOBYTE(v4) = 0;
- v7 = gp;
- while ( 1 )
- {
- if ( v7->unit[0].row <= 6u )
- {
- v8 = v7->unit[0].column;
- if ( v8 <= 6u && v7->unit[0].row == (unsigned __int8)v5 && v8 == rColumn )
- break;
- }
- ++v4;
- v7 = (MiBaoGroup *)((char *)v7 + 8);
- if ( v4 > 2 )
- {
- v9 = &gp->unit[nNum];
- v9->row = v5;
- v9->column = rColumn;
- v10 = (unsigned __int8)v5 + 7 * rColumn;
- if ( v10 > 0x30 )
- __assert__(
- "./Main/MiBao.cpp",
- 0x50u,
- "static BOOL MIBAO::InitMiBaoGroupKey1(MiBaoGroup&)",
- "kIndex >= 0 && kIndex < MIBAO_TABLE_ROW_MAX*MIBAO_TABLE_COLUMN_MAX");
- strncpy(v9->key, g_MiBaoKeyTable1[v10], 2u);
- ++nNum;
- break;
- }
- }
- }
- }
- while ( nNum <= 2u );
- return 1;
- }
- //----- (0804C7A8) --------------------------------------------------------
- void __cdecl _tcf_0_3(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0804C7B8) --------------------------------------------------------
- void `global constructor keyed to'g_MiBaoKeyTable()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_3, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0804C7E4) --------------------------------------------------------
- void __cdecl tag_ReLoginUnit::CleanUp(_DWORD *a2)
- {
- *a2 = 0;
- a2[1] = 0;
- a2[2] = 30;
- memset(a2 + 3, 0, 0x10u);
- a2[7] = 1;
- }
- //----- (0804C818) --------------------------------------------------------
- void __cdecl tag_ReLoginUnit::tag_ReLoginUnit(tag_ReLoginUnit *const this)
- {
- tag_ReLoginUnit::CleanUp(this);
- }
- //----- (0804C824) --------------------------------------------------------
- void __cdecl tag_ReLoginUnit::tag_ReLoginUnit(tag_ReLoginUnit *const this)
- {
- tag_ReLoginUnit::CleanUp(this);
- }
- //----- (0804C830) --------------------------------------------------------
- void __cdecl tag_ReLoginUnit::SetIPAddr(tag_ReLoginUnit *const this, const CHAR *pIP)
- {
- if ( !pIP )
- __assert__("./Main/ReLogin.cpp", 0x18u, "void tag_ReLoginUnit::SetIPAddr(const CHAR*)", "pIP");
- strncpy(this->m_szIP, pIP, 0xFu);
- this->m_szIP[15] = 0;
- }
- //----- (0804C874) --------------------------------------------------------
- BOOL __cdecl tag_ReLoginUnit::IsSameIPReLogin(tag_ReLoginUnit *const this, const CHAR *pIP)
- {
- int v2; // edx
- if ( !pIP )
- __assert__("./Main/ReLogin.cpp", 0x1Fu, "BOOL tag_ReLoginUnit::IsSameIPReLogin(const CHAR*)", "pIP");
- v2 = 0;
- while ( pIP[v2] == this->m_szIP[v2] )
- {
- if ( ++v2 > 14 )
- return 1;
- }
- return 0;
- }
- //----- (0804C8C8) --------------------------------------------------------
- BOOL __cdecl ReLoginManager::Init(ReLoginManager *const this)
- {
- StrTable::InitTable(&this->m_LoginAccTable, 0xC800u, 0x32u);
- this->m_CurPos = 0;
- return 1;
- }
- //----- (0804C944) --------------------------------------------------------
- ReLoginUnit *__cdecl ReLoginManager::FindAccReLoginUnit(ReLoginManager *const this, const CHAR *szAccName)
- {
- ReLoginUnit *result; // eax
- if ( szAccName && *szAccName )
- result = (ReLoginUnit *)StrTable::Get(&this->m_LoginAccTable, szAccName);
- else
- result = 0;
- return result;
- }
- //----- (0804C9BC) --------------------------------------------------------
- BOOL __cdecl ReLoginManager::IsAccCanReLogin(ReLoginManager *const this, const CHAR *szAccName, const CHAR *pIP, INT *const nResult)
- {
- BOOL result; // eax
- UINT v5; // edi
- INT v6; // eax
- INT v7; // edx
- char *v8; // ST30_4
- INT v9; // edx
- ReLoginUnit *pUnit; // [esp+14h] [ebp-14h]
- if ( g_Config.m_LoginInfo.ReLoginLimit <= 0 )
- {
- result = 1;
- if ( g_Config.m_LoginInfo.ReLoginStop <= 0 )
- return result;
- }
- if ( !szAccName || !*szAccName || !pIP || !*pIP )
- return 0;
- *nResult = 23;
- pUnit = ReLoginManager::FindAccReLoginUnit(this, szAccName);
- if ( pUnit )
- {
- v5 = TimeManager::CurrentTime((int)g_pTimeManager);
- if ( pUnit->m_StopLoginTime )
- {
- *nResult = 28;
- CacheLog(
- 0,
- "STOPTIME:ReLoginManager::IsAccCanReLogin...acc=%s must wait %dms!!!",
- szAccName,
- g_Config.m_LoginInfo.ReLoginStopTime - (v5 - pUnit->m_StopLoginTime));
- }
- else
- {
- if ( tag_ReLoginUnit::IsSameIPReLogin(pUnit, pIP) != 1 )
- {
- CacheLog(
- 0,
- "WARNING:ReLoginManager::IsAccCanReLogin...acc=%s oldip=%s newip=%s different IP!!!",
- szAccName,
- pUnit->m_szIP,
- pIP);
- tag_ReLoginUnit::CleanUp(pUnit);
- pUnit->m_LoginTime = TimeManager::CurrentTime((int)g_pTimeManager);
- --pUnit->m_LoginCount;
- tag_ReLoginUnit::SetIPAddr(pUnit, pIP);
- return 1;
- }
- v9 = pUnit->m_LoginCount;
- if ( pUnit->m_LoginTime + 20000 > v5 )
- {
- CacheLog(0, "ERROR:ReLoginManager::IsAccCanReLogin...acc=%s must wait %dms!!!", szAccName, 20000);
- }
- else
- {
- pUnit->m_LoginTime = v5;
- if ( v9 > 0 )
- {
- result = 1;
- pUnit->m_LoginCount = v9 - 1;
- pUnit->m_PwdCheck = 1;
- return result;
- }
- CacheLog(0, "ERROR:ReLoginManager::IsAccCanReLogin...acc=%s nPreLoginCount is Empty!!!", szAccName, pIP);
- }
- }
- return 0;
- }
- v6 = this->m_CurPos;
- v7 = 0;
- if ( v6 != 51199 )
- v7 = v6 + 1;
- v8 = (char *)this + 32 * v6;
- this->m_CurPos = v7;
- tag_ReLoginUnit::CleanUp((_DWORD *)v8 + 4);
- *((_DWORD *)v8 + 4) = TimeManager::CurrentTime((int)g_pTimeManager);
- --*((_DWORD *)v8 + 6);
- tag_ReLoginUnit::SetIPAddr((tag_ReLoginUnit *const )(v8 + 16), pIP);
- return StrTable::Add(&this->m_LoginAccTable, szAccName, &this->m_LoginAccTable);
- }
- //----- (0804CBD4) --------------------------------------------------------
- BOOL __cdecl ReLoginManager::SetPwdCheck(ReLoginManager *const this, const CHAR *szAccName, const CHAR *pIP, INT nCheck)
- {
- BOOL result; // eax
- ReLoginUnit *pUnit; // [esp+8h] [ebp-10h]
- result = 0;
- if ( g_Config.m_LoginInfo.ReLoginStop > 0 )
- {
- if ( !szAccName || !*szAccName || !pIP || !*pIP )
- return 0;
- TimeManager::CurrentTime((int)g_pTimeManager);
- pUnit = ReLoginManager::FindAccReLoginUnit(this, szAccName);
- if ( !pUnit )
- {
- CacheLog(0, "IGNORE:ReLoginManager::SetPwdCheck...acc=%s ip=%s not find!!!", szAccName, pIP);
- return 0;
- }
- if ( tag_ReLoginUnit::IsSameIPReLogin(pUnit, pIP) != 1 )
- {
- CacheLog(0, "IGNORE:ReLoginManager::SetPwdCheck...acc=%s ip=%s nCheck=%d!!!", szAccName, pIP, nCheck);
- return 0;
- }
- pUnit->m_PwdCheck = nCheck;
- CacheLog(0, "PWDCHECK:ReLoginManager::SetPwdCheck...acc=%s ip=%s nCheck=%d!!!", szAccName, pIP, nCheck);
- result = 1;
- }
- return result;
- }
- //----- (0804CCD8) --------------------------------------------------------
- BOOL __cdecl ReLoginManager::StopAccReLogin(ReLoginManager *const this, const CHAR *szAccName, const CHAR *pIP)
- {
- BOOL result; // eax
- tag_ReLoginUnit *v4; // eax
- tag_ReLoginUnit *v5; // edi
- UINT v6; // eax
- const CHAR *v7; // [esp-Ch] [ebp-24h]
- int v8; // [esp-8h] [ebp-20h]
- const CHAR *v9; // [esp-8h] [ebp-20h]
- int v10; // [esp-4h] [ebp-1Ch]
- const CHAR *v11; // [esp-4h] [ebp-1Ch]
- UINT uTime; // [esp+8h] [ebp-10h]
- result = 0;
- if ( g_Config.m_LoginInfo.ReLoginStop <= 0 )
- return result;
- if ( !szAccName || !*szAccName || !pIP || !*pIP )
- return 0;
- uTime = TimeManager::CurrentTime((int)g_pTimeManager);
- v4 = ReLoginManager::FindAccReLoginUnit(this, szAccName);
- v5 = v4;
- if ( !v4 )
- {
- v11 = pIP;
- v9 = szAccName;
- v7 = "IGNORE:ReLoginManager::StopAccReLogin...acc=%s ip=%s not find!!!";
- LABEL_16:
- CacheLog(0, v7, v9, v11);
- return 0;
- }
- if ( tag_ReLoginUnit::IsSameIPReLogin(v4, pIP) == 1 )
- {
- v11 = pIP;
- v9 = szAccName;
- v7 = "IGNORE:ReLoginManager::StopAccReLogin...acc=%s ip=%s same ipaddress!!!";
- goto LABEL_16;
- }
- v6 = v5->m_StopLoginTime;
- if ( v6 || (v6 = v5->m_PwdCheck) != 0 && v6 != 8 )
- {
- CacheLog(
- 0,
- "IGNORE:ReLoginManager::StopAccReLogin...acc=%s lip=%s wip=%s ut=%d,upwd=%d!!!",
- szAccName,
- v5->m_szIP,
- pIP,
- v5->m_StopLoginTime,
- v5->m_PwdCheck,
- v6);
- }
- else
- {
- v5->m_StopLoginTime = uTime;
- CacheLog(
- 0,
- "STOPTIME:ReLoginManager::StopAccReLogin...acc=%s lip=%s wip=%s Must Wait %dms!!!",
- szAccName,
- v5->m_szIP,
- pIP,
- uTime,
- v8,
- v10);
- }
- return 1;
- }
- //----- (0804CE08) --------------------------------------------------------
- #error "804CE71: positive sp value has been found (funcsize=30)"
- //----- (0804CE88) --------------------------------------------------------
- #error "804D005: positive sp value has been found (funcsize=104)"
- //----- (0804D088) --------------------------------------------------------
- void __cdecl _tcf_0_4(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0804D098) --------------------------------------------------------
- void `global constructor keyed to'g_pReLoginManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_4, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0804D0C4) --------------------------------------------------------
- void __cdecl ServerManager::CleanUp(int a2)
- {
- memset((void *)(a2 + 516), 0, 0x200u);
- memset((void *)(a2 + 1540), 0, 0x200u);
- memset((void *)(a2 + 2564), 0, 0x200u);
- memset((void *)(a2 + 4), 0, 0x200u);
- memset((void *)(a2 + 1028), 0, 0x200u);
- memset((void *)(a2 + 2052), 0, 0x200u);
- *(_DWORD *)(a2 + 3084) = 0;
- *(_DWORD *)(a2 + 3088) = 100;
- *(_DWORD *)(a2 + 3076) = 0;
- *(_DWORD *)(a2 + 3080) = 100;
- *(_DWORD *)(a2 + 3096) = -1;
- *(_DWORD *)(a2 + 3092) = -1;
- *(_DWORD *)(a2 + 3100) = 0;
- *(_DWORD *)(a2 + 7460) = 0;
- *(_DWORD *)(a2 + 7464) = 0;
- *(_WORD *)(a2 + 3156) = 0;
- *(_WORD *)(a2 + 3192) = 1;
- *(_DWORD *)(a2 + 3128) = 0;
- memset((void *)(a2 + 3260), 0, 0x1000u);
- memset((void *)(a2 + 7356), 0, 0x60u);
- *(_DWORD *)(a2 + 7472) = 0;
- *(_DWORD *)(a2 + 7476) = 0;
- }
- //----- (0804D1DC) --------------------------------------------------------
- void __cdecl ServerManager::ServerManager(ServerManager *const this)
- {
- ASYNC_PACKET *v1; // eax
- ASYNC_PACKET *v2; // edx
- signed int v3; // ecx
- this->_vptr_ServerManager = (int (**)(...))&off_80BC420;
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- ServerPlayer::ServerPlayer((BOOL)&this->m_WorldPlayer, 1u);
- BillingPlayer::BillingPlayer(&this->m_BillingPlayer, 1);
- v1 = (ASYNC_PACKET *)(operator new[](0x3004u) + 4);
- v1[-1].m_Flag = 1024;
- v2 = v1;
- v3 = 1023;
- do
- {
- --v3;
- v2->m_pPacket = 0;
- v2->m_PlayerID = -1;
- v2->m_Flag = 0;
- ++v2;
- }
- while ( v3 != -1 );
- this->m_PacketQue = v1;
- if ( !v1 )
- __assert__("./Main/ServerManager.cpp", 0x17u, "ServerManager::ServerManager()", "m_PacketQue");
- this->m_QueSize = 1024;
- this->m_Head = 0;
- this->m_Tail = 0;
- this->m_KickALL = 0;
- ServerManager::CleanUp((int)this);
- }
- // 80BC420: using guessed type _DWORD (__cdecl *off_80BC420)(ServerManager *this);
- //----- (0804D310) --------------------------------------------------------
- void __usercall sub_804D310(int a1@<ebp>)
- {
- BillingPlayer::~BillingPlayer(*(Player_AtLogin **)(a1 - 16));
- JUMPOUT(&loc_804D2BD);
- }
- //----- (0804D32C) --------------------------------------------------------
- void __cdecl ServerManager::ServerManager(ServerManager *const this)
- {
- ASYNC_PACKET *v1; // eax
- ASYNC_PACKET *v2; // edx
- signed int v3; // ecx
- this->_vptr_ServerManager = (int (**)(...))&off_80BC420;
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- ServerPlayer::ServerPlayer((BOOL)&this->m_WorldPlayer, 1u);
- BillingPlayer::BillingPlayer(&this->m_BillingPlayer, 1);
- v1 = (ASYNC_PACKET *)(operator new[](0x3004u) + 4);
- v1[-1].m_Flag = 1024;
- v2 = v1;
- v3 = 1023;
- do
- {
- --v3;
- v2->m_pPacket = 0;
- v2->m_PlayerID = -1;
- v2->m_Flag = 0;
- ++v2;
- }
- while ( v3 != -1 );
- this->m_PacketQue = v1;
- if ( !v1 )
- __assert__("./Main/ServerManager.cpp", 0x17u, "ServerManager::ServerManager()", "m_PacketQue");
- this->m_QueSize = 1024;
- this->m_Head = 0;
- this->m_Tail = 0;
- this->m_KickALL = 0;
- ServerManager::CleanUp((int)this);
- }
- // 80BC420: using guessed type _DWORD (__cdecl *off_80BC420)(ServerManager *this);
- //----- (0804D460) --------------------------------------------------------
- void __usercall sub_804D460(int a1@<ebp>)
- {
- BillingPlayer::~BillingPlayer(*(Player_AtLogin **)(a1 - 16));
- JUMPOUT(&loc_804D40D);
- }
- //----- (0804D47C) --------------------------------------------------------
- void __cdecl ServerManager::~ServerManager(ServerManager *const this)
- {
- ASYNC_PACKET *v1; // ecx
- ASYNC_PACKET *i; // ebx
- v1 = this->m_PacketQue;
- this->_vptr_ServerManager = (int (**)(...))&off_80BC420;
- if ( v1 )
- {
- for ( i = &v1[v1[-1].m_Flag]; v1 != i; i->m_Flag = 0 )
- {
- --i;
- if ( i->m_pPacket )
- {
- (*((void (__cdecl **)(Packet *))i->m_pPacket->_vptr_Packet + 1))(i->m_pPacket);
- v1 = this->m_PacketQue;
- i->m_pPacket = 0;
- }
- i->m_PlayerID = -1;
- }
- operator delete[](&v1[-1].m_Flag);
- this->m_PacketQue = 0;
- }
- BillingPlayer::~BillingPlayer(&this->m_BillingPlayer.0);
- ServerPlayer::~ServerPlayer(&this->m_WorldPlayer.0);
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- }
- // 80BC420: using guessed type _DWORD (__cdecl *off_80BC420)(ServerManager *this);
- //----- (0804D572) --------------------------------------------------------
- void __usercall sub_804D572(int a1@<esi>)
- {
- ServerPlayer::~ServerPlayer((Player_AtLogin *)(a1 + 3132));
- JUMPOUT(&loc_804D528);
- }
- //----- (0804D588) --------------------------------------------------------
- void __usercall sub_804D588(int a1@<esi>)
- {
- BillingPlayer::~BillingPlayer((Player_AtLogin *)(a1 + 3168));
- sub_804D572(a1);
- }
- //----- (0804D5A8) --------------------------------------------------------
- void __cdecl ServerManager::~ServerManager(ServerManager *const this)
- {
- ASYNC_PACKET *v1; // ecx
- ASYNC_PACKET *i; // ebx
- v1 = this->m_PacketQue;
- this->_vptr_ServerManager = (int (**)(...))&off_80BC420;
- if ( v1 )
- {
- for ( i = &v1[v1[-1].m_Flag]; v1 != i; i->m_Flag = 0 )
- {
- --i;
- if ( i->m_pPacket )
- {
- (*((void (__cdecl **)(Packet *))i->m_pPacket->_vptr_Packet + 1))(i->m_pPacket);
- v1 = this->m_PacketQue;
- i->m_pPacket = 0;
- }
- i->m_PlayerID = -1;
- }
- operator delete[](&v1[-1].m_Flag);
- this->m_PacketQue = 0;
- }
- BillingPlayer::~BillingPlayer(&this->m_BillingPlayer.0);
- ServerPlayer::~ServerPlayer(&this->m_WorldPlayer.0);
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- }
- // 80BC420: using guessed type _DWORD (__cdecl *off_80BC420)(ServerManager *this);
- //----- (0804D69E) --------------------------------------------------------
- void __usercall sub_804D69E(int a1@<esi>)
- {
- ServerPlayer::~ServerPlayer((Player_AtLogin *)(a1 + 3132));
- JUMPOUT(&loc_804D654);
- }
- //----- (0804D6B4) --------------------------------------------------------
- void __usercall sub_804D6B4(int a1@<esi>)
- {
- BillingPlayer::~BillingPlayer((Player_AtLogin *)(a1 + 3168));
- sub_804D69E(a1);
- }
- //----- (0804D6D4) --------------------------------------------------------
- ID_t __cdecl ServerManager::GetLoginID(ServerManager *const this)
- {
- return g_Config.m_LoginInfo.m_LoginID;
- }
- //----- (0804D6E0) --------------------------------------------------------
- _SERVER_DATA *__cdecl ServerManager::FindServerInfo(ServerManager *const this, ID_t ServerID)
- {
- unsigned int v2; // ebx
- if ( (unsigned __int16)ServerID > 0xFFu )
- __assert__(
- "./Main/ServerManager.cpp",
- 0x5Eu,
- "_SERVER_DATA* ServerManager::FindServerInfo(ID_t)",
- "ServerID<OVER_MAX_SERVER && ServerID>=0");
- v2 = g_Config.m_ServerInfo.m_HashServer[ServerID];
- if ( v2 > 0x17 )
- __assert__(
- "./Main/ServerManager.cpp",
- 0x61u,
- "_SERVER_DATA* ServerManager::FindServerInfo(ID_t)",
- "iIndex>=0 && iIndex<MAX_SERVER");
- return &g_Config.m_ServerInfo.m_pServer[v2];
- }
- //----- (0804D79C) --------------------------------------------------------
- _SERVER_DATA *__cdecl ServerManager::GetCurrentServerInfo(ServerManager *const this)
- {
- _SERVER_DATA *result; // eax
- unsigned int v2; // ebx
- result = this->m_pCurServerInfo;
- if ( !result )
- {
- v2 = g_Config.m_ServerInfo.m_HashServer[g_Config.m_LoginInfo.m_LoginID];
- if ( v2 > 0x17 )
- __assert__(
- "./Main/ServerManager.cpp",
- 0x72u,
- "_SERVER_DATA* ServerManager::GetCurrentServerInfo()",
- "iIndex>=0 && iIndex<MAX_SERVER");
- result = &g_Config.m_ServerInfo.m_pServer[v2];
- this->m_pCurServerInfo = result;
- if ( !result )
- __assert__(
- "./Main/ServerManager.cpp",
- 0x76u,
- "_SERVER_DATA* ServerManager::GetCurrentServerInfo()",
- "m_pCurServerInfo");
- }
- return result;
- }
- //----- (0804D864) --------------------------------------------------------
- BOOL __cdecl ServerManager::Init(int a2)
- {
- *(_DWORD *)(a2 + 7476) = g_Config.m_ConfigInfo.m_DisconnectTime;
- return 1;
- }
- //----- (0804D880) --------------------------------------------------------
- #error "804D989: positive sp value has been found (funcsize=71)"
- //----- (0804DA0C) --------------------------------------------------------
- BOOL __cdecl ServerManager::DelServer(ServerManager *const this, SOCKET fd)
- {
- int v2; // edx
- unsigned int v3; // ecx
- INT v4; // eax
- SOCKET v6; // eax
- if ( this->m_MinFD == -1 )
- __assert__("./Main/ServerManager.cpp", 0x230u, "BOOL ServerManager::DelServer(SOCKET)", "m_MinFD!=INVALID_SOCKET");
- if ( this->m_MaxFD == -1 )
- __assert__("./Main/ServerManager.cpp", 0x231u, "BOOL ServerManager::DelServer(SOCKET)", "m_MaxFD!=INVALID_SOCKET");
- if ( fd == -1 )
- __assert__("./Main/ServerManager.cpp", 0x232u, "BOOL ServerManager::DelServer(SOCKET)", "fd!=INVALID_SOCKET");
- if ( Socket::getSOCKET((int)this->m_WorldPlayer.m_pSocket) == fd )
- {
- v6 = Socket::getSOCKET((int)this->m_BillingPlayer.m_pSocket);
- }
- else
- {
- if ( Socket::getSOCKET((int)this->m_BillingPlayer.m_pSocket) != fd )
- goto LABEL_6;
- v6 = Socket::getSOCKET((int)this->m_WorldPlayer.m_pSocket);
- }
- this->m_MaxFD = v6;
- this->m_MinFD = v6;
- LABEL_6:
- v2 = fd & 0x1F;
- v3 = (unsigned int)fd >> 5;
- if ( _bittest((const signed __int32 *)this->m_ReadFDs + ((unsigned int)fd >> 5), v2) )
- _bittestandreset((signed __int32 *)this->m_ReadFDs + v3, v2);
- if ( _bittest(&this->m_ReadFDs[1].fds_bits[v3], v2) )
- _bittestandreset(&this->m_ReadFDs[1].fds_bits[v3], v2);
- if ( _bittest((const signed __int32 *)this->m_WriteFDs + v3, v2) )
- _bittestandreset((signed __int32 *)this->m_WriteFDs + v3, v2);
- if ( _bittest(&this->m_WriteFDs[1].fds_bits[v3], v2) )
- _bittestandreset(&this->m_WriteFDs[1].fds_bits[v3], v2);
- if ( _bittest((const signed __int32 *)this->m_ExceptFDs + v3, v2) )
- _bittestandreset((signed __int32 *)this->m_ExceptFDs + v3, v2);
- if ( _bittest(&this->m_ExceptFDs[1].fds_bits[v3], v2) )
- _bittestandreset(&this->m_ExceptFDs[1].fds_bits[v3], v2);
- v4 = this->m_nFDSize - 1;
- this->m_nFDSize = v4;
- if ( v4 < 0 )
- __assert__("./Main/ServerManager.cpp", 0x245u, "BOOL ServerManager::DelServer(SOCKET)", "m_nFDSize>=0");
- return 1;
- }
- //----- (0804DC2C) --------------------------------------------------------
- BOOL __cdecl ServerManager::RemoveServer(ServerManager *const this, PlayerID_t id)
- {
- SOCKET v3; // eax
- BOOL v4; // ebx
- SOCKET v5; // eax
- if ( id )
- {
- if ( id != 1 )
- return 0;
- v5 = Socket::getSOCKET((int)this->m_BillingPlayer.m_pSocket);
- if ( v5 == -1 )
- __assert__(
- "./Main/ServerManager.cpp",
- 0x113u,
- "BOOL ServerManager::RemoveServer(PlayerID_t)",
- "s!=INVALID_SOCKET");
- v4 = ServerManager::DelServer(this, v5);
- if ( !v4 )
- __assert__("./Main/ServerManager.cpp", 0x115u, "BOOL ServerManager::RemoveServer(PlayerID_t)", "bRet");
- BillingPlayer::CleanUp(&this->m_BillingPlayer);
- CacheLog(0, "ERROR: RemoveServer( )...Billing");
- }
- else
- {
- v3 = Socket::getSOCKET((int)this->m_WorldPlayer.m_pSocket);
- if ( v3 == -1 )
- __assert__(
- "./Main/ServerManager.cpp",
- 0x106u,
- "BOOL ServerManager::RemoveServer(PlayerID_t)",
- "s!=INVALID_SOCKET");
- v4 = ServerManager::DelServer(this, v3);
- if ( !v4 )
- __assert__("./Main/ServerManager.cpp", 0x109u, "BOOL ServerManager::RemoveServer(PlayerID_t)", "bRet");
- ServerPlayer::CleanUp(&this->m_WorldPlayer);
- CacheLog(0, "ERROR: RemoveServer( )...World");
- }
- return v4;
- }
- //----- (0804DDB0) --------------------------------------------------------
- Player *__cdecl ServerManager::GetServerPlayer(ServerManager *const this, PlayerID_t id)
- {
- if ( !id )
- return &this->m_WorldPlayer.0;
- if ( id == 1 )
- return &this->m_BillingPlayer.0;
- return 0;
- }
- //----- (0804DDD8) --------------------------------------------------------
- BOOL __cdecl ServerManager::ProcessExceptions(ServerManager *const this)
- {
- signed int v1; // esi
- Player *v2; // eax
- Player *v3; // ebx
- BOOL result; // eax
- unsigned int v5; // eax
- if ( this->m_MinFD != -1 || (result = 1, this->m_MaxFD != -1) )
- {
- v1 = 0;
- do
- {
- v2 = ServerManager::GetServerPlayer(this, v1);
- v3 = v2;
- if ( !v2 )
- __assert__("./Main/ServerManager.cpp", 0x1C4u, "BOOL ServerManager::ProcessExceptions()", "pPlayer");
- if ( Player::IsValid(v2) )
- {
- v5 = Socket::getSOCKET((int)v3->m_pSocket);
- if ( _bittest(&this->m_ExceptFDs[1].fds_bits[v5 >> 5], v5 & 0x1F) )
- {
- CacheLog(0, "ProcessExceptions( ) ...");
- ServerManager::RemoveServer(this, v1);
- }
- }
- ++v1;
- }
- while ( v1 <= 1 );
- result = 1;
- }
- return result;
- }
- //----- (0804DEFC) --------------------------------------------------------
- BOOL __cdecl ServerManager::ProcessCommands(ServerManager *const this)
- {
- Player *v1; // eax
- int *v2; // ebx
- BOOL result; // eax
- int i; // [esp+8h] [ebp-10h]
- if ( this->m_MinFD != -1 || (result = 1, this->m_MaxFD != -1) )
- {
- i = 0;
- do
- {
- v1 = ServerManager::GetServerPlayer(this, i);
- v2 = (int *)v1;
- if ( !v1 )
- __assert__("./Main/ServerManager.cpp", 0x1EBu, "BOOL ServerManager::ProcessCommands()", "pPlayer");
- if ( Player::IsValid(v1) )
- {
- if ( Socket::isSockError(v2[1]) )
- {
- ServerManager::RemoveServer(this, i);
- }
- else if ( !(*(int (__cdecl **)(int *, _DWORD))(*v2 + 84))(v2, 0) )
- {
- ServerManager::RemoveServer(this, i);
- }
- }
- ++i;
- }
- while ( i <= 1 );
- result = 1;
- }
- return result;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (0804E068) --------------------------------------------------------
- BOOL __cdecl ServerManager::ProcessOutputs(ServerManager *const this)
- {
- Player *v1; // eax
- int *v2; // ebx
- BOOL result; // eax
- unsigned int s; // [esp+4h] [ebp-14h]
- int i; // [esp+8h] [ebp-10h]
- if ( this->m_MinFD != -1 || (result = 1, this->m_MaxFD != -1) )
- {
- i = 0;
- do
- {
- v1 = ServerManager::GetServerPlayer(this, i);
- v2 = (int *)v1;
- if ( !v1 )
- __assert__("./Main/ServerManager.cpp", 0x18Fu, "BOOL ServerManager::ProcessOutputs()", "pPlayer");
- if ( Player::IsValid(v1) )
- {
- s = Socket::getSOCKET(v2[1]);
- if ( Socket::isSockError(v2[1]) )
- {
- ServerManager::RemoveServer(this, i);
- }
- else if ( _bittest(&this->m_WriteFDs[1].fds_bits[s >> 5], s & 0x1F) )
- {
- if ( !(*(int (__cdecl **)(int *))(*v2 + 80))(v2) )
- ServerManager::RemoveServer(this, i);
- }
- }
- ++i;
- }
- while ( i <= 1 );
- result = 1;
- }
- return result;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (0804E1FC) --------------------------------------------------------
- BOOL __cdecl ServerManager::ProcessInputs(ServerManager *const this)
- {
- Player *v1; // eax
- int *v2; // ebx
- BOOL result; // eax
- unsigned int s; // [esp+4h] [ebp-14h]
- int i; // [esp+8h] [ebp-10h]
- if ( this->m_MinFD != -1 || (result = 1, this->m_MaxFD != -1) )
- {
- i = 0;
- do
- {
- v1 = ServerManager::GetServerPlayer(this, i);
- v2 = (int *)v1;
- if ( !v1 )
- __assert__("./Main/ServerManager.cpp", 0x155u, "BOOL ServerManager::ProcessInputs()", "pPlayer");
- if ( Player::IsValid(v1) )
- {
- s = Socket::getSOCKET(v2[1]);
- if ( Socket::isSockError(v2[1]) )
- {
- ServerManager::RemoveServer(this, i);
- }
- else if ( _bittest(&this->m_ReadFDs[1].fds_bits[s >> 5], s & 0x1F) )
- {
- if ( !(*(int (__cdecl **)(int *))(*v2 + 76))(v2) )
- ServerManager::RemoveServer(this, i);
- }
- }
- ++i;
- }
- while ( i <= 1 );
- result = 1;
- }
- return result;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (0804E390) --------------------------------------------------------
- BOOL __cdecl ServerManager::AddServer(ServerManager *const this, SOCKET fd)
- {
- SOCKET v2; // edx
- SOCKET v3; // eax
- SOCKET v4; // edx
- SOCKET v5; // eax
- int v6; // eax
- if ( fd == -1 )
- __assert__("./Main/ServerManager.cpp", 0x214u, "BOOL ServerManager::AddServer(SOCKET)", "fd!=INVALID_SOCKET");
- if ( this->m_nFDSize > 1455 )
- __assert__("./Main/ServerManager.cpp", 0x218u, "BOOL ServerManager::AddServer(SOCKET)", "FALSE");
- v2 = this->m_MinFD;
- v3 = fd;
- if ( v2 != -1 )
- {
- v3 = this->m_MinFD;
- if ( v2 > fd )
- v3 = fd;
- }
- v4 = this->m_MaxFD;
- this->m_MinFD = v3;
- v5 = fd;
- if ( v4 != -1 )
- {
- v5 = v4;
- if ( v4 < fd )
- v5 = fd;
- }
- this->m_MaxFD = v5;
- v6 = fd & 0x1F;
- _bittestandset((signed __int32 *)this->m_ReadFDs + ((unsigned int)fd >> 5), v6);
- _bittestandset((signed __int32 *)this->m_WriteFDs + ((unsigned int)fd >> 5), v6);
- _bittestandset((signed __int32 *)this->m_ExceptFDs + ((unsigned int)fd >> 5), v6);
- ++this->m_nFDSize;
- return 1;
- }
- //----- (0804E4AC) --------------------------------------------------------
- BOOL __cdecl ServerManager::IsWorldServerActive(ServerManager *const this)
- {
- return ServerPlayer::IsValid(&this->m_WorldPlayer) != 0;
- }
- //----- (0804E51C) --------------------------------------------------------
- BOOL __cdecl ServerManager::IsBillingServerActive(ServerManager *const this)
- {
- return BillingPlayer::IsValid(&this->m_BillingPlayer);
- }
- //----- (0804E580) --------------------------------------------------------
- #error "804E763: positive sp value has been found (funcsize=122)"
- //----- (0804E890) --------------------------------------------------------
- BOOL __cdecl ServerManager::ConnectBillingServer(ServerManager *const this)
- {
- Socket *v1; // ebx
- _BILLING_DATA *v2; // esi
- INT v3; // edx
- SOCKET v5; // eax
- int v6; // ebx
- const char *v7; // esi
- signed int v8; // eax
- BOOL v9; // edi
- BillingPlayer *v10; // [esp+10h] [ebp-18h]
- int v11; // [esp+14h] [ebp-14h]
- v10 = &this->m_BillingPlayer;
- v1 = this->m_BillingPlayer.m_pSocket;
- if ( !g_Config.m_BillingInfo.m_bUse )
- {
- CacheLog(0, "ERROR: ConnectBillingServer( ) Current BillingInfo is not READY!! ");
- return 0;
- }
- v2 = g_Config.m_BillingInfo.m_pInfo[g_Config.m_BillingInfo.m_nCur];
- v3 = g_Config.m_BillingInfo.m_nCur + 1;
- if ( g_Config.m_BillingInfo.m_nCur + 1 >= g_Config.m_BillingInfo.m_nNumber )
- v3 = 0;
- g_Config.m_BillingInfo.m_nCur = v3;
- if ( !Socket::create((int)v1) )
- __assert__("./Main/ServerManager.cpp", 0x323u, "BOOL ServerManager::ConnectBillingServer()", "FALSE");
- v11 = (int)v2->m_IP;
- if ( !Socket::connect((const CHAR *)v1, v2->m_IP, v2->m_Port) )
- {
- CacheLog(
- 0,
- "ERROR: ConnectBillingServer( ) Pos:%d IP:%s Port:%d ServerID:%d ...Faile ",
- v2->m_ContainerPos,
- v11,
- v2->m_Port);
- BillingPlayer::CleanUp(v10);
- return 0;
- }
- if ( !Socket::setNonBlocking((BOOL)v1, 1) )
- __assert__("./Main/ServerManager.cpp", 0x32Fu, "BOOL ServerManager::ConnectBillingServer()", "FALSE");
- if ( !Socket::setLinger((int)v1, 0) )
- __assert__("./Main/ServerManager.cpp", 0x336u, "BOOL ServerManager::ConnectBillingServer()", "FALSE");
- CacheLog(0, "ConnectServer( ) Pos:%d IP:%s Port:%d ...OK ", v2->m_ContainerPos, v11, v2->m_Port);
- v5 = Socket::getSOCKET((int)v1);
- if ( !ServerManager::AddServer(this, v5) )
- __assert__("./Main/ServerManager.cpp", 0x346u, "BOOL ServerManager::ConnectBillingServer()", "FALSE");
- v6 = operator new(0x28u);
- BillPacket::BillPacket((_DWORD *)v6);
- *(_BYTE *)(v6 + 12) = 0;
- *(_DWORD *)v6 = off_80CDF68;
- memset((void *)(v6 + 13), 0, 0x18u);
- *(_WORD *)(v6 + 8) = g_Config.m_WorldInfo.m_ZoneID;
- *(_WORD *)(v6 + 10) = g_Config.m_WorldInfo.m_WorldID;
- v7 = ServerManager::GetCurrentServerInfo(*(ServerManager *const *)&g_pServerManager)->m_IP1;
- strncpy((char *)(v6 + 13), v7, 0xFu);
- *(_BYTE *)(v6 + 12) = 0;
- v8 = 0;
- do
- {
- if ( v7[v8] )
- ++*(_BYTE *)(v6 + 12);
- ++v8;
- }
- while ( v8 <= 14 );
- v9 = BillingPlayer::SendPacket(v10, (BillPacket *)v6);
- if ( v6 )
- (*(void (__cdecl **)(int))(*(_DWORD *)v6 + 4))(v6);
- if ( !v9 )
- __assert__("./Main/ServerManager.cpp", 0x352u, "BOOL ServerManager::ConnectBillingServer()", "FALSE");
- this->m_BillingPlayer.m_Status = 400;
- CacheLog(0, "ConnectBillingServer( ) Current ServerID:%d ...OK ", g_Config.m_LoginInfo.m_LoginID, v10);
- return 1;
- }
- // 80CDF68: using guessed type _DWORD (__cdecl *off_80CDF68[2])(Packets::LBConnect *this);
- //----- (0804EBBC) --------------------------------------------------------
- #error "804ECC1: positive sp value has been found (funcsize=71)"
- //----- (0804ED80) --------------------------------------------------------
- INT __cdecl ServerManager::GetServerPlayerPoolSize(int ServerID, unsigned __int16 ServerIDa)
- {
- if ( ServerIDa > 0x17u )
- __assert__(
- "./Main/ServerManager.cpp",
- 0x47Au,
- "INT ServerManager::GetServerPlayerPoolSize(ID_t)",
- "ServerID>=0 && ServerID<MAX_SERVER");
- return *(_DWORD *)(ServerID + 4 * (signed __int16)ServerIDa + 7356);
- }
- //----- (0804EE08) --------------------------------------------------------
- BOOL __cdecl ServerManager::ResetQueuePos(ServerManager *const this)
- {
- WorldPlayerQueue::SortQueuePos(g_pWorldPlayerQueue);
- return 1;
- }
- //----- (0804EE6C) --------------------------------------------------------
- #error "804EFB3: positive sp value has been found (funcsize=89)"
- //----- (0804F038) --------------------------------------------------------
- BOOL __cdecl ServerManager::SendPacket(ServerManager *const this, Packet *pPacket, ID_t ServerID, UINT Flag)
- {
- UINT v4; // edx
- ASYNC_PACKET *v5; // ecx
- int v6; // eax
- UINT v7; // eax
- pthread_mutex_t *v8; // eax
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v4 = this->m_Tail;
- v5 = this->m_PacketQue;
- if ( v5[v4].m_pPacket )
- {
- if ( !ServerManager::ResizeCache(this) )
- __assert__("./Main/ServerManager.cpp", 0x3D8u, "BOOL ServerManager::SendPacket(Packet*, ID_t, UINT)", "ret");
- v4 = this->m_Tail;
- v5 = this->m_PacketQue;
- }
- v6 = v4;
- v5[v6].m_pPacket = pPacket;
- v5[v6].m_Flag = Flag;
- v5[v6].m_PlayerID = ServerID;
- v7 = this->m_Tail + 1;
- if ( v7 >= this->m_QueSize )
- {
- v8 = &this->m_Lock.m_Mutex;
- this->m_Tail = 0;
- if ( this == (ServerManager *const )-3104 )
- return 1;
- LABEL_6:
- pthread_mutex_unlock(v8);
- return 1;
- }
- this->m_Tail = v7;
- v8 = &this->m_Lock.m_Mutex;
- if ( this != (ServerManager *const )-3104 )
- goto LABEL_6;
- return 1;
- }
- //----- (0804F184) --------------------------------------------------------
- BOOL __cdecl ServerManager::RecvPacket(ServerManager *const this, Packet **const pPacket, PlayerID_t *const PlayerID, UINT *const Flag)
- {
- ASYNC_PACKET *v4; // ebx
- UINT v5; // ecx
- Packet *v6; // edx
- UINT v8; // eax
- UINT v9; // eax
- pthread_mutex_t *v10; // eax
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v4 = this->m_PacketQue;
- v5 = this->m_Head;
- v6 = v4[v5].m_pPacket;
- if ( v6 )
- {
- *pPacket = v6;
- *PlayerID = v4[v5].m_PlayerID;
- *Flag = v4[v5].m_Flag;
- v8 = this->m_Head;
- v4[v8].m_Flag = 0;
- v4[v8].m_pPacket = 0;
- v4[v8].m_PlayerID = -1;
- v9 = this->m_Head + 1;
- if ( v9 >= this->m_QueSize )
- {
- v10 = &this->m_Lock.m_Mutex;
- this->m_Head = 0;
- if ( this == (ServerManager *const )-3104 )
- return 1;
- }
- else
- {
- this->m_Head = v9;
- v10 = &this->m_Lock.m_Mutex;
- if ( this == (ServerManager *const )-3104 )
- return 1;
- }
- pthread_mutex_unlock(v10);
- return 1;
- }
- if ( this != (ServerManager *const )-3104 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- return 0;
- }
- //----- (0804F27C) --------------------------------------------------------
- #error "804F37F: positive sp value has been found (funcsize=76)"
- //----- (0804F3E8) --------------------------------------------------------
- void __cdecl ServerManager::SetServerPlayerPoolSize(int ServerID, unsigned __int16 ServerIDa, int a5)
- {
- if ( ServerIDa > 0x17u )
- __assert__(
- "./Main/ServerManager.cpp",
- 0x485u,
- "void ServerManager::SetServerPlayerPoolSize(ID_t, INT)",
- "ServerID>=0 && ServerID<MAX_SERVER");
- *(_DWORD *)(ServerID + 4 * (signed __int16)ServerIDa + 7356) = a5;
- }
- //----- (0804F474) --------------------------------------------------------
- BOOL __cdecl ServerManager::SendQueuePlayerToWorld(ServerManager *const this)
- {
- int v1; // edx
- int v2; // ebx
- UINT v3; // eax
- UINT v4; // edx
- UINT v5; // edx
- UINT v6; // eax
- int v7; // esi
- WORLD_PLAYER_INFO *v9; // eax
- WORLD_PLAYER_INFO *v10; // edi
- PlayerID_t v11; // ax
- SceneID_t v12; // ax
- int v13; // ecx
- INT v14; // eax
- INT v15; // eax
- Packets::LWAskCharLogin *v16; // ecx
- int i; // eax
- Packets::LWAskCharLogin *j; // eax
- Packets::LWAskCharLogin *k; // eax
- Packets::LWAskCharLogin *l; // eax
- Packets::LWAskCharLogin *m; // eax
- Packets::LWAskCharLogin *n; // eax
- INT nServerCount; // [esp+4h] [ebp-C714h]
- INT nSceneCount; // [esp+8h] [ebp-C710h]
- unsigned __int16 TarServerID; // [esp+Ch] [ebp-C70Ch]
- SceneID_t TarSceneID; // [esp+Eh] [ebp-C70Ah]
- LoginPlayer *v27; // [esp+10h] [ebp-C708h]
- UINT QPos; // [esp+18h] [ebp-C700h]
- UINT QueuePos; // [esp+1Ch] [ebp-C6FCh]
- Packets::LWAskCharLogin Msg; // [esp+20h] [ebp-C6F8h]
- WORLD_PLAYER_INFO pi; // [esp+C6B0h] [ebp-68h]
- v1 = g_WorldPlayerCounter.m_MaxWorldUserCount - g_WorldPlayerCounter.m_WorldPlayerCount;
- if ( g_WorldPlayerCounter.m_MaxWorldUserCount - g_WorldPlayerCounter.m_WorldPlayerCount <= 0 )
- v1 = 0;
- if ( (signed int)(g_pWorldPlayerQueue->m_SendCount + 100) < v1 )
- {
- v2 = v1 - 100;
- v3 = g_pWorldPlayerQueue->m_Tail;
- v4 = g_pWorldPlayerQueue->m_Head;
- if ( v4 > v3 )
- {
- v4 -= v3;
- v3 = g_pWorldPlayerQueue->m_Size;
- }
- if ( (signed int)(v3 - v4) < v2 )
- {
- v5 = g_pWorldPlayerQueue->m_Head;
- v6 = g_pWorldPlayerQueue->m_Tail;
- if ( v5 > v6 )
- {
- v5 -= v6;
- v6 = g_pWorldPlayerQueue->m_Size;
- }
- v2 = v6 - v5;
- }
- v7 = 0;
- while ( v7 < v2 )
- {
- if ( WorldPlayerQueue::FindHeadPlayer(g_pWorldPlayerQueue, &QueuePos) )
- {
- v9 = WorldPlayerQueue::GetPlayer(g_pWorldPlayerQueue, QueuePos);
- v10 = v9;
- v11 = v9->PlayerID;
- if ( v11 == -1 || v11 > 3071 || v11 < 0 || (v27 = &g_pPlayerPool->m_pPlayer[v11]) == 0 )
- __assert__("./Main/ServerManager.cpp", 0x37Du, "BOOL ServerManager::SendQueuePlayerToWorld()", "pLoginPlayer");
- if ( LoginPlayer::IsGUIDOwner(v27, v10->Guid) && v27->m_Status == 312 )
- {
- v12 = LoginPlayer::GetChooseSceneID((int)v27);
- TarSceneID = v12;
- if ( v12 >= 0 )
- {
- v13 = v12;
- if ( v12 < (signed int)g_Config.m_SceneInfo.m_SceneCount )
- {
- TarServerID = g_Config.m_SceneInfo.m_pScene[v12].m_ServerID;
- v14 = 0;
- if ( (unsigned __int16)TarSceneID <= 0x3FFu )
- v14 = *(_DWORD *)(*(_DWORD *)&g_pServerManager + 4 * v13 + 3260);
- nSceneCount = v14;
- v15 = ServerManager::GetServerPlayerPoolSize(*(int *)&g_pServerManager, TarServerID);
- nServerCount = v15;
- if ( nSceneCount > 1327 || v15 > 2371 )
- {
- memcpy(&pi, v10, 0x48u);
- if ( !WorldPlayerQueue::GetOutPlayer(g_pWorldPlayerQueue, QueuePos) )
- __assert__(
- "./Main/ServerManager.cpp",
- 0x394u,
- "BOOL ServerManager::SendQueuePlayerToWorld()",
- "FALSE");
- WorldPlayerQueue::AddInPlayer(g_pWorldPlayerQueue, pi.PlayerID, pi.PlayerName, pi.Guid, &QPos);
- CacheLog(
- 0,
- "SendQueuePlayerToWorld...Server Full Or Scene Full..GUID=%d Scene=%d nSceneCount=%d nServerCount=%d",
- pi.Guid,
- TarSceneID,
- nSceneCount,
- nServerCount);
- ++v7;
- continue;
- }
- }
- }
- Packets::LWAskCharLogin::LWAskCharLogin(&Msg);
- Packets::LWAskCharLogin::SetAccount(&Msg, v10->PlayerName);
- Msg.PlayerID = v10->PlayerID;
- Msg.PlayerGUID = v10->Guid;
- Msg.AskStatus = 0;
- Msg.uKey = LoginPlayer::GetUserKey((int)v27);
- ServerPlayer::SendPacket(&this->m_WorldPlayer, &Msg.0);
- v27->m_Status = 308;
- (*((void (__cdecl **)(LoginPlayer *))v27->_vptr_Player + 27))(v27);
- LoginPlayer::SetQueuePos((int)v27, 0);
- ++g_pWorldPlayerQueue->m_SendCount;
- CacheLog(0, "SendQueuePlayerToWorld...Send Success..GUID=%d Scene=%d", v10->Guid, TarSceneID);
- Msg._vptr_Packet = (int (**)(...))off_80CF1A8;
- v16 = (Packets::LWAskCharLogin *)((char *)&Msg + 44362);
- while ( &Msg.UserData.m_PetList != (_PET_DB_LIST_LOAD *)v16 )
- {
- v16 = (Packets::LWAskCharLogin *)((char *)v16 - 399);
- if ( v16 != (Packets::LWAskCharLogin *)-211 )
- {
- for ( i = (int)&v16->UserData.m_Human.m_Titles.m_szBangPai[33];
- &v16->UserData.m_Human.m_Titles.m_szNick[5] != (CHAR *)i;
- i -= 12 )
- {
- ;
- }
- }
- }
- if ( &Msg.UserData != (FULLUSERDATA *)-33963 )
- {
- for ( j = (Packets::LWAskCharLogin *)((char *)&Msg + 35583);
- Msg.UserData.m_Impact.m_aImpacts != (_OWN_IMPACT *)j;
- j = (Packets::LWAskCharLogin *)((char *)j - 76) )
- {
- ;
- }
- }
- if ( &Msg.UserData != (FULLUSERDATA *)-33513 )
- {
- for ( k = (Packets::LWAskCharLogin *)((char *)&Msg + 33997);
- &Msg.UserData.m_Cooldown != (_COOLDOWN_DB_LOAD_FOR_HUMAN *)k;
- k = (Packets::LWAskCharLogin *)((char *)k - 12) )
- {
- ;
- }
- }
- if ( &Msg.UserData != (FULLUSERDATA *)-1409 )
- {
- for ( l = (Packets::LWAskCharLogin *)((char *)&Msg + 1557);
- &Msg.UserData.m_Human.m_PvpInfo.m_oPersonalEnemyList != (PersonalEnemyList_T *)l;
- l = (Packets::LWAskCharLogin *)((char *)l - 8) )
- {
- ;
- }
- }
- if ( &Msg.UserData.m_Human.m_PvpInfo != (_PVPInfo *)-347 )
- {
- for ( m = (Packets::LWAskCharLogin *)((char *)&Msg + 1509);
- &Msg.UserData.m_Human.m_PvpInfo.m_oPersonalDuelList != (PersonalDuelList_T *)m;
- m = (Packets::LWAskCharLogin *)((char *)m - 8) )
- {
- ;
- }
- }
- if ( &Msg.UserData != (FULLUSERDATA *)-1289 )
- {
- for ( n = (Packets::LWAskCharLogin *)((char *)&Msg + 1469);
- &Msg.UserData.m_Human.m_PvpInfo.m_oFightBackList != (FightBackList_T *)n;
- n = (Packets::LWAskCharLogin *)((char *)n - 8) )
- {
- ;
- }
- }
- Packet::~Packet(&Msg);
- }
- if ( !WorldPlayerQueue::GetOutPlayer(g_pWorldPlayerQueue, QueuePos) )
- __assert__("./Main/ServerManager.cpp", 0x3B9u, "BOOL ServerManager::SendQueuePlayerToWorld()", "FALSE");
- }
- ++v7;
- }
- }
- return 1;
- }
- // 80CF1A8: using guessed type _DWORD (__cdecl *off_80CF1A8[2])(Packets::LWAskCharLogin *this);
- //----- (0804F9FC) --------------------------------------------------------
- #error "804FBE3: positive sp value has been found (funcsize=123)"
- //----- (0804FCA0) --------------------------------------------------------
- void __cdecl _tcf_0_5(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0804FCB0) --------------------------------------------------------
- void `global constructor keyed to'g_pServerManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_5, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0804FCDC) --------------------------------------------------------
- void __cdecl Packets::LWAskCharLogin::LWAskCharLogin(Packets::LWAskCharLogin *const this)
- {
- signed int v1; // edx
- _HUMAN_DB_LOAD *v2; // esi
- FightBackList_T *v3; // eax
- PersonalDuelList_T *v4; // eax
- signed int v5; // edx
- PersonalEnemyList_T *v6; // eax
- signed int v7; // edx
- signed int v8; // eax
- FightBackList_T *v9; // eax
- signed int v10; // edx
- PersonalDuelList_T *v11; // eax
- signed int v12; // edx
- PersonalEnemyList_T *v13; // eax
- signed int v14; // edx
- signed int v15; // edx
- _PLAYERSHOP_GUID *v16; // ebx
- _DuelInfo *v17; // eax
- _FATIGUE_INFO *v18; // eax
- _DOUBLE_EXP *v19; // eax
- _BANK_DB_LOAD *v20; // ebx
- signed int v21; // edi
- _BAG_DB_LOAD *v22; // ebx
- signed int v23; // edi
- _EQUIP_DB_LOAD *v24; // ebx
- signed int v25; // edi
- _COOLDOWN_DB_LOAD_FOR_HUMAN *v26; // eax
- signed int v27; // edx
- _OWN_IMPACT *v28; // edx
- signed int v29; // ebx
- INT *v30; // edi
- _SETTING_DB_LOAD *v31; // eax
- signed int v32; // edx
- _SETTING_DB_LOAD *v33; // eax
- signed int v34; // edx
- _PET_DB_LOAD *v35; // ebx
- signed int v36; // edx
- int v37; // eax
- int v38; // eax
- signed int v39; // edx
- _PET_TITLE *v40; // eax
- signed int v41; // edx
- _RELATION_DB_LOAD *v42; // edx
- PrenticeInfo *v43; // eax
- PrenticeInfo1 *v44; // eax
- _COOLDOWN_DB_LOAD_FOR_HUMAN *v45; // eax
- signed int v46; // edx
- _SETTING_DB_LOAD *v47; // eax
- signed int v48; // edx
- _COOLDOWN_DB_LOAD_FOR_HUMAN *v49; // eax
- signed int v50; // edx
- _SETTING_DB_LOAD *v51; // eax
- signed int v52; // edx
- _PLAYERSHOP_GUID *v53; // [esp+18h] [ebp-ACh]
- signed int v54; // [esp+18h] [ebp-ACh]
- _IMPACT_DB_LOAD *v55; // [esp+24h] [ebp-A0h]
- _BAG_DB_LOAD *v56; // [esp+4Ch] [ebp-78h]
- _EQUIP_DB_LOAD *v57; // [esp+50h] [ebp-74h]
- char *v58; // [esp+54h] [ebp-70h]
- signed int v59; // [esp+70h] [ebp-54h]
- signed int v60; // [esp+80h] [ebp-44h]
- Packet::Packet((int)this);
- this->UserData.m_Human.m_Position.m_fX = 0.0;
- this->UserData.m_Human.m_Position.m_fZ = 0.0;
- this->UserData.m_Human.m_BakPosition.m_fX = 0.0;
- this->UserData.m_Human.m_BakPosition.m_fZ = 0.0;
- this->_vptr_Packet = (int (**)(...))off_80CF1A8;
- this->UserData.m_Human.m_guidCurrentPet.m_uHighSection = 0;
- this->UserData.m_Human.m_guidCurrentPet.m_uLowSection = 0;
- v1 = 9;
- memset(&this->UserData.m_Human.m_BaseAttrLevel1, 0, sizeof(this->UserData.m_Human.m_BaseAttrLevel1));
- v2 = &this->UserData.m_Human;
- v3 = &this->UserData.m_Human.m_PvpInfo.m_oFightBackList;
- do
- {
- --v1;
- v3->m_aList[0].m_nUniqueID = -1;
- v3->m_aList[0].m_nTime = 0;
- v3 = (FightBackList_T *)((char *)v3 + 8);
- }
- while ( v1 != -1 );
- v4 = &this->UserData.m_Human.m_PvpInfo.m_oPersonalDuelList;
- v5 = 4;
- do
- {
- --v5;
- v4->m_aList[0].m_nUniqueID = -1;
- v4->m_aList[0].m_nTime = 0;
- v4 = (PersonalDuelList_T *)((char *)v4 + 8);
- }
- while ( v5 != -1 );
- v6 = &this->UserData.m_Human.m_PvpInfo.m_oPersonalEnemyList;
- v7 = 5;
- do
- {
- --v7;
- v6->m_aList[0].m_nUniqueID = -1;
- v6->m_aList[0].m_nTime = 0;
- v6 = (PersonalEnemyList_T *)((char *)v6 + 8);
- }
- while ( v7 != -1 );
- this->UserData.m_Human.m_PvpInfo.m_nCampID = -1;
- this->UserData.m_Human.m_PvpInfo.m_nReputationID = -1;
- this->UserData.m_Human.m_PvpInfo.m_nPvpMode = 0;
- this->UserData.m_Human.m_PvpInfo.m_nPvpModeSwitchDelayTime = 0;
- v8 = 0;
- do
- this->UserData.m_Human.m_PvpInfo.m_oReputationList.m_aList[v8++] = 0;
- while ( v8 <= 63 );
- v9 = &this->UserData.m_Human.m_PvpInfo.m_oFightBackList;
- v10 = 9;
- do
- {
- v9->m_aList[0].m_nUniqueID = -1;
- v9->m_aList[0].m_nTime = 0;
- v9 = (FightBackList_T *)((char *)v9 + 8);
- --v10;
- }
- while ( v10 >= 0 );
- v11 = &this->UserData.m_Human.m_PvpInfo.m_oPersonalDuelList;
- v12 = 4;
- do
- {
- v11->m_aList[0].m_nUniqueID = -1;
- v11->m_aList[0].m_nTime = 0;
- v11 = (PersonalDuelList_T *)((char *)v11 + 8);
- --v12;
- }
- while ( v12 >= 0 );
- v13 = &this->UserData.m_Human.m_PvpInfo.m_oPersonalEnemyList;
- v14 = 5;
- do
- {
- v13->m_aList[0].m_nUniqueID = -1;
- v13->m_aList[0].m_nTime = 0;
- v13 = (PersonalEnemyList_T *)((char *)v13 + 8);
- --v14;
- }
- while ( v14 >= 0 );
- v53 = this->UserData.m_Human.m_ShopGuid;
- v15 = 1;
- do
- {
- memset(v53, 0, sizeof(_PLAYERSHOP_GUID));
- --v15;
- v53->m_PoolPos = -1;
- v53->m_Server = -1;
- v53->m_World = -1;
- v53->m_Scene = -1;
- ++v53;
- }
- while ( v15 != -1 );
- v16 = this->UserData.m_Human.m_FavoriteList;
- v54 = 9;
- do
- {
- memset(v16, 0, sizeof(_PLAYERSHOP_GUID));
- --v54;
- v16->m_PoolPos = -1;
- v16->m_Server = -1;
- v16->m_World = -1;
- v16->m_Scene = -1;
- ++v16;
- }
- while ( v54 != -1 );
- v17 = &this->UserData.m_Human.m_oDuelInfo;
- v17->m_nMaxReqTime = 0;
- v17->m_nProcessStatus = 0;
- v18 = &this->UserData.m_Human.m_FatigueInfo;
- this->UserData.m_Human.m_oDuelInfo.m_guidDueler = -1;
- v18->m_uTotalOfflineTime = 0;
- v18->m_uCurrentEnterServerTime = 0;
- v18->m_uLastLeaveServerTime = 0;
- v19 = &this->UserData.m_Human.m_DoubleExp;
- this->UserData.m_Human.m_FatigueInfo.m_uTotalOnlineTime = 0;
- this->UserData.m_Human.m_DoubleExp.m_nCount = 0;
- v19->m_bLock = 0;
- v19->m_unMoneyDETime = 0;
- v19->m_unFreeDETime = 0;
- v19->m_nPreFlashTime = 0;
- _HUMAN_DB_LOAD::CleanUp(v2);
- v20 = &this->UserData.m_Bank;
- v21 = 59;
- v58 = (char *)&this->UserData.m_Bank;
- while ( v21 != -1 )
- {
- v20->m_pItem[0].m_ItemGUID.m_Serial = 0;
- v20->m_pItem[0].m_ItemGUID.m_Server = 0;
- v20->m_pItem[0].m_ItemGUID.m_World = 0;
- memset(v20, 0, 0xB0u);
- v20 = (_BANK_DB_LOAD *)((char *)v20 + 176);
- --v21;
- }
- _BANK_DB_LOAD::CleanUp(v58);
- v56 = &this->UserData.m_Bag;
- v22 = &this->UserData.m_Bag;
- v23 = 99;
- do
- {
- v22->m_pItem[0].m_ItemGUID.m_Serial = 0;
- v22->m_pItem[0].m_ItemGUID.m_Server = 0;
- v22->m_pItem[0].m_ItemGUID.m_World = 0;
- --v23;
- memset(v22, 0, 0xB0u);
- v22 = (_BAG_DB_LOAD *)((char *)v22 + 176);
- }
- while ( v23 != -1 );
- _BAG_DB_LOAD::CleanUp(v56);
- v57 = &this->UserData.m_Equip;
- v24 = &this->UserData.m_Equip;
- v25 = 18;
- do
- {
- v24->m_pItem[0].m_ItemGUID.m_Serial = 0;
- v24->m_pItem[0].m_ItemGUID.m_Server = 0;
- v24->m_pItem[0].m_ItemGUID.m_World = 0;
- --v25;
- memset(v24, 0, 0xB0u);
- v24 = (_EQUIP_DB_LOAD *)((char *)v24 + 176);
- }
- while ( v25 != -1 );
- _EQUIP_DB_LOAD::CleanUp(v57);
- _SKILL_DB_LOAD::CleanUp(&this->UserData.m_Skill);
- v26 = &this->UserData.m_Cooldown;
- v27 = 31;
- do
- {
- --v27;
- v26->m_aCooldown[0].m_nID = -1;
- v26->m_aCooldown[0].m_nCooldown = 0;
- v26->m_aCooldown[0].m_nCooldownElapsed = 0;
- v26 = (_COOLDOWN_DB_LOAD_FOR_HUMAN *)((char *)v26 + 12);
- }
- while ( v27 != -1 );
- _XINFA_DB_LOAD::CleanUp(&this->UserData.m_XinFa);
- v55 = &this->UserData.m_Impact;
- v28 = this->UserData.m_Impact.m_aImpacts;
- v29 = 19;
- do
- {
- --v29;
- v28->m_Flags.m_aBitFlags[0] = 0;
- v30 = v28->m_aParams;
- v28->m_nSN = -1;
- v28->m_nDataIndex = -1;
- v28->m_nImpactID = -1;
- v28->m_nSkillID = -1;
- v28->m_nCasterObjID = -1;
- v28->m_nCasterUniqueID = -1;
- v28->m_nCasterLogicCount = 0;
- v28->m_nContinuance = 0;
- v28->m_nContinuanceElapsed = 0;
- v28->m_nIntervalElapsed = 0;
- v28->m_nSubLevel = 0;
- ++v28;
- memset(v30, 0, 0x20u);
- }
- while ( v29 != -1 );
- _IMPACT_DB_LOAD::CleanUp(v55);
- _ABILITY_DB_LOAD::CleanUp(this->UserData.m_Ability.m_aPrescr);
- _MISSION_DB_LOAD::CleanUp(&this->UserData.m_Mission);
- v31 = &this->UserData.m_Setting;
- v32 = 127;
- do
- {
- --v32;
- v31->m_aSetting[0].m_SettingType = 0;
- v31->m_aSetting[0].m_SettingData = 0;
- v31 = (_SETTING_DB_LOAD *)((char *)v31 + 5);
- }
- while ( v32 != -1 );
- v33 = &this->UserData.m_Setting;
- v34 = 127;
- do
- {
- v33->m_aSetting[0].m_SettingType = 0;
- v33->m_aSetting[0].m_SettingData = 0;
- v33 = (_SETTING_DB_LOAD *)((char *)v33 + 5);
- --v34;
- }
- while ( v34 >= 0 );
- v35 = this->UserData.m_PetList.m_aPetDB;
- v60 = 9;
- do
- {
- v36 = 12;
- v35->m_GUID.m_uHighSection = 0;
- v35->m_GUID.m_uLowSection = 0;
- v35->m_SpouseGUID.m_uHighSection = 0;
- v35->m_SpouseGUID.m_uLowSection = 0;
- memset(&v35->m_BaseAttrLevel1, 0, sizeof(v35->m_BaseAttrLevel1));
- v37 = (int)v35->m_SkillList;
- do
- {
- --v36;
- *(_BYTE *)v37 = 0;
- *(_WORD *)(v37 + 1) = -1;
- v37 += 3;
- }
- while ( v36 != -1 );
- v38 = (int)&v35->m_CooldownList;
- v39 = 7;
- do
- {
- --v39;
- *(_WORD *)v38 = -1;
- *(_DWORD *)(v38 + 4) = 0;
- *(_DWORD *)(v38 + 8) = 0;
- v38 += 12;
- }
- while ( v39 != -1 );
- v40 = v35->m_PetTitle;
- v41 = 9;
- do
- {
- --v41;
- v40->m_tTitleID = -1;
- v40->m_uCreateTime = 0;
- ++v40;
- }
- while ( v41 != -1 );
- _PET_DB_LOAD::CleanUp(v35);
- --v60;
- ++v35;
- }
- while ( v60 != -1 );
- v42 = &this->UserData.m_Relation;
- v59 = 99;
- do
- {
- memset(v42->m_aRelation[0].m_Member.m_szMemberName, 0, 0x1Cu);
- *(_WORD *)&v42->m_aRelation[0].m_Member.m_szMemberName[28] = 0;
- v42->m_aRelation[0].m_Member.m_MemberGUID = -1;
- memset(v42->m_aRelation[0].m_Member.m_szMemberName, 0, 0x1Cu);
- *(_WORD *)&v42->m_aRelation[0].m_Member.m_szMemberName[28] = 0;
- v42->m_aRelation[0].m_Type = 0;
- v42->m_aRelation[0].m_Group = 0;
- --v59;
- v42->m_aRelation[0].m_Member.m_nLevel = 0;
- v42->m_aRelation[0].m_Member.m_nMenPai = 9;
- v42->m_aRelation[0].m_Member.m_nPortrait = -1;
- v42->m_aRelation[0].m_Member.m_GuildID = -1;
- v42->m_aRelation[0].m_FriendPoint = 0;
- v42 = (_RELATION_DB_LOAD *)((char *)v42 + 58);
- }
- while ( v59 != -1 );
- v43 = &this->UserData.m_Relation.m_PrenticeInfo;
- this->UserData.m_Relation.m_MarriageInfo.m_SpouseGUID = -1;
- v43->m_uPrenticeCount = 0;
- v43->m_uMoralPoint = 0;
- v44 = &this->UserData.m_Relation.m_PrenticeInfo1;
- this->UserData.m_Relation.m_PrenticeInfo.m_PrenticeGUID[0] = -1;
- this->UserData.m_Relation.m_PrenticeInfo.m_PrenticeGUID[1] = -1;
- this->UserData.m_Relation.m_MasterInfo.m_MasterGUID = -1;
- this->UserData.m_Relation.m_PrenticeInfo.m_BetrayingTime = 0;
- this->UserData.m_Relation.m_PrenticeInfo1.m_BetrayingTime = 0;
- v44->m_uMoralPoint = 0;
- v44->m_uPrenticeCount = 0;
- v44->m_uPrenticeExp = 0;
- v44->m_uMasterExp = 0;
- v44->m_uMasterLevel = 0;
- this->UserData.m_Relation.m_PrenticeInfo1.m_PrenticeGUID[0] = -1;
- this->UserData.m_Relation.m_PrenticeInfo1.m_PrenticeGUID[1] = -1;
- _RELATION_DB_LOAD::CleanUp(&this->UserData.m_Relation);
- memset(&this->UserData.m_PrivateInfo, 0, 0x1B0u);
- this->UserData.m_PrivateInfo.m_CharGUID = -1;
- this->UserData.m_DRideData.m_uDRideTargetGUID = -1;
- this->UserData.m_DRideData.m_bDRideMountOwner = 0;
- this->UserData.m_macValue.m_uHigh = 0;
- this->UserData.m_macValue.m_uLow = 0;
- this->UserData.m_AccountSafeSign.m_Sign = 0;
- _HUMAN_DB_LOAD::CleanUp(v2);
- _EQUIP_DB_LOAD::CleanUp(v57);
- _BAG_DB_LOAD::CleanUp(v56);
- _BANK_DB_LOAD::CleanUp(v58);
- _SKILL_DB_LOAD::CleanUp(&this->UserData.m_Skill);
- v45 = &this->UserData.m_Cooldown;
- v46 = 31;
- do
- {
- v45->m_aCooldown[0].m_nID = -1;
- v45->m_aCooldown[0].m_nCooldown = 0;
- v45->m_aCooldown[0].m_nCooldownElapsed = 0;
- v45 = (_COOLDOWN_DB_LOAD_FOR_HUMAN *)((char *)v45 + 12);
- --v46;
- }
- while ( v46 >= 0 );
- _XINFA_DB_LOAD::CleanUp(&this->UserData.m_XinFa);
- _IMPACT_DB_LOAD::CleanUp(v55);
- _ABILITY_DB_LOAD::CleanUp(this->UserData.m_Ability.m_aPrescr);
- _MISSION_DB_LOAD::CleanUp(&this->UserData.m_Mission);
- v47 = &this->UserData.m_Setting;
- v48 = 127;
- do
- {
- v47->m_aSetting[0].m_SettingType = 0;
- v47->m_aSetting[0].m_SettingData = 0;
- v47 = (_SETTING_DB_LOAD *)((char *)v47 + 5);
- --v48;
- }
- while ( v48 >= 0 );
- _PET_DB_LIST_LOAD::CleanUp(&this->UserData.m_PetList);
- _RELATION_DB_LOAD::CleanUp(&this->UserData.m_Relation);
- memset(&this->UserData.m_PrivateInfo, 0, 0x1B0u);
- this->UserData.m_PrivateInfo.m_CharGUID = -1;
- this->UserData.m_bIsPasswdUnlock = 0;
- this->UserData.m_DRideData.m_uDRideTargetGUID = -1;
- this->UserData.m_DRideData.m_bDRideMountOwner = 0;
- memset(this->UserData.m_AccName, 0, 0x30u);
- *(_WORD *)&this->UserData.m_AccName[48] = 0;
- this->UserData.m_AccName[50] = 0;
- this->UserData.m_macValue.m_uLow = 0;
- this->UserData.m_macValue.m_uHigh = 0;
- this->UserData.m_uVERecoverTime = 0;
- this->UserData.m_nLeftPilferLockTime = 0;
- this->UserData.m_bPilferLockTimeStart = 0;
- this->UserData.m_uPrevHeartBeatANSITime = 0;
- memset(this->UserData.m_LoginHost, 0, 0x18u);
- this->UserData.m_LoginHost[24] = 0;
- this->UserData.m_AccountSafeSign.m_Sign = 0;
- this->UserData.m_IsPilfered = 0;
- _HUMAN_DB_LOAD::CleanUp(v2);
- _EQUIP_DB_LOAD::CleanUp(&this->UserData.m_Equip);
- _BAG_DB_LOAD::CleanUp(&this->UserData.m_Bag);
- _BANK_DB_LOAD::CleanUp((char *)&this->UserData.m_Bank);
- _SKILL_DB_LOAD::CleanUp(&this->UserData.m_Skill);
- v49 = &this->UserData.m_Cooldown;
- v50 = 31;
- do
- {
- v49->m_aCooldown[0].m_nID = -1;
- v49->m_aCooldown[0].m_nCooldown = 0;
- v49->m_aCooldown[0].m_nCooldownElapsed = 0;
- v49 = (_COOLDOWN_DB_LOAD_FOR_HUMAN *)((char *)v49 + 12);
- --v50;
- }
- while ( v50 >= 0 );
- _XINFA_DB_LOAD::CleanUp(&this->UserData.m_XinFa);
- _IMPACT_DB_LOAD::CleanUp(&this->UserData.m_Impact.m_Count);
- _ABILITY_DB_LOAD::CleanUp(this->UserData.m_Ability.m_aPrescr);
- _MISSION_DB_LOAD::CleanUp(&this->UserData.m_Mission);
- v51 = &this->UserData.m_Setting;
- v52 = 127;
- do
- {
- v51->m_aSetting[0].m_SettingType = 0;
- v51->m_aSetting[0].m_SettingData = 0;
- v51 = (_SETTING_DB_LOAD *)((char *)v51 + 5);
- --v52;
- }
- while ( v52 >= 0 );
- _PET_DB_LIST_LOAD::CleanUp(&this->UserData.m_PetList);
- _RELATION_DB_LOAD::CleanUp(&this->UserData.m_Relation);
- memset(&this->UserData.m_PrivateInfo, 0, 0x1B0u);
- this->UserData.m_PrivateInfo.m_CharGUID = -1;
- this->UserData.m_bIsPasswdUnlock = 0;
- this->UserData.m_DRideData.m_bDRideMountOwner = 0;
- this->UserData.m_DRideData.m_uDRideTargetGUID = -1;
- memset(this->UserData.m_AccName, 0, 0x30u);
- *(_WORD *)&this->UserData.m_AccName[48] = 0;
- this->UserData.m_AccName[50] = 0;
- this->UserData.m_macValue.m_uHigh = 0;
- this->UserData.m_macValue.m_uLow = 0;
- this->UserData.m_uVERecoverTime = 0;
- this->UserData.m_nLeftPilferLockTime = 0;
- this->UserData.m_bPilferLockTimeStart = 0;
- this->UserData.m_uPrevHeartBeatANSITime = 0;
- memset(this->UserData.m_LoginHost, 0, 0x18u);
- this->UserData.m_LoginHost[24] = 0;
- this->UserData.m_AccountSafeSign.m_Sign = 0;
- this->UserData.m_IsPilfered = 0;
- }
- // 80CF1A8: using guessed type _DWORD (__cdecl *off_80CF1A8[2])(Packets::LWAskCharLogin *this);
- //----- (0805071B) --------------------------------------------------------
- void __usercall __noreturn sub_805071B(int a1@<ebp>)
- {
- Packet::~Packet(*(_DWORD **)(a1 - 36));
- _Unwind_Resume();
- }
- //----- (0805095C) --------------------------------------------------------
- void __cdecl ServerThread::ServerThread(_DWORD *a2)
- {
- Thread::Thread(a2);
- *a2 = &off_80BCFC0;
- a2[3] = 1;
- }
- // 80BCFC0: using guessed type _DWORD (__cdecl *off_80BCFC0)(ServerThread *this);
- //----- (08050984) --------------------------------------------------------
- void __cdecl ServerThread::ServerThread(_DWORD *a2)
- {
- Thread::Thread(a2);
- *a2 = &off_80BCFC0;
- a2[3] = 1;
- }
- // 80BCFC0: using guessed type _DWORD (__cdecl *off_80BCFC0)(ServerThread *this);
- //----- (080509AC) --------------------------------------------------------
- void __cdecl ServerThread::~ServerThread(Thread *a2)
- {
- a2->_vptr_Thread = (int (**)(...))&off_80BCFC0;
- Thread::~Thread(a2);
- }
- // 80BCFC0: using guessed type _DWORD (__cdecl *off_80BCFC0)(ServerThread *this);
- //----- (080509C8) --------------------------------------------------------
- void __cdecl ServerThread::~ServerThread(Thread *a2)
- {
- a2->_vptr_Thread = (int (**)(...))&off_80BCFC0;
- Thread::~Thread(a2);
- }
- // 80BCFC0: using guessed type _DWORD (__cdecl *off_80BCFC0)(ServerThread *this);
- //----- (080509E4) --------------------------------------------------------
- void __cdecl ServerThread::~ServerThread(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))&off_80BCFC0;
- Thread::~Thread(a2);
- operator delete(a2);
- }
- // 80BCFC0: using guessed type _DWORD (__cdecl *off_80BCFC0)(ServerThread *this);
- //----- (08050A0C) --------------------------------------------------------
- void __cdecl ServerThread::run(ServerThread *const this)
- {
- TID v1; // ebx
- ID_t v2; // ax
- unsigned int v3; // eax
- int v4; // edx
- BOOL v5; // eax
- v1 = this->m_TID;
- v2 = ServerManager::GetLoginID(*(ServerManager *const *)&g_pServerManager);
- CacheLog(0, "ServerThread::run() Thread ID:%d LoginID:%d...", v1, v2);
- v3 = TimeManager::CurrentTime((int)g_pTimeManager);
- srand(v3);
- v4 = *(_DWORD *)&g_pServerManager;
- *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) = this->m_TID;
- v5 = this->m_Active;
- if ( v5 )
- {
- if ( v4 )
- goto LABEL_5;
- while ( v5 )
- {
- if ( *(_DWORD *)&g_pServerManager )
- {
- LABEL_5:
- MySleep(100);
- if ( !ServerManager::Tick(*(ServerManager *const *)&g_pServerManager) )
- __assert__("./Main/ServerThread.cpp", 0x2Eu, "virtual void ServerThread::run()", "ret");
- v5 = this->m_Active;
- }
- }
- }
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (08050B18) --------------------------------------------------------
- void __cdecl _tcf_0_6(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08050B28) --------------------------------------------------------
- void `global constructor keyed to'ServerThread::ServerThread()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_6, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08050B54) --------------------------------------------------------
- void __cdecl ServerThread::stop(int a2)
- {
- *(_DWORD *)(a2 + 12) = 0;
- }
- //----- (08050B64) --------------------------------------------------------
- #error "8050BE0: positive sp value has been found (funcsize=30)"
- //----- (08050C10) --------------------------------------------------------
- #error "8050C8C: positive sp value has been found (funcsize=30)"
- //----- (08050CBC) --------------------------------------------------------
- void __cdecl ThreadManager::~ThreadManager(ThreadManager *const this)
- {
- if ( this->m_pServerThread )
- {
- (*((void (__cdecl **)(ServerThread *))this->m_pServerThread->_vptr_Thread + 1))(this->m_pServerThread);
- this->m_pServerThread = 0;
- }
- }
- //----- (08050D2C) --------------------------------------------------------
- void __cdecl ThreadManager::~ThreadManager(ThreadManager *const this)
- {
- if ( this->m_pServerThread )
- {
- (*((void (__cdecl **)(ServerThread *))this->m_pServerThread->_vptr_Thread + 1))(this->m_pServerThread);
- this->m_pServerThread = 0;
- }
- }
- //----- (08050D9C) --------------------------------------------------------
- BOOL __cdecl ThreadManager::Init(ThreadManager *const this)
- {
- if ( this->m_pServerThread->m_Active )
- ++this->m_nThreads;
- return 1;
- }
- //----- (08050DB8) --------------------------------------------------------
- BOOL __cdecl ThreadManager::Start(ThreadManager *const this)
- {
- Thread::start(&this->m_pServerThread->0);
- return 1;
- }
- //----- (08050E1C) --------------------------------------------------------
- BOOL __cdecl ThreadManager::Stop(ThreadManager *const this)
- {
- if ( this->m_pServerThread )
- (*((void (__cdecl **)(ServerThread *))this->m_pServerThread->_vptr_Thread + 2))(this->m_pServerThread);
- return 1;
- }
- //----- (08050E90) --------------------------------------------------------
- void __cdecl _tcf_0_7(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08050EA0) --------------------------------------------------------
- void `global constructor keyed to'g_pThreadManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_7, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08050ECC) --------------------------------------------------------
- void __cdecl Config::Config(Config *const this)
- {
- signed int v1; // eax
- _LOGIN_INFO *v2; // eax
- _WORLD_INFO *v3; // eax
- signed int v4; // eax
- _SERVER_INFO *v5; // edx
- _BILLING_INFO *v6; // eax
- this->m_ConfigInfo.m_GodReliveTopLevel = 30;
- this->m_ConfigInfo.m_ZoneSize = 10;
- this->m_ConfigInfo.m_EquipmentDamagePoint = 1000;
- this->m_ConfigInfo.m_RecoverTime = 1000;
- this->m_ConfigInfo.m_MaxMonster = 1000;
- this->m_ConfigInfo.m_MaxPet = 1000;
- this->m_ConfigInfo.m_PetBodyTime = 2000;
- this->m_ConfigInfo.m_PetHappinessInterval = 600000;
- this->m_ConfigInfo.m_PetLifeInterval = 1800000;
- this->m_ConfigInfo.m_PetDecLifeStep = 8;
- this->m_ConfigInfo.m_PetCallUpHappiness = 60;
- this->m_ConfigInfo.m_PetPlacardTime = 1800000;
- this->m_ConfigInfo.m_DefaultRespawnTime = 300000;
- this->m_ConfigInfo.m_DropBoxRecycleTime = 300000;
- this->m_ConfigInfo.m_TimeChangeInterval = 300000;
- this->m_ConfigInfo.m_PacketAuditTime = 0;
- this->m_ConfigInfo.m_PositionRange = 10;
- this->m_ConfigInfo.m_AIType = 1;
- this->m_ConfigInfo.m_DisconnectTime = 0;
- this->m_ConfigInfo.m_DisconnectTime2 = 0;
- memset(this->m_ConfigInfo.m_UserPath, 0, 0x104u);
- this->m_ConfigInfo.m_CanGetExpRange = 30.0;
- this->m_ConfigInfo.m_MaxPortal = 0;
- this->m_ConfigInfo.m_MaxPlatform = 0;
- this->m_ConfigInfo.m_MaxSpecial = 1024;
- this->m_ConfigInfo.m_MaxBus = 1024;
- this->m_ConfigInfo.m_MaxPlayerShopNum = 512;
- this->m_ConfigInfo.m_PaymentPerHour = 0;
- this->m_ConfigInfo.m_MaxSkillObj = 1024;
- this->m_ConfigInfo.m_DefaultBodyTime = 0;
- this->m_ConfigInfo.m_DefaultBossBodyTime = 0;
- this->m_ConfigInfo.m_OutGhostTime = 0;
- this->m_ConfigInfo.m_DefaultMoveSpeed = 2800;
- this->m_ConfigInfo.m_DefaultAttackSpeed = 2000;
- this->m_ConfigInfo.m_HumanVERecoverInterval = 300000;
- this->m_ConfigInfo.m_HumanMaxDefualtLevel = 150;
- this->m_ConfigInfo.m_PetMaxDefaultLevel = 155;
- this->m_ConfigInfo.m_MonsterMaxDefaultLevel = 200;
- this->m_ConfigInfo.m_MaxLevelGAP = 200;
- this->m_ConfigInfo.m_ExpTblItemCount = 401;
- this->m_ConfigInfo.m_XinfaMaxDefaultLevel = 170;
- this->m_ConfigInfo.m_fPetDieReduceLift = 0.2;
- this->m_ConfigInfo.m_PKValueRefreshRate = 3600;
- this->m_ConfigInfo.m_nHumanDefPilferLockTime = 180000;
- this->m_ConfigInfo.m_DefaultRefreshRate = 60000;
- this->m_ConfigInfo.m_DefaultCheckZoneRate = 1000;
- this->m_ConfigInfo.m_OddsOfChangeTarget = 20;
- this->m_ConfigInfo.m_OddsOfAttackAssistant = 20;
- this->m_ConfigInfo.m_ChangeTargetCooldown = 5000;
- this->m_ConfigInfo.m_nAvailableFollowDist = 15;
- this->m_ConfigInfo.m_nTimeForLoseFollow = 30;
- this->m_ConfigInfo.m_nFoundDurationHour = 24;
- this->m_ConfigInfo.m_nDefaultMaxMemberCount = 160;
- this->m_ConfigInfo.m_nResponseUserCount = 10;
- this->m_ConfigInfo.m_nPasswdPoint = 0;
- this->m_ConfigInfo.m_fGoodBadRadius = 15.0;
- this->m_ConfigInfo.m_fRateA = 0.0;
- this->m_ConfigInfo.m_fRateB = 0.0;
- this->m_ConfigInfo.m_nPromptPoint = 0;
- this->m_ConfigInfo.m_nDeleteDelayTime = 0;
- this->m_ConfigInfo.m_nEnergySetCost = 0;
- this->m_ConfigInfo.m_nEnergyModifyCost = 0;
- this->m_ConfigInfo.m_nEnergyDelCost = 0;
- this->m_ConfigInfo.m_nMaxInputErrTimesPerDay = 5;
- this->m_ConfigInfo.m_nPWUnlockTime = 0;
- this->m_ConfigInfo.m_nExpPoint = 0;
- this->m_ConfigInfo.m_nHashOnlineUserCount = 1000;
- this->m_ConfigInfo.m_nHashMailUserCount = 1000;
- this->m_ConfigInfo.m_nMaxOfflineUserCount = 0;
- this->m_ConfigInfo.m_nSpeakerPoolMax = 0;
- this->m_ConfigInfo.m_fRespawnParam = 1.0;
- this->m_ConfigInfo.m_KickUserTime = 300000;
- this->m_ConfigInfo.m_nLanguage = -1;
- this->m_ConfigInfo.m_SMU_KickUserTime = 300000;
- this->m_ConfigInfo.m_nDefaultDamageFluctuation = 10;
- this->m_ConfigInfo.m_nMinGoodBadValue = 0;
- this->m_ConfigInfo.m_nMaxGoodBadValue = 1000000;
- this->m_ConfigInfo.m_nLevelNeeded = 30;
- this->m_ConfigInfo.m_nMemberLevel = 10;
- this->m_ConfigInfo.m_nMemberLevelLimit = 40;
- this->m_ConfigInfo.m_nMemverLevelDis = 8;
- this->m_ConfigInfo.m_nBonusPerMember = 5;
- this->m_ConfigInfo.m_nBonusPerPrentice = 1;
- this->m_ConfigInfo.m_nMaxBonus = 10;
- this->m_ConfigInfo.m_nPenaltyWhenMemberDie = 10;
- this->m_ConfigInfo.m_nDuelEnergyRequire = 100;
- this->m_ConfigInfo.m_nDuelTime = 600;
- this->m_ConfigInfo.m_nDuelLevelRequire = 10;
- this->m_ConfigInfo.m_fNewServerSaleRate = 1.0;
- this->m_ConfigInfo.m_ExpSpouseAddRate = 0.039999999;
- this->m_ConfigInfo.m_ExpBrotherAddRate = 0.02;
- this->m_ConfigInfo.m_ExpMasterNotInTeamAddRate = 0.1;
- this->m_ConfigInfo.m_ExpPrenticeAddRate = 0.050000001;
- this->m_ConfigInfo.m_ExpDarkAbsorbRate = 0.0099999998;
- this->m_ConfigInfo.m_AssistantDemandFormulaParam0 = 1.5140001;
- this->m_ConfigInfo.m_AssistantDemandFormulaParam1 = 19.0;
- this->m_ConfigInfo.m_AssistantDemandFormulaParam3 = 37.099998;
- this->m_ConfigInfo.m_YuanBaoSceneID = -1;
- this->m_ConfigInfo.m_YuanBaoTicketMax = 1000;
- this->m_ConfigInfo.m_nPersonalWarfareTime = 600;
- this->m_ConfigInfo.m_nPKFlagSwitchDelay = 600;
- this->m_ConfigInfo.m_nPkRefixOfDamage = 100;
- this->m_ConfigInfo.m_nHostilePlayerWarning = 600;
- this->m_ConfigInfo.m_nLegalFightBackTime = 600;
- this->m_ConfigInfo.m_ExpParam = 1.0;
- this->m_ConfigInfo.m_ExpMasterInTeamAddRate = 0.2;
- this->m_ConfigInfo.m_AssistantDemandFormulaParam2 = 0.2;
- this->m_ConfigInfo.m_EnableFatigueState = 0;
- this->m_ConfigInfo.m_LittleFatigueTime = 10800;
- this->m_ConfigInfo.m_ExceedingFatigueTime = 18000;
- this->m_ConfigInfo.m_ResetFatigueStateOfflineTime = 18000;
- this->m_ConfigInfo.m_XianYaMaxUser[0] = 40;
- this->m_ConfigInfo.m_XianYaMaxUser[1] = 50;
- this->m_ConfigInfo.m_XianYaMaxUser[2] = 60;
- this->m_ConfigInfo.m_XianYaMaxUser[3] = 70;
- this->m_ConfigInfo.m_XianYaMaxUser[4] = 80;
- this->m_ConfigInfo.m_XianYaStdMoney[0] = 1000000;
- this->m_ConfigInfo.m_XianYaStdMoney[1] = 2000000;
- this->m_ConfigInfo.m_XianYaStdMoney[2] = 4000000;
- this->m_ConfigInfo.m_XianYaStdMoney[3] = 8000000;
- this->m_ConfigInfo.m_XianYaStdMoney[4] = 16000000;
- this->m_ConfigInfo.m_XianYaMaxMoney[0] = 10000000;
- this->m_ConfigInfo.m_XianYaMaxMoney[1] = 20000000;
- v1 = 0;
- this->m_ConfigInfo.m_XianYaMaxMoney[2] = 40000000;
- this->m_ConfigInfo.m_XianYaMaxMoney[3] = 60000000;
- this->m_ConfigInfo.m_XianYaMaxMoney[4] = 80000000;
- this->m_ConfigInfo.m_QianZhuangDeltaMoney[0] = 500000;
- this->m_ConfigInfo.m_QianZhuangDeltaMoney[1] = 1000000;
- this->m_ConfigInfo.m_QianZhuangDeltaMoney[2] = 2000000;
- this->m_ConfigInfo.m_QianZhuangDeltaMoney[3] = 4000000;
- this->m_ConfigInfo.m_QianZhuangDeltaMoney[4] = 8000000;
- this->m_ConfigInfo.m_XianYaMaxTrader[0] = 4;
- this->m_ConfigInfo.m_XianYaMaxTrader[1] = 5;
- this->m_ConfigInfo.m_XianYaMaxTrader[2] = 6;
- this->m_ConfigInfo.m_XianYaMaxTrader[3] = 7;
- this->m_ConfigInfo.m_XianYaMaxTrader[4] = 8;
- this->m_ConfigInfo.m_XiangFangMaxUser[0] = 30;
- this->m_ConfigInfo.m_XiangFangMaxUser[1] = 50;
- this->m_ConfigInfo.m_XiangFangMaxUser[2] = 80;
- this->m_ConfigInfo.m_XiangFangMaxUser[3] = 120;
- this->m_ConfigInfo.m_XiangFangMaxUser[4] = 180;
- this->m_ConfigInfo.m_CreateCityMoney = 10000000;
- this->m_ConfigInfo.m_uBattleTime = 120;
- this->m_ConfigInfo.m_bLeftGuildBuffEnable = 1;
- this->m_ConfigInfo.m_uLeaveWordCost = 1000;
- this->m_ConfigInfo.m_uMaxDayCostYuanBao = 0xFFFFFF;
- this->m_ConfigInfo.m_uSendBackTime = 21600;
- this->m_ConfigInfo.m_nYuanbaoFee = 2;
- this->m_ConfigInfo.m_nGoldCoinFee = 2;
- this->m_ConfigInfo.m_IsCloseYuanBaoSell = 0;
- this->m_ConfigInfo.m_IsCloseGoldCoinSell = 0;
- this->m_ConfigInfo.m_uMinExchangeCodeLevel = 1;
- this->m_ConfigInfo.m_uMaxExchangeCodeLevel = 10;
- this->m_ConfigInfo.m_MaxGuildLeagueNum = 255;
- this->m_ConfigInfo.m_TimeAfterQuitLeague = 72;
- this->m_ConfigInfo.m_CreateLeagueMoney = 100;
- do
- this->m_ConfigInfo.m_anCSIValue[v1++] = 10000000;
- while ( v1 <= 5 );
- this->m_ConfigInfo.m_fBoomScaleAll = 0.86510003;
- this->m_ConfigInfo.m_fBoomScaleAttrInc = 0.035;
- this->m_ConfigInfo.m_fBoomScaleAvgBoom = 0.045000002;
- this->m_ConfigInfo.m_fBoomScaleAmb = 0.40000001;
- this->m_ConfigInfo.m_fLittleIncomePercent = 0.5;
- this->m_ConfigInfo.m_fBoomScaleOnLineCount = 0.5;
- this->m_ConfigInfo.m_fBoomScaleArg = 1.6;
- this->m_ConfigInfo.m_fBoomScaleCom = 1.6;
- this->m_ConfigInfo.m_fBoomScaleInd = 1.6;
- v2 = &this->m_LoginInfo;
- this->m_ConfigInfo.m_fBoomScaleDef = 0.80000001;
- this->m_ConfigInfo.m_fBoomScaleTec = 0.80000001;
- this->m_ConfigInfo.m_uLittleIncomeMonsterCount = 800;
- this->m_ConfigInfo.m_uNilIncomeMonsterCount = 1200;
- this->m_ConfigInfo.m_LogInCacheTime = 1;
- this->m_ConfigInfo.m_WarnningPer10M = 60;
- this->m_ConfigInfo.m_WarnningPerHour = 240;
- this->m_ConfigInfo.m_FreezePer10M = 200;
- this->m_ConfigInfo.m_FreezePerHour = 720;
- this->m_ConfigInfo.m_HourPoint01 = 0;
- this->m_ConfigInfo.m_HourPoint02 = 0;
- this->m_ConfigInfo.m_HourPoint03 = 0;
- this->m_ConfigInfo.m_IsActiveCard = 0;
- this->m_ConfigInfo.m_IsActiveCard666 = 0;
- this->m_ConfigInfo.m_IsJoinBangPaiNotice = 0;
- this->m_ConfigInfo.m_LevelUpValidateMinLv = 14;
- this->m_ConfigInfo.m_LevelUpValidateMaxLv = 25;
- this->m_ConfigInfo.m_PetFriendsItem = 1024;
- this->m_ConfigInfo.m_nBoomMaxValue = 999;
- this->m_ConfigInfo.m_fBoomScaleComMisson = 1.0;
- this->m_ConfigInfo.m_uTicketDecValue = 136;
- this->m_ConfigInfo.m_IsEnableYuanBaoPiao = 0;
- this->m_ConfigInfo.m_LevelMinGetPiao = 1;
- this->m_ConfigInfo.m_GuildComMissonWaiGua = 1;
- this->m_ConfigInfo.m_ValidateXianYaLevel = 0;
- this->m_ConfigInfo.m_bAutoRemoveBadPet = 0;
- v2->CryptPwd = 0;
- v2->ProxyConnect = 0;
- v2->EnableLicense = 0;
- v2->ReLoginLimit = 1;
- v2->ReLoginStop = 1;
- v2->NotifySafeSign = 1;
- v3 = &this->m_WorldInfo;
- v3->m_EnableShareMem = 0;
- this->m_LoginInfo.m_LoginID = -1;
- v3->m_GuildKey = 0;
- v3->m_WorldID = -1;
- v3->m_MailKey = 0;
- v3->m_PetCreateKey = 0;
- v3->m_CityKey = 0;
- v3->m_GlobalDataKey = 0;
- v3->m_LeagueKey = 0;
- v3->m_FindFriendADKey = 0;
- v4 = 0;
- this->m_MachineInfo.m_MachineCount = 0;
- this->m_WorldInfo.m_ZoneID = 0;
- this->m_MachineInfo.m_pMachine = 0;
- memset(&this->m_ServerInfo.m_World, 0, 0x18u);
- this->m_ServerInfo.m_World.m_Port = 0;
- memset(&this->m_ServerInfo.m_Mother, 0, 0x18u);
- v5 = &this->m_ServerInfo;
- this->m_ServerInfo.m_Mother.m_Port = 0;
- this->m_ServerInfo.m_ServerID = -1;
- v5->m_pServer = 0;
- v5->m_ServerCount = 0;
- do
- v5->m_HashServer[v4++] = -1;
- while ( v4 <= 255 );
- this->m_ServerInfo.m_bEnableEffAudit = 0;
- this->m_ServerInfo.m_uiSaveResultInterval = 0;
- this->m_ServerInfo.m_uiReportInterval = 0;
- this->m_ServerInfo.m_idEnableEffSceneID_1ST = -1;
- this->m_ServerInfo.m_idEnableEffSceneID_2ND = -1;
- this->m_ServerInfo.m_idEnableEffSceneID_3RD = -1;
- this->m_SceneInfo.m_SceneCount = 0;
- this->m_SceneInfo.m_pScene = 0;
- this->m_ShareMemInfo.m_pShareData = 0;
- this->m_ShareMemInfo.m_SMUObjCount = 0;
- memset(this->m_ShareMemInfo.m_DBIP, 0, sizeof(this->m_ShareMemInfo.m_DBIP));
- this->m_ShareMemInfo.m_DBPort = -1;
- memset(this->m_ShareMemInfo.m_DBName, 0, 0x80u);
- memset(this->m_ShareMemInfo.m_DBUser, 0, sizeof(this->m_ShareMemInfo.m_DBUser));
- memset(this->m_ShareMemInfo.m_DBPassword, 0, 0x100u);
- v6 = &this->m_BillingInfo;
- this->m_ShareMemInfo.SMUInterval = 60;
- this->m_ShareMemInfo.DATAInterval = 300000;
- this->m_ShareMemInfo.CryptPwd = 0;
- v6->m_pInfo = 0;
- v6->m_nNumber = 0;
- v6->m_nCur = 0;
- v6->m_bUse = 0;
- this->m_BillingInfo._vptr__BILLING_INFO = (int (**)(...))off_80BD1D0;
- memset(&this->m_InternalIpofProxy, 0, 0x30u);
- memset(this->m_InternalIpofProxy.m_szProxyForCtcUser, 0, sizeof(this->m_InternalIpofProxy.m_szProxyForCtcUser));
- memset(this->m_InternalIpofProxy.m_szProxyForEduUser, 0, sizeof(this->m_InternalIpofProxy.m_szProxyForEduUser));
- }
- // 80BD1D0: using guessed type _DWORD (__cdecl *off_80BD1D0[2])(_BILLING_INFO *this);
- //----- (0805188C) --------------------------------------------------------
- void __cdecl Config::Config(Config *const this)
- {
- signed int v1; // eax
- _LOGIN_INFO *v2; // eax
- _WORLD_INFO *v3; // eax
- signed int v4; // eax
- _SERVER_INFO *v5; // edx
- _BILLING_INFO *v6; // eax
- this->m_ConfigInfo.m_GodReliveTopLevel = 30;
- this->m_ConfigInfo.m_ZoneSize = 10;
- this->m_ConfigInfo.m_EquipmentDamagePoint = 1000;
- this->m_ConfigInfo.m_RecoverTime = 1000;
- this->m_ConfigInfo.m_MaxMonster = 1000;
- this->m_ConfigInfo.m_MaxPet = 1000;
- this->m_ConfigInfo.m_PetBodyTime = 2000;
- this->m_ConfigInfo.m_PetHappinessInterval = 600000;
- this->m_ConfigInfo.m_PetLifeInterval = 1800000;
- this->m_ConfigInfo.m_PetDecLifeStep = 8;
- this->m_ConfigInfo.m_PetCallUpHappiness = 60;
- this->m_ConfigInfo.m_PetPlacardTime = 1800000;
- this->m_ConfigInfo.m_DefaultRespawnTime = 300000;
- this->m_ConfigInfo.m_DropBoxRecycleTime = 300000;
- this->m_ConfigInfo.m_TimeChangeInterval = 300000;
- this->m_ConfigInfo.m_PacketAuditTime = 0;
- this->m_ConfigInfo.m_PositionRange = 10;
- this->m_ConfigInfo.m_AIType = 1;
- this->m_ConfigInfo.m_DisconnectTime = 0;
- this->m_ConfigInfo.m_DisconnectTime2 = 0;
- memset(this->m_ConfigInfo.m_UserPath, 0, 0x104u);
- this->m_ConfigInfo.m_CanGetExpRange = 30.0;
- this->m_ConfigInfo.m_MaxPortal = 0;
- this->m_ConfigInfo.m_MaxPlatform = 0;
- this->m_ConfigInfo.m_MaxSpecial = 1024;
- this->m_ConfigInfo.m_MaxBus = 1024;
- this->m_ConfigInfo.m_MaxPlayerShopNum = 512;
- this->m_ConfigInfo.m_PaymentPerHour = 0;
- this->m_ConfigInfo.m_MaxSkillObj = 1024;
- this->m_ConfigInfo.m_DefaultBodyTime = 0;
- this->m_ConfigInfo.m_DefaultBossBodyTime = 0;
- this->m_ConfigInfo.m_OutGhostTime = 0;
- this->m_ConfigInfo.m_DefaultMoveSpeed = 2800;
- this->m_ConfigInfo.m_DefaultAttackSpeed = 2000;
- this->m_ConfigInfo.m_HumanVERecoverInterval = 300000;
- this->m_ConfigInfo.m_HumanMaxDefualtLevel = 150;
- this->m_ConfigInfo.m_PetMaxDefaultLevel = 155;
- this->m_ConfigInfo.m_MonsterMaxDefaultLevel = 200;
- this->m_ConfigInfo.m_MaxLevelGAP = 200;
- this->m_ConfigInfo.m_ExpTblItemCount = 401;
- this->m_ConfigInfo.m_XinfaMaxDefaultLevel = 170;
- this->m_ConfigInfo.m_fPetDieReduceLift = 0.2;
- this->m_ConfigInfo.m_PKValueRefreshRate = 3600;
- this->m_ConfigInfo.m_nHumanDefPilferLockTime = 180000;
- this->m_ConfigInfo.m_DefaultRefreshRate = 60000;
- this->m_ConfigInfo.m_DefaultCheckZoneRate = 1000;
- this->m_ConfigInfo.m_OddsOfChangeTarget = 20;
- this->m_ConfigInfo.m_OddsOfAttackAssistant = 20;
- this->m_ConfigInfo.m_ChangeTargetCooldown = 5000;
- this->m_ConfigInfo.m_nAvailableFollowDist = 15;
- this->m_ConfigInfo.m_nTimeForLoseFollow = 30;
- this->m_ConfigInfo.m_nFoundDurationHour = 24;
- this->m_ConfigInfo.m_nDefaultMaxMemberCount = 160;
- this->m_ConfigInfo.m_nResponseUserCount = 10;
- this->m_ConfigInfo.m_nPasswdPoint = 0;
- this->m_ConfigInfo.m_fGoodBadRadius = 15.0;
- this->m_ConfigInfo.m_fRateA = 0.0;
- this->m_ConfigInfo.m_fRateB = 0.0;
- this->m_ConfigInfo.m_nPromptPoint = 0;
- this->m_ConfigInfo.m_nDeleteDelayTime = 0;
- this->m_ConfigInfo.m_nEnergySetCost = 0;
- this->m_ConfigInfo.m_nEnergyModifyCost = 0;
- this->m_ConfigInfo.m_nEnergyDelCost = 0;
- this->m_ConfigInfo.m_nMaxInputErrTimesPerDay = 5;
- this->m_ConfigInfo.m_nPWUnlockTime = 0;
- this->m_ConfigInfo.m_nExpPoint = 0;
- this->m_ConfigInfo.m_nHashOnlineUserCount = 1000;
- this->m_ConfigInfo.m_nHashMailUserCount = 1000;
- this->m_ConfigInfo.m_nMaxOfflineUserCount = 0;
- this->m_ConfigInfo.m_nSpeakerPoolMax = 0;
- this->m_ConfigInfo.m_fRespawnParam = 1.0;
- this->m_ConfigInfo.m_KickUserTime = 300000;
- this->m_ConfigInfo.m_nLanguage = -1;
- this->m_ConfigInfo.m_SMU_KickUserTime = 300000;
- this->m_ConfigInfo.m_nDefaultDamageFluctuation = 10;
- this->m_ConfigInfo.m_nMinGoodBadValue = 0;
- this->m_ConfigInfo.m_nMaxGoodBadValue = 1000000;
- this->m_ConfigInfo.m_nLevelNeeded = 30;
- this->m_ConfigInfo.m_nMemberLevel = 10;
- this->m_ConfigInfo.m_nMemberLevelLimit = 40;
- this->m_ConfigInfo.m_nMemverLevelDis = 8;
- this->m_ConfigInfo.m_nBonusPerMember = 5;
- this->m_ConfigInfo.m_nBonusPerPrentice = 1;
- this->m_ConfigInfo.m_nMaxBonus = 10;
- this->m_ConfigInfo.m_nPenaltyWhenMemberDie = 10;
- this->m_ConfigInfo.m_nDuelEnergyRequire = 100;
- this->m_ConfigInfo.m_nDuelTime = 600;
- this->m_ConfigInfo.m_nDuelLevelRequire = 10;
- this->m_ConfigInfo.m_fNewServerSaleRate = 1.0;
- this->m_ConfigInfo.m_ExpSpouseAddRate = 0.039999999;
- this->m_ConfigInfo.m_ExpBrotherAddRate = 0.02;
- this->m_ConfigInfo.m_ExpMasterNotInTeamAddRate = 0.1;
- this->m_ConfigInfo.m_ExpPrenticeAddRate = 0.050000001;
- this->m_ConfigInfo.m_ExpDarkAbsorbRate = 0.0099999998;
- this->m_ConfigInfo.m_AssistantDemandFormulaParam0 = 1.5140001;
- this->m_ConfigInfo.m_AssistantDemandFormulaParam1 = 19.0;
- this->m_ConfigInfo.m_AssistantDemandFormulaParam3 = 37.099998;
- this->m_ConfigInfo.m_YuanBaoSceneID = -1;
- this->m_ConfigInfo.m_YuanBaoTicketMax = 1000;
- this->m_ConfigInfo.m_nPersonalWarfareTime = 600;
- this->m_ConfigInfo.m_nPKFlagSwitchDelay = 600;
- this->m_ConfigInfo.m_nPkRefixOfDamage = 100;
- this->m_ConfigInfo.m_nHostilePlayerWarning = 600;
- this->m_ConfigInfo.m_nLegalFightBackTime = 600;
- this->m_ConfigInfo.m_ExpParam = 1.0;
- this->m_ConfigInfo.m_ExpMasterInTeamAddRate = 0.2;
- this->m_ConfigInfo.m_AssistantDemandFormulaParam2 = 0.2;
- this->m_ConfigInfo.m_EnableFatigueState = 0;
- this->m_ConfigInfo.m_LittleFatigueTime = 10800;
- this->m_ConfigInfo.m_ExceedingFatigueTime = 18000;
- this->m_ConfigInfo.m_ResetFatigueStateOfflineTime = 18000;
- this->m_ConfigInfo.m_XianYaMaxUser[0] = 40;
- this->m_ConfigInfo.m_XianYaMaxUser[1] = 50;
- this->m_ConfigInfo.m_XianYaMaxUser[2] = 60;
- this->m_ConfigInfo.m_XianYaMaxUser[3] = 70;
- this->m_ConfigInfo.m_XianYaMaxUser[4] = 80;
- this->m_ConfigInfo.m_XianYaStdMoney[0] = 1000000;
- this->m_ConfigInfo.m_XianYaStdMoney[1] = 2000000;
- this->m_ConfigInfo.m_XianYaStdMoney[2] = 4000000;
- this->m_ConfigInfo.m_XianYaStdMoney[3] = 8000000;
- this->m_ConfigInfo.m_XianYaStdMoney[4] = 16000000;
- this->m_ConfigInfo.m_XianYaMaxMoney[0] = 10000000;
- this->m_ConfigInfo.m_XianYaMaxMoney[1] = 20000000;
- v1 = 0;
- this->m_ConfigInfo.m_XianYaMaxMoney[2] = 40000000;
- this->m_ConfigInfo.m_XianYaMaxMoney[3] = 60000000;
- this->m_ConfigInfo.m_XianYaMaxMoney[4] = 80000000;
- this->m_ConfigInfo.m_QianZhuangDeltaMoney[0] = 500000;
- this->m_ConfigInfo.m_QianZhuangDeltaMoney[1] = 1000000;
- this->m_ConfigInfo.m_QianZhuangDeltaMoney[2] = 2000000;
- this->m_ConfigInfo.m_QianZhuangDeltaMoney[3] = 4000000;
- this->m_ConfigInfo.m_QianZhuangDeltaMoney[4] = 8000000;
- this->m_ConfigInfo.m_XianYaMaxTrader[0] = 4;
- this->m_ConfigInfo.m_XianYaMaxTrader[1] = 5;
- this->m_ConfigInfo.m_XianYaMaxTrader[2] = 6;
- this->m_ConfigInfo.m_XianYaMaxTrader[3] = 7;
- this->m_ConfigInfo.m_XianYaMaxTrader[4] = 8;
- this->m_ConfigInfo.m_XiangFangMaxUser[0] = 30;
- this->m_ConfigInfo.m_XiangFangMaxUser[1] = 50;
- this->m_ConfigInfo.m_XiangFangMaxUser[2] = 80;
- this->m_ConfigInfo.m_XiangFangMaxUser[3] = 120;
- this->m_ConfigInfo.m_XiangFangMaxUser[4] = 180;
- this->m_ConfigInfo.m_CreateCityMoney = 10000000;
- this->m_ConfigInfo.m_uBattleTime = 120;
- this->m_ConfigInfo.m_bLeftGuildBuffEnable = 1;
- this->m_ConfigInfo.m_uLeaveWordCost = 1000;
- this->m_ConfigInfo.m_uMaxDayCostYuanBao = 0xFFFFFF;
- this->m_ConfigInfo.m_uSendBackTime = 21600;
- this->m_ConfigInfo.m_nYuanbaoFee = 2;
- this->m_ConfigInfo.m_nGoldCoinFee = 2;
- this->m_ConfigInfo.m_IsCloseYuanBaoSell = 0;
- this->m_ConfigInfo.m_IsCloseGoldCoinSell = 0;
- this->m_ConfigInfo.m_uMinExchangeCodeLevel = 1;
- this->m_ConfigInfo.m_uMaxExchangeCodeLevel = 10;
- this->m_ConfigInfo.m_MaxGuildLeagueNum = 255;
- this->m_ConfigInfo.m_TimeAfterQuitLeague = 72;
- this->m_ConfigInfo.m_CreateLeagueMoney = 100;
- do
- this->m_ConfigInfo.m_anCSIValue[v1++] = 10000000;
- while ( v1 <= 5 );
- this->m_ConfigInfo.m_fBoomScaleAll = 0.86510003;
- this->m_ConfigInfo.m_fBoomScaleAttrInc = 0.035;
- this->m_ConfigInfo.m_fBoomScaleAvgBoom = 0.045000002;
- this->m_ConfigInfo.m_fBoomScaleAmb = 0.40000001;
- this->m_ConfigInfo.m_fLittleIncomePercent = 0.5;
- this->m_ConfigInfo.m_fBoomScaleOnLineCount = 0.5;
- this->m_ConfigInfo.m_fBoomScaleArg = 1.6;
- this->m_ConfigInfo.m_fBoomScaleCom = 1.6;
- this->m_ConfigInfo.m_fBoomScaleInd = 1.6;
- v2 = &this->m_LoginInfo;
- this->m_ConfigInfo.m_fBoomScaleDef = 0.80000001;
- this->m_ConfigInfo.m_fBoomScaleTec = 0.80000001;
- this->m_ConfigInfo.m_uLittleIncomeMonsterCount = 800;
- this->m_ConfigInfo.m_uNilIncomeMonsterCount = 1200;
- this->m_ConfigInfo.m_LogInCacheTime = 1;
- this->m_ConfigInfo.m_WarnningPer10M = 60;
- this->m_ConfigInfo.m_WarnningPerHour = 240;
- this->m_ConfigInfo.m_FreezePer10M = 200;
- this->m_ConfigInfo.m_FreezePerHour = 720;
- this->m_ConfigInfo.m_HourPoint01 = 0;
- this->m_ConfigInfo.m_HourPoint02 = 0;
- this->m_ConfigInfo.m_HourPoint03 = 0;
- this->m_ConfigInfo.m_IsActiveCard = 0;
- this->m_ConfigInfo.m_IsActiveCard666 = 0;
- this->m_ConfigInfo.m_IsJoinBangPaiNotice = 0;
- this->m_ConfigInfo.m_LevelUpValidateMinLv = 14;
- this->m_ConfigInfo.m_LevelUpValidateMaxLv = 25;
- this->m_ConfigInfo.m_PetFriendsItem = 1024;
- this->m_ConfigInfo.m_nBoomMaxValue = 999;
- this->m_ConfigInfo.m_fBoomScaleComMisson = 1.0;
- this->m_ConfigInfo.m_uTicketDecValue = 136;
- this->m_ConfigInfo.m_IsEnableYuanBaoPiao = 0;
- this->m_ConfigInfo.m_LevelMinGetPiao = 1;
- this->m_ConfigInfo.m_GuildComMissonWaiGua = 1;
- this->m_ConfigInfo.m_ValidateXianYaLevel = 0;
- this->m_ConfigInfo.m_bAutoRemoveBadPet = 0;
- v2->CryptPwd = 0;
- v2->ProxyConnect = 0;
- v2->EnableLicense = 0;
- v2->ReLoginLimit = 1;
- v2->ReLoginStop = 1;
- v2->NotifySafeSign = 1;
- v3 = &this->m_WorldInfo;
- v3->m_EnableShareMem = 0;
- this->m_LoginInfo.m_LoginID = -1;
- v3->m_GuildKey = 0;
- v3->m_WorldID = -1;
- v3->m_MailKey = 0;
- v3->m_PetCreateKey = 0;
- v3->m_CityKey = 0;
- v3->m_GlobalDataKey = 0;
- v3->m_LeagueKey = 0;
- v3->m_FindFriendADKey = 0;
- v4 = 0;
- this->m_MachineInfo.m_MachineCount = 0;
- this->m_WorldInfo.m_ZoneID = 0;
- this->m_MachineInfo.m_pMachine = 0;
- memset(&this->m_ServerInfo.m_World, 0, 0x18u);
- this->m_ServerInfo.m_World.m_Port = 0;
- memset(&this->m_ServerInfo.m_Mother, 0, 0x18u);
- v5 = &this->m_ServerInfo;
- this->m_ServerInfo.m_Mother.m_Port = 0;
- this->m_ServerInfo.m_ServerID = -1;
- v5->m_pServer = 0;
- v5->m_ServerCount = 0;
- do
- v5->m_HashServer[v4++] = -1;
- while ( v4 <= 255 );
- this->m_ServerInfo.m_bEnableEffAudit = 0;
- this->m_ServerInfo.m_uiSaveResultInterval = 0;
- this->m_ServerInfo.m_uiReportInterval = 0;
- this->m_ServerInfo.m_idEnableEffSceneID_1ST = -1;
- this->m_SceneInfo.m_SceneCount = 0;
- this->m_ServerInfo.m_idEnableEffSceneID_2ND = -1;
- this->m_ServerInfo.m_idEnableEffSceneID_3RD = -1;
- this->m_SceneInfo.m_pScene = 0;
- this->m_ShareMemInfo.m_pShareData = 0;
- this->m_ShareMemInfo.m_SMUObjCount = 0;
- memset(this->m_ShareMemInfo.m_DBIP, 0, sizeof(this->m_ShareMemInfo.m_DBIP));
- this->m_ShareMemInfo.m_DBPort = -1;
- memset(this->m_ShareMemInfo.m_DBName, 0, 0x80u);
- memset(this->m_ShareMemInfo.m_DBUser, 0, sizeof(this->m_ShareMemInfo.m_DBUser));
- memset(this->m_ShareMemInfo.m_DBPassword, 0, 0x100u);
- v6 = &this->m_BillingInfo;
- this->m_ShareMemInfo.SMUInterval = 60;
- this->m_ShareMemInfo.DATAInterval = 300000;
- this->m_ShareMemInfo.CryptPwd = 0;
- v6->m_pInfo = 0;
- v6->m_nNumber = 0;
- v6->m_nCur = 0;
- v6->m_bUse = 0;
- this->m_BillingInfo._vptr__BILLING_INFO = (int (**)(...))off_80BD1D0;
- memset(&this->m_InternalIpofProxy, 0, 0x30u);
- memset(this->m_InternalIpofProxy.m_szProxyForCtcUser, 0, sizeof(this->m_InternalIpofProxy.m_szProxyForCtcUser));
- memset(this->m_InternalIpofProxy.m_szProxyForEduUser, 0, sizeof(this->m_InternalIpofProxy.m_szProxyForEduUser));
- }
- // 80BD1D0: using guessed type _DWORD (__cdecl *off_80BD1D0[2])(_BILLING_INFO *this);
- //----- (0805224C) --------------------------------------------------------
- void __cdecl Config::~Config(Config *const this)
- {
- _BILLING_DATA **v1; // ecx
- INT v2; // eax
- INT v3; // esi
- _BILLING_DATA *v4; // edx
- _SERVER_DATA *v5; // ebx
- int v6; // ecx
- int v7; // eax
- _MACHINE_DATA *v8; // eax
- v1 = this->m_BillingInfo.m_pInfo;
- this->m_BillingInfo._vptr__BILLING_INFO = (int (**)(...))off_80BD1D0;
- if ( v1 )
- {
- v2 = this->m_BillingInfo.m_nNumber;
- if ( v2 > 0 )
- {
- v3 = 0;
- do
- {
- v4 = v1[v3];
- if ( v4 )
- {
- (*((void (__cdecl **)(_BILLING_DATA *))v4->_vptr__BILLING_DATA + 1))(v1[v3]);
- v1 = this->m_BillingInfo.m_pInfo;
- v2 = this->m_BillingInfo.m_nNumber;
- v1[v3] = 0;
- }
- ++v3;
- }
- while ( v2 > v3 );
- if ( v1 )
- operator delete[](v1);
- this->m_BillingInfo.m_pInfo = 0;
- }
- }
- this->m_BillingInfo.m_nNumber = 0;
- this->m_BillingInfo.m_nCur = 0;
- this->m_BillingInfo.m_bUse = 0;
- if ( this->m_ShareMemInfo.m_pShareData )
- {
- operator delete[](this->m_ShareMemInfo.m_pShareData);
- this->m_ShareMemInfo.m_pShareData = 0;
- }
- if ( this->m_SceneInfo.m_pScene )
- {
- operator delete[](this->m_SceneInfo.m_pScene);
- this->m_SceneInfo.m_pScene = 0;
- }
- this->m_SceneInfo.m_SceneCount = 0;
- v5 = this->m_ServerInfo.m_pServer;
- if ( v5 )
- {
- v6 = (int)&v5[v5[-1].m_EnableShareMem];
- while ( v5 != (_SERVER_DATA *)v6 )
- {
- while ( 1 )
- {
- v6 -= 192;
- if ( v6 == -64 )
- break;
- v7 = v6 + 172;
- if ( v6 + 64 == v6 + 172 )
- break;
- do
- v7 -= 36;
- while ( v6 + 64 != v7 );
- if ( v5 == (_SERVER_DATA *)v6 )
- goto LABEL_21;
- }
- }
- LABEL_21:
- operator delete[](&v5[-1].m_EnableShareMem);
- this->m_ServerInfo.m_pServer = 0;
- }
- v8 = this->m_MachineInfo.m_pMachine;
- this->m_ServerInfo.m_ServerCount = 0;
- if ( v8 )
- {
- operator delete[](v8);
- this->m_MachineInfo.m_pMachine = 0;
- }
- this->m_MachineInfo.m_MachineCount = 0;
- }
- // 80BD1D0: using guessed type _DWORD (__cdecl *off_80BD1D0[2])(_BILLING_INFO *this);
- //----- (080524C2) --------------------------------------------------------
- void __usercall sub_80524C2(void *a1@<eax>, int a2@<edi>)
- {
- operator delete[](a1);
- *(_DWORD *)(a2 + 1652) = 0;
- JUMPOUT(&loc_805246C);
- }
- //----- (080524DC) --------------------------------------------------------
- void __cdecl Config::~Config(Config *const this)
- {
- _BILLING_DATA **v1; // ecx
- INT v2; // eax
- INT v3; // esi
- _BILLING_DATA *v4; // edx
- _SERVER_DATA *v5; // ebx
- int v6; // ecx
- int v7; // eax
- _MACHINE_DATA *v8; // eax
- v1 = this->m_BillingInfo.m_pInfo;
- this->m_BillingInfo._vptr__BILLING_INFO = (int (**)(...))off_80BD1D0;
- if ( v1 )
- {
- v2 = this->m_BillingInfo.m_nNumber;
- if ( v2 > 0 )
- {
- v3 = 0;
- do
- {
- v4 = v1[v3];
- if ( v4 )
- {
- (*((void (__cdecl **)(_BILLING_DATA *))v4->_vptr__BILLING_DATA + 1))(v1[v3]);
- v1 = this->m_BillingInfo.m_pInfo;
- v2 = this->m_BillingInfo.m_nNumber;
- v1[v3] = 0;
- }
- ++v3;
- }
- while ( v2 > v3 );
- if ( v1 )
- operator delete[](v1);
- this->m_BillingInfo.m_pInfo = 0;
- }
- }
- this->m_BillingInfo.m_nNumber = 0;
- this->m_BillingInfo.m_nCur = 0;
- this->m_BillingInfo.m_bUse = 0;
- if ( this->m_ShareMemInfo.m_pShareData )
- {
- operator delete[](this->m_ShareMemInfo.m_pShareData);
- this->m_ShareMemInfo.m_pShareData = 0;
- }
- if ( this->m_SceneInfo.m_pScene )
- {
- operator delete[](this->m_SceneInfo.m_pScene);
- this->m_SceneInfo.m_pScene = 0;
- }
- this->m_SceneInfo.m_SceneCount = 0;
- v5 = this->m_ServerInfo.m_pServer;
- if ( v5 )
- {
- v6 = (int)&v5[v5[-1].m_EnableShareMem];
- while ( v5 != (_SERVER_DATA *)v6 )
- {
- while ( 1 )
- {
- v6 -= 192;
- if ( v6 == -64 )
- break;
- v7 = v6 + 172;
- if ( v6 + 64 == v6 + 172 )
- break;
- do
- v7 -= 36;
- while ( v6 + 64 != v7 );
- if ( v5 == (_SERVER_DATA *)v6 )
- goto LABEL_21;
- }
- }
- LABEL_21:
- operator delete[](&v5[-1].m_EnableShareMem);
- this->m_ServerInfo.m_pServer = 0;
- }
- v8 = this->m_MachineInfo.m_pMachine;
- this->m_ServerInfo.m_ServerCount = 0;
- if ( v8 )
- {
- operator delete[](v8);
- this->m_MachineInfo.m_pMachine = 0;
- }
- this->m_MachineInfo.m_MachineCount = 0;
- }
- // 80BD1D0: using guessed type _DWORD (__cdecl *off_80BD1D0[2])(_BILLING_INFO *this);
- //----- (08052752) --------------------------------------------------------
- void __usercall sub_8052752(void *a1@<eax>, int a2@<edi>)
- {
- operator delete[](a1);
- *(_DWORD *)(a2 + 1652) = 0;
- JUMPOUT(&loc_80526FC);
- }
- //----- (0805276C) --------------------------------------------------------
- void __cdecl Config::LoadShareMemInfo_ReLoad(Config *const this)
- {
- ;
- }
- //----- (08052774) --------------------------------------------------------
- void __cdecl Config::LoadSceneInfo_ReLoad(Config *const this)
- {
- DiskLog("./Log/Config", "Load SceneInfo.ini ...ReLoad OK! ");
- }
- //----- (080527DC) --------------------------------------------------------
- void __cdecl Config::LoadServerInfo_ReLoad(Config *const this)
- {
- DiskLog("./Log/Config", "Load ServerInfo.ini ...ReLoad OK! ");
- }
- //----- (08052844) --------------------------------------------------------
- void __cdecl Config::LoadMachineInfo_ReLoad(Config *const this)
- {
- DiskLog("./Log/Config", "Load MachineInfo.ini ...ReLoad OK! ");
- }
- //----- (080528AC) --------------------------------------------------------
- void __cdecl Config::LoadBillingInfo_ReLoad(Config *const this)
- {
- DiskLog("./Log/Config", "Load BillingInfo.ini ...ReLoad OK! ");
- }
- //----- (08052914) --------------------------------------------------------
- void __cdecl Config::LoadWorldInfo_ReLoad(Config *const this)
- {
- DiskLog("./Log/Config", "Load WorldInfo.ini ...ReLoad OK! ");
- }
- //----- (0805297C) --------------------------------------------------------
- void __cdecl Config::LoadLoginInfo_Reload(Config *const this)
- {
- DiskLog("./Log/Config", "Load LoginInfo.ini ...ReLoad OK! ");
- }
- //----- (080529E4) --------------------------------------------------------
- void __cdecl Config::LoadConfigInfo_Only(Config *const this)
- {
- INT nValue; // [esp+14h] [ebp-94Ch]
- IniFile ini; // [esp+18h] [ebp-948h]
- IniFile::IniFile((const CHAR *)&ini, "./Config/ConfigInfo.ini");
- nValue = 0;
- if ( IniFile::ReadInt(&ini, "Zone", "ZoneSize", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x5Au,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read Zone::ZoneSize failed!!");
- this->m_ConfigInfo.m_ZoneSize = nValue;
- if ( IniFile::ReadInt(&ini, "Portal", "MaxCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x63u,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read Portal::MaxCount failed!!");
- this->m_ConfigInfo.m_MaxPortal = nValue;
- if ( IniFile::ReadInt(&ini, "SkillObj", "MaxCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x6Bu,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read SkillObj::MaxCount failed!!");
- this->m_ConfigInfo.m_MaxSkillObj = nValue;
- if ( IniFile::ReadInt(&ini, "Platform", "MaxCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x73u,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read Platform::MaxCount failed!!");
- this->m_ConfigInfo.m_MaxPlatform = nValue;
- if ( IniFile::ReadInt(&ini, "SpecialObj", "MaxCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x7Bu,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read SpecialObj::MaxCount failed!!");
- this->m_ConfigInfo.m_MaxSpecial = nValue;
- if ( IniFile::ReadInt(&ini, "BusObj", "MaxCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x83u,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read BusObj::MaxCount failed!!");
- this->m_ConfigInfo.m_MaxBus = nValue;
- if ( IniFile::ReadInt(&ini, "PlayerShop", "MaxCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x8Bu,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read PlayerShop::MaxCount failed!!");
- this->m_ConfigInfo.m_MaxPlayerShopNum = nValue;
- if ( IniFile::ReadInt(&ini, "PlayerShop", "PaymentPerHour", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x94u,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read PlayerShop::PaymentPerHour failed!!");
- this->m_ConfigInfo.m_PaymentPerHour = nValue;
- if ( IniFile::ReadInt(&ini, "SceneTimer", "MaxCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x9Du,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read SceneTimer::MaxCount failed!!");
- this->m_ConfigInfo.m_MaxTimerCount = nValue;
- if ( IniFile::ReadInt(&ini, "HumanTimer", "MaxCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xA5u,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read HumanTimer::MaxCount failed!!");
- this->m_ConfigInfo.m_nMaxHumanUseTimer = nValue;
- if ( IniFile::ReadInt(&ini, "Localization", "Language", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xAEu,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read Localization::Language failed!!");
- if ( (unsigned int)nValue > 8 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xA9u,
- "void Config::LoadConfigInfo_Only()",
- "(nValue>LANGUAGE_INVALID && nValue<LANGUAGE_MAX)",
- "[Config::LoadConfigInfo_Only]: INI: read Localization::Language failed!!");
- this->m_ConfigInfo.m_nLanguage = nValue;
- if ( IniFile::ReadInt(&ini, "CacheLogTime", "LogInCacheTime", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xB7u,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read CacheLogTime::Language failed!!");
- this->m_ConfigInfo.m_LogInCacheTime = nValue;
- if ( IniFile::ReadInt(&ini, "PlayerCountOfScene", "HourPoint01", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xC0u,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read PlayerCountOfScene_HourPoint01::Language failed!!");
- this->m_ConfigInfo.m_HourPoint01 = nValue;
- if ( IniFile::ReadInt(&ini, "PlayerCountOfScene", "HourPoint02", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xC9u,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read PlayerCountOfScene_HourPoint02::Language failed!!");
- this->m_ConfigInfo.m_HourPoint02 = nValue;
- if ( IniFile::ReadInt(&ini, "PlayerCountOfScene", "HourPoint03", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xD2u,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read PlayerCountOfScene_HourPoint03::Language failed!!");
- this->m_ConfigInfo.m_HourPoint03 = nValue;
- if ( IniFile::ReadInt(&ini, "ActiveRichesCard", "IsActiveCard", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xDCu,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read ActiveRichesCard_IsActiveCard::Language failed!!");
- this->m_ConfigInfo.m_IsActiveCard = nValue;
- if ( IniFile::ReadInt(&ini, "ActiveRichesCard", "IsActiveCard666", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xE5u,
- "void Config::LoadConfigInfo_Only()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read ActiveRichesCard_IsActiveCard::Language failed!!");
- this->m_ConfigInfo.m_IsActiveCard666 = nValue;
- DiskLog("./Log/Config", "Load ConfigInfo.ini ...Only OK! ");
- IniFile::~IniFile(&ini);
- }
- //----- (0805300C) --------------------------------------------------------
- void __cdecl Config::LoadConfigInfo_ReLoad(Config *const this)
- {
- unsigned int v1; // eax
- int v2; // ecx
- int v3; // eax
- INT v4; // edx
- unsigned int v5; // eax
- bool v6; // zf
- bool v7; // sf
- unsigned __int8 v8; // of
- unsigned int v9; // eax
- INT i_5; // [esp+14h] [ebp-B1Ch]
- INT i_4; // [esp+18h] [ebp-B18h]
- INT i_3; // [esp+1Ch] [ebp-B14h]
- INT i_2; // [esp+20h] [ebp-B10h]
- INT i_1; // [esp+24h] [ebp-B0Ch]
- INT i_0; // [esp+28h] [ebp-B08h]
- INT i; // [esp+2Ch] [ebp-B04h]
- FLOAT fValue; // [esp+40h] [ebp-AF0h]
- INT nValue; // [esp+44h] [ebp-AECh]
- CHAR szValueText[260]; // [esp+48h] [ebp-AE8h]
- CHAR buf_0[64]; // [esp+158h] [ebp-9D8h]
- CHAR buf[32]; // [esp+198h] [ebp-998h]
- CHAR szText[32]; // [esp+1C8h] [ebp-968h]
- IniFile ini; // [esp+1E8h] [ebp-948h]
- IniFile::IniFile((const CHAR *)&ini, "./Config/ConfigInfo.ini");
- nValue = 0;
- fValue = 0.0;
- if ( IniFile::ReadInt(&ini, "World", "PetFriendsArraySize", &nValue) == 1 )
- {
- this->m_ConfigInfo.m_PetFriendsItem = nValue;
- }
- else
- {
- this->m_ConfigInfo.m_PetFriendsItem = 1024;
- DiskLog("./Log/Config", "Load PetFriendsArraySize Failed Use Default Value 1024 ! ");
- }
- if ( IniFile::ReadText(&ini, "Global", "DropParam", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x113u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Global::DropParam failed!!");
- this->m_ConfigInfo.m_DropParam = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadInt(&ini, "Global", "EquipmentDamagePoint", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x11Du,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Global::EquipmentDamagePoint failed!!");
- this->m_ConfigInfo.m_EquipmentDamagePoint = nValue;
- if ( IniFile::ReadInt(&ini, "Global", "PkRefixOfDamage", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x126u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_Only]: INI: read Global::PkRefixOfDamage failed!!");
- this->m_ConfigInfo.m_nPkRefixOfDamage = nValue;
- if ( IniFile::ReadInt(&ini, "Global", "AuditSwitch", &nValue) == 1 )
- AuditSwitch(nValue > 0);
- else
- AuditSwitch(0);
- if ( IniFile::ReadInt(&ini, "Global", "AutoRemoveBadPet", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x137u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Global::AutoRemoveBadPet failed!!");
- this->m_ConfigInfo.m_bAutoRemoveBadPet = nValue;
- if ( IniFile::ReadText(&ini, "Global", "GodReliveTopLevel", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x140u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Global::GodReliveTopLevel failed!!");
- this->m_ConfigInfo.m_GodReliveTopLevel = __strtol_internal(szText, 0, 10, 0);
- if ( IniFile::ReadInt(&ini, "TimeSetting", "RecoverTime", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x14Au,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read TimeSetting::RecoverTime failed!!");
- this->m_ConfigInfo.m_RecoverTime = nValue;
- if ( IniFile::ReadInt(&ini, "Monster", "MaxCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x154u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Monster::MaxCount failed!!");
- this->m_ConfigInfo.m_MaxMonster = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "MaxCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x15Du,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::MaxCount failed!!");
- this->m_ConfigInfo.m_MaxPet = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetBodyTime", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x166u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetBodyTime failed!!");
- this->m_ConfigInfo.m_PetBodyTime = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetHappinessInterval", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x16Fu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetHappinessInterval failed!!");
- this->m_ConfigInfo.m_PetHappinessInterval = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetLifeInterval", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x178u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetLifeInterval failed!!");
- this->m_ConfigInfo.m_PetLifeInterval = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetDecLifeStep", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x180u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetDecLifeStep failed!!");
- this->m_ConfigInfo.m_PetDecLifeStep = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetCallUpHappiness", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x189u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetCallUpHappiness failed!!");
- this->m_ConfigInfo.m_PetCallUpHappiness = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetPlacardTime", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x192u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetPlacardTime failed!!");
- this->m_ConfigInfo.m_PetPlacardTime = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetPlacardNeedLevel", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x19Bu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetPlacardNeedLevel failed!!");
- this->m_ConfigInfo.m_PetPlacardNeedLevel = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetPlacardNeedHappiness", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x1A4u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetPlacardNeedHappiness failed!!");
- this->m_ConfigInfo.m_PetPlacardNeedHappiness = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetPlacardNeedLife", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x1ADu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetPlacardNeedLife failed!!");
- this->m_ConfigInfo.m_PetPlacardNeedLife = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetCompoundGenGuFloat", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x1B5u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetCompoundGenGuFloat failed!!");
- this->m_ConfigInfo.m_PetCompoundGenGuFloat = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetCompoundGrowFloat", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x1BDu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetCompoundGrowFloat failed!!");
- this->m_ConfigInfo.m_PetCompoundGrowFloat = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetCompoundBabyPer_VV", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x1C5u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetCompoundBabyPer_VV failed!!");
- this->m_ConfigInfo.m_PetCompoundBabyPer_VV = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetCompoundBabyPer_BB", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x1CDu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetCompoundBabyPer_BB failed!!");
- this->m_ConfigInfo.m_PetCompoundBabyPer_BB = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetCompoundBabyPer_VB", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x1D5u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetCompoundBabyPer_VB failed!!");
- this->m_ConfigInfo.m_PetCompoundBabyPer_VB = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetCompoundPerceptionPer", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x1DDu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetCompoundPerceptionPer failed!!");
- this->m_ConfigInfo.m_PetCompoundPerceptionPer = nValue;
- if ( IniFile::ReadInt(&ini, "Pet", "PetMaxDefaultLevel", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x1E8u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::m_PetMaxDefaultLevel failed!!");
- this->m_ConfigInfo.m_PetMaxDefaultLevel = nValue - 1;
- if ( IniFile::ReadText(&ini, "Pet", "PetDieLReduceLife", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x1F2u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Pet::PetDieLReduceife failed!!");
- this->m_ConfigInfo.m_fPetDieReduceLift = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadInt(&ini, "Monster", "DefaultRespawnTime", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x1FDu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Monster::DefaultRespawnTime failed!!");
- this->m_ConfigInfo.m_DefaultRespawnTime = nValue;
- if ( IniFile::ReadInt(&ini, "TimeSetting", "DropBoxRecycle", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x206u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read TimeSetting::DropBoxRecycle failed!!");
- this->m_ConfigInfo.m_DropBoxRecycleTime = nValue;
- if ( IniFile::ReadInt(&ini, "TimeSetting", "TimeChangeInterval", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x20Fu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read TimeSetting::TimeChangeInterval failed!!");
- this->m_ConfigInfo.m_TimeChangeInterval = nValue;
- if ( IniFile::ReadInt(&ini, "TimeSetting", "PacketAuditTime", &nValue) == 1 )
- this->m_ConfigInfo.m_PacketAuditTime = nValue;
- else
- this->m_ConfigInfo.m_PacketAuditTime = 0;
- if ( IniFile::ReadInt(&ini, "Monster", "DefaultPositionRange", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x220u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Monster::DefaultPositionRange failed!!");
- this->m_ConfigInfo.m_PositionRange = nValue;
- if ( IniFile::ReadInt(&ini, "Monster", "DefaultAIType", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x229u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Monster::DefaultAIType failed!!");
- this->m_ConfigInfo.m_AIType = nValue;
- if ( IniFile::ReadInt(&ini, "TimeSetting", "DisconnectTime1", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x232u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read TimeSetting::DisconnectTime failed!!");
- this->m_ConfigInfo.m_DisconnectTime = nValue;
- if ( IniFile::ReadInt(&ini, "TimeSetting", "DisconnectTime2", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x23Au,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read TimeSetting::DisconnectTime failed!!");
- this->m_ConfigInfo.m_DisconnectTime2 = nValue;
- if ( !IniFile::ReadText(&ini, "Temp", "UserPath", this->m_ConfigInfo.m_UserPath, 260) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x23Fu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Temp::UserPath failed!!");
- if ( IniFile::ReadInt(&ini, "Monster", "DefaultBodyTime", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x248u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Monster::DefaultBodyTime failed!!");
- this->m_ConfigInfo.m_DefaultBodyTime = nValue;
- if ( IniFile::ReadInt(&ini, "Monster", "DefaultBossBodyTime", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x251u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Monster::DefaultBossBodyTime failed!!");
- this->m_ConfigInfo.m_DefaultBossBodyTime = nValue;
- if ( IniFile::ReadInt(&ini, "Monster", "DefaultRefuseScanTime", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x25Au,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Monster::DefaultRefuseScanTime failed!!");
- this->m_ConfigInfo.m_DefaultRefuseScanTime = nValue;
- if ( IniFile::ReadInt(&ini, "Monster", "OddsOfChangeTarget", &nValue) == 1 )
- this->m_ConfigInfo.m_OddsOfChangeTarget = nValue;
- else
- this->m_ConfigInfo.m_OddsOfChangeTarget = 20;
- if ( IniFile::ReadInt(&ini, "Monster", "OddsOfAttackAssistant", &nValue) == 1 )
- this->m_ConfigInfo.m_OddsOfAttackAssistant = nValue;
- else
- this->m_ConfigInfo.m_OddsOfAttackAssistant = 20;
- if ( IniFile::ReadInt(&ini, "Monster", "ChangeTargetCooldown", &nValue) == 1 )
- this->m_ConfigInfo.m_ChangeTargetCooldown = 1000 * nValue;
- else
- this->m_ConfigInfo.m_ChangeTargetCooldown = 5000;
- if ( IniFile::ReadInt(&ini, "Monster", "MonsterMaxDefaultLevel", &nValue) != 1 )
- {
- this->m_ConfigInfo.m_MonsterMaxDefaultLevel = 200;
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x27Fu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Human::m_MonsterMaxDefaultLevel failed!!");
- }
- this->m_ConfigInfo.m_MonsterMaxDefaultLevel = nValue;
- if ( IniFile::ReadInt(&ini, "Human", "OutGhostTime", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x28Du,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Human::OutGhostTime failed!!");
- this->m_ConfigInfo.m_OutGhostTime = nValue;
- if ( IniFile::ReadInt(&ini, "Human", "CanGetExpRange", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x296u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Human::CanGetExpRange failed!!");
- this->m_ConfigInfo.m_CanGetExpRange = (long double)nValue;
- if ( IniFile::ReadInt(&ini, "Human", "DefaultMoveSpeed", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x29Fu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Human::DefaultMoveSpeed failed!!");
- this->m_ConfigInfo.m_DefaultMoveSpeed = nValue;
- if ( IniFile::ReadInt(&ini, "Human", "DefaultAttackSpeed", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x2A8u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Human::DefaultAttackSpeed failed!!");
- this->m_ConfigInfo.m_DefaultAttackSpeed = nValue;
- if ( IniFile::ReadInt(&ini, "Human", "HumanVERecoverInterval", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x2B1u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Human::HumanVERecoverInterval failed!!");
- this->m_ConfigInfo.m_HumanVERecoverInterval = nValue;
- if ( IniFile::ReadInt(&ini, "Human", "HumanMaxDefaultLevel", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x2BCu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Human::m_HumanMaxDefualtLevel failed!!");
- this->m_ConfigInfo.m_HumanMaxDefualtLevel = nValue - 1;
- if ( IniFile::ReadInt(&ini, "Human", "XinfaMaxDefaultLevel", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x2C5u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Human::m_XinfaMaxDefaultLevel failed!!");
- this->m_ConfigInfo.m_XinfaMaxDefaultLevel = nValue;
- if ( IniFile::ReadInt(&ini, "Human", "PKValueRefreshRate", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x2CFu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Human::PKValueRefreshRate failed!!");
- this->m_ConfigInfo.m_PKValueRefreshRate = nValue;
- if ( IniFile::ReadInt(&ini, "Human", "HumanDefPilferLockTime", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x2D7u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Human::HumanDefPilferLockTime failed!!");
- this->m_ConfigInfo.m_nHumanDefPilferLockTime = nValue;
- if ( IniFile::ReadInt(&ini, "SystemNotice", "IsJoinBangPaiNotice", &nValue) == 1 )
- this->m_ConfigInfo.m_IsJoinBangPaiNotice = nValue;
- else
- this->m_ConfigInfo.m_IsJoinBangPaiNotice = 0;
- if ( IniFile::ReadInt(&ini, "Team", "AvailableFollowDist", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x2EBu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Team::AvailableFollowDist failed!!");
- this->m_ConfigInfo.m_nAvailableFollowDist = nValue;
- if ( IniFile::ReadInt(&ini, "Team", "TimeForLoseFollow", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x2F4u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Team::TimeForLoseFollow failed!!");
- this->m_ConfigInfo.m_nTimeForLoseFollow = nValue;
- if ( IniFile::ReadInt(&ini, "Team", "TimeForLoseFollow", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x2FDu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Team::TimeForLoseFollow failed!!");
- this->m_ConfigInfo.m_nTimeForLoseFollow = nValue;
- if ( IniFile::ReadInt(&ini, "Guild", "DefaultMaxMemberCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x306u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Guild::DefaultMaxMemberCount failed!!");
- this->m_ConfigInfo.m_nDefaultMaxMemberCount = nValue;
- if ( IniFile::ReadInt(&ini, "Guild", "ResponseUserCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x30Fu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Guild::ResponseUserCount failed!!");
- this->m_ConfigInfo.m_nResponseUserCount = nValue;
- if ( IniFile::ReadInt(&ini, "Relation", "PasswdPoint", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x318u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Relation::PasswdPoint failed!!");
- this->m_ConfigInfo.m_nPasswdPoint = nValue;
- if ( IniFile::ReadInt(&ini, "Relation", "PromptPoint", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x321u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Relation::PromptPoint failed!!");
- this->m_ConfigInfo.m_nPromptPoint = nValue;
- if ( IniFile::ReadInt(&ini, "MinorPassword", "DeleteDelayTime", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x32Bu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Relation::DeleteDelayTime failed!!");
- this->m_ConfigInfo.m_nDeleteDelayTime = 3600 * nValue;
- if ( IniFile::ReadInt(&ini, "MinorPassword", "EnergySetCost", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x334u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read MinorPassword::EnergySetCost failed!!");
- this->m_ConfigInfo.m_nEnergySetCost = nValue;
- if ( IniFile::ReadInt(&ini, "MinorPassword", "EnergyModifyCost", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x33Du,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read MinorPassword::EnergyModifyCost failed!!");
- this->m_ConfigInfo.m_nEnergyModifyCost = nValue;
- if ( IniFile::ReadInt(&ini, "MinorPassword", "EnergyDelCost", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x346u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read MinorPassword::EnergyDelCost failed!!");
- this->m_ConfigInfo.m_nEnergyDelCost = nValue;
- if ( IniFile::ReadInt(&ini, "MinorPassword", "MaxInputErrTimesPerDay", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x34Fu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read MinorPassword::MaxInputErrTimesPerDay failed!!");
- this->m_ConfigInfo.m_nMaxInputErrTimesPerDay = nValue;
- if ( IniFile::ReadInt(&ini, "MinorPassword", "PWUnlockTime", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x357u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read MinorPassword::PWUnlockTime failed!!");
- this->m_ConfigInfo.m_nPWUnlockTime = nValue;
- if ( IniFile::ReadInt(&ini, "Relation", "ExpPoint", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x360u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Relation::ExpPoint failed!!");
- this->m_ConfigInfo.m_nExpPoint = nValue;
- if ( IniFile::ReadInt(&ini, "World", "HashOnlineUserCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x374u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read World::HashOnlineUserCount failed!!");
- this->m_ConfigInfo.m_nHashOnlineUserCount = nValue;
- if ( IniFile::ReadInt(&ini, "World", "HashMailUserCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x37Du,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read World::HashMailUserCount failed!!");
- this->m_ConfigInfo.m_nHashMailUserCount = nValue;
- if ( IniFile::ReadInt(&ini, "World", "MaxOfflineUserCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x386u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read World::MaxOfflineUserCount failed!!");
- this->m_ConfigInfo.m_nMaxOfflineUserCount = nValue;
- if ( IniFile::ReadInt(&ini, "World", "SpeakerPoolMax", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x38Fu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read World::SpeakerPoolMax failed!!");
- this->m_ConfigInfo.m_nSpeakerPoolMax = nValue;
- if ( IniFile::ReadText(&ini, "Global", "RespawnParam", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x399u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Global::RespawnParam failed!!");
- this->m_ConfigInfo.m_fRespawnParam = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadInt(&ini, "TimeSetting", "KickUserTime", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x3A2u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read TimeSetting::KickUserTime failed!!");
- this->m_ConfigInfo.m_KickUserTime = nValue;
- if ( IniFile::ReadInt(&ini, "TimeSetting", aSmu, &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x3AAu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read TimeSetting::KickUserTime failed!!");
- this->m_ConfigInfo.m_SMU_KickUserTime = nValue;
- if ( IniFile::ReadInt(&ini, "Combat", "DefaultDamageFluctuation", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x3B4u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Combat::DefaultDamageFluctuation failed!!");
- this->m_ConfigInfo.m_nDefaultDamageFluctuation = nValue;
- if ( IniFile::ReadInt(&ini, "Combat", "H0ofHitCalculation", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x3BCu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Combat::H0ofHitCalculation failed!!");
- this->m_ConfigInfo.m_nH0ofHitCalculation = nValue;
- if ( IniFile::ReadInt(&ini, "Combat", "C0ofCriticalCalculation", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x3C4u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Combat::C0ofCriticalCalculation failed!!");
- this->m_ConfigInfo.m_nC0ofCriticalCalculation = nValue;
- if ( IniFile::ReadInt(&ini, "Combat", "C1ofCriticalCalculation", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x3CCu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Combat::C1ofCriticalCalculation failed!!");
- this->m_ConfigInfo.m_nC1ofCriticalCalculation = nValue;
- if ( IniFile::ReadInt(&ini, "Combat", "C2ofCriticalCalculation", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x3D4u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Combat::C2ofCriticalCalculation failed!!");
- this->m_ConfigInfo.m_nC2ofCriticalCalculation = nValue;
- if ( IniFile::ReadInt(&ini, "GoodBad", "MinGoodBadValue", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x3DEu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read GoodBad::MinGoodBadValue failed!!");
- this->m_ConfigInfo.m_nMinGoodBadValue = nValue;
- if ( IniFile::ReadInt(&ini, "GoodBad", "MaxGoodBadValue", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x3E7u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read GoodBad::MaxGoodBadValue failed!!");
- this->m_ConfigInfo.m_nMaxGoodBadValue = nValue;
- if ( IniFile::ReadInt(&ini, "JuqingPoint", "MinJuqingPoint", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x3F0u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Juqing::MinJuqingPoint failed!!");
- this->m_ConfigInfo.m_nMinJuqingPoint = nValue;
- if ( IniFile::ReadInt(&ini, "JuqingPoint", "MaxJuqingPoint", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x3F9u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Juqing::MaxJuqingPoint failed!!");
- this->m_ConfigInfo.m_nMaxJuqingPoint = nValue;
- if ( IniFile::ReadInt(&ini, "GoodBad", "LevelNeeded", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x404u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read GoodBad::LevelNeeded failed!!");
- this->m_ConfigInfo.m_nLevelNeeded = nValue;
- if ( IniFile::ReadInt(&ini, "GoodBad", "MemberLevel", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x40Du,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read GoodBad::MemberLevel failed!!");
- this->m_ConfigInfo.m_nMemberLevel = nValue;
- if ( IniFile::ReadInt(&ini, "GoodBad", "MemberLevelLimit", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x415u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read GoodBad::MemberLevelLimit failed!!");
- this->m_ConfigInfo.m_nMemberLevelLimit = nValue;
- if ( IniFile::ReadInt(&ini, "GoodBad", "LevelDis", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x41Du,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read GoodBad::LevelDis failed!!");
- this->m_ConfigInfo.m_nMemverLevelDis = nValue;
- if ( IniFile::ReadInt(&ini, "GoodBad", "GoodBadRadius", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x426u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read GoodBad::GoodBadRadius failed!!");
- this->m_ConfigInfo.m_fGoodBadRadius = (long double)nValue;
- if ( IniFile::ReadInt(&ini, "GoodBad", "BonusPerMember", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x42Fu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read GoodBad::BonusPerMember failed!!");
- this->m_ConfigInfo.m_nBonusPerMember = nValue;
- if ( IniFile::ReadInt(&ini, "GoodBad", "BonusPerPrentice", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x437u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read GoodBad::BonusPerPrentice failed!!");
- this->m_ConfigInfo.m_nBonusPerPrentice = nValue;
- if ( IniFile::ReadInt(&ini, "GoodBad", "MaxBonus", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x440u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read GoodBad::MaxBonus failed!!");
- this->m_ConfigInfo.m_nMaxBonus = nValue;
- if ( IniFile::ReadInt(&ini, "GoodBad", "PenaltyWhenMemberDie", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x44Au,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read GoodBad::PenaltyWhenMemberDie failed!!");
- this->m_ConfigInfo.m_nPenaltyWhenMemberDie = nValue;
- if ( !IniFile::ReadInt(&ini, "Duel", "DuelTime", &nValue) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x45Cu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Duel::DuelTime failed!!");
- this->m_ConfigInfo.m_nDuelTime = 1000 * nValue;
- if ( !IniFile::ReadInt(&ini, "Duel", "DuelEnergyRequire", &nValue) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x465u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Duel::DuelEnergyRequire failed!!");
- this->m_ConfigInfo.m_nDuelEnergyRequire = nValue;
- if ( !IniFile::ReadInt(&ini, "Duel", "DuelLevelRequire", &nValue) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x46Eu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Duel::DuelLevelRequire failed!!");
- this->m_ConfigInfo.m_nDuelLevelRequire = nValue;
- if ( !IniFile::ReadInt(&ini, "Warfare", "PersonalWarfareTime", &nValue) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x477u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Warfare::PersonalWarfareTime failed!!");
- this->m_ConfigInfo.m_nPersonalWarfareTime = 1000 * nValue;
- if ( !IniFile::ReadInt(&ini, "PK", "PKFlagSwitchDelay", &nValue) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x480u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read PK::PKFlagSwtichDelayTime failed!!");
- this->m_ConfigInfo.m_nPKFlagSwitchDelay = 1000 * nValue;
- if ( IniFile::ReadInt(&ini, "PK", "HostilePlayerWarning", &nValue) )
- {
- if ( nValue > 0 )
- {
- this->m_ConfigInfo.m_nHostilePlayerWarning = 1000 * nValue;
- goto LABEL_113;
- }
- CacheLog(1, "%s", "[Config::LoadConfigInfo_ReLoad]: INI: PK::HostilePlayerWarning Overflow!!", nValue);
- }
- else
- {
- CacheLog(1, "%s", "[Config::LoadConfigInfo_ReLoad]: INI: read PK::HostilePlayerWarning failed!!", 0);
- }
- this->m_ConfigInfo.m_nHostilePlayerWarning = 600000;
- LABEL_113:
- if ( !IniFile::ReadInt(&ini, "FightBack", "LegalFightBackTime", &nValue) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x49Bu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read FightBack::LegalFightBackTime failed!!");
- this->m_ConfigInfo.m_nLegalFightBackTime = 1000 * nValue;
- if ( IniFile::ReadText(&ini, "Economic", "RateA", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x4A4u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Economic::RateA failed!!");
- this->m_ConfigInfo.m_fRateA = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadInt(&ini, "Economic", "MinExchangeCodeLevel", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x4ADu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::MinExchangeCodeLevel]: INI: read Economic::MinExchangeCodeLevel failed!!");
- this->m_ConfigInfo.m_uMinExchangeCodeLevel = nValue;
- if ( IniFile::ReadInt(&ini, "Economic", "MaxExchangeCodeLevel", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x4B6u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::MaxExchangeCodeLevel]: INI: read Economic::MaxExchangeCodeLevel failed!!");
- this->m_ConfigInfo.m_uMaxExchangeCodeLevel = nValue;
- if ( IniFile::ReadText(&ini, "Economic", "RateB", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x4C0u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Economic::RateB failed!!");
- this->m_ConfigInfo.m_fRateB = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Economic", "NewServerSaleRate", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x4C9u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Economic::NewServerSaleRate failed!!");
- this->m_ConfigInfo.m_fNewServerSaleRate = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadInt(&ini, "Economic", "YuanBaoSceneID", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x4D2u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Economic::YuanBaoSceneID failed!!");
- this->m_ConfigInfo.m_YuanBaoSceneID = nValue;
- if ( IniFile::ReadInt(&ini, "Economic", "YuanBaoTicketMax", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x4DBu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Economic::YuanBaoTicketMax failed!!");
- this->m_ConfigInfo.m_YuanBaoTicketMax = nValue;
- if ( IniFile::ReadInt(&ini, "Global", "PrenticeProfferExp", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x4E4u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Global::Global failed!!");
- this->m_ConfigInfo.m_nPrenticeProfferExp = nValue;
- if ( IniFile::ReadText(&ini, "Exp", "ExpParam", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x4EDu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Exp::ExpParam failed!!");
- this->m_ConfigInfo.m_ExpParam = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Exp", "ExpSpouseAddRate", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x4F6u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Exp::ExpSpouseAddRate failed!!");
- this->m_ConfigInfo.m_ExpSpouseAddRate = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Exp", "ExpBrotherAddRate", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x4FFu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Exp::ExpBrotherAddRate failed!!");
- this->m_ConfigInfo.m_ExpBrotherAddRate = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Exp", "ExpMasterInTeamAddRate", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x508u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Exp::ExpMasterInTeamAddRate failed!!");
- this->m_ConfigInfo.m_ExpMasterInTeamAddRate = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Exp", "ExpMasterNotInTeamAddRate", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x511u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Exp::ExpMasterNotInTeamAddRate failed!!");
- this->m_ConfigInfo.m_ExpMasterNotInTeamAddRate = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Exp", "ExpPrenticeAddRate", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x51Au,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Exp::ExpPrenticeAddRate failed!!");
- this->m_ConfigInfo.m_ExpPrenticeAddRate = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Exp", "ExpDarkAbsorbRate", szText, 32) == 1 )
- {
- if ( __strtod_internal(szText, 0, 0) > 0.5 || __strtod_internal(szText, 0, 0) < 0.000001 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x521u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Exp::ExpDarkAbsorbRate failed!!");
- this->m_ConfigInfo.m_ExpDarkAbsorbRate = __strtod_internal(szText, 0, 0);
- }
- if ( IniFile::ReadText(&ini, "Ability", "AssistantDemandFormulaParam0", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x52Fu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Ability::AssistantDemandFormulaParam0 failed!!");
- this->m_ConfigInfo.m_AssistantDemandFormulaParam0 = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Ability", "AssistantDemandFormulaParam1", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x538u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Ability::AssistantDemandFormulaParam1 failed!!");
- this->m_ConfigInfo.m_AssistantDemandFormulaParam1 = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Ability", "AssistantDemandFormulaParam2", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x541u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Ability::AssistantDemandFormulaParam2 failed!!");
- this->m_ConfigInfo.m_AssistantDemandFormulaParam2 = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Ability", "AssistantDemandFormulaParam3", szText, 32) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x54Au,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Ability::AssistantDemandFormulaParam3 failed!!");
- this->m_ConfigInfo.m_AssistantDemandFormulaParam3 = __strtod_internal(szText, 0, 0);
- if ( !IniFile::ReadText(&ini, "Fatigue", "EnableFatigueState", szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x554u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Fatigue::EnableFatigueState failed!!");
- this->m_ConfigInfo.m_EnableFatigueState = __strtol_internal(szText, 0, 10, 0);
- if ( !IniFile::ReadText(&ini, "Fatigue", "LittleFatigueTime", szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x55Du,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Fatigue::LittleFatigueTime failed!!");
- this->m_ConfigInfo.m_LittleFatigueTime = __strtol_internal(szText, 0, 10, 0);
- if ( !IniFile::ReadText(&ini, "Fatigue", "ExceedingFatigueTime", szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x566u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Fatigue::ExceedingFatigueTime failed!!");
- this->m_ConfigInfo.m_ExceedingFatigueTime = __strtol_internal(szText, 0, 10, 0);
- if ( !IniFile::ReadText(&ini, "Fatigue", "ResetFatigueStateOfflineTime", szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x56Fu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Fatigue::ResetFatigueStateOfflineTime failed!!");
- v1 = __strtol_internal(szText, 0, 10, 0);
- this->m_ConfigInfo.m_ResetFatigueStateOfflineTime = v1;
- i = 0;
- do
- {
- sprintf(buf, "XianYaMaxUser_%d", i, v1);
- if ( !IniFile::ReadText(&ini, "Guild", buf, szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x580u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Guild::XianYaMaxUser failed!!");
- v1 = __strtol_internal(szText, 0, 10, 0);
- this->m_ConfigInfo.m_XianYaMaxUser[i] = v1;
- if ( v1 > 0x6E )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x57Cu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Guild::XianYaMaxUser overflow!!");
- ++i;
- }
- while ( i <= 4 );
- i_0 = 0;
- do
- {
- sprintf(buf, "XianYaMaxMoney_%d", i_0, v1);
- if ( !IniFile::ReadText(&ini, "Guild", buf, szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x58Fu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Guild::XianYaMaxMoney failed!!");
- v1 = __strtol_internal(szText, 0, 10, 0);
- this->m_ConfigInfo.m_XianYaMaxMoney[i_0++] = v1;
- }
- while ( i_0 <= 4 );
- i_1 = 0;
- do
- {
- sprintf(buf, "XianYaStdMoney_%d", i_1, v1);
- if ( !IniFile::ReadText(&ini, "Guild", buf, szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x59Eu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Guild::XianYaStdMoney failed!!");
- v1 = __strtol_internal(szText, 0, 10, 0);
- this->m_ConfigInfo.m_XianYaStdMoney[i_1++] = v1;
- }
- while ( i_1 <= 4 );
- i_2 = 0;
- do
- {
- sprintf(buf_0, "QianZhuangDeltaMoney_%d", i_2, v2);
- if ( !IniFile::ReadText(&ini, "Guild", buf_0, szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x5ADu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Guild::QianZhuangDeltaMoney failed!!");
- v3 = __strtol_internal(szText, 0, 10, 0);
- v4 = i_2;
- this->m_ConfigInfo.m_QianZhuangDeltaMoney[i_2++] = v3;
- }
- while ( i_2 <= 4 );
- i_3 = 0;
- do
- {
- sprintf(buf, "XianYaMaxTrader_%d", i_3, v4);
- if ( !IniFile::ReadText(&ini, "Guild", buf, szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x5BCu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Guild::XianYaMaxTrader failed!!");
- v5 = __strtol_internal(szText, 0, 10, 0);
- v4 = i_3;
- this->m_ConfigInfo.m_XianYaMaxTrader[i_3++] = v5;
- }
- while ( i_3 <= 4 );
- i_4 = 0;
- do
- {
- sprintf(buf, "XiangFangMaxUser_%d", i_4, v5);
- if ( !IniFile::ReadText(&ini, "Guild", buf, szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x5CEu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Guild::XiangFangMaxUser failed!!");
- v5 = __strtol_internal(szText, 0, 10, 0);
- this->m_ConfigInfo.m_XiangFangMaxUser[i_4] = v5;
- if ( v5 > 0x96 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x5CAu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Guild::XianYaMaxUser overflow!!");
- ++i_4;
- }
- while ( i_4 <= 4 );
- if ( !IniFile::ReadText(&ini, "Guild", "CreateCityMoney", szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x5D9u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Guild::CreateCityMoney failed!!");
- this->m_ConfigInfo.m_CreateCityMoney = __strtol_internal(szText, 0, 10, 0);
- if ( !IniFile::ReadText(&ini, "Guild", "BattleTime", szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x5E3u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Guild::BattleTime failed!!");
- this->m_ConfigInfo.m_uBattleTime = __strtol_internal(szText, 0, 10, 0);
- if ( !IniFile::ReadText(&ini, "Guild", "LeftGuildBuffEnable", szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x5EDu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read Guild::LeftGuildBuffEnable failed!!");
- this->m_ConfigInfo.m_bLeftGuildBuffEnable = __strtol_internal(szText, 0, 10, 0);
- if ( !IniFile::ReadText(&ini, "GuildLeague", "MaxGuildLeagueNum", szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x5F7u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read GuildLeague::MaxGuildLeagueNum failed!!");
- this->m_ConfigInfo.m_MaxGuildLeagueNum = __strtol_internal(szText, 0, 10, 0);
- if ( !IniFile::ReadText(&ini, "GuildLeague", "TimeAfterQuitLeague", szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x601u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read GuildLeague::TimeAfterQuitLeague failed!!");
- this->m_ConfigInfo.m_TimeAfterQuitLeague = __strtol_internal(szText, 0, 10, 0);
- if ( !IniFile::ReadText(&ini, "GuildLeague", "CreateLeagueMoney", szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x60Bu,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read GuildLeague::CreateLeagueMoney failed!!");
- this->m_ConfigInfo.m_CreateLeagueMoney = __strtol_internal(szText, 0, 10, 0);
- if ( IniFile::ReadText(&ini, "Guild", "LeaveWordCost", szText, 32) )
- this->m_ConfigInfo.m_uLeaveWordCost = __strtol_internal(szText, 0, 10, 0);
- if ( IniFile::ReadText(&ini, "Guild", "BoomMaxValue", szText, 32) )
- this->m_ConfigInfo.m_nBoomMaxValue = __strtol_internal(szText, 0, 10, 0);
- if ( IniFile::ReadText(&ini, "Guild", "BoomScaleAll", szText, 32) )
- this->m_ConfigInfo.m_fBoomScaleAll = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Guild", "BoomScaleOnLineCount", szText, 32) )
- this->m_ConfigInfo.m_fBoomScaleOnLineCount = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Guild", "BoomScaleAttrInc", szText, 32) )
- this->m_ConfigInfo.m_fBoomScaleAttrInc = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Guild", "BoomScaleComMisson", szText, 32) )
- this->m_ConfigInfo.m_fBoomScaleComMisson = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Guild", "BoomScaleAvgBoom", szText, 32) )
- this->m_ConfigInfo.m_fBoomScaleAvgBoom = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Guild", "BoomScaleAmb", szText, 32) )
- this->m_ConfigInfo.m_fBoomScaleAmb = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Guild", "BoomScaleArg", szText, 32) )
- this->m_ConfigInfo.m_fBoomScaleArg = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Guild", "BoomScaleCom", szText, 32) )
- this->m_ConfigInfo.m_fBoomScaleCom = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Guild", "BoomScaleDef", szText, 32) )
- this->m_ConfigInfo.m_fBoomScaleDef = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Guild", "BoomScaleInd", szText, 32) )
- this->m_ConfigInfo.m_fBoomScaleInd = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Guild", "BoomScaleTec", szText, 32) )
- this->m_ConfigInfo.m_fBoomScaleTec = __strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Guild", "TicketDecValue", szText, 32) )
- this->m_ConfigInfo.m_uTicketDecValue = (signed __int64)__strtod_internal(szText, 0, 0);
- if ( IniFile::ReadText(&ini, "Guild", "GuildComMissonWaiGua", szText, 32) )
- this->m_ConfigInfo.m_GuildComMissonWaiGua = __strtol_internal(szText, 0, 10, 0);
- if ( IniFile::ReadText(&ini, "Guild", "ValidateXianYaLevel", szText, 32) )
- this->m_ConfigInfo.m_ValidateXianYaLevel = __strtol_internal(szText, 0, 10, 0);
- if ( IniFile::ReadText(&ini, "YuanBao", "MaxDayCostYuanBao", szText, 32) )
- {
- v9 = __strtol_internal(szText, 0, 10, 0);
- if ( v9 <= 0xFFFFFF )
- this->m_ConfigInfo.m_uMaxDayCostYuanBao = v9;
- else
- this->m_ConfigInfo.m_uMaxDayCostYuanBao = 0xFFFFFF;
- }
- if ( IniFile::ReadText(&ini, "EnableYuanBaoPiao", "IsEnableYuanBaoPiao", szText, 32) )
- this->m_ConfigInfo.m_IsEnableYuanBaoPiao = __strtol_internal(szText, 0, 10, 0);
- if ( !IniFile::ReadInt(&ini, "MonsterIncome", "LittleIncomeMonsterCount", &nValue) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x678u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read MonsterIncome::LittleIncomeMonsterCount failed!!");
- this->m_ConfigInfo.m_uLittleIncomeMonsterCount = nValue;
- if ( !IniFile::ReadInt(&ini, "MonsterIncome", "NilIncomeMonsterCount", &nValue) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x681u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read MonsterIncome::NilIncomeMonsterCount failed!!");
- this->m_ConfigInfo.m_uNilIncomeMonsterCount = nValue;
- if ( !IniFile::ReadFloat(&ini, "MonsterIncome", "LittleIncomePercent", &fValue) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x68Au,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read MonsterIncome::LittleIncomePercent failed!!");
- this->m_ConfigInfo.m_fLittleIncomePercent = fValue;
- if ( IniFile::ReadText(&ini, "CommisionShop", "SendBackTime", szText, 32) )
- this->m_ConfigInfo.m_uSendBackTime = 60 * __strtol_internal(szText, 0, 10, 0);
- if ( IniFile::ReadText(&ini, "CommisionShop", "YuanbaoFee", szText, 32) )
- this->m_ConfigInfo.m_nYuanbaoFee = __strtol_internal(szText, 0, 10, 0);
- if ( IniFile::ReadText(&ini, "CommisionShop", "GoldCoinFee", szText, 32) )
- this->m_ConfigInfo.m_nGoldCoinFee = __strtol_internal(szText, 0, 10, 0);
- this->m_ConfigInfo.m_IsCloseYuanBaoSell = IniFile::ReadText(&ini, "CommisionShop", "IsCloseYuanBaoSell", szText, 32)
- && __strtol_internal(szText, 0, 10, 0);
- this->m_ConfigInfo.m_IsCloseGoldCoinSell = IniFile::ReadText(&ini, "CommisionShop", "IsCloseGoldCoinSell", szText, 32)
- && __strtol_internal(szText, 0, 10, 0);
- i_5 = 0;
- do
- {
- memset(szValueText, 0, 0x104u);
- snprintf(szValueText, 0x104u, "Value%d", i_5);
- if ( !IniFile::ReadText(&ini, "CommisionShop", szValueText, szText, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x6B9u,
- "void Config::LoadConfigInfo_ReLoad()",
- "FALSE",
- "[Config::LoadConfigInfo_ReLoad]: INI: read CommisionShop::Value failed!!");
- this->m_ConfigInfo.m_anCSIValue[i_5++] = __strtol_internal(szText, 0, 10, 0);
- }
- while ( i_5 <= 5 );
- if ( IniFile::ReadInt(&ini, "Human", "WarnningPer10M", &nValue) )
- this->m_ConfigInfo.m_WarnningPer10M = nValue;
- if ( IniFile::ReadInt(&ini, "Human", "WarnningPerHour", &nValue) )
- this->m_ConfigInfo.m_WarnningPerHour = nValue;
- if ( IniFile::ReadInt(&ini, "Human", "FreezePer10M", &nValue) )
- this->m_ConfigInfo.m_FreezePer10M = nValue;
- if ( IniFile::ReadInt(&ini, "Human", "FreezePerHour", &nValue) )
- this->m_ConfigInfo.m_FreezePerHour = nValue;
- if ( IniFile::ReadInt(&ini, "Human", "LevelUpValidateMinLv", &nValue) )
- this->m_ConfigInfo.m_LevelUpValidateMinLv = nValue;
- if ( IniFile::ReadInt(&ini, "Human", "LevelUpValidateMaxLv", &nValue) )
- this->m_ConfigInfo.m_LevelUpValidateMaxLv = nValue;
- if ( IniFile::ReadInt(&ini, "Human", "LevelMinGetPiao", &nValue) )
- this->m_ConfigInfo.m_LevelMinGetPiao = nValue;
- DiskLog("./Log/Config", "Load ConfigInfo.ini ...ReLoad OK! ");
- v8 = __OFSUB__(this->m_ConfigInfo.m_PetMaxDefaultLevel, 255);
- v6 = this->m_ConfigInfo.m_PetMaxDefaultLevel == 255;
- v7 = this->m_ConfigInfo.m_PetMaxDefaultLevel - 255 < 0;
- this->m_ConfigInfo.m_PetTableMaxDefaultLevel = 255;
- this->m_ConfigInfo.m_XinfaTableMaxDefaultLevel = 255;
- this->m_ConfigInfo.m_HumanTableMaxDefualtLevel = 255;
- this->m_ConfigInfo.m_MonsterTableMaxDefaultLevel = 200;
- this->m_ConfigInfo.m_MaxLevelGAP = 200;
- if ( !((unsigned __int8)(v7 ^ v8) | v6) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x6FFu,
- "void Config::LoadConfigInfo_ReLoad()",
- "m_ConfigInfo.m_PetMaxDefaultLevel <= m_ConfigInfo.m_PetTableMaxDefaultLevel",
- "m_ConfigInfo.m_PetMaxDefaultLevel <= m_ConfigInfo.m_PetTableMaxDefaultLevel");
- if ( this->m_ConfigInfo.m_HumanMaxDefualtLevel > 255 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x700u,
- "void Config::LoadConfigInfo_ReLoad()",
- "m_ConfigInfo.m_HumanMaxDefualtLevel <= m_ConfigInfo.m_HumanTableMaxDefualtLevel",
- "m_ConfigInfo.m_HumanMaxDefualtLevel <= m_ConfigInfo.m_HumanTableMaxDefualtLevel");
- if ( this->m_ConfigInfo.m_MonsterMaxDefaultLevel > this->m_ConfigInfo.m_MonsterTableMaxDefaultLevel )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x701u,
- "void Config::LoadConfigInfo_ReLoad()",
- "m_ConfigInfo.m_MonsterMaxDefaultLevel <= m_ConfigInfo.m_MonsterTableMaxDefaultLevel",
- "m_ConfigInfo.m_MonsterMaxDefaultLevel <= m_ConfigInfo.m_MonsterTableMaxDefaultLevel");
- if ( this->m_ConfigInfo.m_XinfaMaxDefaultLevel > this->m_ConfigInfo.m_XinfaTableMaxDefaultLevel )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x702u,
- "void Config::LoadConfigInfo_ReLoad()",
- "m_ConfigInfo.m_XinfaMaxDefaultLevel <= m_ConfigInfo.m_XinfaTableMaxDefaultLevel",
- "m_ConfigInfo.m_XinfaMaxDefaultLevel <= m_ConfigInfo.m_XinfaTableMaxDefaultLevel");
- this->m_ConfigInfo.m_ExpTblItemCount = 2 * this->m_ConfigInfo.m_MonsterTableMaxDefaultLevel + 1;
- IniFile::~IniFile(&ini);
- }
- //----- (08056998) --------------------------------------------------------
- void __cdecl Config::LoadConfigInfo(Config *const this)
- {
- Config::LoadConfigInfo_Only(this);
- Config::LoadConfigInfo_ReLoad(this);
- }
- //----- (080569FC) --------------------------------------------------------
- void __cdecl Config::ReLoad(Config *a2)
- {
- Config::LoadConfigInfo_ReLoad(a2);
- Config::LoadLoginInfo_Reload(a2);
- Config::LoadWorldInfo_ReLoad(a2);
- Config::LoadBillingInfo_ReLoad(a2);
- Config::LoadMachineInfo_ReLoad(a2);
- Config::LoadServerInfo_ReLoad(a2);
- Config::LoadSceneInfo_ReLoad(a2);
- }
- //----- (08056A44) --------------------------------------------------------
- void __cdecl Config::LoadLoginInfo_Only(Config *const this)
- {
- INT nValue; // [esp+14h] [ebp-94Ch]
- IniFile ini; // [esp+18h] [ebp-948h]
- IniFile::IniFile((const CHAR *)&ini, "./Config/LoginInfo.ini");
- nValue = 0;
- if ( IniFile::ReadInt(&ini, "System", "LoginID", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x71Fu,
- "void Config::LoadLoginInfo_Only()",
- "FALSE",
- "[Config::LoadLoginInfo_Only]: INI: read System::LoginID failed!!");
- this->m_LoginInfo.m_LoginID = nValue;
- if ( !IniFile::ReadText(&ini, "System", "DBIP", this->m_LoginInfo.m_DBIP, 24) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x724u,
- "void Config::LoadLoginInfo_Only()",
- "FALSE",
- "[Config::LoadLoginInfo_Only]: INI: read System::DBIP failed!!");
- if ( IniFile::ReadInt(&ini, "System", "DBPort", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x72Cu,
- "void Config::LoadLoginInfo_Only()",
- "FALSE",
- "[Config::LoadLoginInfo_Only]: INI: read System::DBPort failed!!");
- this->m_LoginInfo.m_DBPort = nValue;
- if ( !IniFile::ReadText(&ini, "System", "DBName", this->m_LoginInfo.m_DBName, 128) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x730u,
- "void Config::LoadLoginInfo_Only()",
- "FALSE",
- "[Config::LoadLoginInfo_Only]: INI: read System::DBName failed!!");
- if ( !IniFile::ReadText(&ini, "System", "DBUser", this->m_LoginInfo.m_DBUser, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x734u,
- "void Config::LoadLoginInfo_Only()",
- "FALSE",
- "[Config::LoadLoginInfo_Only]: INI: read System::DBUser failed!!");
- if ( !IniFile::ReadText(&ini, "System", "DBPassword", this->m_LoginInfo.m_DBPassword, 256) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x738u,
- "void Config::LoadLoginInfo_Only()",
- "FALSE",
- "[Config::LoadLoginInfo_Only]: INI: read System::DBPassword failed!!");
- if ( IniFile::ReadInt(&ini, "System", "CryptPwd", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x740u,
- "void Config::LoadLoginInfo_Only()",
- "FALSE",
- "[Config::LoadLoginInfo_Only]: INI: read System::CryptPwd failed!!");
- this->m_LoginInfo.CryptPwd = nValue;
- if ( IniFile::ReadInt(&ini, "System", "ProxyConnect", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x748u,
- "void Config::LoadLoginInfo_Only()",
- "FALSE",
- "[Config::LoadLoginInfo_Only]: INI: read System::ProxyConnect failed!!");
- this->m_LoginInfo.ProxyConnect = nValue;
- if ( IniFile::ReadInt(&ini, "System", "EnableLicense", &nValue) == 1 )
- this->m_LoginInfo.EnableLicense = nValue;
- else
- this->m_LoginInfo.EnableLicense = 0;
- if ( IniFile::ReadInt(&ini, "System", "ReLoginLimit", &nValue) == 1 )
- this->m_LoginInfo.ReLoginLimit = nValue;
- else
- this->m_LoginInfo.ReLoginLimit = 1;
- if ( IniFile::ReadInt(&ini, "System", "ReLoginStop", &nValue) == 1 )
- this->m_LoginInfo.ReLoginStop = nValue;
- else
- this->m_LoginInfo.ReLoginStop = 1;
- if ( IniFile::ReadInt(&ini, "System", "ReLoginStopTime", &nValue) == 1 )
- this->m_LoginInfo.ReLoginStopTime = nValue;
- else
- this->m_LoginInfo.ReLoginStopTime = 600000;
- if ( IniFile::ReadInt(&ini, "System", "NotifySafeSign", &nValue) == 1 )
- this->m_LoginInfo.NotifySafeSign = nValue;
- else
- this->m_LoginInfo.NotifySafeSign = 1;
- DiskLog("./Log/Config", "Load LoginInfo.ini ...Only OK! ");
- IniFile::~IniFile(&ini);
- }
- //----- (08056E74) --------------------------------------------------------
- void __cdecl Config::LoadLoginInfo(Config *const this)
- {
- Config::LoadLoginInfo_Only(this);
- Config::LoadLoginInfo_Reload(this);
- }
- //----- (08056EDC) --------------------------------------------------------
- void __cdecl Config::LoadWorldInfo_Only(Config *const this)
- {
- INT nValue; // [esp+14h] [ebp-94Ch]
- IniFile ini; // [esp+18h] [ebp-948h]
- IniFile::IniFile((const CHAR *)&ini, "./Config/WorldInfo.ini");
- nValue = 0;
- if ( IniFile::ReadInt(&ini, "System", "ZoneID", &nValue) == 1 )
- this->m_WorldInfo.m_ZoneID = nValue;
- else
- this->m_WorldInfo.m_ZoneID = 0;
- if ( IniFile::ReadInt(&ini, "System", "WorldID", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x7ABu,
- "void Config::LoadWorldInfo_Only()",
- "FALSE",
- "[Config::LoadWorldInfo_Only]: INI: read System::WorldID failed!!");
- this->m_WorldInfo.m_WorldID = nValue;
- if ( IniFile::ReadInt(&ini, "System", "GuildSMKey", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x7B3u,
- "void Config::LoadWorldInfo_Only()",
- "FALSE",
- "[Config::LoadWorldInfo_Only]: INI: read System::GuildSMKey failed!!");
- this->m_WorldInfo.m_GuildKey = nValue;
- if ( IniFile::ReadInt(&ini, "System", "MailSMKey", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x7BBu,
- "void Config::LoadWorldInfo_Only()",
- "FALSE",
- "[Config::LoadWorldInfo_Only]: INI: read System::MailSMKey failed!!");
- this->m_WorldInfo.m_MailKey = nValue;
- if ( IniFile::ReadInt(&ini, "System", "PetSMKey", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x7C3u,
- "void Config::LoadWorldInfo_Only()",
- "FALSE",
- "[Config::LoadWorldInfo_Only]: INI: read System::PetSMKey failed!!");
- this->m_WorldInfo.m_PetCreateKey = nValue;
- if ( IniFile::ReadInt(&ini, "System", "CitySMKey", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x7CCu,
- "void Config::LoadWorldInfo_Only()",
- "FALSE",
- "[Config::LoadWorldInfo_Only]: INI: read System::CitySMKey failed!!");
- this->m_WorldInfo.m_CityKey = nValue;
- if ( IniFile::ReadInt(&ini, "System", "GlobalDataSMKey", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x7D5u,
- "void Config::LoadWorldInfo_Only()",
- "FALSE",
- "[Config::LoadWorldInfo_Only]: INI: read System::GlobalDataSMKey failed!!");
- this->m_WorldInfo.m_GlobalDataKey = nValue;
- if ( IniFile::ReadInt(&ini, "System", "LeagueSMKey", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x7DEu,
- "void Config::LoadWorldInfo_Only()",
- "FALSE",
- "[Config::LoadWorldInfo_Only]: INI: read System::LeagueSMKey failed!!");
- this->m_WorldInfo.m_LeagueKey = nValue;
- if ( IniFile::ReadInt(&ini, "System", "FindFriendADKey", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x7E7u,
- "void Config::LoadWorldInfo_Only()",
- "FALSE",
- "[Config::LoadWorldInfo_Only]: INI: read System::FindFriendADKey failed!!");
- this->m_WorldInfo.m_FindFriendADKey = nValue;
- if ( IniFile::ReadInt(&ini, "System", "EnableShareMem", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x7F0u,
- "void Config::LoadWorldInfo_Only()",
- "FALSE",
- "[Config::LoadWorldInfo_Only]: INI: read System::EnableShareMem failed!!");
- this->m_WorldInfo.m_EnableShareMem = nValue;
- g_CurWorld = this->m_WorldInfo.m_WorldID;
- DiskLog("./Log/Config", "Load WorldInfo.ini ...Only OK! ");
- IniFile::~IniFile(&ini);
- }
- //----- (080572A4) --------------------------------------------------------
- void __cdecl Config::LoadWorldInfo(Config *const this)
- {
- Config::LoadWorldInfo_Only(this);
- Config::LoadWorldInfo_ReLoad(this);
- }
- //----- (0805730C) --------------------------------------------------------
- void __cdecl Config::LoadBillingInfo_Only(Config *const this)
- {
- _BILLING_DATA **v1; // ecx
- INT v2; // eax
- INT v3; // edi
- _BILLING_DATA *v4; // edx
- INT v5; // edi
- bool v6; // zf
- bool v7; // sf
- _BILLING_DATA **v8; // eax
- _BILLING_DATA **v9; // ebx
- _BILLING_DATA *v10; // edx
- _BILLING_DATA *v11; // eax
- unsigned __int8 v12; // of
- INT v13; // eax
- _BILLING_DATA *v14; // edi
- int v15; // eax
- INT i_0; // [esp+Ch] [ebp-A94h]
- INT i; // [esp+10h] [ebp-A90h]
- INT nValue; // [esp+14h] [ebp-A8Ch]
- CHAR msg[256]; // [esp+18h] [ebp-A88h]
- CHAR szKey[64]; // [esp+118h] [ebp-988h]
- IniFile ini; // [esp+158h] [ebp-948h]
- IniFile::IniFile((const CHAR *)&ini, "./Config/ServerInfo.ini");
- nValue = 0;
- if ( !IniFile::ReadInt(&ini, "Billing", "Number", &nValue) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x81Au,
- "void Config::LoadBillingInfo_Only()",
- "FALSE",
- "[Config::LoadBillingInfo_Only]: INI: read Billing::Number failed!!");
- v1 = this->m_BillingInfo.m_pInfo;
- if ( v1 )
- {
- v2 = this->m_BillingInfo.m_nNumber;
- if ( v2 > 0 )
- {
- v3 = 0;
- do
- {
- v4 = v1[v3];
- if ( v4 )
- {
- (*((void (__cdecl **)(_BILLING_DATA *))v4->_vptr__BILLING_DATA + 1))(v1[v3]);
- v1 = this->m_BillingInfo.m_pInfo;
- v2 = this->m_BillingInfo.m_nNumber;
- v1[v3] = 0;
- }
- ++v3;
- }
- while ( v2 > v3 );
- if ( v1 )
- operator delete[](v1);
- this->m_BillingInfo.m_pInfo = 0;
- }
- }
- v5 = nValue;
- v6 = nValue == 0;
- v7 = nValue < 0;
- this->m_BillingInfo.m_nNumber = 0;
- this->m_BillingInfo.m_nCur = 0;
- this->m_BillingInfo.m_bUse = 0;
- if ( v7 || v6 )
- __assert__("../../Server/Server/Base/Config.h", 0x248u, "BOOL _BILLING_INFO::Init(INT)", "nNumber > 0");
- this->m_BillingInfo.m_nNumber = v5;
- v8 = (_BILLING_DATA **)operator new[](4 * v5);
- this->m_BillingInfo.m_pInfo = v8;
- if ( !v8 )
- __assert__("../../Server/Server/Base/Config.h", 0x24Cu, "BOOL _BILLING_INFO::Init(INT)", "m_pInfo");
- i = 0;
- if ( this->m_BillingInfo.m_nNumber > 0 )
- {
- v9 = this->m_BillingInfo.m_pInfo;
- do
- {
- v10 = (_BILLING_DATA *)operator new(0x24u);
- v10->_vptr__BILLING_DATA = (int (**)(...))off_80BD1A8;
- memset(v10->m_IP, 0, sizeof(v10->m_IP));
- v9[i] = v10;
- v9 = this->m_BillingInfo.m_pInfo;
- v11 = v9[i];
- v10->m_Port = 0;
- v10->m_ContainerPos = -1;
- if ( !v11 )
- __assert__("../../Server/Server/Base/Config.h", 0x251u, "BOOL _BILLING_INFO::Init(INT)", "m_pInfo[i]");
- v9[i]->m_ContainerPos = i;
- v12 = __OFSUB__(this->m_BillingInfo.m_nNumber, i + 1);
- v6 = this->m_BillingInfo.m_nNumber == i + 1;
- v7 = this->m_BillingInfo.m_nNumber - (i++ + 1) < 0;
- }
- while ( !((unsigned __int8)(v7 ^ v12) | v6) );
- }
- for ( i_0 = 0; this->m_BillingInfo.m_nNumber > i_0; ++i_0 )
- {
- memset(szKey, 0, sizeof(szKey));
- memset(msg, 0, 0x100u);
- v13 = this->m_BillingInfo.m_nCur;
- v14 = this->m_BillingInfo.m_pInfo[v13];
- v15 = v13 + 1;
- if ( v15 >= this->m_BillingInfo.m_nNumber )
- v15 = 0;
- this->m_BillingInfo.m_nCur = v15;
- snprintf(szKey, 0x40u, "IP%d", i_0);
- if ( !IniFile::ReadText(&ini, "Billing", szKey, v14->m_IP, 24) )
- {
- snprintf(msg, 0x100u, "[Config::LoadBillingInfo_Only]: INI: read Billing::%s failed!!", szKey);
- __assertex__("../../Server/Server/Base/Config.cpp", 0x82Bu, "void Config::LoadBillingInfo_Only()", "FALSE", msg);
- }
- snprintf(szKey, 0x40u, "Port%d", i_0);
- if ( IniFile::ReadInt(&ini, "Billing", szKey, &nValue) != 1 )
- {
- snprintf(msg, 0x100u, "[Config::LoadBillingInfo_Only]: INI: read Billing::%s failed!!", szKey);
- __assertex__("../../Server/Server/Base/Config.cpp", 0x835u, "void Config::LoadBillingInfo_Only()", "FALSE", msg);
- }
- v14->m_Port = nValue;
- }
- this->m_BillingInfo.m_nCur = 0;
- this->m_BillingInfo.m_bUse = 1;
- DiskLog("./Log/Config", "Load BillingInfo.ini ...Only OK! ");
- IniFile::~IniFile(&ini);
- }
- // 80BD1A8: using guessed type _DWORD (__cdecl *off_80BD1A8[2])(_BILLING_DATA *this);
- //----- (08057708) --------------------------------------------------------
- void __cdecl Config::LoadBillingInfo(Config *const this)
- {
- Config::LoadBillingInfo_Only(this);
- Config::LoadBillingInfo_ReLoad(this);
- }
- //----- (08057770) --------------------------------------------------------
- void __cdecl Config::LoadShareMemInfo_Only(Config *const this)
- {
- UINT v1; // ebx
- _SHAREMEM_DATA *v2; // eax
- _SHAREMEM_DATA *v3; // ecx
- _SHAREMEM_DATA *v4; // edx
- int v5; // eax
- bool v6; // cf
- bool v7; // zf
- UINT v8; // eax
- UINT v9; // ebx
- INT nValue; // [esp+14h] [ebp-F4Ch]
- CHAR szTypeID[256]; // [esp+18h] [ebp-F48h]
- CHAR szKeyID[256]; // [esp+118h] [ebp-E48h]
- CHAR szLog[1024]; // [esp+218h] [ebp-D48h]
- IniFile ini; // [esp+618h] [ebp-948h]
- IniFile::IniFile((const CHAR *)&ini, "./Config/ShareMemInfo.ini");
- nValue = 0;
- if ( IniFile::ReadInt(&ini, "ShareMem", "KeyCount", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x865u,
- "void Config::LoadShareMemInfo_Only()",
- "FALSE",
- "[Config::LoadShareMemInfo_Only]: INI: read ShareMem::KeyCount failed!!");
- v6 = (unsigned int)nValue < 0xB;
- v7 = nValue == 11;
- this->m_ShareMemInfo.m_SMUObjCount = nValue;
- if ( !v6 && !v7 )
- __assert__(
- "../../Server/Server/Base/Config.cpp",
- 0x861u,
- "void Config::LoadShareMemInfo_Only()",
- "m_ShareMemInfo.m_SMUObjCount<=MAX_SM_OBJ_NUM");
- v1 = this->m_ShareMemInfo.m_SMUObjCount;
- if ( !v1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x86Eu,
- "void Config::LoadShareMemInfo_Only()",
- "FALSE",
- "[Config::LoadShareMemInfo_Only]: 0 >= m_ShareMemInfo.m_SMUObjCount..");
- v2 = (_SHAREMEM_DATA *)operator new[](8 * v1);
- v3 = v2;
- v4 = v2;
- v5 = v1 - 1;
- while ( v5 != -1 )
- {
- v4->m_Key = 0;
- v4->m_Type = -1;
- --v5;
- ++v4;
- }
- this->m_ShareMemInfo.m_pShareData = v3;
- if ( !v3 )
- {
- *(_DWORD *)&szTypeID[12] = this->m_ShareMemInfo.m_SMUObjCount;
- snprintf(
- szLog,
- 0x400u,
- "[Config::LoadShareMemInfo_Only]: alloc memory for _SHAREMEM_DATA[%d] failed!!",
- *(_DWORD *)&szTypeID[12]);
- __assertex__("../../Server/Server/Base/Config.cpp", 0x874u, "void Config::LoadShareMemInfo_Only()", "FALSE", szLog);
- }
- v8 = this->m_ShareMemInfo.m_SMUObjCount;
- v9 = 0;
- if ( v8 )
- {
- do
- {
- *(_DWORD *)&szTypeID[12] = v8;
- memset(szKeyID, 0, 0x100u);
- memset(szTypeID, 0, 0x100u);
- *(_DWORD *)&szTypeID[8] = v9;
- sprintf(szKeyID, "Key%d", v9);
- *(_DWORD *)&szTypeID[8] = v9;
- sprintf(szTypeID, "Type%d", v9);
- if ( IniFile::ReadInt(&ini, "ShareMem", szKeyID, &nValue) != 1 )
- {
- *(_DWORD *)&szTypeID[12] = v9;
- snprintf(szLog, 0x400u, "[Config::LoadShareMemInfo_Only]: INI: read ShareMem::Key[%d] failed!!", v9);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x888u,
- "void Config::LoadShareMemInfo_Only()",
- "FALSE",
- szLog);
- }
- this->m_ShareMemInfo.m_pShareData[v9].m_Key = nValue;
- if ( IniFile::ReadInt(&ini, "ShareMem", szTypeID, &nValue) != 1 )
- {
- *(_DWORD *)&szTypeID[12] = v9;
- snprintf(szLog, 0x400u, "[Config::LoadShareMemInfo_Only]: INI: read ShareMem::TYPE[%d] failed!!", v9);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x891u,
- "void Config::LoadShareMemInfo_Only()",
- "FALSE",
- szLog);
- }
- v8 = nValue;
- this->m_ShareMemInfo.m_pShareData[v9++].m_Type = nValue;
- }
- while ( this->m_ShareMemInfo.m_SMUObjCount > v9 );
- }
- if ( !IniFile::ReadText(&ini, "System", "DBIP", this->m_ShareMemInfo.m_DBIP, 24) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x898u,
- "void Config::LoadShareMemInfo_Only()",
- "FALSE",
- "[Config::LoadShareMemInfo_Only]: INI: read System::DBIP failed!!");
- if ( IniFile::ReadInt(&ini, "System", "DBPort", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x8A0u,
- "void Config::LoadShareMemInfo_Only()",
- "FALSE",
- "[Config::LoadShareMemInfo_Only]: INI: read System::Port failed!!");
- this->m_ShareMemInfo.m_DBPort = nValue;
- if ( !IniFile::ReadText(&ini, "System", "DBName", this->m_ShareMemInfo.m_DBName, 128) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x8A4u,
- "void Config::LoadShareMemInfo_Only()",
- "FALSE",
- "[Config::LoadShareMemInfo_Only]: INI: read System::DBName failed!!");
- if ( !IniFile::ReadText(&ini, "System", "DBUser", this->m_ShareMemInfo.m_DBUser, 32) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x8A8u,
- "void Config::LoadShareMemInfo_Only()",
- "FALSE",
- "[Config::LoadShareMemInfo_Only]: INI: read System::DBUser failed!!");
- if ( !IniFile::ReadText(&ini, "System", "DBPassword", this->m_ShareMemInfo.m_DBPassword, 256) )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x8ACu,
- "void Config::LoadShareMemInfo_Only()",
- "FALSE",
- "[Config::LoadShareMemInfo_Only]: INI: read System::DBPassword failed!!");
- if ( IniFile::ReadInt(&ini, "System", "SMUInterval", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x8B4u,
- "void Config::LoadShareMemInfo_Only()",
- "FALSE",
- "[Config::LoadShareMemInfo_Only]: INI: read System::SMUInterval failed!!");
- this->m_ShareMemInfo.SMUInterval = nValue;
- if ( IniFile::ReadInt(&ini, "System", "DATAInterval", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x8BCu,
- "void Config::LoadShareMemInfo_Only()",
- "FALSE",
- "[Config::LoadShareMemInfo_Only]: INI: read System::DATAInterval failed!!");
- this->m_ShareMemInfo.DATAInterval = nValue;
- if ( IniFile::ReadInt(&ini, "System", "CryptPwd", &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x8C4u,
- "void Config::LoadShareMemInfo_Only()",
- "FALSE",
- "[Config::LoadShareMemInfo_Only]: INI: read System::CryptPwd failed!!");
- this->m_ShareMemInfo.CryptPwd = nValue;
- DiskLog("./Log/Config", "Load ShareMemInfo.ini ...Only OK! ");
- IniFile::~IniFile(&ini);
- }
- //----- (08057D30) --------------------------------------------------------
- void __cdecl Config::LoadShareMemInfo(Config *const this)
- {
- Config::LoadShareMemInfo_Only(this);
- }
- //----- (08057D90) --------------------------------------------------------
- void __cdecl Config::LoadMachineInfo_Only(Config *const this)
- {
- UINT v1; // ebx
- _MACHINE_DATA *v2; // eax
- _MACHINE_DATA *v3; // ecx
- _MACHINE_DATA *v4; // edx
- int v5; // eax
- size_t v6; // eax
- void *v7; // eax
- UINT v8; // ebx
- INT nValue; // [esp+14h] [ebp-E4Ch]
- CHAR szSection[256]; // [esp+18h] [ebp-E48h]
- CHAR szLog[1024]; // [esp+118h] [ebp-D48h]
- IniFile ini; // [esp+518h] [ebp-948h]
- IniFile::IniFile((const CHAR *)&ini, "./Config/MachineInfo.ini");
- nValue = 0;
- if ( IniFile::ReadInt(&ini, "System", aMachine, &nValue) != 1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x8F6u,
- "void Config::LoadMachineInfo_Only()",
- "FALSE",
- "[Config::LoadMachineInfo_Only]: INI: read System::MachineNumber failed!!");
- this->m_MachineInfo.m_MachineCount = nValue;
- v1 = this->m_MachineInfo.m_MachineCount;
- if ( !v1 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x900u,
- "void Config::LoadMachineInfo_Only()",
- "FALSE",
- "[Config::LoadMachineInfo_Only]: 0 >= m_MachineInfo.m_MachineCount");
- v2 = (_MACHINE_DATA *)operator new[](2 * v1);
- v3 = v2;
- v4 = v2;
- v5 = v1 - 1;
- while ( v5 != -1 )
- {
- v4->m_MachineID = -1;
- --v5;
- ++v4;
- }
- this->m_MachineInfo.m_pMachine = v3;
- if ( !v3 )
- {
- *(_DWORD *)&szSection[12] = this->m_MachineInfo.m_MachineCount;
- snprintf(
- szLog,
- 0x400u,
- "[Config::LoadMachineInfo_Only]: alloc memory for _MACHINE_DATA[%d] failed!!",
- *(_DWORD *)&szSection[12]);
- __assertex__("../../Server/Server/Base/Config.cpp", 0x906u, "void Config::LoadMachineInfo_Only()", "FALSE", szLog);
- }
- v6 = 2 * this->m_MachineInfo.m_MachineCount;
- *(_DWORD *)&szSection[44] = v3;
- v7 = memset(v3, 0, v6);
- v8 = 0;
- if ( this->m_MachineInfo.m_MachineCount )
- {
- do
- {
- *(_DWORD *)&szSection[44] = v7;
- memset(szSection, 0, 0x100u);
- this->m_MachineInfo.m_pMachine[v8].m_MachineID = -1;
- *(_DWORD *)&szSection[40] = v8;
- sprintf(szSection, "Machine%d", v8);
- if ( IniFile::ReadInt(&ini, szSection, "MachineID", &nValue) != 1 )
- {
- *(_DWORD *)&szSection[44] = v8;
- snprintf(szLog, 0x400u, "[Config::LoadMachineInfo_Only]: INI: read System::MachineID[%d] failed!!", v8);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x91Cu,
- "void Config::LoadMachineInfo_Only()",
- "FALSE",
- szLog);
- }
- v7 = (void *)nValue;
- this->m_MachineInfo.m_pMachine[v8++].m_MachineID = nValue;
- }
- while ( this->m_MachineInfo.m_MachineCount > v8 );
- }
- DiskLog("./Log/Config", "Load MachineInfo.ini ...Only OK! ");
- IniFile::~IniFile(&ini);
- }
- //----- (08058014) --------------------------------------------------------
- void __cdecl Config::LoadMachineInfo(Config *const this)
- {
- Config::LoadMachineInfo_Only(this);
- Config::LoadMachineInfo_ReLoad(this);
- }
- //----- (0805807C) --------------------------------------------------------
- void __cdecl Config::LoadServerInfo_Only(Config *const this)
- {
- CHAR *v1; // ebx
- int v2; // edi
- int v3; // ST10_4
- int v4; // ecx
- int v5; // ST10_4
- int v6; // ecx
- int v7; // ST10_4
- int v8; // ecx
- int v9; // eax
- int v10; // eax
- int v11; // eax
- int v12; // eax
- int v13; // ecx
- int v14; // edx
- UINT v15; // ebx
- UINT *v16; // eax
- int j; // edx
- int v18; // eax
- signed int v19; // ecx
- signed int v20; // ecx
- int v21; // eax
- UINT v22; // ecx
- int v23; // edi
- _SERVER_DATA *v24; // edx
- _SERVER_DATA *v25; // eax
- signed int v26; // ecx
- _SERVER_DATA *v27; // edx
- _SERVER_DATA *v28; // edx
- _SERVER_DATA *v29; // edx
- int v30; // ebx
- int v31; // eax
- UINT v32; // edi
- int v33; // ebx
- int v34; // [esp+8h] [ebp-F68h]
- CHAR *v35; // [esp+Ch] [ebp-F64h]
- int v36; // [esp+10h] [ebp-F60h]
- UINT i; // [esp+18h] [ebp-F58h]
- _SERVER_DATA *v38; // [esp+1Ch] [ebp-F54h]
- INT nValue; // [esp+24h] [ebp-F4Ch]
- CHAR szTerm[256]; // [esp+28h] [ebp-F48h]
- CHAR szSection[256]; // [esp+128h] [ebp-E48h]
- CHAR szLog[1024]; // [esp+228h] [ebp-D48h]
- IniFile ini; // [esp+628h] [ebp-948h]
- IniFile::IniFile((const CHAR *)&ini, "./Config/ServerInfo.ini");
- nValue = 0;
- if ( !IniFile::ReadText(&ini, "Proxy", "Proxy0ForCncUser", (CHAR *)&this->m_InternalIpofProxy, 24) )
- {
- v1 = szLog;
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: Warning: read Proxy::Proxy0ForCncUser failed!!", 0);
- v2 = v3;
- DiskLog("./Log/Config", szLog);
- }
- if ( !IniFile::ReadText(&ini, "Proxy", "Proxy1ForCncUser", this->m_InternalIpofProxy.m_szProxyForCncUser[1], 24) )
- {
- v1 = szLog;
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: Warning: read Proxy::Proxy1ForCncUser failed!!", v4);
- DiskLog("./Log/Config", szLog);
- }
- if ( !IniFile::ReadText(&ini, "Proxy", "Proxy0ForCtcUser", (CHAR *)this->m_InternalIpofProxy.m_szProxyForCtcUser, 24) )
- {
- v1 = szLog;
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: Warning: read Proxy::Proxy0ForCtcUser failed!!", 0);
- v2 = v5;
- DiskLog("./Log/Config", szLog);
- }
- if ( !IniFile::ReadText(&ini, "Proxy", "Proxy1ForCtcUser", this->m_InternalIpofProxy.m_szProxyForCtcUser[1], 24) )
- {
- v1 = szLog;
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: Warning: read Proxy::Proxy1ForCtcUser failed!!", v6);
- DiskLog("./Log/Config", szLog);
- }
- if ( !IniFile::ReadText(&ini, "Proxy", "Proxy0ForEduUser", (CHAR *)this->m_InternalIpofProxy.m_szProxyForEduUser, 24) )
- {
- v1 = szLog;
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: Warning: read Proxy::Proxy0ForEduUser failed!!", 0);
- v2 = v7;
- DiskLog("./Log/Config", szLog);
- }
- if ( !IniFile::ReadText(&ini, "Proxy", "Proxy1ForEduUser", this->m_InternalIpofProxy.m_szProxyForEduUser[1], 24) )
- {
- v1 = szLog;
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: Warning: read Proxy::Proxy1ForEduUser failed!!", v8);
- DiskLog("./Log/Config", szLog);
- }
- v9 = IniFile::ReadInt(&ini, "System", "EnableEffAudit", &nValue) - 1;
- if ( v9 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read System::EnableEffAudit failed!!", v9);
- __assertex__("../../Server/Server/Base/Config.cpp", 0x985u, "void Config::LoadServerInfo_Only()", "FALSE", szLog);
- }
- if ( nValue )
- this->m_ServerInfo.m_bEnableEffAudit = 1;
- v10 = IniFile::ReadInt(&ini, "System", "EffAuditSaveResultInterval", &nValue) - 1;
- if ( v10 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read System::EffAuditSaveResultInterval failed!!", v10);
- __assertex__("../../Server/Server/Base/Config.cpp", 0x993u, "void Config::LoadServerInfo_Only()", "FALSE", szLog);
- }
- if ( nValue > 0 )
- this->m_ServerInfo.m_uiSaveResultInterval = nValue;
- v11 = IniFile::ReadInt(&ini, "System", "EffAuditReportInterval", &nValue) - 1;
- if ( v11 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read System::EffAuditReportInterval failed!!", v11);
- __assertex__("../../Server/Server/Base/Config.cpp", 0x9A1u, "void Config::LoadServerInfo_Only()", "FALSE", szLog);
- }
- if ( nValue > 0 )
- this->m_ServerInfo.m_uiReportInterval = nValue;
- v12 = IniFile::ReadInt(&ini, "System", "EnableEffAuditSceneID_1ST", &nValue) - 1;
- if ( v12 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read System::EnableEffAuditSceneID_1ST failed!!", v12);
- __assertex__("../../Server/Server/Base/Config.cpp", 0x9AFu, "void Config::LoadServerInfo_Only()", "FALSE", szLog);
- }
- if ( nValue >= 0 )
- this->m_ServerInfo.m_idEnableEffSceneID_1ST = nValue;
- if ( IniFile::ReadInt(&ini, "System", "EnableEffAuditSceneID_2ND", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read System::EnableEffAuditSceneID_2ND failed!!", v2);
- __assertex__("../../Server/Server/Base/Config.cpp", 0x9BDu, "void Config::LoadServerInfo_Only()", "FALSE", szLog);
- }
- if ( nValue >= 0 )
- this->m_ServerInfo.m_idEnableEffSceneID_2ND = nValue;
- if ( IniFile::ReadInt(&ini, "System", "EnableEffAuditSceneID_3RD", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read System::EnableEffAuditSceneID_3RD failed!!", v1);
- __assertex__("../../Server/Server/Base/Config.cpp", 0x9CBu, "void Config::LoadServerInfo_Only()", "FALSE", szLog);
- }
- if ( nValue >= 0 )
- this->m_ServerInfo.m_idEnableEffSceneID_3RD = nValue;
- if ( IniFile::ReadInt(&ini, "System", "CurrentServerID", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read System::CurrentServerID failed!!", v13);
- __assertex__("../../Server/Server/Base/Config.cpp", 0x9D6u, "void Config::LoadServerInfo_Only()", "FALSE", szLog);
- }
- this->m_ServerInfo.m_ServerID = nValue;
- if ( IniFile::ReadInt(&ini, "System", "ServerNumber", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read System::ServerNumber failed!!", v14);
- __assertex__("../../Server/Server/Base/Config.cpp", 0x9E1u, "void Config::LoadServerInfo_Only()", "FALSE", szLog);
- }
- this->m_ServerInfo.m_ServerCount = nValue;
- v15 = this->m_ServerInfo.m_ServerCount;
- if ( !v15 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0x9EBu,
- "void Config::LoadServerInfo_Only()",
- "FALSE",
- "[Config::LoadServerInfo_Only]: 0 >= m_ServerInfo.m_ServerCount");
- v16 = (UINT *)operator new[](192 * v15 + 4);
- v38 = (_SERVER_DATA *)(v16 + 1);
- *v16 = v15;
- for ( j = (int)(v16 + 1); --v15 != -1; j += 192 )
- {
- v18 = j + 64;
- v19 = 2;
- do
- {
- --v19;
- *(_WORD *)v18 = -1;
- *(_DWORD *)(v18 + 28) = -1;
- *(_DWORD *)(v18 + 32) = 0;
- *(_BYTE *)(v18 + 2) = 0;
- v18 += 36;
- }
- while ( v19 != -1 );
- *(_WORD *)j = -1;
- *(_WORD *)(j + 2) = -1;
- memset((void *)(j + 4), 0, 0x18u);
- *(_DWORD *)(j + 28) = 0;
- memset((void *)(j + 32), 0, 0x18u);
- v20 = 2;
- *(_DWORD *)(j + 56) = 0;
- *(_DWORD *)(j + 60) = -1;
- v21 = j;
- do
- {
- *(_WORD *)(v21 + 64) = -1;
- *(_BYTE *)(v21 + 66) = 0;
- *(_DWORD *)(v21 + 92) = -1;
- *(_DWORD *)(v21 + 96) = 0;
- v21 += 36;
- --v20;
- }
- while ( v20 >= 0 );
- *(_DWORD *)(j + 188) = 0;
- }
- this->m_ServerInfo.m_pServer = v38;
- if ( !v38 )
- {
- snprintf(
- szLog,
- 0x400u,
- "[Config::LoadServerInfo_Only]: alloc memory for _SERVER_DATA[%d] failed!!",
- this->m_ServerInfo.m_ServerCount);
- __assertex__("../../Server/Server/Base/Config.cpp", 0x9F1u, "void Config::LoadServerInfo_Only()", "FALSE", szLog);
- }
- v22 = 192 * this->m_ServerInfo.m_ServerCount >> 2;
- memset(v38, 0, 4 * v22);
- v23 = (int)v38 + 4 * v22;
- i = 0;
- if ( this->m_ServerInfo.m_ServerCount )
- {
- v34 = 0;
- do
- {
- memset(szSection, 0, 0x100u);
- v24 = &this->m_ServerInfo.m_pServer[v34];
- v24->m_ServerID = -1;
- v24->m_MachineID = -1;
- memset(v24->m_IP0, 0, sizeof(v24->m_IP0));
- v24->m_Port0 = 0;
- memset(v24->m_IP1, 0, sizeof(v24->m_IP1));
- v24->m_Port1 = 0;
- v24->m_Type = -1;
- v25 = v24;
- v26 = 2;
- do
- {
- v25->m_aProxy[0].m_nIsp = -1;
- v25->m_aProxy[0].m_szIP[0] = 0;
- v25->m_aProxy[0].m_nPort = -1;
- v25->m_aProxy[0].m_bEnabled = 0;
- v25 = (_SERVER_DATA *)((char *)v25 + 36);
- --v26;
- }
- while ( v26 >= 0 );
- v24->m_EnableShareMem = 0;
- sprintf(szSection, "Server%d", i, v25);
- if ( IniFile::ReadInt(&ini, szSection, "ServerID", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read %s::ServerID failed!!", szSection);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xA07u,
- "void Config::LoadServerInfo_Only()",
- "FALSE",
- szLog);
- }
- this->m_ServerInfo.m_pServer[v34].m_ServerID = nValue;
- if ( IniFile::ReadInt(&ini, szSection, "MachineID", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read %s::MachineID failed!!", szSection);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xA11u,
- "void Config::LoadServerInfo_Only()",
- "FALSE",
- szLog);
- }
- v27 = this->m_ServerInfo.m_pServer;
- v27[v34].m_MachineID = nValue;
- if ( !IniFile::ReadText(&ini, szSection, "IP0", v27[v34].m_IP0, 24) )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read %s::IP0 failed!!", szSection);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xA17u,
- "void Config::LoadServerInfo_Only()",
- "FALSE",
- szLog);
- }
- if ( IniFile::ReadInt(&ini, szSection, "Port0", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read %s::Port0 failed!!", szSection);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xA21u,
- "void Config::LoadServerInfo_Only()",
- "FALSE",
- szLog);
- }
- v28 = this->m_ServerInfo.m_pServer;
- v28[v34].m_Port0 = nValue;
- if ( !IniFile::ReadText(&ini, szSection, "IP1", v28[v34].m_IP1, 24) )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read %s::IP1 failed!!", szSection);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xA27u,
- "void Config::LoadServerInfo_Only()",
- "FALSE",
- szLog);
- }
- if ( IniFile::ReadInt(&ini, szSection, "Port1", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read %s::Port1 failed!!", szSection);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xA31u,
- "void Config::LoadServerInfo_Only()",
- "FALSE",
- szLog);
- }
- v29 = this->m_ServerInfo.m_pServer;
- v29[v34].m_Port1 = nValue;
- v23 = 0;
- v35 = g_szIspID;
- v30 = (int)&v29[v34];
- do
- {
- *(_WORD *)(v30 + 64) = v23;
- snprintf(szTerm, 0x100u, "%s(%s)", 135015528, v35);
- szTerm[255] = 0;
- if ( !IniFile::ReadText(&ini, szSection, szTerm, (CHAR *)(v30 + 66), 24) )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read %s::%s failed!!", szSection, szTerm);
- szLog[1023] = 0;
- DiskLog("./Log/Config", szLog);
- LABEL_71:
- *(_DWORD *)(v30 + 96) = 0;
- goto LABEL_72;
- }
- snprintf(szTerm, 0x100u, "%s(%s)", 135015533, v35);
- szTerm[255] = 0;
- if ( IniFile::ReadInt(&ini, szSection, szTerm, &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read %s::%s failed!!", szSection, szTerm);
- szLog[1023] = 0;
- DiskLog("./Log/Config", szLog);
- goto LABEL_71;
- }
- *(_DWORD *)(v30 + 92) = nValue;
- *(_DWORD *)(v30 + 96) = 1;
- LABEL_72:
- ++v23;
- v30 += 36;
- v35 += 16;
- }
- while ( v23 <= 2 );
- if ( IniFile::ReadInt(&ini, szSection, "Type", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read %s::Type failed!!", szSection);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xA65u,
- "void Config::LoadServerInfo_Only()",
- "FALSE",
- szLog);
- }
- this->m_ServerInfo.m_pServer[v34].m_Type = nValue;
- if ( IniFile::ReadInt(&ini, szSection, "HumanSMKey", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read %s::HumanSMKey failed!!", szSection);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xA6Fu,
- "void Config::LoadServerInfo_Only()",
- "FALSE",
- szLog);
- }
- this->m_ServerInfo.m_pServer[v34].m_HumanSMKey = nValue;
- if ( IniFile::ReadInt(&ini, szSection, "PlayShopSMKey", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read %s::PlayShopSMKey failed!!", szSection);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xA79u,
- "void Config::LoadServerInfo_Only()",
- "FALSE",
- szLog);
- }
- this->m_ServerInfo.m_pServer[v34].m_PlayShopSMKey = nValue;
- if ( IniFile::ReadInt(&ini, szSection, "ItemSerialKey", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read %s::ItemSerialKey failed!!", szSection);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xA83u,
- "void Config::LoadServerInfo_Only()",
- "FALSE",
- szLog);
- }
- this->m_ServerInfo.m_pServer[v34].m_ItemSerialKey = nValue;
- if ( IniFile::ReadInt(&ini, szSection, "CommisionShopKey", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read %s::CommisionShopKey failed!!", szSection);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xA8Du,
- "void Config::LoadServerInfo_Only()",
- "FALSE",
- szLog);
- }
- this->m_ServerInfo.m_pServer[v34].m_CommionShopSMKey = nValue;
- if ( IniFile::ReadInt(&ini, szSection, "EnableShareMem", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read %s::EnableShareMem failed!!", szSection);
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xA97u,
- "void Config::LoadServerInfo_Only()",
- "FALSE",
- szLog);
- }
- this->m_ServerInfo.m_pServer[v34].m_EnableShareMem = nValue;
- ++i;
- ++v34;
- }
- while ( this->m_ServerInfo.m_ServerCount > i );
- }
- if ( !IniFile::ReadText(&ini, "World", "IP", this->m_ServerInfo.m_World.m_IP, 24) )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read World::IP failed!!", 0);
- __assertex__("../../Server/Server/Base/Config.cpp", 0xAAEu, "void Config::LoadServerInfo_Only()", "FALSE", szLog);
- }
- v31 = IniFile::ReadInt(&ini, "World", "Port", &nValue) - 1;
- if ( v31 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read World::Port failed!!", v31);
- __assertex__("../../Server/Server/Base/Config.cpp", 0xAB8u, "void Config::LoadServerInfo_Only()", "FALSE", szLog);
- }
- this->m_ServerInfo.m_World.m_Port = nValue;
- if ( !IniFile::ReadText(&ini, "Mother", "IP", this->m_ServerInfo.m_Mother.m_IP, 24) )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read Mother::IP failed!!", 0);
- __assertex__("../../Server/Server/Base/Config.cpp", 0xABFu, "void Config::LoadServerInfo_Only()", "FALSE", szLog);
- }
- if ( IniFile::ReadInt(&ini, "Mother", "Port", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadServerInfo_Only]: INI: read Mother::Port failed!!", v23);
- __assertex__("../../Server/Server/Base/Config.cpp", 0xAC9u, "void Config::LoadServerInfo_Only()", "FALSE", szLog);
- }
- this->m_ServerInfo.m_Mother.m_Port = nValue;
- v32 = 0;
- if ( this->m_ServerInfo.m_ServerCount )
- {
- v36 = 0;
- do
- {
- LOWORD(v33) = this->m_ServerInfo.m_pServer[v36].m_ServerID;
- if ( (_WORD)v33 == -1 || (signed __int16)v33 > 255 )
- __assert__(
- "../../Server/Server/Base/Config.cpp",
- 0xAD3u,
- "void Config::LoadServerInfo_Only()",
- "ServerID != INVALID_ID && ServerID < OVER_MAX_SERVER");
- v33 = (signed __int16)v33;
- if ( this->m_ServerInfo.m_HashServer[(signed __int16)v33] != -1 )
- __assert__(
- "../../Server/Server/Base/Config.cpp",
- 0xAD5u,
- "void Config::LoadServerInfo_Only()",
- "m_ServerInfo.m_HashServer[ServerID] == -1");
- this->m_ServerInfo.m_HashServer[v33] = v32++;
- ++v36;
- }
- while ( this->m_ServerInfo.m_ServerCount > v32 );
- }
- DiskLog("./Log/Config", "Load ServerInfo.ini ...Only OK! ");
- IniFile::~IniFile(&ini);
- }
- //----- (0805932C) --------------------------------------------------------
- void __cdecl Config::LoadServerInfo(Config *const this)
- {
- Config::LoadServerInfo_Only(this);
- Config::LoadServerInfo_ReLoad(this);
- }
- //----- (08059394) --------------------------------------------------------
- void __cdecl Config::LoadSceneInfo_Only(Config *const this)
- {
- int v1; // ecx
- UINT v2; // edi
- _SCENE_DATA *v3; // ebx
- UINT v4; // eax
- int v5; // edi
- Config *v6; // ST30_4
- _SCENE_DATA *v7; // edx
- Config *v8; // ST30_4
- int v9; // eax
- UINT i; // [esp+10h] [ebp-E60h]
- UINT ia; // [esp+10h] [ebp-E60h]
- _SCENE_DATA *v12; // [esp+14h] [ebp-E5Ch]
- Config *this_0; // [esp+18h] [ebp-E58h]
- Config *this_0a; // [esp+18h] [ebp-E58h]
- Config *this_0b; // [esp+18h] [ebp-E58h]
- Config *this_0c; // [esp+18h] [ebp-E58h]
- Config *this_0d; // [esp+18h] [ebp-E58h]
- Config *this_0e; // [esp+18h] [ebp-E58h]
- Config *this_0f; // [esp+18h] [ebp-E58h]
- Config *this_0g; // [esp+18h] [ebp-E58h]
- Config *this_0h; // [esp+18h] [ebp-E58h]
- Config *this_0i; // [esp+18h] [ebp-E58h]
- INT nEndPlus; // [esp+1Ch] [ebp-E54h]
- INT nBeginPlus; // [esp+20h] [ebp-E50h]
- INT nValue; // [esp+24h] [ebp-E4Ch]
- CHAR szSection[256]; // [esp+28h] [ebp-E48h]
- CHAR szLog[1024]; // [esp+128h] [ebp-D48h]
- IniFile ini; // [esp+528h] [ebp-948h]
- IniFile::IniFile((const CHAR *)&ini, "./Config/SceneInfo.ini");
- if ( IniFile::ReadInt(&ini, "system", "scenenumber", &nValue) != 1 )
- {
- snprintf(szLog, 0x400u, "[Config::LoadSceneInfo_Only]: INI: read system::scenenumber failed!!", v1);
- __assertex__("../../Server/Server/Base/Config.cpp", 0xB03u, "void Config::LoadSceneInfo_Only()", "FALSE", szLog);
- }
- this->m_SceneInfo.m_SceneCount = nValue;
- v2 = this->m_SceneInfo.m_SceneCount;
- if ( !v2 )
- __assertex__(
- "../../Server/Server/Base/Config.cpp",
- 0xB0Du,
- "void Config::LoadSceneInfo_Only()",
- "FALSE",
- "[Config::LoadSceneInfo_Only]: 0 >= m_SceneInfo.m_SceneCount");
- v3 = (_SCENE_DATA *)operator new[](568 * v2);
- v12 = v3;
- while ( --v2 != -1 )
- {
- v3->m_SceneID = -1;
- v3->m_IsActive = 1;
- memset(v3->m_szName, 0, 0x104u);
- memset(v3->m_szFileName, 0, 0x104u);
- v3->m_ServerID = -1;
- v3->m_Type = -1;
- v3->m_ThreadIndex = -1;
- v3->m_ClientRes = -1;
- v3->m_Commerce = -1;
- v3->m_nPvpRuler = -1;
- v3->m_bNoPkPenalty = 0;
- v3->m_nIsReLive = 0;
- v3->m_BeginPlus = 0;
- v3->m_ClientResEx = -1;
- v3->m_EndPlus = 0;
- ++v3;
- }
- this->m_SceneInfo.m_pScene = v12;
- if ( !v12 )
- {
- nValue = this->m_SceneInfo.m_SceneCount;
- snprintf(szLog, 0x400u, "[Config::LoadSceneInfo_Only]: alloc memory for _SCENE_DATA[%d] failed!!", nValue);
- __assertex__("../../Server/Server/Base/Config.cpp", 0xB13u, "void Config::LoadSceneInfo_Only()", "FALSE", szLog);
- }
- memset(v12, 0, 4 * (568 * this->m_SceneInfo.m_SceneCount >> 2));
- v4 = this->m_SceneInfo.m_SceneCount;
- i = 0;
- if ( v4 )
- {
- v5 = 0;
- do
- {
- nValue = v4;
- memset(szSection, 0, 0x100u);
- nBeginPlus = i;
- sprintf(szSection, "scene%d", i);
- v6->m_SceneInfo.m_pScene[v5].m_SceneID = i;
- if ( IniFile::ReadInt(&ini, szSection, "active", &nValue) != 1 )
- {
- nValue = (INT)szSection;
- snprintf(szLog, 0x400u, "[Config::LoadSceneInfo_Only]: INI: read %s::active failed!!", szSection);
- __assertex__("../../Server/Server/Base/Config.cpp", 0xB29u, "void Config::LoadSceneInfo_Only()", "FALSE", szLog);
- }
- v7 = this_0->m_SceneInfo.m_pScene;
- v7[v5].m_IsActive = nValue;
- if ( !IniFile::ReadText(&ini, szSection, "name", v7[v5].m_szName, 260) )
- {
- nValue = (INT)szSection;
- snprintf(szLog, 0x400u, "[Config::LoadSceneInfo_Only]: INI: read %s::name failed!!", szSection);
- __assertex__("../../Server/Server/Base/Config.cpp", 0xB30u, "void Config::LoadSceneInfo_Only()", "FALSE", szLog);
- }
- if ( !IniFile::ReadText(&ini, szSection, "file", (CHAR *)(v5 * 568 + MEMORY[0xBD8] + 268), 260) )
- {
- nValue = (INT)szSection;
- snprintf(szLog, 0x400u, "[Config::LoadSceneInfo_Only]: INI: read %s::file failed!!", szSection);
- __assertex__("../../Server/Server/Base/Config.cpp", 0xB37u, "void Config::LoadSceneInfo_Only()", "FALSE", szLog);
- }
- if ( IniFile::ReadInt(&ini, szSection, "serverid", &nValue) != 1 )
- {
- nValue = (INT)szSection;
- snprintf(szLog, 0x400u, "[Config::LoadSceneInfo_Only]: INI: read %s::serverid failed!!", szSection);
- __assertex__("../../Server/Server/Base/Config.cpp", 0xB42u, "void Config::LoadSceneInfo_Only()", "FALSE", szLog);
- }
- this_0a->m_SceneInfo.m_pScene[v5].m_ServerID = nValue;
- if ( IniFile::ReadInt(&ini, szSection, "type", &nValue) != 1 )
- {
- nValue = (INT)szSection;
- snprintf(szLog, 0x400u, "[Config::LoadSceneInfo_Only]: INI: read %s::type failed!!", szSection);
- __assertex__("../../Server/Server/Base/Config.cpp", 0xB4Du, "void Config::LoadSceneInfo_Only()", "FALSE", szLog);
- }
- this_0b->m_SceneInfo.m_pScene[v5].m_Type = nValue;
- if ( IniFile::ReadInt(&ini, szSection, "threadindex", &nValue) != 1 )
- {
- nValue = (INT)szSection;
- snprintf(szLog, 0x400u, "[Config::LoadSceneInfo_Only]: INI: read %s::threadindex failed!!", szSection);
- __assertex__("../../Server/Server/Base/Config.cpp", 0xB58u, "void Config::LoadSceneInfo_Only()", "FALSE", szLog);
- }
- this_0c->m_SceneInfo.m_pScene[v5].m_ThreadIndex = nValue;
- if ( IniFile::ReadInt(&ini, szSection, "clientres", &nValue) != 1 )
- {
- nValue = (INT)szSection;
- snprintf(szLog, 0x400u, "[Config::LoadSceneInfo_Only]: INI: read %s::clientres failed!!", szSection);
- __assertex__("../../Server/Server/Base/Config.cpp", 0xB63u, "void Config::LoadSceneInfo_Only()", "FALSE", szLog);
- }
- this_0d->m_SceneInfo.m_pScene[v5].m_ClientRes = nValue;
- if ( IniFile::ReadInt(&ini, szSection, "commerce", &nValue) == 1 )
- this_0e->m_SceneInfo.m_pScene[v5].m_Commerce = nValue;
- if ( IniFile::ReadInt(&ini, szSection, "PvpRuler", &nValue) == 1 )
- this_0f->m_SceneInfo.m_pScene[v5].m_nPvpRuler = nValue;
- else
- this_0f->m_SceneInfo.m_pScene[v5].m_nPvpRuler = 0;
- if ( IniFile::ReadInt(&ini, szSection, "NoPkPenalty", &nValue) == 1 )
- this_0g->m_SceneInfo.m_pScene[v5].m_bNoPkPenalty = nValue == 1;
- else
- this_0g->m_SceneInfo.m_pScene[v5].m_bNoPkPenalty = 0;
- if ( IniFile::ReadInt(&ini, szSection, "IsReLive", &nValue) == 1 )
- this_0h->m_SceneInfo.m_pScene[v5].m_nIsReLive = nValue;
- else
- this_0h->m_SceneInfo.m_pScene[v5].m_nIsReLive = 0;
- IniFile::ReadInt(&ini, 0, 0, &nBeginPlus);
- if ( IniFile::ReadInt(&ini, szSection, asc_80C3048, &nValue) == 1 )
- this_0i->m_SceneInfo.m_pScene[v5].m_ClientResEx = nValue;
- IniFile::ReadInt(&ini, szSection, "EndPlus", &nEndPlus);
- v9 = (int)&v8->m_SceneInfo.m_pScene[v5];
- *(_DWORD *)(v9 + 556) = nBeginPlus;
- i = ia + 1;
- *(_DWORD *)(v9 + 564) = nEndPlus;
- v4 = i;
- ++v5;
- }
- while ( v8->m_SceneInfo.m_SceneCount > i );
- }
- DiskLog("./Log/Config", "Load SceneInfo.ini ...Only OK! ");
- IniFile::~IniFile(&ini);
- }
- //----- (08059BCC) --------------------------------------------------------
- void __cdecl Config::LoadSceneInfo(Config *const this)
- {
- Config::LoadSceneInfo_Only(this);
- Config::LoadSceneInfo_ReLoad(this);
- }
- //----- (08059C34) --------------------------------------------------------
- BOOL __cdecl Config::Init(Config *const this)
- {
- Config::LoadConfigInfo(this);
- Config::LoadLoginInfo(this);
- Config::LoadWorldInfo(this);
- Config::LoadShareMemInfo(this);
- Config::LoadBillingInfo(this);
- Config::LoadMachineInfo(this);
- Config::LoadServerInfo(this);
- Config::LoadSceneInfo(this);
- return 1;
- }
- //----- (08059CD0) --------------------------------------------------------
- ID_t __cdecl Config::SceneID2ServerID(const Config *const this, SceneID_t sID)
- {
- if ( sID < 0 )
- __assert__(
- "../../Server/Server/Base/Config.cpp",
- 0xBB5u,
- "ID_t Config::SceneID2ServerID(SceneID_t) const",
- "sID>=0");
- if ( sID >= (signed int)this->m_SceneInfo.m_SceneCount )
- __assert__(
- "../../Server/Server/Base/Config.cpp",
- 0xBB6u,
- "ID_t Config::SceneID2ServerID(SceneID_t) const",
- "sID<(INT)m_SceneInfo.m_SceneCount");
- return this->m_SceneInfo.m_pScene[sID].m_ServerID;
- }
- //----- (08059D98) --------------------------------------------------------
- ID_t __cdecl Config::Key2ServerID(const Config *const this, SM_KEY key)
- {
- UINT v2; // ecx
- UINT v3; // edx
- _SERVER_DATA *v4; // eax
- if ( !key )
- __assert__("../../Server/Server/Base/Config.cpp", 0xBC3u, "ID_t Config::Key2ServerID(SM_KEY) const", "key>0");
- v2 = this->m_ServerInfo.m_ServerCount;
- v3 = 0;
- if ( !v2 )
- return -1;
- v4 = this->m_ServerInfo.m_pServer;
- while ( !v4->m_EnableShareMem
- || v4->m_ItemSerialKey != key && v4->m_PlayShopSMKey != key && v4->m_CommionShopSMKey != key )
- {
- ++v3;
- ++v4;
- if ( v2 <= v3 )
- return -1;
- }
- return v4->m_ServerID;
- }
- //----- (08059E60) --------------------------------------------------------
- int __cdecl Config::WorldID(int a2)
- {
- return *(signed __int16 *)(a2 + 1618);
- }
- //----- (08059E70) --------------------------------------------------------
- void __cdecl _tcf_0_8(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08059E80) --------------------------------------------------------
- void __cdecl _tcf_1_0(void *a1)
- {
- Config::~Config(&g_Config);
- }
- //----- (08059E90) --------------------------------------------------------
- void `global constructor keyed to'g_Config()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_8, 0, &_dso_handle);
- Config::Config(&g_Config);
- __cxa_atexit(_tcf_1_0, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08059EDC) --------------------------------------------------------
- void __cdecl _BILLING_DATA::~_BILLING_DATA(_DWORD *a2)
- {
- *a2 = off_80BD1A8;
- }
- // 80BD1A8: using guessed type _DWORD (__cdecl *off_80BD1A8[2])(_BILLING_DATA *this);
- //----- (08059EEC) --------------------------------------------------------
- void __cdecl _BILLING_DATA::~_BILLING_DATA(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80BD1A8;
- operator delete(a2);
- }
- // 80BD1A8: using guessed type _DWORD (__cdecl *off_80BD1A8[2])(_BILLING_DATA *this);
- //----- (08059F00) --------------------------------------------------------
- void __cdecl _BILLING_INFO::~_BILLING_INFO(_BILLING_INFO *const this)
- {
- _BILLING_DATA **v1; // ecx
- INT v2; // eax
- INT v3; // ebx
- _BILLING_DATA *v4; // edx
- v1 = this->m_pInfo;
- this->_vptr__BILLING_INFO = (int (**)(...))off_80BD1D0;
- if ( v1 )
- {
- v2 = this->m_nNumber;
- if ( v2 > 0 )
- {
- v3 = 0;
- do
- {
- while ( 1 )
- {
- v4 = v1[v3];
- if ( v4 )
- break;
- if ( v2 <= ++v3 )
- goto LABEL_7;
- }
- (*((void (__cdecl **)(_BILLING_DATA *))v4->_vptr__BILLING_DATA + 1))(v1[v3]);
- v1 = this->m_pInfo;
- v1[v3] = 0;
- v2 = this->m_nNumber;
- ++v3;
- }
- while ( v2 > v3 );
- LABEL_7:
- if ( v1 )
- operator delete[](v1);
- this->m_pInfo = 0;
- }
- }
- this->m_nNumber = 0;
- this->m_nCur = 0;
- this->m_bUse = 0;
- }
- // 80BD1D0: using guessed type _DWORD (__cdecl *off_80BD1D0[2])(_BILLING_INFO *this);
- //----- (08059F84) --------------------------------------------------------
- void __cdecl _BILLING_INFO::~_BILLING_INFO(_BILLING_INFO *const this)
- {
- _BILLING_DATA **v1; // ecx
- INT v2; // eax
- INT v3; // ebx
- _BILLING_DATA *v4; // edx
- v1 = this->m_pInfo;
- this->_vptr__BILLING_INFO = (int (**)(...))off_80BD1D0;
- if ( v1 )
- {
- v2 = this->m_nNumber;
- if ( v2 > 0 )
- {
- v3 = 0;
- do
- {
- while ( 1 )
- {
- v4 = v1[v3];
- if ( v4 )
- break;
- if ( v2 <= ++v3 )
- goto LABEL_7;
- }
- (*((void (__cdecl **)(_BILLING_DATA *))v4->_vptr__BILLING_DATA + 1))(v1[v3]);
- v1 = this->m_pInfo;
- v1[v3] = 0;
- v2 = this->m_nNumber;
- ++v3;
- }
- while ( v2 > v3 );
- LABEL_7:
- if ( v1 )
- operator delete[](v1);
- this->m_pInfo = 0;
- }
- }
- this->m_nNumber = 0;
- this->m_nCur = 0;
- this->m_bUse = 0;
- operator delete((IPRegionTable *const )this);
- }
- // 80BD1D0: using guessed type _DWORD (__cdecl *off_80BD1D0[2])(_BILLING_INFO *this);
- //----- (0805A00C) --------------------------------------------------------
- void __cdecl Log::Log(Log *const this)
- {
- pthread_mutex_t *v1; // ebx
- signed int v2; // esi
- signed int v3; // eax
- v1 = (pthread_mutex_t *)this->m_LogLock;
- v2 = 28;
- do
- {
- --v2;
- pthread_mutex_init(v1, 0);
- ++v1;
- }
- while ( v2 != -1 );
- v3 = 0;
- do
- {
- this->m_LogCache[v3] = 0;
- this->m_LogPos[v3] = 0;
- this->m_LogDiskSize[v3] = 0;
- this->m_LogDiskHold[v3++] = 0;
- }
- while ( v3 <= 28 );
- this->m_pLogSaveDisk = 0;
- this->m_CacheSize = 0;
- this->m_CurDay = 0;
- }
- //----- (0805A094) --------------------------------------------------------
- void __cdecl Log::Log(Log *const this)
- {
- pthread_mutex_t *v1; // ebx
- signed int v2; // esi
- signed int v3; // eax
- v1 = (pthread_mutex_t *)this->m_LogLock;
- v2 = 28;
- do
- {
- --v2;
- pthread_mutex_init(v1, 0);
- ++v1;
- }
- while ( v2 != -1 );
- v3 = 0;
- do
- {
- this->m_LogCache[v3] = 0;
- this->m_LogPos[v3] = 0;
- this->m_LogDiskSize[v3] = 0;
- this->m_LogDiskHold[v3++] = 0;
- }
- while ( v3 <= 28 );
- this->m_pLogSaveDisk = 0;
- this->m_CacheSize = 0;
- this->m_CurDay = 0;
- }
- //----- (0805A11C) --------------------------------------------------------
- void __cdecl Log::~Log(Log *const this)
- {
- signed int v1; // ebx
- pthread_mutex_t *i; // ebx
- v1 = 0;
- do
- {
- while ( !this->m_LogCache[v1] )
- {
- this->m_LogPos[v1++] = 0;
- if ( v1 > 28 )
- goto LABEL_5;
- }
- operator delete[](this->m_LogCache[v1]);
- this->m_LogCache[v1] = 0;
- this->m_LogPos[v1++] = 0;
- }
- while ( v1 <= 28 );
- LABEL_5:
- if ( this->m_pLogSaveDisk )
- {
- operator delete[](this->m_pLogSaveDisk);
- this->m_pLogSaveDisk = 0;
- }
- this->m_CacheSize = 0;
- if ( this != (Log *const )-232 )
- {
- for ( i = (pthread_mutex_t *)this->m_LogDiskSize; this->m_LogLock != (MyLock *)i; pthread_mutex_destroy(i) )
- --i;
- }
- }
- //----- (0805A1BC) --------------------------------------------------------
- void __cdecl Log::~Log(Log *const this)
- {
- signed int v1; // ebx
- pthread_mutex_t *i; // ebx
- v1 = 0;
- do
- {
- while ( !this->m_LogCache[v1] )
- {
- this->m_LogPos[v1++] = 0;
- if ( v1 > 28 )
- goto LABEL_5;
- }
- operator delete[](this->m_LogCache[v1]);
- this->m_LogCache[v1] = 0;
- this->m_LogPos[v1++] = 0;
- }
- while ( v1 <= 28 );
- LABEL_5:
- if ( this->m_pLogSaveDisk )
- {
- operator delete[](this->m_pLogSaveDisk);
- this->m_pLogSaveDisk = 0;
- }
- this->m_CacheSize = 0;
- if ( this != (Log *const )-232 )
- {
- for ( i = (pthread_mutex_t *)this->m_LogDiskSize; this->m_LogLock != (MyLock *)i; pthread_mutex_destroy(i) )
- --i;
- }
- }
- //----- (0805A25C) --------------------------------------------------------
- BOOL __cdecl Log::Init(Log *const this, INT cachesize)
- {
- signed int v2; // ebx
- CHAR *v3; // eax
- CHAR *v4; // eax
- CHAR *v5; // edx
- BOOL result; // eax
- if ( cachesize <= 0 )
- this->m_CacheSize = 0x400000;
- else
- this->m_CacheSize = cachesize;
- v2 = 0;
- do
- {
- v3 = (CHAR *)operator new[](this->m_CacheSize);
- this->m_LogCache[v2] = v3;
- if ( !v3 )
- return 0;
- memset(v3, 0, this->m_CacheSize);
- this->m_LogPos[v2] = 0;
- this->m_LogDiskSize[v2] = 0;
- this->m_LogDiskHold[v2++] = 0;
- }
- while ( v2 <= 28 );
- v4 = (CHAR *)operator new[](this->m_CacheSize);
- v5 = v4;
- this->m_pLogSaveDisk = v4;
- result = 0;
- if ( v5 )
- {
- memset(v5, 0, this->m_CacheSize);
- result = 1;
- }
- return result;
- }
- //----- (0805A358) --------------------------------------------------------
- void __cdecl Log::DisplayLog(Log *const this, const CHAR *szMsg)
- {
- if ( g_Command_LogPrint == 1 )
- printf("%s", szMsg);
- }
- //----- (0805A3CC) --------------------------------------------------------
- void __cdecl Log::CacheLog(Log *const this, INT logid, const CHAR *szMsg)
- {
- signed int v3; // edi
- int v4; // edx
- int v5; // eax
- if ( g_Command_LogActive == 1 && (unsigned int)logid <= 0x1C )
- {
- v3 = strlen(szMsg);
- if ( v3 > 0 )
- {
- pthread_mutex_lock(&this->m_LogLock[logid].m_Mutex);
- v4 = this->m_LogPos[logid];
- if ( v4 < this->m_CacheSize - v3 )
- {
- memcpy(&this->m_LogCache[logid][v4], szMsg, v3);
- v5 = v3 + this->m_LogDiskSize[logid];
- this->m_LogPos[logid] += v3;
- if ( v5 <= 0x40000000 )
- {
- this->m_LogDiskSize[logid] = v5;
- }
- else
- {
- ++this->m_LogDiskHold[logid];
- this->m_LogDiskSize[logid] = v3;
- }
- }
- pthread_mutex_unlock(&this->m_LogLock[logid].m_Mutex);
- Log::DisplayLog(this, szMsg);
- }
- }
- }
- //----- (0805A4DC) --------------------------------------------------------
- void __cdecl Log::GetLogName(Log *const this, INT logid, CHAR *szName)
- {
- void *v3; // eax
- TimeManager *v4; // ecx
- int v5; // eax
- signed int v6; // eax
- if ( (unsigned int)logid <= 0x1C && szName )
- {
- v3 = memset(szName, 0, 0x104u);
- v4 = g_pTimeManager;
- if ( g_pTimeManager )
- {
- v5 = g_pTimeManager->m_TM.tm_mday;
- if ( this->m_CurDay != v5 )
- {
- this->m_CurDay = v5;
- v6 = 0;
- do
- {
- this->m_LogDiskSize[v6] = 0;
- this->m_LogDiskHold[v6++] = 0;
- }
- while ( v6 <= 28 );
- }
- snprintf(
- szName,
- 0x103u,
- "%s_%.4d-%.2d-%.2d-%d.%u.log",
- g_pLogFileName[logid],
- v4->m_TM.tm_year + 1900,
- v4->m_TM.tm_mon + 1,
- v4->m_TM.tm_mday,
- this->m_LogDiskHold[logid],
- g_LogFileNameFix_Last);
- }
- else
- {
- snprintf(szName, 0x103u, "%s_%.4d-%.2d-%.2d.log", g_pLogFileName[logid], 2000, 1, 1, v3);
- }
- }
- }
- //----- (0805A5B8) --------------------------------------------------------
- #error "805A6C2: call analysis failed (funcsize=82)"
- //----- (0805A6E8) --------------------------------------------------------
- #error "805A751: positive sp value has been found (funcsize=32)"
- //----- (0805A768) --------------------------------------------------------
- #error "805A7EC: call analysis failed (funcsize=78)"
- //----- (0805A898) --------------------------------------------------------
- BOOL LogSystem_Init()
- {
- Log *v0; // ebx
- if ( g_pLog )
- __assert__("../../Server/Server/Base/Log.cpp", 0x14Du, "BOOL LogSystem_Init()", "FALSE");
- v0 = (Log *)operator new(0x494u);
- Log::Log(v0);
- g_pLog = v0;
- if ( !v0 )
- __assert__("../../Server/Server/Base/Log.cpp", 0x147u, "BOOL LogSystem_Init()", "g_pLog");
- if ( !Log::Init(g_pLog, 0x400000) )
- __assert__("../../Server/Server/Base/Log.cpp", 0x149u, "BOOL LogSystem_Init()", "bRet");
- return 1;
- }
- //----- (0805A990) --------------------------------------------------------
- void LogSystem_Flush()
- {
- if ( g_pLog )
- Log::FlushLog_All(g_pLog);
- }
- //----- (0805AA00) --------------------------------------------------------
- BOOL __cdecl LogSystem_CheckDebugLogSize(CHAR *strMessage, INT nSize)
- {
- BOOL result; // eax
- result = 0;
- if ( g_pLog )
- result = Log::CheckDebugLogSize(g_pLog, strMessage, nSize);
- return result;
- }
- //----- (0805AA74) --------------------------------------------------------
- void CacheLog(INT logid, const CHAR *msg, ...)
- {
- TimeManager *v2; // ebx
- UINT v3; // edx
- UINT v4; // eax
- int v5; // eax
- double v6; // ST28_8
- int v7; // ST24_4
- int v8; // ST20_4
- int v9; // ST1C_4
- int v10; // ST18_4
- int v11; // ST14_4
- int v12; // ST10_4
- int v13; // eax
- CHAR szTime[128]; // [esp+0h] [ebp-1098h]
- CHAR szBuff[4096]; // [esp+80h] [ebp-1018h]
- va_list __varargs; // [esp+10A8h] [ebp+10h]
- va_start(__varargs, msg);
- if ( g_Command_LogActive == 1 && (unsigned int)logid <= 0x1C )
- {
- memset(szBuff, 0, 0x1000u);
- vsnprintf(szBuff, 0xF7Fu, msg, __varargs);
- if ( g_pTimeManager )
- {
- TimeManager::SetTime((int)g_pTimeManager);
- memset(szTime, 0, 0x80u);
- v2 = g_pTimeManager;
- TimeManager::CurrentTime((int)g_pTimeManager);
- v3 = v2->m_CurrentTime;
- v4 = v2->m_StartTime;
- if ( v3 >= v2->m_StartTime )
- v5 = v3 - v4;
- else
- v5 = v3 - v4 - 1;
- v6 = (long double)(unsigned int)v5 / 1000.0;
- v7 = g_pTimeManager->m_TM.tm_sec;
- v8 = g_pTimeManager->m_TM.tm_min;
- v9 = g_pTimeManager->m_TM.tm_hour;
- v10 = g_pTimeManager->m_TM.tm_mday;
- v11 = g_pTimeManager->m_TM.tm_mon + 1;
- v12 = g_pTimeManager->m_TM.tm_year + 1900;
- v13 = ThreadValueManager::GetCurrentThreadID();
- snprintf(szTime, 0x7Fu, " (%d)(T0=%d-%d-%d_%d:%d:%d T1=%.4f)\n", v13, v12, v11, v10, v9, v8, v7, LODWORD(v6));
- strncat(szBuff, szTime, 0x7Fu);
- }
- if ( g_pLog )
- Log::CacheLog(g_pLog, logid, szBuff);
- }
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (0805AC14) --------------------------------------------------------
- void CacheLog_MIPFormat(INT logid, const CHAR *msg, ...)
- {
- unsigned int v2; // kr04_4
- int v3; // ecx
- unsigned int v4; // kr08_4
- CHAR szBuff[4096]; // [esp+0h] [ebp-1018h]
- va_list __varargs; // [esp+1028h] [ebp+10h]
- va_start(__varargs, msg);
- if ( g_Command_LogActive == 1 && (unsigned int)logid <= 0x1C )
- {
- szBuff[0] = 0;
- if ( g_pTimeManager )
- {
- TimeManager::SetTime((int)g_pTimeManager);
- snprintf(
- szBuff,
- 0x1000u,
- "%d-%d-%d,%d:%d:%d,",
- g_pTimeManager->m_TM.tm_year + 1900,
- g_pTimeManager->m_TM.tm_mon + 1,
- g_pTimeManager->m_TM.tm_mday,
- g_pTimeManager->m_TM.tm_hour,
- g_pTimeManager->m_TM.tm_min,
- g_pTimeManager->m_TM.tm_sec);
- szBuff[4095] = 0;
- }
- v2 = strlen(szBuff) + 1;
- vsnprintf(&szBuff[v2 - 1], 4095 - (v2 - 1), msg, __varargs);
- szBuff[4095] = 0;
- v4 = strlen(szBuff) + 1;
- v3 = v4 - 1;
- if ( v4 - 1 <= 0xFFE )
- {
- szBuff[v3] = 10;
- szBuff[v3 + 1] = 0;
- }
- if ( g_pLog )
- Log::CacheLog(g_pLog, logid, szBuff);
- }
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (0805ADA0) --------------------------------------------------------
- void DiskLog(CHAR *filename, const CHAR *msg, ...)
- {
- FILE *v2; // eax
- FILE *v3; // esi
- TimeManager *v4; // ebx
- UINT v5; // edx
- UINT v6; // eax
- int v7; // eax
- double v8; // ST28_8
- int v9; // ST24_4
- int v10; // ST20_4
- int v11; // ST1C_4
- int v12; // ST18_4
- int v13; // ST14_4
- int v14; // ST10_4
- int v15; // eax
- CHAR szFileName[260]; // [esp+10h] [ebp-11A8h]
- CHAR szTime[128]; // [esp+120h] [ebp-1098h]
- CHAR szBuff[4096]; // [esp+1A0h] [ebp-1018h]
- va_list __varargs; // [esp+11C8h] [ebp+10h]
- va_start(__varargs, msg);
- if ( g_Command_LogActive == 1 && filename && *filename )
- {
- memset(szBuff, 0, 0x1000u);
- vsnprintf(szBuff, 0xF7Fu, msg, __varargs);
- if ( g_pTimeManager )
- {
- TimeManager::SetTime((int)g_pTimeManager);
- memset(szTime, 0, 0x80u);
- v4 = g_pTimeManager;
- TimeManager::CurrentTime((int)g_pTimeManager);
- v5 = v4->m_CurrentTime;
- v6 = v4->m_StartTime;
- if ( v5 >= v4->m_StartTime )
- v7 = v5 - v6;
- else
- v7 = v5 - v6 - 1;
- v8 = (long double)(unsigned int)v7 / 1000.0;
- v9 = g_pTimeManager->m_TM.tm_sec;
- v10 = g_pTimeManager->m_TM.tm_min;
- v11 = g_pTimeManager->m_TM.tm_hour;
- v12 = g_pTimeManager->m_TM.tm_mday;
- v13 = g_pTimeManager->m_TM.tm_mon + 1;
- v14 = g_pTimeManager->m_TM.tm_year + 1900;
- v15 = ThreadValueManager::GetCurrentThreadID();
- snprintf(szTime, 0x7Fu, " (%d)(T0=%d-%d-%d_%d:%d:%d T1=%.4f)\n", v15, v14, v13, v12, v11, v10, v9, LODWORD(v8));
- strncat(szBuff, szTime, 0x7Fu);
- }
- memset(szFileName, 0, 0x104u);
- sprintf(
- szFileName,
- "%s_%.4d-%.2d-%.2d.%u.log",
- filename,
- g_LogFileNameFix / 0x2710,
- g_LogFileNameFix % 0x2710 / 0x64);
- pthread_mutex_lock(&g_log_lock.m_Mutex);
- v2 = fopen(szFileName, "a+");
- v3 = v2;
- if ( v2 )
- {
- fwrite(szBuff, 1u, strlen(szBuff), v2);
- fclose(v3);
- }
- pthread_mutex_unlock(&g_log_lock.m_Mutex);
- if ( g_Command_LogPrint == 1 )
- printf("%s", szBuff);
- }
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (0805B050) --------------------------------------------------------
- void __cdecl GetSerialKey(CHAR *pSerial, INT nZoneId, INT nWorldId, INT nServerId)
- {
- int v4; // ebx
- int v5; // esi
- int v6; // edi
- INT v7; // ST2C_4
- UINT v8; // ST28_4
- UINT v9; // eax
- if ( !pSerial )
- __assert__("../../Server/Server/Base/Log.cpp", 0x24Eu, "void GetSerialKey(CHAR*, INT, INT, INT)", "pSerial");
- v4 = g_pTimeManager->m_TM.tm_sec;
- v5 = g_pTimeManager->m_TM.tm_min;
- v6 = g_pTimeManager->m_TM.tm_hour;
- v7 = GetSerialKey(char *,int,int,int)::s_Step;
- v8 = TimeManager::CurrentTime((int)g_pTimeManager) % 0x3E8;
- v9 = TimeManager::GetDayTime(g_pTimeManager);
- snprintf(pSerial, 0x16u, "%.1d%.3d%.1d%.4d%.2d%.2d%.2d%.3d%.3d", nZoneId, nWorldId, nServerId, v9, v6, v5, v4, v8, v7);
- if ( GetSerialKey(char *,int,int,int)::s_Step + 1 <= 999 )
- ++GetSerialKey(char *,int,int,int)::s_Step;
- else
- GetSerialKey(char *,int,int,int)::s_Step = 100;
- }
- //----- (0805B160) --------------------------------------------------------
- void __cdecl _tcf_0_9(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0805B170) --------------------------------------------------------
- void __cdecl _tcf_1_1(void *a1)
- {
- pthread_mutex_destroy(&g_log_lock.m_Mutex);
- }
- //----- (0805B180) --------------------------------------------------------
- void `global constructor keyed to'g_log_lock()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_9, 0, &_dso_handle);
- pthread_mutex_init(&g_log_lock.m_Mutex, 0);
- __cxa_atexit(_tcf_1_1, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0805B1CC) --------------------------------------------------------
- #error "805B411: positive sp value has been found (funcsize=191)"
- //----- (0805B46C) --------------------------------------------------------
- #error "805B5ED: positive sp value has been found (funcsize=106)"
- //----- (0805B6DC) --------------------------------------------------------
- void __cdecl SavePetLog(PET_LOG_PARAM *pLogParam)
- {
- INT v1; // STA4_4
- v1 = pLogParam->PetDBLoad.m_nLevel;
- CacheLog(
- 8,
- g_PetLogFormat,
- pLogParam->CharGUID,
- pLogParam->TargetGUID,
- pLogParam->OPType,
- pLogParam->SceneID,
- pLogParam->XPos,
- pLogParam->ZPos,
- pLogParam->PetDBLoad.m_GUID.m_uHighSection,
- pLogParam->PetDBLoad.m_GUID.m_uLowSection,
- pLogParam->PetDBLoad.m_nDataID,
- pLogParam->PetDBLoad.m_BaseAttrLevel1.m_pAttr[0],
- pLogParam->PetDBLoad.m_BaseAttrLevel1.m_pAttr[2],
- pLogParam->PetDBLoad.m_BaseAttrLevel1.m_pAttr[4],
- pLogParam->PetDBLoad.m_BaseAttrLevel1.m_pAttr[1],
- pLogParam->PetDBLoad.m_BaseAttrLevel1.m_pAttr[3],
- pLogParam->PetDBLoad.m_nStrPerception,
- pLogParam->PetDBLoad.m_nConPerception,
- pLogParam->PetDBLoad.m_nDexPerception,
- pLogParam->PetDBLoad.m_nSprPerception,
- pLogParam->PetDBLoad.m_nIntPerception,
- pLogParam->PetDBLoad.m_nRemainPoint,
- pLogParam->PetDBLoad.m_fGrowRate,
- pLogParam->PetDBLoad.m_nGenGu,
- pLogParam->PetDBLoad.m_SkillList[0].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[1].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[2].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[3].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[4].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[5].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[6].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[7].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[8].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[9].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[10].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[11].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[12].m_nSkillID,
- pLogParam->PetDBLoad.m_nSavvy);
- CacheLog_MIPFormat(
- 19,
- g_PetLogFormat_MIP,
- pLogParam->CharGUID,
- pLogParam->TargetGUID,
- pLogParam->OPType,
- pLogParam->SceneID,
- pLogParam->XPos,
- pLogParam->ZPos,
- pLogParam->PetDBLoad.m_GUID.m_uHighSection,
- pLogParam->PetDBLoad.m_GUID.m_uLowSection,
- pLogParam->PetDBLoad.m_nDataID,
- pLogParam->PetDBLoad.m_BaseAttrLevel1.m_pAttr[0],
- pLogParam->PetDBLoad.m_BaseAttrLevel1.m_pAttr[2],
- pLogParam->PetDBLoad.m_BaseAttrLevel1.m_pAttr[4],
- pLogParam->PetDBLoad.m_BaseAttrLevel1.m_pAttr[1],
- pLogParam->PetDBLoad.m_BaseAttrLevel1.m_pAttr[3],
- pLogParam->PetDBLoad.m_nStrPerception,
- pLogParam->PetDBLoad.m_nConPerception,
- pLogParam->PetDBLoad.m_nDexPerception,
- pLogParam->PetDBLoad.m_nSprPerception,
- pLogParam->PetDBLoad.m_nIntPerception,
- pLogParam->PetDBLoad.m_nRemainPoint,
- pLogParam->PetDBLoad.m_fGrowRate,
- pLogParam->PetDBLoad.m_nGenGu,
- pLogParam->PetDBLoad.m_SkillList[0].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[1].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[2].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[3].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[4].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[5].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[6].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[7].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[8].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[9].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[10].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[11].m_nSkillID,
- pLogParam->PetDBLoad.m_SkillList[12].m_nSkillID,
- pLogParam->PetDBLoad.m_nSavvy,
- v1);
- }
- //----- (0805B934) --------------------------------------------------------
- void __cdecl SaveSkillLog(SKILL_LOG_PARAM *pLogParam)
- {
- CacheLog(
- 9,
- g_SkillLogFormat,
- pLogParam->CharGUID,
- pLogParam->OPType,
- pLogParam->SceneID,
- pLogParam->XPos,
- pLogParam->ZPos,
- pLogParam->SkillID,
- pLogParam->Level,
- pLogParam->Count);
- }
- //----- (0805B9C0) --------------------------------------------------------
- void __cdecl SaveXinFaLog(XINFA_LOG_PARAM *pLogParam)
- {
- CacheLog(
- 10,
- g_XinFaLogFormat,
- pLogParam->CharGUID,
- pLogParam->OPType,
- pLogParam->SceneID,
- pLogParam->XPos,
- pLogParam->ZPos,
- pLogParam->XinFaID,
- pLogParam->Level,
- pLogParam->Count);
- }
- //----- (0805BA4C) --------------------------------------------------------
- void __cdecl SaveAbilityLog(ABILITY_LOG_PARAM *pLogParam)
- {
- CacheLog(
- 11,
- g_AbilityLogFormat,
- pLogParam->CharGUID,
- pLogParam->OPType,
- pLogParam->SceneID,
- pLogParam->XPos,
- pLogParam->ZPos,
- pLogParam->AbilityID,
- pLogParam->Level,
- pLogParam->Count);
- }
- //----- (0805BAD8) --------------------------------------------------------
- void __cdecl SaveMissionLog(MISSION_LOG_PARAM *pLogParam)
- {
- CacheLog(
- 13,
- g_MissionLogFormat,
- pLogParam->CharGUID,
- pLogParam->OPType,
- pLogParam->SceneID,
- pLogParam->XPos,
- pLogParam->ZPos,
- pLogParam->idMission,
- pLogParam->idScript,
- pLogParam->yFlags,
- pLogParam->aParam[0],
- pLogParam->aParam[1],
- pLogParam->aParam[2],
- pLogParam->aParam[3],
- pLogParam->aParam[4],
- pLogParam->aParam[5],
- pLogParam->aParam[6],
- pLogParam->aParam[7],
- pLogParam->nDoneFlagIndex,
- pLogParam->nDoneFlagValue,
- pLogParam->nDataIndex,
- pLogParam->nDataValue);
- }
- //----- (0805BB88) --------------------------------------------------------
- void __cdecl SaveExpLog(EXP_LOG_PARAM *pLogParam)
- {
- CacheLog(
- 18,
- g_ExpLogFormat,
- pLogParam->CharGUID,
- pLogParam->OPType,
- pLogParam->CurrentExp,
- pLogParam->Count,
- pLogParam->SceneID,
- pLogParam->XPos,
- pLogParam->ZPos,
- pLogParam->szExtraInfo);
- }
- //----- (0805BC14) --------------------------------------------------------
- void __cdecl Save_EfficiencyStatistic(EFFICIENCY_LOG_PARAM *pLogParam)
- {
- CacheLog(
- 28,
- g_EfficiencyLogFormat,
- pLogParam->ServerID,
- pLogParam->LogType,
- pLogParam->SceneID,
- pLogParam->ResultArray111[0],
- pLogParam->ResultArray111[1],
- pLogParam->ResultArray111[2],
- pLogParam->ResultArray111[3],
- pLogParam->ResultArray111[4],
- pLogParam->ResultArray111[5],
- pLogParam->ResultArray111[6],
- pLogParam->ResultArray111[7],
- pLogParam->ResultArray111[8],
- pLogParam->ResultArray111[9],
- pLogParam->ResultArray222[0],
- pLogParam->ResultArray222[1],
- pLogParam->ResultArray222[2],
- pLogParam->ResultArray222[3],
- pLogParam->ResultArray222[4],
- pLogParam->ResultArray222[5],
- pLogParam->ResultArray222[6],
- pLogParam->ResultArray222[7],
- pLogParam->ResultArray222[8],
- pLogParam->ResultArray222[9]);
- }
- //----- (0805BCC4) --------------------------------------------------------
- void __cdecl AuditSwitch(BOOL a2)
- {
- g_bAuditFlag = a2;
- }
- //----- (0805BCD4) --------------------------------------------------------
- void __cdecl LogForAudit(AuditType_T::TypeEnum_T nType, GUID_t guidUser, const CHAR *szData)
- {
- const char *v3; // [esp-18h] [ebp-1130h]
- GUID_t v4; // [esp-10h] [ebp-1128h]
- const CHAR *v5; // [esp-Ch] [ebp-1124h]
- CHAR szBuffer[4096]; // [esp+0h] [ebp-1118h]
- CHAR szType[256]; // [esp+1000h] [ebp-118h]
- if ( g_bAuditFlag )
- {
- if ( (unsigned int)nType > 0xC6 )
- strncpy(szType, (const char *)&unk_80C4365, 0x100u);
- else
- strncpy(szType, g_szAuditType[nType], 0x100u);
- szType[255] = 0;
- if ( szData )
- {
- v5 = szData;
- v4 = guidUser;
- v3 = "%s,0X%08X,%s,";
- }
- else
- {
- v4 = guidUser;
- v3 = "%s,0X%08X,";
- }
- snprintf(szBuffer, 0x1000u, v3, szType, v4, v5);
- szBuffer[4095] = 0;
- CacheLog(16, "%s", szBuffer);
- }
- }
- //----- (0805BDC8) --------------------------------------------------------
- void __cdecl Audit_BravertChallenge(GUID_t guidSelf, INT iSort)
- {
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d");
- szBuffer[255] = 0;
- LogForAudit(TYPE_BRAVERYCHALLENGE, guidSelf, szBuffer);
- }
- //----- (0805BE50) --------------------------------------------------------
- void __cdecl Audit_GuildLeague(GUID_t guidUser, INT numOfLeague, INT numOfGuildInLeague)
- {
- CHAR szBuffer[1024]; // [esp+Ch] [ebp-408h]
- snprintf(szBuffer, 0x400u, "numOfLeague:%d, numOfGuildInLeague:%d", numOfLeague, numOfGuildInLeague);
- LogForAudit(TYPE_GUILD_LEAGUE, guidUser, szBuffer);
- }
- //----- (0805BED4) --------------------------------------------------------
- void __cdecl Audit_Stall(GUID_t guidUser, INT CoinType, BOOL bOpen)
- {
- const CHAR *v3; // eax
- if ( bOpen == 1 )
- {
- v3 = "YO";
- if ( CoinType != 1 )
- v3 = "MO";
- }
- else
- {
- v3 = "YC";
- if ( CoinType != 1 )
- v3 = "MC";
- }
- LogForAudit(TYPE_STALL, guidUser, v3);
- }
- //----- (0805BF5C) --------------------------------------------------------
- void __cdecl Audit_ItemSoldInStall(GUID_t guidUser, INT nItemDataID, const CHAR *szItemName)
- {
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( szItemName )
- {
- snprintf(szBuffer, 0x100u, "%d,%s", nItemDataID, szItemName);
- szBuffer[255] = 0;
- LogForAudit(TYPE_ITEM_SOLD_IN_STALL, guidUser, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_ItemSoldInStall]: szItemName is empty!!", 0);
- }
- }
- //----- (0805C004) --------------------------------------------------------
- void __cdecl Audit_PetSoldInStall(GUID_t guidUser, INT nPetDataID, const CHAR *szPetName, INT nPetLevel)
- {
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( szPetName )
- {
- snprintf(szBuffer, 0x100u, "%d,%s,%d", nPetDataID, szPetName, nPetLevel);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PET_SOLD_IN_STALL, guidUser, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_PetCreate]: szPetName is empty!!", 0);
- }
- }
- //----- (0805C0B4) --------------------------------------------------------
- void __cdecl Audit_GemCompound(GUID_t guidUser, BOOL bSuccess, INT nStuffID0, INT nStuffID1, INT nStuffID2, INT nStuffID3, INT nStuffID4, INT nProductID)
- {
- CHAR szBuffer[128]; // [esp+8h] [ebp-88h]
- snprintf(
- szBuffer,
- 0x80u,
- "%d,%d,%d,%d,%d,%d,%d",
- bSuccess,
- nStuffID0,
- nStuffID1,
- nStuffID2,
- nStuffID3,
- nStuffID4,
- nProductID);
- szBuffer[127] = 0;
- LogForAudit(TYPE_GEMCOMPOUND, guidUser, szBuffer);
- }
- //----- (0805C14C) --------------------------------------------------------
- void __cdecl Audit_CaoYun(GUID_t guidUser, INT nRound, BOOL bStartOrEnd, INT nMoney)
- {
- const char *v4; // [esp-18h] [ebp-120h]
- INT v5; // [esp-14h] [ebp-11Ch]
- INT v6; // [esp-10h] [ebp-118h]
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( bStartOrEnd == 1 )
- {
- v6 = nMoney;
- v5 = nRound;
- v4 = "%d,S,%d";
- }
- else
- {
- v6 = nMoney;
- v5 = nRound;
- v4 = "%d,E,%d";
- }
- snprintf(szBuffer, 0x100u, v4, v5, v6);
- szBuffer[255] = 0;
- LogForAudit(TYPE_CAO_YUN, guidUser, szBuffer);
- }
- //----- (0805C1EC) --------------------------------------------------------
- void __cdecl Audit_ShuiLao(GUID_t guidUser)
- {
- LogForAudit(TYPE_SHUI_LAO, guidUser, 0);
- }
- //----- (0805C250) --------------------------------------------------------
- void __cdecl Audit_SafeBox(GUID_t guidUser)
- {
- LogForAudit(TYPE_SAFEBOX_OPEN, guidUser, 0);
- }
- //----- (0805C2B4) --------------------------------------------------------
- void __cdecl Audit_DaTu(GUID_t guidUser)
- {
- LogForAudit(TYPE_DA_TU, guidUser, 0);
- }
- //----- (0805C318) --------------------------------------------------------
- void __cdecl Audit_WaBao(GUID_t guidUser)
- {
- LogForAudit(TYPE_WA_BAO, guidUser, 0);
- }
- //----- (0805C37C) --------------------------------------------------------
- void __cdecl Audit_MonsterKilled(GUID_t guidUser, INT nMonsterDataID, const CHAR *szMonsterName)
- {
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( szMonsterName )
- {
- snprintf(szBuffer, 0x100u, "%d,%s", nMonsterDataID, szMonsterName);
- szBuffer[255] = 0;
- LogForAudit(TYPE_MONSTER_KILLED, guidUser, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_MonsterKilled]: szMonsterName is empty!!", 0);
- }
- }
- //----- (0805C424) --------------------------------------------------------
- void __cdecl Audit_MenpaiMember(GUID_t guidUser, INT nMenpaiId)
- {
- int v2; // edx
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( (unsigned int)nMenpaiId <= 8 )
- {
- snprintf(szBuffer, 0x100u, "%d");
- szBuffer[255] = 0;
- LogForAudit(TYPE_MENPAI_MEMBER, guidUser, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_MenpaiMember]: nMenpaiId is incorrect!!", v2);
- }
- }
- //----- (0805C4CC) --------------------------------------------------------
- void __cdecl Audit_PetKilled(GUID_t guidUser, INT nPetDataID, const CHAR *szPetName)
- {
- int v3; // ecx
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( szPetName )
- {
- snprintf(szBuffer, 0x100u, "%d,%s", nPetDataID, szPetName);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PET_KILLED, guidUser, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_PetKilled]: szPetName is empty!!", v3);
- }
- }
- //----- (0805C574) --------------------------------------------------------
- void __cdecl Audit_GPS(GUID_t guidUser, BOOL bCreate)
- {
- const CHAR *v2; // [esp-Ch] [ebp-10h]
- if ( bCreate == 1 )
- v2 = "S";
- else
- v2 = "U";
- LogForAudit(TYPE_GPS, guidUser, v2);
- }
- //----- (0805C5E8) --------------------------------------------------------
- void __cdecl Audit_Team(GUID_t guidUser)
- {
- LogForAudit(TYPE_TEAM, guidUser, 0);
- }
- //----- (0805C64C) --------------------------------------------------------
- void __cdecl Audit_Challenge(GUID_t guidSelf, GUID_t guidTarget)
- {
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- snprintf(szBuffer, 0x100u, "0X%08X");
- szBuffer[255] = 0;
- LogForAudit(TYPE_CHALLENGE, guidSelf, szBuffer);
- }
- //----- (0805C6D4) --------------------------------------------------------
- void __cdecl Audit_PetHuanTong(GUID_t guidUser, INT nPetDataID, const CHAR *szPetName)
- {
- int v3; // ebx
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( szPetName )
- {
- snprintf(szBuffer, 0x100u, "%d,%s", nPetDataID, szPetName);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PET_HUAN_TONG, guidUser, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_PetHuanTong]: szPetName is empty!!", v3);
- }
- }
- //----- (0805C77C) --------------------------------------------------------
- void __cdecl Audit_PetProCreate(GUID_t guidUser, INT nPetDataID, const CHAR *szPetName, BOOL bRegister)
- {
- const char *v4; // [esp-18h] [ebp-120h]
- INT v5; // [esp-14h] [ebp-11Ch]
- const CHAR *v6; // [esp-10h] [ebp-118h]
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( szPetName )
- {
- if ( bRegister == 1 )
- {
- v6 = szPetName;
- v5 = nPetDataID;
- v4 = "%d,%s,R";
- }
- else
- {
- v6 = szPetName;
- v5 = nPetDataID;
- v4 = "%d,%s,T";
- }
- snprintf(szBuffer, 0x100u, v4, v5, v6);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PET_PROCREATE, guidUser, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_PetProCreate]: szPetName is empty!!", 0);
- }
- }
- //----- (0805C83C) --------------------------------------------------------
- void __cdecl Audit_PetCreate(GUID_t guidUser, INT nPetDataID, const CHAR *szType)
- {
- const CHAR *v3; // [esp-10h] [ebp-118h]
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( szType )
- v3 = szType;
- else
- v3 = "UN";
- snprintf(szBuffer, 0x100u, "%d,%s", nPetDataID, v3);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PET_CREATE, guidUser, szBuffer);
- }
- //----- (0805C8E4) --------------------------------------------------------
- void __cdecl Audit_PetCatched(GUID_t guidUser, INT nPetDataID, const CHAR *szPetName)
- {
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( szPetName )
- {
- snprintf(szBuffer, 0x100u, "%d,%s", nPetDataID, szPetName);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PET_CATCHED, guidUser, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_PetCatched]: szPetName is empty!!", 0);
- }
- }
- //----- (0805C98C) --------------------------------------------------------
- void __cdecl Audit_MissionChain(GUID_t guidUser, INT nRound)
- {
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d");
- szBuffer[255] = 0;
- LogForAudit(TYPE_MISSION_CIRCLE, guidUser, szBuffer);
- }
- //----- (0805CA14) --------------------------------------------------------
- void __cdecl Audit_PlayerShopBuy(GUID_t guidUser)
- {
- LogForAudit(TYPE_PLAYER_SHOP_BUY, guidUser, 0);
- }
- //----- (0805CA78) --------------------------------------------------------
- void __cdecl Audit_PlayerShopSold(GUID_t guidUser)
- {
- LogForAudit(TYPE_PLAYER_SHOP_SOLD, guidUser, 0);
- }
- //----- (0805CADC) --------------------------------------------------------
- void __cdecl Audit_ItemSoldInPlayerShop(GUID_t guidUser, INT nItemDataID, const CHAR *szItemName)
- {
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( szItemName )
- {
- snprintf(szBuffer, 0x100u, "%d,%s", nItemDataID, szItemName);
- szBuffer[255] = 0;
- LogForAudit(TYPE_ITEM_SOLD_IN_PLAYER_SHOP, guidUser, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_ItemSoldInPlayerShop]: szItemName is empty!!", 0);
- }
- }
- //----- (0805CB84) --------------------------------------------------------
- void __cdecl Audit_PetSoldInPlayerShop(GUID_t guidUser, INT nPetDataID, const CHAR *szPetName, INT nPetLevel)
- {
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( szPetName )
- {
- snprintf(szBuffer, 0x100u, "%d,%s,%d", nPetDataID, szPetName, nPetLevel);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PET_SOLD_IN_PLAYER_SHOP, guidUser, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_PetSoldInPlayerShop]: szPetName is empty!!", 0);
- }
- }
- //----- (0805CC34) --------------------------------------------------------
- void __cdecl Audit_PlayerShopRemoved(GUID_t guidUser)
- {
- LogForAudit(TYPE_PLAYER_SHOP_REMOVED, guidUser, "Not enough money for maintenance");
- }
- //----- (0805CC9C) --------------------------------------------------------
- void __cdecl Audit_PlayerMarriage(GUID_t guidUserA, GUID_t guidUserB, INT nWeddingType)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "0X%08X,%d", guidUserB, nWeddingType);
- szBuffer[127] = 0;
- LogForAudit(TYPE_PLAYER_MARRIAGE, guidUserA, szBuffer);
- }
- //----- (0805CD24) --------------------------------------------------------
- void __cdecl Audit_PlayerDivorce(GUID_t guidUserA, GUID_t guidUserB)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- snprintf(szBuffer, 0x80u, "0X%08X,");
- szBuffer[127] = 0;
- LogForAudit(TYPE_PLAYER_DIVORCE, guidUserA, szBuffer);
- }
- //----- (0805CDAC) --------------------------------------------------------
- void __cdecl Audit_ItemCreate(GUID_t guidHuman, INT nNum, INT nItemDataID, const CHAR *szItemName, const CHAR *szCreateBy)
- {
- int v5; // ebx
- CHAR szBuffer[1024]; // [esp+0h] [ebp-408h]
- if ( szItemName && szCreateBy )
- {
- snprintf(szBuffer, 0x400u, "%d,%d,%s,%s", nNum, nItemDataID, szItemName, szCreateBy);
- szBuffer[1023] = 0;
- LogForAudit(TYPE_ITEM_CREATE, guidHuman, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_ItemCreate]: szItemName or szCreateBy is empty!!", v5);
- }
- }
- //----- (0805CE60) --------------------------------------------------------
- void __cdecl Audit_PK(GUID_t guidDead, GUID_t guidKiller, INT nSceneID, const CHAR *szSceneName, BOOL bCaoYun, BOOL bPaoShang, const CHAR *szDesc)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( !szSceneName )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x470u,
- "void Audit_PK(GUID_t, GUID_t, INT, const CHAR*, BOOL, BOOL, const CHAR*)",
- "szSceneName");
- if ( !szDesc )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x471u,
- "void Audit_PK(GUID_t, GUID_t, INT, const CHAR*, BOOL, BOOL, const CHAR*)",
- "szDesc");
- snprintf(szBuffer, 0x80u, "0X%08X,%d,%s,%d,%d,%s", guidKiller, nSceneID, szSceneName, bCaoYun, bPaoShang, szDesc);
- szBuffer[127] = 0;
- LogForAudit(TYPE_PLAYER_PK, guidDead, szBuffer);
- }
- //----- (0805CF50) --------------------------------------------------------
- void __cdecl Audit_ShiMenRenWu(GUID_t guidSelf, INT nRound, INT nPlayerLevel)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d,%d", nRound, nPlayerLevel);
- szBuffer[127] = 0;
- LogForAudit(TYPE_SHI_MEN_REN_WU, guidSelf, szBuffer);
- }
- //----- (0805CFD8) --------------------------------------------------------
- void __cdecl Audit_ShiMenRenWu_Day(GUID_t guidSelf, INT nRound, INT nPlayerLevel)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d,%d", nRound, nPlayerLevel);
- szBuffer[127] = 0;
- LogForAudit(TYPE_SHI_MEN_REN_WU_DAY, guidSelf, szBuffer);
- }
- //----- (0805D060) --------------------------------------------------------
- void __cdecl Audit_HuashanThreeWinners(GUID_t guidSelf, INT nMenpai)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d");
- szBuffer[127] = 0;
- LogForAudit(TYPE_HUA_SHAN_THREE_WINNERS, guidSelf, szBuffer);
- }
- //----- (0805D0E8) --------------------------------------------------------
- void __cdecl Audit_Candidate(GUID_t guidSelf, const char *lpPlayerName)
- {
- char szBuffer[128]; // [esp+4h] [ebp-88h]
- szBuffer[0] = 0;
- memset(&szBuffer[1], 0, 0x7Fu);
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x499u,
- "void Audit_Candidate(GUID_t, const char*)",
- "INVALID_ID!=guidSelf");
- if ( !lpPlayerName )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x49Au,
- "void Audit_Candidate(GUID_t, const char*)",
- "lpPlayerName");
- snprintf(szBuffer, 0x80u, "%s");
- szBuffer[127] = 0;
- LogForAudit(TYPE_CANDIDATE, guidSelf, szBuffer);
- }
- //----- (0805D1E8) --------------------------------------------------------
- void __cdecl Audit_RelationPoint(GUID_t guidSelf, const CHAR *szRelationNPC, INT nPoint)
- {
- char szBuffer[128]; // [esp+4h] [ebp-98h]
- szBuffer[0] = 0;
- memset(&szBuffer[1], 0, 0x7Fu);
- if ( !szRelationNPC )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x4A5u,
- "void Audit_RelationPoint(GUID_t, const CHAR*, INT)",
- "szRelationNPC");
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x4A6u,
- "void Audit_RelationPoint(GUID_t, const CHAR*, INT)",
- "INVALID_ID!=guidSelf");
- if ( nPoint < 0 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x4A7u,
- "void Audit_RelationPoint(GUID_t, const CHAR*, INT)",
- "0 <= nPoint");
- snprintf(szBuffer, 0x80u, "%s,%d", szRelationNPC, nPoint);
- szBuffer[127] = 0;
- LogForAudit(TYPE_RELATION_POINT_NPC, guidSelf, szBuffer);
- }
- //----- (0805D324) --------------------------------------------------------
- void __cdecl Audit_Quest(GUID_t guidSelf, const char *szQuestName, INT nMenPai, INT nLevel)
- {
- char szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( szQuestName )
- {
- snprintf(szBuffer, 0x100u, "%s,%d,%d", szQuestName, nMenPai, nLevel);
- szBuffer[255] = 0;
- LogForAudit(TYPE_QUEST, guidSelf, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_Quest]: szQuestName is empty!!", 0);
- }
- }
- //----- (0805D3D4) --------------------------------------------------------
- void __cdecl Audit_PaoShang(GUID_t guidUser, INT nMoney)
- {
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d");
- szBuffer[255] = 0;
- LogForAudit(TYPE_PAO_SHANG, guidUser, szBuffer);
- }
- //----- (0805D45C) --------------------------------------------------------
- void __cdecl Audit_PetImproveWuxing(GUID_t guidUser, INT nPetDataID, BOOL bSuccess, INT newValue)
- {
- CHAR szBuffer[256]; // [esp+8h] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d,%d,%d", nPetDataID, bSuccess != 0, newValue);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PET_IMPROVE_WU_XING, guidUser, szBuffer);
- }
- //----- (0805D4F0) --------------------------------------------------------
- void __cdecl Audit_PetImproveSkillBook(GUID_t guidUser, INT nPetDataID, INT nSkillID)
- {
- CHAR szBuffer[256]; // [esp+Ch] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d,%d", nPetDataID, nSkillID);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PET_IMPROVE_SKILL_BOOK, guidUser, szBuffer);
- }
- //----- (0805D578) --------------------------------------------------------
- void __cdecl Audit_PlayerCountOfScene(INT nSceneID, INT nServerID, const CHAR *szSceneName, INT nPlayerCount)
- {
- int v4; // ecx
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( szSceneName )
- {
- snprintf(szBuffer, 0x100u, aD, nSceneID, nServerID, szSceneName, nPlayerCount);
- szBuffer[255] = 0;
- LogForAudit(TYPE_SCENE_PLAYER_COUNT, 0xFFFFFFFF, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_PlayerCountOfScene]: szSceneName is empty!!", v4);
- }
- }
- //----- (0805D628) --------------------------------------------------------
- void __cdecl Audit_GemEmbed(GUID_t guidUser, INT nItemDataID, INT nItemLevel, INT nItemDataID_Equip)
- {
- CHAR szBuffer[256]; // [esp+8h] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d,%d,%d", nItemDataID, nItemLevel, nItemDataID_Equip);
- szBuffer[255] = 0;
- LogForAudit(TYPE_GEM_EMBED, guidUser, szBuffer);
- }
- //----- (0805D6B4) --------------------------------------------------------
- void __cdecl Audit_PlayerMaster(GUID_t guidMaster, GUID_t guidAprentice)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- snprintf(szBuffer, 0x80u, "0X%08X");
- szBuffer[127] = 0;
- LogForAudit(TYPE_PLAYER_MASTER, guidMaster, szBuffer);
- }
- //----- (0805D73C) --------------------------------------------------------
- void __cdecl Audit_PlayerMasterExp(GUID_t guidUser, INT nGBValue, INT nExp, SHORT sOpType)
- {
- CHAR szBuffer[256]; // [esp+8h] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d,%d,%d", nGBValue, nExp, sOpType);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PLAYER_MASTER_EXP, guidUser, szBuffer);
- }
- //----- (0805D7CC) --------------------------------------------------------
- void __cdecl Audit_ItemUseMenPaiZhaoJiLing(GUID_t guidUser, INT nMenPaiID)
- {
- CHAR szBuffer[256]; // [esp+0h] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d");
- szBuffer[255] = 0;
- LogForAudit(TYPE_ITEM_USE_MENPAIZHAOJILING, guidUser, szBuffer);
- }
- //----- (0805D854) --------------------------------------------------------
- void __cdecl Audit_PlayerLevelup(GUID_t guidUser, INT nCurrentLevel, INT nUpLevel)
- {
- CHAR szBuffer[256]; // [esp+Ch] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d,%d", nCurrentLevel, nUpLevel);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PLAYER_LEVEL_UP, guidUser, szBuffer);
- }
- //----- (0805D8DC) --------------------------------------------------------
- void __cdecl Audit_HDXianCaoZhengDuo(GUID_t guidSelf, const CHAR *szStep)
- {
- int v2; // ebx
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( szStep )
- {
- snprintf(szBuffer, 0x80u, "%s");
- szBuffer[127] = 0;
- LogForAudit(TYPE_HUODONG_XIANCAOZHENGDUO, guidSelf, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_HDXianCaoZhengDuo]: szStep is empty!!", v2);
- }
- }
- //----- (0805D980) --------------------------------------------------------
- void __cdecl Audit_PlayerGetGuildWage(GUID_t guidSelf, GUID_t guidGuild, INT nWage)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "0X%08X,%d", guidGuild, nWage);
- szBuffer[127] = 0;
- LogForAudit(TYPE_GUILD_WAGE, guidSelf, szBuffer);
- }
- //----- (0805DA08) --------------------------------------------------------
- void __cdecl Audit_MiYinKuangShiUsed(GUID_t guidUser)
- {
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x539u,
- "void Audit_MiYinKuangShiUsed(GUID_t)",
- "guidUser != INVALID_ID");
- LogForAudit(TYPE_MIYINKUANGSHI_USED, guidUser, 0);
- }
- //----- (0805DA94) --------------------------------------------------------
- void __cdecl Audit_DarkKeyUsed(GUID_t guidSelf, INT nType, INT nRemain)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d,%d", nType, nRemain);
- szBuffer[127] = 0;
- LogForAudit(TYPE_DARK_KEY_USED, guidSelf, szBuffer);
- }
- //----- (0805DB1C) --------------------------------------------------------
- void __cdecl Audit_JuBaoContainerUsed(GUID_t guidSelf, INT nType, INT nRemain)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d,%d", nType, nRemain);
- szBuffer[127] = 0;
- LogForAudit(TYPE_JUBAOCONTAINER_USED, guidSelf, szBuffer);
- }
- //----- (0805DBA4) --------------------------------------------------------
- void __cdecl Audit_LuckyTurnTable(GUID_t guidSelf, INT nPrizeType_1, INT nPrizeType_2, INT nPrizeType_3)
- {
- CHAR szBuffer[128]; // [esp+8h] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d,%d,%d", nPrizeType_1, nPrizeType_2, nPrizeType_3);
- szBuffer[127] = 0;
- LogForAudit(TYPE_LUCKY_TURN_TABLE, guidSelf, szBuffer);
- }
- //----- (0805DC30) --------------------------------------------------------
- void __cdecl Audit_LuckyTurnTable_Dragon(GUID_t guidSelf, INT nPrizeType, INT nRemain)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d,%d", nPrizeType, nRemain);
- szBuffer[127] = 0;
- LogForAudit(TYPE_LUCKY_TURN_TABLE_DRAGON, guidSelf, szBuffer);
- }
- //----- (0805DCB8) --------------------------------------------------------
- void __cdecl Audit_ChangeGem(GUID_t guidUser, const CHAR *strLog)
- {
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x565u,
- "void Audit_ChangeGem(GUID_t, const CHAR*)",
- "guidUser != INVALID_ID");
- LogForAudit(TYPE_CHANGE_GEM, guidUser, strLog);
- }
- //----- (0805DD44) --------------------------------------------------------
- void __cdecl Audit_ChangeNianShouDriver(GUID_t guidSelf, INT nLevel)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d");
- szBuffer[127] = 0;
- LogForAudit(TYPE_CHANGENIANSHOUDRIVER, guidSelf, szBuffer);
- }
- //----- (0805DDCC) --------------------------------------------------------
- void __cdecl Audit_CompoisteFigure(GUID_t guidSelf)
- {
- LogForAudit(TYPE_COMPOSE_FIGURE, guidSelf, 0);
- }
- //----- (0805DE34) --------------------------------------------------------
- void __cdecl Audit_ZhuanDanUsed(GUID_t guidSelf, INT nType, INT nRemain)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d,%d", nType, nRemain);
- szBuffer[127] = 0;
- LogForAudit(TYPE_ZHUAN_DAN_USED, guidSelf, szBuffer);
- }
- //----- (0805DEC0) --------------------------------------------------------
- void __cdecl Audit_ItemIdentified(GUID_t guidSelf, INT nItemIndex, INT nWorld, INT nServer, INT nItemSN, INT nItemLevel)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d,%d-%d-%d,%d", nItemIndex, nWorld, nServer, nItemSN);
- szBuffer[127] = 0;
- LogForAudit(TYPE_ITEM_IDENTIFIED, guidSelf, szBuffer);
- }
- //----- (0805DF54) --------------------------------------------------------
- void __cdecl Audit_CommisionSale(GUID_t guidSelf, INT nSN, INT nOptType, INT nValue, INT nPrice, BOOL bDeal, INT nPlayerLevel)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d,%d,%d,%d,%d,%d", nSN, nOptType, nValue, nPrice, bDeal, nPlayerLevel);
- szBuffer[127] = 0;
- LogForAudit(TYPE_COMMISIONSALE, guidSelf, szBuffer);
- }
- //----- (0805DFE8) --------------------------------------------------------
- void __cdecl Audit_GuildDeclareWar(GUID_t guidSelf, GUID_t guidSelfGuild, GUID_t guidTargetGuild, INT nOptType)
- {
- const char *v4; // [esp-4h] [ebp-CCh]
- CHAR szOpt[64]; // [esp+0h] [ebp-C8h]
- CHAR szBuffer[128]; // [esp+40h] [ebp-88h]
- if ( nOptType == 1 )
- {
- v4 = "WarDeclareCancelled";
- }
- else if ( nOptType <= 1 )
- {
- if ( nOptType )
- goto LABEL_4;
- v4 = "WarDeclared";
- }
- else
- {
- if ( nOptType != 2 )
- {
- LABEL_4:
- szOpt[0] = 0;
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x5A6u,
- "void Audit_GuildDeclareWar(GUID_t, GUID_t, GUID_t, INT)",
- "FALSE");
- }
- v4 = "WarTimeOver";
- }
- snprintf(szOpt, 0x40u, "%s", v4);
- snprintf(szBuffer, 0x80u, "0X%08X,0X%08X,%s", guidSelfGuild, guidTargetGuild, szOpt);
- szBuffer[127] = 0;
- LogForAudit(TYPE_GUILD_DECLARE_WAR, guidSelf, szBuffer);
- }
- //----- (0805E0F4) --------------------------------------------------------
- void __cdecl Audit_MinorPassword(GUID_t guidSelf, const CHAR *szOpt)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( !szOpt )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x5B2u,
- "void Audit_MinorPassword(GUID_t, const CHAR*)",
- "szOpt");
- snprintf(szBuffer, 0x80u, "%s");
- szBuffer[127] = 0;
- LogForAudit(TYPE_MINOR_PASSWORD_OPT, guidSelf, szBuffer);
- }
- //----- (0805E1A4) --------------------------------------------------------
- void __cdecl Audit_YanXuanYuExchange(GUID_t guidSelf, INT nItemIndexOfYanXuanYu, INT nCountOfYanXuanYu, INT nItemIndexOfTrophy)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-98h]
- if ( nItemIndexOfYanXuanYu < 0 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x5BCu,
- "void Audit_YanXuanYuExchange(GUID_t, INT, INT, INT)",
- "0<=nItemIndexOfYanXuanYu");
- if ( nCountOfYanXuanYu < 0 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x5BDu,
- "void Audit_YanXuanYuExchange(GUID_t, INT, INT, INT)",
- "0<=nCountOfYanXuanYu");
- if ( nItemIndexOfTrophy < 0 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x5BEu,
- "void Audit_YanXuanYuExchange(GUID_t, INT, INT, INT)",
- "0<=nItemIndexOfTrophy");
- snprintf(szBuffer, 0x80u, "%d,%d,%d", nItemIndexOfYanXuanYu, nCountOfYanXuanYu, nItemIndexOfTrophy);
- szBuffer[127] = 0;
- LogForAudit(TYPE_YAN_XUAN_YU_EXCHANGE, guidSelf, szBuffer);
- }
- //----- (0805E2C0) --------------------------------------------------------
- void __cdecl Audit_YunBiao(GUID_t guidSelf, GUID_t guidGuild, INT nInvest, const CHAR *szOpt)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( !szOpt )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x5C8u,
- "void Audit_YunBiao(GUID_t, GUID_t, INT, const CHAR*)",
- "szOpt");
- snprintf(szBuffer, 0x80u, a0x08x_0, guidGuild, nInvest, szOpt);
- szBuffer[127] = 0;
- LogForAudit(TYPE_YUN_BIAO, guidSelf, szBuffer);
- }
- //----- (0805E37C) --------------------------------------------------------
- void __cdecl Audit_EquipQianghua(GUID_t guidSelf, INT nEquipItemIndex, INT nEnhanceLevel)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d,%d", nEquipItemIndex, nEnhanceLevel);
- szBuffer[127] = 0;
- LogForAudit(TYPE_EQUIP_QIANGHUA, guidSelf, szBuffer);
- }
- //----- (0805E404) --------------------------------------------------------
- void __cdecl Audit_GoodbadDecPKValue(GUID_t guidSelf, INT nDec)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d");
- szBuffer[127] = 0;
- LogForAudit(TYPE_GOODBAD_DEC_PKVALUE, guidSelf, szBuffer);
- }
- //----- (0805E48C) --------------------------------------------------------
- void __cdecl Audit_Skill_Monster(GUID_t guidSelf, const CHAR *nPlayerName, INT nMonsterNum)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( !nPlayerName )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x5E7u,
- "void Audit_Skill_Monster(GUID_t, const CHAR*, INT)",
- "nPlayerName");
- snprintf(szBuffer, 0x80u, "%s,%d", nPlayerName, nMonsterNum);
- szBuffer[127] = 0;
- LogForAudit(TYPE_PLAYER_SKILL_MONSTER, guidSelf, szBuffer);
- }
- //----- (0805E540) --------------------------------------------------------
- void __cdecl Audit_JiaoFei(GUID_t guidSelf)
- {
- LogForAudit(TYPE_GUILD_JIAO_FEI, guidSelf, 0);
- }
- //----- (0805E5A4) --------------------------------------------------------
- void __cdecl Audit_PlayerEnterScene(GUID_t guidSelf, INT nSceneID, const CHAR *szMapName)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( nSceneID == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x5F9u,
- "void Audit_PlayerEnterScene(GUID_t, INT, const CHAR*)",
- "INVALID_ID!=nSceneID");
- if ( !szMapName )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x5FAu,
- "void Audit_PlayerEnterScene(GUID_t, INT, const CHAR*)",
- "NULL!=szMapName");
- snprintf(szBuffer, 0x80u, "%d,%s", nSceneID, szMapName);
- szBuffer[127] = 0;
- LogForAudit(TYPE_PLAYER_ENTER_SCENE, guidSelf, szBuffer);
- }
- //----- (0805E68C) --------------------------------------------------------
- void __cdecl Audit_GemCarve(GUID_t guidSelf, INT GemItemID)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x604u,
- "void Audit_GemCarve(GUID_t, INT)",
- "INVALID_ID!=guidSelf");
- if ( GemItemID == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x605u,
- "void Audit_GemCarve(GUID_t, INT)",
- "INVALID_UID!=GemItemID");
- snprintf(szBuffer, 0x80u, "%d");
- szBuffer[127] = 0;
- LogForAudit(TYPE_GEM_CARVE, guidSelf, szBuffer);
- }
- //----- (0805E76C) --------------------------------------------------------
- void __cdecl Audit_PlayerShopSaleShopAddItem(GUID_t guidSelf, INT nItemIndex, INT iPos, INT iNeedNum, INT iPrice)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x610u,
- "void Audit_PlayerShopSaleShopAddItem(GUID_t, INT, INT, INT, INT)",
- "INVALID_ID!=guidSelf");
- snprintf(szBuffer, 0x80u, "%d,%d,%d,%d", nItemIndex, iPos, iNeedNum, iPrice);
- szBuffer[127] = 0;
- LogForAudit(TYPE_PLAYER_SHOP_SALE_SHOP_ADD_ITEM, guidSelf, szBuffer);
- }
- //----- (0805E828) --------------------------------------------------------
- void __cdecl Audit_PlayerShopSaleShopSellItem(GUID_t guidSelf, INT nItemIndex, INT itemWorld, INT itemServer, INT itemSerial, INT itemPrice, INT itemNum)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x61Du,
- "void Audit_PlayerShopSaleShopSellItem(GUID_t, INT, INT, INT, INT, INT, INT)",
- "INVALID_ID!=guidSelf");
- snprintf(szBuffer, 0x80u, "%d,%d,%d,%d,%d,%d", nItemIndex, itemWorld, itemServer, itemSerial, itemPrice, itemNum);
- szBuffer[127] = 0;
- LogForAudit(TYPE_PLAYER_SHOP_SALE_SHOP_SELL_ITEM, guidSelf, szBuffer);
- }
- //----- (0805E8F0) --------------------------------------------------------
- void __cdecl Audit_LearnLifeAbility(GUID_t guidSelf, AbilityID_t nAid)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x62Au,
- "void Audit_LearnLifeAbility(GUID_t, AbilityID_t)",
- "INVALID_ID!=guidSelf");
- snprintf(szBuffer, 0x80u, "%d");
- szBuffer[127] = 0;
- LogForAudit(TYPE_LEARN_LIFE_ABILITY, guidSelf, szBuffer);
- }
- //----- (0805E9A4) --------------------------------------------------------
- void __cdecl Audit_LevelUpLifeAbility(GUID_t guidSelf, AbilityID_t nAid, INT iToLevel)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x636u,
- "void Audit_LevelUpLifeAbility(GUID_t, AbilityID_t, INT)",
- "INVALID_ID!=guidSelf");
- snprintf(szBuffer, 0x80u, "%d,%d", nAid, iToLevel);
- szBuffer[127] = 0;
- LogForAudit(TYPE_LEVEL_UP_LIFE_ABILITY, guidSelf, szBuffer);
- }
- //----- (0805EA60) --------------------------------------------------------
- void __cdecl Audit_ShengShou_Open_BigBox(GUID_t guidSelf)
- {
- LogForAudit(TYPE_SHENGSHOU_OPEN_BIGBOX, guidSelf, 0);
- }
- //----- (0805EAC4) --------------------------------------------------------
- void __cdecl Audit_ShengShou_Open_SmallBox(GUID_t guidSelf)
- {
- LogForAudit(TYPE_SHENGSHOU_OPEN_SMALLBOX, guidSelf, 0);
- }
- //----- (0805EB28) --------------------------------------------------------
- void __cdecl Audit_ShenQi(GUID_t guidSelf, INT nItemIndex)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x651u,
- "void Audit_ShenQi(GUID_t, INT)",
- "INVALID_ID!=guidSelf");
- snprintf(szBuffer, 0x80u, "PlayerGuid =%x ShenQiID =%d", guidSelf, nItemIndex);
- szBuffer[127] = 0;
- LogForAudit(TYPE_SHENQI_ITEM, guidSelf, szBuffer);
- }
- //----- (0805EBDC) --------------------------------------------------------
- void __cdecl Audit_PlayerBehavior(GUID_t guidSelf, INT nSceneID, const CHAR *szSceneName, const CHAR *szDescription, INT nMenPai, INT nLevel)
- {
- char szBuffer[256]; // [esp+0h] [ebp-108h]
- if ( szDescription )
- {
- snprintf(szBuffer, 0x100u, aDS_0, nSceneID, szSceneName, szDescription, nMenPai);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PLAYER_BEHAVIOR, guidSelf, szBuffer);
- }
- else
- {
- CacheLog(1, "%s", "[Audit_PlayerBehavior]: szDescription is empty!!", 0);
- }
- }
- //----- (0805EC90) --------------------------------------------------------
- void __cdecl Audit_ShenCai(GUID_t guidSelf, INT nItemIndex)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x66Eu,
- "void Audit_ShenCai(GUID_t, INT)",
- "INVALID_ID!=guidSelf");
- snprintf(szBuffer, 0x80u, "PlayerGuid =%x ShenCaiID =%d", guidSelf, nItemIndex);
- szBuffer[127] = 0;
- LogForAudit(TYPE_SHENCAI_ITEM, guidSelf, szBuffer);
- }
- //----- (0805ED44) --------------------------------------------------------
- void __cdecl Audit_CaoyunSale(GUID_t guidUser)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x679u,
- "void Audit_CaoyunSale(GUID_t)",
- "INVALID_ID!=guidUser");
- snprintf(szBuffer, 0x80u, "PlayerGuid =%x Caoyun done");
- szBuffer[127] = 0;
- LogForAudit(TYPE_CAOYUN_SALE, guidUser, szBuffer);
- }
- //----- (0805EDF4) --------------------------------------------------------
- void __cdecl AuditUseSChoolBags(GUID_t guidUser, INT nLevel, INT nSex)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d,%d", nLevel, nSex);
- szBuffer[127] = 0;
- LogForAudit(TYPE_USESCHOOLBAGS, guidUser, szBuffer);
- }
- //----- (0805EE80) --------------------------------------------------------
- void __cdecl Audit_GetSChoolUniform(GUID_t guidUser, INT nLevel, INT nSex)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d,%d", nLevel, nSex);
- szBuffer[127] = 0;
- LogForAudit(TYPE_GETSCHOOLUNIFORM, guidUser, szBuffer);
- }
- //----- (0805EF0C) --------------------------------------------------------
- void __cdecl Audit_ChangeHead(GUID_t guidSelf, INT nHeadIndex)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x69Bu,
- "void Audit_ChangeHead(GUID_t, INT)",
- "INVALID_ID!=guidSelf");
- snprintf(szBuffer, 0x80u, "PlayerGuid =%x HeadID =%d", guidSelf, nHeadIndex);
- szBuffer[127] = 0;
- LogForAudit(TYPE_CHANGEHEAD_SUCCEED, guidSelf, szBuffer);
- }
- //----- (0805EFC0) --------------------------------------------------------
- void __cdecl Audit_Equip_Stiletto(GUID_t guidUser, INT nItemDataID_Equip, INT nSlots)
- {
- CHAR szBuffer[256]; // [esp+Ch] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d,%d", nItemDataID_Equip, nSlots);
- szBuffer[255] = 0;
- LogForAudit(TYPE_EQUIP_STILETTO, guidUser, szBuffer);
- }
- //----- (0805F048) --------------------------------------------------------
- void __cdecl Audit_EquipPickOffGem(GUID_t guidUser, INT nItemDataID_Gem, INT nItemLevel_Gem, INT nItemDataID_Equip)
- {
- CHAR szBuffer[256]; // [esp+8h] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d,%d,%d", nItemDataID_Gem, nItemLevel_Gem, nItemDataID_Equip);
- szBuffer[255] = 0;
- LogForAudit(TYPE_EQUIP_PICKOFF_GEM, guidUser, szBuffer);
- }
- //----- (0805F0D4) --------------------------------------------------------
- void __cdecl Audit_ShuangXiangPao(GUID_t guidUser, INT nEventID)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x6BDu,
- "void Audit_ShuangXiangPao(GUID_t, INT)",
- "INVALID_ID!=guidUser");
- snprintf(szBuffer, 0x80u, "EventID =%d");
- szBuffer[127] = 0;
- LogForAudit(TYPE_SHUANG_XIANG_PAO, guidUser, szBuffer);
- }
- //----- (0805F184) --------------------------------------------------------
- void __cdecl Audit_YuRenJie(GUID_t guidUser, const char *lpPlayerName)
- {
- char szBuffer[128]; // [esp+4h] [ebp-88h]
- szBuffer[0] = 0;
- memset(&szBuffer[1], 0, 0x7Fu);
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x6C9u,
- "void Audit_YuRenJie(GUID_t, const char*)",
- "INVALID_ID!=guidUser");
- if ( !lpPlayerName )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x6CAu,
- "void Audit_YuRenJie(GUID_t, const char*)",
- "lpPlayerName");
- snprintf(szBuffer, 0x80u, "%s");
- LogForAudit(TYPE_YURENJIE, guidUser, szBuffer);
- }
- //----- (0805F280) --------------------------------------------------------
- void __cdecl Audit_YuRenJie_Exp(GUID_t guidUser, const char *lpPlayerName, const int playerLevel, const int expNum)
- {
- char szBuffer[128]; // [esp+4h] [ebp-88h]
- szBuffer[0] = 0;
- memset(&szBuffer[1], 0, 0x7Fu);
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x6D6u,
- "void Audit_YuRenJie_Exp(GUID_t, const char*, int, int)",
- "INVALID_ID!=guidUser");
- if ( !lpPlayerName )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x6D7u,
- "void Audit_YuRenJie_Exp(GUID_t, const char*, int, int)",
- "lpPlayerName");
- snprintf(szBuffer, 0x80u, "PlayerName = %s, Level = %d, Exp = %d", lpPlayerName, playerLevel, expNum);
- LogForAudit(TYPE_YURENJIE_EXP, guidUser, szBuffer);
- }
- //----- (0805F38C) --------------------------------------------------------
- void __cdecl Audit_PetCagePresent(GUID_t guidUser, const char *lpPlayerName)
- {
- char szBuffer[128]; // [esp+4h] [ebp-98h]
- memset(szBuffer, 0, 0x80u);
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x6E3u,
- "void Audit_PetCagePresent(GUID_t, const char*)",
- "INVALID_ID!=guidUser");
- if ( !lpPlayerName )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x6E4u,
- "void Audit_PetCagePresent(GUID_t, const char*)",
- "lpPlayerName");
- snprintf(szBuffer, 0x80u, "[PetCagePresentActivity] PlayerName:\"%s\" PresentCage OK");
- LogForAudit(TYPE_PETCAGE_PRESENT, guidUser, szBuffer);
- }
- //----- (0805F480) --------------------------------------------------------
- void __cdecl Audit_GeiZhaoPai(GUID_t guidUser, const char *lpPlayerName, const char *lpZhaoPaiName)
- {
- char szBuffer[128]; // [esp+4h] [ebp-88h]
- szBuffer[0] = 0;
- memset(&szBuffer[1], 0, 0x7Fu);
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x6F0u,
- "void Audit_GeiZhaoPai(GUID_t, const char*, const char*)",
- "INVALID_ID!=guidUser");
- if ( !lpPlayerName )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x6F1u,
- "void Audit_GeiZhaoPai(GUID_t, const char*, const char*)",
- "lpPlayerName");
- snprintf(szBuffer, 0x80u, &byte_80C4FBC, lpPlayerName, lpZhaoPaiName);
- LogForAudit(TYPE_GEIZHAOPAI, guidUser, szBuffer);
- }
- //----- (0805F588) --------------------------------------------------------
- void __cdecl Audit_GodFire(SceneID_t sceneId, GUID_t guidUser, INT nItemIndex, MissionID_t nMissionId, ID_t nWorldID, ID_t nZoneID, const CHAR *nName, const CHAR *nAccName, UINT nLevel)
- {
- char szBuffer[1024]; // [esp+4h] [ebp-418h]
- szBuffer[0] = 0;
- memset(&szBuffer[1], 0, 0x3FFu);
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x6FEu,
- "void Audit_GodFire(SceneID_t, GUID_t, INT, MissionID_t, ID_t, ID_t, const CHAR*, const CHAR*, UINT)",
- "INVALID_ID!=guidUser");
- snprintf(
- szBuffer,
- 0x400u,
- "SceneId =%d, BonusItemId =%d, MissionId =%d, WorldId =%d, ZoneId =%d, PlayerName =%s, AccName =%s, Level =%d",
- sceneId,
- nItemIndex,
- nMissionId,
- nWorldID,
- nZoneID,
- nName,
- nAccName,
- nLevel);
- LogForAudit(TYPE_GODFIRE_SUCCEED, guidUser, szBuffer);
- }
- //----- (0805F688) --------------------------------------------------------
- void __cdecl Audit_DrawGuildWelfare(GUID_t guidUser, INT nMoney, INT nExp)
- {
- char szBuffer[1024]; // [esp+4h] [ebp-408h]
- szBuffer[0] = 0;
- memset(&szBuffer[1], 0, 0x3FFu);
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x70Au,
- "void Audit_DrawGuildWelfare(GUID_t, INT, INT)",
- "guidUser != INVALID_ID");
- snprintf(szBuffer, 0x400u, "DrawMoney = %d, DrawExp = %d", nMoney, nExp);
- LogForAudit(TYPE_DRAWGUILDWELFARE, guidUser, szBuffer);
- }
- //----- (0805F760) --------------------------------------------------------
- void __cdecl Audit_SwitchToLeaguePK(INT sceneId, GUID_t guidUser)
- {
- char szBuffer[1024]; // [esp+4h] [ebp-408h]
- szBuffer[0] = 0;
- memset(&szBuffer[1], 0, 0x3FFu);
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x715u,
- "void Audit_SwitchToLeaguePK(INT, GUID_t)",
- "guidUser != INVALID_ID");
- snprintf(szBuffer, 0x400u, "sceneId = %d, GUID = %x", sceneId, guidUser);
- LogForAudit(TYPE_SWITCH_TO_LEAGUE_PK, guidUser, szBuffer);
- }
- //----- (0805F838) --------------------------------------------------------
- void __cdecl Audit_LeaguePkDie(INT sceneId, GUID_t guidUser, GUID_t guidKiller)
- {
- char szBuffer[1024]; // [esp+4h] [ebp-408h]
- szBuffer[0] = 0;
- memset(&szBuffer[1], 0, 0x3FFu);
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x71Fu,
- "void Audit_LeaguePkDie(INT, GUID_t, GUID_t)",
- "guidUser != INVALID_ID");
- snprintf(szBuffer, 0x400u, "sceneId = %d, guidUser = %x, guidKiller = %x", sceneId, guidUser, guidKiller);
- LogForAudit(TYPE_LEAGUE_PK_DIE, guidUser, szBuffer);
- }
- //----- (0805F914) --------------------------------------------------------
- void __cdecl Audit_ShiTuZongDongYuan(GUID_t guidUser, const CHAR *strLog)
- {
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x729u,
- "void Audit_ShiTuZongDongYuan(GUID_t, const CHAR*)",
- "guidUser != INVALID_ID");
- LogForAudit(TYPE_SHITUZONGDONGYUAN, guidUser, strLog);
- }
- //----- (0805F9A0) --------------------------------------------------------
- void __cdecl Audit_SlotFour(GUID_t guidUser, const CHAR *strLog)
- {
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x733u,
- "void Audit_SlotFour(GUID_t, const CHAR*)",
- "guidUser != INVALID_ID");
- LogForAudit(TYPE_FOUR_SLOT, guidUser, strLog);
- }
- //----- (0805FA2C) --------------------------------------------------------
- void __cdecl Audit_EnchaseFour(GUID_t guidUser, const CHAR *strLog)
- {
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x73Eu,
- "void Audit_EnchaseFour(GUID_t, const CHAR*)",
- "guidUser != INVALID_ID");
- LogForAudit(TYPE_FOUR_ENCHASE, guidUser, strLog);
- }
- //----- (0805FAB8) --------------------------------------------------------
- void __cdecl Audit_JipinZhuangbei(GUID_t guidUser, INT nItemIndex)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x748u,
- "void Audit_JipinZhuangbei(GUID_t, INT)",
- "INVALID_ID!=guidUser");
- snprintf(szBuffer, 0x80u, "PlayerGuid =%x ItemID =%d", guidUser, nItemIndex);
- szBuffer[127] = 0;
- LogForAudit(TYPE_JIPIN_ZHUANGBEI, guidUser, szBuffer);
- }
- //----- (0805FB70) --------------------------------------------------------
- void __cdecl Audit_PetSkillStudy_Manual(GUID_t guidUser, INT nPetDataID, INT nSkillID)
- {
- CHAR szBuffer[256]; // [esp+Ch] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d,%d", nPetDataID, nSkillID);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PETSKILLSTUDY_MANUAL, guidUser, szBuffer);
- }
- //----- (0805FBFC) --------------------------------------------------------
- void __cdecl Audit_PetSkillStudy_Auto(GUID_t guidUser, INT nPetDataID, INT nSkillID)
- {
- CHAR szBuffer[256]; // [esp+Ch] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d,%d", nPetDataID, nSkillID);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PETSKILLSTUDY_AUTO, guidUser, szBuffer);
- }
- //----- (0805FC88) --------------------------------------------------------
- void __cdecl Audit_PetSkillStudy_GetManual2(GUID_t guidUser, INT nPetDataID, INT nSkillID)
- {
- CHAR szBuffer[256]; // [esp+Ch] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d,%d", nPetDataID, nSkillID);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PETSKILLSTUDY_GETMANUAL2, guidUser, szBuffer);
- }
- //----- (0805FD14) --------------------------------------------------------
- void __cdecl Audit_PetSkillStudy_GetAuto5(GUID_t guidUser, INT nPetDataID, INT nSkillID)
- {
- CHAR szBuffer[256]; // [esp+Ch] [ebp-108h]
- snprintf(szBuffer, 0x100u, "%d,%d", nPetDataID, nSkillID);
- szBuffer[255] = 0;
- LogForAudit(TYPE_PETSKILLSTUDY_GETAUTO5, guidUser, szBuffer);
- }
- //----- (0805FDA0) --------------------------------------------------------
- void __cdecl Audit_PMF_CreateFuben(GUID_t guidUser)
- {
- LogForAudit(TYPE_PMF_CREATE_FUBEN, guidUser, 0);
- }
- //----- (0805FE08) --------------------------------------------------------
- void __cdecl Audit_PMF_CreateBoss(GUID_t guidUser, INT nBossDataID)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- snprintf(szBuffer, 0x80u, "BossDataID=%d");
- szBuffer[127] = 0;
- LogForAudit(TYPE_PMF_CREATE_BOSS, guidUser, szBuffer);
- }
- //----- (0805FE90) --------------------------------------------------------
- void __cdecl Audit_PWLock(GUID_t OwnerGUID, SceneID_t sceneId, BYTE objType, BYTE optType, const _ITEM_GUID *itemGUID, const PET_GUID_t *petGUID)
- {
- char aObjType[20]; // [esp+10h] [ebp-158h]
- char aOptType[20]; // [esp+30h] [ebp-138h]
- CHAR szBuffer[256]; // [esp+50h] [ebp-118h]
- memset(aObjType, 0, sizeof(aObjType));
- memset(aOptType, 0, sizeof(aOptType));
- if ( !optType )
- {
- *(_DWORD *)aOptType = -120859716;
- LABEL_3:
- aOptType[4] = 0;
- goto LABEL_4;
- }
- if ( optType == 1 )
- {
- *(_DWORD *)aOptType = -120855875;
- goto LABEL_3;
- }
- LABEL_4:
- if ( !objType )
- {
- *(_DWORD *)aObjType = -1211699250;
- LABEL_6:
- aObjType[4] = 0;
- goto LABEL_7;
- }
- if ( objType == 1 )
- {
- *(_DWORD *)aObjType = -557128491;
- goto LABEL_6;
- }
- LABEL_7:
- if ( itemGUID )
- {
- if ( petGUID )
- return;
- snprintf(
- szBuffer,
- 0x100u,
- "SceneID=%d,ItemGUID=%d_%d_%d,objType=%s,optType=%s",
- sceneId,
- itemGUID->m_World,
- itemGUID->m_Server,
- itemGUID->m_Serial,
- aObjType,
- aOptType);
- }
- else
- {
- snprintf(
- szBuffer,
- 0x100u,
- "SceneID=%d,PetGUID_H=%.8x,PetGUID_L=%.8x,objType=%s,optType=%s",
- sceneId,
- petGUID->m_uHighSection,
- petGUID->m_uLowSection,
- aObjType,
- aOptType);
- }
- szBuffer[255] = 0;
- LogForAudit(TYPE_PWLOCK, OwnerGUID, szBuffer);
- }
- //----- (0805FFF8) --------------------------------------------------------
- void __cdecl Audit_JoinJiaoShiJie(GUID_t guidUser)
- {
- char szBuffer[1024]; // [esp+4h] [ebp-408h]
- memset(szBuffer, 0, 0x400u);
- if ( !guidUser )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x7BCu,
- "void Audit_JoinJiaoShiJie(GUID_t)",
- "guidUser != NULL");
- LogForAudit(TYPE_JOIN_JIAOSHIJIE, guidUser, szBuffer);
- }
- //----- (0806009C) --------------------------------------------------------
- void __cdecl Audit_JoinCollectSignature(INT sceneId, GUID_t guidUser)
- {
- char szBuffer[1024]; // [esp+4h] [ebp-408h]
- szBuffer[0] = 0;
- memset(&szBuffer[1], 0, 0x3FFu);
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x7C6u,
- "void Audit_JoinCollectSignature(INT, GUID_t)",
- "guidUser != INVALID_ID");
- snprintf(szBuffer, 0x400u, "sceneId = %d, GUID = 0x%x", sceneId, guidUser);
- LogForAudit(TYPE_COLLECT_SIGNATURE, guidUser, szBuffer);
- }
- //----- (08060174) --------------------------------------------------------
- void __cdecl Audit_ExchangeMenpaiSuit(INT sceneId, GUID_t guidUser, INT menpai, INT suitId)
- {
- char szBuffer[1024]; // [esp+4h] [ebp-408h]
- szBuffer[0] = 0;
- memset(&szBuffer[1], 0, 0x3FFu);
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x7D1u,
- "void Audit_ExchangeMenpaiSuit(INT, GUID_t, INT, INT)",
- "guidUser != INVALID_ID");
- snprintf(szBuffer, 0x400u, "sceneId = %d, GUID = 0X%X, MenPai = %d, SuitID = %d", sceneId, guidUser, menpai, suitId);
- LogForAudit(TYPE_EXCHANGE_MENPAI_SUIT, guidUser, szBuffer);
- }
- //----- (08060250) --------------------------------------------------------
- void __cdecl Audit_ExchangeFriendGift(INT sceneId, GUID_t guidUser, UINT itemId)
- {
- char szBuffer[1024]; // [esp+4h] [ebp-408h]
- szBuffer[0] = 0;
- memset(&szBuffer[1], 0, 0x3FFu);
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x7DCu,
- "void Audit_ExchangeFriendGift(INT, GUID_t, UINT)",
- "guidUser != INVALID_ID");
- snprintf(szBuffer, 0x400u, "sceneId = %d, GUID = 0x%x, GiftID = %u", sceneId, guidUser, itemId);
- LogForAudit(TYPE_EXCHANGE_FRIEND_GIFT, guidUser, szBuffer);
- }
- //----- (0806032C) --------------------------------------------------------
- void __cdecl Audit_CitySpy(INT sceneId, GUID_t guidUser, UINT level, UINT type)
- {
- char szBuffer[1024]; // [esp+4h] [ebp-408h]
- szBuffer[0] = 0;
- memset(&szBuffer[1], 0, 0x3FFu);
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x7E7u,
- "void Audit_CitySpy(INT, GUID_t, UINT, UINT)",
- "guidUser != INVALID_ID");
- snprintf(szBuffer, 0x400u, "sceneId = %d, GUID = 0x%x, level = %u, type = %u", sceneId, guidUser, level, type);
- LogForAudit(TYPE_CITY_SPY, guidUser, szBuffer);
- }
- //----- (08060408) --------------------------------------------------------
- void __cdecl Audit_XQJ_CreateFuBen(GUID_t guidUser)
- {
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x7F1u,
- "void Audit_XQJ_CreateFuBen(GUID_t)",
- "guidUser != INVALID_ID");
- LogForAudit(TYPE_XQJ_FUBEN_CREATE, guidUser, 0);
- }
- //----- (08060494) --------------------------------------------------------
- void __cdecl Audit_ReexperienceWedding(GUID_t guidUser1, GUID_t guidUser2, INT level1, INT level2)
- {
- char szBuffer[1024]; // [esp+0h] [ebp-408h]
- if ( guidUser1 == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x7F9u,
- "void Audit_ReexperienceWedding(GUID_t, GUID_t, INT, INT)",
- "guidUser1 != INVALID_ID");
- if ( guidUser2 == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x7FAu,
- "void Audit_ReexperienceWedding(GUID_t, GUID_t, INT, INT)",
- "guidUser2 != INVALID_ID");
- szBuffer[0] = 0;
- memset(&szBuffer[1], 0, 0x3FFu);
- snprintf(
- szBuffer,
- 0x400u,
- "GUID1 = 0x%x, GUID2 = 0x%x Level1 = %u, Level2 = %u",
- guidUser1,
- guidUser2,
- level1,
- level2);
- LogForAudit(TYPE_REEXPERIENCE_WEDDING, guidUser1, szBuffer);
- }
- //----- (080605A0) --------------------------------------------------------
- void __cdecl Audit_UseTeacherGift(GUID_t guidUser, INT itemIndex)
- {
- char szBuffer[1024]; // [esp+4h] [ebp-408h]
- memset(szBuffer, 0, 0x400u);
- if ( !guidUser )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x806u,
- "void Audit_UseTeacherGift(GUID_t, INT)",
- "guidUser != NULL");
- snprintf(szBuffer, 0x400u, "ItemIndex=%08d");
- LogForAudit(TYPE_USE_TEACHER_GIFT, guidUser, szBuffer);
- }
- //----- (08060658) --------------------------------------------------------
- void __cdecl Audit_RunHunDanUsed(GUID_t guidSelf, INT ItemIndex)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "CharacterID:%d,ItemId:%d,Use RunHuanDan once", guidSelf, ItemIndex);
- szBuffer[127] = 0;
- LogForAudit(TYPE_RUNHUNDAN_USED, guidSelf, szBuffer);
- }
- //----- (080606E8) --------------------------------------------------------
- void __cdecl Audit_DianHuaMiBaoZengPing(GUID_t guidSelf, const CHAR *AccName, INT ItemIndex)
- {
- CHAR szBuffer[128]; // [esp+8h] [ebp-88h]
- snprintf(szBuffer, 0x80u, aGetRunhundanCh, guidSelf, ItemIndex, AccName);
- szBuffer[127] = 0;
- LogForAudit(TYPE_DIANHUAMIBAO_LINGQU, guidSelf, szBuffer);
- }
- //----- (08060778) --------------------------------------------------------
- void __cdecl Audit_AnBaoJinPaiZengPing(GUID_t guidSelf, INT ItemIndex)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "Get AnBaoDaLiBao,ItemId:%d, CharacterId:%d", ItemIndex, guidSelf);
- szBuffer[127] = 0;
- LogForAudit(TYPE_ANBAOJINPAI_LINGQU, guidSelf, szBuffer);
- }
- //----- (08060808) --------------------------------------------------------
- void __cdecl Audit_GiveExpAfterUnline(GUID_t guidSelf, INT nDone, INT nExpNum, INT nLevel, INT nMenPai)
- {
- const char *v5; // [esp-18h] [ebp-A0h]
- INT v6; // [esp-14h] [ebp-9Ch]
- INT v7; // [esp-10h] [ebp-98h]
- INT v8; // [esp-Ch] [ebp-94h]
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( nDone )
- {
- v8 = nMenPai;
- v7 = nLevel;
- v6 = nExpNum;
- v5 = "This player have get all PoolExp, so Give exp num: %d, Level:%d, MenPai: %d";
- }
- else
- {
- v8 = nMenPai;
- v7 = nLevel;
- v6 = nExpNum;
- v5 = "This player have not get all PoolExp, so Give exp num: %d, Level:%d, MenPai: %d";
- }
- snprintf(szBuffer, 0x80u, v5, v6, v7, v8);
- szBuffer[127] = 0;
- LogForAudit(TYPE_UNLINE_GIFTEXP, guidSelf, szBuffer);
- }
- //----- (080608B4) --------------------------------------------------------
- void __cdecl Audit_GiveItemAfterUnline(GUID_t guidSelf, INT nItemID, INT nItemNum, INT nLevel, INT nMenPai)
- {
- CHAR szBuffer[128]; // [esp+4h] [ebp-88h]
- snprintf(
- szBuffer,
- 0x80u,
- "Give player offline gift,ItemId:%d, ItemNum:%d, Level:%d, MenPai: %d",
- nItemID,
- nItemNum,
- nLevel,
- nMenPai);
- szBuffer[127] = 0;
- LogForAudit(TYPE_UNLINE_GIFTITEM, guidSelf, szBuffer);
- }
- //----- (08060948) --------------------------------------------------------
- void __cdecl Audit_GivePoolExpAfterUnline(GUID_t guidSelf, INT nExpNum, INT nDay, INT nLevel, INT nMenPai)
- {
- CHAR szBuffer[128]; // [esp+4h] [ebp-88h]
- snprintf(
- szBuffer,
- 0x80u,
- "Give player offline PoolExp,PoolExp:%d, LeaveDay:%d, Level:%d, MenPai: %d",
- nExpNum,
- nDay,
- nLevel,
- nMenPai);
- szBuffer[127] = 0;
- LogForAudit(TYPE_UNLINE_POOLEXP, guidSelf, szBuffer);
- }
- //----- (080609DC) --------------------------------------------------------
- void __cdecl Audit_NetPet_CreateCopy(GUID_t createrGuid, INT nMemberNum)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- snprintf(szBuffer, 0x80u, "A CopyScene was created, there are %d members in is");
- szBuffer[127] = 0;
- LogForAudit(TYPE_NEWPET_CREATECOPY, createrGuid, szBuffer);
- }
- //----- (08060A64) --------------------------------------------------------
- void __cdecl Audit_CreateXSZhuangNum(GUID_t guidUser, INT num)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- snprintf(szBuffer, 0x80u, "A player get %d xueshangzhuang");
- szBuffer[127] = 0;
- LogForAudit(TYPE_XSZHUANG_CREATENUM, guidUser, szBuffer);
- }
- //----- (08060AEC) --------------------------------------------------------
- void __cdecl Audit_ShiMen_CaiJiPet(GUID_t guidUser, INT Level)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- snprintf(szBuffer, 0x80u, "%d");
- szBuffer[127] = 0;
- LogForAudit(TYPE_SHIMEN_CAIJI_PETLEVELPLAYER, guidUser, szBuffer);
- }
- //----- (08060B74) --------------------------------------------------------
- void __cdecl Audit_QingRenJie_ShiZhuang(GUID_t guidUser)
- {
- if ( guidUser == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x875u,
- "void Audit_QingRenJie_ShiZhuang(GUID_t)",
- "guidUser != INVALID_ID");
- LogForAudit(TYPE_QINRENJIE_SHIZHUANG, guidUser, 0);
- }
- //----- (08060C00) --------------------------------------------------------
- void __cdecl Audit_ShiMen_CaiJi(GUID_t guidUser, INT type)
- {
- if ( type == 1 )
- {
- LogForAudit(TYPE_SHIMEN_CAIJI_JOINTPLAYER, guidUser, 0);
- }
- else if ( type == 2 )
- {
- LogForAudit(TYPE_SHIMEN_CAIJI_FINISHTHREEPLAYER, guidUser, 0);
- }
- }
- //----- (08060C88) --------------------------------------------------------
- void __cdecl Audit_XinSanHuan_CreateFuben(GUID_t guidUser, INT type)
- {
- switch ( type )
- {
- case 1:
- LogForAudit(TYPE_XINSANHUAN_CREATE_HUANGJIN, guidUser, 0);
- break;
- case 2:
- LogForAudit(TYPE_XINSANHUAN_CREATE_XUANFOUZHU, guidUser, 0);
- break;
- case 3:
- LogForAudit(TYPE_XINSANHUAN_CREATE_RONGYAN, guidUser, 0);
- break;
- }
- }
- //----- (08060D24) --------------------------------------------------------
- void __cdecl Audit_XuanHaoYu(GUID_t guidSelf, INT level, INT ItemID)
- {
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "Exchange XuanHaoYu EquipLevel:%d,EquipID:%d", level, ItemID);
- szBuffer[127] = 0;
- LogForAudit(TYPE_XUANHAOYU_EXCHANGE, guidSelf, szBuffer);
- }
- //----- (08060DB0) --------------------------------------------------------
- void __cdecl Audit_GemMelting(GUID_t guidSelf, INT GemItemID1, INT GemItemID2, INT GemItemID3, INT NeedItemID, INT ProductItemID)
- {
- CHAR szBuffer[256]; // [esp+0h] [ebp-118h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x89Fu,
- "void Audit_GemMelting(GUID_t, INT, INT, INT, INT, INT)",
- "INVALID_ID!=guidSelf");
- if ( GemItemID1 == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x8A0u,
- "void Audit_GemMelting(GUID_t, INT, INT, INT, INT, INT)",
- "INVALID_ID!=GemItemID1");
- if ( GemItemID2 == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x8A1u,
- "void Audit_GemMelting(GUID_t, INT, INT, INT, INT, INT)",
- "INVALID_ID!=GemItemID2");
- if ( GemItemID3 == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x8A2u,
- "void Audit_GemMelting(GUID_t, INT, INT, INT, INT, INT)",
- "INVALID_ID!=GemItemID3");
- if ( NeedItemID == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x8A3u,
- "void Audit_GemMelting(GUID_t, INT, INT, INT, INT, INT)",
- "INVALID_ID!=NeedItemID");
- if ( ProductItemID == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x8A4u,
- "void Audit_GemMelting(GUID_t, INT, INT, INT, INT, INT)",
- "INVALID_ID!=ProductItemID");
- snprintf(szBuffer, 0x100u, "%d,%d,%d,%d,%d", GemItemID1, GemItemID2, GemItemID3, NeedItemID);
- szBuffer[255] = 0;
- LogForAudit(TYPE_GEM_MELTING, guidSelf, szBuffer);
- }
- //----- (08060F5C) --------------------------------------------------------
- void __cdecl Audit_UpgradeRing(GUID_t guidSelf, INT level, UINT itemID, INT type)
- {
- int v4; // eax
- CHAR szBuffer[128]; // [esp+Ch] [ebp-88h]
- snprintf(szBuffer, 0x80u, "Level = %d, RingID = %u ", level, itemID);
- szBuffer[127] = 0;
- v4 = 167;
- if ( type != 1 )
- v4 = (type != 2) + 168;
- LogForAudit((AuditType_T::TypeEnum_T)v4, guidSelf, szBuffer);
- }
- //----- (08061004) --------------------------------------------------------
- void __cdecl Audit_GuildCollect(GUID_t guidSelf, const CHAR *guildName, const CHAR *cityName, INT level, UINT num, INT type)
- {
- AuditType_T::TypeEnum_T v6; // eax
- bool v7; // zf
- CHAR szBuffer[128]; // [esp+4h] [ebp-88h]
- snprintf(szBuffer, 0x80u, "guildName=%s,cityName=%s,level=%u,num=%u", guildName, cityName, level, num);
- szBuffer[127] = 0;
- v6 = 177;
- if ( type != 2 )
- {
- if ( type <= 2 )
- {
- LOBYTE(v6) = -80;
- v7 = type == 1;
- }
- else
- {
- v6 = 178;
- v7 = type == 3;
- }
- if ( !v7 )
- v6 = 176;
- }
- LogForAudit(v6, guidSelf, szBuffer);
- }
- //----- (080610BC) --------------------------------------------------------
- void __cdecl Audit_YuanBaoStall_Item(GUID_t guidSelf, GUID_t guidBuyer, INT number, INT ItemIndex, INT ItemPrice)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x8E0u,
- "void Audit_YuanBaoStall_Item(GUID_t, GUID_t, INT, INT, INT)",
- "INVALID_ID!=guidSelf");
- snprintf(
- szBuffer,
- 0x80u,
- "PlayerGuid=%x,BuyerGuid=%x,Num=%d,ItemIndex=%d,ItemPrice=%d",
- guidSelf,
- guidBuyer,
- number,
- ItemIndex);
- szBuffer[127] = 0;
- LogForAudit(TYPE_YUANBAO_STALL_ITEM, guidSelf, szBuffer);
- }
- //----- (08061178) --------------------------------------------------------
- void __cdecl Audit_YuanBaoStall_Pet(GUID_t guidSelf, GUID_t guidBuyer, INT number, INT PetIndex, INT PetPrice)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x8EBu,
- "void Audit_YuanBaoStall_Pet(GUID_t, GUID_t, INT, INT, INT)",
- "INVALID_ID!=guidSelf");
- snprintf(
- szBuffer,
- 0x80u,
- "PlayerGuid=%x,BuyerGuid=%x,Num=%d,PetIndex=%d,PetPrice=%d",
- guidSelf,
- guidBuyer,
- number,
- PetIndex);
- szBuffer[127] = 0;
- LogForAudit(TYPE_YUANBAO_STALL_PET, guidSelf, szBuffer);
- }
- //----- (08061234) --------------------------------------------------------
- void __cdecl Audit_Segment(GUID_t guidSelf, INT type)
- {
- if ( type == 1 )
- {
- LogForAudit(TYPE_FRACTION_SEGMENT, guidSelf, 0);
- }
- else if ( type == 2 )
- {
- LogForAudit(TYPE_COMPOSE_SEGMENT, guidSelf, 0);
- }
- }
- //----- (080612BC) --------------------------------------------------------
- void __cdecl Audit_ResetPMFCountSmall(GUID_t guidSelf, INT nDayCount)
- {
- CHAR szBuffer[64]; // [esp+0h] [ebp-48h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x901u,
- "void Audit_ResetPMFCountSmall(GUID_t, INT)",
- "INVALID_ID!=guidSelf");
- snprintf(szBuffer, 0x40u, "%d");
- szBuffer[63] = 0;
- LogForAudit(TYPE_RESET_PMFCOUNT_SMALL, guidSelf, szBuffer);
- }
- //----- (08061368) --------------------------------------------------------
- void __cdecl Audit_ChangeFatigueState(GUID_t guidSelf, INT oldState, INT newState)
- {
- CHAR szBuffer[64]; // [esp+0h] [ebp-48h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x90Cu,
- "void Audit_ChangeFatigueState(GUID_t, INT, INT)",
- "INVALID_ID!=guidSelf");
- snprintf(szBuffer, 0x40u, "%d,%d", oldState, newState);
- szBuffer[63] = 0;
- LogForAudit(TYPE_CHANGE_FATIGUE_STATE, guidSelf, szBuffer);
- }
- //----- (0806141C) --------------------------------------------------------
- void __cdecl Oops_Log(INT type, INT from, INT srvID, const CHAR *szMsg)
- {
- const char *v4; // eax
- CHAR *v5; // ecx
- CHAR szBuffer[4096]; // [esp+0h] [ebp-1008h]
- v4 = "WORLD";
- if ( from )
- {
- v4 = "LOGIN_SERVER" + 6;
- if ( from != 1 )
- v4 = "UNKNOWN";
- }
- v5 = "undefined";
- if ( (unsigned int)type <= 3 )
- v5 = g_OopsLogDefine[type].szType;
- snprintf(szBuffer, 0x1000u, "typeid=%d type=%s from=%s srvID=%d desc=%s", type, v5, v4, srvID);
- szBuffer[4095] = 0;
- CacheLog(27, "%s", szBuffer);
- }
- //----- (080614D8) --------------------------------------------------------
- #error "8061518: positive sp value has been found (funcsize=21)"
- //----- (08061598) --------------------------------------------------------
- void __cdecl OopsLogBase::WriteLog(OopsLogBase *const this, INT type, const CHAR *szMsg)
- {
- Oops_Log(type, 0, 0, szMsg);
- }
- //----- (080615B0) --------------------------------------------------------
- void __cdecl Audit_QianDao_Award(GUID_t guidPlayer, const CHAR *strPlayerName, INT nLevel, INT nAwardCount)
- {
- CHAR szBuffer[256]; // [esp+8h] [ebp-108h]
- snprintf(
- szBuffer,
- 0x100u,
- "Give player award![name = %s][level = %d][award count = %d]",
- strPlayerName,
- nLevel,
- nAwardCount);
- szBuffer[255] = 0;
- LogForAudit(TYPE_QIANDAO, guidPlayer, szBuffer);
- }
- //----- (08061640) --------------------------------------------------------
- void __cdecl Audit_QianDao_Join(GUID_t guidPlayer, const CHAR *strPlayerName, INT nLevel)
- {
- CHAR szBuffer[256]; // [esp+Ch] [ebp-108h]
- snprintf(szBuffer, 0x100u, "Player join this act![name = %s][level = %d]", strPlayerName, nLevel);
- szBuffer[255] = 0;
- LogForAudit(TYPE_QIANDAO, guidPlayer, szBuffer);
- }
- //----- (080616CC) --------------------------------------------------------
- void __cdecl Audit_FindFriendAD_DelInfo(GUID_t guidSelf, INT nADType)
- {
- CHAR szBuffer[64]; // [esp+0h] [ebp-48h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x97Au,
- "void Audit_FindFriendAD_DelInfo(GUID_t, INT)",
- "INVALID_ID!=guidSelf");
- if ( nADType == 2 )
- goto LABEL_8;
- if ( nADType <= 2 )
- {
- if ( nADType != 1 )
- return;
- LABEL_8:
- snprintf(szBuffer, 0x40u, "%s");
- szBuffer[63] = 0;
- LogForAudit(TYPE_FINDFRIENDAD_DELAD, guidSelf, szBuffer);
- return;
- }
- if ( nADType == 3 || nADType == 4 )
- goto LABEL_8;
- }
- //----- (080617B8) --------------------------------------------------------
- void __cdecl Audit_FindFriendAD_NewInfo(GUID_t guidSelf, INT nADType)
- {
- CHAR szBuffer[64]; // [esp+0h] [ebp-48h]
- if ( guidSelf == -1 )
- __assert__(
- "../../Server/Server/Base/LogDefine.cpp",
- 0x996u,
- "void Audit_FindFriendAD_NewInfo(GUID_t, INT)",
- "INVALID_ID!=guidSelf");
- if ( nADType == 2 )
- goto LABEL_8;
- if ( nADType <= 2 )
- {
- if ( nADType != 1 )
- return;
- LABEL_8:
- snprintf(szBuffer, 0x40u, "%s");
- szBuffer[63] = 0;
- LogForAudit(TYPE_FINDFRIENDAD_ADDAD, guidSelf, szBuffer);
- return;
- }
- if ( nADType == 3 || nADType == 4 )
- goto LABEL_8;
- }
- //----- (080618A4) --------------------------------------------------------
- void __cdecl Audit_FindFriendad_ClickZheng(GUID_t guidSelf)
- {
- CHAR szBuffer[64]; // [esp+0h] [ebp-48h]
- snprintf(szBuffer, 0x40u, "%s");
- szBuffer[63] = 0;
- LogForAudit(TYPE_FINDFRIENDAD_CLICKZHENG, guidSelf, szBuffer);
- }
- //----- (08061928) --------------------------------------------------------
- void __cdecl Audit_PetSkillLevelUpAndCompound(GUID_t guidUser, INT type, INT ItemID)
- {
- CHAR szBuffer[128]; // [esp+0h] [ebp-88h]
- if ( type == 1 )
- {
- snprintf(szBuffer, 0x80u, "PetSkillLevelUp Consumed ItemID:%d");
- szBuffer[127] = 0;
- LogForAudit(TYPE_PETSKILLLEVELUP, guidUser, szBuffer);
- }
- else if ( type == 2 )
- {
- snprintf(szBuffer, 0x80u, "PetMedicineHC Compound ItemID:%d");
- szBuffer[127] = 0;
- LogForAudit(TYPE_PETMEDICINEHCCOMPOUND, guidUser, szBuffer);
- }
- }
- //----- (080619F0) --------------------------------------------------------
- void __cdecl _tcf_0_10(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08061A00) --------------------------------------------------------
- void __cdecl _tcf_1_2(void *a1)
- {
- theOopsLog._vptr_OopsLogBase = (int (**)(...))off_80C3600;
- }
- // 80C3600: using guessed type _DWORD (__cdecl *off_80C3600[2])(OopsLogBase *this);
- //----- (08061A10) --------------------------------------------------------
- void `global constructor keyed to'SaveItemLog()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_10, 0, &_dso_handle);
- theOopsLog._vptr_OopsLogBase = (int (**)(...))off_80C3600;
- __cxa_atexit(_tcf_1_2, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- // 80C3600: using guessed type _DWORD (__cdecl *off_80C3600[2])(OopsLogBase *this);
- //----- (08061A58) --------------------------------------------------------
- void __cdecl OopsLogBase::~OopsLogBase(_DWORD *a2)
- {
- *a2 = off_80C3600;
- }
- // 80C3600: using guessed type _DWORD (__cdecl *off_80C3600[2])(OopsLogBase *this);
- //----- (08061A68) --------------------------------------------------------
- void __cdecl OopsLogBase::~OopsLogBase(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C3600;
- operator delete(a2);
- }
- // 80C3600: using guessed type _DWORD (__cdecl *off_80C3600[2])(OopsLogBase *this);
- //----- (08061A7C) --------------------------------------------------------
- void __cdecl OopsLogBase::Flush(OopsLogBase *const this)
- {
- ;
- }
- //----- (08061A84) --------------------------------------------------------
- void __cdecl StrTable::StrTable(_DWORD *a2)
- {
- *a2 = 0;
- a2[1] = 0;
- a2[2] = 0;
- }
- //----- (08061AA0) --------------------------------------------------------
- void __cdecl StrTable::StrTable(_DWORD *a2)
- {
- *a2 = 0;
- a2[1] = 0;
- a2[2] = 0;
- }
- //----- (08061ABC) --------------------------------------------------------
- void __cdecl StrTable::~StrTable(StrTable *const this)
- {
- _TABLEITEM_STR *v1; // edx
- int i; // ebx
- v1 = this->m_pTable;
- if ( this->m_pTable )
- {
- for ( i = (int)&v1[v1[-1].m_Status]; v1 != (_TABLEITEM_STR *)i; *(_DWORD *)(i + 8) = 0 )
- {
- i -= 12;
- if ( *(_DWORD *)i )
- {
- operator delete[](*(void **)i);
- v1 = this->m_pTable;
- *(_DWORD *)i = 0;
- }
- *(_DWORD *)(i + 4) = 0;
- }
- operator delete[](&v1[-1].m_Status);
- this->m_pTable = 0;
- }
- this->m_Count = 0;
- this->m_StringSize = 0;
- }
- //----- (08061B34) --------------------------------------------------------
- void __cdecl StrTable::~StrTable(StrTable *const this)
- {
- _TABLEITEM_STR *v1; // edx
- int i; // ebx
- v1 = this->m_pTable;
- if ( this->m_pTable )
- {
- for ( i = (int)&v1[v1[-1].m_Status]; v1 != (_TABLEITEM_STR *)i; *(_DWORD *)(i + 8) = 0 )
- {
- i -= 12;
- if ( *(_DWORD *)i )
- {
- operator delete[](*(void **)i);
- v1 = this->m_pTable;
- *(_DWORD *)i = 0;
- }
- *(_DWORD *)(i + 4) = 0;
- }
- operator delete[](&v1[-1].m_Status);
- this->m_pTable = 0;
- }
- this->m_Count = 0;
- this->m_StringSize = 0;
- }
- //----- (08061BAC) --------------------------------------------------------
- #error "8061CF2: positive sp value has been found (funcsize=96)"
- //----- (08061D28) --------------------------------------------------------
- #error "8061E02: positive sp value has been found (funcsize=66)"
- //----- (08061E38) --------------------------------------------------------
- void *__cdecl StrTable::Get(StrTable *const this, const CHAR *szString)
- {
- UINT v3; // eax
- UINT v4; // edi
- int v5; // ebx
- int v6; // esi
- UINT v7; // eax
- _TABLEITEM_STR *v8; // [esp+4h] [ebp-14h]
- UINT i; // [esp+8h] [ebp-10h]
- if ( szString )
- {
- if ( *szString )
- {
- v3 = MyCRC(szString);
- v4 = this->m_Count;
- v5 = (v3 >> 2) % v4;
- i = 0;
- if ( v4 )
- {
- v8 = this->m_pTable;
- do
- {
- v6 = v5;
- v7 = v8[v5].m_Status;
- if ( !v7 )
- break;
- if ( v7 != 2 && !strcmp(v8[v6].m_pString, szString) )
- return v8[v6].m_pPtr;
- if ( v4 <= ++v5 )
- v5 = 0;
- ++i;
- }
- while ( v4 > i );
- }
- }
- }
- return 0;
- }
- //----- (08061F20) --------------------------------------------------------
- void *__cdecl StrTable::GetByPos(StrTable *const this, UINT pos)
- {
- void *v2; // ebx
- v2 = 0;
- if ( this->m_Count > pos && this->m_pTable[pos].m_Status == 1 )
- v2 = this->m_pTable[pos].m_pPtr;
- return v2;
- }
- //----- (08061F4C) --------------------------------------------------------
- void __cdecl StrTable::Remove(StrTable *const this, const CHAR *szString)
- {
- UINT v2; // eax
- UINT v3; // edi
- int v4; // ebx
- int v5; // esi
- UINT v6; // eax
- _TABLEITEM_STR *v7; // eax
- _TABLEITEM_STR *v8; // [esp+Ch] [ebp-18h]
- UINT i; // [esp+10h] [ebp-14h]
- v2 = MyCRC(szString);
- v3 = this->m_Count;
- v4 = (v2 >> 2) % v3;
- i = 0;
- if ( v3 )
- {
- v8 = this->m_pTable;
- do
- {
- v5 = v4;
- v6 = v8[v4].m_Status;
- if ( !v6 )
- break;
- if ( v6 != 2 && !strcmp(v8[v5].m_pString, szString) )
- {
- memset(v8[v5].m_pString, 0, this->m_StringSize);
- v7 = this->m_pTable;
- v7[v5].m_pPtr = 0;
- v7[v5].m_Status = 2;
- return;
- }
- if ( v3 <= ++v4 )
- v4 = 0;
- ++i;
- }
- while ( v3 > i );
- }
- }
- //----- (08062054) --------------------------------------------------------
- void __cdecl StrTable::RemoveByPos(StrTable *const this, UINT pos)
- {
- UINT v2; // ebx
- _TABLEITEM_STR *v3; // eax
- if ( this->m_Count > pos )
- {
- v2 = pos;
- memset(this->m_pTable[pos].m_pString, 0, this->m_StringSize);
- v3 = this->m_pTable;
- v3[v2].m_pPtr = 0;
- v3[v2].m_Status = 2;
- }
- }
- //----- (080620A0) --------------------------------------------------------
- void __cdecl StrTable::CleanUp(StrTable *const this)
- {
- _TABLEITEM_STR *v1; // eax
- UINT v2; // edi
- int v3; // ebx
- v1 = this->m_pTable;
- if ( this->m_pTable )
- {
- v2 = 0;
- if ( this->m_Count )
- {
- v3 = 0;
- do
- {
- memset(v1[v3].m_pString, 0, this->m_StringSize);
- v1 = this->m_pTable;
- v1[v3].m_Status = 0;
- ++v2;
- v1[v3].m_pPtr = 0;
- ++v3;
- }
- while ( this->m_Count > v2 );
- }
- }
- }
- //----- (080620F4) --------------------------------------------------------
- void __cdecl _tcf_0_11(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08062104) --------------------------------------------------------
- void `global constructor keyed to'StrTable::StrTable()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_11, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08062130) --------------------------------------------------------
- void __cdecl _HUMAN_DB_LOAD::CleanUp(_HUMAN_DB_LOAD *const this)
- {
- signed int v1; // eax
- _PVPInfo *v2; // ecx
- FightBackList_T *v3; // eax
- signed int v4; // edx
- PersonalDuelList_T *v5; // eax
- signed int v6; // edx
- PersonalEnemyList_T *v7; // eax
- signed int v8; // edx
- _HUMAN_DB_LOAD *v9; // eax
- signed int v10; // edx
- _HUMAN_DB_LOAD *v11; // eax
- signed int v12; // edx
- _DuelInfo *v13; // eax
- _FATIGUE_INFO *v14; // eax
- _DOUBLE_EXP *v15; // eax
- this->m_PortraitID = -1;
- memset(this->m_Name, 0, 0x1Cu);
- *(_WORD *)&this->m_Name[28] = 0;
- memset(this->m_Title, 0, 0x20u);
- *(_WORD *)&this->m_Title[32] = 0;
- this->m_GUID = -1;
- this->m_Sex = 0;
- this->m_CreateDate = 0;
- memset(&this->m_Titles, 0, 0x2ECu);
- this->m_Level = 0;
- this->m_Vigor = 0;
- this->m_MaxVigor = 0;
- this->m_VigorRegeneRate = 0;
- this->m_Energy = 0;
- this->m_MaxEnergy = 0;
- this->m_EnergyRegeneRate = 0;
- this->m_Exp = 0;
- this->m_nGoodBadValue = 0;
- this->m_JuqingPoint = 0;
- this->m_Money = 0;
- memset(this->m_Passwd, 0, 0x10u);
- this->m_Passwd[16] = 0;
- this->m_Position.m_fX = 0.0;
- this->m_Position.m_fZ = 0.0;
- this->m_BakPosition.m_fX = 0.0;
- this->m_BakPosition.m_fZ = 0.0;
- v1 = 0;
- this->m_uPwdDelTime = 0;
- this->m_HairColor = -1;
- this->m_FaceColor = -1;
- this->m_HairModel = -1;
- this->m_FaceModel = -1;
- this->m_StartScene = -1;
- this->m_BakScene = -1;
- this->m_GuildID = -1;
- this->m_GuildLeagueID = -1;
- this->m_TeamID = -1;
- this->m_OnlineTime = 0;
- this->m_LastLoginTime = 0;
- this->m_LastLogoutTime = 0;
- this->m_LeftDieTime = 0;
- this->m_DefEquip = -1;
- this->m_GuildPoint = 0;
- this->m_MenpaiPoint = 0;
- this->m_DBVersion = 0;
- this->m_ActualAge = 20;
- this->m_MenPai = 0;
- this->m_NeiShang = 0;
- this->m_HP = 0;
- this->m_MP = 0;
- this->m_StrikePoint = 0;
- this->m_Rage = 0;
- this->m_nPKValue = 0;
- this->m_guidCurrentPet.m_uHighSection = 0;
- this->m_guidCurrentPet.m_uLowSection = 0;
- memset(&this->m_BaseAttrLevel1, 0, sizeof(this->m_BaseAttrLevel1));
- v2 = &this->m_PvpInfo;
- this->m_Level1Points = 0;
- this->m_PvpInfo.m_nCampID = -1;
- v2->m_nReputationID = -1;
- v2->m_nPvpMode = 0;
- v2->m_nPvpModeSwitchDelayTime = 0;
- do
- this->m_PvpInfo.m_oReputationList.m_aList[v1++] = 0;
- while ( v1 <= 63 );
- v3 = &this->m_PvpInfo.m_oFightBackList;
- v4 = 9;
- do
- {
- v3->m_aList[0].m_nUniqueID = -1;
- v3->m_aList[0].m_nTime = 0;
- v3 = (FightBackList_T *)((char *)v3 + 8);
- --v4;
- }
- while ( v4 >= 0 );
- v5 = &this->m_PvpInfo.m_oPersonalDuelList;
- v6 = 4;
- do
- {
- v5->m_aList[0].m_nUniqueID = -1;
- v5->m_aList[0].m_nTime = 0;
- v5 = (PersonalDuelList_T *)((char *)v5 + 8);
- --v6;
- }
- while ( v6 >= 0 );
- v7 = &this->m_PvpInfo.m_oPersonalEnemyList;
- v8 = 5;
- do
- {
- v7->m_aList[0].m_nUniqueID = -1;
- v7->m_aList[0].m_nTime = 0;
- v7 = (PersonalEnemyList_T *)((char *)v7 + 8);
- --v8;
- }
- while ( v8 >= 0 );
- this->m_nLastHostilePlayer = -1;
- this->m_nHostileActionWarningTime = 0;
- v9 = this;
- v10 = 1;
- do
- {
- v9->m_ShopGuid[0].m_PoolPos = -1;
- v9->m_ShopGuid[0].m_Server = -1;
- v9->m_ShopGuid[0].m_World = -1;
- v9->m_ShopGuid[0].m_Scene = -1;
- v9 = (_HUMAN_DB_LOAD *)((char *)v9 + 12);
- --v10;
- }
- while ( v10 >= 0 );
- v11 = this;
- v12 = 9;
- do
- {
- v11->m_FavoriteList[0].m_PoolPos = -1;
- v11->m_FavoriteList[0].m_Server = -1;
- v11->m_FavoriteList[0].m_World = -1;
- v11->m_FavoriteList[0].m_Scene = -1;
- v11 = (_HUMAN_DB_LOAD *)((char *)v11 + 12);
- --v12;
- }
- while ( v12 >= 0 );
- memset(&this->m_Titles, 0, 0x2ECu);
- v13 = &this->m_oDuelInfo;
- v13->m_nMaxReqTime = 0;
- v13->m_nProcessStatus = 0;
- v14 = &this->m_FatigueInfo;
- this->m_oDuelInfo.m_guidDueler = -1;
- this->m_LastChangePKValueTime = 0;
- this->m_LastConnectServerTime = 0;
- this->m_LastConnectServerIP = 0;
- v14->m_uTotalOfflineTime = 0;
- v14->m_uCurrentEnterServerTime = 0;
- v14->m_uLastLeaveServerTime = 0;
- v15 = &this->m_DoubleExp;
- this->m_FatigueInfo.m_uTotalOnlineTime = 0;
- this->m_uKillMonsterCount = 0;
- this->m_DoubleExp.m_nCount = 0;
- v15->m_bLock = 0;
- v15->m_unMoneyDETime = 0;
- v15->m_unFreeDETime = 0;
- v15->m_nPreFlashTime = 0;
- this->m_DelTime = 0;
- this->m_iYuanBao = 0;
- this->m_nZengDian = 0;
- this->m_nBuyYuanBao = 0;
- this->m_CommitNum = 0;
- this->m_uSafeMoney = 0;
- this->m_uUnlockTime = 0;
- this->m_bSafeBoxStatus = 0;
- this->m_IPRegion = -1;
- this->m_yPetNumExtra = 0;
- this->m_nMoneyJZ = 0;
- this->m_nBattleScore = 0;
- this->m_nBattleFlag = 0;
- this->m_nBattleRes = 0;
- }
- //----- (08062580) --------------------------------------------------------
- void __cdecl _BANK_DB_LOAD::CleanUp(char *s)
- {
- memset(s, 0, 0x2940u);
- *((_DWORD *)s + 2640) = 0;
- s[10564] = 20;
- *(_DWORD *)(s + 10565) = 0;
- }
- //----- (080625B8) --------------------------------------------------------
- void __cdecl _BAG_DB_LOAD::CleanUp(_DWORD *s)
- {
- memset(s, 0, 0x44C0u);
- s[4404] = 0;
- s[4400] = 20;
- s[4401] = 20;
- s[4402] = 20;
- }
- //----- (080625FC) --------------------------------------------------------
- void __cdecl _EQUIP_DB_LOAD::CleanUp(_WORD *s)
- {
- memset(s, 0, 0xD10u);
- s[1672] = 0;
- }
- //----- (08062624) --------------------------------------------------------
- void __cdecl _ABILITY_DB_LOAD::CleanUp(char *s)
- {
- memset(s + 256, 0, 0x200u);
- memset(s, 0, 0x100u);
- }
- //----- (08062658) --------------------------------------------------------
- void __cdecl _SKILL_DB_LOAD::CleanUp(_SKILL_DB_LOAD *const this)
- {
- signed int v1; // eax
- v1 = 0;
- do
- this->m_aSkill[v1++].m_nSkillID = -1;
- while ( v1 <= 127 );
- this->m_Count = 0;
- }
- //----- (08062674) --------------------------------------------------------
- void __cdecl _XINFA_DB_LOAD::CleanUp(_XINFA_DB_LOAD *const this)
- {
- signed int v1; // eax
- v1 = 0;
- do
- {
- this->m_aXinFa[v1].m_nXinFaID = -1;
- this->m_aXinFa[v1++].m_nLevel = 0;
- }
- while ( v1 <= 15 );
- this->m_Count = 0;
- }
- //----- (08062694) --------------------------------------------------------
- void __cdecl _IMPACT_DB_LOAD::CleanUp(_BYTE *a2)
- {
- memset(a2 + 1, 0, 0x5F0u);
- *a2 = 0;
- }
- //----- (080626B8) --------------------------------------------------------
- void __cdecl _MISSION_DB_LOAD::CleanUp(_MISSION_DB_LOAD *const this)
- {
- signed int v1; // edx
- _MISSION_DB_LOAD *v2; // [esp+4h] [ebp-14h]
- v2 = this;
- v1 = 19;
- do
- {
- v2->m_aMission[0].m_yFlags = 0;
- v2->m_aMission[0].m_idScript = -1;
- v2->m_aMission[0].m_idMission = -1;
- memset(&v2->m_aMission[0]._anon_0, 0, sizeof(v2->m_aMission[0]._anon_0));
- v2 = (_MISSION_DB_LOAD *)((char *)v2 + 41);
- --v1;
- }
- while ( v1 >= 0 );
- this->m_Count = 0;
- memset(this->m_aMissionHaveDoneFlags, 0, 0x200u);
- memset(this->m_aMissionData, 0, 0x800u);
- }
- //----- (08062738) --------------------------------------------------------
- void __cdecl _RELATION_DB_LOAD::CleanUp(_RELATION_DB_LOAD *const this)
- {
- signed int v1; // edx
- signed int v2; // edx
- PrenticeInfo *v3; // eax
- PrenticeInfo1 *v4; // eax
- _RELATION_DB_LOAD *v5; // [esp+0h] [ebp-14h]
- v5 = this;
- v1 = 99;
- do
- {
- v5->m_aRelation[0].m_Member.m_MemberGUID = -1;
- memset(v5->m_aRelation[0].m_Member.m_szMemberName, 0, 0x1Cu);
- *(_WORD *)&v5->m_aRelation[0].m_Member.m_szMemberName[28] = 0;
- v5->m_aRelation[0].m_Type = 0;
- v5->m_aRelation[0].m_Group = 0;
- v5->m_aRelation[0].m_Member.m_nLevel = 0;
- v5->m_aRelation[0].m_Member.m_nMenPai = 9;
- v5->m_aRelation[0].m_Member.m_nPortrait = -1;
- v5->m_aRelation[0].m_Member.m_GuildID = -1;
- v5->m_aRelation[0].m_FriendPoint = 0;
- --v1;
- v5 = (_RELATION_DB_LOAD *)((char *)v5 + 58);
- }
- while ( v1 >= 0 );
- v2 = 0;
- do
- this->m_aRelationCount[v2++] = 0;
- while ( v2 <= 6 );
- memset(this->m_szMood, 0, sizeof(this->m_szMood));
- v3 = &this->m_PrenticeInfo;
- this->m_MarriageInfo.m_SpouseGUID = -1;
- v3->m_uPrenticeCount = 0;
- v3->m_uMoralPoint = 0;
- v4 = &this->m_PrenticeInfo1;
- this->m_PrenticeInfo.m_PrenticeGUID[0] = -1;
- this->m_PrenticeInfo.m_PrenticeGUID[1] = -1;
- this->m_MasterInfo.m_MasterGUID = -1;
- this->m_PrenticeInfo.m_BetrayingTime = 0;
- this->m_PrenticeInfo1.m_BetrayingTime = 0;
- v4->m_uMoralPoint = 0;
- v4->m_uPrenticeCount = 0;
- v4->m_uPrenticeExp = 0;
- v4->m_uMasterExp = 0;
- v4->m_uMasterLevel = 0;
- this->m_PrenticeInfo1.m_PrenticeGUID[0] = -1;
- this->m_PrenticeInfo1.m_PrenticeGUID[1] = -1;
- }
- //----- (0806285C) --------------------------------------------------------
- void __cdecl _PET_SKILL::CleanUp(int a2)
- {
- *(_BYTE *)a2 = 0;
- *(_WORD *)(a2 + 1) = -1;
- }
- //----- (08062870) --------------------------------------------------------
- void __cdecl _PET_DB_LOAD::CleanUp(_PET_DB_LOAD *const this)
- {
- _PET_SKILL *v1; // edi
- signed int v2; // ebx
- _COOLDOWN_DB_LOAD_FOR_PET *v3; // eax
- signed int v4; // edx
- _PET_DB_LOAD *v5; // eax
- signed int v6; // edx
- this->m_GUID.m_uHighSection = 0;
- this->m_GUID.m_uLowSection = 0;
- this->m_SpouseGUID.m_uHighSection = 0;
- this->m_SpouseGUID.m_uLowSection = 0;
- this->m_nDataID = -1;
- memset(this->m_szName, 0, 0x1Cu);
- *(_WORD *)&this->m_szName[28] = 0;
- memset(this->m_szNick, 0, 0x20u);
- *(_WORD *)&this->m_szNick[32] = 0;
- this->m_nLevel = 0;
- this->m_nLastProcreateLevel = -1;
- this->m_nTakeLevel = 0;
- this->m_nAttackType = 0;
- this->m_AIType = -1;
- this->m_nHP = 0;
- this->m_nLife = 0;
- this->m_byPetType = -1;
- this->m_byGeneration = 0;
- this->m_byHappiness = 0;
- this->m_nStrPerception = 0;
- this->m_nConPerception = 0;
- this->m_nDexPerception = 0;
- this->m_nSprPerception = 0;
- this->m_nIntPerception = 0;
- this->m_nGenGu = 0;
- this->m_fGrowRate = 0.0;
- this->m_nRemainPoint = 0;
- this->m_nExp = 0;
- v1 = this->m_SkillList;
- this->m_yFlags = 0;
- v2 = 12;
- this->m_nSavvy = 0;
- do
- {
- _PET_SKILL::CleanUp((int)v1);
- ++v1;
- --v2;
- }
- while ( v2 >= 0 );
- v3 = &this->m_CooldownList;
- v4 = 7;
- do
- {
- v3->m_aCooldown[0].m_nID = -1;
- v3->m_aCooldown[0].m_nCooldown = 0;
- v3->m_aCooldown[0].m_nCooldownElapsed = 0;
- v3 = (_COOLDOWN_DB_LOAD_FOR_PET *)((char *)v3 + 12);
- --v4;
- }
- while ( v4 >= 0 );
- v5 = this;
- v6 = 9;
- do
- {
- v5->m_PetTitle[0].m_tTitleID = -1;
- v5->m_PetTitle[0].m_uCreateTime = 0;
- v5 = (_PET_DB_LOAD *)((char *)v5 + 8);
- --v6;
- }
- while ( v6 >= 0 );
- this->m_tCurPetTitleID = -1;
- this->m_usPWUnlockTime = 0;
- this->m_usReserve = 0;
- }
- //----- (080629D4) --------------------------------------------------------
- void __cdecl _PET_DB_LIST_LOAD::CleanUp(_PET_DB_LIST_LOAD *const this)
- {
- _PET_DB_LIST_LOAD *v1; // esi
- signed int v2; // ebx
- v1 = this;
- v2 = 9;
- do
- {
- _PET_DB_LOAD::CleanUp(v1->m_aPetDB);
- v1 = (_PET_DB_LIST_LOAD *)((char *)v1 + 399);
- --v2;
- }
- while ( v2 >= 0 );
- }
- //----- (080629FC) --------------------------------------------------------
- void __cdecl _tcf_0_12(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08062A0C) --------------------------------------------------------
- void `global constructor keyed to'_HUMAN_DB_LOAD::CleanUp()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_12, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08062A38) --------------------------------------------------------
- void __cdecl BATCH_MAIL::CleanUp(int a2)
- {
- *(_DWORD *)a2 = -1;
- *(_BYTE *)(a2 + 4) = 0;
- memset((void *)(a2 + 5), 0, 0x1Cu);
- *(_WORD *)(a2 + 33) = 0;
- *(_BYTE *)(a2 + 40) = 0;
- memset((void *)(a2 + 41), 0, 0xC1Cu);
- *(_WORD *)(a2 + 3142) = 0;
- memset((void *)(a2 + 3144), 0, 0x100u);
- *(_BYTE *)(a2 + 3400) = 3;
- *(_DWORD *)(a2 + 3404) = 0;
- }
- //----- (08062AA8) --------------------------------------------------------
- BYTE __cdecl GetSerialClass(UINT Serial)
- {
- return Serial / 0x989680;
- }
- //----- (08062AC0) --------------------------------------------------------
- unsigned int __cdecl GetSerialType(unsigned int a2)
- {
- return a2 % 0x186A0 / 0x3E8;
- }
- //----- (08062AE4) --------------------------------------------------------
- unsigned int __cdecl GetSerialQual(unsigned int a2)
- {
- return a2 % 0x989680 / 0x186A0;
- }
- //----- (08062B0C) --------------------------------------------------------
- UINT __cdecl GetSerialIndex(unsigned int a2)
- {
- return a2 % 0x3E8;
- }
- //----- (08062B24) --------------------------------------------------------
- void __cdecl SwapItem(_ITEM *pItemA, _ITEM *pItemB)
- {
- _ITEM tempItem; // [esp+0h] [ebp-C8h]
- if ( !pItemA )
- __assert__("../../Common/GameStruct.cpp", 0x9Eu, "void SwapItem(_ITEM*, _ITEM*)", "pItemA");
- if ( !pItemB )
- __assert__("../../Common/GameStruct.cpp", 0x9Fu, "void SwapItem(_ITEM*, _ITEM*)", "pItemB");
- tempItem.m_ItemGUID.m_Serial = 0;
- tempItem.m_ItemGUID.m_Server = 0;
- tempItem.m_ItemGUID.m_World = 0;
- memset(&tempItem, 0, 0xB0u);
- memcpy(&tempItem, pItemA, 0xB0u);
- memcpy(pItemA, pItemB, 0xB0u);
- memcpy(pItemB, &tempItem, 0xB0u);
- }
- //----- (08062BE8) --------------------------------------------------------
- void __cdecl _ITEM::SetItemBind(_ITEM *const this, BOOL bBind)
- {
- if ( bBind )
- this->m_nsBind |= 1u;
- else
- this->m_nsBind &= 0xFEu;
- }
- //----- (08062C04) --------------------------------------------------------
- void __cdecl _ITEM::SetItemLock(_ITEM *const this, BOOL bBind)
- {
- if ( bBind )
- this->m_nsBind |= 0x40u;
- else
- this->m_nsBind &= 0xBFu;
- }
- //----- (08062C20) --------------------------------------------------------
- void __cdecl FindFriendAD_DetailInfo::CleanUp(int a2)
- {
- *(_DWORD *)(a2 + 4) = -1;
- *(_DWORD *)(a2 + 8) = 0;
- *(_DWORD *)(a2 + 12) = 0;
- memset((void *)(a2 + 16), 0, 0x1Cu);
- *(_WORD *)(a2 + 44) = 0;
- *(_DWORD *)(a2 + 48) = 0;
- *(_BYTE *)(a2 + 52) = 0;
- *(_BYTE *)(a2 + 53) = 0;
- *(_DWORD *)(a2 + 56) = 0;
- memset((void *)(a2 + 60), 0, 0x18u);
- *(_BYTE *)(a2 + 84) = 0;
- *(_BYTE *)(a2 + 85) = 0;
- *(_DWORD *)(a2 + 88) = 0;
- *(_DWORD *)(a2 + 92) = 0;
- *(_DWORD *)(a2 + 104) = 0;
- *(_DWORD *)(a2 + 96) = 0;
- *(_DWORD *)(a2 + 100) = 0;
- *(_DWORD *)(a2 + 108) = 0;
- *(_DWORD *)(a2 + 112) = 0;
- *(_DWORD *)(a2 + 116) = 0;
- *(_DWORD *)(a2 + 120) = 0;
- *(_DWORD *)(a2 + 124) = 0;
- }
- //----- (08062CBC) --------------------------------------------------------
- _ITEM_TYPE *__userpurge ConvertSerial2ItemType@<eax>(_ITEM_TYPE *retstr, UINT Serial)
- {
- unsigned int v2; // ebx
- unsigned int v3; // ebx
- unsigned int v4; // ebx
- v2 = GetSerialClass(Serial) & 0x7F | *(_DWORD *)retstr & 0xFFFFFF80;
- *retstr = (_ITEM_TYPE)v2;
- v3 = ((GetSerialQual(Serial) & 0x7F) << 7) | v2 & 0xFFFFC07F;
- *retstr = (_ITEM_TYPE)v3;
- v4 = ((GetSerialType(Serial) & 0x7F) << 14) | v3 & 0xFFE03FFF;
- *retstr = (_ITEM_TYPE)v4;
- *retstr = (_ITEM_TYPE)((GetSerialIndex(Serial) << 21) | v4 & 0x1FFFFF);
- return retstr;
- }
- //----- (08062D2C) --------------------------------------------------------
- BOOL __cdecl _ITEM::GetCreatorVar(int a2)
- {
- return (*(_BYTE *)(a2 + 13) & 0x10) != 0;
- }
- //----- (08062D40) --------------------------------------------------------
- UINT __cdecl GetItemRealSize(const _ITEM *const it)
- {
- int v1; // edi
- BYTE v2; // bl
- UINT result; // eax
- signed int v4; // eax
- signed int v5; // eax
- if ( GetSerialClass(it->m_ItemIndex) != 1 || it->_anon_1.m_Equip.m_bytDarksFlag != 1 )
- {
- v1 = (unsigned int)_ITEM::GetCreatorVar((int)it) >= 1 ? 0x3A : 0;
- }
- else
- {
- v4 = 2;
- do
- --v4;
- while ( v4 >= 0 );
- v5 = 4;
- do
- --v5;
- while ( v5 >= 0 );
- v1 = 25;
- }
- v2 = GetSerialClass(it->m_ItemIndex);
- if ( v2 == 1 )
- return v1 + 2 * it->_anon_1.m_Equip.m_AttrCount + 76;
- GetSerialClass(it->m_ItemIndex);
- result = v1 + 74;
- if ( v2 != 5 )
- {
- GetSerialClass(it->m_ItemIndex);
- if ( v2 == 3 || (GetSerialClass(it->m_ItemIndex), v2 == 2) || (GetSerialClass(it->m_ItemIndex), v2 == 4) )
- {
- result = v1 + 58;
- }
- else
- {
- GetSerialClass(it->m_ItemIndex);
- result = v1 + 50;
- if ( v2 != 6 )
- result = v1 + 30;
- }
- }
- return result;
- }
- //----- (08062E1C) --------------------------------------------------------
- void __cdecl OverWriteItem(_ITEM *pItemA, _ITEM *pItemB)
- {
- if ( !pItemA )
- __assert__("../../Common/GameStruct.cpp", 0xA9u, "void OverWriteItem(_ITEM*, _ITEM*)", "pItemA");
- if ( !pItemB )
- __assert__("../../Common/GameStruct.cpp", 0xAAu, "void OverWriteItem(_ITEM*, _ITEM*)", "pItemB");
- memcpy(pItemB, pItemA, 0xB0u);
- memset(pItemA, 0, 0xB0u);
- }
- //----- (08062E90) --------------------------------------------------------
- void __cdecl _ITEM::Read(_ITEM *const this, SocketInputStream *const iStream)
- {
- BYTE v2; // bl
- CHAR *v3; // ebx
- signed int v4; // esi
- CHAR *v5; // ebx
- signed int v6; // esi
- signed int v7; // esi
- CHAR *v8; // ebx
- CHAR *v9; // ebx
- signed int v10; // esi
- SocketInputStream::Read(iStream, (CHAR *)this, 8u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ItemIndex, 4u);
- SocketInputStream::Read(iStream, &this->m_RulerID, 1u);
- SocketInputStream::Read(iStream, &this->m_nsBind, 1u);
- SocketInputStream::Read(iStream, (CHAR *)this->m_Param, 0xCu);
- v2 = GetSerialClass(this->m_ItemIndex);
- if ( v2 == 1 )
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1.m_Equip.m_GemMax, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1.m_Equip.m_FaileTimes, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1.m_Equip.m_CurDurPoint, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1.m_StoreMap.m_xPos, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1.m_Equip.m_AttrCount, 1u);
- v7 = 0;
- if ( this->_anon_1.m_Equip.m_AttrCount )
- {
- v8 = (char *)&this->_anon_1.m_StoreMap + 50;
- do
- {
- SocketInputStream::Read(iStream, v8, 2u);
- ++v7;
- v8 += 2;
- }
- while ( this->_anon_1.m_Equip.m_AttrCount > v7 );
- }
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1.m_Equip.m_StoneCount, 1u);
- v9 = (char *)&this->_anon_1.m_StoreMap + 32;
- v10 = 3;
- do
- {
- SocketInputStream::Read(iStream, v9, 4u);
- v9 += 4;
- --v10;
- }
- while ( v10 >= 0 );
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1.m_Equip.m_Enhancelvl, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1.m_Equip.m_AdMagic, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1.m_StoreMap.m_zPos + 2, 2u);
- SocketInputStream::Read(iStream, (CHAR *)this->_anon_1.m_Equip.m_Aptitude, 6u);
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1.m_Equip.m_Qual, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1.m_StoreMap + 20, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1.m_Medic.m_TargetType, 8u);
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1.m_Equip.m_bytDarksFlag, 1u);
- LABEL_11:
- if ( GetSerialClass(this->m_ItemIndex) != 1 )
- goto LABEL_8;
- goto LABEL_12;
- }
- GetSerialClass(this->m_ItemIndex);
- if ( v2 == 5 )
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1, 0x2Cu);
- goto LABEL_11;
- }
- GetSerialClass(this->m_ItemIndex);
- if ( v2 == 3 || (GetSerialClass(this->m_ItemIndex), v2 == 2) || (GetSerialClass(this->m_ItemIndex), v2 == 4) )
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1, 0x1Cu);
- goto LABEL_11;
- }
- GetSerialClass(this->m_ItemIndex);
- if ( v2 == 6 )
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_1, 0x14u);
- goto LABEL_11;
- }
- if ( GetSerialClass(this->m_ItemIndex) != 1 )
- goto LABEL_8;
- LABEL_12:
- if ( this->_anon_1.m_Equip.m_bytDarksFlag == 1 )
- {
- SocketInputStream::Read(iStream, &this->_anon_0.m_Creator[24], 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_0, 4u);
- v3 = &this->_anon_0.m_Creator[4];
- v4 = 2;
- do
- {
- SocketInputStream::Read(iStream, v3, 2u);
- v3 += 2;
- --v4;
- }
- while ( v4 >= 0 );
- v5 = &this->_anon_0.m_Creator[10];
- v6 = 4;
- do
- {
- SocketInputStream::Read(iStream, v5, 2u);
- v5 += 2;
- --v6;
- }
- while ( v6 >= 0 );
- SocketInputStream::Read(iStream, &this->_anon_0.m_Creator[20], 2u);
- SocketInputStream::Read(iStream, &this->_anon_0.m_Creator[22], 2u);
- goto LABEL_9;
- }
- LABEL_8:
- if ( _ITEM::GetCreatorVar((int)this) )
- SocketInputStream::Read(iStream, (CHAR *)&this->_anon_0, 0x3Au);
- LABEL_9:
- SocketInputStream::Read(iStream, (CHAR *)&this->m_usPWUnlockTime, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_usReserve, 2u);
- }
- //----- (080631D4) --------------------------------------------------------
- void __cdecl _ITEM::Write(const _ITEM *const this, SocketOutputStream *const oStream)
- {
- BYTE v2; // al
- const CHAR *v3; // ebx
- signed int v4; // esi
- const CHAR *v5; // ebx
- signed int v6; // esi
- signed int v7; // esi
- const CHAR *v8; // ebx
- const CHAR *v9; // ebx
- signed int v10; // esi
- SocketOutputStream::Write(oStream, (const CHAR *)this, 8u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ItemIndex, 4u);
- SocketOutputStream::Write(oStream, &this->m_RulerID, 1u);
- SocketOutputStream::Write(oStream, &this->m_nsBind, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)this->m_Param, 0xCu);
- v2 = GetSerialClass(this->m_ItemIndex);
- switch ( v2 )
- {
- case 1u:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1.m_Equip.m_GemMax, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1.m_Equip.m_FaileTimes, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1.m_Equip.m_CurDurPoint, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1.m_StoreMap.m_xPos, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1.m_Equip.m_AttrCount, 1u);
- v7 = 0;
- if ( this->_anon_1.m_Equip.m_AttrCount )
- {
- v8 = (char *)&this->_anon_1.m_StoreMap + 50;
- do
- {
- SocketOutputStream::Write(oStream, v8, 2u);
- ++v7;
- v8 += 2;
- }
- while ( this->_anon_1.m_Equip.m_AttrCount > v7 );
- }
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1.m_Equip.m_StoneCount, 1u);
- v9 = (char *)&this->_anon_1.m_StoreMap + 32;
- v10 = 3;
- do
- {
- SocketOutputStream::Write(oStream, v9, 4u);
- v9 += 4;
- --v10;
- }
- while ( v10 >= 0 );
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1.m_Equip.m_Enhancelvl, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1.m_Equip.m_AdMagic, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1.m_StoreMap.m_zPos + 2, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)this->_anon_1.m_Equip.m_Aptitude, 6u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1.m_Equip.m_Qual, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1.m_StoreMap + 20, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1.m_Medic.m_TargetType, 8u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1.m_Equip.m_bytDarksFlag, 1u);
- LABEL_11:
- if ( GetSerialClass(this->m_ItemIndex) != 1 )
- goto LABEL_8;
- goto LABEL_12;
- case 5u:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1, 0x2Cu);
- goto LABEL_11;
- case 3u:
- case 2u:
- case 4u:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1, 0x1Cu);
- goto LABEL_11;
- case 6u:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_1, 0x14u);
- goto LABEL_11;
- }
- if ( GetSerialClass(this->m_ItemIndex) != 1 )
- goto LABEL_8;
- LABEL_12:
- if ( this->_anon_1.m_Equip.m_bytDarksFlag == 1 )
- {
- SocketOutputStream::Write(oStream, &this->_anon_0.m_Creator[24], 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_0, 4u);
- v3 = &this->_anon_0.m_Creator[4];
- v4 = 2;
- do
- {
- SocketOutputStream::Write(oStream, v3, 2u);
- v3 += 2;
- --v4;
- }
- while ( v4 >= 0 );
- v5 = &this->_anon_0.m_Creator[10];
- v6 = 4;
- do
- {
- SocketOutputStream::Write(oStream, v5, 2u);
- v5 += 2;
- --v6;
- }
- while ( v6 >= 0 );
- SocketOutputStream::Write(oStream, &this->_anon_0.m_Creator[20], 2u);
- SocketOutputStream::Write(oStream, &this->_anon_0.m_Creator[22], 2u);
- goto LABEL_9;
- }
- LABEL_8:
- if ( _ITEM::GetCreatorVar((int)this) )
- SocketOutputStream::Write(oStream, (const CHAR *)&this->_anon_0, 0x3Au);
- LABEL_9:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_usPWUnlockTime, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_usReserve, 2u);
- }
- //----- (080634E0) --------------------------------------------------------
- BOOL __cdecl _ITEM::IsFixAttr(_ITEM *const this, BYTE attrType)
- {
- return (signed int)attrType >= 58 && ((signed int)attrType <= 61 || attrType == 63);
- }
- //----- (08063504) --------------------------------------------------------
- BYTE __cdecl _ITEM::GetFixAttrCount(_ITEM *const this)
- {
- return 0;
- }
- //----- (0806350C) --------------------------------------------------------
- BOOL __cdecl _ITEM::GetItemBind(int a2)
- {
- return (*(_BYTE *)(a2 + 13) & 1) != 0;
- }
- //----- (08063520) --------------------------------------------------------
- BOOL __cdecl _ITEM::GetItemLock(int a2)
- {
- return (*(_BYTE *)(a2 + 13) & 0x40) != 0;
- }
- //----- (08063534) --------------------------------------------------------
- BOOL __cdecl _ITEM::GetItemIdent(int a2)
- {
- return (*(_BYTE *)(a2 + 13) & 2) != 0;
- }
- //----- (08063548) --------------------------------------------------------
- void __cdecl _ITEM::SetItemIdent(_ITEM *const this, BOOL bIdent)
- {
- if ( bIdent )
- this->m_nsBind |= 2u;
- else
- this->m_nsBind &= 0xFDu;
- }
- //----- (08063564) --------------------------------------------------------
- void __cdecl _ITEM::SetCreatorVar(_ITEM *const this, BOOL bCreator)
- {
- if ( bCreator )
- this->m_nsBind |= 0x10u;
- else
- this->m_nsBind &= 0xEFu;
- }
- //----- (08063580) --------------------------------------------------------
- const CHAR *__cdecl _ITEM::GetCreator(const _ITEM *const this)
- {
- const CHAR *result; // eax
- result = 0;
- if ( this->m_nsBind & 0x10 )
- result = (const CHAR *)&this->_anon_0;
- return result;
- }
- //----- (08063594) --------------------------------------------------------
- BOOL __cdecl _ITEM::GetItemPLock(int a2)
- {
- return (*(_BYTE *)(a2 + 13) & 4) != 0;
- }
- //----- (080635A8) --------------------------------------------------------
- void __cdecl _ITEM::SetItemPLock(_ITEM *const this, BOOL bLock)
- {
- if ( bLock )
- this->m_nsBind |= 4u;
- else
- this->m_nsBind &= 0xFBu;
- }
- //----- (080635C4) --------------------------------------------------------
- BOOL __cdecl _ITEM::GetItemAptitude(int a2)
- {
- return (*(_BYTE *)(a2 + 13) & 0x20) != 0;
- }
- //----- (080635D8) --------------------------------------------------------
- void __cdecl _ITEM::SetItemAptitude(_ITEM *const this, BOOL bLock)
- {
- if ( bLock )
- this->m_nsBind |= 0x20u;
- else
- this->m_nsBind &= 0xDFu;
- }
- //----- (080635F4) --------------------------------------------------------
- INT __cdecl _ITEM::GetItemFailTimes(int a2)
- {
- return *(unsigned __int8 *)(a2 + 90);
- }
- //----- (08063600) --------------------------------------------------------
- void __cdecl _ITEM::SetItemFailTimes(int a3, char a4)
- {
- *(_BYTE *)(a3 + 90) = a4;
- }
- //----- (08063610) --------------------------------------------------------
- int __cdecl _ITEM::GetItemVisual(int a2)
- {
- return *(unsigned __int16 *)(a2 + 108);
- }
- //----- (0806361C) --------------------------------------------------------
- void __cdecl _ITEM::SetItemVisual(int nVisual, __int16 nVisuala)
- {
- *(_WORD *)(nVisual + 108) = nVisuala;
- }
- //----- (0806362C) --------------------------------------------------------
- INT __cdecl _ITEM::GetItemParamValue(_ITEM *const this, UINT Start, const ItemParamValue *const ipv)
- {
- ItemParamValue v3; // eax
- INT result; // eax
- v3 = *ipv;
- if ( *ipv == 1 )
- {
- if ( Start > 0xA )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x1E7u,
- "INT _ITEM::GetItemParamValue(UINT, const ItemParamValue&)",
- "FALSE");
- result = *(signed __int16 *)((char *)this->m_Param + Start);
- }
- else if ( *ipv <= 1 )
- {
- if ( v3 )
- LABEL_4:
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x1F7u,
- "INT _ITEM::GetItemParamValue(UINT, const ItemParamValue&)",
- "FALSE");
- if ( Start > 0xB )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x1DDu,
- "INT _ITEM::GetItemParamValue(UINT, const ItemParamValue&)",
- "FALSE");
- result = *((char *)this->m_Param + Start);
- }
- else
- {
- if ( v3 != 2 )
- goto LABEL_4;
- if ( Start > 8 )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x1F1u,
- "INT _ITEM::GetItemParamValue(UINT, const ItemParamValue&)",
- "FALSE");
- result = *(INT *)((char *)this->m_Param + Start);
- }
- return result;
- }
- //----- (08063710) --------------------------------------------------------
- void __cdecl _ITEM::SetItemParam(_ITEM *const this, UINT start, const ItemParamValue *const ipv, INT value)
- {
- ItemParamValue v4; // eax
- v4 = *ipv;
- if ( *ipv == 1 )
- {
- if ( start > 0xA )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x213u,
- "void _ITEM::SetItemParam(UINT, const ItemParamValue&, INT)",
- "FALSE");
- *(_WORD *)((char *)this->m_Param + start) = value;
- }
- else if ( *ipv <= 1 )
- {
- if ( v4 )
- LABEL_4:
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x223u,
- "void _ITEM::SetItemParam(UINT, const ItemParamValue&, INT)",
- "FALSE");
- if ( start > 0xB )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x209u,
- "void _ITEM::SetItemParam(UINT, const ItemParamValue&, INT)",
- "FALSE");
- *((_BYTE *)this->m_Param + start) = value;
- }
- else
- {
- if ( v4 != 2 )
- goto LABEL_4;
- if ( start > 8 )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x21Du,
- "void _ITEM::SetItemParam(UINT, const ItemParamValue&, INT)",
- "FALSE");
- *(INT *)((char *)this->m_Param + start) = value;
- }
- }
- //----- (080637F4) --------------------------------------------------------
- UINT __cdecl _ITEM::GetEquipmentMaxLevelGemID(_ITEM *const this)
- {
- _ITEM::$CD9C529E86993C344469A681B28E9DF0 *v2; // edi
- BYTE v3; // al
- unsigned __int8 v4; // si
- UINT v5; // ebx
- INT v6; // eax
- BYTE yIndex; // [esp+3h] [ebp-19h]
- INT nMaxLevel; // [esp+4h] [ebp-18h]
- BYTE byCount; // [esp+Bh] [ebp-11h]
- UINT uGemID; // [esp+Ch] [ebp-10h]
- uGemID = -1;
- if ( GetSerialClass(this->m_ItemIndex) == 1 )
- {
- v2 = &this->_anon_1;
- v3 = this->_anon_1.m_Equip.m_StoneCount;
- byCount = this->_anon_1.m_Equip.m_StoneCount;
- nMaxLevel = -1;
- if ( v3 )
- {
- v4 = 0;
- yIndex = 0;
- if ( v3 )
- {
- do
- {
- v5 = *((_DWORD *)&v2->m_StoreMap + v4 + 8);
- if ( v5 - 1 <= 0xFFFFFFFD )
- {
- v6 = (unsigned __int8)GetSerialQual(*((_DWORD *)&v2->m_StoreMap + v4 + 8));
- if ( (unsigned __int8)v6 > nMaxLevel )
- {
- nMaxLevel = v6;
- uGemID = v5;
- }
- ++yIndex;
- }
- ++v4;
- }
- while ( v4 <= 3u && byCount > yIndex );
- }
- }
- }
- return uGemID;
- }
- //----- (0806387C) --------------------------------------------------------
- INT __cdecl _ITEM::WriteFixAttr(_ITEM *const this, CHAR *pIn, INT BuffLength)
- {
- int v3; // eax
- CHAR *v4; // esi
- BYTE v5; // al
- INT result; // eax
- STORE_MAP_INFO *v7; // edx
- _ITEM::$CD9C529E86993C344469A681B28E9DF0 *v8; // edx
- signed int v9; // ecx
- _ITEM::$CD9C529E86993C344469A681B28E9DF0 *v10; // edx
- CHAR szTmp[128]; // [esp+0h] [ebp-98h]
- if ( !pIn )
- __assert__("../../Common/GameStruct.cpp", 0x24Au, "INT _ITEM::WriteFixAttr(CHAR*, INT)", "pIn");
- v3 = GetSerialClass(this->m_ItemIndex);
- v4 = pIn + 2;
- this->m_RulerID = *pIn;
- switch ( v3 )
- {
- case 1:
- v9 = 0;
- do
- {
- *((_DWORD *)&this->_anon_1.m_StoreMap + v9++ + 8) = *(_DWORD *)v4;
- v4 += 4;
- }
- while ( v9 <= 2 );
- break;
- case 2:
- case 3:
- case 4:
- v10 = &this->_anon_1;
- v10->m_Medic.m_bCosSelf = *(_DWORD *)v4;
- v10->m_Medic.m_nBasePrice = *(_DWORD *)(pIn + 6);
- LOBYTE(v10->m_Gem.m_Attr[0].m_Value) = pIn[10];
- v10->m_Equip.m_GemMax = pIn[11];
- v10->m_Medic.m_nReqSkill = *((_DWORD *)pIn + 3);
- v10->m_Medic.m_yReqSkillLevel = pIn[16];
- v10->m_Medic.m_nScriptID = *(_DWORD *)(pIn + 17);
- v10->m_Medic.m_nSkillID = *(_DWORD *)(pIn + 21);
- v4 = pIn + 26;
- LOBYTE(v10->m_Equip.m_ItemAttrFlag.mFlag[0]) = pIn[25];
- break;
- case 5:
- v8 = &this->_anon_1;
- v8->m_Gem.m_nPrice = *(_DWORD *)v4;
- this->_anon_1.m_Equip.m_MaxDurPoint = pIn[6];
- v4 = pIn + 9;
- v8->m_Gem.m_Attr[0].m_Value = *(_WORD *)(pIn + 7);
- break;
- case 6:
- v7 = (STORE_MAP_INFO *)&this->_anon_1;
- v7->m_GrowType = *(_DWORD *)v4;
- this->_anon_1.m_StoreMap.m_nLevel = *(_DWORD *)(pIn + 6);
- v7->m_SceneID = *(_DWORD *)(pIn + 10);
- v7->m_xPos = *(FLOAT *)(pIn + 14);
- v4 = pIn + 22;
- v7->m_zPos = *(FLOAT *)(pIn + 18);
- break;
- default:
- szTmp[0] = 0;
- memset(&szTmp[1], 0, 0x7Fu);
- v5 = GetSerialClass(this->m_ItemIndex);
- sprintf(szTmp, "ERROR:ItemTableIndex(%d),ItemClass(%d)!", this->m_ItemIndex, v5, *(_DWORD *)szTmp);
- __assertex__("../../Common/GameStruct.cpp", 0x297u, "INT _ITEM::WriteFixAttr(CHAR*, INT)", "FALSE", szTmp);
- return result;
- }
- if ( v4 - pIn > BuffLength )
- __assert__("../../Common/GameStruct.cpp", 0x29Bu, "INT _ITEM::WriteFixAttr(CHAR*, INT)", "BuffLength>=(pBuff-pIn)");
- return v4 - pIn;
- }
- //----- (08063A2C) --------------------------------------------------------
- INT __cdecl _ITEM::Write_35_FixAttr(_ITEM *const this, CHAR *pIn, INT BuffLength)
- {
- signed int v3; // eax
- CHAR *v4; // edi
- BYTE v6; // al
- CHAR szTmp[128]; // [esp+0h] [ebp-98h]
- if ( !pIn )
- __assert__("../../Common/GameStruct.cpp", 0x2A2u, "INT _ITEM::Write_35_FixAttr(CHAR*, INT)", "pIn");
- v3 = GetSerialClass(this->m_ItemIndex);
- v4 = pIn;
- if ( (unsigned __int8)v3 == 1 )
- {
- v4 = pIn + 4;
- *((_DWORD *)&this->_anon_1.m_StoreMap + 11) = *(_DWORD *)pIn;
- }
- else if ( (signed int)(unsigned __int8)v3 < 1 || v3 > 6 )
- {
- szTmp[0] = 0;
- memset(&szTmp[1], 0, 0x7Fu);
- v6 = GetSerialClass(this->m_ItemIndex);
- sprintf(szTmp, "ERROR:ItemTableIndex(%d),ItemClass(%d)!", this->m_ItemIndex, v6, *(_DWORD *)szTmp);
- __assertex__("../../Common/GameStruct.cpp", 0x2BDu, "INT _ITEM::Write_35_FixAttr(CHAR*, INT)", "FALSE", szTmp);
- }
- if ( v4 - pIn > BuffLength )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x2C1u,
- "INT _ITEM::Write_35_FixAttr(CHAR*, INT)",
- "BuffLength>=(pBuff-pIn)");
- return v4 - pIn;
- }
- //----- (08063B3C) --------------------------------------------------------
- BOOL __cdecl _ITEM::ReadFixAttr(_ITEM *const this, CHAR *pOut, INT *const OutLength, INT BuffLength)
- {
- BYTE v4; // bl
- CHAR *v5; // esi
- BYTE v6; // al
- BOOL result; // eax
- signed int v8; // ecx
- int v9; // eax
- CHAR szTmp[128]; // [esp+0h] [ebp-98h]
- if ( !pOut )
- __assert__("../../Common/GameStruct.cpp", 0x2C8u, "BOOL _ITEM::ReadFixAttr(CHAR*, INT&, INT)", "pOut");
- v4 = GetSerialClass(this->m_ItemIndex);
- *pOut = this->m_RulerID;
- pOut[1] = _ITEM::GetFixAttrCount(this);
- v5 = pOut + 2;
- switch ( v4 )
- {
- case 1u:
- v8 = 0;
- do
- {
- v9 = *((_DWORD *)&this->_anon_1.m_StoreMap + v8++ + 8);
- *(_DWORD *)v5 = v9;
- v5 += 4;
- }
- while ( v8 <= 2 );
- break;
- case 2u:
- case 3u:
- case 4u:
- *(_DWORD *)v5 = this->_anon_1.m_Medic.m_bCosSelf;
- *(_DWORD *)(pOut + 6) = this->_anon_1.m_Medic.m_nBasePrice;
- pOut[10] = this->_anon_1.m_Equip.m_FaileTimes;
- pOut[11] = this->_anon_1.m_Equip.m_GemMax;
- *((_DWORD *)pOut + 3) = this->_anon_1.m_Medic.m_nReqSkill;
- pOut[16] = this->_anon_1.m_Equip.m_CurDurPoint;
- *(_QWORD *)(pOut + 17) = *(_QWORD *)&this->_anon_1.m_StoreMap.m_zPos;
- pOut[25] = this->_anon_1.m_Medic.m_TargetType;
- v5 = pOut + 26;
- break;
- case 5u:
- *(_DWORD *)v5 = this->_anon_1.m_Gem.m_nPrice;
- pOut[6] = this->_anon_1.m_Equip.m_MaxDurPoint;
- *(_WORD *)(pOut + 7) = this->_anon_1.m_Gem.m_Attr[0].m_Value;
- v5 = pOut + 9;
- break;
- case 6u:
- *(_DWORD *)v5 = this->_anon_1.m_Medic.m_bCosSelf;
- *(_DWORD *)(pOut + 6) = this->_anon_1.m_StoreMap.m_nLevel;
- *(_DWORD *)(pOut + 10) = this->_anon_1.m_Medic.m_nSkillID;
- *(_QWORD *)(pOut + 14) = *(_QWORD *)&this->_anon_1.m_StoreMap.m_xPos;
- v5 = pOut + 22;
- break;
- default:
- szTmp[0] = 0;
- memset(&szTmp[1], 0, 0x7Fu);
- v6 = GetSerialClass(this->m_ItemIndex);
- sprintf(szTmp, "ERROR:ItemTableIndex(%d),ItemClass(%d)!", this->m_ItemIndex, v6, *(_DWORD *)szTmp);
- __assertex__("../../Common/GameStruct.cpp", 0x314u, "BOOL _ITEM::ReadFixAttr(CHAR*, INT&, INT)", "FALSE", szTmp);
- return result;
- }
- *OutLength = v5 - pOut;
- if ( v5 - pOut > BuffLength )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x319u,
- "BOOL _ITEM::ReadFixAttr(CHAR*, INT&, INT)",
- "BuffLength>=OutLength");
- return 1;
- }
- //----- (08063D0C) --------------------------------------------------------
- BOOL __cdecl _ITEM::Read_35_FixAttr(_ITEM *const this, CHAR *pOut, INT *const OutLength, INT BuffLength)
- {
- signed int v4; // eax
- CHAR *v5; // edi
- BYTE v7; // al
- CHAR szTmp[128]; // [esp+0h] [ebp-98h]
- if ( !pOut )
- __assert__("../../Common/GameStruct.cpp", 0x320u, "BOOL _ITEM::Read_35_FixAttr(CHAR*, INT&, INT)", "pOut");
- v4 = GetSerialClass(this->m_ItemIndex);
- v5 = pOut;
- if ( (unsigned __int8)v4 == 1 )
- {
- v5 = pOut + 4;
- *(_DWORD *)pOut = *((_DWORD *)&this->_anon_1.m_StoreMap + 11);
- }
- else if ( (signed int)(unsigned __int8)v4 < 1 || v4 > 6 )
- {
- szTmp[0] = 0;
- memset(&szTmp[1], 0, 0x7Fu);
- v7 = GetSerialClass(this->m_ItemIndex);
- sprintf(szTmp, "ERROR:ItemTableIndex(%d),ItemClass(%d)!", this->m_ItemIndex, v7, *(_DWORD *)szTmp);
- __assertex__("../../Common/GameStruct.cpp", 0x33Au, "BOOL _ITEM::Read_35_FixAttr(CHAR*, INT&, INT)", "FALSE", szTmp);
- }
- *OutLength = v5 - pOut;
- if ( v5 - pOut > BuffLength )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x33Fu,
- "BOOL _ITEM::Read_35_FixAttr(CHAR*, INT&, INT)",
- "BuffLength>=OutLength");
- return 1;
- }
- //----- (08063E2C) --------------------------------------------------------
- INT __cdecl _ITEM::WriteVarAttr(_ITEM *const this, CHAR *pIn, INT BuffLength)
- {
- int v3; // eax
- CHAR *v4; // esi
- BYTE v5; // al
- INT result; // eax
- BYTE v7; // al
- _ITEM::$CD9C529E86993C344469A681B28E9DF0 *v8; // ecx
- BYTE *v9; // esi
- signed int v10; // edx
- int v11; // esi
- __int16 v12; // ax
- UINT v13; // edx
- CHAR szTmp[128]; // [esp+0h] [ebp-98h]
- if ( !pIn )
- __assert__("../../Common/GameStruct.cpp", 0x348u, "INT _ITEM::WriteVarAttr(CHAR*, INT)", "pIn");
- v3 = GetSerialClass(this->m_ItemIndex);
- v4 = pIn + 1;
- this->m_nsBind = *pIn;
- switch ( v3 )
- {
- case 1:
- this->_anon_1.m_Equip.m_MaxDurPoint = *v4;
- v8 = &this->_anon_1;
- v8->m_Equip.m_GemMax = pIn[2];
- LOBYTE(v8->m_Gem.m_Attr[0].m_Value) = pIn[3];
- v8->m_Medic.m_yReqSkillLevel = pIn[4];
- LOWORD(v8->m_Medic.m_nBasePrice) = *(_WORD *)(pIn + 5);
- BYTE2(v8->m_StoreMap.m_xPos) = pIn[7];
- HIBYTE(v8->m_StoreMap.m_xPos) = pIn[8];
- LOBYTE(v8->m_Medic.m_nScriptID) = pIn[9];
- BYTE1(v8->m_StoreMap.m_zPos) = pIn[10];
- HIWORD(v8->m_StoreMap.m_zPos) = *(_WORD *)(pIn + 11);
- v9 = (BYTE *)(pIn + 13);
- v10 = 0;
- do
- *((_BYTE *)&v8->m_Medic.m_nSkillID + v10++) = *v9++;
- while ( v10 <= 5 );
- this->_anon_1.m_Equip.m_Qual = *v9;
- v11 = (int)(v9 + 1);
- v12 = *(_WORD *)v11;
- v11 += 2;
- v13 = *(_DWORD *)(v11 + 4);
- this->_anon_1.m_Equip.m_Visual = v12;
- this->_anon_1.m_Equip.m_ItemAttrFlag.mFlag[0] = *(_DWORD *)v11;
- v11 += 8;
- this->_anon_1.m_Equip.m_ItemAttrFlag.mFlag[1] = v13;
- LOBYTE(v12) = *(_BYTE *)v11;
- v4 = (CHAR *)(v11 + 1);
- this->_anon_1.m_Equip.m_Hidden = v12;
- break;
- case 2:
- case 3:
- case 4:
- v7 = *v4;
- v4 = pIn + 2;
- this->_anon_1.m_Equip.m_MaxDurPoint = v7;
- break;
- case 5:
- case 6:
- break;
- default:
- szTmp[0] = 0;
- memset(&szTmp[1], 0, 0x7Fu);
- v5 = GetSerialClass(this->m_ItemIndex);
- sprintf(szTmp, "ERROR:ItemTableIndex(%d),ItemClass(%d)!", this->m_ItemIndex, v5, *(_DWORD *)szTmp);
- __assertex__("../../Common/GameStruct.cpp", 0x39Bu, "INT _ITEM::WriteVarAttr(CHAR*, INT)", "FALSE", szTmp);
- return result;
- }
- if ( v4 - pIn > BuffLength )
- __assert__("../../Common/GameStruct.cpp", 0x39Fu, "INT _ITEM::WriteVarAttr(CHAR*, INT)", "BuffLength>=(pBuff-pIn)");
- return v4 - pIn;
- }
- //----- (08063FB0) --------------------------------------------------------
- BOOL __cdecl _ITEM::ClientWriteVarAttr(_ITEM *const this, CHAR *pIn, INT *const OutLength, INT BuffLength)
- {
- signed int v4; // eax
- CHAR *v5; // ebx
- _ITEM::$CD9C529E86993C344469A681B28E9DF0 *v7; // esi
- BYTE *v8; // ebx
- signed int v9; // edx
- BYTE v10; // al
- int v11; // ebx
- signed int v12; // edx
- UINT v13; // eax
- _DWORD *v14; // ebx
- bool v15; // cf
- bool v16; // zf
- signed int v17; // edx
- BYTE v18; // al
- if ( !pIn )
- __assert__("../../Common/GameStruct.cpp", 0x3A7u, "BOOL _ITEM::ClientWriteVarAttr(CHAR*, INT&, INT)", "pIn");
- v4 = GetSerialClass(this->m_ItemIndex);
- v5 = pIn;
- if ( (unsigned __int8)v4 == 1 )
- {
- v7 = &this->_anon_1;
- v7->m_Medic.m_yReqSkillLevel = *pIn;
- LOWORD(v7->m_Medic.m_nBasePrice) = *(_WORD *)(pIn + 1);
- this->_anon_1.m_Equip.m_MaxDurPoint = pIn[3];
- LOBYTE(v7->m_Gem.m_Attr[0].m_Value) = pIn[4];
- HIBYTE(v7->m_StoreMap.m_xPos) = pIn[5];
- v7->m_Equip.m_GemMax = pIn[6];
- LOBYTE(v7->m_Medic.m_nScriptID) = pIn[7];
- BYTE1(v7->m_StoreMap.m_zPos) = pIn[8];
- HIWORD(v7->m_StoreMap.m_zPos) = *(_WORD *)(pIn + 9);
- BYTE2(v7->m_StoreMap.m_GrowType) = pIn[11];
- LOWORD(v7->m_Medic.m_nReqSkill) = *((_WORD *)pIn + 6);
- v8 = (BYTE *)(pIn + 14);
- v9 = 0;
- do
- *((_BYTE *)&v7->m_Medic.m_nSkillID + v9++) = *v8++;
- while ( v9 <= 5 );
- v10 = *v8;
- v11 = (int)(v8 + 1);
- this->_anon_1.m_Equip.m_AttrCount = v10;
- if ( v10 > 0x10u )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x3DBu,
- "BOOL _ITEM::ClientWriteVarAttr(CHAR*, INT&, INT)",
- "GetEquipData()->m_AttrCount<=MAX_ITEM_ATTR");
- v12 = 0;
- if ( this->_anon_1.m_Equip.m_AttrCount )
- {
- do
- {
- *((_WORD *)&v7->m_StoreMap + v12++ + 25) = *(_WORD *)v11;
- v11 += 2;
- }
- while ( this->_anon_1.m_Equip.m_AttrCount > v12 && v12 <= 15 );
- }
- this->_anon_1.m_Equip.m_ItemAttrFlag.mFlag[0] = *(_DWORD *)v11;
- v13 = *(_DWORD *)(v11 + 4);
- v14 = (_DWORD *)(v11 + 8);
- v15 = this->_anon_1.m_Equip.m_StoneCount < 4u;
- v16 = this->_anon_1.m_Equip.m_StoneCount == 4;
- this->_anon_1.m_Equip.m_ItemAttrFlag.mFlag[1] = v13;
- if ( !v15 && !v16 )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x3E5u,
- "BOOL _ITEM::ClientWriteVarAttr(CHAR*, INT&, INT)",
- "GetEquipData()->m_StoneCount<=MAX_ITEM_GEM");
- v17 = 0;
- do
- {
- *((_DWORD *)&v7->m_StoreMap + v17++ + 8) = *v14;
- ++v14;
- }
- while ( v17 <= 3 );
- v18 = *(_BYTE *)v14;
- v5 = (char *)v14 + 1;
- this->_anon_1.m_Equip.m_bytDarksFlag = v18;
- }
- else if ( (signed int)(unsigned __int8)v4 < 1 || v4 > 8 )
- {
- __assert__("../../Common/GameStruct.cpp", 0x3FBu, "BOOL _ITEM::ClientWriteVarAttr(CHAR*, INT&, INT)", "FALSE");
- }
- *OutLength = v5 - pIn;
- if ( v5 - pIn > BuffLength )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x400u,
- "BOOL _ITEM::ClientWriteVarAttr(CHAR*, INT&, INT)",
- "BuffLength>=(pBuff-pIn)");
- return 1;
- }
- //----- (08064184) --------------------------------------------------------
- BOOL __cdecl _ITEM::ReadVarAttr(_ITEM *const this, CHAR *pOut, INT *const OutLength, INT BuffLength)
- {
- CHAR *v4; // esi
- BYTE v5; // al
- BOOL result; // eax
- signed int v7; // edx
- CHAR *v8; // esi
- BYTE v9; // al
- int v10; // esi
- UINT v11; // edx
- BYTE bClass; // [esp+Fh] [ebp-199h]
- CHAR szTemp[256]; // [esp+10h] [ebp-198h]
- CHAR szTmp[128]; // [esp+110h] [ebp-98h]
- if ( !pOut )
- __assert__("../../Common/GameStruct.cpp", 0x409u, "BOOL _ITEM::ReadVarAttr(CHAR*, INT&, INT)", "pOut");
- bClass = GetSerialClass(this->m_ItemIndex);
- *pOut = this->m_nsBind;
- v4 = pOut + 1;
- switch ( bClass )
- {
- case 1u:
- *v4 = this->_anon_1.m_Equip.m_MaxDurPoint;
- *((_WORD *)pOut + 1) = *(_WORD *)&this->_anon_1.m_Equip.m_GemMax;
- pOut[4] = this->_anon_1.m_Equip.m_CurDurPoint;
- *(_QWORD *)(pOut + 5) = *(_QWORD *)&this->_anon_1.m_StoreMap.m_xPos;
- v7 = 0;
- v8 = pOut + 13;
- do
- {
- v9 = this->_anon_1.m_Equip.m_Aptitude[v7++];
- *v8++ = v9;
- }
- while ( v7 <= 5 );
- *v8 = this->_anon_1.m_Equip.m_Qual;
- v10 = (int)(v8 + 1);
- *(_WORD *)v10 = this->_anon_1.m_Equip.m_Visual;
- v11 = this->_anon_1.m_Equip.m_ItemAttrFlag.mFlag[1];
- v10 += 2;
- *(_DWORD *)v10 = this->_anon_1.m_Equip.m_ItemAttrFlag.mFlag[0];
- *(_DWORD *)(v10 + 4) = v11;
- v10 += 8;
- *(_BYTE *)v10 = this->_anon_1.m_Equip.m_Hidden;
- v4 = (CHAR *)(v10 + 1);
- break;
- case 2u:
- case 3u:
- case 4u:
- *v4 = this->_anon_1.m_Equip.m_MaxDurPoint;
- v4 = pOut + 2;
- break;
- case 5u:
- case 6u:
- break;
- default:
- szTmp[0] = 0;
- memset(&szTmp[1], 0, 0x7Fu);
- v5 = GetSerialClass(this->m_ItemIndex);
- sprintf(szTmp, "ERROR:ItemTableIndex(%d),ItemClass(%d)!", this->m_ItemIndex, v5);
- __assertex__("../../Common/GameStruct.cpp", 0x45Cu, "BOOL _ITEM::ReadVarAttr(CHAR*, INT&, INT)", "FALSE", szTmp);
- return result;
- }
- *OutLength = v4 - pOut;
- if ( v4 - pOut > BuffLength )
- sprintf(szTemp, "ERROR:Item:%d Class:%d %d>=%d", this->m_ItemIndex, bClass, BuffLength, v4 - pOut);
- return 1;
- }
- //----- (08064328) --------------------------------------------------------
- BOOL __cdecl _ITEM::DBReadAttr(_ITEM *const this, CHAR *pOut, INT *const OutLength, INT BuffLength)
- {
- int v4; // ebx
- CHAR *v5; // esi
- signed int v6; // edx
- INT v7; // eax
- CHAR *v8; // esi
- int v9; // ebx
- BYTE *v10; // esi
- BOOL result; // eax
- INT nFix_35_OutLength; // [esp+10h] [ebp-18h]
- INT nVarOutLength; // [esp+14h] [ebp-14h]
- INT nFixOutLength; // [esp+18h] [ebp-10h]
- nFixOutLength = 0;
- _ITEM::ReadFixAttr(this, pOut, &nFixOutLength, BuffLength);
- nVarOutLength = 0;
- _ITEM::ReadVarAttr(this, &pOut[nFixOutLength], &nVarOutLength, BuffLength - nFixOutLength);
- v4 = nFixOutLength + nVarOutLength;
- *OutLength = nFixOutLength + nVarOutLength;
- v5 = &pOut[v4];
- v6 = 0;
- do
- {
- v7 = this->m_Param[v6++];
- *(_DWORD *)v5 = v7;
- v5 += 4;
- }
- while ( v6 <= 2 );
- *(_WORD *)v5 = this->m_usPWUnlockTime;
- v8 = v5 + 2;
- *(_WORD *)v8 = this->m_usReserve;
- v8 += 2;
- *OutLength = v8 - pOut;
- nFix_35_OutLength = 0;
- _ITEM::Read_35_FixAttr(this, v8, &nFix_35_OutLength, BuffLength - (v8 - pOut));
- v9 = *OutLength + nFix_35_OutLength;
- *OutLength = v9;
- v10 = (BYTE *)&v8[nFix_35_OutLength];
- if ( GetSerialClass(this->m_ItemIndex) == 1 )
- {
- *v10 = this->_anon_1.m_Equip.m_bytDarksFlag;
- v9 = *OutLength + 1;
- *OutLength = v9;
- }
- result = v9 < BuffLength;
- LOBYTE(result) = v9 <= BuffLength;
- return result;
- }
- //----- (08064420) --------------------------------------------------------
- BOOL __cdecl _ITEM::DBWriteAttr(_ITEM *const this, CHAR *pIn, INT BuffLength)
- {
- INT v3; // eax
- USHORT *v4; // ebx
- signed int v5; // edx
- CHAR *v6; // ebx
- USHORT v7; // ax
- INT v8; // eax
- INT v9; // esi
- BYTE *v10; // ebx
- BOOL result; // eax
- v3 = _ITEM::WriteFixAttr(this, pIn, BuffLength);
- v4 = (USHORT *)&pIn[_ITEM::WriteVarAttr(this, &pIn[v3], BuffLength - v3) + v3];
- v5 = 0;
- do
- {
- this->m_Param[v5++] = *(_DWORD *)v4;
- v4 += 2;
- }
- while ( v5 <= 2 );
- this->m_usPWUnlockTime = *v4;
- v6 = (CHAR *)(v4 + 1);
- v7 = *(_WORD *)v6;
- v6 += 2;
- this->m_usReserve = v7;
- v8 = _ITEM::Write_35_FixAttr(this, v6, BuffLength - (v6 - pIn));
- v9 = v8 + v6 - pIn;
- v10 = (BYTE *)&v6[v8];
- if ( GetSerialClass(this->m_ItemIndex) == 1 )
- {
- this->_anon_1.m_Equip.m_bytDarksFlag = *v10;
- ++v9;
- }
- result = BuffLength < v9;
- LOBYTE(result) = BuffLength >= v9;
- return result;
- }
- //----- (080644D8) --------------------------------------------------------
- BOOL __cdecl _ITEM::ClientReadVarAttr(_ITEM *const this, CHAR *pOut, INT *const OutLength, INT BuffLength)
- {
- signed int v4; // eax
- CHAR *v5; // ebx
- _ITEM::$CD9C529E86993C344469A681B28E9DF0 *v7; // esi
- CHAR *v8; // ebx
- signed int v9; // edx
- CHAR v10; // al
- _WORD *v11; // ebx
- signed int v12; // edx
- _DWORD *v13; // ebx
- signed int v14; // edx
- int v15; // eax
- if ( !pOut )
- __assert__("../../Common/GameStruct.cpp", 0x4C4u, "BOOL _ITEM::ClientReadVarAttr(CHAR*, INT&, INT)", "pOut");
- v4 = GetSerialClass(this->m_ItemIndex);
- v5 = pOut;
- if ( (unsigned __int8)v4 == 1 )
- {
- v7 = &this->_anon_1;
- *pOut = this->_anon_1.m_Equip.m_CurDurPoint;
- *(_WORD *)(pOut + 1) = this->_anon_1.m_Equip.m_CurDamagePoint;
- pOut[3] = this->_anon_1.m_Equip.m_MaxDurPoint;
- pOut[4] = this->_anon_1.m_Equip.m_FaileTimes;
- pOut[5] = this->_anon_1.m_Equip.m_StoneCount;
- pOut[6] = this->_anon_1.m_Equip.m_GemMax;
- *(_DWORD *)(pOut + 7) = this->_anon_1.m_Medic.m_nScriptID;
- pOut[11] = this->_anon_1.m_Equip.m_Qual;
- *((_WORD *)pOut + 6) = this->_anon_1.m_Equip.m_Visual;
- v8 = pOut + 14;
- v9 = 0;
- do
- {
- v10 = *((_BYTE *)&v7->m_Medic.m_nSkillID + v9++);
- *v8++ = v10;
- }
- while ( v9 <= 5 );
- *v8 = this->_anon_1.m_Equip.m_AttrCount;
- v11 = v8 + 1;
- if ( this->_anon_1.m_Equip.m_AttrCount > 0x10u )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x4F6u,
- "BOOL _ITEM::ClientReadVarAttr(CHAR*, INT&, INT)",
- "GetEquipData()->m_AttrCount<=MAX_ITEM_ATTR");
- v12 = 0;
- if ( this->_anon_1.m_Equip.m_AttrCount )
- {
- do
- {
- *v11 = *((_WORD *)&v7->m_StoreMap + v12++ + 25);
- ++v11;
- }
- while ( this->_anon_1.m_Equip.m_AttrCount > v12 && v12 <= 15 );
- }
- *(_QWORD *)v11 = *((_QWORD *)&this->_anon_1.m_StoreMap + 3);
- v13 = v11 + 4;
- if ( this->_anon_1.m_Equip.m_StoneCount > 4u )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x500u,
- "BOOL _ITEM::ClientReadVarAttr(CHAR*, INT&, INT)",
- "GetEquipData()->m_StoneCount<=MAX_ITEM_GEM");
- v14 = 0;
- do
- {
- v15 = *((_DWORD *)&v7->m_StoreMap + v14++ + 8);
- *v13 = v15;
- ++v13;
- }
- while ( v14 <= 3 );
- *(_BYTE *)v13 = this->_anon_1.m_Equip.m_bytDarksFlag;
- v5 = (char *)v13 + 1;
- }
- else if ( (signed int)(unsigned __int8)v4 < 1 || v4 > 8 )
- {
- __assert__("../../Common/GameStruct.cpp", 0x516u, "BOOL _ITEM::ClientReadVarAttr(CHAR*, INT&, INT)", "FALSE");
- }
- *OutLength = v5 - pOut;
- if ( v5 - pOut > BuffLength )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x51Bu,
- "BOOL _ITEM::ClientReadVarAttr(CHAR*, INT&, INT)",
- "BuffLength>=OutLength");
- return 1;
- }
- //----- (080646B0) --------------------------------------------------------
- BYTE __cdecl _ITEM::GetItemCount(const _ITEM *const this)
- {
- BYTE v1; // al
- BYTE v2; // dl
- BYTE result; // al
- v1 = GetSerialClass(this->m_ItemIndex);
- v2 = 1;
- if ( v1 != 1 && v1 != 5 && (v1 == 3 || v1 == 2 || (v2 = 0, v1 == 4)) )
- result = this->_anon_1.m_Equip.m_MaxDurPoint;
- else
- result = v2;
- return result;
- }
- //----- (080646F0) --------------------------------------------------------
- BOOL __cdecl _ITEM::DecCount(_ITEM *const this, char a3)
- {
- signed int v3; // eax
- v3 = GetSerialClass(this->m_ItemIndex);
- if ( (signed int)(unsigned __int8)v3 > 4 || v3 < 2 )
- return 0;
- if ( !_ITEM::GetItemCount(this) )
- __assert__("../../Common/GameStruct.cpp", 0x5B7u, "BOOL _ITEM::DecCount(UINT)", "GetItemCount()>0");
- this->_anon_1.m_Equip.m_MaxDurPoint -= a3;
- return 1;
- }
- //----- (08064764) --------------------------------------------------------
- void __cdecl _ITEM::SetItemCount(_ITEM *const this, INT nCount)
- {
- BYTE v2; // al
- v2 = GetSerialClass(this->m_ItemIndex);
- if ( v2 != 3 && v2 != 2 && v2 != 4 )
- __assert__("../../Common/GameStruct.cpp", 0x553u, "void _ITEM::SetItemCount(INT)", "FALSE");
- this->_anon_1.m_Equip.m_MaxDurPoint = nCount;
- }
- //----- (080647B0) --------------------------------------------------------
- BYTE __cdecl _ITEM::GetItemTileMax(const _ITEM *const this)
- {
- BYTE v1; // bl
- BYTE result; // al
- v1 = GetSerialClass(this->m_ItemIndex);
- GetSerialClass(this->m_ItemIndex);
- switch ( v1 )
- {
- case 1u:
- case 5u:
- case 6u:
- result = 1;
- break;
- case 2u:
- case 3u:
- case 4u:
- result = this->_anon_1.m_Equip.m_FaileTimes;
- break;
- default:
- __assertex__(
- "../../Common/GameStruct.cpp",
- 0x572u,
- "BYTE _ITEM::GetItemTileMax() const",
- "FALSE",
- "not implement class");
- return result;
- }
- return result;
- }
- //----- (08064824) --------------------------------------------------------
- BOOL __cdecl _ITEM::isFullTile(_ITEM *a2)
- {
- unsigned int v2; // esi
- v2 = _ITEM::GetItemCount(a2);
- return v2 >= _ITEM::GetItemTileMax(a2);
- }
- //----- (08064854) --------------------------------------------------------
- BOOL __cdecl _ITEM::IncCount(_ITEM *const this, char a3)
- {
- signed int v3; // eax
- v3 = GetSerialClass(this->m_ItemIndex);
- if ( (signed int)(unsigned __int8)v3 > 4 || v3 < 2 )
- return 0;
- if ( _ITEM::isFullTile(this) )
- __assert__("../../Common/GameStruct.cpp", 0x596u, "BOOL _ITEM::IncCount(UINT)", "!isFullTile()");
- this->_anon_1.m_Equip.m_MaxDurPoint += a3;
- return 1;
- }
- //----- (080648C8) --------------------------------------------------------
- BOOL __cdecl _ITEM::GetEncodeDarkData(const _ITEM *const this, CHAR *pOut, INT nBufLen)
- {
- BOOL result; // eax
- CHAR sTmp[28]; // [esp+10h] [ebp-38h]
- result = 0;
- if ( pOut )
- {
- if ( GetSerialClass(this->m_ItemIndex) != 1 || this->_anon_1.m_Equip.m_bytDarksFlag != 1 )
- {
- result = 0;
- }
- else
- {
- qmemcpy(sTmp, &this->_anon_0, sizeof(sTmp));
- if ( (unsigned int)nBufLen <= 0x37 )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x5CEu,
- "BOOL _ITEM::GetEncodeDarkData(CHAR*, INT) const",
- "nBufLen >= 2 * sizeof(m_DarksInfo)");
- result = Binary2String(sTmp, 0x1Cu, pOut);
- }
- }
- return result;
- }
- //----- (08064950) --------------------------------------------------------
- void __cdecl _ITEM::DecodeDarkData(_ITEM *const this)
- {
- UINT nOutLen; // [esp+1Ch] [ebp-5Ch]
- CHAR sTmp[58]; // [esp+20h] [ebp-58h]
- if ( GetSerialClass(this->m_ItemIndex) == 1 && this->_anon_1.m_Equip.m_bytDarksFlag == 1 )
- {
- memset(sTmp, 0, 0x38u);
- *(_WORD *)&sTmp[56] = 0;
- nOutLen = 0;
- if ( !DBStr2Binary((const CHAR *)&this->_anon_0, 0x3Au, sTmp, 0x3Au, &nOutLen) )
- __assert__("../../Common/GameStruct.cpp", 0x5F2u, "void _ITEM::DecodeDarkData()", "FALSE");
- qmemcpy(&this->_anon_0, sTmp, 0x38u);
- *(_WORD *)&this->_anon_0.m_Creator[56] = *(_WORD *)&sTmp[56];
- }
- }
- //----- (080649E4) --------------------------------------------------------
- BOOL __cdecl Item2String(_ITEM *pItem, CHAR *pOut, INT *const OutLength, INT BuffLength)
- {
- INT v4; // edi
- CHAR *v6; // edx
- _ITEM::$74A771CF9B5D30BBE99A592EB8C6E1F6 *v7; // edi
- _WORD *v8; // ebx
- INT v9; // edx
- INT v10; // edx
- _WORD *v11; // ebx
- signed int v12; // esi
- INT v13; // ecx
- __int16 v14; // ax
- signed int v15; // edx
- __int16 v16; // ax
- CHAR strLen[16]; // [esp+20h] [ebp-128h]
- CHAR p[255]; // [esp+30h] [ebp-118h]
- if ( !pItem )
- __assert__("../../Common/GameStruct.cpp", 0x5FBu, "BOOL Item2String(_ITEM*, CHAR*, INT&, INT)", "pItem");
- if ( !pOut )
- __assert__("../../Common/GameStruct.cpp", 0x5FCu, "BOOL Item2String(_ITEM*, CHAR*, INT&, INT)", "pOut");
- *(_DWORD *)pOut = pItem->m_ItemIndex;
- pOut[4] = pItem->m_nsBind;
- _ITEM::ClientReadVarAttr(pItem, pOut + 5, OutLength, BuffLength - 4);
- v4 = *OutLength + 5;
- *OutLength = v4;
- if ( GetSerialClass(pItem->m_ItemIndex) != 1 || pItem->_anon_1.m_Equip.m_bytDarksFlag != 1 )
- {
- memcpy(&pOut[*OutLength], &pItem->_anon_0, strlen((const char *)&pItem->_anon_0));
- *OutLength += strlen((const char *)&pItem->_anon_0);
- }
- else
- {
- v6 = &pOut[v4 + 5];
- v7 = &pItem->_anon_0;
- *(v6 - 5) = pItem->_anon_0.m_Creator[24];
- ++*OutLength;
- *((_DWORD *)v6 - 1) = pItem->_anon_0.m_DarksInfo.m_NowExp;
- v8 = v6;
- v9 = *OutLength;
- *v8 = pItem->_anon_0.m_DarksInfo.m_Quality;
- v10 = v9 + 8;
- ++v8;
- *v8 = pItem->_anon_0.m_DarksInfo.m_UseTimes;
- *OutLength = v10;
- v11 = v8 + 1;
- v12 = 0;
- v13 = v10;
- do
- {
- v14 = *(_WORD *)&v7->m_Creator[2 * v12++ + 4];
- v13 += 2;
- *v11 = v14;
- ++v11;
- }
- while ( v12 <= 2 );
- *OutLength = v10 + 6;
- v15 = 0;
- do
- {
- v16 = *(_WORD *)&v7->m_Creator[2 * v15++ + 10];
- *v11 = v16;
- ++v11;
- }
- while ( v15 <= 4 );
- *OutLength = v13 + 10;
- }
- memset(p, 0, 0xFFu);
- Bin2Str(pOut, *OutLength, p);
- memset(strLen, 0, sizeof(strLen));
- snprintf(strLen, 0xFu, "%03di", strlen(p) + 1);
- if ( (signed int)(strlen(strLen) + 1 + strlen(p) + 1 - 2) > BuffLength )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0x639u,
- "BOOL Item2String(_ITEM*, CHAR*, INT&, INT)",
- "BuffLength >= (INT)(strlen(p)+strlen(strLen))");
- strcpy(pOut, strLen);
- strcpy(&pOut[strlen(pOut)], p);
- *OutLength = strlen(pOut);
- return 1;
- }
- //----- (08064C9C) --------------------------------------------------------
- BOOL __cdecl String2Item(const CHAR *pIn, INT BuffLength, _ITEM *pItem)
- {
- INT v3; // ebx
- CHAR *v5; // ST34_4
- _ITEM::$74A771CF9B5D30BBE99A592EB8C6E1F6 *v6; // esi
- __int16 v7; // ax
- INT v8; // ebx
- signed int v9; // ecx
- INT v10; // edx
- INT v11; // edi
- signed int v12; // edx
- CHAR *pBuff; // [esp+14h] [ebp-124h]
- INT nLen; // [esp+18h] [ebp-120h]
- UINT iOut; // [esp+1Ch] [ebp-11Ch]
- CHAR p[255]; // [esp+20h] [ebp-118h]
- if ( !pItem )
- __assert__("../../Common/GameStruct.cpp", 0x644u, "BOOL String2Item(const CHAR*, INT, _ITEM*)", "pItem");
- if ( !pIn )
- __assert__("../../Common/GameStruct.cpp", 0x645u, "BOOL String2Item(const CHAR*, INT, _ITEM*)", "pIn");
- if ( strlen(pIn) <= 4 )
- __assert__("../../Common/GameStruct.cpp", 0x646u, "BOOL String2Item(const CHAR*, INT, _ITEM*)", "strlen(pIn)>4");
- memset(p, 0, 0xFFu);
- Str2Bin(pIn + 4, BuffLength - 4, p, 0xFFu, &iOut);
- pItem->m_ItemIndex = *(_DWORD *)p;
- pItem->m_nsBind = p[4];
- nLen = 0;
- _ITEM::ClientWriteVarAttr(pItem, &p[5], &nLen, iOut);
- v3 = nLen;
- if ( nLen == iOut )
- return 1;
- if ( GetSerialClass(pItem->m_ItemIndex) != 1 || pItem->_anon_1.m_Equip.m_bytDarksFlag != 1 )
- {
- memcpy(&pItem->_anon_0, &p[v3 + 5], strlen(&p[v3 + 5]));
- nLen += strlen(&p[nLen + 5]);
- return 1;
- }
- v5 = &p[v3 + 5];
- v6 = &pItem->_anon_0;
- v6->m_Creator[24] = p[v3 + 5];
- nLen = v3 + 1;
- pItem->_anon_0.m_DarksInfo.m_NowExp = *(_DWORD *)&p[v3 + 6];
- *(_WORD *)&v6->m_Creator[22] = *(_WORD *)&p[v3 + 10];
- v7 = *(_WORD *)&p[v3 + 12];
- v8 = v3 + 9;
- pBuff = v5 + 9;
- *(_WORD *)&v6->m_Creator[20] = v7;
- nLen = v8;
- v9 = 0;
- v10 = v8;
- do
- {
- *(_WORD *)&v6->m_Creator[2 * v9++ + 4] = *(_WORD *)pBuff;
- v10 += 2;
- pBuff += 2;
- v11 = v10;
- }
- while ( v9 <= 2 );
- nLen = v8 + 6;
- v12 = 0;
- do
- {
- *(_WORD *)&v6->m_Creator[2 * v12++ + 10] = *(_WORD *)pBuff;
- pBuff += 2;
- }
- while ( v12 <= 4 );
- nLen = v11 + 10;
- return 1;
- }
- //----- (08064EF8) --------------------------------------------------------
- void __cdecl GUILD_CGW_ASKLIST::Read(int a3, SocketInputStream *a4)
- {
- SocketInputStream::Read(a4, (CHAR *)(a3 + 4), 1u);
- SocketInputStream::Read(a4, (CHAR *)(a3 + 6), 2u);
- }
- //----- (08064F28) --------------------------------------------------------
- void __cdecl GUILD_CGW_ASKLIST::Write(int a3, SocketOutputStream *a4)
- {
- SocketOutputStream::Write(a4, (const CHAR *)(a3 + 4), 1u);
- SocketOutputStream::Write(a4, (const CHAR *)(a3 + 6), 2u);
- }
- //----- (08064F58) --------------------------------------------------------
- void __cdecl GUILD_CGW_ASKNAMELIST::Read(GUILD_CGW_ASKNAMELIST *const this, SocketInputStream *const iStream)
- {
- ;
- }
- //----- (08064F60) --------------------------------------------------------
- void __cdecl GUILD_CGW_ASKNAMELIST::Write(const GUILD_CGW_ASKNAMELIST *const this, SocketOutputStream *const oStream)
- {
- ;
- }
- //----- (08064F68) --------------------------------------------------------
- void __cdecl GUILD_CGW_CREATE::Read(GUILD_CGW_CREATE *const this, SocketInputStream *const iStream)
- {
- UCHAR v2; // dl
- UCHAR v3; // dl
- SocketInputStream::Read(iStream, (CHAR *)&this->m_NameSize, 1u);
- v2 = this->m_NameSize;
- if ( (unsigned __int8)(v2 - 1) > 0x17u )
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_DescSize, 1u);
- v3 = this->m_DescSize;
- if ( (unsigned __int8)(v3 - 1) > 0x3Bu )
- return;
- LABEL_5:
- SocketInputStream::Read(iStream, this->m_szGuildDesc, v3);
- return;
- }
- SocketInputStream::Read(iStream, this->m_szGuildName, v2);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_DescSize, 1u);
- v3 = this->m_DescSize;
- if ( (unsigned __int8)(v3 - 1) <= 0x3Bu )
- goto LABEL_5;
- }
- //----- (08064FF8) --------------------------------------------------------
- void __cdecl GUILD_CGW_CREATE::Write(const GUILD_CGW_CREATE *const this, SocketOutputStream *const oStream)
- {
- UCHAR v2; // dl
- UCHAR v3; // dl
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_NameSize, 1u);
- v2 = this->m_NameSize;
- if ( (unsigned __int8)(v2 - 1) > 0x17u )
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_DescSize, 1u);
- v3 = this->m_DescSize;
- if ( (unsigned __int8)(v3 - 1) > 0x3Bu )
- return;
- LABEL_5:
- SocketOutputStream::Write(oStream, this->m_szGuildDesc, v3);
- return;
- }
- SocketOutputStream::Write(oStream, this->m_szGuildName, v2);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_DescSize, 1u);
- v3 = this->m_DescSize;
- if ( (unsigned __int8)(v3 - 1) <= 0x3Bu )
- goto LABEL_5;
- }
- //----- (08065088) --------------------------------------------------------
- void __cdecl GUILD_CGW_JOIN::Read(GUILD_CGW_JOIN *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildGUID, 2u);
- }
- //----- (080650A4) --------------------------------------------------------
- void __cdecl GUILD_CGW_JOIN::Write(const GUILD_CGW_JOIN *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildGUID, 2u);
- }
- //----- (080650C0) --------------------------------------------------------
- void __cdecl GUILD_CGW_ASKINFO::Read(int a3, SocketInputStream *a4)
- {
- SocketInputStream::Read(a4, (CHAR *)(a3 + 4), 2u);
- SocketInputStream::Read(a4, (CHAR *)(a3 + 6), 1u);
- }
- //----- (080650F0) --------------------------------------------------------
- void __cdecl GUILD_CGW_ASKINFO::Write(int a3, SocketOutputStream *a4)
- {
- SocketOutputStream::Write(a4, (const CHAR *)(a3 + 4), 2u);
- SocketOutputStream::Write(a4, (const CHAR *)(a3 + 6), 1u);
- }
- //----- (08065120) --------------------------------------------------------
- void __cdecl GUILD_CGW_APPOINT::Read(CHAR *a3, SocketInputStream *a4)
- {
- SocketInputStream::Read(a4, a3 + 4, 2u);
- SocketInputStream::Read(a4, a3 + 8, 4u);
- SocketInputStream::Read(a4, a3 + 12, 1u);
- }
- //----- (08065160) --------------------------------------------------------
- void __cdecl GUILD_CGW_APPOINT::Write(const CHAR *a3, SocketOutputStream *a4)
- {
- SocketOutputStream::Write(a4, a3 + 4, 2u);
- SocketOutputStream::Write(a4, a3 + 8, 4u);
- SocketOutputStream::Write(a4, a3 + 12, 1u);
- }
- //----- (080651A0) --------------------------------------------------------
- void __cdecl GUILD_CGW_ADJUSTAUTH::Read(CHAR *a3, SocketInputStream *a4)
- {
- SocketInputStream::Read(a4, a3 + 4, 2u);
- SocketInputStream::Read(a4, a3 + 8, 4u);
- SocketInputStream::Read(a4, a3 + 12, 1u);
- }
- //----- (080651E0) --------------------------------------------------------
- void __cdecl GUILD_CGW_ADJUSTAUTH::Write(const CHAR *a3, SocketOutputStream *a4)
- {
- SocketOutputStream::Write(a4, a3 + 4, 2u);
- SocketOutputStream::Write(a4, a3 + 8, 4u);
- SocketOutputStream::Write(a4, a3 + 12, 1u);
- }
- //----- (08065220) --------------------------------------------------------
- void __cdecl GUILD_CGW_RECRUIT::Read(GUILD_CGW_RECRUIT *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ProposerGUID, 4u);
- }
- //----- (0806523C) --------------------------------------------------------
- void __cdecl GUILD_CGW_RECRUIT::Write(const GUILD_CGW_RECRUIT *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ProposerGUID, 4u);
- }
- //----- (08065258) --------------------------------------------------------
- void __cdecl GUILD_CGW_EXPEL::Read(GUILD_CGW_EXPEL *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildUserGUID, 4u);
- }
- //----- (08065274) --------------------------------------------------------
- void __cdecl GUILD_CGW_EXPEL::Write(const GUILD_CGW_EXPEL *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildUserGUID, 4u);
- }
- //----- (08065290) --------------------------------------------------------
- void __cdecl GUILD_CGW_WITHDRAW::Read(GUILD_CGW_WITHDRAW *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_MoneyAmount, 4u);
- }
- //----- (080652AC) --------------------------------------------------------
- void __cdecl GUILD_CGW_WITHDRAW::Write(const GUILD_CGW_WITHDRAW *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_MoneyAmount, 4u);
- }
- //----- (080652C8) --------------------------------------------------------
- void __cdecl GUILD_CGW_DEPOSIT::Read(GUILD_CGW_DEPOSIT *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_MoneyAmount, 4u);
- }
- //----- (080652E4) --------------------------------------------------------
- void __cdecl GUILD_CGW_DEPOSIT::Write(const GUILD_CGW_DEPOSIT *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_MoneyAmount, 4u);
- }
- //----- (08065300) --------------------------------------------------------
- void __cdecl GUILD_POSITION_NAME_LIST::Read(int a3, SocketInputStream *a4)
- {
- SocketInputStream::Read(a4, (CHAR *)(a3 + 644), 4u);
- SocketInputStream::Read(a4, (CHAR *)(a3 + 4), *(_DWORD *)(a3 + 644) << 6);
- }
- //----- (0806533C) --------------------------------------------------------
- void __cdecl GUILD_POSITION_NAME_LIST::Write(int a3, SocketOutputStream *a4)
- {
- SocketOutputStream::Write(a4, (const CHAR *)(a3 + 644), 4u);
- SocketOutputStream::Write(a4, (const CHAR *)(a3 + 4), *(_DWORD *)(a3 + 644) << 6);
- }
- //----- (08065378) --------------------------------------------------------
- void __cdecl GUILD_CGW_CHANG_DESC::Read(GUILD_CGW_CHANG_DESC *const this, SocketInputStream *const iStream)
- {
- BYTE v2; // dl
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildDescLength, 1u);
- v2 = this->m_GuildDescLength;
- if ( (unsigned __int8)(v2 - 1) <= 0x3Bu )
- SocketInputStream::Read(iStream, this->m_GuildDesc, v2);
- }
- //----- (080653C0) --------------------------------------------------------
- void __cdecl GUILD_CGW_CHANG_DESC::Write(const GUILD_CGW_CHANG_DESC *const this, SocketOutputStream *const oStream)
- {
- BYTE v2; // dl
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildDescLength, 1u);
- v2 = this->m_GuildDescLength;
- if ( (unsigned __int8)(v2 - 1) <= 0x3Bu )
- SocketOutputStream::Write(oStream, this->m_GuildDesc, v2);
- }
- //----- (08065408) --------------------------------------------------------
- void __cdecl GUILD_CGW_MODIFY_LEAVE_WORD::Read(GUILD_CGW_MODIFY_LEAVE_WORD *const this, SocketInputStream *const iStream)
- {
- UCHAR v2; // al
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uLeaveWordSize, 1u);
- v2 = this->m_uLeaveWordSize;
- if ( v2 )
- SocketInputStream::Read(iStream, this->m_szGuildLeaveWord, v2);
- }
- //----- (08065450) --------------------------------------------------------
- void __cdecl GUILD_CGW_MODIFY_LEAVE_WORD::Write(const GUILD_CGW_MODIFY_LEAVE_WORD *const this, SocketOutputStream *const oStream)
- {
- UCHAR v2; // al
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uLeaveWordSize, 1u);
- v2 = this->m_uLeaveWordSize;
- if ( v2 )
- SocketOutputStream::Write(oStream, this->m_szGuildLeaveWord, v2);
- }
- //----- (08065498) --------------------------------------------------------
- void __cdecl GUILD_WGC_APPOINT_INFO::Read(CHAR *a3, SocketInputStream *a4)
- {
- SocketInputStream::Read(a4, a3 + 256, 4u);
- SocketInputStream::Read(a4, a3 + 260, 1u);
- SocketInputStream::Read(a4, a3 + 4, 25 * *((_DWORD *)a3 + 64));
- }
- //----- (080654E8) --------------------------------------------------------
- void __cdecl GUILD_WGC_APPOINT_INFO::Write(const CHAR *a3, SocketOutputStream *a4)
- {
- SocketOutputStream::Write(a4, a3 + 256, 4u);
- SocketOutputStream::Write(a4, a3 + 260, 1u);
- SocketOutputStream::Write(a4, a3 + 4, 25 * *((_DWORD *)a3 + 64));
- }
- //----- (08065538) --------------------------------------------------------
- void __cdecl GUILD_WGC_GUILD_INFO::Read(CHAR *a3, SocketInputStream *a4)
- {
- SocketInputStream::Read(a4, a3 + 4, 0x18u);
- SocketInputStream::Read(a4, a3 + 29, 0x1Eu);
- SocketInputStream::Read(a4, a3 + 59, 0x1Eu);
- SocketInputStream::Read(a4, a3 + 89, 0x1Au);
- SocketInputStream::Read(a4, a3 + 115, 0x20u);
- SocketInputStream::Read(a4, a3 + 147, 1u);
- SocketInputStream::Read(a4, a3 + 148, 4u);
- SocketInputStream::Read(a4, a3 + 152, 4u);
- SocketInputStream::Read(a4, a3 + 156, 4u);
- SocketInputStream::Read(a4, a3 + 160, 4u);
- SocketInputStream::Read(a4, a3 + 164, 4u);
- SocketInputStream::Read(a4, a3 + 168, 4u);
- SocketInputStream::Read(a4, a3 + 172, 4u);
- SocketInputStream::Read(a4, a3 + 176, 4u);
- SocketInputStream::Read(a4, a3 + 180, 4u);
- SocketInputStream::Read(a4, a3 + 184, 4u);
- SocketInputStream::Read(a4, a3 + 188, 4u);
- SocketInputStream::Read(a4, a3 + 192, 4u);
- SocketInputStream::Read(a4, a3 + 196, 4u);
- SocketInputStream::Read(a4, a3 + 200, 4u);
- SocketInputStream::Read(a4, a3 + 204, 4u);
- SocketInputStream::Read(a4, a3 + 208, 4u);
- SocketInputStream::Read(a4, a3 + 212, 4u);
- SocketInputStream::Read(a4, a3 + 216, 4u);
- }
- //----- (080656EC) --------------------------------------------------------
- void __cdecl GUILD_WGC_GUILD_INFO::Write(const CHAR *a3, SocketOutputStream *a4)
- {
- SocketOutputStream::Write(a4, a3 + 4, 0x18u);
- SocketOutputStream::Write(a4, a3 + 29, 0x1Eu);
- SocketOutputStream::Write(a4, a3 + 59, 0x1Eu);
- SocketOutputStream::Write(a4, a3 + 89, 0x1Au);
- SocketOutputStream::Write(a4, a3 + 115, 0x20u);
- SocketOutputStream::Write(a4, a3 + 147, 1u);
- SocketOutputStream::Write(a4, a3 + 148, 4u);
- SocketOutputStream::Write(a4, a3 + 152, 4u);
- SocketOutputStream::Write(a4, a3 + 156, 4u);
- SocketOutputStream::Write(a4, a3 + 160, 4u);
- SocketOutputStream::Write(a4, a3 + 164, 4u);
- SocketOutputStream::Write(a4, a3 + 168, 4u);
- SocketOutputStream::Write(a4, a3 + 172, 4u);
- SocketOutputStream::Write(a4, a3 + 176, 4u);
- SocketOutputStream::Write(a4, a3 + 180, 4u);
- SocketOutputStream::Write(a4, a3 + 184, 4u);
- SocketOutputStream::Write(a4, a3 + 188, 4u);
- SocketOutputStream::Write(a4, a3 + 192, 4u);
- SocketOutputStream::Write(a4, a3 + 196, 4u);
- SocketOutputStream::Write(a4, a3 + 200, 4u);
- SocketOutputStream::Write(a4, a3 + 204, 4u);
- SocketOutputStream::Write(a4, a3 + 208, 4u);
- SocketOutputStream::Write(a4, a3 + 212, 4u);
- SocketOutputStream::Write(a4, a3 + 216, 4u);
- }
- //----- (080658A0) --------------------------------------------------------
- void __cdecl GUILD_WGC_MEMBER_LIST::Read(GUILD_WGC_MEMBER_LIST *const this, SocketInputStream *const iStream)
- {
- USHORT v2; // dx
- CHAR *v3; // esi
- INT i; // [esp+8h] [ebp-14h]
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uValidMemberCount, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uMemberCount, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uMemberMax, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_bPosition, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_bAccess, 1u);
- SocketInputStream::Read(iStream, this->m_GuildDesc, 0x3Cu);
- SocketInputStream::Read(iStream, this->m_GuildName, 0x18u);
- SocketInputStream::Read(iStream, this->m_GuildLeagueName, 0x20u);
- v2 = this->m_uMemberCount;
- if ( (unsigned __int16)(v2 - 1) <= 0x10Du )
- {
- i = 0;
- if ( v2 )
- {
- v3 = (CHAR *)this;
- do
- {
- SocketInputStream::Read(iStream, v3 + 4, 0x1Eu);
- SocketInputStream::Read(iStream, v3 + 36, 4u);
- SocketInputStream::Read(iStream, v3 + 40, 1u);
- SocketInputStream::Read(iStream, v3 + 41, 1u);
- SocketInputStream::Read(iStream, v3 + 44, 4u);
- SocketInputStream::Read(iStream, v3 + 48, 4u);
- SocketInputStream::Read(iStream, v3 + 52, 4u);
- SocketInputStream::Read(iStream, v3 + 56, 4u);
- SocketInputStream::Read(iStream, v3 + 60, 4u);
- SocketInputStream::Read(iStream, v3 + 64, 1u);
- SocketInputStream::Read(iStream, v3 + 65, 1u);
- SocketInputStream::Read(iStream, v3 + 66, 1u);
- ++i;
- v3 += 64;
- }
- while ( this->m_uMemberCount > i );
- }
- }
- }
- //----- (08065A54) --------------------------------------------------------
- void __cdecl GUILD_WGC_MEMBER_LIST::Write(const GUILD_WGC_MEMBER_LIST *const this, SocketOutputStream *const oStream)
- {
- USHORT v2; // dx
- const CHAR *v3; // esi
- INT i; // [esp+8h] [ebp-14h]
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uValidMemberCount, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uMemberCount, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uMemberMax, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_bPosition, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_bAccess, 1u);
- SocketOutputStream::Write(oStream, this->m_GuildDesc, 0x3Cu);
- SocketOutputStream::Write(oStream, this->m_GuildName, 0x18u);
- SocketOutputStream::Write(oStream, this->m_GuildLeagueName, 0x20u);
- v2 = this->m_uMemberCount;
- if ( (unsigned __int16)(v2 - 1) <= 0x10Du )
- {
- i = 0;
- if ( v2 )
- {
- v3 = (const CHAR *)this;
- do
- {
- SocketOutputStream::Write(oStream, v3 + 4, 0x1Eu);
- SocketOutputStream::Write(oStream, v3 + 36, 4u);
- SocketOutputStream::Write(oStream, v3 + 40, 1u);
- SocketOutputStream::Write(oStream, v3 + 41, 1u);
- SocketOutputStream::Write(oStream, v3 + 44, 4u);
- SocketOutputStream::Write(oStream, v3 + 48, 4u);
- SocketOutputStream::Write(oStream, v3 + 52, 4u);
- SocketOutputStream::Write(oStream, v3 + 56, 4u);
- SocketOutputStream::Write(oStream, v3 + 60, 4u);
- SocketOutputStream::Write(oStream, v3 + 64, 1u);
- SocketOutputStream::Write(oStream, v3 + 65, 1u);
- SocketOutputStream::Write(oStream, v3 + 66, 1u);
- ++i;
- v3 += 64;
- }
- while ( this->m_uMemberCount > i );
- }
- }
- }
- //----- (08065C08) --------------------------------------------------------
- void __cdecl GUILD_WGC_LIST::Read(GUILD_WGC_LIST *const this, SocketInputStream *const iStream)
- {
- UCHAR v2; // al
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uStartIndex, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uGuildCount, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uGuildListCount, 1u);
- v2 = this->m_uGuildListCount;
- if ( v2 )
- SocketInputStream::Read(iStream, (CHAR *)this->m_uGuild, 208 * v2);
- }
- //----- (08065C74) --------------------------------------------------------
- void __cdecl GUILD_WGC_LIST::Write(const GUILD_WGC_LIST *const this, SocketOutputStream *const oStream)
- {
- UCHAR v2; // al
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uStartIndex, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uGuildCount, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uGuildListCount, 1u);
- v2 = this->m_uGuildListCount;
- if ( v2 )
- SocketOutputStream::Write(oStream, (const CHAR *)this->m_uGuild, 208 * v2);
- }
- //----- (08065CE0) --------------------------------------------------------
- void __cdecl GUILD_WGC_NAMELIST::Read(GUILD_WGC_NAMELIST *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)this->m_uGuild, 0x7000u);
- }
- //----- (08065CFC) --------------------------------------------------------
- void __cdecl GUILD_WGC_NAMELIST::Write(const GUILD_WGC_NAMELIST *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)this->m_uGuild, 0x7000u);
- }
- //----- (08065D18) --------------------------------------------------------
- void __cdecl GUILD_WGC_SELF_GUILD_INFO::Read(GUILD_WGC_SELF_GUILD_INFO *const this, SocketInputStream *const iStream)
- {
- BYTE v2; // dl
- BYTE v3; // dl
- int v4; // ecx
- UINT v5; // edx
- UCHAR v6; // dl
- GUILD_WGC_SELF_GUILD_INFO *v7; // edi
- signed int v8; // ebx
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildNameSize, 1u);
- v2 = this->m_GuildNameSize;
- if ( (unsigned __int8)(v2 - 1) <= 0x17u )
- SocketInputStream::Read(iStream, this->m_GuildName, v2);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_PositionNameSize, 1u);
- v3 = this->m_PositionNameSize;
- if ( (unsigned __int8)(v3 - 1) <= 0x17u )
- SocketInputStream::Read(iStream, this->m_PositionName, v3);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildLeagueNameSize, 1u);
- memset(this->m_GuildLeagueName, 0, sizeof(this->m_GuildLeagueName));
- v4 = this->m_GuildLeagueNameSize;
- if ( (unsigned __int8)(v4 - 1) <= 0x1Eu )
- SocketInputStream::Read(iStream, this->m_GuildLeagueName, (unsigned __int8)v4);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildPosition, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildContri, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildContriPerWeek, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_MaxGuildContri, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_CityID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uLeaveWordSize, 4u);
- v5 = this->m_uLeaveWordSize;
- if ( v5 - 1 <= 0x1FF )
- SocketInputStream::Read(iStream, this->m_szGuildLeaveWord, v5);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uGuildDescSize, 1u);
- v6 = this->m_uGuildDescSize;
- if ( (unsigned __int8)(v6 - 1) <= 0x3Du )
- SocketInputStream::Read(iStream, this->m_szGuildDesc, v6);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildLevel, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildTime, 4u);
- v7 = this;
- v8 = 2;
- do
- {
- SocketInputStream::Read(iStream, (CHAR *)v7->m_BattleGuildList, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&v7->m_BattleGuildList[0].m_uLeftTime, 4u);
- v7 = (GUILD_WGC_SELF_GUILD_INFO *)((char *)v7 + 8);
- --v8;
- }
- while ( v8 >= 0 );
- SocketInputStream::Read(iStream, (CHAR *)&this->m_iBattleNum, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_iHostilityNum, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uAppointTime, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_nProposerCount, 4u);
- }
- //----- (08065F78) --------------------------------------------------------
- void __cdecl GUILD_WGC_SELF_GUILD_INFO::Write(const GUILD_WGC_SELF_GUILD_INFO *const this, SocketOutputStream *const oStream)
- {
- BYTE v2; // dl
- BYTE v3; // dl
- BYTE v4; // dl
- UINT v5; // edx
- UCHAR v6; // dl
- const GUILD_WGC_SELF_GUILD_INFO *v7; // ebx
- signed int v8; // esi
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildNameSize, 1u);
- v2 = this->m_GuildNameSize;
- if ( (unsigned __int8)(v2 - 1) <= 0x17u )
- SocketOutputStream::Write(oStream, this->m_GuildName, v2);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_PositionNameSize, 1u);
- v3 = this->m_PositionNameSize;
- if ( (unsigned __int8)(v3 - 1) <= 0x17u )
- SocketOutputStream::Write(oStream, this->m_PositionName, v3);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildLeagueNameSize, 1u);
- v4 = this->m_GuildLeagueNameSize;
- if ( (unsigned __int8)(v4 - 1) <= 0x1Eu )
- SocketOutputStream::Write(oStream, this->m_GuildLeagueName, v4);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildPosition, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildContri, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildContriPerWeek, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_MaxGuildContri, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_CityID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uLeaveWordSize, 4u);
- v5 = this->m_uLeaveWordSize;
- if ( v5 - 1 <= 0x1FE )
- SocketOutputStream::Write(oStream, this->m_szGuildLeaveWord, v5);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uGuildDescSize, 1u);
- v6 = this->m_uGuildDescSize;
- if ( (unsigned __int8)(v6 - 1) <= 0x3Du )
- SocketOutputStream::Write(oStream, this->m_szGuildDesc, v6);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildLevel, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildTime, 4u);
- v7 = this;
- v8 = 2;
- do
- {
- SocketOutputStream::Write(oStream, (const CHAR *)v7->m_BattleGuildList, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&v7->m_BattleGuildList[0].m_uLeftTime, 4u);
- v7 = (const GUILD_WGC_SELF_GUILD_INFO *)((char *)v7 + 8);
- --v8;
- }
- while ( v8 >= 0 );
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_iBattleNum, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_iHostilityNum, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uAppointTime, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_nProposerCount, 4u);
- }
- //----- (080661CC) --------------------------------------------------------
- void __cdecl _GUILD_PACKET::Read(_GUILD_PACKET *const this, SocketInputStream *const iStream)
- {
- int v2; // eax
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uPacketType, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uSerial, 4u);
- v2 = ((int (__cdecl *)(_GUILD_PACKET *const , _DWORD))*this->_vptr__GUILD_PACKET)(this, this->m_uPacketType);
- if ( !v2 )
- __assert__("../../Common/GameStruct.cpp", 0x89Cu, "void _GUILD_PACKET::Read(SocketInputStream&)", "FALSE");
- (*(void (__cdecl **)(int, SocketInputStream *const ))(*(_DWORD *)v2 + 4))(v2, iStream);
- }
- //----- (08066240) --------------------------------------------------------
- void __cdecl _GUILD_PACKET::Write(const _GUILD_PACKET *const this, SocketOutputStream *const oStream)
- {
- int v2; // eax
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uPacketType, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uSerial, 4u);
- v2 = ((int (__cdecl *)(const _GUILD_PACKET *const , _DWORD))*this->_vptr__GUILD_PACKET)(this, this->m_uPacketType);
- if ( !v2 )
- __assert__("../../Common/GameStruct.cpp", 0x8ADu, "void _GUILD_PACKET::Write(SocketOutputStream&) const", "FALSE");
- (*(void (__cdecl **)(int, SocketOutputStream *const ))(*(_DWORD *)v2 + 8))(v2, oStream);
- }
- //----- (080662B4) --------------------------------------------------------
- void __cdecl _GUILD_RETURN::Read(_GUILD_RETURN *const this, SocketInputStream *const iStream)
- {
- UCHAR v2; // dl
- UCHAR v3; // dl
- UCHAR v4; // dl
- UCHAR v5; // dl
- UCHAR v6; // dl
- UCHAR v7; // dl
- UCHAR v8; // dl
- UCHAR v9; // dl
- UCHAR v10; // dl
- UCHAR v11; // dl
- UCHAR v12; // dl
- UCHAR v13; // dl
- UCHAR v14; // dl
- UCHAR v15; // dl
- UCHAR v16; // dl
- UCHAR v17; // dl
- SocketInputStream::Read(iStream, &this->m_ReturnType, 1u);
- switch ( this->m_ReturnType )
- {
- case 0:
- case 2:
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uSerial, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildNameSize, 1u);
- v17 = this->m_GuildNameSize;
- if ( (unsigned __int8)(v17 - 1) <= 0x17u )
- SocketInputStream::Read(iStream, this->m_GuildName, v17);
- return;
- case 3:
- case 4:
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uSerial, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GUID, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_PosID, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_SourNameSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_DestNameSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildNameSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_PositionNameSize, 1u);
- goto LABEL_9;
- case 5:
- case 6:
- case 0xA:
- case 0xB:
- case 0xE:
- case 0xF:
- case 0x13:
- case 0x14:
- case 0x16:
- case 0x19:
- return;
- case 7:
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uSerial, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GUID, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GUIDChanged, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_SourNameSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_DestNameSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildNameSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_PositionNameSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_JoinTime, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_bIsOnline, 1u);
- LABEL_9:
- v4 = this->m_SourNameSize;
- if ( (unsigned __int8)(v4 - 1) <= 0x1Du )
- SocketInputStream::Read(iStream, this->m_SourName, v4);
- v5 = this->m_DestNameSize;
- if ( (unsigned __int8)(v5 - 1) <= 0x1Du )
- SocketInputStream::Read(iStream, this->m_DestName, v5);
- v6 = this->m_GuildNameSize;
- if ( (unsigned __int8)(v6 - 1) <= 0x17u )
- SocketInputStream::Read(iStream, this->m_GuildName, v6);
- v7 = this->m_PositionNameSize;
- if ( (unsigned __int8)(v7 - 1) <= 0x17u )
- SocketInputStream::Read(iStream, this->m_PositionName, v7);
- return;
- case 8:
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uSerial, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GUID, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildNameSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_SourNameSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_DestNameSize, 1u);
- v9 = this->m_GuildNameSize;
- if ( (unsigned __int8)(v9 - 1) <= 0x17u )
- SocketInputStream::Read(iStream, this->m_GuildName, v9);
- v10 = this->m_SourNameSize;
- if ( (unsigned __int8)(v10 - 1) <= 0x1Du )
- SocketInputStream::Read(iStream, this->m_SourName, v10);
- goto LABEL_6;
- case 9:
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uSerial, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GUID, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GUIDChanged, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_SourNameSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_DestNameSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildNameSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_PositionNameSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ChangedPositionNameSize, 1u);
- v11 = this->m_SourNameSize;
- if ( (unsigned __int8)(v11 - 1) <= 0x1Du )
- SocketInputStream::Read(iStream, this->m_SourName, v11);
- v12 = this->m_DestNameSize;
- if ( (unsigned __int8)(v12 - 1) <= 0x1Du )
- SocketInputStream::Read(iStream, this->m_DestName, v12);
- v13 = this->m_GuildNameSize;
- if ( (unsigned __int8)(v13 - 1) <= 0x17u )
- SocketInputStream::Read(iStream, this->m_GuildName, v13);
- v14 = this->m_PositionNameSize;
- if ( (unsigned __int8)(v14 - 1) <= 0x17u )
- SocketInputStream::Read(iStream, this->m_PositionName, v14);
- v15 = this->m_ChangedPositionNameSize;
- if ( (unsigned __int8)(v15 - 1) <= 0x17u )
- SocketInputStream::Read(iStream, this->m_ChangedPositionName, v15);
- break;
- case 0xC:
- case 0xD:
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uSerial, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GUID, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildNameSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_DestNameSize, 1u);
- v2 = this->m_GuildNameSize;
- if ( (unsigned __int8)(v2 - 1) <= 0x17u )
- SocketInputStream::Read(iStream, this->m_GuildName, v2);
- LABEL_6:
- v3 = this->m_DestNameSize;
- if ( (unsigned __int8)(v3 - 1) <= 0x1Du )
- SocketInputStream::Read(iStream, this->m_DestName, v3);
- break;
- case 0x10:
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uSerial, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildDescSize, 1u);
- v8 = this->m_GuildDescSize;
- if ( (unsigned __int8)(v8 - 1) <= 0x3Bu )
- SocketInputStream::Read(iStream, this->m_GuildDesc, v8);
- break;
- case 0x12:
- SocketInputStream::Read(iStream, (CHAR *)&this->m_CityID, 2u);
- break;
- case 0x15:
- SocketInputStream::Read(iStream, (CHAR *)&this->m_NotifyID, 4u);
- break;
- case 0x17:
- SocketInputStream::Read(iStream, (CHAR *)&this->m_SourNameSize, 1u);
- v16 = this->m_SourNameSize;
- if ( (unsigned __int8)(v16 - 1) <= 0x1Cu )
- SocketInputStream::Read(iStream, this->m_SourName, v16);
- break;
- default:
- __assert__("../../Common/GameStruct.cpp", 0x9C0u, "void _GUILD_RETURN::Read(SocketInputStream&)", "FALSE");
- return;
- }
- }
- //----- (080667D0) --------------------------------------------------------
- void __cdecl _GUILD_RETURN::Write(const _GUILD_RETURN *const this, SocketOutputStream *const oStream)
- {
- UCHAR v2; // dl
- UCHAR v3; // dl
- UCHAR v4; // dl
- UCHAR v5; // dl
- UCHAR v6; // dl
- UCHAR v7; // dl
- UCHAR v8; // dl
- UCHAR v9; // dl
- UCHAR v10; // dl
- UCHAR v11; // dl
- UCHAR v12; // dl
- UCHAR v13; // dl
- UCHAR v14; // dl
- UCHAR v15; // dl
- UCHAR v16; // dl
- UCHAR v17; // dl
- SocketOutputStream::Write(oStream, &this->m_ReturnType, 1u);
- switch ( this->m_ReturnType )
- {
- case 0:
- case 2:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uSerial, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildNameSize, 1u);
- v17 = this->m_GuildNameSize;
- if ( (unsigned __int8)(v17 - 1) <= 0x17u )
- SocketOutputStream::Write(oStream, this->m_GuildName, v17);
- return;
- case 3:
- case 4:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uSerial, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GUID, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_PosID, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_SourNameSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_DestNameSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildNameSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_PositionNameSize, 1u);
- goto LABEL_9;
- case 5:
- case 6:
- case 0xA:
- case 0xB:
- case 0xE:
- case 0xF:
- case 0x13:
- case 0x14:
- case 0x16:
- case 0x19:
- return;
- case 7:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uSerial, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GUID, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GUIDChanged, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_SourNameSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_DestNameSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildNameSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_PositionNameSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_JoinTime, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_bIsOnline, 1u);
- LABEL_9:
- v4 = this->m_SourNameSize;
- if ( (unsigned __int8)(v4 - 1) <= 0x1Du )
- SocketOutputStream::Write(oStream, this->m_SourName, v4);
- v5 = this->m_DestNameSize;
- if ( (unsigned __int8)(v5 - 1) <= 0x1Du )
- SocketOutputStream::Write(oStream, this->m_DestName, v5);
- v6 = this->m_GuildNameSize;
- if ( (unsigned __int8)(v6 - 1) <= 0x17u )
- SocketOutputStream::Write(oStream, this->m_GuildName, v6);
- v7 = this->m_PositionNameSize;
- if ( (unsigned __int8)(v7 - 1) <= 0x17u )
- SocketOutputStream::Write(oStream, this->m_PositionName, v7);
- return;
- case 8:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uSerial, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GUID, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildNameSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_SourNameSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_DestNameSize, 1u);
- v9 = this->m_GuildNameSize;
- if ( (unsigned __int8)(v9 - 1) <= 0x17u )
- SocketOutputStream::Write(oStream, this->m_GuildName, v9);
- v10 = this->m_SourNameSize;
- if ( (unsigned __int8)(v10 - 1) <= 0x1Du )
- SocketOutputStream::Write(oStream, this->m_SourName, v10);
- goto LABEL_6;
- case 9:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uSerial, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GUID, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GUIDChanged, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_SourNameSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_DestNameSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildNameSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_PositionNameSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ChangedPositionNameSize, 1u);
- v11 = this->m_SourNameSize;
- if ( (unsigned __int8)(v11 - 1) <= 0x1Du )
- SocketOutputStream::Write(oStream, this->m_SourName, v11);
- v12 = this->m_DestNameSize;
- if ( (unsigned __int8)(v12 - 1) <= 0x1Du )
- SocketOutputStream::Write(oStream, this->m_DestName, v12);
- v13 = this->m_GuildNameSize;
- if ( (unsigned __int8)(v13 - 1) <= 0x17u )
- SocketOutputStream::Write(oStream, this->m_GuildName, v13);
- v14 = this->m_PositionNameSize;
- if ( (unsigned __int8)(v14 - 1) <= 0x17u )
- SocketOutputStream::Write(oStream, this->m_PositionName, v14);
- v15 = this->m_ChangedPositionNameSize;
- if ( (unsigned __int8)(v15 - 1) <= 0x17u )
- SocketOutputStream::Write(oStream, this->m_ChangedPositionName, v15);
- break;
- case 0xC:
- case 0xD:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uSerial, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GUID, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildNameSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_DestNameSize, 1u);
- v2 = this->m_GuildNameSize;
- if ( (unsigned __int8)(v2 - 1) <= 0x17u )
- SocketOutputStream::Write(oStream, this->m_GuildName, v2);
- LABEL_6:
- v3 = this->m_DestNameSize;
- if ( (unsigned __int8)(v3 - 1) <= 0x1Du )
- SocketOutputStream::Write(oStream, this->m_DestName, v3);
- break;
- case 0x10:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uSerial, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildDescSize, 1u);
- v8 = this->m_GuildDescSize;
- if ( (unsigned __int8)(v8 - 1) <= 0x3Bu )
- SocketOutputStream::Write(oStream, this->m_GuildDesc, v8);
- break;
- case 0x12:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_CityID, 2u);
- break;
- case 0x15:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_NotifyID, 4u);
- break;
- case 0x17:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_SourNameSize, 1u);
- v16 = this->m_SourNameSize;
- if ( (unsigned __int8)(v16 - 1) <= 0x1Cu )
- SocketOutputStream::Write(oStream, this->m_SourName, v16);
- break;
- default:
- __assert__("../../Common/GameStruct.cpp", 0xAD1u, "void _GUILD_RETURN::Write(SocketOutputStream&) const", "FALSE");
- return;
- }
- }
- //----- (08066CEC) --------------------------------------------------------
- void __cdecl MAIL::Read(MAIL *const this, SocketInputStream *const iStream)
- {
- BYTE v2; // al
- BYTE v3; // al
- WORD v4; // ax
- SocketInputStream::Read(iStream, (CHAR *)this, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_SourSize, 1u);
- v2 = this->m_SourSize;
- if ( v2 > 0x1Du )
- __assert__("../../Common/GameStruct.cpp", 0xADCu, "void MAIL::Read(SocketInputStream&)", "FALSE");
- SocketInputStream::Read(iStream, this->m_szSourName, v2);
- this->m_szSourName[29] = 0;
- SocketInputStream::Read(iStream, (CHAR *)&this->m_nPortrait, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_DestSize, 1u);
- v3 = this->m_DestSize;
- if ( v3 > 0x1Du )
- __assert__("../../Common/GameStruct.cpp", 0xAE7u, "void MAIL::Read(SocketInputStream&)", "FALSE");
- SocketInputStream::Read(iStream, this->m_szDestName, v3);
- this->m_szDestName[29] = 0;
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ContexSize, 2u);
- v4 = this->m_ContexSize;
- if ( v4 > 0xFFu )
- __assert__("../../Common/GameStruct.cpp", 0xAF0u, "void MAIL::Read(SocketInputStream&)", "FALSE");
- SocketInputStream::Read(iStream, this->m_szContex, v4);
- this->m_szContex[255] = 0;
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uFlag, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uCreateTime, 4u);
- if ( this->m_uFlag == 2 )
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uParam0, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uParam1, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uParam2, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uParam3, 4u);
- }
- }
- //----- (08066EAC) --------------------------------------------------------
- void __cdecl MAIL::Write(const MAIL *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)this, 4u);
- if ( this->m_SourSize > 0x1Du )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xB05u,
- "void MAIL::Write(SocketOutputStream&) const",
- "m_SourSize<MAX_CHARACTER_NAME");
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_SourSize, 1u);
- SocketOutputStream::Write(oStream, this->m_szSourName, this->m_SourSize);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_nPortrait, 4u);
- if ( this->m_DestSize > 0x1Du )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xB0Bu,
- "void MAIL::Write(SocketOutputStream&) const",
- "m_DestSize<MAX_CHARACTER_NAME");
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_DestSize, 1u);
- SocketOutputStream::Write(oStream, this->m_szDestName, this->m_DestSize);
- if ( this->m_ContexSize > 0xFFu )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xB0Fu,
- "void MAIL::Write(SocketOutputStream&) const",
- "m_ContexSize<MAX_MAIL_CONTEX");
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ContexSize, 2u);
- SocketOutputStream::Write(oStream, this->m_szContex, this->m_ContexSize);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uFlag, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uCreateTime, 4u);
- if ( this->m_uFlag == 2 )
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uParam0, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uParam1, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uParam2, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uParam3, 4u);
- }
- }
- //----- (08067048) --------------------------------------------------------
- void __cdecl MAIL_LIST::Read(MAIL_LIST *const this, SocketInputStream *const iStream)
- {
- BYTE v2; // al
- signed int v3; // esi
- MAIL_LIST *v4; // ebx
- SocketInputStream::Read(iStream, (CHAR *)&this->m_Count, 1u);
- v2 = this->m_Count;
- if ( v2 > 0x14u )
- __assert__("../../Common/GameStruct.cpp", 0xB25u, "void MAIL_LIST::Read(SocketInputStream&)", "FALSE");
- v3 = 0;
- if ( v2 )
- {
- v4 = this;
- do
- {
- MAIL::Read(v4->m_aMail, iStream);
- ++v3;
- v4 = (MAIL_LIST *)((char *)v4 + 356);
- }
- while ( this->m_Count > v3 );
- }
- SocketInputStream::Read(iStream, (CHAR *)&this->m_TotalLeft, 1u);
- }
- //----- (080670E4) --------------------------------------------------------
- void __cdecl MAIL_LIST::Write(const MAIL_LIST *const this, SocketOutputStream *const oStream)
- {
- signed int v2; // esi
- const MAIL_LIST *v3; // ebx
- if ( this->m_Count > 0x14u )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xB32u,
- "void MAIL_LIST::Write(SocketOutputStream&) const",
- "m_Count<=MAX_MAIL_SIZE");
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_Count, 1u);
- v2 = 0;
- if ( this->m_Count )
- {
- v3 = this;
- do
- {
- MAIL::Write(v3->m_aMail, oStream);
- ++v2;
- v3 = (const MAIL_LIST *)((char *)v3 + 356);
- }
- while ( this->m_Count > v2 );
- }
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_TotalLeft, 1u);
- }
- //----- (08067180) --------------------------------------------------------
- UINT __cdecl BATCH_MAIL::GetSize(const BATCH_MAIL *const this)
- {
- int v1; // ecx
- BYTE v2; // al
- int v3; // esi
- int v4; // ebx
- BATCH_MAIL::$D39E05D92A8EEB2D2D67DDBC929F87CC *v5; // edx
- int v6; // eax
- v1 = this->m_SourSize + 10;
- v2 = this->m_ReceiverCount;
- if ( v2 )
- {
- v3 = v2;
- v4 = 0;
- if ( (signed int)v2 > 0 )
- {
- v5 = this->m_Receivers;
- do
- {
- ++v4;
- v6 = v5->m_DestSize;
- ++v5;
- v1 += v6 + 1;
- }
- while ( v3 > v4 );
- }
- }
- return this->m_ContentSize + v1 + 7;
- }
- //----- (080671C8) --------------------------------------------------------
- void __cdecl BATCH_MAIL::Read(BATCH_MAIL *const this, SocketInputStream *const iStream)
- {
- BYTE v2; // dl
- BYTE v3; // dl
- signed int v4; // esi
- BATCH_MAIL *v5; // ebx
- BYTE v6; // dl
- WORD v7; // dx
- SocketInputStream::Read(iStream, (CHAR *)this, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_SourSize, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_nPortrait, 4u);
- v2 = this->m_SourSize;
- if ( (unsigned __int8)(v2 - 1) <= 0x1Cu )
- SocketInputStream::Read(iStream, this->m_szSourName, v2);
- else
- this->m_SourSize = 0;
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ReceiverCount, 1u);
- v3 = this->m_ReceiverCount;
- if ( (unsigned __int8)(v3 - 1) > 0x62u )
- {
- this->m_ReceiverCount = 0;
- }
- else
- {
- v4 = 0;
- if ( v3 )
- {
- v5 = this;
- do
- {
- SocketInputStream::Read(iStream, (CHAR *)v5->m_Receivers, 1u);
- v6 = v5->m_Receivers[0].m_DestSize;
- if ( (unsigned __int8)(v6 - 1) > 0x1Cu )
- v5->m_Receivers[0].m_DestSize = 0;
- else
- SocketInputStream::Read(iStream, v5->m_Receivers[0].m_szDestName, v6);
- ++v4;
- v5 = (BATCH_MAIL *)((char *)v5 + 31);
- }
- while ( this->m_ReceiverCount > v4 );
- }
- }
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ContentSize, 2u);
- v7 = this->m_ContentSize;
- if ( (unsigned __int16)(v7 - 1) <= 0xFEu )
- SocketInputStream::Read(iStream, this->m_szContent, v7);
- else
- this->m_ContentSize = 0;
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uFlag, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uCreateTime, 4u);
- }
- //----- (08067318) --------------------------------------------------------
- void __cdecl BATCH_MAIL::Write(const BATCH_MAIL *const this, SocketOutputStream *const oStream)
- {
- BYTE v2; // dl
- BYTE v3; // dl
- signed int v4; // esi
- const BATCH_MAIL *v5; // ebx
- BYTE v6; // dl
- WORD v7; // dx
- SocketOutputStream::Write(oStream, (const CHAR *)this, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_SourSize, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_nPortrait, 4u);
- v2 = this->m_SourSize;
- if ( (unsigned __int8)(v2 - 1) <= 0x1Cu )
- SocketOutputStream::Write(oStream, this->m_szSourName, v2);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ReceiverCount, 1u);
- v3 = this->m_ReceiverCount;
- if ( (unsigned __int8)(v3 - 1) <= 0x62u )
- {
- v4 = 0;
- if ( v3 )
- {
- v5 = this;
- do
- {
- while ( 1 )
- {
- SocketOutputStream::Write(oStream, (const CHAR *)v5->m_Receivers, 1u);
- v6 = v5->m_Receivers[0].m_DestSize;
- if ( (unsigned __int8)(v6 - 1) <= 0x1Cu )
- break;
- ++v4;
- v5 = (const BATCH_MAIL *)((char *)v5 + 31);
- if ( this->m_ReceiverCount <= v4 )
- goto LABEL_9;
- }
- SocketOutputStream::Write(oStream, v5->m_Receivers[0].m_szDestName, v6);
- ++v4;
- v5 = (const BATCH_MAIL *)((char *)v5 + 31);
- }
- while ( this->m_ReceiverCount > v4 );
- }
- }
- LABEL_9:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ContentSize, 2u);
- v7 = this->m_ContentSize;
- if ( (unsigned __int16)(v7 - 1) <= 0xFEu )
- SocketOutputStream::Write(oStream, this->m_szContent, v7);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uFlag, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uCreateTime, 4u);
- }
- //----- (0806745C) --------------------------------------------------------
- void DB_QUERY::Parse(DB_QUERY *const this, const CHAR *pTemplate, ...)
- {
- int v2; // eax
- va_list __varargs; // [esp+18h] [ebp+10h]
- va_start(__varargs, pTemplate);
- v2 = vsnprintf((char *)this, 0x1000u, pTemplate, __varargs);
- if ( v2 == -1 || v2 > 4095 )
- __assert__("../../Common/GameStruct.cpp", 0xBBFu, "void DB_QUERY::Parse(const CHAR*, ...)", "FALSE");
- }
- //----- (080674A4) --------------------------------------------------------
- void LONG_DB_QUERY::Parse(LONG_DB_QUERY *const this, const CHAR *pTemplate, ...)
- {
- int v2; // eax
- va_list __varargs; // [esp+18h] [ebp+10h]
- va_start(__varargs, pTemplate);
- v2 = vsnprintf((char *)this, 0x32000u, pTemplate, __varargs);
- if ( v2 == -1 || v2 > 204799 )
- __assert__("../../Common/GameStruct.cpp", 0xBCDu, "void LONG_DB_QUERY::Parse(const CHAR*, ...)", "FALSE");
- }
- //----- (080674EC) --------------------------------------------------------
- int __cdecl TEAM_LIST_ENTRY::GetSize(int a2)
- {
- return *(unsigned __int8 *)(a2 + 12) + 19;
- }
- //----- (080674FC) --------------------------------------------------------
- void __cdecl TEAM_LIST_ENTRY::Read(TEAM_LIST_ENTRY *const this, SocketInputStream *const iStream)
- {
- UCHAR v2; // al
- SocketInputStream::Read(iStream, (CHAR *)this, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_SceneID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_SceneResID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ExtraID, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_NameSize, 1u);
- v2 = this->m_NameSize;
- if ( v2 )
- SocketInputStream::Read(iStream, this->m_Name, v2);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_nPortrait, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uDataID, 2u);
- }
- //----- (080675B4) --------------------------------------------------------
- void __cdecl TEAM_LIST_ENTRY::Write(const TEAM_LIST_ENTRY *const this, SocketOutputStream *const oStream)
- {
- UCHAR v2; // al
- SocketOutputStream::Write(oStream, (const CHAR *)this, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_SceneID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_SceneResID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ExtraID, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_NameSize, 1u);
- v2 = this->m_NameSize;
- if ( v2 )
- SocketOutputStream::Write(oStream, this->m_Name, v2);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_nPortrait, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uDataID, 2u);
- }
- //----- (0806766C) --------------------------------------------------------
- void __cdecl _BUY_DATA::GetSubString(_BUY_DATA *const this, INT nIdx, CHAR *pBuf, INT nBufLength)
- {
- INT v4; // ebx
- char *i; // eax
- CHAR buf[21]; // [esp+0h] [ebp-38h]
- if ( pBuf && nIdx > 0 && nBufLength <= 20 )
- {
- strncpy(buf, this->m_BuyString, 0x14u);
- buf[20] = 0;
- v4 = 1;
- for ( i = strtok(buf, " "); v4 < nIdx; ++v4 )
- i = strtok(0, " ");
- if ( i )
- strncpy(pBuf, i, nBufLength);
- }
- }
- //----- (080676F4) --------------------------------------------------------
- BYTE __cdecl _BUY_DATA::GetPrizeType(_BUY_DATA *const this)
- {
- bool v1; // cf
- bool v2; // zf
- _BUY_DATA *v3; // edi
- signed int v4; // ecx
- const char *v5; // esi
- bool v6; // dl
- bool v7; // al
- bool v8; // cf
- bool v9; // zf
- signed int v10; // ecx
- const char *v11; // esi
- _BUY_DATA *v12; // edi
- bool v13; // dl
- bool v14; // al
- bool v15; // cf
- bool v16; // zf
- const char *v17; // esi
- _BUY_DATA *v18; // edi
- bool v19; // dl
- bool v20; // al
- bool v21; // cf
- bool v22; // zf
- const char *v23; // esi
- _BUY_DATA *v24; // edi
- bool v25; // dl
- bool v26; // al
- bool v27; // cf
- bool v28; // zf
- const char *v29; // esi
- _BUY_DATA *v30; // edi
- bool v31; // cf
- bool v32; // zf
- const char *v33; // esi
- signed int v34; // ecx
- CHAR *v35; // edi
- char v36; // dl
- bool v37; // cf
- bool v38; // zf
- signed int v39; // ecx
- const char *v40; // esi
- CHAR *v41; // edi
- bool v42; // dl
- bool v43; // al
- bool v45; // cf
- bool v46; // zf
- const char *v47; // esi
- signed int v48; // ecx
- CHAR *v49; // edi
- CHAR sub[21]; // [esp+10h] [ebp-38h]
- v1 = 0;
- v2 = 0;
- v3 = this;
- v4 = 15;
- v5 = "setflag 1500 1";
- do
- {
- if ( !v4 )
- break;
- v1 = (const unsigned __int8)*v5 < v3->m_BuyString[0];
- v2 = *v5++ == v3->m_BuyString[0];
- v3 = (_BUY_DATA *)((char *)v3 + 1);
- --v4;
- }
- while ( v2 );
- v6 = !v1 && !v2;
- v7 = v1;
- v8 = v6 < (unsigned __int8)v1;
- v9 = v6 == v7;
- v10 = 1;
- if ( v6 != v7 )
- {
- LOBYTE(v10) = 15;
- v11 = "setflag 1600 1";
- v12 = this;
- do
- {
- if ( !v10 )
- break;
- v8 = (const unsigned __int8)*v11 < v12->m_BuyString[0];
- v9 = *v11++ == v12->m_BuyString[0];
- v12 = (_BUY_DATA *)((char *)v12 + 1);
- --v10;
- }
- while ( v9 );
- v13 = !v8 && !v9;
- v14 = v8;
- v15 = v13 < (unsigned __int8)v8;
- v16 = v13 == v14;
- v10 = 3;
- if ( v13 != v14 )
- {
- LOBYTE(v10) = 15;
- v17 = "setflag 1601 1";
- v18 = this;
- do
- {
- if ( !v10 )
- break;
- v15 = (const unsigned __int8)*v17 < v18->m_BuyString[0];
- v16 = *v17++ == v18->m_BuyString[0];
- v18 = (_BUY_DATA *)((char *)v18 + 1);
- --v10;
- }
- while ( v16 );
- v19 = !v15 && !v16;
- v20 = v15;
- v21 = v19 < (unsigned __int8)v15;
- v22 = v19 == v20;
- v10 = 8;
- if ( v19 != v20 )
- {
- LOBYTE(v10) = 15;
- v23 = "setflag 1800 1";
- v24 = this;
- do
- {
- if ( !v10 )
- break;
- v21 = (const unsigned __int8)*v23 < v24->m_BuyString[0];
- v22 = *v23++ == v24->m_BuyString[0];
- v24 = (_BUY_DATA *)((char *)v24 + 1);
- --v10;
- }
- while ( v22 );
- v25 = !v21 && !v22;
- v26 = v21;
- v27 = v25 < (unsigned __int8)v21;
- v28 = v25 == v26;
- v10 = 6;
- if ( v25 != v26 )
- {
- LOBYTE(v10) = 15;
- v29 = "setflag 1801 1";
- v30 = this;
- do
- {
- if ( !v10 )
- break;
- v27 = (const unsigned __int8)*v29 < v30->m_BuyString[0];
- v28 = *v29++ == v30->m_BuyString[0];
- v30 = (_BUY_DATA *)((char *)v30 + 1);
- --v10;
- }
- while ( v28 );
- v10 = 7;
- if ( (!v27 && !v28) != v27 )
- {
- LOBYTE(v10) = 5;
- memset(sub, 0, 4 * v10);
- sub[4 * v10] = 0;
- _BUY_DATA::GetSubString(this, 1, sub, 20);
- v33 = "setflag";
- v34 = 8;
- v35 = sub;
- do
- {
- if ( !v34 )
- break;
- v31 = *v33 < (unsigned __int8)*v35;
- v32 = *v33++ == *v35++;
- --v34;
- }
- while ( v32 );
- v36 = (!v31 && !v32) - v31;
- v37 = 0;
- v38 = v36 == 0;
- if ( v36 )
- {
- v39 = 5;
- v40 = "item";
- v41 = sub;
- do
- {
- if ( !v39 )
- break;
- v37 = *v40 < (unsigned __int8)*v41;
- v38 = *v40++ == *v41++;
- --v39;
- }
- while ( v38 );
- v42 = !v37 && !v38;
- v43 = v37;
- LOBYTE(v10) = 5;
- }
- else
- {
- memset(sub, 0, 0x14u);
- sub[20] = 0;
- _BUY_DATA::GetSubString(this, 2, sub, 20);
- v47 = "1700";
- v48 = 5;
- v49 = sub;
- do
- {
- if ( !v48 )
- break;
- v45 = *v47 < (unsigned __int8)*v49;
- v46 = *v47++ == *v49++;
- --v48;
- }
- while ( v46 );
- v42 = !v45 && !v46;
- v43 = v45;
- LOBYTE(v10) = 4;
- }
- if ( v42 != v43 )
- LOBYTE(v10) = 0;
- }
- }
- }
- }
- }
- return v10;
- }
- //----- (08067838) --------------------------------------------------------
- int __cdecl _BUY_DATA::GetGoodsType(int a2)
- {
- return 2 * (*(_DWORD *)(a2 + 24) == 999);
- }
- //----- (08067850) --------------------------------------------------------
- UINT __cdecl _BUY_DATA::GetPrizeSerial(_BUY_DATA *const this)
- {
- BYTE v1; // al
- int v2; // edx
- BYTE v3; // al
- BYTE v4; // al
- CHAR sub[21]; // [esp+Ch] [ebp-28h]
- v1 = _BUY_DATA::GetPrizeType(this);
- v2 = 0;
- if ( v1 != 1 )
- {
- v3 = _BUY_DATA::GetPrizeType(this);
- v2 = 0;
- if ( v3 != 2 )
- {
- if ( _BUY_DATA::GetPrizeType(this) == 4 )
- {
- memset(sub, 0, 0x14u);
- sub[20] = 0;
- _BUY_DATA::GetSubString(this, 3, sub, 20);
- }
- else
- {
- v4 = _BUY_DATA::GetPrizeType(this);
- v2 = 0;
- if ( v4 != 5 )
- return v2;
- memset(sub, 0, 0x14u);
- sub[20] = 0;
- _BUY_DATA::GetSubString(this, 2, sub, 20);
- }
- v2 = 0;
- if ( sub[0] )
- v2 = __strtol_internal(sub, 0, 10, 0);
- }
- }
- return v2;
- }
- //----- (080678FC) --------------------------------------------------------
- int __cdecl _BUY_DATA::GetPrizeNum(int a2)
- {
- return *(unsigned __int8 *)(a2 + 28);
- }
- //----- (08067908) --------------------------------------------------------
- int __cdecl _BUY_DATA::GetGoodsNum(int a2)
- {
- return *(unsigned __int16 *)(a2 + 28);
- }
- //----- (08067914) --------------------------------------------------------
- UINT __cdecl _BUY_DATA::GetCostPoint(int a2)
- {
- return *(_DWORD *)(a2 + 20);
- }
- //----- (08067920) --------------------------------------------------------
- void __cdecl DisclosureMsg::DisclosureInfo::Read(DisclosureMsg::DisclosureInfo *const this, SocketInputStream *const iStream)
- {
- WORD v2; // ax
- SocketInputStream::Read(iStream, (CHAR *)this, 1u);
- if ( this->m_TargetSize > 0x1Du )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xC8Fu,
- "void DisclosureMsg::DisclosureInfo::Read(SocketInputStream&)",
- "FALSE");
- SocketInputStream::Read(iStream, this->m_szTargetName, this->m_TargetSize);
- this->m_szTargetName[29] = 0;
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ContexSize, 2u);
- v2 = this->m_ContexSize;
- if ( v2 > 0xFFu )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xC98u,
- "void DisclosureMsg::DisclosureInfo::Read(SocketInputStream&)",
- "FALSE");
- SocketInputStream::Read(iStream, this->m_szContex, v2);
- this->m_szContex[255] = 0;
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uCreateTime, 4u);
- }
- //----- (080679F0) --------------------------------------------------------
- void __cdecl DisclosureMsg::Read(DisclosureMsg *const this, SocketInputStream *const iStream)
- {
- BYTE v2; // al
- WORD v3; // ax
- SocketInputStream::Read(iStream, (CHAR *)this, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_SourSize, 1u);
- v2 = this->m_SourSize;
- if ( v2 > 0x1Du )
- __assert__("../../Common/GameStruct.cpp", 0xC67u, "void DisclosureMsg::Read(SocketInputStream&)", "FALSE");
- SocketInputStream::Read(iStream, this->m_szSourName, v2);
- this->m_szSourName[29] = 0;
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ContexSize, 2u);
- v3 = this->m_ContexSize;
- if ( v3 > 0xFFu )
- __assert__("../../Common/GameStruct.cpp", 0xC70u, "void DisclosureMsg::Read(SocketInputStream&)", "FALSE");
- SocketInputStream::Read(iStream, this->m_szContex, v3);
- this->m_szContex[255] = 0;
- SocketInputStream::Read(iStream, (CHAR *)&this->m_nFlag, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uCreateTime, 4u);
- DisclosureMsg::DisclosureInfo::Read(&this->m_info, iStream);
- }
- //----- (08067AFC) --------------------------------------------------------
- void __cdecl DisclosureMsg::DisclosureInfo::Write(const DisclosureMsg::DisclosureInfo *const this, SocketOutputStream *const oStream)
- {
- if ( this->m_TargetSize > 0x1Du )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xCA2u,
- "void DisclosureMsg::DisclosureInfo::Write(SocketOutputStream&) const",
- "m_TargetSize<MAX_CHARACTER_NAME");
- SocketOutputStream::Write(oStream, (const CHAR *)this, 1u);
- SocketOutputStream::Write(oStream, this->m_szTargetName, this->m_TargetSize);
- if ( this->m_ContexSize > 0xFFu )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xCA6u,
- "void DisclosureMsg::DisclosureInfo::Write(SocketOutputStream&) const",
- "m_ContexSize<MAX_MAIL_CONTEX");
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ContexSize, 2u);
- SocketOutputStream::Write(oStream, this->m_szContex, this->m_ContexSize);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uCreateTime, 4u);
- }
- //----- (08067BAC) --------------------------------------------------------
- void __cdecl DisclosureMsg::Write(const DisclosureMsg *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)this, 4u);
- if ( this->m_SourSize > 0x1Du )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xC7Du,
- "void DisclosureMsg::Write(SocketOutputStream&) const",
- "m_SourSize<MAX_CHARACTER_NAME");
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_SourSize, 1u);
- SocketOutputStream::Write(oStream, this->m_szSourName, this->m_SourSize);
- if ( this->m_ContexSize > 0xFFu )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xC81u,
- "void DisclosureMsg::Write(SocketOutputStream&) const",
- "m_ContexSize<MAX_MAIL_CONTEX");
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ContexSize, 2u);
- SocketOutputStream::Write(oStream, this->m_szContex, this->m_ContexSize);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_nFlag, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uCreateTime, 4u);
- DisclosureMsg::DisclosureInfo::Write(&this->m_info, oStream);
- }
- //----- (08067CA4) --------------------------------------------------------
- int __cdecl DisclosureMsg::DisclosureInfo::GetSize(unsigned __int8 *a2)
- {
- return *a2 + *((unsigned __int16 *)a2 + 16) + 7;
- }
- //----- (08067CB8) --------------------------------------------------------
- int __cdecl DisclosureMsg::GetSize(int a2)
- {
- int v2; // ebx
- v2 = *(unsigned __int8 *)(a2 + 4) + *(unsigned __int16 *)(a2 + 36);
- return v2 + DisclosureMsg::DisclosureInfo::GetSize((unsigned __int8 *)(a2 + 304)) + 15;
- }
- //----- (08067CE0) --------------------------------------------------------
- void __cdecl FindFriendAD_VoteInfo_Packets::Read(FindFriendAD_VoteInfo_Packets *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_CharNameSize, 4u);
- if ( this->m_CharNameSize > 0x1D )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xCC6u,
- "virtual void FindFriendAD_VoteInfo_Packets::Read(SocketInputStream&)",
- "m_CharNameSize < MAX_CHARACTER_NAME");
- SocketInputStream::Read(iStream, this->m_VoteCharName, this->m_CharNameSize);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_OnlineFlag, 1u);
- }
- //----- (08067D68) --------------------------------------------------------
- void __cdecl FindFriendAD_VoteInfo_Packets::Write(const FindFriendAD_VoteInfo_Packets *const this, SocketOutputStream *const oStream)
- {
- if ( this->m_CharNameSize > 0x1D )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xCCDu,
- "virtual void FindFriendAD_VoteInfo_Packets::Write(SocketOutputStream&) const",
- "m_CharNameSize < MAX_CHARACTER_NAME");
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_CharNameSize, 4u);
- SocketOutputStream::Write(oStream, this->m_VoteCharName, this->m_CharNameSize);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_OnlineFlag, 1u);
- }
- //----- (08067DCC) --------------------------------------------------------
- void __cdecl FindFriendAD_SimpleInfo::Read(FindFriendAD_SimpleInfo *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_CharGuid, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->type, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_HotLevel, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_CharSex, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_CharLevel, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_NameSize, 4u);
- if ( this->m_NameSize > 0x1D )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xCDDu,
- "virtual void FindFriendAD_SimpleInfo::Read(SocketInputStream&)",
- "m_NameSize < MAX_CHARACTER_NAME");
- SocketInputStream::Read(iStream, this->m_CharName, this->m_NameSize);
- this->m_CharName[this->m_NameSize] = 0;
- }
- //----- (08067E94) --------------------------------------------------------
- void __cdecl FindFriendAD_SimpleInfo::Write(const FindFriendAD_SimpleInfo *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_CharGuid, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->type, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_HotLevel, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_CharSex, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_CharLevel, 4u);
- if ( this->m_NameSize > 0x1D )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xCEAu,
- "virtual void FindFriendAD_SimpleInfo::Write(SocketOutputStream&) const",
- "m_NameSize < MAX_CHARACTER_NAME");
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_NameSize, 4u);
- SocketOutputStream::Write(oStream, this->m_CharName, this->m_NameSize);
- }
- //----- (08067F58) --------------------------------------------------------
- int __cdecl FindFriendAD_DetailInfo::GetPacketSize(int a2)
- {
- return *(_DWORD *)(a2 + 56) + *(_DWORD *)(a2 + 12) + 22 + 41;
- }
- //----- (08067F6C) --------------------------------------------------------
- void __cdecl FindFriendAD_DetailInfo::Read(FindFriendAD_DetailInfo *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_CharGuid, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ADType, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_NameSize, 4u);
- if ( this->m_NameSize > 0x1D )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xD28u,
- "virtual void FindFriendAD_DetailInfo::Read(SocketInputStream&)",
- "m_NameSize < MAX_CHARACTER_NAME");
- SocketInputStream::Read(iStream, this->m_szCharName, this->m_NameSize);
- this->m_szCharName[this->m_NameSize] = 0;
- SocketInputStream::Read(iStream, (CHAR *)&this->m_CharLevel, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_CharSex, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_CharMenpai, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GuildNameSize, 4u);
- if ( this->m_GuildNameSize > 0x18 )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xD2Fu,
- "virtual void FindFriendAD_DetailInfo::Read(SocketInputStream&)",
- "m_GuildNameSize <= (MAX_GUILD_NAME_SIZE)");
- SocketInputStream::Read(iStream, this->m_CharGuild, this->m_GuildNameSize);
- this->m_CharGuild[this->m_GuildNameSize] = 0;
- SocketInputStream::Read(iStream, (CHAR *)&this->m_MarriedFlag, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_SendADTime, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_LeaveDay, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_NeedMenpai, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_NeedLevel, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_NeedSex, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_NeedDetail, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_VoteType1, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_VoteType2, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_VoteType3, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_VoteType4, 4u);
- }
- //----- (08068118) --------------------------------------------------------
- void __cdecl FindFriendAD_DetailInfo::Write(const FindFriendAD_DetailInfo *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_CharGuid, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ADType, 4u);
- if ( this->m_NameSize > 0x1D )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xD44u,
- "virtual void FindFriendAD_DetailInfo::Write(SocketOutputStream&) const",
- "m_NameSize < MAX_CHARACTER_NAME");
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_NameSize, 4u);
- SocketOutputStream::Write(oStream, this->m_szCharName, this->m_NameSize);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_CharLevel, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_CharSex, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_CharMenpai, 1u);
- if ( this->m_GuildNameSize > 0x18 )
- __assert__(
- "../../Common/GameStruct.cpp",
- 0xD4Bu,
- "virtual void FindFriendAD_DetailInfo::Write(SocketOutputStream&) const",
- "m_GuildNameSize <= (MAX_GUILD_NAME_SIZE)");
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GuildNameSize, 4u);
- SocketOutputStream::Write(oStream, this->m_CharGuild, this->m_GuildNameSize);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_MarriedFlag, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_SendADTime, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_LeaveDay, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_NeedMenpai, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_NeedLevel, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_NeedSex, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_NeedDetail, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_VoteType1, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_VoteType2, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_VoteType3, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_VoteType4, 4u);
- }
- //----- (080682B4) --------------------------------------------------------
- void __cdecl _tcf_0_13(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080682C4) --------------------------------------------------------
- void `global constructor keyed to'GetSerialType()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_13, 0, &_dso_handle);
- memset(&g_WorldGlobalData, 0, 0x1000u);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08068304) --------------------------------------------------------
- UINT __cdecl GUILD_CGW_ASKLIST::GetPacketSize(const GUILD_CGW_ASKLIST *const this)
- {
- return 3;
- }
- //----- (08068310) --------------------------------------------------------
- UINT __cdecl GUILD_CGW_ASKNAMELIST::GetPacketSize(const GUILD_CGW_ASKNAMELIST *const this)
- {
- return 0;
- }
- //----- (08068318) --------------------------------------------------------
- int __cdecl GUILD_CGW_CREATE::GetPacketSize(int a2)
- {
- return *(unsigned __int8 *)(a2 + 4) + *(unsigned __int8 *)(a2 + 30) + 2;
- }
- //----- (0806832C) --------------------------------------------------------
- UINT __cdecl GUILD_CGW_JOIN::GetPacketSize(const GUILD_CGW_JOIN *const this)
- {
- return 2;
- }
- //----- (08068338) --------------------------------------------------------
- UINT __cdecl GUILD_CGW_ASKINFO::GetPacketSize(const GUILD_CGW_ASKINFO *const this)
- {
- return 3;
- }
- //----- (08068344) --------------------------------------------------------
- UINT __cdecl GUILD_CGW_APPOINT::GetPacketSize(const GUILD_CGW_APPOINT *const this)
- {
- return 7;
- }
- //----- (08068350) --------------------------------------------------------
- UINT __cdecl GUILD_CGW_ADJUSTAUTH::GetPacketSize(const GUILD_CGW_ADJUSTAUTH *const this)
- {
- return 7;
- }
- //----- (0806835C) --------------------------------------------------------
- UINT __cdecl GUILD_CGW_RECRUIT::GetPacketSize(const GUILD_CGW_RECRUIT *const this)
- {
- return 4;
- }
- //----- (08068368) --------------------------------------------------------
- UINT __cdecl GUILD_CGW_EXPEL::GetPacketSize(const GUILD_CGW_EXPEL *const this)
- {
- return 4;
- }
- //----- (08068374) --------------------------------------------------------
- UINT __cdecl GUILD_CGW_WITHDRAW::GetPacketSize(const GUILD_CGW_WITHDRAW *const this)
- {
- return 4;
- }
- //----- (08068380) --------------------------------------------------------
- UINT __cdecl GUILD_CGW_DEPOSIT::GetPacketSize(const GUILD_CGW_DEPOSIT *const this)
- {
- return 4;
- }
- //----- (0806838C) --------------------------------------------------------
- int __cdecl GUILD_POSITION_NAME_LIST::GetPacketSize(int a2)
- {
- return (*(_DWORD *)(a2 + 644) << 6) + 4;
- }
- //----- (080683A0) --------------------------------------------------------
- int __cdecl GUILD_CGW_CHANG_DESC::GetPacketSize(int a2)
- {
- return *(unsigned __int8 *)(a2 + 65) + 1;
- }
- //----- (080683B0) --------------------------------------------------------
- int __cdecl GUILD_CGW_MODIFY_LEAVE_WORD::GetPacketSize(int a2)
- {
- return *(unsigned __int8 *)(a2 + 4) + 1;
- }
- //----- (080683C0) --------------------------------------------------------
- int __cdecl GUILD_WGC_APPOINT_INFO::GetPacketSize(int a2)
- {
- return 25 * *(_DWORD *)(a2 + 256) + 5;
- }
- //----- (080683D8) --------------------------------------------------------
- UINT __cdecl GUILD_WGC_GUILD_INFO::GetPacketSize(const GUILD_WGC_GUILD_INFO *const this)
- {
- return 215;
- }
- //----- (080683E4) --------------------------------------------------------
- int __cdecl GUILD_WGC_MEMBER_LIST::GetPacketSize(int a2)
- {
- return 59 * *(unsigned __int16 *)(a2 + 17286) + 124;
- }
- //----- (08068404) --------------------------------------------------------
- int __cdecl GUILD_WGC_LIST::GetPacketSize(int a2)
- {
- return 208 * *(unsigned __int8 *)(a2 + 8) + 5;
- }
- //----- (0806841C) --------------------------------------------------------
- UINT __cdecl GUILD_WGC_NAMELIST::GetPacketSize(const GUILD_WGC_NAMELIST *const this)
- {
- return 28672;
- }
- //----- (08068428) --------------------------------------------------------
- UINT __fastcall GUILD_WGC_SELF_GUILD_INFO::GetPacketSize(const GUILD_WGC_SELF_GUILD_INFO *const this)
- {
- int v2; // [esp+8h] [ebp+8h]
- return *(_DWORD *)(v2 + 108)
- + *(unsigned __int8 *)(v2 + 90)
- + *(unsigned __int8 *)(v2 + 57)
- + *(unsigned __int8 *)(v2 + 31)
- + *(unsigned __int8 *)(v2 + 624)
- + 67;
- }
- //----- (08068450) --------------------------------------------------------
- int __cdecl FindFriendAD_VoteInfo_Packets::GetPacketSize(int a2)
- {
- return *(_DWORD *)(a2 + 36) + 5;
- }
- //----- (08068460) --------------------------------------------------------
- int __cdecl FindFriendAD_SimpleInfo::GetPacketSize(int a2)
- {
- return *(_DWORD *)(a2 + 56) + 21;
- }
- //----- (08068470) --------------------------------------------------------
- void __cdecl MySleep(int a2)
- {
- usleep(1000 * a2);
- }
- //----- (0806848C) --------------------------------------------------------
- BOOL __cdecl sm_trylock(CHAR *const flag, CHAR type)
- {
- signed int v2; // ebx
- v2 = 0;
- while ( *flag )
- {
- ++v2;
- MySleep(1);
- if ( v2 > 10 )
- return 0;
- }
- *flag = type;
- return 1;
- }
- //----- (080684D4) --------------------------------------------------------
- void __cdecl sm_unlock(CHAR *const flag, CHAR type)
- {
- if ( *flag )
- *flag = 0;
- }
- //----- (080684E4) --------------------------------------------------------
- void __cdecl sm_lock(CHAR *const flag, CHAR type)
- {
- while ( *flag )
- MySleep(1);
- *flag = type;
- }
- //----- (08068510) --------------------------------------------------------
- FLOAT __cdecl MySqrt(const WORLD_POS *pCur, const WORLD_POS *pTar)
- {
- long double v2; // fst6
- long double v3; // t2
- long double v4; // fst6
- if ( !pCur )
- __assert__("../../Common/GameUtil.cpp", 0x85u, "FLOAT MySqrt(const WORLD_POS*, const WORLD_POS*)", "pCur");
- if ( !pTar )
- __assert__("../../Common/GameUtil.cpp", 0x86u, "FLOAT MySqrt(const WORLD_POS*, const WORLD_POS*)", "pTar");
- v2 = pCur->m_fZ - pTar->m_fZ;
- v3 = v2 * v2;
- v4 = pCur->m_fX - pTar->m_fX;
- return sqrt(v3 + v4 * v4);
- }
- //----- (080685CC) --------------------------------------------------------
- long double __cdecl MyLengthSq(float *a3, float *a4)
- {
- long double v4; // fst6
- long double v5; // t2
- long double v6; // fst6
- v4 = a3[1] - a4[1];
- v5 = v4 * v4;
- v6 = *a3 - *a4;
- return (float)(v5 + v6 * v6);
- }
- //----- (080685F4) --------------------------------------------------------
- FLOAT __cdecl MyAngle(const WORLD_POS *pCur, const WORLD_POS *pTar)
- {
- long double v2; // fst4
- long double v3; // tt
- long double v4; // fst4
- long double v5; // fst5
- long double v6; // fst7
- long double v7; // fst7
- v2 = pCur->m_fX - pTar->m_fX;
- v3 = v2 * v2;
- v4 = pCur->m_fZ - pTar->m_fZ;
- v5 = sqrt(v3 + v4 * v4);
- if ( v5 <= 0.0 )
- return 0.0;
- v6 = (pTar->m_fZ - pCur->m_fZ) / v5;
- if ( v6 > 1.0 )
- v6 = 0.0;
- if ( v6 < -1.0 )
- v6 = 3.1415;
- v7 = acos(v6);
- if ( pTar->m_fX < (long double)pCur->m_fX )
- v7 = 6.283 - v7;
- return v7;
- }
- //----- (080686A0) --------------------------------------------------------
- BOOL __cdecl MyPosEqual(const WORLD_POS *pA, const WORLD_POS *pB)
- {
- long double v2; // fst6
- long double v3; // fst7
- long double v4; // fst6
- long double v5; // fst7
- long double v6; // fst5
- long double v7; // fst6
- long double v8; // fst6
- long double v10; // fst6
- v2 = pA->m_fX;
- v3 = pB->m_fX;
- if ( v2 <= v3 )
- {
- v10 = v3 - v2;
- v5 = 0.001;
- if ( v10 > 0.001 )
- return 0;
- }
- else
- {
- v4 = v2 - v3;
- v5 = 0.001;
- if ( v4 > 0.001 )
- return 0;
- }
- v6 = pA->m_fZ;
- v7 = pB->m_fZ;
- if ( v6 > v7 )
- v8 = v6 - v7;
- else
- v8 = v7 - v6;
- if ( v8 <= v5 )
- return 1;
- return 0;
- }
- //----- (08068710) --------------------------------------------------------
- void __cdecl MyRandPos(WORLD_POS *pPos, const WORLD_POS *pDir, FLOAT fRadioMax, FLOAT fRadioMin)
- {
- long double v4; // fst6
- long double v5; // fst5
- signed int v6; // ebx
- signed int v7; // esi
- int v8; // edi
- int v9; // edx
- unsigned int v10; // eax
- long double v11; // fst7
- long double v12; // fst6
- float v13; // ST5C_4
- double v14; // ST30_8
- FLOAT x; // ST38_4
- float v16; // ST5C_4
- float fRandLength; // [esp+1Ch] [ebp-3Ch]
- float fRandThi; // [esp+20h] [ebp-38h]
- float fBz; // [esp+24h] [ebp-34h]
- float fBx; // [esp+28h] [ebp-30h]
- float fAz; // [esp+2Ch] [ebp-2Ch]
- float fAx; // [esp+30h] [ebp-28h]
- fAx = pPos->m_fX;
- fAz = pPos->m_fZ;
- fBx = pDir->m_fX;
- fBz = pDir->m_fZ;
- if ( fRadioMin < 0.0 )
- return;
- v4 = fRadioMax;
- if ( fRadioMax < 0.0 )
- return;
- v5 = fRadioMin * 100.0;
- v6 = (signed int)v5;
- v7 = (signed int)(100.0 * v4);
- if ( (signed int)v5 > v7 )
- {
- v6 = (signed int)(100.0 * v4);
- v7 = (signed int)v5;
- v8 = (signed int)v5 - v6;
- if ( !v6 )
- goto LABEL_7;
- LABEL_13:
- v9 = v8 + rand() % v6;
- goto LABEL_8;
- }
- v8 = v7 - v6;
- if ( v6 )
- goto LABEL_13;
- LABEL_7:
- v9 = rand() % (v7 + 1);
- LABEL_8:
- fRandLength = (long double)v9 / 100.0;
- fRandThi = (long double)(rand() % 79) / 100.0;
- v10 = rand();
- if ( v10 == ((v10 + (v10 >> 31)) & 0xFFFFFFFE) )
- HIBYTE(fRandThi) ^= 0x80u;
- v11 = fBx - fAx;
- v12 = sqrt(v11 * v11 + (fBz - fAz) * (fBz - fAz));
- if ( fabs(v12) >= 0.0000099999997 )
- {
- v13 = asin(v11 / v12);
- v14 = v13 + fRandThi;
- x = cos(v14) * fRandLength;
- v16 = sin(v14) * fRandLength;
- pPos->m_fX = x + fAx;
- pPos->m_fZ = v16 + fAz;
- }
- }
- //----- (080688C4) --------------------------------------------------------
- CHAR *MySocketError()
- {
- return gSocketError;
- }
- //----- (080688D0) --------------------------------------------------------
- UINT __cdecl MyCRC(const CHAR *szString)
- {
- UINT v1; // edx
- unsigned int v2; // kr04_4
- int i; // edi
- if ( !szString || !*szString )
- return 0;
- v1 = -1;
- v2 = strlen(szString) + 1;
- for ( i = 0; i < (signed int)(v2 - 1); ++i )
- v1 = 33 * v1 + (unsigned __int8)szString[i];
- return v1;
- }
- //----- (0806891C) --------------------------------------------------------
- UINT __cdecl BinCRC(const CHAR *pBinary, INT InSize)
- {
- UINT v2; // edx
- INT i; // ecx
- v2 = -1;
- for ( i = 0; i < InSize; ++i )
- v2 = 33 * v2 + (unsigned __int8)pBinary[i];
- return v2;
- }
- //----- (0806894C) --------------------------------------------------------
- BOOL __cdecl Bin2StrEx(const CHAR *pIn, UINT InLength, CHAR *pOut, UINT InMaxSize)
- {
- UINT v4; // esi
- UINT v5; // edi
- unsigned int v6; // ecx
- char v7; // dl
- char v8; // cl
- CHAR chYuShu; // [esp+Bh] [ebp-Dh]
- if ( 8 * InLength > 7 * InMaxSize - 7 )
- __assert__(
- "../../Common/GameUtil.cpp",
- 0x1AFu,
- "BOOL Bin2StrEx(const CHAR*, UINT, CHAR*, UINT)",
- "InLength * 8 <= (InMaxSize *7-7)");
- v4 = 0;
- v5 = 0;
- chYuShu = 0;
- if ( InLength > 0 && InMaxSize != 1 )
- {
- do
- {
- v6 = 7 - v4 % 7;
- v7 = chYuShu + ((signed int)(unsigned __int8)pIn[v4] >> (v4 % 7 + 1));
- chYuShu = (unsigned __int8)pIn[v4] << v6;
- v8 = (unsigned __int8)pIn[v4] << v6;
- pOut[v5++] = v7 + 1;
- if ( v4 % 7 == 6 )
- {
- chYuShu = 0;
- pOut[v5++] = v8 + 1;
- }
- ++v4;
- }
- while ( v4 < InLength && InMaxSize - 1 > v5 );
- }
- if ( v4 % 7 && v5 < InMaxSize )
- pOut[v5] = chYuShu + 1;
- return v4 == InLength;
- }
- //----- (08068A30) --------------------------------------------------------
- BOOL __cdecl Str2BinEx(const CHAR *pIn, UINT InLength, CHAR *pOut, UINT *const MaxLengthOrOutLength)
- {
- UINT v4; // edi
- UINT v5; // esi
- BOOL result; // eax
- int v7; // ebx
- CHAR v8; // al
- UINT v9; // [esp+0h] [ebp-18h]
- CHAR chYuShu; // [esp+7h] [ebp-11h]
- v9 = *MaxLengthOrOutLength;
- if ( 7 * InLength > 8 * *MaxLengthOrOutLength + 7 )
- __assert__(
- "../../Common/GameUtil.cpp",
- 0x1F6u,
- "BOOL Str2BinEx(const CHAR*, UINT, CHAR*, UINT&)",
- "InLength*7 <= MaxLengthOrOutLength*8 + 7");
- v4 = 0;
- v5 = 0;
- chYuShu = 0;
- if ( InLength <= 0 || v9 <= 0 )
- {
- LABEL_4:
- result = 0;
- if ( v5 == InLength )
- goto LABEL_13;
- return result;
- }
- do
- {
- v7 = (unsigned __int8)(pIn[v5] - 1) << ((v5 & 7) + 1);
- if ( !(v5 & 7) )
- {
- ++v5;
- chYuShu = v7;
- if ( v5 >= InLength )
- break;
- continue;
- }
- v8 = chYuShu + ((signed int)(unsigned __int8)(pIn[v5] - 1) >> (8 - (v5 & 7)));
- chYuShu = v7;
- ++v5;
- pOut[v4++] = v8;
- if ( v5 >= InLength )
- break;
- }
- while ( v4 < v9 );
- if ( !chYuShu || v4 >= v9 )
- goto LABEL_4;
- pOut[v4++] = chYuShu;
- result = 0;
- if ( v5 == InLength )
- {
- LABEL_13:
- *MaxLengthOrOutLength = v4;
- LOBYTE(result) = 1;
- }
- return result;
- }
- //----- (08068B20) --------------------------------------------------------
- BOOL __cdecl Bin2Str(const CHAR *pIn, UINT InLength, CHAR *pOut)
- {
- BOOL result; // eax
- UINT v4; // ecx
- int v5; // edx
- CHAR v6; // al
- int v7; // edx
- result = 0;
- if ( InLength )
- {
- v4 = 0;
- v5 = 0;
- while ( v4 < InLength )
- {
- v6 = pIn[v4];
- if ( v6 )
- {
- if ( v6 == 92 )
- {
- pOut[v5++] = 92;
- pOut[v5] = 92;
- }
- else
- {
- pOut[v5] = v6;
- }
- ++v4;
- ++v5;
- }
- else
- {
- pOut[v5] = 92;
- v7 = v5 + 1;
- pOut[v7] = 48;
- ++v4;
- v5 = v7 + 1;
- }
- }
- result = 1;
- }
- return result;
- }
- //----- (08068B80) --------------------------------------------------------
- CHAR __cdecl Value2Ascii(CHAR in)
- {
- CHAR result; // al
- switch ( in )
- {
- case 0:
- result = 48;
- break;
- case 1:
- result = 49;
- break;
- case 2:
- result = 50;
- break;
- case 3:
- result = 51;
- break;
- case 4:
- result = 52;
- break;
- case 5:
- result = 53;
- break;
- case 6:
- result = 54;
- break;
- case 7:
- result = 55;
- break;
- case 8:
- result = 56;
- break;
- case 9:
- result = 57;
- break;
- case 10:
- result = 65;
- break;
- case 11:
- result = 66;
- break;
- case 12:
- result = 67;
- break;
- case 13:
- result = 68;
- break;
- case 14:
- result = 69;
- break;
- case 15:
- result = 70;
- break;
- default:
- __assert__("../../Common/GameUtil.cpp", 0x28Cu, "CHAR Value2Ascii(CHAR)", "FALSE");
- return result;
- }
- return result;
- }
- //----- (08068CA8) --------------------------------------------------------
- CHAR __cdecl Ascii2Value(CHAR in)
- {
- CHAR result; // al
- switch ( in )
- {
- case 48:
- result = 0;
- break;
- case 49:
- result = 1;
- break;
- case 50:
- result = 2;
- break;
- case 51:
- result = 3;
- break;
- case 52:
- result = 4;
- break;
- case 53:
- result = 5;
- break;
- case 54:
- result = 6;
- break;
- case 55:
- result = 7;
- break;
- case 56:
- result = 8;
- break;
- case 57:
- result = 9;
- break;
- case 65:
- result = 10;
- break;
- case 66:
- result = 11;
- break;
- case 67:
- result = 12;
- break;
- case 68:
- result = 13;
- break;
- case 69:
- result = 14;
- break;
- case 70:
- result = 15;
- break;
- default:
- __assert__("../../Common/GameUtil.cpp", 0x2CBu, "CHAR Ascii2Value(CHAR)", "FALSE");
- return result;
- }
- return result;
- }
- //----- (08068DD4) --------------------------------------------------------
- BOOL __cdecl Binary2String(const CHAR *pIn, UINT InLength, CHAR *pOut)
- {
- BOOL result; // eax
- int v4; // edi
- UINT i; // esi
- int v6; // edi
- result = 0;
- if ( InLength )
- {
- v4 = 0;
- for ( i = 0; i < InLength; ++i )
- {
- pOut[v4] = Value2Ascii((const unsigned __int8)pIn[i] >> 4);
- v6 = v4 + 1;
- pOut[v6] = Value2Ascii(pIn[i] & 0xF);
- v4 = v6 + 1;
- }
- result = 1;
- }
- return result;
- }
- //----- (08068E84) --------------------------------------------------------
- BOOL __cdecl DBStr2Binary(const CHAR *pIn, UINT InLength, CHAR *pOut, UINT OutLimit, UINT *a6)
- {
- BOOL result; // eax
- UINT v7; // esi
- bool v8; // cf
- bool i; // zf
- CHAR v10; // al
- char v11; // bl
- UINT v12; // [esp+4h] [ebp-14h]
- UINT iOut; // [esp+8h] [ebp-10h]
- result = 0;
- if ( InLength )
- {
- v7 = 0;
- iOut = 0;
- v12 = InLength - 1;
- v8 = 0;
- for ( i = InLength == 1; !v8 && !i; i = v12 == v7 )
- {
- v10 = pIn[v7];
- if ( !v10 )
- break;
- if ( !pIn[v7 + 1] )
- break;
- v11 = 16 * Ascii2Value(v10);
- pOut[iOut] = v11 + Ascii2Value(pIn[v7 + 1]);
- v7 += 2;
- if ( ++iOut >= OutLimit )
- break;
- v8 = v12 < v7;
- }
- *a6 = iOut;
- result = 1;
- }
- return result;
- }
- //----- (08068F6C) --------------------------------------------------------
- BOOL __cdecl Str2Bin(const CHAR *pIn, UINT InLength, CHAR *pOut, UINT OutLimit, UINT *a6)
- {
- BOOL result; // eax
- UINT v7; // esi
- UINT v8; // edx
- UINT v9; // ebx
- CHAR v10; // al
- bool v11; // cf
- bool v12; // zf
- CHAR v13; // cl
- result = 0;
- if ( InLength )
- {
- v7 = InLength - 1;
- v8 = 0;
- v9 = 0;
- if ( InLength != 1 )
- {
- while ( 1 )
- {
- v10 = pIn[v9];
- if ( v10 != 92 )
- break;
- v13 = pIn[v9 + 1];
- if ( v13 == 48 )
- {
- pOut[v8] = 0;
- v9 += 2;
- ++v8;
- }
- else
- {
- if ( v13 != 92 )
- goto LABEL_5;
- pOut[v8] = 92;
- v9 += 2;
- ++v8;
- }
- v11 = v7 < v9;
- v12 = v7 == v9;
- LABEL_7:
- if ( v11 || v12 )
- goto LABEL_8;
- }
- if ( !v10 )
- goto LABEL_8;
- LABEL_5:
- pOut[v8++] = v10;
- ++v9;
- if ( v8 >= OutLimit )
- goto LABEL_11;
- v11 = v7 < v9;
- v12 = v7 == v9;
- goto LABEL_7;
- }
- LABEL_8:
- if ( v8 < OutLimit && v7 == v9 )
- pOut[v8++] = pIn[v9];
- LABEL_11:
- *a6 = v8;
- result = 1;
- }
- return result;
- }
- //----- (08068FFC) --------------------------------------------------------
- BOOL __cdecl StrSafeCheck(const CHAR *pIn, UINT InLength)
- {
- UINT i; // edx
- bool v3; // zf
- CHAR v4; // al
- if ( !InLength || !pIn )
- return 0;
- for ( i = 0; i < InLength; ++i )
- {
- v4 = pIn[i];
- if ( v4 <= 41 )
- {
- if ( v4 >= 39 )
- return 0;
- if ( !v4 )
- return 1;
- v3 = v4 == 34;
- }
- else
- {
- if ( v4 == 61 )
- return 0;
- v3 = v4 == 92;
- }
- if ( v3 )
- return 0;
- }
- return 1;
- }
- //----- (08069044) --------------------------------------------------------
- BOOL __cdecl AccNameCheck(const CHAR *pIn, UINT InLength, INT nLanguage)
- {
- int v4; // eax
- UINT i; // ecx
- CHAR v6; // dl
- if ( nLanguage == 1 )
- {
- v4 = 0;
- for ( i = 0; i < InLength; ++v4 )
- {
- v6 = pIn[i];
- if ( !v6 )
- break;
- if ( v6 == 64 )
- break;
- ++i;
- }
- if ( (unsigned int)(v4 - 1) <= 0xF )
- return 1;
- return 0;
- }
- if ( !*pIn || strlen(pIn) > 0x32 )
- return 0;
- return 1;
- }
- //----- (080690B0) --------------------------------------------------------
- UINT __cdecl GetMailSize(const MAIL *const mail)
- {
- UINT result; // eax
- if ( mail->m_uFlag == 2 )
- result = mail->m_DestSize + mail->m_SourSize + mail->m_ContexSize + 36;
- else
- result = mail->m_DestSize + mail->m_SourSize + mail->m_ContexSize + 20;
- return result;
- }
- //----- (080690E8) --------------------------------------------------------
- UINT __cdecl GetMailListSize(const MAIL_LIST *const maillist)
- {
- int v1; // esi
- UINT v2; // edi
- const MAIL_LIST *v3; // ebx
- int v5; // [esp+0h] [ebp-10h]
- v1 = 0;
- v2 = 2;
- if ( (signed int)maillist->m_Count > 0 )
- {
- v3 = maillist;
- v5 = maillist->m_Count;
- do
- {
- ++v1;
- v2 += GetMailSize(v3->m_aMail);
- v3 = (const MAIL_LIST *)((char *)v3 + 356);
- }
- while ( v5 > v1 );
- }
- return v2;
- }
- //----- (0806912C) --------------------------------------------------------
- void __cdecl DumpStack(const CHAR *type)
- {
- struct tm *v1; // ebx
- FILE *v2; // esi
- int v3; // ST20_4
- int v4; // ST1C_4
- int v5; // ST18_4
- int v6; // ST14_4
- int v7; // ST10_4
- int v8; // ST0C_4
- int v9; // eax
- signed int i; // ebx
- FILE *s; // ST54_4
- int v12; // eax
- char **symbols; // [esp+14h] [ebp-64Ch]
- signed int Size; // [esp+40h] [ebp-620h]
- time_t tSetTime; // [esp+44h] [ebp-61Ch]
- char threadinfo[256]; // [esp+48h] [ebp-618h]
- char buffer[256]; // [esp+148h] [ebp-518h]
- void *DumpArray[256]; // [esp+248h] [ebp-418h]
- Size = backtrace(DumpArray, 256);
- symbols = backtrace_symbols(DumpArray, Size);
- if ( symbols )
- {
- if ( Size > 256 )
- {
- Size = 256;
- }
- else if ( Size <= 0 )
- {
- LABEL_8:
- free(symbols);
- return;
- }
- time(&tSetTime);
- v1 = localtime(&tSetTime);
- v2 = fopen("./Log/login_dump.log", "a");
- memset(buffer, 0, 0x100u);
- v3 = v1->tm_sec;
- v4 = v1->tm_min;
- v5 = v1->tm_hour;
- v6 = v1->tm_mday;
- v7 = v1->tm_mon + 1;
- v8 = v1->tm_year + 1900;
- v9 = ThreadValueManager::GetCurrentThreadID();
- sprintf(buffer, "Dump: threadid=%d, Time: %d-%d-%d %d:%d:%d\r\n", v9, v8, v7, v6, v5, v4, v3);
- fwrite(buffer, 1u, strlen(buffer), v2);
- fwrite(type, 1u, strlen(type), v2);
- for ( i = 0; i < Size; ++i )
- {
- printf("%s\r\n", symbols[i]);
- fwrite(symbols[i], 1u, strlen(symbols[i]), v2);
- fwrite("\r\n", 1u, 2u, v2);
- }
- fclose(v2);
- goto LABEL_8;
- }
- s = fopen("./Log/login_dump.log", "a");
- memset(buffer, 0, 0x100u);
- memset(threadinfo, 0, 0x100u);
- v12 = ThreadValueManager::GetCurrentThreadID();
- sprintf(threadinfo, "threadid = %d cause dump\r\n", v12);
- fwrite(threadinfo, 1u, strlen(threadinfo), s);
- fwrite(type, 1u, strlen(type), s);
- fclose(s);
- }
- //----- (0806939C) --------------------------------------------------------
- UINT __cdecl FullDataCrc(FULLUSERDATA *pData, BOOL bLog)
- {
- int v2; // eax
- GUID_t v3; // edx
- unsigned int v4; // ebx
- int v5; // ebx
- UINT v6; // ecx
- unsigned int v7; // ebx
- UINT v8; // edx
- unsigned int v9; // ebx
- int v10; // edx
- int v11; // ebx
- int v12; // ebx
- int v13; // edx
- int v14; // ebx
- int v15; // edx
- int v16; // ebx
- int v17; // edx
- int v18; // ebx
- int v19; // edx
- int v20; // ebx
- int v21; // edx
- int v22; // ebx
- int v23; // edx
- int v24; // ebx
- int v25; // edx
- int v26; // ebx
- BYTE v27; // al
- int v28; // edi
- int v29; // edx
- int v30; // ebx
- int v31; // edx
- int v32; // edi
- int v33; // ebx
- int v34; // edi
- int v35; // ebx
- unsigned int v36; // edx
- int v37; // edi
- unsigned int v38; // ebx
- int v39; // edi
- int v40; // edx
- int v41; // ebx
- signed int v42; // esi
- int v43; // edx
- int v44; // ebx
- int v45; // edx
- int v46; // ebx
- int v47; // edx
- int v48; // ebx
- int v49; // edx
- int v50; // ebx
- BYTE v51; // al
- int v52; // edi
- int v53; // edx
- int v54; // ebx
- int v55; // edi
- int v56; // ebx
- INT v57; // ecx
- int v58; // edi
- int v59; // ebx
- unsigned int v60; // edx
- int v61; // edi
- unsigned int v62; // ebx
- int v63; // edi
- int v64; // edx
- int v65; // ebx
- signed int v66; // esi
- int v67; // edx
- int v68; // ebx
- BYTE v69; // al
- int v70; // edi
- int v71; // edx
- int v72; // ebx
- int v73; // edx
- int v74; // edi
- int v75; // ebx
- int v76; // edx
- int v77; // edi
- int v78; // ebx
- unsigned int v79; // edx
- int v80; // edi
- unsigned int v81; // ebx
- int v82; // edi
- int v83; // edx
- int v84; // ebx
- signed int v85; // esi
- int v86; // edx
- int v87; // ebx
- unsigned int v88; // edx
- unsigned int v89; // ebx
- UINT v90; // ecx
- unsigned int v91; // ebx
- int v92; // ebx
- int v93; // ebx
- int v94; // ebx
- INT v95; // eax
- int v96; // edx
- int v97; // eax
- int v98; // ebx
- INT v99; // eax
- int v100; // edx
- int v101; // eax
- int v102; // ebx
- int v103; // ebx
- int v104; // edx
- int v105; // ebx
- int v106; // edx
- int v107; // ebx
- int v108; // edx
- int v109; // ebx
- int v110; // edx
- int v111; // ebx
- int v112; // edx
- int v113; // ebx
- int v114; // edx
- int v115; // ebx
- int v116; // edx
- int v117; // ebx
- int v118; // ebx
- int v119; // edx
- int v120; // ebx
- SkillID_t v121; // si
- int v122; // edx
- int v123; // ebx
- int v124; // edx
- int v125; // ebx
- int v127; // edx
- _BANK_DB_LOAD *v128; // [esp+4h] [ebp-54h]
- _BAG_DB_LOAD *v129; // [esp+8h] [ebp-50h]
- _EQUIP_DB_LOAD *v130; // [esp+Ch] [ebp-4Ch]
- _PET_DB_LIST_LOAD *v131; // [esp+10h] [ebp-48h]
- _PET_DB_LIST_LOAD *v132; // [esp+14h] [ebp-44h]
- signed int v133; // [esp+18h] [ebp-40h]
- unsigned int v134; // [esp+1Ch] [ebp-3Ch]
- int v135; // [esp+1Ch] [ebp-3Ch]
- int v136; // [esp+1Ch] [ebp-3Ch]
- int v137; // [esp+1Ch] [ebp-3Ch]
- int v138; // [esp+1Ch] [ebp-3Ch]
- int v139; // [esp+1Ch] [ebp-3Ch]
- int v140; // [esp+1Ch] [ebp-3Ch]
- int v141; // [esp+1Ch] [ebp-3Ch]
- int v142; // [esp+1Ch] [ebp-3Ch]
- int v143; // [esp+1Ch] [ebp-3Ch]
- int v144; // [esp+1Ch] [ebp-3Ch]
- int v145; // [esp+1Ch] [ebp-3Ch]
- int v146; // [esp+1Ch] [ebp-3Ch]
- int v147; // [esp+1Ch] [ebp-3Ch]
- int v148; // [esp+1Ch] [ebp-3Ch]
- int v149; // [esp+1Ch] [ebp-3Ch]
- int v150; // [esp+1Ch] [ebp-3Ch]
- int v151; // [esp+1Ch] [ebp-3Ch]
- signed int v152; // [esp+20h] [ebp-38h]
- int v153; // [esp+24h] [ebp-34h]
- signed int v154; // [esp+28h] [ebp-30h]
- int v155; // [esp+2Ch] [ebp-2Ch]
- signed int v156; // [esp+30h] [ebp-28h]
- int v157; // [esp+34h] [ebp-24h]
- signed int v158; // [esp+38h] [ebp-20h]
- int v159; // [esp+3Ch] [ebp-1Ch]
- int v160; // [esp+3Ch] [ebp-1Ch]
- int v161; // [esp+3Ch] [ebp-1Ch]
- int v162; // [esp+3Ch] [ebp-1Ch]
- unsigned int v163; // [esp+44h] [ebp-14h]
- int v164; // [esp+44h] [ebp-14h]
- int v165; // [esp+44h] [ebp-14h]
- int v166; // [esp+44h] [ebp-14h]
- int v167; // [esp+44h] [ebp-14h]
- int v168; // [esp+44h] [ebp-14h]
- int v169; // [esp+44h] [ebp-14h]
- int v170; // [esp+44h] [ebp-14h]
- int v171; // [esp+44h] [ebp-14h]
- int v172; // [esp+44h] [ebp-14h]
- int v173; // [esp+44h] [ebp-14h]
- int v174; // [esp+44h] [ebp-14h]
- int v175; // [esp+44h] [ebp-14h]
- UINT TotalCrc; // [esp+48h] [ebp-10h]
- UINT TotalCrca; // [esp+48h] [ebp-10h]
- UINT TotalCrcb; // [esp+48h] [ebp-10h]
- UINT TotalCrcc; // [esp+48h] [ebp-10h]
- if ( !pData )
- __assert__("../../Common/GameUtil.cpp", 0x456u, "UINT FullDataCrc(FULLUSERDATA*, BOOL)", "pData");
- if ( bLog )
- {
- printf("GUID=%X(%d)\n", pData->m_Human.m_GUID, pData->m_Human.m_GUID, v2);
- if ( bLog )
- puts("start of m_Human-------------------------------------------");
- }
- v3 = pData->m_Human.m_GUID % 0x11E1A300;
- v4 = 13 * v3 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 319, pData->m_Human.m_GUID, 13 * v3 >> 3);
- v163 = v4;
- v5 = 13 * (pData->m_Human.m_Level % 300000000) >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 320, pData->m_Human.m_Level, v5);
- v6 = pData->m_Human.m_Exp;
- v164 = v5 + v163;
- v7 = 13 * (v6 % 0x11E1A300) >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 321, v6, 13 * (v6 % 0x11E1A300) >> 3);
- v8 = pData->m_Human.m_Money % 0x11E1A300;
- v165 = v7 + v164;
- v9 = 13 * v8 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 322, pData->m_Human.m_Money, 13 * v8 >> 3);
- v10 = pData->m_Human.m_BaseAttrLevel1.m_pAttr[0] % 300000000;
- v166 = v9 + v165;
- v11 = 13 * v10 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 323,
- pData->m_Human.m_BaseAttrLevel1.m_pAttr[0],
- 13 * v10 >> 3);
- v167 = v11 + v166;
- v12 = 13 * (pData->m_Human.m_BaseAttrLevel1.m_pAttr[1] % 300000000) >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 324, pData->m_Human.m_BaseAttrLevel1.m_pAttr[1], v12);
- v13 = pData->m_Human.m_BaseAttrLevel1.m_pAttr[2] % 300000000;
- v168 = v12 + v167;
- v14 = 13 * v13 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 325,
- pData->m_Human.m_BaseAttrLevel1.m_pAttr[2],
- 13 * v13 >> 3);
- v15 = pData->m_Human.m_BaseAttrLevel1.m_pAttr[3] % 300000000;
- v169 = v14 + v168;
- v16 = 13 * v15 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 326,
- pData->m_Human.m_BaseAttrLevel1.m_pAttr[3],
- 13 * v15 >> 3);
- v17 = pData->m_Human.m_BaseAttrLevel1.m_pAttr[4] % 300000000;
- v170 = v16 + v169;
- v18 = 13 * v17 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 327,
- pData->m_Human.m_BaseAttrLevel1.m_pAttr[4],
- 13 * v17 >> 3);
- v19 = pData->m_Human.m_Level1Points % 300000000;
- v171 = v18 + v170;
- v20 = 13 * v19 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 328, pData->m_Human.m_Level1Points, 13 * v19 >> 3);
- v21 = pData->m_Human.m_iYuanBao % 300000000;
- v172 = v20 + v171;
- v22 = 13 * v21 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 329, pData->m_Human.m_iYuanBao, 13 * v21 >> 3);
- v23 = pData->m_Human.m_nZengDian % 300000000;
- v173 = v22 + v172;
- v24 = 13 * v23 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 330, pData->m_Human.m_nZengDian, 13 * v23 >> 3);
- v25 = pData->m_Human.m_nBuyYuanBao % 300000000;
- v174 = v24 + v173;
- v26 = 13 * v25 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 331, pData->m_Human.m_nBuyYuanBao, 13 * v25 >> 3);
- v175 = v26 + v174;
- if ( bLog )
- {
- printf("curcrc=%u\n", v175);
- puts("start of m_Bank--------------------------------------------");
- }
- v159 = 0;
- v158 = 0;
- v128 = &pData->m_Bank;
- do
- {
- if ( bLog )
- printf("BankItem(%d)...Begin\n", v158);
- v27 = v128->m_pItem[0].m_ItemGUID.m_World;
- v28 = 0;
- if ( v128->m_pItem[0].m_ItemGUID.m_World
- || v128->m_pItem[0].m_ItemGUID.m_Serial
- || v128->m_pItem[0].m_ItemGUID.m_Server )
- {
- v29 = v27 % 300000000;
- v30 = 13 * v29 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/GameStruct_Item.h", 949, v27, 13 * v29 >> 3);
- v31 = v128->m_pItem[0].m_ItemGUID.m_Server % 300000000;
- v32 = v30;
- v33 = 13 * v31 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/GameStruct_Item.h",
- 950,
- v128->m_pItem[0].m_ItemGUID.m_Server,
- 13 * v31 >> 3);
- v34 = v33 + v32;
- v35 = 13 * (v128->m_pItem[0].m_ItemGUID.m_Serial % 300000000) >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/GameStruct_Item.h", 951, v128->m_pItem[0].m_ItemGUID.m_Serial, v35);
- v36 = v128->m_pItem[0].m_ItemIndex % 0x11E1A300;
- v37 = v35 + v34;
- v38 = 13 * v36 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/GameStruct_Item.h",
- 952,
- v128->m_pItem[0].m_ItemIndex,
- 13 * v36 >> 3);
- v39 = v38 + v37;
- v40 = v128->m_pItem[0].m_nsBind % 300000000;
- v41 = 13 * v40 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/GameStruct_Item.h", 953, v128->m_pItem[0].m_nsBind, 13 * v40 >> 3);
- v28 = v41 + v39;
- v42 = 0;
- do
- {
- v43 = v128->m_pItem[0].m_Param[v42] % 300000000;
- v44 = 13 * v43 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/GameStruct_Item.h",
- 957,
- v128->m_pItem[0].m_Param[v42],
- 13 * v43 >> 3);
- ++v42;
- v28 += v44;
- }
- while ( v42 <= 2 );
- }
- v159 += v28;
- if ( bLog )
- printf("BankItem(%d)...End\n", v158);
- ++v158;
- v128 = (_BANK_DB_LOAD *)((char *)v128 + 176);
- }
- while ( v158 <= 59 );
- v45 = pData->m_Bank.m_Count % 300000000;
- v46 = 13 * v45 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 364, pData->m_Bank.m_Count, 13 * v45 >> 3);
- v160 = v46 + v159;
- v47 = pData->m_Bank.m_CurEndIndex % 300000000;
- v48 = 13 * v47 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 365, pData->m_Bank.m_CurEndIndex, 13 * v47 >> 3);
- v49 = pData->m_Bank.m_Money % 300000000;
- v161 = v48 + v160;
- v50 = 13 * v49 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 366, pData->m_Bank.m_Money, 13 * v49 >> 3);
- v162 = v50 + v161;
- if ( bLog )
- {
- printf("curcrc=%u\n", v162 + v175);
- puts("start of m_Bag---------------------------------------------");
- }
- v157 = 0;
- v156 = 0;
- v129 = &pData->m_Bag;
- do
- {
- if ( bLog )
- printf("BagItem(%d)...Begin\n", v156);
- v51 = v129->m_pItem[0].m_ItemGUID.m_World;
- v52 = 0;
- if ( v129->m_pItem[0].m_ItemGUID.m_World
- || v129->m_pItem[0].m_ItemGUID.m_Serial
- || v129->m_pItem[0].m_ItemGUID.m_Server )
- {
- v53 = v51 % 300000000;
- v54 = 13 * v53 >> 3;
- if ( bLog )
- {
- printf("%s:%d(%ld) crc=%d\n", "../../Common/GameStruct_Item.h", 949, v51, 13 * v53 >> 3);
- v127 = v129->m_pItem[0].m_ItemGUID.m_Server % 300000000;
- v55 = v54;
- v56 = 13 * v127 >> 3;
- if ( bLog )
- {
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/GameStruct_Item.h",
- 950,
- v129->m_pItem[0].m_ItemGUID.m_Server,
- 13 * v127 >> 3);
- v57 = v129->m_pItem[0].m_ItemGUID.m_Serial;
- v58 = v56 + v55;
- v59 = 13 * (v129->m_pItem[0].m_ItemGUID.m_Serial % 300000000) >> 3;
- if ( !bLog )
- goto LABEL_71;
- goto LABEL_166;
- }
- }
- else
- {
- v55 = 13 * v53 >> 3;
- v56 = 13 * (v129->m_pItem[0].m_ItemGUID.m_Server % 300000000) >> 3;
- }
- v57 = v129->m_pItem[0].m_ItemGUID.m_Serial;
- v58 = v56 + v55;
- v59 = 13 * (v129->m_pItem[0].m_ItemGUID.m_Serial % 300000000) >> 3;
- if ( !bLog )
- {
- LABEL_71:
- v60 = v129->m_pItem[0].m_ItemIndex % 0x11E1A300;
- v61 = v59 + v58;
- v62 = 13 * v60 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/GameStruct_Item.h",
- 952,
- v129->m_pItem[0].m_ItemIndex,
- 13 * v60 >> 3);
- v63 = v62 + v61;
- v64 = v129->m_pItem[0].m_nsBind % 300000000;
- v65 = 13 * v64 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/GameStruct_Item.h", 953, v129->m_pItem[0].m_nsBind, 13 * v64 >> 3);
- v52 = v65 + v63;
- v66 = 0;
- do
- {
- v67 = v129->m_pItem[0].m_Param[v66] % 300000000;
- v68 = 13 * v67 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/GameStruct_Item.h",
- 957,
- v129->m_pItem[0].m_Param[v66],
- 13 * v67 >> 3);
- ++v66;
- v52 += v68;
- }
- while ( v66 <= 2 );
- goto LABEL_79;
- }
- LABEL_166:
- printf("%s:%d(%ld) crc=%d\n", "../../Common/GameStruct_Item.h", 951, v57, v59);
- goto LABEL_71;
- }
- LABEL_79:
- v157 += v52;
- if ( bLog )
- printf("BagItem(%d)...End\n", v156);
- ++v156;
- v129 = (_BAG_DB_LOAD *)((char *)v129 + 176);
- }
- while ( v156 <= 99 );
- TotalCrc = v157 + v162 + v175;
- if ( bLog )
- {
- printf("curcrc=%u\n", TotalCrc);
- puts("start of m_Equip-------------------------------------------");
- }
- v155 = 0;
- v154 = 0;
- v130 = &pData->m_Equip;
- do
- {
- if ( bLog )
- printf("EquipItem(%d)...Begin\n", v154);
- v69 = v130->m_pItem[0].m_ItemGUID.m_World;
- v70 = 0;
- if ( v130->m_pItem[0].m_ItemGUID.m_World
- || v130->m_pItem[0].m_ItemGUID.m_Serial
- || v130->m_pItem[0].m_ItemGUID.m_Server )
- {
- v71 = v69 % 300000000;
- v72 = 13 * v71 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/GameStruct_Item.h", 949, v69, 13 * v71 >> 3);
- v73 = v130->m_pItem[0].m_ItemGUID.m_Server % 300000000;
- v74 = v72;
- v75 = 13 * v73 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/GameStruct_Item.h",
- 950,
- v130->m_pItem[0].m_ItemGUID.m_Server,
- 13 * v73 >> 3);
- v76 = v130->m_pItem[0].m_ItemGUID.m_Serial % 300000000;
- v77 = v75 + v74;
- v78 = 13 * v76 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/GameStruct_Item.h",
- 951,
- v130->m_pItem[0].m_ItemGUID.m_Serial,
- 13 * v76 >> 3);
- v79 = v130->m_pItem[0].m_ItemIndex % 0x11E1A300;
- v80 = v78 + v77;
- v81 = 13 * v79 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/GameStruct_Item.h",
- 952,
- v130->m_pItem[0].m_ItemIndex,
- 13 * v79 >> 3);
- v82 = v81 + v80;
- v83 = v130->m_pItem[0].m_nsBind % 300000000;
- v84 = 13 * v83 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/GameStruct_Item.h", 953, v130->m_pItem[0].m_nsBind, 13 * v83 >> 3);
- v70 = v84 + v82;
- v85 = 0;
- do
- {
- v86 = v130->m_pItem[0].m_Param[v85] % 300000000;
- v87 = 13 * v86 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/GameStruct_Item.h",
- 957,
- v130->m_pItem[0].m_Param[v85],
- 13 * v86 >> 3);
- ++v85;
- v70 += v87;
- }
- while ( v85 <= 2 );
- }
- v155 += v70;
- if ( bLog )
- printf("EquipItem(%d)...End\n", v154);
- ++v154;
- v130 = (_EQUIP_DB_LOAD *)((char *)v130 + 176);
- }
- while ( v154 <= 18 );
- TotalCrca = v155 + TotalCrc;
- if ( bLog )
- {
- printf("curcrc=%u\n", TotalCrca);
- puts("start of m_PetList-----------------------------------------");
- }
- v153 = 0;
- v152 = 0;
- v131 = &pData->m_PetList;
- do
- {
- if ( v131->m_aPetDB[0].m_GUID.m_uHighSection || v131->m_aPetDB[0].m_GUID.m_uLowSection )
- {
- if ( bLog )
- printf("m_aPetDB[%d]...Begin\n", v152);
- v88 = v131->m_aPetDB[0].m_GUID.m_uHighSection % 0x11E1A300;
- v89 = 13 * v88 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 822,
- v131->m_aPetDB[0].m_GUID.m_uHighSection,
- 13 * v88 >> 3);
- v90 = v131->m_aPetDB[0].m_GUID.m_uLowSection;
- v134 = v89;
- v91 = 13 * (v90 % 0x11E1A300) >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 823, v90, 13 * (v90 % 0x11E1A300) >> 3);
- v135 = v91 + v134;
- v92 = 13 * (v131->m_aPetDB[0].m_nDataID % 300000000) >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 824, v131->m_aPetDB[0].m_nDataID, v92);
- v136 = v92 + v135;
- v93 = 13 * (v131->m_aPetDB[0].m_nLevel % 300000000) >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 825, v131->m_aPetDB[0].m_nLevel, v93);
- v137 = v93 + v136;
- v94 = 13 * (v131->m_aPetDB[0].m_nLife % 300000000) >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 826, v131->m_aPetDB[0].m_nLife, v94);
- v95 = v131->m_aPetDB[0].m_nStrPerception;
- v138 = v94 + v137;
- v96 = v95 % 300000000;
- v97 = 3 * (v95 % 300000000);
- v98 = (v96 + 4 * v97) >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 827,
- v131->m_aPetDB[0].m_nStrPerception,
- (v96 + 4 * v97) >> 3);
- v99 = v131->m_aPetDB[0].m_nConPerception;
- v139 = v98 + v138;
- v100 = v99 % 300000000;
- v101 = 3 * (v99 % 300000000);
- v102 = (v100 + 4 * v101) >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 828,
- v131->m_aPetDB[0].m_nConPerception,
- (v100 + 4 * v101) >> 3);
- v140 = v102 + v139;
- v103 = 13 * (v131->m_aPetDB[0].m_nDexPerception % 300000000) >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 829, v131->m_aPetDB[0].m_nDexPerception, v103);
- v104 = v131->m_aPetDB[0].m_nSprPerception % 300000000;
- v141 = v103 + v140;
- v105 = 13 * v104 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 830,
- v131->m_aPetDB[0].m_nSprPerception,
- 13 * v104 >> 3);
- v106 = v131->m_aPetDB[0].m_nIntPerception % 300000000;
- v142 = v105 + v141;
- v107 = 13 * v106 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 831,
- v131->m_aPetDB[0].m_nIntPerception,
- 13 * v106 >> 3);
- v108 = v131->m_aPetDB[0].m_nRemainPoint % 300000000;
- v143 = v107 + v142;
- v109 = 13 * v108 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 833, v131->m_aPetDB[0].m_nRemainPoint, 13 * v108 >> 3);
- v110 = v131->m_aPetDB[0].m_nExp % 300000000;
- v144 = v109 + v143;
- v111 = 13 * v110 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 834, v131->m_aPetDB[0].m_nExp, 13 * v110 >> 3);
- v112 = v131->m_aPetDB[0].m_BaseAttrLevel1.m_pAttr[0] % 300000000;
- v145 = v111 + v144;
- v113 = 13 * v112 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 836,
- v131->m_aPetDB[0].m_BaseAttrLevel1.m_pAttr[0],
- 13 * v112 >> 3);
- v114 = v131->m_aPetDB[0].m_BaseAttrLevel1.m_pAttr[1] % 300000000;
- v146 = v113 + v145;
- v115 = 13 * v114 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 837,
- v131->m_aPetDB[0].m_BaseAttrLevel1.m_pAttr[1],
- 13 * v114 >> 3);
- v116 = v131->m_aPetDB[0].m_BaseAttrLevel1.m_pAttr[2] % 300000000;
- v147 = v115 + v146;
- v117 = 13 * v116 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 838,
- v131->m_aPetDB[0].m_BaseAttrLevel1.m_pAttr[2],
- 13 * v116 >> 3);
- v148 = v117 + v147;
- v118 = 13 * (v131->m_aPetDB[0].m_BaseAttrLevel1.m_pAttr[3] % 300000000) >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 839,
- v131->m_aPetDB[0].m_BaseAttrLevel1.m_pAttr[3],
- v118);
- v119 = v131->m_aPetDB[0].m_BaseAttrLevel1.m_pAttr[4] % 300000000;
- v149 = v118 + v148;
- v120 = 13 * v119 >> 3;
- if ( bLog )
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 840,
- v131->m_aPetDB[0].m_BaseAttrLevel1.m_pAttr[4],
- 13 * v119 >> 3);
- v150 = v120 + v149;
- v132 = v131;
- v133 = 12;
- do
- {
- v121 = v132->m_aPetDB[0].m_SkillList[0].m_nSkillID;
- if ( v121 > 0 )
- {
- v122 = v132->m_aPetDB[0].m_SkillList[0].m_bSelfRealize % 300000000;
- v123 = 13 * v122 >> 3;
- if ( bLog )
- {
- printf(
- "%s:%d(%ld) crc=%d\n",
- "../../Common/DB_Struct.h",
- 846,
- v132->m_aPetDB[0].m_SkillList[0].m_bSelfRealize,
- 13 * v122 >> 3);
- v121 = v132->m_aPetDB[0].m_SkillList[0].m_nSkillID;
- }
- v124 = v121 % 300000000;
- v151 = v123 + v150;
- v125 = 13 * v124 >> 3;
- if ( bLog )
- printf("%s:%d(%ld) crc=%d\n", "../../Common/DB_Struct.h", 847, v121, 13 * v124 >> 3);
- v150 = v125 + v151;
- }
- v132 = (_PET_DB_LIST_LOAD *)((char *)v132 + 3);
- --v133;
- }
- while ( v133 >= 0 );
- v153 += v150;
- if ( bLog )
- printf("m_aPetDB[%d]...End\n", v152);
- }
- ++v152;
- v131 = (_PET_DB_LIST_LOAD *)((char *)v131 + 399);
- }
- while ( v152 <= 9 );
- TotalCrcb = v153 + TotalCrca;
- if ( bLog )
- {
- printf("curcrc=%u\n", TotalCrcb);
- puts("start of m_Relation----------------------------------------");
- }
- TotalCrcc = g_CurWorld + TotalCrcb;
- if ( bLog )
- {
- printf("curcrc=%u\n", TotalCrcc);
- puts("start of g_CurWorld----------------------------------------");
- }
- return TotalCrcc;
- }
- //----- (0806A6D0) --------------------------------------------------------
- bool __cdecl SafeMemCopy(void *pDest, const void *pSrc, const size_t DestSize, const size_t SrcSize)
- {
- if ( SrcSize > DestSize )
- __assertex__(
- "../../Common/GameUtil.cpp",
- 0x4C4u,
- "bool SafeMemCopy(void*, const void*, size_t, size_t)",
- "FALSE",
- "SafeMemCopy OverFlow");
- memcpy(pDest, pSrc, SrcSize);
- return 1;
- }
- //----- (0806A720) --------------------------------------------------------
- bool __cdecl SafeStrCopy(char *pDest, const size_t DestSize, const char *pSrc, const size_t SrcSize)
- {
- if ( SrcSize > DestSize )
- __assertex__(
- "../../Common/GameUtil.cpp",
- 0x4D3u,
- "bool SafeStrCopy(char*, size_t, const char*, size_t)",
- "FALSE",
- "SafeStrCopy OverFlow");
- if ( pSrc[SrcSize - 1] )
- __assertex__(
- "../../Common/GameUtil.cpp",
- 0x4D8u,
- "bool SafeStrCopy(char*, size_t, const char*, size_t)",
- "FALSE",
- "SafeStrCopy Truncation");
- memcpy(pDest, pSrc, SrcSize);
- return 1;
- }
- //----- (0806A794) --------------------------------------------------------
- void __cdecl _tcf_0_14(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806A7A4) --------------------------------------------------------
- void `global constructor keyed to'g_CmdArgv()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_14, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806A7D0) --------------------------------------------------------
- void __cdecl PacketFactoryManagerInstance::PacketFactoryManagerInstance(PacketFactoryManager *a2)
- {
- PacketFactoryManager::PacketFactoryManager(a2, 0x2C9u, 1);
- a2->_vptr_PacketFactoryManager = (int (**)(...))&off_80C9930;
- }
- // 80C9930: using guessed type _DWORD (__cdecl *off_80C9930)(PacketFactoryManagerInstance *this);
- //----- (0806A7F8) --------------------------------------------------------
- void __cdecl PacketFactoryManagerInstance::PacketFactoryManagerInstance(PacketFactoryManager *a2)
- {
- PacketFactoryManager::PacketFactoryManager(a2, 0x2C9u, 1);
- a2->_vptr_PacketFactoryManager = (int (**)(...))&off_80C9930;
- }
- // 80C9930: using guessed type _DWORD (__cdecl *off_80C9930)(PacketFactoryManagerInstance *this);
- //----- (0806A820) --------------------------------------------------------
- void __cdecl PacketFactoryManagerInstance::~PacketFactoryManagerInstance(PacketFactoryManager *a2)
- {
- a2->_vptr_PacketFactoryManager = (int (**)(...))&off_80C9930;
- PacketFactoryManager::~PacketFactoryManager(a2);
- }
- // 80C9930: using guessed type _DWORD (__cdecl *off_80C9930)(PacketFactoryManagerInstance *this);
- //----- (0806A83C) --------------------------------------------------------
- void __cdecl PacketFactoryManagerInstance::~PacketFactoryManagerInstance(PacketFactoryManager *a2)
- {
- a2->_vptr_PacketFactoryManager = (int (**)(...))&off_80C9930;
- PacketFactoryManager::~PacketFactoryManager(a2);
- }
- // 80C9930: using guessed type _DWORD (__cdecl *off_80C9930)(PacketFactoryManagerInstance *this);
- //----- (0806A858) --------------------------------------------------------
- void __cdecl PacketFactoryManagerInstance::~PacketFactoryManagerInstance(PacketFactoryManager *a2)
- {
- a2->_vptr_PacketFactoryManager = (int (**)(...))&off_80C9930;
- PacketFactoryManager::~PacketFactoryManager(a2);
- operator delete((IPRegionTable *const )a2);
- }
- // 80C9930: using guessed type _DWORD (__cdecl *off_80C9930)(PacketFactoryManagerInstance *this);
- //----- (0806A880) --------------------------------------------------------
- BOOL __cdecl PacketFactoryManagerInstance::Init(PacketFactoryManagerInstance *const this)
- {
- MyLock *v1; // eax
- PacketFactory *v2; // eax
- PacketFactory *v3; // eax
- PacketFactory *v4; // eax
- PacketFactory *v5; // eax
- PacketFactory *v6; // eax
- PacketFactory *v7; // eax
- PacketFactory *v8; // eax
- PacketFactory *v9; // eax
- PacketFactory *v10; // eax
- PacketFactory *v11; // eax
- PacketFactory *v12; // eax
- PacketFactory *v13; // eax
- PacketFactory *v14; // eax
- PacketFactory *v15; // eax
- PacketFactory *v16; // eax
- PacketFactory *v17; // eax
- PacketFactory *v18; // eax
- PacketFactory *v19; // eax
- PacketFactory *v20; // eax
- PacketFactory *v21; // eax
- PacketFactory *v22; // eax
- PacketFactory *v23; // eax
- PacketFactory *v24; // eax
- PacketFactory *v25; // eax
- PacketFactory *v26; // eax
- PacketFactory *v27; // eax
- PacketFactory *v28; // eax
- PacketFactory *v29; // eax
- PacketFactory *v30; // eax
- PacketFactory *v31; // eax
- PacketFactory *v32; // eax
- PacketFactory *v33; // eax
- PacketFactory *v34; // eax
- PacketFactory *v35; // eax
- PacketFactory *v36; // eax
- PacketFactory *v37; // eax
- PacketFactory *v38; // eax
- PacketFactory *v39; // eax
- PacketFactory *v40; // eax
- PacketFactory *v41; // eax
- PacketFactory *v42; // eax
- PacketFactory *v43; // eax
- PacketFactory *v44; // eax
- PacketFactory *v45; // eax
- PacketFactory *v46; // eax
- MyLock *autolock; // [esp+0h] [ebp-18h]
- v1 = this->m_Lock;
- autolock = this->m_Lock;
- if ( v1 )
- pthread_mutex_lock(&v1->m_Mutex);
- v2 = (PacketFactory *)operator new(4u);
- v2->_vptr_PacketFactory = (int (**)(...))&off_80CA090;
- PacketFactoryManager::AddFactory(&this->0, v2);
- v3 = (PacketFactory *)operator new(4u);
- v3->_vptr_PacketFactory = (int (**)(...))&off_80CA110;
- PacketFactoryManager::AddFactory(&this->0, v3);
- v4 = (PacketFactory *)operator new(4u);
- v4->_vptr_PacketFactory = (int (**)(...))&off_80CA170;
- PacketFactoryManager::AddFactory(&this->0, v4);
- v5 = (PacketFactory *)operator new(4u);
- v5->_vptr_PacketFactory = (int (**)(...))&off_80CA1D0;
- PacketFactoryManager::AddFactory(&this->0, v5);
- v6 = (PacketFactory *)operator new(4u);
- v6->_vptr_PacketFactory = (int (**)(...))&off_80CA218;
- PacketFactoryManager::AddFactory(&this->0, v6);
- v7 = (PacketFactory *)operator new(4u);
- v7->_vptr_PacketFactory = (int (**)(...))&off_80CA270;
- PacketFactoryManager::AddFactory(&this->0, v7);
- v8 = (PacketFactory *)operator new(4u);
- v8->_vptr_PacketFactory = (int (**)(...))&off_80CA2D0;
- PacketFactoryManager::AddFactory(&this->0, v8);
- v9 = (PacketFactory *)operator new(4u);
- v9->_vptr_PacketFactory = (int (**)(...))&off_80CA330;
- PacketFactoryManager::AddFactory(&this->0, v9);
- v10 = (PacketFactory *)operator new(4u);
- v10->_vptr_PacketFactory = (int (**)(...))&off_80CA390;
- PacketFactoryManager::AddFactory(&this->0, v10);
- v11 = (PacketFactory *)operator new(4u);
- v11->_vptr_PacketFactory = (int (**)(...))&off_80CA3F0;
- PacketFactoryManager::AddFactory(&this->0, v11);
- v12 = (PacketFactory *)operator new(4u);
- v12->_vptr_PacketFactory = (int (**)(...))&off_80CA450;
- PacketFactoryManager::AddFactory(&this->0, v12);
- v13 = (PacketFactory *)operator new(4u);
- v13->_vptr_PacketFactory = (int (**)(...))&off_80CA4B0;
- PacketFactoryManager::AddFactory(&this->0, v13);
- v14 = (PacketFactory *)operator new(4u);
- v14->_vptr_PacketFactory = (int (**)(...))&off_80CA4F8;
- PacketFactoryManager::AddFactory(&this->0, v14);
- v15 = (PacketFactory *)operator new(4u);
- v15->_vptr_PacketFactory = (int (**)(...))&off_80CA550;
- PacketFactoryManager::AddFactory(&this->0, v15);
- v16 = (PacketFactory *)operator new(4u);
- v16->_vptr_PacketFactory = (int (**)(...))&off_80CA598;
- PacketFactoryManager::AddFactory(&this->0, v16);
- v17 = (PacketFactory *)operator new(4u);
- v17->_vptr_PacketFactory = (int (**)(...))&off_80CA5F0;
- PacketFactoryManager::AddFactory(&this->0, v17);
- v18 = (PacketFactory *)operator new(4u);
- v18->_vptr_PacketFactory = (int (**)(...))&off_80CA648;
- PacketFactoryManager::AddFactory(&this->0, v18);
- v19 = (PacketFactory *)operator new(4u);
- v19->_vptr_PacketFactory = (int (**)(...))&off_80CA6B0;
- PacketFactoryManager::AddFactory(&this->0, v19);
- v20 = (PacketFactory *)operator new(4u);
- v20->_vptr_PacketFactory = (int (**)(...))&off_80CA710;
- PacketFactoryManager::AddFactory(&this->0, v20);
- v21 = (PacketFactory *)operator new(4u);
- v21->_vptr_PacketFactory = (int (**)(...))&off_80CA770;
- PacketFactoryManager::AddFactory(&this->0, v21);
- v22 = (PacketFactory *)operator new(4u);
- v22->_vptr_PacketFactory = (int (**)(...))&off_80CA7D0;
- PacketFactoryManager::AddFactory(&this->0, v22);
- v23 = (PacketFactory *)operator new(4u);
- v23->_vptr_PacketFactory = (int (**)(...))&off_80CA818;
- PacketFactoryManager::AddFactory(&this->0, v23);
- v24 = (PacketFactory *)operator new(4u);
- v24->_vptr_PacketFactory = (int (**)(...))&off_80CA860;
- PacketFactoryManager::AddFactory(&this->0, v24);
- v25 = (PacketFactory *)operator new(4u);
- v25->_vptr_PacketFactory = (int (**)(...))&off_80CA8B0;
- PacketFactoryManager::AddFactory(&this->0, v25);
- v26 = (PacketFactory *)operator new(4u);
- v26->_vptr_PacketFactory = (int (**)(...))&off_80CA908;
- PacketFactoryManager::AddFactory(&this->0, v26);
- v27 = (PacketFactory *)operator new(4u);
- v27->_vptr_PacketFactory = (int (**)(...))&off_80CA970;
- PacketFactoryManager::AddFactory(&this->0, v27);
- v28 = (PacketFactory *)operator new(4u);
- v28->_vptr_PacketFactory = (int (**)(...))&off_80CA9D0;
- PacketFactoryManager::AddFactory(&this->0, v28);
- v29 = (PacketFactory *)operator new(4u);
- v29->_vptr_PacketFactory = (int (**)(...))&off_80CAA30;
- PacketFactoryManager::AddFactory(&this->0, v29);
- v30 = (PacketFactory *)operator new(4u);
- v30->_vptr_PacketFactory = (int (**)(...))&off_80CAA90;
- PacketFactoryManager::AddFactory(&this->0, v30);
- v31 = (PacketFactory *)operator new(4u);
- v31->_vptr_PacketFactory = (int (**)(...))&off_80CAAD8;
- PacketFactoryManager::AddFactory(&this->0, v31);
- v32 = (PacketFactory *)operator new(4u);
- v32->_vptr_PacketFactory = (int (**)(...))&off_80CAB28;
- PacketFactoryManager::AddFactory(&this->0, v32);
- v33 = (PacketFactory *)operator new(4u);
- v33->_vptr_PacketFactory = (int (**)(...))&off_80CAB88;
- PacketFactoryManager::AddFactory(&this->0, v33);
- v34 = (PacketFactory *)operator new(4u);
- v34->_vptr_PacketFactory = (int (**)(...))&off_80CABF0;
- PacketFactoryManager::AddFactory(&this->0, v34);
- v35 = (PacketFactory *)operator new(4u);
- v35->_vptr_PacketFactory = (int (**)(...))&off_80CAC50;
- PacketFactoryManager::AddFactory(&this->0, v35);
- v36 = (PacketFactory *)operator new(4u);
- v36->_vptr_PacketFactory = (int (**)(...))&off_80CACB0;
- PacketFactoryManager::AddFactory(&this->0, v36);
- v37 = (PacketFactory *)operator new(4u);
- v37->_vptr_PacketFactory = (int (**)(...))&off_80CAD08;
- PacketFactoryManager::AddFactory(&this->0, v37);
- v38 = (PacketFactory *)operator new(4u);
- v38->_vptr_PacketFactory = (int (**)(...))&off_80CAD70;
- PacketFactoryManager::AddFactory(&this->0, v38);
- v39 = (PacketFactory *)operator new(4u);
- v39->_vptr_PacketFactory = (int (**)(...))&off_80CADD0;
- PacketFactoryManager::AddFactory(&this->0, v39);
- v40 = (PacketFactory *)operator new(4u);
- v40->_vptr_PacketFactory = (int (**)(...))&off_80CAE18;
- PacketFactoryManager::AddFactory(&this->0, v40);
- v41 = (PacketFactory *)operator new(4u);
- v41->_vptr_PacketFactory = (int (**)(...))&off_80CAE68;
- PacketFactoryManager::AddFactory(&this->0, v41);
- v42 = (PacketFactory *)operator new(4u);
- v42->_vptr_PacketFactory = (int (**)(...))&off_80CAEC8;
- PacketFactoryManager::AddFactory(&this->0, v42);
- v43 = (PacketFactory *)operator new(4u);
- v43->_vptr_PacketFactory = (int (**)(...))&off_80CAF28;
- PacketFactoryManager::AddFactory(&this->0, v43);
- v44 = (PacketFactory *)operator new(4u);
- v44->_vptr_PacketFactory = (int (**)(...))&off_80CAF70;
- PacketFactoryManager::AddFactory(&this->0, v44);
- v45 = (PacketFactory *)operator new(4u);
- v45->_vptr_PacketFactory = (int (**)(...))&off_80CAFC8;
- PacketFactoryManager::AddFactory(&this->0, v45);
- v46 = (PacketFactory *)operator new(4u);
- v46->_vptr_PacketFactory = (int (**)(...))&off_80CB030;
- PacketFactoryManager::AddFactory(&this->0, v46);
- if ( autolock )
- pthread_mutex_unlock(&autolock->m_Mutex);
- return 1;
- }
- // 80CA090: using guessed type _DWORD (__cdecl *off_80CA090)(Packets::CLAskLoginFactory *this);
- // 80CA110: using guessed type _DWORD (__cdecl *off_80CA110)(Packets::CLAskCharListFactory *this);
- // 80CA170: using guessed type _DWORD (__cdecl *off_80CA170)(Packets::CLAskCharLoginFactory *this);
- // 80CA1D0: using guessed type _DWORD (__cdecl *off_80CA1D0)(Packets::CLConnectFactory *this);
- // 80CA218: using guessed type _DWORD (__cdecl *off_80CA218)(Packets::CLAskCreateCharFactory *this);
- // 80CA270: using guessed type _DWORD (__cdecl *off_80CA270)(Packets::CLAskDeleteCharFactory *this);
- // 80CA2D0: using guessed type _DWORD (__cdecl *off_80CA2D0)(Packets::CLAskRegPassPortFactory *this);
- // 80CA330: using guessed type _DWORD (__cdecl *off_80CA330)(Packets::CLAskCreateCodeFactory *this);
- // 80CA390: using guessed type _DWORD (__cdecl *off_80CA390)(Packets::CLRegNewLicenseFactory *this);
- // 80CA3F0: using guessed type _DWORD (__cdecl *off_80CA3F0)(Packets::CLAskLoginCodeFactory *this);
- // 80CA450: using guessed type _DWORD (__cdecl *off_80CA450)(Packets::CLRegSafeSignFactory *this);
- // 80CA4B0: using guessed type _DWORD (__cdecl *off_80CA4B0)(Packets::LCRetLoginFactory *this);
- // 80CA4F8: using guessed type _DWORD (__cdecl *off_80CA4F8)(Packets::LCRetCharListFactory *this);
- // 80CA550: using guessed type _DWORD (__cdecl *off_80CA550)(Packets::LCStatusFactory *this);
- // 80CA598: using guessed type _DWORD (__cdecl *off_80CA598)(Packets::LCRetCharLoginFactory *this);
- // 80CA5F0: using guessed type _DWORD (__cdecl *off_80CA5F0)(Packets::LCRetConnectFactory *this);
- // 80CA648: using guessed type _DWORD (__cdecl *off_80CA648)(Packets::LCRetCreateCharFactory *this);
- // 80CA6B0: using guessed type _DWORD (__cdecl *off_80CA6B0)(Packets::LCRetDeleteCharFactory *this);
- // 80CA710: using guessed type _DWORD (__cdecl *off_80CA710)(Packets::LCRetCreateCodeFactory *this);
- // 80CA770: using guessed type _DWORD (__cdecl *off_80CA770)(Packets::LCRetLoginCodeFactory *this);
- // 80CA7D0: using guessed type _DWORD (__cdecl *off_80CA7D0)(Packets::KeyExchangeFactory *this);
- // 80CA818: using guessed type _DWORD (__cdecl *off_80CA818)(Packets::SSConnectFactory *this);
- // 80CA860: using guessed type _DWORD (__cdecl *off_80CA860)(Packets::SSScenePlayerCountFactory *this);
- // 80CA8B0: using guessed type _DWORD (__cdecl *off_80CA8B0)(Packets::GWLWGCostLogFactory *this);
- // 80CA908: using guessed type _DWORD (__cdecl *off_80CA908)(Packets::LWAskCharLoginFactory *this);
- // 80CA970: using guessed type _DWORD (__cdecl *off_80CA970)(Packets::LWRetBillingStartFactory *this);
- // 80CA9D0: using guessed type _DWORD (__cdecl *off_80CA9D0)(Packets::LWRetBillingEndFactory *this);
- // 80CAA30: using guessed type _DWORD (__cdecl *off_80CAA30)(Packets::LWRetBillingKeepFactory *this);
- // 80CAA90: using guessed type _DWORD (__cdecl *off_80CAA90)(Packets::LWRetPrizeFactory *this);
- // 80CAAD8: using guessed type _DWORD (__cdecl *off_80CAAD8)(Packets::LWNotifyUserFactory *this);
- // 80CAB28: using guessed type _DWORD (__cdecl *off_80CAB28)(Packets::LWChangeNameFactory *this);
- // 80CAB88: using guessed type _DWORD (__cdecl *off_80CAB88)(Packets::LWOperateAccResultFactory *this);
- // 80CABF0: using guessed type _DWORD (__cdecl *off_80CABF0)(Packets::WLRetCharLoginFactory *this);
- // 80CAC50: using guessed type _DWORD (__cdecl *off_80CAC50)(Packets::WLBillingStartFactory *this);
- // 80CACB0: using guessed type _DWORD (__cdecl *off_80CACB0)(Packets::WLBillingEndFactory *this);
- // 80CAD08: using guessed type _DWORD (__cdecl *off_80CAD08)(Packets::WLBillingKeepFactory *this);
- // 80CAD70: using guessed type _DWORD (__cdecl *off_80CAD70)(Packets::WLBillingKickFactory *this);
- // 80CADD0: using guessed type _DWORD (__cdecl *off_80CADD0)(Packets::WLAskPrizeFactory *this);
- // 80CAE18: using guessed type _DWORD (__cdecl *off_80CAE18)(Packets::WLNotifyUserFactory *this);
- // 80CAE68: using guessed type _DWORD (__cdecl *off_80CAE68)(Packets::WLChangeNameFactory *this);
- // 80CAEC8: using guessed type _DWORD (__cdecl *off_80CAEC8)(Packets::WLOperateAccFactory *this);
- // 80CAF28: using guessed type _DWORD (__cdecl *off_80CAF28)(Packets::LBAskAuthFactory *this);
- // 80CAF70: using guessed type _DWORD (__cdecl *off_80CAF70)(Packets::LBAskRegAuthFactory *this);
- // 80CAFC8: using guessed type _DWORD (__cdecl *off_80CAFC8)(Packets::LBAskRegLicenseFactory *this);
- // 80CB030: using guessed type _DWORD (__cdecl *off_80CB030)(Packets::BLRetAuthFactory *this);
- //----- (0806AD8D) --------------------------------------------------------
- void __noreturn sub_806AD8D()
- {
- __cxa_begin_catch();
- __assertspecial__(
- "../../Common/PacketFactoryManager.cpp",
- 0x5D2u,
- "virtual BOOL PacketFactoryManagerInstance::Init()",
- "FALSE",
- "virtual BOOL PacketFactoryManagerInstance::Init()");
- }
- //----- (0806ADC8) --------------------------------------------------------
- void __usercall __noreturn sub_806ADC8(pthread_mutex_t *a1@<eax>, int a2@<ebp>)
- {
- pthread_mutex_unlock(a1);
- *(_DWORD *)(a2 - 24) = 0;
- sub_806AD8D();
- }
- //----- (0806ADF0) --------------------------------------------------------
- void __cdecl BillPacketFactoryManagerInstance::BillPacketFactoryManagerInstance(BillPacketFactoryManager *a2)
- {
- BillPacketFactoryManager::BillPacketFactoryManager(a2, 0xFEu);
- a2->_vptr_BillPacketFactoryManager = (int (**)(...))&off_80C9970;
- }
- // 80C9970: using guessed type _DWORD (__cdecl *off_80C9970)(BillPacketFactoryManagerInstance *this);
- //----- (0806AE14) --------------------------------------------------------
- void __cdecl BillPacketFactoryManagerInstance::BillPacketFactoryManagerInstance(BillPacketFactoryManager *a2)
- {
- BillPacketFactoryManager::BillPacketFactoryManager(a2, 0xFEu);
- a2->_vptr_BillPacketFactoryManager = (int (**)(...))&off_80C9970;
- }
- // 80C9970: using guessed type _DWORD (__cdecl *off_80C9970)(BillPacketFactoryManagerInstance *this);
- //----- (0806AE38) --------------------------------------------------------
- void __cdecl BillPacketFactoryManagerInstance::~BillPacketFactoryManagerInstance(BillPacketFactoryManager *a2)
- {
- a2->_vptr_BillPacketFactoryManager = (int (**)(...))&off_80C9970;
- BillPacketFactoryManager::~BillPacketFactoryManager(a2);
- }
- // 80C9970: using guessed type _DWORD (__cdecl *off_80C9970)(BillPacketFactoryManagerInstance *this);
- //----- (0806AE54) --------------------------------------------------------
- void __cdecl BillPacketFactoryManagerInstance::~BillPacketFactoryManagerInstance(BillPacketFactoryManager *a2)
- {
- a2->_vptr_BillPacketFactoryManager = (int (**)(...))&off_80C9970;
- BillPacketFactoryManager::~BillPacketFactoryManager(a2);
- }
- // 80C9970: using guessed type _DWORD (__cdecl *off_80C9970)(BillPacketFactoryManagerInstance *this);
- //----- (0806AE70) --------------------------------------------------------
- void __cdecl BillPacketFactoryManagerInstance::~BillPacketFactoryManagerInstance(BillPacketFactoryManager *a2)
- {
- a2->_vptr_BillPacketFactoryManager = (int (**)(...))&off_80C9970;
- BillPacketFactoryManager::~BillPacketFactoryManager(a2);
- operator delete((IPRegionTable *const )a2);
- }
- // 80C9970: using guessed type _DWORD (__cdecl *off_80C9970)(BillPacketFactoryManagerInstance *this);
- //----- (0806AE98) --------------------------------------------------------
- BOOL __cdecl BillPacketFactoryManagerInstance::Init(BillPacketFactoryManagerInstance *const this)
- {
- BillPacketFactory *v1; // eax
- BillPacketFactory *v2; // eax
- BillPacketFactory *v3; // eax
- BillPacketFactory *v4; // eax
- BillPacketFactory *v5; // eax
- BillPacketFactory *v6; // eax
- BillPacketFactory *v7; // eax
- BillPacketFactory *v8; // eax
- BillPacketFactory *v9; // eax
- BillPacketFactory *v10; // eax
- BillPacketFactory *v11; // eax
- BillPacketFactory *v12; // eax
- BillPacketFactory *v13; // eax
- BillPacketFactory *v14; // eax
- BillPacketFactory *v15; // eax
- BillPacketFactory *v16; // eax
- BillPacketFactory *v17; // eax
- BillPacketFactory *v18; // eax
- BillPacketFactory *v19; // eax
- v1 = (BillPacketFactory *)operator new(4u);
- v1->_vptr_BillPacketFactory = (int (**)(...))&off_80C99D0;
- BillPacketFactoryManager::AddFactory(&this->0, v1);
- v2 = (BillPacketFactory *)operator new(4u);
- v2->_vptr_BillPacketFactory = (int (**)(...))&off_80C9A68;
- BillPacketFactoryManager::AddFactory(&this->0, v2);
- v3 = (BillPacketFactory *)operator new(4u);
- v3->_vptr_BillPacketFactory = (int (**)(...))&off_80C9AD0;
- BillPacketFactoryManager::AddFactory(&this->0, v3);
- v4 = (BillPacketFactory *)operator new(4u);
- v4->_vptr_BillPacketFactory = (int (**)(...))&off_80C9B30;
- BillPacketFactoryManager::AddFactory(&this->0, v4);
- v5 = (BillPacketFactory *)operator new(4u);
- v5->_vptr_BillPacketFactory = (int (**)(...))&off_80C9B90;
- BillPacketFactoryManager::AddFactory(&this->0, v5);
- v6 = (BillPacketFactory *)operator new(4u);
- v6->_vptr_BillPacketFactory = (int (**)(...))&off_80C9BF0;
- BillPacketFactoryManager::AddFactory(&this->0, v6);
- v7 = (BillPacketFactory *)operator new(4u);
- v7->_vptr_BillPacketFactory = (int (**)(...))&off_80C9C50;
- BillPacketFactoryManager::AddFactory(&this->0, v7);
- v8 = (BillPacketFactory *)operator new(4u);
- v8->_vptr_BillPacketFactory = (int (**)(...))&off_80C9CA8;
- BillPacketFactoryManager::AddFactory(&this->0, v8);
- v9 = (BillPacketFactory *)operator new(4u);
- v9->_vptr_BillPacketFactory = (int (**)(...))&off_80C9D10;
- BillPacketFactoryManager::AddFactory(&this->0, v9);
- v10 = (BillPacketFactory *)operator new(4u);
- v10->_vptr_BillPacketFactory = (int (**)(...))&off_80C9D58;
- BillPacketFactoryManager::AddFactory(&this->0, v10);
- v11 = (BillPacketFactory *)operator new(4u);
- v11->_vptr_BillPacketFactory = (int (**)(...))&off_80C9DB0;
- BillPacketFactoryManager::AddFactory(&this->0, v11);
- v12 = (BillPacketFactory *)operator new(4u);
- v12->_vptr_BillPacketFactory = (int (**)(...))&off_80C9DF8;
- BillPacketFactoryManager::AddFactory(&this->0, v12);
- v13 = (BillPacketFactory *)operator new(4u);
- v13->_vptr_BillPacketFactory = (int (**)(...))&off_80C9E40;
- BillPacketFactoryManager::AddFactory(&this->0, v13);
- v14 = (BillPacketFactory *)operator new(4u);
- v14->_vptr_BillPacketFactory = (int (**)(...))&off_80C9E90;
- BillPacketFactoryManager::AddFactory(&this->0, v14);
- v15 = (BillPacketFactory *)operator new(4u);
- v15->_vptr_BillPacketFactory = (int (**)(...))&off_80C9ED8;
- BillPacketFactoryManager::AddFactory(&this->0, v15);
- v16 = (BillPacketFactory *)operator new(4u);
- v16->_vptr_BillPacketFactory = (int (**)(...))&off_80C9F30;
- BillPacketFactoryManager::AddFactory(&this->0, v16);
- v17 = (BillPacketFactory *)operator new(4u);
- v17->_vptr_BillPacketFactory = (int (**)(...))&off_80C9F78;
- BillPacketFactoryManager::AddFactory(&this->0, v17);
- v18 = (BillPacketFactory *)operator new(4u);
- v18->_vptr_BillPacketFactory = (int (**)(...))&off_80C9FD0;
- BillPacketFactoryManager::AddFactory(&this->0, v18);
- v19 = (BillPacketFactory *)operator new(4u);
- v19->_vptr_BillPacketFactory = (int (**)(...))&off_80CA030;
- BillPacketFactoryManager::AddFactory(&this->0, v19);
- return 1;
- }
- // 80C99D0: using guessed type _DWORD (__cdecl *off_80C99D0)(Packets::BLRetConnectFactory *this);
- // 80C9A68: using guessed type _DWORD (__cdecl *off_80C9A68)(Packets::BLRetKeepLiveFactory *this);
- // 80C9AD0: using guessed type _DWORD (__cdecl *off_80C9AD0)(Packets::BLRetAccCheckFactory *this);
- // 80C9B30: using guessed type _DWORD (__cdecl *off_80C9B30)(Packets::BLRetBillingStartFactory *this);
- // 80C9B90: using guessed type _DWORD (__cdecl *off_80C9B90)(Packets::BLRetBillingEndFactory *this);
- // 80C9BF0: using guessed type _DWORD (__cdecl *off_80C9BF0)(Packets::BLRetBillingKeepFactory *this);
- // 80C9C50: using guessed type _DWORD (__cdecl *off_80C9C50)(Packets::BLRetKickALLFactory *this);
- // 80C9CA8: using guessed type _DWORD (__cdecl *off_80C9CA8)(Packets::BLRetRegPassPortFactory *this);
- // 80C9D10: using guessed type _DWORD (__cdecl *off_80C9D10)(Packets::BLRetPrizeFactory *this);
- // 80C9D58: using guessed type _DWORD (__cdecl *off_80C9D58)(Packets::BLRetAskPointFactory *this);
- // 80C9DB0: using guessed type _DWORD (__cdecl *off_80C9DB0)(Packets::BLRetAskBuyFactory *this);
- // 80C9DF8: using guessed type _DWORD (__cdecl *off_80C9DF8)(Packets::LBLCostLogFactory *this);
- // 80C9E40: using guessed type _DWORD (__cdecl *off_80C9E40)(Packets::LBLAskNewUserCardFactory *this);
- // 80C9E90: using guessed type _DWORD (__cdecl *off_80C9E90)(Packets::LBLNewPrizeFactory *this);
- // 80C9ED8: using guessed type _DWORD (__cdecl *off_80C9ED8)(Packets::LBLNewCheckPrizeFactory *this);
- // 80C9F30: using guessed type _DWORD (__cdecl *off_80C9F30)(Packets::LBLAskMigFactory *this);
- // 80C9F78: using guessed type _DWORD (__cdecl *off_80C9F78)(Packets::LBLRegNewLicenseFactory *this);
- // 80C9FD0: using guessed type _DWORD (__cdecl *off_80C9FD0)(Packets::LBLCardCheckPrizeFactory *this);
- // 80CA030: using guessed type _DWORD (__cdecl *off_80CA030)(Packets::LBLOperateAccFactory *this);
- //----- (0806B0F0) --------------------------------------------------------
- void __cdecl _tcf_0_15(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806B100) --------------------------------------------------------
- void `global constructor keyed to'g_pPacketFactoryManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_15, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806B12C) --------------------------------------------------------
- void __cdecl PacketFactory::~PacketFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806B13C) --------------------------------------------------------
- void __cdecl PacketFactory::~PacketFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806B150) --------------------------------------------------------
- Packet *__cdecl Packets::CLAskLoginFactory::CreatePacket(Packets::CLAskLoginFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- signed int v3; // ecx
- _WORD *v4; // ebx
- _BYTE *v5; // edi
- v1 = operator new(0x1A8u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80CC908;
- memset((void *)(v1 + 12), 0, 0x30u);
- v2 = v1 + 60;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- memset((void *)(v1 + 63), 0, 0x20u);
- v3 = 0;
- *(_BYTE *)(v1 + 95) = 0;
- v4 = (_WORD *)(v1 + 100);
- do
- {
- ++v3;
- *v4 = 0;
- v5 = v4 + 1;
- v4 = (_WORD *)((char *)v4 + 3);
- *v5 = 0;
- }
- while ( v3 <= 2 );
- memset((void *)(v1 + 109), 0, 0x20u);
- *(_BYTE *)(v1 + 141) = 0;
- memset((void *)(v1 + 144), 0, 0x10u);
- return (Packet *)v1;
- }
- // 80CC908: using guessed type _DWORD (__cdecl *off_80CC908[2])(Packets::CLAskLogin *this);
- //----- (0806B1E8) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskLoginFactory::GetPacketID(const Packets::CLAskLoginFactory *const this)
- {
- return 299;
- }
- //----- (0806B1F4) --------------------------------------------------------
- UINT __cdecl Packets::CLAskLoginFactory::GetPacketMaxSize(const Packets::CLAskLoginFactory *const this)
- {
- return 407;
- }
- //----- (0806B200) --------------------------------------------------------
- Packet *__cdecl Packets::CLAskCharListFactory::CreatePacket(Packets::CLAskCharListFactory *const this)
- {
- Packet *v1; // esi
- v1 = (Packet *)operator new(0x44u);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80CC288;
- return v1;
- }
- // 80CC288: using guessed type _DWORD (__cdecl *off_80CC288[2])(Packets::CLAskCharList *this);
- //----- (0806B240) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskCharListFactory::GetPacketID(const Packets::CLAskCharListFactory *const this)
- {
- return 13;
- }
- //----- (0806B24C) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCharListFactory::GetPacketMaxSize(const Packets::CLAskCharListFactory *const this)
- {
- return 50;
- }
- //----- (0806B258) --------------------------------------------------------
- Packet *__cdecl Packets::CLAskCharLoginFactory::CreatePacket(Packets::CLAskCharLoginFactory *const this)
- {
- Packet *v1; // esi
- v1 = (Packet *)operator new(0x14u);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80CC428;
- return v1;
- }
- // 80CC428: using guessed type _DWORD (__cdecl *off_80CC428[2])(Packets::CLAskCharLogin *this);
- //----- (0806B298) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskCharLoginFactory::GetPacketID(const Packets::CLAskCharLoginFactory *const this)
- {
- return 596;
- }
- //----- (0806B2A4) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCharLoginFactory::GetPacketMaxSize(const Packets::CLAskCharLoginFactory *const this)
- {
- return 8;
- }
- //----- (0806B2B0) --------------------------------------------------------
- Packet *__cdecl Packets::CLConnectFactory::CreatePacket(Packets::CLConnectFactory *const this)
- {
- Packet *v1; // esi
- v1 = (Packet *)operator new(0x14u);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80CD088;
- return v1;
- }
- // 80CD088: using guessed type _DWORD (__cdecl *off_80CD088[2])(Packets::CLConnect *this);
- //----- (0806B2F0) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLConnectFactory::GetPacketID(const Packets::CLConnectFactory *const this)
- {
- return 355;
- }
- //----- (0806B2FC) --------------------------------------------------------
- UINT __cdecl Packets::CLConnectFactory::GetPacketMaxSize(const Packets::CLConnectFactory *const this)
- {
- return 5;
- }
- //----- (0806B308) --------------------------------------------------------
- Packet *__cdecl Packets::CLAskCreateCharFactory::CreatePacket(Packets::CLAskCreateCharFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0x78u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80CC588;
- memset((void *)(v1 + 12), 0, 0x1Cu);
- *(_WORD *)(v1 + 40) = 0;
- return (Packet *)v1;
- }
- // 80CC588: using guessed type _DWORD (__cdecl *off_80CC588[2])(Packets::CLAskCreateChar *this);
- //----- (0806B358) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskCreateCharFactory::GetPacketID(const Packets::CLAskCreateCharFactory *const this)
- {
- return 638;
- }
- //----- (0806B364) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCreateCharFactory::GetPacketMaxSize(const Packets::CLAskCreateCharFactory *const this)
- {
- return 47;
- }
- //----- (0806B370) --------------------------------------------------------
- Packet *__cdecl Packets::CLAskDeleteCharFactory::CreatePacket(Packets::CLAskDeleteCharFactory *const this)
- {
- Packet *v1; // esi
- v1 = (Packet *)operator new(0x48u);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80CC748;
- return v1;
- }
- // 80CC748: using guessed type _DWORD (__cdecl *off_80CC748[2])(Packets::CLAskDeleteChar *this);
- //----- (0806B3B0) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskDeleteCharFactory::GetPacketID(const Packets::CLAskDeleteCharFactory *const this)
- {
- return 1;
- }
- //----- (0806B3BC) --------------------------------------------------------
- UINT __cdecl Packets::CLAskDeleteCharFactory::GetPacketMaxSize(const Packets::CLAskDeleteCharFactory *const this)
- {
- return 4;
- }
- //----- (0806B3C8) --------------------------------------------------------
- Packet *__cdecl Packets::CLAskRegPassPortFactory::CreatePacket(Packets::CLAskRegPassPortFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- v1 = operator new(0x1C4u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80CCD48;
- memset((void *)(v1 + 12), 0, 0x30u);
- v2 = v1 + 60;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- memset((void *)(v1 + 63), 0, 0x20u);
- *(_BYTE *)(v1 + 95) = 0;
- memset((void *)(v1 + 96), 0, 0x20u);
- *(_BYTE *)(v1 + 128) = 0;
- memset((void *)(v1 + 129), 0, 0x20u);
- *(_BYTE *)(v1 + 161) = 0;
- memset((void *)(v1 + 162), 0, 0x20u);
- *(_BYTE *)(v1 + 194) = 0;
- memset((void *)(v1 + 195), 0, 0x100u);
- return (Packet *)v1;
- }
- // 80CCD48: using guessed type _DWORD (__cdecl *off_80CCD48[2])(Packets::CLAskRegPassPort *this);
- //----- (0806B458) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskRegPassPortFactory::GetPacketID(const Packets::CLAskRegPassPortFactory *const this)
- {
- return 439;
- }
- //----- (0806B464) --------------------------------------------------------
- UINT __cdecl Packets::CLAskRegPassPortFactory::GetPacketMaxSize(const Packets::CLAskRegPassPortFactory *const this)
- {
- return 433;
- }
- //----- (0806B470) --------------------------------------------------------
- Packet *__cdecl Packets::CLAskCreateCodeFactory::CreatePacket(Packets::CLAskCreateCodeFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0x18u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80D1FA8;
- *(_BYTE *)(v1 + 12) = 0;
- *(_DWORD *)(v1 + 14) = 0;
- *(_DWORD *)(v1 + 18) = 0;
- return (Packet *)v1;
- }
- // 80D1FA8: using guessed type _DWORD (__cdecl *off_80D1FA8[2])(Packets::CLAskCreateCode *this);
- //----- (0806B4C4) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskCreateCodeFactory::GetPacketID(const Packets::CLAskCreateCodeFactory *const this)
- {
- return 31;
- }
- //----- (0806B4D0) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCreateCodeFactory::GetPacketMaxSize(const Packets::CLAskCreateCodeFactory *const this)
- {
- return 9;
- }
- //----- (0806B4DC) --------------------------------------------------------
- Packet *__cdecl Packets::CLRegNewLicenseFactory::CreatePacket(Packets::CLRegNewLicenseFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- v1 = operator new(0x40u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80D22A8;
- *(_BYTE *)(v1 + 63) = 1;
- memset((void *)(v1 + 12), 0, 0x30u);
- v2 = v1 + 60;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- return (Packet *)v1;
- }
- // 80D22A8: using guessed type _DWORD (__cdecl *off_80D22A8[2])(Packets::CLRegNewLicense *this);
- //----- (0806B534) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLRegNewLicenseFactory::GetPacketID(const Packets::CLRegNewLicenseFactory *const this)
- {
- return 103;
- }
- //----- (0806B540) --------------------------------------------------------
- UINT __cdecl Packets::CLRegNewLicenseFactory::GetPacketMaxSize(const Packets::CLRegNewLicenseFactory *const this)
- {
- return 51;
- }
- //----- (0806B54C) --------------------------------------------------------
- Packet *__cdecl Packets::CLAskLoginCodeFactory::CreatePacket(Packets::CLAskLoginCodeFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0x18u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80CCBE8;
- *(_BYTE *)(v1 + 12) = 0;
- *(_DWORD *)(v1 + 14) = 0;
- *(_DWORD *)(v1 + 18) = 0;
- return (Packet *)v1;
- }
- // 80CCBE8: using guessed type _DWORD (__cdecl *off_80CCBE8[2])(Packets::CLAskLoginCode *this);
- //----- (0806B5A0) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskLoginCodeFactory::GetPacketID(const Packets::CLAskLoginCodeFactory *const this)
- {
- return 572;
- }
- //----- (0806B5AC) --------------------------------------------------------
- UINT __cdecl Packets::CLAskLoginCodeFactory::GetPacketMaxSize(const Packets::CLAskLoginCodeFactory *const this)
- {
- return 9;
- }
- //----- (0806B5B8) --------------------------------------------------------
- Packet *__cdecl Packets::CLRegSafeSignFactory::CreatePacket(Packets::CLRegSafeSignFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- v1 = operator new(0x40u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80D27C8;
- *(_BYTE *)(v1 + 63) = 0;
- memset((void *)(v1 + 12), 0, 0x30u);
- v2 = v1 + 60;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- return (Packet *)v1;
- }
- // 80D27C8: using guessed type _DWORD (__cdecl *off_80D27C8[2])(Packets::CLRegSafeSign *this);
- //----- (0806B610) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLRegSafeSignFactory::GetPacketID(const Packets::CLRegSafeSignFactory *const this)
- {
- return 564;
- }
- //----- (0806B61C) --------------------------------------------------------
- UINT __cdecl Packets::CLRegSafeSignFactory::GetPacketMaxSize(const Packets::CLRegSafeSignFactory *const this)
- {
- return 51;
- }
- //----- (0806B628) --------------------------------------------------------
- Packet *__cdecl Packets::LCRetLoginFactory::CreatePacket(Packets::LCRetLoginFactory *const this)
- {
- Packet *v1; // esi
- v1 = (Packet *)operator new(0x58u);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80CED48;
- v1[7]._vptr_Packet = 0;
- memset(&v1[5].m_fromWhere, 0, 0x10u);
- return v1;
- }
- // 80CED48: using guessed type _DWORD (__cdecl *off_80CED48[2])(Packets::LCRetLogin *this);
- //----- (0806B680) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetLoginFactory::GetPacketID(const Packets::LCRetLoginFactory *const this)
- {
- return 223;
- }
- //----- (0806B68C) --------------------------------------------------------
- UINT __cdecl Packets::LCRetLoginFactory::GetPacketMaxSize(const Packets::LCRetLoginFactory *const this)
- {
- return 73;
- }
- //----- (0806B698) --------------------------------------------------------
- Packet *__cdecl Packets::LCRetCharListFactory::CreatePacket(Packets::LCRetCharListFactory *const this)
- {
- PACKET_FROM_WHERE *v1; // esi
- int v2; // ebx
- signed int v3; // eax
- signed int v4; // eax
- signed int v6; // [esp+10h] [ebp-14h]
- Packet *v7; // [esp+14h] [ebp-10h]
- v7 = (Packet *)operator new(0x5FCu);
- Packet::Packet((int)v7);
- v7->_vptr_Packet = (int (**)(...))off_80CE568;
- v1 = &v7[1].m_fromWhere;
- v6 = 4;
- do
- {
- v2 = (int)(v1 + 18);
- v3 = 0;
- do
- {
- *(_DWORD *)(v2 + 4 * v3) = 0;
- *(_WORD *)(v2 + 2 * v3 + 76) = 0;
- *(_DWORD *)(v2 + 4 * v3++ + 116) = -1;
- }
- while ( v3 <= 18 );
- memset(v1 + 66, 0, 0x14u);
- *((_WORD *)v1 + 142) = 0;
- memset(v1, 0, 0x124u);
- v4 = 0;
- do
- {
- *(_DWORD *)(v2 + 4 * v4) = 0;
- *(_WORD *)(v2 + 2 * v4 + 76) = 0;
- *(_DWORD *)(v2 + 4 * v4++ + 116) = -1;
- }
- while ( v4 <= 18 );
- --v6;
- v1 += 73;
- }
- while ( v6 != -1 );
- return v7;
- }
- // 80CE568: using guessed type _DWORD (__cdecl *off_80CE568[2])(Packets::LCRetCharList *this);
- //----- (0806B764) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetCharListFactory::GetPacketID(const Packets::LCRetCharListFactory *const this)
- {
- return 622;
- }
- //----- (0806B770) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCharListFactory::GetPacketMaxSize(const Packets::LCRetCharListFactory *const this)
- {
- return 1523;
- }
- //----- (0806B77C) --------------------------------------------------------
- Packet *__cdecl Packets::LCStatusFactory::CreatePacket(Packets::LCStatusFactory *const this)
- {
- Packet *v1; // esi
- v1 = (Packet *)operator new(0x14u);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80CF048;
- return v1;
- }
- // 80CF048: using guessed type _DWORD (__cdecl *off_80CF048[2])(Packets::LCStatus *this);
- //----- (0806B7BC) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCStatusFactory::GetPacketID(const Packets::LCStatusFactory *const this)
- {
- return 554;
- }
- //----- (0806B7C8) --------------------------------------------------------
- UINT __cdecl Packets::LCStatusFactory::GetPacketMaxSize(const Packets::LCStatusFactory *const this)
- {
- return 6;
- }
- //----- (0806B7D4) --------------------------------------------------------
- Packet *__cdecl Packets::LCRetCharLoginFactory::CreatePacket(Packets::LCRetCharLoginFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0x38u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80CE708;
- memset((void *)(v1 + 16), 0, 0x18u);
- *(_DWORD *)(v1 + 40) = 0;
- *(_DWORD *)(v1 + 52) = 0;
- return (Packet *)v1;
- }
- // 80CE708: using guessed type _DWORD (__cdecl *off_80CE708[2])(Packets::LCRetCharLogin *this);
- //----- (0806B830) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetCharLoginFactory::GetPacketID(const Packets::LCRetCharLoginFactory *const this)
- {
- return 346;
- }
- //----- (0806B83C) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCharLoginFactory::GetPacketMaxSize(const Packets::LCRetCharLoginFactory *const this)
- {
- return 41;
- }
- //----- (0806B848) --------------------------------------------------------
- Packet *__cdecl Packets::LCRetConnectFactory::CreatePacket(Packets::LCRetConnectFactory *const this)
- {
- Packet *v1; // esi
- Packet *v2; // ebx
- signed int v3; // edx
- _BYTE *v4; // edi
- v1 = (Packet *)operator new(0x54u);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80CE868;
- v2 = v1 + 6;
- v3 = 2;
- do
- {
- LOWORD(v2->_vptr_Packet) = 0;
- v4 = (char *)&v2->_vptr_Packet + 2;
- v2 = (Packet *)((char *)v2 + 3);
- --v3;
- *v4 = 0;
- }
- while ( v3 >= 0 );
- return v1;
- }
- // 80CE868: using guessed type _DWORD (__cdecl *off_80CE868[2])(Packets::LCRetConnect *this);
- //----- (0806B8A8) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetConnectFactory::GetPacketID(const Packets::LCRetConnectFactory *const this)
- {
- return 311;
- }
- //----- (0806B8B4) --------------------------------------------------------
- UINT __cdecl Packets::LCRetConnectFactory::GetPacketMaxSize(const Packets::LCRetConnectFactory *const this)
- {
- return 69;
- }
- //----- (0806B8C0) --------------------------------------------------------
- Packet *__cdecl Packets::LCRetCreateCharFactory::CreatePacket(Packets::LCRetCreateCharFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0x48u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80CE9C8;
- *(_DWORD *)(v1 + 68) = -1;
- return (Packet *)v1;
- }
- // 80CE9C8: using guessed type _DWORD (__cdecl *off_80CE9C8[2])(Packets::LCRetCreateChar *this);
- //----- (0806B908) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetCreateCharFactory::GetPacketID(const Packets::LCRetCreateCharFactory *const this)
- {
- return 481;
- }
- //----- (0806B914) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCreateCharFactory::GetPacketMaxSize(const Packets::LCRetCreateCharFactory *const this)
- {
- return 4;
- }
- //----- (0806B920) --------------------------------------------------------
- Packet *__cdecl Packets::LCRetDeleteCharFactory::CreatePacket(Packets::LCRetDeleteCharFactory *const this)
- {
- Packet *v1; // esi
- v1 = (Packet *)operator new(0x44u);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80CEB88;
- return v1;
- }
- // 80CEB88: using guessed type _DWORD (__cdecl *off_80CEB88[2])(Packets::LCRetDeleteChar *this);
- //----- (0806B960) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetDeleteCharFactory::GetPacketID(const Packets::LCRetDeleteCharFactory *const this)
- {
- return 163;
- }
- //----- (0806B96C) --------------------------------------------------------
- UINT __cdecl Packets::LCRetDeleteCharFactory::GetPacketMaxSize(const Packets::LCRetDeleteCharFactory *const this)
- {
- return 4;
- }
- //----- (0806B978) --------------------------------------------------------
- Packet *__cdecl Packets::LCRetCreateCodeFactory::CreatePacket(Packets::LCRetCreateCodeFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0x250u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80D2128;
- *(_BYTE *)(v1 + 12) = 2;
- memset((void *)(v1 + 13), 0, 0x240u);
- return (Packet *)v1;
- }
- // 80D2128: using guessed type _DWORD (__cdecl *off_80D2128[2])(Packets::LCRetCreateCode *this);
- //----- (0806B9D4) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetCreateCodeFactory::GetPacketID(const Packets::LCRetCreateCodeFactory *const this)
- {
- return 402;
- }
- //----- (0806B9E0) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCreateCodeFactory::GetPacketMaxSize(const Packets::LCRetCreateCodeFactory *const this)
- {
- return 577;
- }
- //----- (0806B9EC) --------------------------------------------------------
- Packet *__cdecl Packets::LCRetLoginCodeFactory::CreatePacket(Packets::LCRetLoginCodeFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0x250u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80CEEE8;
- *(_BYTE *)(v1 + 12) = 2;
- memset((void *)(v1 + 13), 0, 0x240u);
- return (Packet *)v1;
- }
- // 80CEEE8: using guessed type _DWORD (__cdecl *off_80CEEE8[2])(Packets::LCRetLoginCode *this);
- //----- (0806BA48) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetLoginCodeFactory::GetPacketID(const Packets::LCRetLoginCodeFactory *const this)
- {
- return 670;
- }
- //----- (0806BA54) --------------------------------------------------------
- UINT __cdecl Packets::LCRetLoginCodeFactory::GetPacketMaxSize(const Packets::LCRetLoginCodeFactory *const this)
- {
- return 577;
- }
- //----- (0806BA60) --------------------------------------------------------
- Packet *__cdecl Packets::KeyExchangeFactory::CreatePacket(Packets::KeyExchangeFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0x410u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80CD1E8;
- *(_WORD *)(v1 + 1036) = 0;
- *(_BYTE *)(v1 + 12) = 0;
- return (Packet *)v1;
- }
- // 80CD1E8: using guessed type _DWORD (__cdecl *off_80CD1E8[2])(Packets::KeyExchange *this);
- //----- (0806BAB0) --------------------------------------------------------
- PacketID_t __cdecl Packets::KeyExchangeFactory::GetPacketID(const Packets::KeyExchangeFactory *const this)
- {
- return 627;
- }
- //----- (0806BABC) --------------------------------------------------------
- UINT __cdecl Packets::KeyExchangeFactory::GetPacketMaxSize(const Packets::KeyExchangeFactory *const this)
- {
- return 1026;
- }
- //----- (0806BAC8) --------------------------------------------------------
- Packet *__cdecl Packets::SSConnectFactory::CreatePacket(Packets::SSConnectFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0x14u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80CF868;
- *(_WORD *)(v1 + 12) = -1;
- *(_WORD *)(v1 + 14) = -1;
- *(_WORD *)(v1 + 16) = -1;
- return (Packet *)v1;
- }
- // 80CF868: using guessed type _DWORD (__cdecl *off_80CF868[2])(Packets::SSConnect *this);
- //----- (0806BB1C) --------------------------------------------------------
- PacketID_t __cdecl Packets::SSConnectFactory::GetPacketID(const Packets::SSConnectFactory *const this)
- {
- return 185;
- }
- //----- (0806BB28) --------------------------------------------------------
- UINT __cdecl Packets::SSConnectFactory::GetPacketMaxSize(const Packets::SSConnectFactory *const this)
- {
- return 6;
- }
- //----- (0806BB34) --------------------------------------------------------
- Packet *__cdecl Packets::SSScenePlayerCountFactory::CreatePacket(Packets::SSScenePlayerCountFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0x1018u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80CF9C8;
- *(_WORD *)(v1 + 12) = 0;
- *(_WORD *)(v1 + 4112) = -1;
- return (Packet *)v1;
- }
- // 80CF9C8: using guessed type _DWORD (__cdecl *off_80CF9C8[2])(Packets::SSScenePlayerCount *this);
- //----- (0806BB88) --------------------------------------------------------
- PacketID_t __cdecl Packets::SSScenePlayerCountFactory::GetPacketID(const Packets::SSScenePlayerCountFactory *const this)
- {
- return 614;
- }
- //----- (0806BB94) --------------------------------------------------------
- UINT __cdecl Packets::SSScenePlayerCountFactory::GetPacketMaxSize(const Packets::SSScenePlayerCountFactory *const this)
- {
- return 4106;
- }
- //----- (0806BBA0) --------------------------------------------------------
- Packet *__cdecl Packets::GWLWGCostLogFactory::CreatePacket(Packets::GWLWGCostLogFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0x1C8u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80D17E8;
- memset((void *)(v1 + 16), 0, 0x1A0u);
- *(_DWORD *)(v1 + 52) = -1;
- *(_WORD *)(v1 + 14) = -1;
- memset((void *)(v1 + 432), 0, 0x14u);
- *(_WORD *)(v1 + 452) = 0;
- return (Packet *)v1;
- }
- // 80D17E8: using guessed type _DWORD (__cdecl *off_80D17E8[2])(Packets::GWLWGCostLog *this);
- //----- (0806BC18) --------------------------------------------------------
- PacketID_t __cdecl Packets::GWLWGCostLogFactory::GetPacketID(const Packets::GWLWGCostLogFactory *const this)
- {
- return 33;
- }
- //----- (0806BC24) --------------------------------------------------------
- UINT __cdecl Packets::GWLWGCostLogFactory::GetPacketMaxSize(const Packets::GWLWGCostLogFactory *const this)
- {
- return 420;
- }
- //----- (0806BC30) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWAskCharLoginFactory::GetPacketID(const Packets::LWAskCharLoginFactory *const this)
- {
- return 107;
- }
- //----- (0806BC3C) --------------------------------------------------------
- UINT __cdecl Packets::LWAskCharLoginFactory::GetPacketMaxSize(const Packets::LWAskCharLoginFactory *const this)
- {
- return 50801;
- }
- //----- (0806BC48) --------------------------------------------------------
- Packet *__cdecl Packets::LWRetBillingStartFactory::CreatePacket(Packets::LWRetBillingStartFactory *const this)
- {
- Packet *v1; // esi
- int v2; // edi
- v1 = (Packet *)operator new(0x54u);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80CF6C8;
- memset(&v1[1], 0, 0x30u);
- v2 = (int)&v1[5];
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- return v1;
- }
- // 80CF6C8: using guessed type _DWORD (__cdecl *off_80CF6C8[2])(Packets::LWRetBillingStart *this);
- //----- (0806BC9C) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWRetBillingStartFactory::GetPacketID(const Packets::LWRetBillingStartFactory *const this)
- {
- return 350;
- }
- //----- (0806BCA8) --------------------------------------------------------
- UINT __cdecl Packets::LWRetBillingStartFactory::GetPacketMaxSize(const Packets::LWRetBillingStartFactory *const this)
- {
- return 69;
- }
- //----- (0806BCB4) --------------------------------------------------------
- Packet *__cdecl Packets::LWRetBillingEndFactory::CreatePacket(Packets::LWRetBillingEndFactory *const this)
- {
- Packet *v1; // esi
- int v2; // edi
- v1 = (Packet *)operator new(0x40u);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80CF3A8;
- memset(&v1[1], 0, 0x30u);
- v2 = (int)&v1[5];
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- return v1;
- }
- // 80CF3A8: using guessed type _DWORD (__cdecl *off_80CF3A8[2])(Packets::LWRetBillingEnd *this);
- //----- (0806BD08) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWRetBillingEndFactory::GetPacketID(const Packets::LWRetBillingEndFactory *const this)
- {
- return 494;
- }
- //----- (0806BD14) --------------------------------------------------------
- UINT __cdecl Packets::LWRetBillingEndFactory::GetPacketMaxSize(const Packets::LWRetBillingEndFactory *const this)
- {
- return 52;
- }
- //----- (0806BD20) --------------------------------------------------------
- Packet *__cdecl Packets::LWRetBillingKeepFactory::CreatePacket(Packets::LWRetBillingKeepFactory *const this)
- {
- Packet *v1; // esi
- int v2; // edi
- v1 = (Packet *)operator new(0x4Cu);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80CF528;
- memset(&v1[1], 0, 0x30u);
- v2 = (int)&v1[5];
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- return v1;
- }
- // 80CF528: using guessed type _DWORD (__cdecl *off_80CF528[2])(Packets::LWRetBillingKeep *this);
- //----- (0806BD74) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWRetBillingKeepFactory::GetPacketID(const Packets::LWRetBillingKeepFactory *const this)
- {
- return 536;
- }
- //----- (0806BD80) --------------------------------------------------------
- UINT __cdecl Packets::LWRetBillingKeepFactory::GetPacketMaxSize(const Packets::LWRetBillingKeepFactory *const this)
- {
- return 64;
- }
- //----- (0806BD8C) --------------------------------------------------------
- Packet *__cdecl Packets::LWRetPrizeFactory::CreatePacket(Packets::LWRetPrizeFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- signed int v4; // [esp+18h] [ebp-1Ch]
- _DWORD *v5; // [esp+1Ch] [ebp-18h]
- v1 = operator new(0x40Cu);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80D11A8;
- v5 = (_DWORD *)(v1 + 76);
- v4 = 29;
- do
- {
- memset(v5, 0, 0x14u);
- --v4;
- v5[5] = 0;
- v5[6] = 0;
- v5[7] = 0;
- v5 += 8;
- }
- while ( v4 != -1 );
- *(_WORD *)(v1 + 12) = -1;
- memset((void *)(v1 + 14), 0, 0x30u);
- v2 = v1 + 62;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- *(_BYTE *)(v1 + 65) = 3;
- *(_BYTE *)(v1 + 66) = 0;
- *(_WORD *)(v1 + 72) = 0;
- *(_DWORD *)(v1 + 68) = 0;
- memset((void *)(v1 + 76), 0, 0x3C0u);
- return (Packet *)v1;
- }
- // 80D11A8: using guessed type _DWORD (__cdecl *off_80D11A8[2])(Packets::LWRetPrize *this);
- //----- (0806BE5C) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWRetPrizeFactory::GetPacketID(const Packets::LWRetPrizeFactory *const this)
- {
- return 567;
- }
- //----- (0806BE68) --------------------------------------------------------
- UINT __cdecl Packets::LWRetPrizeFactory::GetPacketMaxSize(const Packets::LWRetPrizeFactory *const this)
- {
- return 1020;
- }
- //----- (0806BE74) --------------------------------------------------------
- Packet *__cdecl Packets::LWNotifyUserFactory::CreatePacket(Packets::LWNotifyUserFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- v1 = operator new(0x54u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80D14A8;
- memset((void *)(v1 + 12), 0, 0x30u);
- v2 = v1 + 60;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- *(_DWORD *)(v1 + 64) = 0;
- *(_DWORD *)(v1 + 68) = -1;
- *(_DWORD *)(v1 + 80) = 0;
- *(_DWORD *)(v1 + 76) = 0;
- *(_DWORD *)(v1 + 72) = -1;
- return (Packet *)v1;
- }
- // 80D14A8: using guessed type _DWORD (__cdecl *off_80D14A8[2])(Packets::LWNotifyUser *this);
- //----- (0806BEE8) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWNotifyUserFactory::GetPacketID(const Packets::LWNotifyUserFactory *const this)
- {
- return 440;
- }
- //----- (0806BEF4) --------------------------------------------------------
- UINT __cdecl Packets::LWNotifyUserFactory::GetPacketMaxSize(const Packets::LWNotifyUserFactory *const this)
- {
- return 70;
- }
- //----- (0806BF00) --------------------------------------------------------
- Packet *__cdecl Packets::LWChangeNameFactory::CreatePacket(Packets::LWChangeNameFactory *const this)
- {
- Packet *v1; // ebx
- v1 = (Packet *)operator new(0x58u);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80D1CE8;
- Packets::SChgNamePacketUnit::SChgNamePacketUnit(&v1[1]._vptr_Packet);
- return v1;
- }
- // 80D1CE8: using guessed type _DWORD (__cdecl *off_80D1CE8[2])(Packets::LWChangeName *this);
- //----- (0806BF5C) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWChangeNameFactory::GetPacketID(const Packets::LWChangeNameFactory *const this)
- {
- return 459;
- }
- //----- (0806BF68) --------------------------------------------------------
- UINT __cdecl Packets::LWChangeNameFactory::GetPacketMaxSize(const Packets::LWChangeNameFactory *const this)
- {
- return Packets::SChgNamePacketUnit::GetPacketSize();
- }
- //----- (0806BF74) --------------------------------------------------------
- Packet *__cdecl Packets::LWOperateAccResultFactory::CreatePacket(Packets::LWOperateAccResultFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0x50u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80D2AA8;
- *(_WORD *)(v1 + 78) = 0;
- *(_DWORD *)(v1 + 72) = 0;
- *(_DWORD *)(v1 + 64) = 0;
- *(_WORD *)(v1 + 68) = 0;
- *(_DWORD *)(v1 + 12) = 0;
- return (Packet *)v1;
- }
- // 80D2AA8: using guessed type _DWORD (__cdecl *off_80D2AA8[2])(Packets::LWOperateAccResult *this);
- //----- (0806BFD4) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWOperateAccResultFactory::GetPacketID(const Packets::LWOperateAccResultFactory *const this)
- {
- return 230;
- }
- //----- (0806BFE0) --------------------------------------------------------
- UINT __cdecl Packets::LWOperateAccResultFactory::GetPacketMaxSize(const Packets::LWOperateAccResultFactory *const this)
- {
- return 64;
- }
- //----- (0806BFEC) --------------------------------------------------------
- Packet *__cdecl Packets::WLRetCharLoginFactory::CreatePacket(Packets::WLRetCharLoginFactory *const this)
- {
- Packet *v1; // esi
- v1 = (Packet *)operator new(0x54u);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80D00E8;
- return v1;
- }
- // 80D00E8: using guessed type _DWORD (__cdecl *off_80D00E8[2])(Packets::WLRetCharLogin *this);
- //----- (0806C02C) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLRetCharLoginFactory::GetPacketID(const Packets::WLRetCharLoginFactory *const this)
- {
- return 91;
- }
- //----- (0806C038) --------------------------------------------------------
- UINT __cdecl Packets::WLRetCharLoginFactory::GetPacketMaxSize(const Packets::WLRetCharLoginFactory *const this)
- {
- return 66;
- }
- //----- (0806C044) --------------------------------------------------------
- Packet *__cdecl Packets::WLBillingStartFactory::CreatePacket(Packets::WLBillingStartFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- int v3; // edi
- v1 = operator new(0x84u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80CFF88;
- memset((void *)(v1 + 12), 0, 0x30u);
- v2 = v1 + 60;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- memset((void *)(v1 + 63), 0, 0x30u);
- v3 = v1 + 111;
- *(_WORD *)v3 = 0;
- *(_BYTE *)(v3 + 2) = 0;
- *(_DWORD *)(v1 + 116) = -1;
- return (Packet *)v1;
- }
- // 80CFF88: using guessed type _DWORD (__cdecl *off_80CFF88[2])(Packets::WLBillingStart *this);
- //----- (0806C0AC) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLBillingStartFactory::GetPacketID(const Packets::WLBillingStartFactory *const this)
- {
- return 470;
- }
- //----- (0806C0B8) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingStartFactory::GetPacketMaxSize(const Packets::WLBillingStartFactory *const this)
- {
- return 114;
- }
- //----- (0806C0C4) --------------------------------------------------------
- Packet *__cdecl Packets::WLBillingEndFactory::CreatePacket(Packets::WLBillingEndFactory *const this)
- {
- Packet *v1; // esi
- int v2; // edi
- v1 = (Packet *)operator new(0x4Cu);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80CFB68;
- memset(&v1[1], 0, 0x30u);
- v2 = (int)&v1[5];
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- return v1;
- }
- // 80CFB68: using guessed type _DWORD (__cdecl *off_80CFB68[2])(Packets::WLBillingEnd *this);
- //----- (0806C118) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLBillingEndFactory::GetPacketID(const Packets::WLBillingEndFactory *const this)
- {
- return 237;
- }
- //----- (0806C124) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingEndFactory::GetPacketMaxSize(const Packets::WLBillingEndFactory *const this)
- {
- return 62;
- }
- //----- (0806C130) --------------------------------------------------------
- Packet *__cdecl Packets::WLBillingKeepFactory::CreatePacket(Packets::WLBillingKeepFactory *const this)
- {
- Packet *v1; // esi
- int v2; // edi
- v1 = (Packet *)operator new(0x4Cu);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80CFCC8;
- memset(&v1[1], 0, 0x30u);
- v2 = (int)&v1[5];
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- return v1;
- }
- // 80CFCC8: using guessed type _DWORD (__cdecl *off_80CFCC8[2])(Packets::WLBillingKeep *this);
- //----- (0806C184) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLBillingKeepFactory::GetPacketID(const Packets::WLBillingKeepFactory *const this)
- {
- return 205;
- }
- //----- (0806C190) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingKeepFactory::GetPacketMaxSize(const Packets::WLBillingKeepFactory *const this)
- {
- return 61;
- }
- //----- (0806C19C) --------------------------------------------------------
- Packet *__cdecl Packets::WLBillingKickFactory::CreatePacket(Packets::WLBillingKickFactory *const this)
- {
- Packet *v1; // esi
- v1 = (Packet *)operator new(0x10u);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80CFE28;
- return v1;
- }
- // 80CFE28: using guessed type _DWORD (__cdecl *off_80CFE28[2])(Packets::WLBillingKick *this);
- //----- (0806C1DC) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLBillingKickFactory::GetPacketID(const Packets::WLBillingKickFactory *const this)
- {
- return 287;
- }
- //----- (0806C1E8) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingKickFactory::GetPacketMaxSize(const Packets::WLBillingKickFactory *const this)
- {
- return 2;
- }
- //----- (0806C1F4) --------------------------------------------------------
- Packet *__cdecl Packets::WLAskPrizeFactory::CreatePacket(Packets::WLAskPrizeFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- int v3; // edi
- v1 = operator new(0xA8u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80D1348;
- *(_WORD *)(v1 + 12) = -1;
- memset((void *)(v1 + 14), 0, 0x30u);
- v2 = v1 + 62;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- memset((void *)(v1 + 65), 0, 0x1Cu);
- v3 = v1 + 93;
- *(_WORD *)v3 = 0;
- *(_BYTE *)(v3 + 2) = 0;
- memset((void *)(v1 + 96), 0, 0x18u);
- *(_BYTE *)(v1 + 120) = 0;
- *(_DWORD *)(v1 + 124) = -1;
- *(_BYTE *)(v1 + 128) = 0;
- *(_DWORD *)(v1 + 132) = 0;
- *(_WORD *)(v1 + 136) = 0;
- *(_DWORD *)(v1 + 140) = 0;
- memset((void *)(v1 + 144), 0, 0x14u);
- *(_BYTE *)(v1 + 164) = 0;
- *(_WORD *)(v1 + 166) = 1;
- return (Packet *)v1;
- }
- // 80D1348: using guessed type _DWORD (__cdecl *off_80D1348[2])(Packets::WLAskPrize *this);
- //----- (0806C2A0) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLAskPrizeFactory::GetPacketID(const Packets::WLAskPrizeFactory *const this)
- {
- return 219;
- }
- //----- (0806C2AC) --------------------------------------------------------
- UINT __cdecl Packets::WLAskPrizeFactory::GetPacketMaxSize(const Packets::WLAskPrizeFactory *const this)
- {
- return 143;
- }
- //----- (0806C2B8) --------------------------------------------------------
- Packet *__cdecl Packets::WLNotifyUserFactory::CreatePacket(Packets::WLNotifyUserFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- v1 = operator new(0x60u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80D1648;
- memset((void *)(v1 + 12), 0, 0x30u);
- v2 = v1 + 60;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- memset((void *)(v1 + 63), 0, 0x18u);
- *(_BYTE *)(v1 + 87) = 0;
- *(_DWORD *)(v1 + 88) = 0;
- *(_DWORD *)(v1 + 92) = -1;
- return (Packet *)v1;
- }
- // 80D1648: using guessed type _DWORD (__cdecl *off_80D1648[2])(Packets::WLNotifyUser *this);
- //----- (0806C320) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLNotifyUserFactory::GetPacketID(const Packets::WLNotifyUserFactory *const this)
- {
- return 358;
- }
- //----- (0806C32C) --------------------------------------------------------
- UINT __cdecl Packets::WLNotifyUserFactory::GetPacketMaxSize(const Packets::WLNotifyUserFactory *const this)
- {
- return 82;
- }
- //----- (0806C338) --------------------------------------------------------
- Packet *__cdecl Packets::WLChangeNameFactory::CreatePacket(Packets::WLChangeNameFactory *const this)
- {
- Packet *v1; // ebx
- v1 = (Packet *)operator new(0x58u);
- Packet::Packet((int)v1);
- v1->_vptr_Packet = (int (**)(...))off_80D1E48;
- Packets::SChgNamePacketUnit::SChgNamePacketUnit(&v1[1]._vptr_Packet);
- return v1;
- }
- // 80D1E48: using guessed type _DWORD (__cdecl *off_80D1E48[2])(Packets::WLChangeName *this);
- //----- (0806C394) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLChangeNameFactory::GetPacketID(const Packets::WLChangeNameFactory *const this)
- {
- return 151;
- }
- //----- (0806C3A0) --------------------------------------------------------
- UINT __cdecl Packets::WLChangeNameFactory::GetPacketMaxSize(const Packets::WLChangeNameFactory *const this)
- {
- return Packets::SChgNamePacketUnit::GetPacketSize();
- }
- //----- (0806C3AC) --------------------------------------------------------
- Packet *__cdecl Packets::WLOperateAccFactory::CreatePacket(Packets::WLOperateAccFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0xDCu);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80D2C48;
- *(_DWORD *)(v1 + 204) = 0;
- *(_DWORD *)(v1 + 196) = 0;
- *(_WORD *)(v1 + 200) = 0;
- *(_DWORD *)(v1 + 12) = 0;
- *(_DWORD *)(v1 + 212) = -1;
- *(_WORD *)(v1 + 216) = 1;
- return (Packet *)v1;
- }
- // 80D2C48: using guessed type _DWORD (__cdecl *off_80D2C48[2])(Packets::WLOperateAcc *this);
- //----- (0806C428) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLOperateAccFactory::GetPacketID(const Packets::WLOperateAccFactory *const this)
- {
- return 265;
- }
- //----- (0806C434) --------------------------------------------------------
- UINT __cdecl Packets::WLOperateAccFactory::GetPacketMaxSize(const Packets::WLOperateAccFactory *const this)
- {
- return 200;
- }
- //----- (0806C440) --------------------------------------------------------
- Packet *__cdecl Packets::LBAskAuthFactory::CreatePacket(Packets::LBAskAuthFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- signed int v3; // ecx
- int v4; // ebx
- _BYTE *v5; // edi
- v1 = operator new(0xCCu);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80CD588;
- memset((void *)(v1 + 12), 0, 0x30u);
- v2 = v1 + 60;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- memset((void *)(v1 + 63), 0, 0x20u);
- *(_BYTE *)(v1 + 95) = 0;
- memset((void *)(v1 + 96), 0, 0x10u);
- v3 = 0;
- v4 = v1;
- do
- {
- *(_WORD *)(v4 + 114) = 0;
- *(_BYTE *)(v4 + 116) = 0;
- ++v3;
- *(_WORD *)(v4 + 123) = 0;
- v5 = (_BYTE *)(v4 + 125);
- v4 += 3;
- *v5 = 0;
- }
- while ( v3 <= 2 );
- memset((void *)(v1 + 132), 0, 0x20u);
- *(_BYTE *)(v1 + 164) = 0;
- memset((void *)(v1 + 165), 0, 0x24u);
- return (Packet *)v1;
- }
- // 80CD588: using guessed type _DWORD (__cdecl *off_80CD588[2])(Packets::LBAskAuth *this);
- //----- (0806C4E4) --------------------------------------------------------
- PacketID_t __cdecl Packets::LBAskAuthFactory::GetPacketID(const Packets::LBAskAuthFactory *const this)
- {
- return 23;
- }
- //----- (0806C4F0) --------------------------------------------------------
- UINT __cdecl Packets::LBAskAuthFactory::GetPacketMaxSize(const Packets::LBAskAuthFactory *const this)
- {
- return 176;
- }
- //----- (0806C4FC) --------------------------------------------------------
- Packet *__cdecl Packets::LBAskRegAuthFactory::CreatePacket(Packets::LBAskRegAuthFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- v1 = operator new(0x194u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80CD828;
- memset((void *)(v1 + 12), 0, 0x30u);
- v2 = v1 + 60;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- memset((void *)(v1 + 63), 0, 0x20u);
- *(_BYTE *)(v1 + 95) = 0;
- memset((void *)(v1 + 96), 0, 0x20u);
- *(_BYTE *)(v1 + 128) = 0;
- memset((void *)(v1 + 129), 0, 0x10u);
- memset((void *)(v1 + 145), 0, 0x100u);
- *(_WORD *)(v1 + 402) = -1;
- return (Packet *)v1;
- }
- // 80CD828: using guessed type _DWORD (__cdecl *off_80CD828[2])(Packets::LBAskRegAuth *this);
- //----- (0806C58C) --------------------------------------------------------
- PacketID_t __cdecl Packets::LBAskRegAuthFactory::GetPacketID(const Packets::LBAskRegAuthFactory *const this)
- {
- return 194;
- }
- //----- (0806C598) --------------------------------------------------------
- UINT __cdecl Packets::LBAskRegAuthFactory::GetPacketMaxSize(const Packets::LBAskRegAuthFactory *const this)
- {
- return 386;
- }
- //----- (0806C5A4) --------------------------------------------------------
- Packet *__cdecl Packets::LBAskRegLicenseFactory::CreatePacket(Packets::LBAskRegLicenseFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- v1 = operator new(0x54u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80D2428;
- memset((void *)(v1 + 12), 0, 0x30u);
- v2 = v1 + 60;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- *(_BYTE *)(v1 + 63) = 1;
- *(_WORD *)(v1 + 64) = -1;
- return (Packet *)v1;
- }
- // 80D2428: using guessed type _DWORD (__cdecl *off_80D2428[2])(Packets::LBAskRegLicense *this);
- //----- (0806C600) --------------------------------------------------------
- PacketID_t __cdecl Packets::LBAskRegLicenseFactory::GetPacketID(const Packets::LBAskRegLicenseFactory *const this)
- {
- return 282;
- }
- //----- (0806C60C) --------------------------------------------------------
- UINT __cdecl Packets::LBAskRegLicenseFactory::GetPacketMaxSize(const Packets::LBAskRegLicenseFactory *const this)
- {
- return 68;
- }
- //----- (0806C618) --------------------------------------------------------
- Packet *__cdecl Packets::BLRetAuthFactory::CreatePacket(Packets::BLRetAuthFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- v1 = operator new(0x90u);
- Packet::Packet(v1);
- *(_DWORD *)v1 = off_80CB5E8;
- memset((void *)(v1 + 76), 0, 0x20u);
- *(_BYTE *)(v1 + 108) = 0;
- memset((void *)(v1 + 12), 0, 0x30u);
- v2 = v1 + 60;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- memset((void *)(v1 + 109), 0, 0x10u);
- *(_BYTE *)(v1 + 125) = 78;
- *(_BYTE *)(v1 + 132) = 78;
- *(_BYTE *)(v1 + 133) = 78;
- *(_BYTE *)(v1 + 134) = 78;
- *(_BYTE *)(v1 + 135) = 78;
- *(_BYTE *)(v1 + 136) = 78;
- *(_BYTE *)(v1 + 137) = 78;
- *(_BYTE *)(v1 + 138) = 78;
- *(_WORD *)(v1 + 140) = 0;
- return (Packet *)v1;
- }
- // 80CB5E8: using guessed type _DWORD (__cdecl *off_80CB5E8[2])(Packets::BLRetAuth *this);
- //----- (0806C6BC) --------------------------------------------------------
- PacketID_t __cdecl Packets::BLRetAuthFactory::GetPacketID(const Packets::BLRetAuthFactory *const this)
- {
- return 97;
- }
- //----- (0806C6C8) --------------------------------------------------------
- UINT __cdecl Packets::BLRetAuthFactory::GetPacketMaxSize(const Packets::BLRetAuthFactory *const this)
- {
- return 117;
- }
- //----- (0806C6D4) --------------------------------------------------------
- void __cdecl BillPacketFactory::~BillPacketFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806C6E4) --------------------------------------------------------
- void __cdecl BillPacketFactory::~BillPacketFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806C6F8) --------------------------------------------------------
- BillPacket *__cdecl Packets::BLRetConnectFactory::CreatePacket(Packets::BLRetConnectFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0xCu);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80CBC68;
- *(_WORD *)(v1 + 8) = 0;
- return (BillPacket *)v1;
- }
- // 80CBC68: using guessed type _DWORD (__cdecl *off_80CBC68[2])(Packets::BLRetConnect *this);
- //----- (0806C740) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetConnectFactory::GetPacketID(const Packets::BLRetConnectFactory *const this)
- {
- return -96;
- }
- //----- (0806C74C) --------------------------------------------------------
- UINT __cdecl Packets::BLRetConnectFactory::GetPacketMaxSize(const Packets::BLRetConnectFactory *const this)
- {
- return 2;
- }
- //----- (0806C758) --------------------------------------------------------
- BillPacket *__cdecl Packets::BLRetKeepLiveFactory::CreatePacket(Packets::BLRetKeepLiveFactory *const this)
- {
- int v1; // esi
- v1 = operator new(0xCu);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80CBDE8;
- *(_WORD *)(v1 + 8) = 0;
- return (BillPacket *)v1;
- }
- // 80CBDE8: using guessed type _DWORD (__cdecl *off_80CBDE8[2])(Packets::BLRetKeepLive *this);
- //----- (0806C7A0) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetKeepLiveFactory::GetPacketID(const Packets::BLRetKeepLiveFactory *const this)
- {
- return -95;
- }
- //----- (0806C7AC) --------------------------------------------------------
- UINT __cdecl Packets::BLRetKeepLiveFactory::GetPacketMaxSize(const Packets::BLRetKeepLiveFactory *const this)
- {
- return 2;
- }
- //----- (0806C7B8) --------------------------------------------------------
- BillPacket *__cdecl Packets::BLRetAccCheckFactory::CreatePacket(Packets::BLRetAccCheckFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- v1 = operator new(0x90u);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80CB468;
- memset((void *)(v1 + 8), 0, 0x30u);
- v2 = v1 + 56;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- memset((void *)(v1 + 91), 0, 0x10u);
- memset((void *)(v1 + 108), 0, 0x20u);
- *(_BYTE *)(v1 + 140) = 0;
- *(_BYTE *)(v1 + 72) = 78;
- *(_BYTE *)(v1 + 80) = 78;
- *(_BYTE *)(v1 + 81) = 78;
- *(_BYTE *)(v1 + 82) = 78;
- *(_BYTE *)(v1 + 83) = 78;
- *(_BYTE *)(v1 + 84) = 78;
- *(_BYTE *)(v1 + 85) = 78;
- *(_BYTE *)(v1 + 86) = 78;
- *(_DWORD *)(v1 + 76) = 0;
- *(_WORD *)(v1 + 142) = 0;
- return (BillPacket *)v1;
- }
- // 80CB468: using guessed type _DWORD (__cdecl *off_80CB468[2])(Packets::BLRetAccCheck *this);
- //----- (0806C84C) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetAccCheckFactory::GetPacketID(const Packets::BLRetAccCheckFactory *const this)
- {
- return -94;
- }
- //----- (0806C858) --------------------------------------------------------
- UINT __cdecl Packets::BLRetAccCheckFactory::GetPacketMaxSize(const Packets::BLRetAccCheckFactory *const this)
- {
- return 105;
- }
- //----- (0806C864) --------------------------------------------------------
- BillPacket *__cdecl Packets::BLRetBillingStartFactory::CreatePacket(Packets::BLRetBillingStartFactory *const this)
- {
- BillPacket *v1; // esi
- int v2; // edi
- v1 = (BillPacket *)operator new(0x50u);
- BillPacket::BillPacket(v1);
- v1->_vptr_BillPacket = (int (**)(...))off_80CBAC8;
- memset(&v1[1], 0, 0x30u);
- v2 = (int)&v1[7];
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- return v1;
- }
- // 80CBAC8: using guessed type _DWORD (__cdecl *off_80CBAC8[2])(Packets::BLRetBillingStart *this);
- //----- (0806C8B8) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetBillingStartFactory::GetPacketID(const Packets::BLRetBillingStartFactory *const this)
- {
- return -93;
- }
- //----- (0806C8C4) --------------------------------------------------------
- UINT __cdecl Packets::BLRetBillingStartFactory::GetPacketMaxSize(const Packets::BLRetBillingStartFactory *const this)
- {
- return 66;
- }
- //----- (0806C8D0) --------------------------------------------------------
- BillPacket *__cdecl Packets::BLRetBillingEndFactory::CreatePacket(Packets::BLRetBillingEndFactory *const this)
- {
- BillPacket *v1; // esi
- int v2; // edi
- v1 = (BillPacket *)operator new(0x3Cu);
- BillPacket::BillPacket(v1);
- v1->_vptr_BillPacket = (int (**)(...))off_80CB788;
- memset(&v1[1], 0, 0x30u);
- v2 = (int)&v1[7];
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- return v1;
- }
- // 80CB788: using guessed type _DWORD (__cdecl *off_80CB788[2])(Packets::BLRetBillingEnd *this);
- //----- (0806C924) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetBillingEndFactory::GetPacketID(const Packets::BLRetBillingEndFactory *const this)
- {
- return -92;
- }
- //----- (0806C930) --------------------------------------------------------
- UINT __cdecl Packets::BLRetBillingEndFactory::GetPacketMaxSize(const Packets::BLRetBillingEndFactory *const this)
- {
- return 52;
- }
- //----- (0806C93C) --------------------------------------------------------
- BillPacket *__cdecl Packets::BLRetBillingKeepFactory::CreatePacket(Packets::BLRetBillingKeepFactory *const this)
- {
- BillPacket *v1; // esi
- int v2; // edi
- v1 = (BillPacket *)operator new(0x48u);
- BillPacket::BillPacket(v1);
- v1->_vptr_BillPacket = (int (**)(...))off_80CB928;
- memset(&v1[1], 0, 0x30u);
- v2 = (int)&v1[7];
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- return v1;
- }
- // 80CB928: using guessed type _DWORD (__cdecl *off_80CB928[2])(Packets::BLRetBillingKeep *this);
- //----- (0806C990) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetBillingKeepFactory::GetPacketID(const Packets::BLRetBillingKeepFactory *const this)
- {
- return -90;
- }
- //----- (0806C99C) --------------------------------------------------------
- UINT __cdecl Packets::BLRetBillingKeepFactory::GetPacketMaxSize(const Packets::BLRetBillingKeepFactory *const this)
- {
- return 64;
- }
- //----- (0806C9A8) --------------------------------------------------------
- BillPacket *__cdecl Packets::BLRetKickALLFactory::CreatePacket(Packets::BLRetKickALLFactory *const this)
- {
- int v1; // esi
- v1 = operator new(8u);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80CBF68;
- *(_BYTE *)(v1 + 7) = 0;
- return (BillPacket *)v1;
- }
- // 80CBF68: using guessed type _DWORD (__cdecl *off_80CBF68[2])(Packets::BLRetKickALL *this);
- //----- (0806C9EC) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetKickALLFactory::GetPacketID(const Packets::BLRetKickALLFactory *const this)
- {
- return -87;
- }
- //----- (0806C9F8) --------------------------------------------------------
- UINT __cdecl Packets::BLRetKickALLFactory::GetPacketMaxSize(const Packets::BLRetKickALLFactory *const this)
- {
- return 1;
- }
- //----- (0806CA04) --------------------------------------------------------
- BillPacket *__cdecl Packets::BLRetRegPassPortFactory::CreatePacket(Packets::BLRetRegPassPortFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- v1 = operator new(0x3Cu);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80CC0E8;
- memset((void *)(v1 + 8), 0, 0x30u);
- v2 = v1 + 56;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- *(_BYTE *)(v1 + 59) = 0;
- *(_BYTE *)(v1 + 7) = 0;
- return (BillPacket *)v1;
- }
- // 80CC0E8: using guessed type _DWORD (__cdecl *off_80CC0E8[2])(Packets::BLRetRegPassPort *this);
- //----- (0806CA60) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetRegPassPortFactory::GetPacketID(const Packets::BLRetRegPassPortFactory *const this)
- {
- return -15;
- }
- //----- (0806CA6C) --------------------------------------------------------
- UINT __cdecl Packets::BLRetRegPassPortFactory::GetPacketMaxSize(const Packets::BLRetRegPassPortFactory *const this)
- {
- return 52;
- }
- //----- (0806CA78) --------------------------------------------------------
- BillPacket *__cdecl Packets::BLRetPrizeFactory::CreatePacket(Packets::BLRetPrizeFactory *const this)
- {
- int v1; // esi
- _BYTE *v2; // ebx
- int v3; // edi
- signed int v5; // [esp+10h] [ebp-24h]
- v1 = operator new(0x2CCu);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80D0588;
- v2 = (_BYTE *)(v1 + 61);
- v5 = 29;
- do
- {
- memset(v2, 0, 0x14u);
- v2[20] = 0;
- --v5;
- v2 += 21;
- }
- while ( v5 != -1 );
- memset((void *)(v1 + 8), 0, 0x30u);
- v3 = v1 + 56;
- *(_WORD *)v3 = 0;
- *(_BYTE *)(v3 + 2) = 0;
- memset((void *)(v1 + 61), 0, 0x276u);
- memset((void *)(v1 + 691), 0, 0x14u);
- *(_WORD *)(v1 + 711) = 0;
- *(_BYTE *)(v1 + 60) = 0;
- *(_BYTE *)(v1 + 59) = 0;
- *(_BYTE *)(v1 + 7) = 0;
- return (BillPacket *)v1;
- }
- // 80D0588: using guessed type _DWORD (__cdecl *off_80D0588[2])(Packets::BLRetPrize *this);
- //----- (0806CB3C) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetPrizeFactory::GetPacketID(const Packets::BLRetPrizeFactory *const this)
- {
- return -60;
- }
- //----- (0806CB48) --------------------------------------------------------
- UINT __cdecl Packets::BLRetPrizeFactory::GetPacketMaxSize(const Packets::BLRetPrizeFactory *const this)
- {
- return 704;
- }
- //----- (0806CB54) --------------------------------------------------------
- BillPacket *__cdecl Packets::BLRetAskPointFactory::CreatePacket(Packets::BLRetAskPointFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- v1 = operator new(0x40u);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80D0408;
- memset((void *)(v1 + 8), 0, 0x30u);
- v2 = v1 + 56;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- *(_DWORD *)(v1 + 60) = 0;
- return (BillPacket *)v1;
- }
- // 80D0408: using guessed type _DWORD (__cdecl *off_80D0408[2])(Packets::BLRetAskPoint *this);
- //----- (0806CBAC) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetAskPointFactory::GetPacketID(const Packets::BLRetAskPointFactory *const this)
- {
- return -30;
- }
- //----- (0806CBB8) --------------------------------------------------------
- UINT __cdecl Packets::BLRetAskPointFactory::GetPacketMaxSize(const Packets::BLRetAskPointFactory *const this)
- {
- return 55;
- }
- //----- (0806CBC4) --------------------------------------------------------
- BillPacket *__cdecl Packets::BLRetAskBuyFactory::CreatePacket(Packets::BLRetAskBuyFactory *const this)
- {
- int v1; // esi
- int v2; // eax
- signed int v3; // edx
- int v4; // edi
- v1 = operator new(0x14Cu);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80D0288;
- v2 = v1 + 68;
- v3 = 29;
- do
- {
- --v3;
- *(_DWORD *)v2 = 0;
- *(_WORD *)(v2 + 4) = 0;
- v2 += 8;
- }
- while ( v3 != -1 );
- memset((void *)(v1 + 8), 0, 0x30u);
- v4 = v1 + 56;
- *(_WORD *)v4 = 0;
- *(_BYTE *)(v4 + 2) = 0;
- memset((void *)(v1 + 308), 0, 0x14u);
- *(_WORD *)(v1 + 328) = 0;
- *(_BYTE *)(v1 + 59) = 0;
- *(_BYTE *)(v1 + 7) = 0;
- *(_WORD *)(v1 + 64) = 0;
- *(_DWORD *)(v1 + 60) = 0;
- return (BillPacket *)v1;
- }
- // 80D0288: using guessed type _DWORD (__cdecl *off_80D0288[2])(Packets::BLRetAskBuy *this);
- //----- (0806CC58) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetAskBuyFactory::GetPacketID(const Packets::BLRetAskBuyFactory *const this)
- {
- return -31;
- }
- //----- (0806CC64) --------------------------------------------------------
- UINT __cdecl Packets::BLRetAskBuyFactory::GetPacketMaxSize(const Packets::BLRetAskBuyFactory *const this)
- {
- return 259;
- }
- //----- (0806CC70) --------------------------------------------------------
- BillPacket *__cdecl Packets::LBLCostLogFactory::CreatePacket(Packets::LBLCostLogFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- int v3; // edi
- v1 = operator new(0x1A4u);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80D1948;
- memset((void *)(v1 + 61), 0, 0x30u);
- v2 = v1 + 109;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- memset((void *)(v1 + 145), 0, 0x10u);
- memset((void *)(v1 + 113), 0, 0x1Cu);
- v3 = v1 + 141;
- *(_WORD *)v3 = 0;
- *(_BYTE *)(v3 + 2) = 0;
- memset((void *)(v1 + 8), 0, 0x14u);
- *(_WORD *)(v1 + 28) = 0;
- memset((void *)(v1 + 162), 0, 0x100u);
- *(_BYTE *)(v1 + 161) = 0;
- *(_BYTE *)(v1 + 112) = 0;
- *(_BYTE *)(v1 + 144) = 0;
- *(_BYTE *)(v1 + 60) = 0;
- *(_WORD *)(v1 + 30) = 0;
- *(_DWORD *)(v1 + 32) = 0;
- *(_DWORD *)(v1 + 36) = 0;
- *(_DWORD *)(v1 + 40) = 0;
- *(_DWORD *)(v1 + 44) = -1;
- *(_WORD *)(v1 + 48) = 0;
- *(_DWORD *)(v1 + 52) = 0;
- *(_DWORD *)(v1 + 56) = 0;
- *(_BYTE *)(v1 + 7) = 1;
- *(_BYTE *)(v1 + 418) = 0;
- return (BillPacket *)v1;
- }
- // 80D1948: using guessed type _DWORD (__cdecl *off_80D1948[2])(Packets::LBLCostLog *this);
- //----- (0806CD50) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLCostLogFactory::GetPacketID(const Packets::LBLCostLogFactory *const this)
- {
- return -59;
- }
- //----- (0806CD5C) --------------------------------------------------------
- UINT __cdecl Packets::LBLCostLogFactory::GetPacketMaxSize(const Packets::LBLCostLogFactory *const this)
- {
- return 404;
- }
- //----- (0806CD68) --------------------------------------------------------
- BillPacket *__cdecl Packets::LBLAskNewUserCardFactory::CreatePacket(Packets::LBLAskNewUserCardFactory *const this)
- {
- int v1; // esi
- _BYTE *v2; // ebx
- int v3; // edi
- int v4; // edi
- signed int v6; // [esp+18h] [ebp-2Ch]
- v1 = operator new(0x304u);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80D09E8;
- v2 = (_BYTE *)(v1 + 133);
- v6 = 29;
- do
- {
- memset(v2, 0, 0x14u);
- v2[20] = 0;
- --v6;
- v2 += 21;
- }
- while ( v6 != -1 );
- memset((void *)(v1 + 31), 0, 0x30u);
- v3 = v1 + 79;
- *(_WORD *)v3 = 0;
- *(_BYTE *)(v3 + 2) = 0;
- memset((void *)(v1 + 83), 0, 0x10u);
- memset((void *)(v1 + 100), 0, 0x1Cu);
- v4 = v1 + 128;
- *(_WORD *)v4 = 0;
- *(_BYTE *)(v4 + 2) = 0;
- memset((void *)(v1 + 9), 0, 0x14u);
- *(_BYTE *)(v1 + 29) = 0;
- memset((void *)(v1 + 133), 0, 0x276u);
- *(_BYTE *)(v1 + 99) = 0;
- *(_BYTE *)(v1 + 82) = 0;
- *(_BYTE *)(v1 + 30) = 0;
- *(_BYTE *)(v1 + 8) = 0;
- *(_BYTE *)(v1 + 131) = 0;
- *(_BYTE *)(v1 + 7) = 1;
- *(_WORD *)(v1 + 768) = 1;
- *(_DWORD *)(v1 + 764) = -1;
- return (BillPacket *)v1;
- }
- // 80D09E8: using guessed type _DWORD (__cdecl *off_80D09E8[2])(Packets::LBLAskNewUserCard *this);
- //----- (0806CE58) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLAskNewUserCardFactory::GetPacketID(const Packets::LBLAskNewUserCardFactory *const this)
- {
- return -63;
- }
- //----- (0806CE64) --------------------------------------------------------
- UINT __cdecl Packets::LBLAskNewUserCardFactory::GetPacketMaxSize(const Packets::LBLAskNewUserCardFactory *const this)
- {
- return 757;
- }
- //----- (0806CE70) --------------------------------------------------------
- BillPacket *__cdecl Packets::LBLNewPrizeFactory::CreatePacket(Packets::LBLNewPrizeFactory *const this)
- {
- int v1; // esi
- _BYTE *v2; // ebx
- int v3; // edi
- int v4; // edi
- signed int v6; // [esp+18h] [ebp-2Ch]
- v1 = operator new(0x304u);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80D0EC8;
- v2 = (_BYTE *)(v1 + 133);
- v6 = 29;
- do
- {
- memset(v2, 0, 0x14u);
- v2[20] = 0;
- --v6;
- v2 += 21;
- }
- while ( v6 != -1 );
- *(_BYTE *)(v1 + 7) = 1;
- memset((void *)(v1 + 9), 0, 0x30u);
- v3 = v1 + 57;
- *(_WORD *)v3 = 0;
- *(_BYTE *)(v3 + 2) = 0;
- memset((void *)(v1 + 61), 0, 0x10u);
- memset((void *)(v1 + 78), 0, 0x1Cu);
- v4 = v1 + 106;
- *(_WORD *)v4 = 0;
- *(_BYTE *)(v4 + 2) = 0;
- memset((void *)(v1 + 109), 0, 0x14u);
- *(_WORD *)(v1 + 129) = 0;
- *(_BYTE *)(v1 + 77) = 0;
- *(_BYTE *)(v1 + 60) = 0;
- *(_BYTE *)(v1 + 8) = 0;
- memset((void *)(v1 + 133), 0, 0x276u);
- *(_BYTE *)(v1 + 131) = 0;
- *(_BYTE *)(v1 + 132) = 0;
- *(_DWORD *)(v1 + 764) = -1;
- *(_WORD *)(v1 + 768) = 1;
- return (BillPacket *)v1;
- }
- // 80D0EC8: using guessed type _DWORD (__cdecl *off_80D0EC8[2])(Packets::LBLNewPrize *this);
- //----- (0806CF64) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLNewPrizeFactory::GetPacketID(const Packets::LBLNewPrizeFactory *const this)
- {
- return -61;
- }
- //----- (0806CF70) --------------------------------------------------------
- UINT __cdecl Packets::LBLNewPrizeFactory::GetPacketMaxSize(const Packets::LBLNewPrizeFactory *const this)
- {
- return 757;
- }
- //----- (0806CF7C) --------------------------------------------------------
- BillPacket *__cdecl Packets::LBLNewCheckPrizeFactory::CreatePacket(Packets::LBLNewCheckPrizeFactory *const this)
- {
- int v1; // esi
- _BYTE *v2; // ebx
- int v3; // edi
- int v4; // edi
- signed int v6; // [esp+Ch] [ebp-28h]
- v1 = operator new(0x2E8u);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80D0D28;
- v2 = (_BYTE *)(v1 + 111);
- v6 = 29;
- do
- {
- memset(v2, 0, 0x14u);
- v2[20] = 0;
- --v6;
- v2 += 21;
- }
- while ( v6 != -1 );
- *(_BYTE *)(v1 + 7) = 1;
- memset((void *)(v1 + 9), 0, 0x30u);
- v3 = v1 + 57;
- *(_WORD *)v3 = 0;
- *(_BYTE *)(v3 + 2) = 0;
- memset((void *)(v1 + 61), 0, 0x10u);
- memset((void *)(v1 + 78), 0, 0x1Cu);
- v4 = v1 + 106;
- *(_WORD *)v4 = 0;
- *(_BYTE *)(v4 + 2) = 0;
- *(_BYTE *)(v1 + 77) = 0;
- *(_BYTE *)(v1 + 60) = 0;
- *(_BYTE *)(v1 + 8) = 0;
- memset((void *)(v1 + 111), 0, 0x276u);
- *(_BYTE *)(v1 + 109) = 0;
- *(_BYTE *)(v1 + 110) = 0;
- return (BillPacket *)v1;
- }
- // 80D0D28: using guessed type _DWORD (__cdecl *off_80D0D28[2])(Packets::LBLNewCheckPrize *this);
- //----- (0806D044) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLNewCheckPrizeFactory::GetPacketID(const Packets::LBLNewCheckPrizeFactory *const this)
- {
- return -28;
- }
- //----- (0806D050) --------------------------------------------------------
- UINT __cdecl Packets::LBLNewCheckPrizeFactory::GetPacketMaxSize(const Packets::LBLNewCheckPrizeFactory *const this)
- {
- return 730;
- }
- //----- (0806D05C) --------------------------------------------------------
- BillPacket *__cdecl Packets::LBLAskMigFactory::CreatePacket(Packets::LBLAskMigFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- int v3; // edi
- v1 = operator new(0x90u);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80D1B68;
- *(_BYTE *)(v1 + 7) = 1;
- memset((void *)(v1 + 9), 0, 0x30u);
- v2 = v1 + 57;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- memset((void *)(v1 + 61), 0, 0x10u);
- memset((void *)(v1 + 78), 0, 0x1Cu);
- v3 = v1 + 106;
- *(_WORD *)v3 = 0;
- *(_BYTE *)(v3 + 2) = 0;
- memset((void *)(v1 + 109), 0, 0x14u);
- *(_WORD *)(v1 + 129) = 0;
- *(_BYTE *)(v1 + 77) = 0;
- *(_BYTE *)(v1 + 60) = 0;
- *(_BYTE *)(v1 + 8) = 0;
- *(_WORD *)(v1 + 132) = 0;
- *(_DWORD *)(v1 + 136) = -1;
- *(_BYTE *)(v1 + 140) = 0;
- return (BillPacket *)v1;
- }
- // 80D1B68: using guessed type _DWORD (__cdecl *off_80D1B68[2])(Packets::LBLAskMig *this);
- //----- (0806D0F4) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLAskMigFactory::GetPacketID(const Packets::LBLAskMigFactory *const this)
- {
- return -27;
- }
- //----- (0806D100) --------------------------------------------------------
- UINT __cdecl Packets::LBLAskMigFactory::GetPacketMaxSize(const Packets::LBLAskMigFactory *const this)
- {
- return 126;
- }
- //----- (0806D10C) --------------------------------------------------------
- BillPacket *__cdecl Packets::LBLRegNewLicenseFactory::CreatePacket(Packets::LBLRegNewLicenseFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- v1 = operator new(0x50u);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80D2628;
- *(_BYTE *)(v1 + 7) = 1;
- memset((void *)(v1 + 9), 0, 0x30u);
- v2 = v1 + 57;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- *(_BYTE *)(v1 + 8) = 0;
- *(_BYTE *)(v1 + 77) = 89;
- *(_BYTE *)(v1 + 60) = 0;
- memset((void *)(v1 + 61), 0, 0x10u);
- return (BillPacket *)v1;
- }
- // 80D2628: using guessed type _DWORD (__cdecl *off_80D2628[2])(Packets::LBLRegNewLicense *this);
- //----- (0806D174) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLRegNewLicenseFactory::GetPacketID(const Packets::LBLRegNewLicenseFactory *const this)
- {
- return -89;
- }
- //----- (0806D180) --------------------------------------------------------
- UINT __cdecl Packets::LBLRegNewLicenseFactory::GetPacketMaxSize(const Packets::LBLRegNewLicenseFactory *const this)
- {
- return 68;
- }
- //----- (0806D18C) --------------------------------------------------------
- BillPacket *__cdecl Packets::LBLCardCheckPrizeFactory::CreatePacket(Packets::LBLCardCheckPrizeFactory *const this)
- {
- int v1; // esi
- _BYTE *v2; // ebx
- int v3; // edi
- int v4; // edi
- signed int v6; // [esp+18h] [ebp-2Ch]
- v1 = operator new(0x2FCu);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80D0B88;
- v2 = (_BYTE *)(v1 + 133);
- v6 = 29;
- do
- {
- memset(v2, 0, 0x14u);
- v2[20] = 0;
- --v6;
- v2 += 21;
- }
- while ( v6 != -1 );
- memset((void *)(v1 + 31), 0, 0x30u);
- v3 = v1 + 79;
- *(_WORD *)v3 = 0;
- *(_BYTE *)(v3 + 2) = 0;
- memset((void *)(v1 + 83), 0, 0x10u);
- memset((void *)(v1 + 100), 0, 0x1Cu);
- v4 = v1 + 128;
- *(_WORD *)v4 = 0;
- *(_BYTE *)(v4 + 2) = 0;
- memset((void *)(v1 + 9), 0, 0x14u);
- *(_BYTE *)(v1 + 29) = 0;
- memset((void *)(v1 + 133), 0, 0x276u);
- *(_BYTE *)(v1 + 99) = 0;
- *(_BYTE *)(v1 + 82) = 0;
- *(_BYTE *)(v1 + 30) = 0;
- *(_BYTE *)(v1 + 8) = 0;
- *(_BYTE *)(v1 + 131) = 0;
- *(_BYTE *)(v1 + 7) = 1;
- return (BillPacket *)v1;
- }
- // 80D0B88: using guessed type _DWORD (__cdecl *off_80D0B88[2])(Packets::LBLCardCheckPrize *this);
- //----- (0806D268) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLCardCheckPrizeFactory::GetPacketID(const Packets::LBLCardCheckPrizeFactory *const this)
- {
- return -58;
- }
- //----- (0806D274) --------------------------------------------------------
- UINT __cdecl Packets::LBLCardCheckPrizeFactory::GetPacketMaxSize(const Packets::LBLCardCheckPrizeFactory *const this)
- {
- return 751;
- }
- //----- (0806D280) --------------------------------------------------------
- BillPacket *__cdecl Packets::LBLOperateAccFactory::CreatePacket(Packets::LBLOperateAccFactory *const this)
- {
- int v1; // esi
- int v2; // edi
- int v3; // edi
- v1 = operator new(0xECu);
- BillPacket::BillPacket((_DWORD *)v1);
- *(_DWORD *)v1 = off_80D2928;
- *(_BYTE *)(v1 + 7) = 1;
- *(_BYTE *)(v1 + 8) = 0;
- memset((void *)(v1 + 9), 0, 0x14u);
- *(_BYTE *)(v1 + 29) = 0;
- *(_BYTE *)(v1 + 30) = 0;
- memset((void *)(v1 + 31), 0, 0x30u);
- v2 = v1 + 79;
- *(_WORD *)v2 = 0;
- *(_BYTE *)(v2 + 2) = 0;
- *(_BYTE *)(v1 + 82) = 0;
- memset((void *)(v1 + 83), 0, 0x30u);
- v3 = v1 + 131;
- *(_WORD *)v3 = 0;
- *(_BYTE *)(v3 + 2) = 0;
- *(_BYTE *)(v1 + 134) = 0;
- memset((void *)(v1 + 135), 0, 0x10u);
- *(_WORD *)(v1 + 152) = 1;
- *(_BYTE *)(v1 + 154) = 89;
- *(_BYTE *)(v1 + 155) = 0;
- memset((void *)(v1 + 156), 0, 0x20u);
- *(_BYTE *)(v1 + 188) = 0;
- *(_BYTE *)(v1 + 189) = 0;
- memset((void *)(v1 + 190), 0, 0x28u);
- *(_BYTE *)(v1 + 230) = 0;
- *(_DWORD *)(v1 + 232) = -1;
- return (BillPacket *)v1;
- }
- // 80D2928: using guessed type _DWORD (__cdecl *off_80D2928[2])(Packets::LBLOperateAcc *this);
- //----- (0806D348) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLOperateAccFactory::GetPacketID(const Packets::LBLOperateAccFactory *const this)
- {
- return -79;
- }
- //----- (0806D354) --------------------------------------------------------
- UINT __cdecl Packets::LBLOperateAccFactory::GetPacketMaxSize(const Packets::LBLOperateAccFactory *const this)
- {
- return 220;
- }
- //----- (0806D360) --------------------------------------------------------
- Packet *__cdecl Packets::LWAskCharLoginFactory::CreatePacket(Packets::LWAskCharLoginFactory *const this)
- {
- Packets::LWAskCharLogin *v1; // esi
- v1 = (Packets::LWAskCharLogin *)operator new(0xC684u);
- Packets::LWAskCharLogin::LWAskCharLogin(v1);
- return &v1->0;
- }
- //----- (0806D39C) --------------------------------------------------------
- void __cdecl Packets::CLAskLoginFactory::~CLAskLoginFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D3AC) --------------------------------------------------------
- void __cdecl Packets::CLAskLoginFactory::~CLAskLoginFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D3C0) --------------------------------------------------------
- void __cdecl Packets::CLAskCharListFactory::~CLAskCharListFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D3D0) --------------------------------------------------------
- void __cdecl Packets::CLAskCharListFactory::~CLAskCharListFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D3E4) --------------------------------------------------------
- void __cdecl Packets::CLAskCharLoginFactory::~CLAskCharLoginFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D3F4) --------------------------------------------------------
- void __cdecl Packets::CLAskCharLoginFactory::~CLAskCharLoginFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D408) --------------------------------------------------------
- void __cdecl Packets::CLConnectFactory::~CLConnectFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D418) --------------------------------------------------------
- void __cdecl Packets::CLConnectFactory::~CLConnectFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D42C) --------------------------------------------------------
- void __cdecl Packets::CLAskCreateCharFactory::~CLAskCreateCharFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D43C) --------------------------------------------------------
- void __cdecl Packets::CLAskCreateCharFactory::~CLAskCreateCharFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D450) --------------------------------------------------------
- void __cdecl Packets::CLAskDeleteCharFactory::~CLAskDeleteCharFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D460) --------------------------------------------------------
- void __cdecl Packets::CLAskDeleteCharFactory::~CLAskDeleteCharFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D474) --------------------------------------------------------
- void __cdecl Packets::CLAskRegPassPortFactory::~CLAskRegPassPortFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D484) --------------------------------------------------------
- void __cdecl Packets::CLAskRegPassPortFactory::~CLAskRegPassPortFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D498) --------------------------------------------------------
- void __cdecl Packets::CLAskCreateCodeFactory::~CLAskCreateCodeFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D4A8) --------------------------------------------------------
- void __cdecl Packets::CLAskCreateCodeFactory::~CLAskCreateCodeFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D4BC) --------------------------------------------------------
- void __cdecl Packets::CLRegNewLicenseFactory::~CLRegNewLicenseFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D4CC) --------------------------------------------------------
- void __cdecl Packets::CLRegNewLicenseFactory::~CLRegNewLicenseFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D4E0) --------------------------------------------------------
- void __cdecl Packets::CLAskLoginCodeFactory::~CLAskLoginCodeFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D4F0) --------------------------------------------------------
- void __cdecl Packets::CLAskLoginCodeFactory::~CLAskLoginCodeFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D504) --------------------------------------------------------
- void __cdecl Packets::CLRegSafeSignFactory::~CLRegSafeSignFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D514) --------------------------------------------------------
- void __cdecl Packets::CLRegSafeSignFactory::~CLRegSafeSignFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D528) --------------------------------------------------------
- void __cdecl Packets::LCRetLoginFactory::~LCRetLoginFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D538) --------------------------------------------------------
- void __cdecl Packets::LCRetLoginFactory::~LCRetLoginFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D54C) --------------------------------------------------------
- void __cdecl Packets::LCRetCharListFactory::~LCRetCharListFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D55C) --------------------------------------------------------
- void __cdecl Packets::LCRetCharListFactory::~LCRetCharListFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D570) --------------------------------------------------------
- void __cdecl Packets::LCStatusFactory::~LCStatusFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D580) --------------------------------------------------------
- void __cdecl Packets::LCStatusFactory::~LCStatusFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D594) --------------------------------------------------------
- void __cdecl Packets::LCRetCharLoginFactory::~LCRetCharLoginFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D5A4) --------------------------------------------------------
- void __cdecl Packets::LCRetCharLoginFactory::~LCRetCharLoginFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D5B8) --------------------------------------------------------
- void __cdecl Packets::LCRetConnectFactory::~LCRetConnectFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D5C8) --------------------------------------------------------
- void __cdecl Packets::LCRetConnectFactory::~LCRetConnectFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D5DC) --------------------------------------------------------
- void __cdecl Packets::LCRetCreateCharFactory::~LCRetCreateCharFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D5EC) --------------------------------------------------------
- void __cdecl Packets::LCRetCreateCharFactory::~LCRetCreateCharFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D600) --------------------------------------------------------
- void __cdecl Packets::LCRetDeleteCharFactory::~LCRetDeleteCharFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D610) --------------------------------------------------------
- void __cdecl Packets::LCRetDeleteCharFactory::~LCRetDeleteCharFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D624) --------------------------------------------------------
- void __cdecl Packets::LCRetCreateCodeFactory::~LCRetCreateCodeFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D634) --------------------------------------------------------
- void __cdecl Packets::LCRetCreateCodeFactory::~LCRetCreateCodeFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D648) --------------------------------------------------------
- void __cdecl Packets::LCRetLoginCodeFactory::~LCRetLoginCodeFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D658) --------------------------------------------------------
- void __cdecl Packets::LCRetLoginCodeFactory::~LCRetLoginCodeFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D66C) --------------------------------------------------------
- void __cdecl Packets::KeyExchangeFactory::~KeyExchangeFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D67C) --------------------------------------------------------
- void __cdecl Packets::KeyExchangeFactory::~KeyExchangeFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D690) --------------------------------------------------------
- void __cdecl Packets::SSConnectFactory::~SSConnectFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D6A0) --------------------------------------------------------
- void __cdecl Packets::SSConnectFactory::~SSConnectFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D6B4) --------------------------------------------------------
- void __cdecl Packets::SSScenePlayerCountFactory::~SSScenePlayerCountFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D6C4) --------------------------------------------------------
- void __cdecl Packets::SSScenePlayerCountFactory::~SSScenePlayerCountFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D6D8) --------------------------------------------------------
- void __cdecl Packets::GWLWGCostLogFactory::~GWLWGCostLogFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D6E8) --------------------------------------------------------
- void __cdecl Packets::GWLWGCostLogFactory::~GWLWGCostLogFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D6FC) --------------------------------------------------------
- void __cdecl Packets::LWAskCharLoginFactory::~LWAskCharLoginFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D70C) --------------------------------------------------------
- void __cdecl Packets::LWAskCharLoginFactory::~LWAskCharLoginFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D720) --------------------------------------------------------
- void __cdecl Packets::LWRetBillingStartFactory::~LWRetBillingStartFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D730) --------------------------------------------------------
- void __cdecl Packets::LWRetBillingStartFactory::~LWRetBillingStartFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D744) --------------------------------------------------------
- void __cdecl Packets::LWRetBillingEndFactory::~LWRetBillingEndFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D754) --------------------------------------------------------
- void __cdecl Packets::LWRetBillingEndFactory::~LWRetBillingEndFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D768) --------------------------------------------------------
- void __cdecl Packets::LWRetBillingKeepFactory::~LWRetBillingKeepFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D778) --------------------------------------------------------
- void __cdecl Packets::LWRetBillingKeepFactory::~LWRetBillingKeepFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D78C) --------------------------------------------------------
- void __cdecl Packets::LWRetPrizeFactory::~LWRetPrizeFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D79C) --------------------------------------------------------
- void __cdecl Packets::LWRetPrizeFactory::~LWRetPrizeFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D7B0) --------------------------------------------------------
- void __cdecl Packets::LWNotifyUserFactory::~LWNotifyUserFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D7C0) --------------------------------------------------------
- void __cdecl Packets::LWNotifyUserFactory::~LWNotifyUserFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D7D4) --------------------------------------------------------
- void __cdecl Packets::LWChangeNameFactory::~LWChangeNameFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D7E4) --------------------------------------------------------
- void __cdecl Packets::LWChangeNameFactory::~LWChangeNameFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D7F8) --------------------------------------------------------
- void __cdecl Packets::LWOperateAccResultFactory::~LWOperateAccResultFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D808) --------------------------------------------------------
- void __cdecl Packets::LWOperateAccResultFactory::~LWOperateAccResultFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D81C) --------------------------------------------------------
- void __cdecl Packets::WLRetCharLoginFactory::~WLRetCharLoginFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D82C) --------------------------------------------------------
- void __cdecl Packets::WLRetCharLoginFactory::~WLRetCharLoginFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D840) --------------------------------------------------------
- void __cdecl Packets::WLBillingStartFactory::~WLBillingStartFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D850) --------------------------------------------------------
- void __cdecl Packets::WLBillingStartFactory::~WLBillingStartFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D864) --------------------------------------------------------
- void __cdecl Packets::WLBillingEndFactory::~WLBillingEndFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D874) --------------------------------------------------------
- void __cdecl Packets::WLBillingEndFactory::~WLBillingEndFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D888) --------------------------------------------------------
- void __cdecl Packets::WLBillingKeepFactory::~WLBillingKeepFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D898) --------------------------------------------------------
- void __cdecl Packets::WLBillingKeepFactory::~WLBillingKeepFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D8AC) --------------------------------------------------------
- void __cdecl Packets::WLBillingKickFactory::~WLBillingKickFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D8BC) --------------------------------------------------------
- void __cdecl Packets::WLBillingKickFactory::~WLBillingKickFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D8D0) --------------------------------------------------------
- void __cdecl Packets::WLAskPrizeFactory::~WLAskPrizeFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D8E0) --------------------------------------------------------
- void __cdecl Packets::WLAskPrizeFactory::~WLAskPrizeFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D8F4) --------------------------------------------------------
- void __cdecl Packets::WLNotifyUserFactory::~WLNotifyUserFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D904) --------------------------------------------------------
- void __cdecl Packets::WLNotifyUserFactory::~WLNotifyUserFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D918) --------------------------------------------------------
- void __cdecl Packets::WLChangeNameFactory::~WLChangeNameFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D928) --------------------------------------------------------
- void __cdecl Packets::WLChangeNameFactory::~WLChangeNameFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D93C) --------------------------------------------------------
- void __cdecl Packets::WLOperateAccFactory::~WLOperateAccFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D94C) --------------------------------------------------------
- void __cdecl Packets::WLOperateAccFactory::~WLOperateAccFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D960) --------------------------------------------------------
- void __cdecl Packets::LBAskAuthFactory::~LBAskAuthFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D970) --------------------------------------------------------
- void __cdecl Packets::LBAskAuthFactory::~LBAskAuthFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D984) --------------------------------------------------------
- void __cdecl Packets::LBAskRegAuthFactory::~LBAskRegAuthFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D994) --------------------------------------------------------
- void __cdecl Packets::LBAskRegAuthFactory::~LBAskRegAuthFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D9A8) --------------------------------------------------------
- void __cdecl Packets::LBAskRegLicenseFactory::~LBAskRegLicenseFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D9B8) --------------------------------------------------------
- void __cdecl Packets::LBAskRegLicenseFactory::~LBAskRegLicenseFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D9CC) --------------------------------------------------------
- void __cdecl Packets::BLRetAuthFactory::~BLRetAuthFactory(_DWORD *a2)
- {
- *a2 = off_80CA0F0;
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D9DC) --------------------------------------------------------
- void __cdecl Packets::BLRetAuthFactory::~BLRetAuthFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CA0F0;
- operator delete(a2);
- }
- // 80CA0F0: using guessed type _DWORD (__cdecl *off_80CA0F0[2])(PacketFactory *this);
- //----- (0806D9F0) --------------------------------------------------------
- void __cdecl Packets::BLRetConnectFactory::~BLRetConnectFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DA00) --------------------------------------------------------
- void __cdecl Packets::BLRetConnectFactory::~BLRetConnectFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DA14) --------------------------------------------------------
- void __cdecl Packets::BLRetKeepLiveFactory::~BLRetKeepLiveFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DA24) --------------------------------------------------------
- void __cdecl Packets::BLRetKeepLiveFactory::~BLRetKeepLiveFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DA38) --------------------------------------------------------
- void __cdecl Packets::BLRetAccCheckFactory::~BLRetAccCheckFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DA48) --------------------------------------------------------
- void __cdecl Packets::BLRetAccCheckFactory::~BLRetAccCheckFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DA5C) --------------------------------------------------------
- void __cdecl Packets::BLRetBillingStartFactory::~BLRetBillingStartFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DA6C) --------------------------------------------------------
- void __cdecl Packets::BLRetBillingStartFactory::~BLRetBillingStartFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DA80) --------------------------------------------------------
- void __cdecl Packets::BLRetBillingEndFactory::~BLRetBillingEndFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DA90) --------------------------------------------------------
- void __cdecl Packets::BLRetBillingEndFactory::~BLRetBillingEndFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DAA4) --------------------------------------------------------
- void __cdecl Packets::BLRetBillingKeepFactory::~BLRetBillingKeepFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DAB4) --------------------------------------------------------
- void __cdecl Packets::BLRetBillingKeepFactory::~BLRetBillingKeepFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DAC8) --------------------------------------------------------
- void __cdecl Packets::BLRetKickALLFactory::~BLRetKickALLFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DAD8) --------------------------------------------------------
- void __cdecl Packets::BLRetKickALLFactory::~BLRetKickALLFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DAEC) --------------------------------------------------------
- void __cdecl Packets::BLRetRegPassPortFactory::~BLRetRegPassPortFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DAFC) --------------------------------------------------------
- void __cdecl Packets::BLRetRegPassPortFactory::~BLRetRegPassPortFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DB10) --------------------------------------------------------
- void __cdecl Packets::BLRetPrizeFactory::~BLRetPrizeFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DB20) --------------------------------------------------------
- void __cdecl Packets::BLRetPrizeFactory::~BLRetPrizeFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DB34) --------------------------------------------------------
- void __cdecl Packets::BLRetAskPointFactory::~BLRetAskPointFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DB44) --------------------------------------------------------
- void __cdecl Packets::BLRetAskPointFactory::~BLRetAskPointFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DB58) --------------------------------------------------------
- void __cdecl Packets::BLRetAskBuyFactory::~BLRetAskBuyFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DB68) --------------------------------------------------------
- void __cdecl Packets::BLRetAskBuyFactory::~BLRetAskBuyFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DB7C) --------------------------------------------------------
- void __cdecl Packets::LBLCostLogFactory::~LBLCostLogFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DB8C) --------------------------------------------------------
- void __cdecl Packets::LBLCostLogFactory::~LBLCostLogFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DBA0) --------------------------------------------------------
- void __cdecl Packets::LBLAskNewUserCardFactory::~LBLAskNewUserCardFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DBB0) --------------------------------------------------------
- void __cdecl Packets::LBLAskNewUserCardFactory::~LBLAskNewUserCardFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DBC4) --------------------------------------------------------
- void __cdecl Packets::LBLNewPrizeFactory::~LBLNewPrizeFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DBD4) --------------------------------------------------------
- void __cdecl Packets::LBLNewPrizeFactory::~LBLNewPrizeFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DBE8) --------------------------------------------------------
- void __cdecl Packets::LBLNewCheckPrizeFactory::~LBLNewCheckPrizeFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DBF8) --------------------------------------------------------
- void __cdecl Packets::LBLNewCheckPrizeFactory::~LBLNewCheckPrizeFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DC0C) --------------------------------------------------------
- void __cdecl Packets::LBLAskMigFactory::~LBLAskMigFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DC1C) --------------------------------------------------------
- void __cdecl Packets::LBLAskMigFactory::~LBLAskMigFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DC30) --------------------------------------------------------
- void __cdecl Packets::LBLRegNewLicenseFactory::~LBLRegNewLicenseFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DC40) --------------------------------------------------------
- void __cdecl Packets::LBLRegNewLicenseFactory::~LBLRegNewLicenseFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DC54) --------------------------------------------------------
- void __cdecl Packets::LBLCardCheckPrizeFactory::~LBLCardCheckPrizeFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DC64) --------------------------------------------------------
- void __cdecl Packets::LBLCardCheckPrizeFactory::~LBLCardCheckPrizeFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DC78) --------------------------------------------------------
- void __cdecl Packets::LBLOperateAccFactory::~LBLOperateAccFactory(_DWORD *a2)
- {
- *a2 = off_80C9A48;
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DC88) --------------------------------------------------------
- void __cdecl Packets::LBLOperateAccFactory::~LBLOperateAccFactory(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80C9A48;
- operator delete(a2);
- }
- // 80C9A48: using guessed type _DWORD (__cdecl *off_80C9A48[2])(BillPacketFactory *this);
- //----- (0806DC9C) --------------------------------------------------------
- void __cdecl Packets::SChgNamePacketUnit::SChgNamePacketUnit(_DWORD *a2)
- {
- *a2 = -1;
- a2[1] = -1;
- memset(a2 + 2, 0, 0x20u);
- memset(a2 + 10, 0, 0x20u);
- a2[18] = 0;
- }
- //----- (0806DCD4) --------------------------------------------------------
- void __cdecl Packets::SChgNamePacketUnit::SChgNamePacketUnit(_DWORD *a2)
- {
- *a2 = -1;
- a2[1] = -1;
- memset(a2 + 2, 0, 0x20u);
- memset(a2 + 10, 0, 0x20u);
- a2[18] = 0;
- }
- //----- (0806DD0C) --------------------------------------------------------
- void __cdecl Packets::SChgNamePacketUnit::SetUserNewName(Packets::SChgNamePacketUnit *const this, INT OpType, const CHAR *pName)
- {
- char *v3; // ebx
- if ( pName )
- {
- v3 = this->m_UserNewName;
- this->m_opType = OpType;
- memset(this->m_UserNewName, 0, sizeof(this->m_UserNewName));
- if ( OpType )
- {
- if ( OpType == 1 )
- strncpy(v3, pName, 0x17u);
- else
- strncpy(v3, pName, 0x1Fu);
- }
- else
- {
- strncpy(v3, pName, 0x1Du);
- }
- }
- }
- //----- (0806DD88) --------------------------------------------------------
- void __cdecl Packets::SChgNamePacketUnit::SetUserOldName(Packets::SChgNamePacketUnit *const this, INT OpType, const CHAR *pName)
- {
- char *v3; // ebx
- if ( pName )
- {
- v3 = this->m_UserOldName;
- this->m_opType = OpType;
- memset(this->m_UserOldName, 0, sizeof(this->m_UserOldName));
- if ( OpType )
- {
- if ( OpType == 1 )
- strncpy(v3, pName, 0x17u);
- else
- strncpy(v3, pName, 0x1Fu);
- }
- else
- {
- strncpy(v3, pName, 0x1Du);
- }
- }
- }
- //----- (0806DE04) --------------------------------------------------------
- UINT __cdecl Packets::SChgNamePacketUnit::GetPacketSize()
- {
- return 74;
- }
- //----- (0806DE10) --------------------------------------------------------
- BOOL __cdecl Packets::SChgNamePacketUnit::ReadStream(Packets::SChgNamePacketUnit *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)this, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_UserGuid, 4u);
- memset(this->m_UserOldName, 0, sizeof(this->m_UserOldName));
- SocketInputStream::Read(iStream, this->m_UserOldName, 0x1Fu);
- memset(this->m_UserNewName, 0, sizeof(this->m_UserNewName));
- SocketInputStream::Read(iStream, this->m_UserNewName, 0x1Fu);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_reType, 4u);
- return 1;
- }
- //----- (0806DED8) --------------------------------------------------------
- BOOL __cdecl Packets::SChgNamePacketUnit::WriteStream(const Packets::SChgNamePacketUnit *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)this, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_UserGuid, 4u);
- SocketOutputStream::Write(oStream, this->m_UserOldName, 0x1Fu);
- SocketOutputStream::Write(oStream, this->m_UserNewName, 0x1Fu);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_reType, 4u);
- return 1;
- }
- //----- (0806DF78) --------------------------------------------------------
- void __cdecl _tcf_0_16(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806DF88) --------------------------------------------------------
- void `global constructor keyed to'Packets::SChgNamePacketUnit::SChgNamePacketUnit()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_16, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806DFB4) --------------------------------------------------------
- BOOL __cdecl RangeCheckForIndex_Assert(INT nIndex, INT nFrom, INT nTo, const CHAR *szCodeLocation)
- {
- INT v4; // esi
- INT v5; // ebx
- BOOL result; // eax
- CHAR szBuff[1024]; // [esp+0h] [ebp-418h]
- if ( nFrom > nTo )
- {
- v4 = nFrom;
- v5 = nTo;
- if ( nFrom >= 0 )
- goto LABEL_3;
- LABEL_11:
- __assert__(
- "../../Common/Combat/TemplateManager.cpp",
- 0x25u,
- "BOOL RangeCheckForIndex_Assert(INT, INT, INT, const CHAR*)",
- "0<=nUpBorder");
- }
- v4 = nTo;
- v5 = nFrom;
- if ( nTo < 0 )
- goto LABEL_11;
- LABEL_3:
- if ( v5 < 0 )
- __assert__(
- "../../Common/Combat/TemplateManager.cpp",
- 0x26u,
- "BOOL RangeCheckForIndex_Assert(INT, INT, INT, const CHAR*)",
- "0<=nLowBorder");
- if ( nIndex < 0 )
- __assert__(
- "../../Common/Combat/TemplateManager.cpp",
- 0x27u,
- "BOOL RangeCheckForIndex_Assert(INT, INT, INT, const CHAR*)",
- "0<=nIndex");
- if ( nIndex < v5 || (result = 1, nIndex > v4) )
- {
- snprintf(
- szBuff,
- 0x400u,
- "[%s] Index out of range!! nIndex=%d, but legal range is [%d, %d]. check it now, please!!",
- szCodeLocation,
- nIndex);
- szBuff[1023] = 0;
- __assertex__(
- "../../Common/Combat/TemplateManager.cpp",
- 0x35u,
- "BOOL RangeCheckForIndex_Assert(INT, INT, INT, const CHAR*)",
- "FALSE",
- szBuff);
- }
- return result;
- }
- //----- (0806E0AC) --------------------------------------------------------
- void __cdecl _tcf_0_17(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806E0BC) --------------------------------------------------------
- void `global constructor keyed to'RangeCheckForIndex_Assert()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_17, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806E0E8) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetAccCheck::Read(Packets::BLRetAccCheck *const this, SocketBillingInputStream *const iStream)
- {
- BYTE v2; // al
- BYTE v3; // al
- BOOL result; // eax
- BYTE v5; // al
- BYTE v6; // al
- UINT v7; // eax
- UINT v8; // eax
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccLength, 1u);
- v2 = this->mAccLength;
- if ( v2 > 0x32u )
- {
- v2 = 50;
- this->mAccLength = 50;
- }
- SocketInputStream::Read(&iStream->0, this->mAccount, v2);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccResult, 1u);
- v3 = this->mAccResult;
- if ( v3 == 1 || v3 == -15 )
- {
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mCardPoint, 4u);
- v7 = this->mCardPoint;
- LOWORD(v7) = __ROR2__(v7, 8);
- v7 = __ROR4__(v7, 16);
- LOWORD(v7) = __ROR2__(v7, 8);
- this->mCardPoint = v7;
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mCardDay, 2u);
- this->mCardDay = __ROR2__(this->mCardDay, 8);
- SocketInputStream::Read(&iStream->0, &this->mIsFatigue, 1u);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccTotalOnlineSecond, 4u);
- v8 = this->mAccTotalOnlineSecond;
- LOWORD(v8) = __ROR2__(v8, 8);
- v8 = __ROR4__(v8, 16);
- LOWORD(v8) = __ROR2__(v8, 8);
- this->mAccTotalOnlineSecond = v8;
- SocketInputStream::Read(&iStream->0, &this->mIsPhoneBind, 1u);
- SocketInputStream::Read(&iStream->0, &this->mIsIPBind, 1u);
- SocketInputStream::Read(&iStream->0, &this->mIsMiBaoBind, 1u);
- SocketInputStream::Read(&iStream->0, &this->mIsMacBind, 1u);
- SocketInputStream::Read(&iStream->0, &this->mIsRealNameBind, 1u);
- SocketInputStream::Read(&iStream->0, &this->mIsInputNameBind, 1u);
- SocketInputStream::Read(&iStream->0, &this->mIsPhoneMiBaoBind, 1u);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mIsPilferedAccount, 2u);
- this->mIsPilferedAccount = __ROR2__(this->mIsPilferedAccount, 8);
- result = 1;
- }
- else if ( v3 == 5 )
- {
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mWorldID, 2u);
- this->mWorldID = __ROR2__(this->mWorldID, 8);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mIPLength, 1u);
- v5 = this->mIPLength;
- if ( v5 > 0xFu )
- {
- this->mIPLength = 15;
- v5 = 15;
- }
- SocketInputStream::Read(&iStream->0, this->mIP, v5);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mServerNameLength, 1u);
- v6 = this->mServerNameLength;
- if ( v6 > 0x20u )
- {
- this->mServerNameLength = 32;
- v6 = 32;
- }
- SocketInputStream::Read(&iStream->0, this->mSName, v6);
- result = 1;
- }
- else
- {
- result = 1;
- }
- return result;
- }
- //----- (0806E324) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetAccCheck::Write(const Packets::BLRetAccCheck *const this, SocketBillingOutputStream *const oStream)
- {
- return 1;
- }
- //----- (0806E330) --------------------------------------------------------
- UINT __cdecl Packets::BLRetAccCheck::Execute(Packets::BLRetAccCheck *const this, Player *pPlayer)
- {
- return Packets::BLRetAccCheckHandler::Execute(this, pPlayer);
- }
- //----- (0806E390) --------------------------------------------------------
- void __cdecl _tcf_0_18(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806E3A0) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetAccCheck::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_18, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806E3CC) --------------------------------------------------------
- BOOL __cdecl BillPacket::CheckPacket(BillPacket *const this)
- {
- return 1;
- }
- //----- (0806E3D8) --------------------------------------------------------
- void __cdecl Packets::BLRetAccCheck::~BLRetAccCheck(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CB468;
- BillPacket::~BillPacket(a2);
- }
- // 80CB468: using guessed type _DWORD (__cdecl *off_80CB468[2])(Packets::BLRetAccCheck *this);
- //----- (0806E3F4) --------------------------------------------------------
- void __cdecl Packets::BLRetAccCheck::~BLRetAccCheck(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CB468;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CB468: using guessed type _DWORD (__cdecl *off_80CB468[2])(Packets::BLRetAccCheck *this);
- //----- (0806E41C) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetAccCheck::GetPacketID(const Packets::BLRetAccCheck *const this)
- {
- return -94;
- }
- //----- (0806E428) --------------------------------------------------------
- int __cdecl Packets::BLRetAccCheck::GetPacketSize(int a2)
- {
- return *(unsigned __int8 *)(a2 + 7) + 4;
- }
- //----- (0806E438) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetAuth::Read(Packets::BLRetAuth *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->szAccount, 0x32u);
- SocketInputStream::Read(iStream, (CHAR *)&this->Result, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->PlayerID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->PlayerGUID, 4u);
- SocketInputStream::Read(iStream, this->mServerName, 0x20u);
- SocketInputStream::Read(iStream, this->mIP, 0xFu);
- SocketInputStream::Read(iStream, &this->mIsFatigue, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mAccTotalOnlineSecond, 4u);
- SocketInputStream::Read(iStream, &this->mIsPhoneBind, 1u);
- SocketInputStream::Read(iStream, &this->mIsIPBind, 1u);
- SocketInputStream::Read(iStream, &this->mIsMiBaoBind, 1u);
- SocketInputStream::Read(iStream, &this->mIsMacBind, 1u);
- SocketInputStream::Read(iStream, &this->mIsRealNameBind, 1u);
- SocketInputStream::Read(iStream, &this->mIsInputNameBind, 1u);
- SocketInputStream::Read(iStream, &this->mIsPhoneMiBaoBind, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mIsPilferedAccount, 2u);
- return 1;
- }
- //----- (0806E59C) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetAuth::Write(const Packets::BLRetAuth *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->szAccount, 0x32u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->Result, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->PlayerID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->PlayerGUID, 4u);
- SocketOutputStream::Write(oStream, this->mServerName, 0x20u);
- SocketOutputStream::Write(oStream, this->mIP, 0xFu);
- SocketOutputStream::Write(oStream, &this->mIsFatigue, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mAccTotalOnlineSecond, 4u);
- SocketOutputStream::Write(oStream, &this->mIsPhoneBind, 1u);
- SocketOutputStream::Write(oStream, &this->mIsIPBind, 1u);
- SocketOutputStream::Write(oStream, &this->mIsMiBaoBind, 1u);
- SocketOutputStream::Write(oStream, &this->mIsMacBind, 1u);
- SocketOutputStream::Write(oStream, &this->mIsRealNameBind, 1u);
- SocketOutputStream::Write(oStream, &this->mIsInputNameBind, 1u);
- SocketOutputStream::Write(oStream, &this->mIsPhoneMiBaoBind, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mIsPilferedAccount, 2u);
- return 1;
- }
- //----- (0806E700) --------------------------------------------------------
- UINT __cdecl Packets::BLRetAuth::Execute(Packets::BLRetAuth *const this, Player *pPlayer)
- {
- return Packets::BLRetAuthHandler::Execute(this, pPlayer);
- }
- //----- (0806E760) --------------------------------------------------------
- const CHAR *__cdecl Packets::BLRetAuth::GetAccount(const Packets::BLRetAuth *const this)
- {
- return this->szAccount;
- }
- //----- (0806E76C) --------------------------------------------------------
- void __cdecl Packets::BLRetAuth::SetAccount(Packets::BLRetAuth *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/BLRetAuth.cpp",
- 0x4Du,
- "void Packets::BLRetAuth::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (0806E7B0) --------------------------------------------------------
- LOGIN_RESULT __cdecl Packets::BLRetAuth::GetResult(int a2)
- {
- return *(_DWORD *)(a2 + 64);
- }
- //----- (0806E7BC) --------------------------------------------------------
- void __cdecl Packets::BLRetAuth::SetResult(int a3, int a4)
- {
- *(_DWORD *)(a3 + 64) = a4;
- }
- //----- (0806E7CC) --------------------------------------------------------
- int __cdecl Packets::BLRetAuth::GetPlayerID(int a2)
- {
- return *(signed __int16 *)(a2 + 68);
- }
- //----- (0806E7D8) --------------------------------------------------------
- void __cdecl Packets::BLRetAuth::SetPlayerID(int pID, __int16 pIDa)
- {
- *(_WORD *)(pID + 68) = pIDa;
- }
- //----- (0806E7E8) --------------------------------------------------------
- GUID_t __cdecl Packets::BLRetAuth::GetPlayerGUID(int a2)
- {
- return *(_DWORD *)(a2 + 72);
- }
- //----- (0806E7F4) --------------------------------------------------------
- void __cdecl Packets::BLRetAuth::SetPlayerGUID(int a3, int a4)
- {
- *(_DWORD *)(a3 + 72) = a4;
- }
- //----- (0806E804) --------------------------------------------------------
- void __cdecl _tcf_0_19(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806E814) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetAuth::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_19, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806E840) --------------------------------------------------------
- BOOL __cdecl Packet::CheckPacket(Packet *const this)
- {
- return 1;
- }
- //----- (0806E84C) --------------------------------------------------------
- BOOL __cdecl Packet::IsStreamPacket(const Packet *const this)
- {
- return 0;
- }
- //----- (0806E854) --------------------------------------------------------
- void __cdecl Packets::BLRetAuth::~BLRetAuth(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CB5E8;
- Packet::~Packet(a2);
- }
- // 80CB5E8: using guessed type _DWORD (__cdecl *off_80CB5E8[2])(Packets::BLRetAuth *this);
- //----- (0806E870) --------------------------------------------------------
- void __cdecl Packets::BLRetAuth::~BLRetAuth(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CB5E8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CB5E8: using guessed type _DWORD (__cdecl *off_80CB5E8[2])(Packets::BLRetAuth *this);
- //----- (0806E898) --------------------------------------------------------
- PacketID_t __cdecl Packets::BLRetAuth::GetPacketID(const Packets::BLRetAuth *const this)
- {
- return 97;
- }
- //----- (0806E8A4) --------------------------------------------------------
- UINT __cdecl Packets::BLRetAuth::GetPacketSize(const Packets::BLRetAuth *const this)
- {
- return 86;
- }
- //----- (0806E8B0) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetBillingEnd::Read(Packets::BLRetBillingEnd *const this, SocketBillingInputStream *const iStream)
- {
- BYTE v2; // al
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccLength, 1u);
- v2 = this->mAccLength;
- if ( v2 > 0x32u )
- {
- v2 = 50;
- this->mAccLength = 50;
- }
- SocketInputStream::Read(&iStream->0, this->mAccount, v2);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mResult, 1u);
- return 1;
- }
- //----- (0806E94C) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetBillingEnd::Write(const Packets::BLRetBillingEnd *const this, SocketBillingOutputStream *const oStream)
- {
- return 1;
- }
- //----- (0806E958) --------------------------------------------------------
- UINT __cdecl Packets::BLRetBillingEnd::Execute(Packets::BLRetBillingEnd *const this, Player *pPlayer)
- {
- return Packets::BLRetBillingEndHandler::Execute(this, pPlayer);
- }
- //----- (0806E9B8) --------------------------------------------------------
- void __cdecl _tcf_0_20(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806E9C8) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetBillingEnd::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_20, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806E9F4) --------------------------------------------------------
- void __cdecl Packets::BLRetBillingEnd::~BLRetBillingEnd(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CB788;
- BillPacket::~BillPacket(a2);
- }
- // 80CB788: using guessed type _DWORD (__cdecl *off_80CB788[2])(Packets::BLRetBillingEnd *this);
- //----- (0806EA10) --------------------------------------------------------
- void __cdecl Packets::BLRetBillingEnd::~BLRetBillingEnd(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CB788;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CB788: using guessed type _DWORD (__cdecl *off_80CB788[2])(Packets::BLRetBillingEnd *this);
- //----- (0806EA38) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetBillingEnd::GetPacketID(const Packets::BLRetBillingEnd *const this)
- {
- return -92;
- }
- //----- (0806EA44) --------------------------------------------------------
- int __cdecl Packets::BLRetBillingEnd::GetPacketSize(int a2)
- {
- return *(unsigned __int8 *)(a2 + 7) + 2;
- }
- //----- (0806EA54) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetBillingKeep::Read(Packets::BLRetBillingKeep *const this, SocketBillingInputStream *const iStream)
- {
- BYTE v2; // al
- UINT v4; // eax
- UINT v5; // eax
- UINT v6; // eax
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccLength, 1u);
- v2 = this->mAccLength;
- if ( v2 > 0x32u )
- {
- v2 = 50;
- this->mAccLength = 50;
- }
- SocketInputStream::Read(&iStream->0, this->mAccount, v2);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mResult, 1u);
- if ( this->mResult == 1 )
- {
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mLeftTime, 4u);
- v4 = this->mLeftTime;
- LOWORD(v4) = __ROR2__(v4, 8);
- v4 = __ROR4__(v4, 16);
- LOWORD(v4) = __ROR2__(v4, 8);
- this->mLeftTime = v4;
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mStorePoint, 4u);
- v5 = this->mStorePoint;
- LOWORD(v5) = __ROR2__(v5, 8);
- v5 = __ROR4__(v5, 16);
- LOWORD(v5) = __ROR2__(v5, 8);
- this->mStorePoint = v5;
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mUserPoint, 4u);
- v6 = this->mUserPoint;
- LOWORD(v6) = __ROR2__(v6, 8);
- v6 = __ROR4__(v6, 16);
- LOWORD(v6) = __ROR2__(v6, 8);
- this->mUserPoint = v6;
- }
- return 1;
- }
- //----- (0806EB68) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetBillingKeep::Write(const Packets::BLRetBillingKeep *const this, SocketBillingOutputStream *const oStream)
- {
- return 1;
- }
- //----- (0806EB74) --------------------------------------------------------
- UINT __cdecl Packets::BLRetBillingKeep::Execute(Packets::BLRetBillingKeep *const this, Player *pPlayer)
- {
- return Packets::BLRetBillingKeepHandler::Execute(this, pPlayer);
- }
- //----- (0806EBD4) --------------------------------------------------------
- void __cdecl _tcf_0_21(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806EBE4) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetBillingKeep::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_21, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806EC10) --------------------------------------------------------
- void __cdecl Packets::BLRetBillingKeep::~BLRetBillingKeep(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CB928;
- BillPacket::~BillPacket(a2);
- }
- // 80CB928: using guessed type _DWORD (__cdecl *off_80CB928[2])(Packets::BLRetBillingKeep *this);
- //----- (0806EC2C) --------------------------------------------------------
- void __cdecl Packets::BLRetBillingKeep::~BLRetBillingKeep(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CB928;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CB928: using guessed type _DWORD (__cdecl *off_80CB928[2])(Packets::BLRetBillingKeep *this);
- //----- (0806EC54) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetBillingKeep::GetPacketID(const Packets::BLRetBillingKeep *const this)
- {
- return -90;
- }
- //----- (0806EC60) --------------------------------------------------------
- int __cdecl Packets::BLRetBillingKeep::GetPacketSize(int a2)
- {
- return *(unsigned __int8 *)(a2 + 7) + 14;
- }
- //----- (0806EC70) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetBillingStart::Read(Packets::BLRetBillingStart *const this, SocketBillingInputStream *const iStream)
- {
- BYTE v2; // al
- BYTE v3; // al
- CHAR *v5; // eax
- UINT v6; // eax
- UINT v7; // eax
- UINT v8; // eax
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccLength, 1u);
- v2 = this->mAccLength;
- if ( v2 > 0x32u )
- {
- v2 = 50;
- this->mAccLength = 50;
- }
- SocketInputStream::Read(&iStream->0, this->mAccount, v2);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mResult, 1u);
- v3 = this->mResult;
- if ( v3 == 1 )
- {
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mFeeType, 1u);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mLeftTime, 4u);
- v6 = this->mLeftTime;
- LOWORD(v6) = __ROR2__(v6, 8);
- v6 = __ROR4__(v6, 16);
- LOWORD(v6) = __ROR2__(v6, 8);
- this->mLeftTime = v6;
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mStorePoint, 4u);
- v7 = this->mStorePoint;
- LOWORD(v7) = __ROR2__(v7, 8);
- v7 = __ROR4__(v7, 16);
- LOWORD(v7) = __ROR2__(v7, 8);
- this->mStorePoint = v7;
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mUserPoint, 4u);
- v8 = this->mUserPoint;
- LOWORD(v8) = __ROR2__(v8, 8);
- v8 = __ROR4__(v8, 16);
- LOWORD(v8) = __ROR2__(v8, 8);
- this->mUserPoint = v8;
- v5 = (CHAR *)&this->mWhyFlag;
- }
- else
- {
- if ( v3 )
- return 1;
- v5 = (CHAR *)&this->mCode;
- }
- SocketInputStream::Read(&iStream->0, v5, 1u);
- return 1;
- }
- //----- (0806EDAC) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetBillingStart::Write(const Packets::BLRetBillingStart *const this, SocketBillingOutputStream *const oStream)
- {
- return 1;
- }
- //----- (0806EDB8) --------------------------------------------------------
- UINT __cdecl Packets::BLRetBillingStart::Execute(Packets::BLRetBillingStart *const this, Player *pPlayer)
- {
- return Packets::BLRetBillingStartHandler::Execute(this, pPlayer);
- }
- //----- (0806EE18) --------------------------------------------------------
- void __cdecl _tcf_0_22(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806EE28) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetBillingStart::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_22, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806EE54) --------------------------------------------------------
- void __cdecl Packets::BLRetBillingStart::~BLRetBillingStart(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CBAC8;
- BillPacket::~BillPacket(a2);
- }
- // 80CBAC8: using guessed type _DWORD (__cdecl *off_80CBAC8[2])(Packets::BLRetBillingStart *this);
- //----- (0806EE70) --------------------------------------------------------
- void __cdecl Packets::BLRetBillingStart::~BLRetBillingStart(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CBAC8;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CBAC8: using guessed type _DWORD (__cdecl *off_80CBAC8[2])(Packets::BLRetBillingStart *this);
- //----- (0806EE98) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetBillingStart::GetPacketID(const Packets::BLRetBillingStart *const this)
- {
- return -93;
- }
- //----- (0806EEA4) --------------------------------------------------------
- UINT __cdecl Packets::BLRetBillingStart::GetPacketSize(const Packets::BLRetBillingStart *const this)
- {
- int v1; // edx
- v1 = 0;
- if ( this->mResult == 1 )
- LOBYTE(v1) = 13;
- return this->mAccLength + v1 + 3;
- }
- //----- (0806EEC8) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetConnect::Read(Packets::BLRetConnect *const this, SocketBillingInputStream *const iStream)
- {
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mReserve, 2u);
- return 1;
- }
- //----- (0806EF34) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetConnect::Write(const Packets::BLRetConnect *const this, SocketBillingOutputStream *const oStream)
- {
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mReserve, 2u);
- return 1;
- }
- //----- (0806EFA0) --------------------------------------------------------
- UINT __cdecl Packets::BLRetConnect::Execute(Packets::BLRetConnect *const this, Player *pPlayer)
- {
- return Packets::BLRetConnectHandler::Execute(this, pPlayer);
- }
- //----- (0806F000) --------------------------------------------------------
- void __cdecl _tcf_0_23(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806F010) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetConnect::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_23, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806F03C) --------------------------------------------------------
- void __cdecl Packets::BLRetConnect::~BLRetConnect(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CBC68;
- BillPacket::~BillPacket(a2);
- }
- // 80CBC68: using guessed type _DWORD (__cdecl *off_80CBC68[2])(Packets::BLRetConnect *this);
- //----- (0806F058) --------------------------------------------------------
- void __cdecl Packets::BLRetConnect::~BLRetConnect(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CBC68;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CBC68: using guessed type _DWORD (__cdecl *off_80CBC68[2])(Packets::BLRetConnect *this);
- //----- (0806F080) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetConnect::GetPacketID(const Packets::BLRetConnect *const this)
- {
- return -96;
- }
- //----- (0806F08C) --------------------------------------------------------
- UINT __cdecl Packets::BLRetConnect::GetPacketSize(const Packets::BLRetConnect *const this)
- {
- return 2;
- }
- //----- (0806F098) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetKeepLive::Read(Packets::BLRetKeepLive *const this, SocketBillingInputStream *const iStream)
- {
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mReserve, 2u);
- return 1;
- }
- //----- (0806F104) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetKeepLive::Write(const Packets::BLRetKeepLive *const this, SocketBillingOutputStream *const oStream)
- {
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mReserve, 2u);
- return 1;
- }
- //----- (0806F170) --------------------------------------------------------
- UINT __cdecl Packets::BLRetKeepLive::Execute(Packets::BLRetKeepLive *const this, Player *pPlayer)
- {
- return Packets::BLRetKeepLiveHandler::Execute(this, pPlayer);
- }
- //----- (0806F1D0) --------------------------------------------------------
- void __cdecl _tcf_0_24(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806F1E0) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetKeepLive::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_24, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806F20C) --------------------------------------------------------
- void __cdecl Packets::BLRetKeepLive::~BLRetKeepLive(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CBDE8;
- BillPacket::~BillPacket(a2);
- }
- // 80CBDE8: using guessed type _DWORD (__cdecl *off_80CBDE8[2])(Packets::BLRetKeepLive *this);
- //----- (0806F228) --------------------------------------------------------
- void __cdecl Packets::BLRetKeepLive::~BLRetKeepLive(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CBDE8;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CBDE8: using guessed type _DWORD (__cdecl *off_80CBDE8[2])(Packets::BLRetKeepLive *this);
- //----- (0806F250) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetKeepLive::GetPacketID(const Packets::BLRetKeepLive *const this)
- {
- return -95;
- }
- //----- (0806F25C) --------------------------------------------------------
- UINT __cdecl Packets::BLRetKeepLive::GetPacketSize(const Packets::BLRetKeepLive *const this)
- {
- return 2;
- }
- //----- (0806F268) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetKickALL::Read(Packets::BLRetKickALL *const this, SocketBillingInputStream *const iStream)
- {
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mResult, 1u);
- return 1;
- }
- //----- (0806F2D4) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetKickALL::Write(const Packets::BLRetKickALL *const this, SocketBillingOutputStream *const oStream)
- {
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mResult, 1u);
- return 1;
- }
- //----- (0806F340) --------------------------------------------------------
- UINT __cdecl Packets::BLRetKickALL::Execute(Packets::BLRetKickALL *const this, Player *pPlayer)
- {
- return Packets::BLRetKickALLHandler::Execute(this, pPlayer);
- }
- //----- (0806F3A0) --------------------------------------------------------
- void __cdecl _tcf_0_25(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806F3B0) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetKickALL::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_25, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806F3DC) --------------------------------------------------------
- void __cdecl Packets::BLRetKickALL::~BLRetKickALL(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CBF68;
- BillPacket::~BillPacket(a2);
- }
- // 80CBF68: using guessed type _DWORD (__cdecl *off_80CBF68[2])(Packets::BLRetKickALL *this);
- //----- (0806F3F8) --------------------------------------------------------
- void __cdecl Packets::BLRetKickALL::~BLRetKickALL(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CBF68;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CBF68: using guessed type _DWORD (__cdecl *off_80CBF68[2])(Packets::BLRetKickALL *this);
- //----- (0806F420) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetKickALL::GetPacketID(const Packets::BLRetKickALL *const this)
- {
- return -87;
- }
- //----- (0806F42C) --------------------------------------------------------
- UINT __cdecl Packets::BLRetKickALL::GetPacketSize(const Packets::BLRetKickALL *const this)
- {
- return 1;
- }
- //----- (0806F438) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetRegPassPort::Read(Packets::BLRetRegPassPort *const this, SocketBillingInputStream *const iStream)
- {
- BYTE v2; // al
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccLength, 1u);
- v2 = this->mAccLength;
- if ( v2 > 0x32u )
- {
- v2 = 50;
- this->mAccLength = 50;
- }
- SocketInputStream::Read(&iStream->0, this->mAccount, v2);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccResult, 1u);
- return 1;
- }
- //----- (0806F4D4) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetRegPassPort::Write(const Packets::BLRetRegPassPort *const this, SocketBillingOutputStream *const oStream)
- {
- return 1;
- }
- //----- (0806F4E0) --------------------------------------------------------
- UINT __cdecl Packets::BLRetRegPassPort::Execute(Packets::BLRetRegPassPort *const this, Player *pPlayer)
- {
- return Packets::BLRetRegPassPortHandler::Execute(this, pPlayer);
- }
- //----- (0806F540) --------------------------------------------------------
- void __cdecl _tcf_0_26(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806F550) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetRegPassPort::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_26, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806F57C) --------------------------------------------------------
- void __cdecl Packets::BLRetRegPassPort::~BLRetRegPassPort(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CC0E8;
- BillPacket::~BillPacket(a2);
- }
- // 80CC0E8: using guessed type _DWORD (__cdecl *off_80CC0E8[2])(Packets::BLRetRegPassPort *this);
- //----- (0806F598) --------------------------------------------------------
- void __cdecl Packets::BLRetRegPassPort::~BLRetRegPassPort(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CC0E8;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CC0E8: using guessed type _DWORD (__cdecl *off_80CC0E8[2])(Packets::BLRetRegPassPort *this);
- //----- (0806F5C0) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetRegPassPort::GetPacketID(const Packets::BLRetRegPassPort *const this)
- {
- return -15;
- }
- //----- (0806F5CC) --------------------------------------------------------
- int __cdecl Packets::BLRetRegPassPort::GetPacketSize(int a2)
- {
- return *(unsigned __int8 *)(a2 + 7) + 2;
- }
- //----- (0806F5DC) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskCharList::Read(Packets::CLAskCharList *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->szAccount, 0x32u);
- return 1;
- }
- //----- (0806F648) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskCharList::Write(const Packets::CLAskCharList *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->szAccount, 0x32u);
- return 1;
- }
- //----- (0806F6B4) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCharList::Execute(Packets::CLAskCharList *const this, Player *pPlayer)
- {
- return Packets::CLAskCharListHandler::Execute(this, pPlayer);
- }
- //----- (0806F714) --------------------------------------------------------
- const CHAR *__cdecl Packets::CLAskCharList::GetAccount(const Packets::CLAskCharList *const this)
- {
- return this->szAccount;
- }
- //----- (0806F720) --------------------------------------------------------
- void __cdecl Packets::CLAskCharList::SetAccount(Packets::CLAskCharList *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/CLAskCharList.cpp",
- 0x2Eu,
- "void Packets::CLAskCharList::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (0806F764) --------------------------------------------------------
- void __cdecl _tcf_0_27(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806F774) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskCharList::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_27, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806F7A0) --------------------------------------------------------
- void __cdecl Packets::CLAskCharList::~CLAskCharList(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CC288;
- Packet::~Packet(a2);
- }
- // 80CC288: using guessed type _DWORD (__cdecl *off_80CC288[2])(Packets::CLAskCharList *this);
- //----- (0806F7BC) --------------------------------------------------------
- void __cdecl Packets::CLAskCharList::~CLAskCharList(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CC288;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CC288: using guessed type _DWORD (__cdecl *off_80CC288[2])(Packets::CLAskCharList *this);
- //----- (0806F7E4) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskCharList::GetPacketID(const Packets::CLAskCharList *const this)
- {
- return 13;
- }
- //----- (0806F7F0) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCharList::GetPacketSize(const Packets::CLAskCharList *const this)
- {
- return 50;
- }
- //----- (0806F7FC) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskCharLogin::Read(Packets::CLAskCharLogin *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->CharGuid, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->PlayerID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->SceneID, 2u);
- return 1;
- }
- //----- (0806F888) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskCharLogin::Write(const Packets::CLAskCharLogin *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->CharGuid, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->PlayerID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->SceneID, 2u);
- return 1;
- }
- //----- (0806F914) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCharLogin::Execute(Packets::CLAskCharLogin *const this, Player *pPlayer)
- {
- return Packets::CLAskCharLoginHandler::Execute(this, pPlayer);
- }
- //----- (0806F974) --------------------------------------------------------
- GUID_t __cdecl Packets::CLAskCharLogin::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 12);
- }
- //----- (0806F980) --------------------------------------------------------
- void __cdecl Packets::CLAskCharLogin::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 12) = a4;
- }
- //----- (0806F990) --------------------------------------------------------
- void __cdecl _tcf_0_28(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806F9A0) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskCharLogin::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_28, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806F9CC) --------------------------------------------------------
- void __cdecl Packets::CLAskCharLogin::~CLAskCharLogin(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CC428;
- Packet::~Packet(a2);
- }
- // 80CC428: using guessed type _DWORD (__cdecl *off_80CC428[2])(Packets::CLAskCharLogin *this);
- //----- (0806F9E8) --------------------------------------------------------
- void __cdecl Packets::CLAskCharLogin::~CLAskCharLogin(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CC428;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CC428: using guessed type _DWORD (__cdecl *off_80CC428[2])(Packets::CLAskCharLogin *this);
- //----- (0806FA10) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskCharLogin::GetPacketID(const Packets::CLAskCharLogin *const this)
- {
- return 596;
- }
- //----- (0806FA1C) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCharLogin::GetPacketSize(const Packets::CLAskCharLogin *const this)
- {
- return 8;
- }
- //----- (0806FA28) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskCreateChar::Read(Packets::CLAskCreateChar *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->m_Name, 0x1Eu);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_Sex, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_HairColor, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_FaceColor, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_HairModel, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_FaceModel, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_HeadID, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_DefEquip, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GUID, 4u);
- return 1;
- }
- //----- (0806FB08) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskCreateChar::Write(const Packets::CLAskCreateChar *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->m_Name, 0x1Eu);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_Sex, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_HairColor, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_FaceColor, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_HairModel, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_FaceModel, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_HeadID, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_DefEquip, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GUID, 4u);
- return 1;
- }
- //----- (0806FBE8) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCreateChar::Execute(Packets::CLAskCreateChar *const this, Player *pPlayer)
- {
- return Packets::CLAskCreateCharHandler::Execute(this, pPlayer);
- }
- //----- (0806FC48) --------------------------------------------------------
- const CHAR *__cdecl Packets::CLAskCreateChar::GetAccount(const Packets::CLAskCreateChar *const this)
- {
- return this->szAccount;
- }
- //----- (0806FC54) --------------------------------------------------------
- void __cdecl Packets::CLAskCreateChar::SetAccount(Packets::CLAskCreateChar *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/CLAskCreateChar.cpp",
- 0x3Du,
- "void Packets::CLAskCreateChar::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (0806FC98) --------------------------------------------------------
- void __cdecl _tcf_0_29(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806FCA8) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskCreateChar::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_29, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806FCD4) --------------------------------------------------------
- void __cdecl Packets::CLAskCreateChar::~CLAskCreateChar(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CC588;
- Packet::~Packet(a2);
- }
- // 80CC588: using guessed type _DWORD (__cdecl *off_80CC588[2])(Packets::CLAskCreateChar *this);
- //----- (0806FCF0) --------------------------------------------------------
- void __cdecl Packets::CLAskCreateChar::~CLAskCreateChar(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CC588;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CC588: using guessed type _DWORD (__cdecl *off_80CC588[2])(Packets::CLAskCreateChar *this);
- //----- (0806FD18) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskCreateChar::GetPacketID(const Packets::CLAskCreateChar *const this)
- {
- return 638;
- }
- //----- (0806FD24) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCreateChar::GetPacketSize(const Packets::CLAskCreateChar *const this)
- {
- return 47;
- }
- //----- (0806FD30) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskDeleteChar::Read(Packets::CLAskDeleteChar *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GUID, 4u);
- return 1;
- }
- //----- (0806FD9C) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskDeleteChar::Write(const Packets::CLAskDeleteChar *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GUID, 4u);
- return 1;
- }
- //----- (0806FE08) --------------------------------------------------------
- UINT __cdecl Packets::CLAskDeleteChar::Execute(Packets::CLAskDeleteChar *const this, Player *pPlayer)
- {
- return Packets::CLAskDeleteCharHandler::Execute(this, pPlayer);
- }
- //----- (0806FE68) --------------------------------------------------------
- const CHAR *__cdecl Packets::CLAskDeleteChar::GetAccount(const Packets::CLAskDeleteChar *const this)
- {
- return this->szAccount;
- }
- //----- (0806FE74) --------------------------------------------------------
- void __cdecl Packets::CLAskDeleteChar::SetAccount(Packets::CLAskDeleteChar *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/CLAskDeleteChar.cpp",
- 0x29u,
- "void Packets::CLAskDeleteChar::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (0806FEB8) --------------------------------------------------------
- void __cdecl _tcf_0_30(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0806FEC8) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskDeleteChar::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_30, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0806FEF4) --------------------------------------------------------
- void __cdecl Packets::CLAskDeleteChar::~CLAskDeleteChar(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CC748;
- Packet::~Packet(a2);
- }
- // 80CC748: using guessed type _DWORD (__cdecl *off_80CC748[2])(Packets::CLAskDeleteChar *this);
- //----- (0806FF10) --------------------------------------------------------
- void __cdecl Packets::CLAskDeleteChar::~CLAskDeleteChar(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CC748;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CC748: using guessed type _DWORD (__cdecl *off_80CC748[2])(Packets::CLAskDeleteChar *this);
- //----- (0806FF38) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskDeleteChar::GetPacketID(const Packets::CLAskDeleteChar *const this)
- {
- return 1;
- }
- //----- (0806FF44) --------------------------------------------------------
- UINT __cdecl Packets::CLAskDeleteChar::GetPacketSize(const Packets::CLAskDeleteChar *const this)
- {
- return 4;
- }
- //----- (0806FF50) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskLogin::Read(Packets::CLAskLogin *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->szAccount, 0x32u);
- SocketInputStream::Read(iStream, this->szPassWord, 0x20u);
- SocketInputStream::Read(iStream, (CHAR *)&this->uVersion, 4u);
- SocketInputStream::Read(iStream, (CHAR *)this->mAllMiBaoValue, 9u);
- SocketInputStream::Read(iStream, this->mMacAddr, 0x20u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mHwid, 0x10u);
- SocketInputStream::Read(iStream, this->m_CPU, 0x80u);
- SocketInputStream::Read(iStream, this->m_Video, 0x80u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_fLocalVideoMemory, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_fPhyMemory, 4u);
- return 1;
- }
- //----- (08070054) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskLogin::Write(const Packets::CLAskLogin *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->szAccount, 0x32u);
- SocketOutputStream::Write(oStream, this->szPassWord, 0x20u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->uVersion, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)this->mAllMiBaoValue, 9u);
- SocketOutputStream::Write(oStream, this->mMacAddr, 0x20u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mHwid, 0x10u);
- SocketOutputStream::Write(oStream, this->m_CPU, 0x80u);
- SocketOutputStream::Write(oStream, this->m_Video, 0x80u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_fLocalVideoMemory, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_fPhyMemory, 4u);
- return 1;
- }
- //----- (08070158) --------------------------------------------------------
- UINT __cdecl Packets::CLAskLogin::Execute(Packets::CLAskLogin *const this, Player *pPlayer)
- {
- return Packets::CLAskLoginHandler::Execute(this, pPlayer);
- }
- //----- (080701B8) --------------------------------------------------------
- const CHAR *__cdecl Packets::CLAskLogin::GetAccount(const Packets::CLAskLogin *const this)
- {
- return this->szAccount;
- }
- //----- (080701C4) --------------------------------------------------------
- void __cdecl Packets::CLAskLogin::SetAccount(Packets::CLAskLogin *const this, CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__("../../Common/Packets/CLAskLogin.cpp", 0x3Fu, "void Packets::CLAskLogin::SetAccount(CHAR*)", "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (08070208) --------------------------------------------------------
- const CHAR *__cdecl Packets::CLAskLogin::GetPassWord(const Packets::CLAskLogin *const this)
- {
- return this->szPassWord;
- }
- //----- (08070214) --------------------------------------------------------
- void __cdecl Packets::CLAskLogin::SetPassWord(Packets::CLAskLogin *const this, CHAR *pPassWord)
- {
- if ( !pPassWord )
- __assert__(
- "../../Common/Packets/CLAskLogin.cpp",
- 0x4Au,
- "void Packets::CLAskLogin::SetPassWord(CHAR*)",
- "pPassWord");
- strncpy(this->szPassWord, pPassWord, 0x20u);
- }
- //----- (08070250) --------------------------------------------------------
- UINT __cdecl Packets::CLAskLogin::GetVersion(int a2)
- {
- return *(_DWORD *)(a2 + 96);
- }
- //----- (0807025C) --------------------------------------------------------
- void __cdecl Packets::CLAskLogin::SetVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 96) = a4;
- }
- //----- (0807026C) --------------------------------------------------------
- INT __cdecl Packets::CLAskLogin::GetPassWordLength(Packets::CLAskLogin *const this)
- {
- INT result; // eax
- result = 0;
- while ( this->szPassWord[result] )
- {
- if ( ++result > 32 )
- return 0;
- }
- return result;
- }
- //----- (0807028C) --------------------------------------------------------
- CHAR *__cdecl Packets::CLAskLogin::GetMacAddr(Packets::CLAskLogin *const this)
- {
- return this->mMacAddr;
- }
- //----- (08070298) --------------------------------------------------------
- void __cdecl Packets::CLAskLogin::SetMacAddr(Packets::CLAskLogin *const this, CHAR *pMacMD5)
- {
- if ( !pMacMD5 )
- __assert__("../../Common/Packets/CLAskLogin.cpp", 0x6Au, "void Packets::CLAskLogin::SetMacAddr(CHAR*)", "pMacMD5");
- strncpy(this->mMacAddr, pMacMD5, 0x20u);
- }
- //----- (080702D4) --------------------------------------------------------
- void __fastcall Packets::CLAskLogin::SetHWID(Packets::CLAskLogin *const this, const GL_HWIDSTRUCT *const hwid)
- {
- _DWORD *v2; // [esp+8h] [ebp+8h]
- _DWORD *v3; // [esp+Ch] [ebp+Ch]
- v2[36] = *v3;
- v2[37] = v3[1];
- v2[38] = v3[2];
- v2[39] = v3[3];
- }
- //----- (08070304) --------------------------------------------------------
- GL_HWIDSTRUCT *__userpurge Packets::CLAskLogin::GetHWID@<eax>(GL_HWIDSTRUCT *retstr, const Packets::CLAskLogin *const this)
- {
- GL_HWIDSTRUCT *result; // eax
- result = retstr;
- retstr->dw1 = this->mHwid.dw1;
- retstr->dw2 = this->mHwid.dw2;
- retstr->dw3 = this->mHwid.dw3;
- retstr->dw4 = this->mHwid.dw4;
- return result;
- }
- //----- (08070334) --------------------------------------------------------
- void __cdecl Packets::CLAskLogin::SetCPUInformation(Packets::CLAskLogin *const this, CHAR *CPUInformation)
- {
- if ( !CPUInformation )
- __assert__(
- "../../Common/Packets/CLAskLogin.cpp",
- 0x7Au,
- "void Packets::CLAskLogin::SetCPUInformation(CHAR*)",
- "CPUInformation");
- memset(this->m_CPU, 0, 0x80u);
- memcpy(this->m_CPU, CPUInformation, 0x80u);
- this->m_CPU[127] = 0;
- }
- //----- (08070394) --------------------------------------------------------
- CHAR *__cdecl Packets::CLAskLogin::GetCPUInformation(Packets::CLAskLogin *const this)
- {
- return this->m_CPU;
- }
- //----- (080703A4) --------------------------------------------------------
- void __cdecl Packets::CLAskLogin::SetVideoInformation(Packets::CLAskLogin *const this, CHAR *VideoInformation)
- {
- if ( !VideoInformation )
- __assert__(
- "../../Common/Packets/CLAskLogin.cpp",
- 0x87u,
- "void Packets::CLAskLogin::SetVideoInformation(CHAR*)",
- "VideoInformation");
- memset(this->m_Video, 0, 0x80u);
- memcpy(this->m_Video, VideoInformation, 0x80u);
- this->m_Video[127] = 0;
- }
- //----- (08070408) --------------------------------------------------------
- CHAR *__cdecl Packets::CLAskLogin::GetVideoInformation(Packets::CLAskLogin *const this)
- {
- return this->m_Video;
- }
- //----- (08070418) --------------------------------------------------------
- void __cdecl _tcf_0_31(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08070428) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskLogin::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_31, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08070454) --------------------------------------------------------
- void __cdecl Packets::CLAskLogin::~CLAskLogin(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CC908;
- Packet::~Packet(a2);
- }
- // 80CC908: using guessed type _DWORD (__cdecl *off_80CC908[2])(Packets::CLAskLogin *this);
- //----- (08070470) --------------------------------------------------------
- void __cdecl Packets::CLAskLogin::~CLAskLogin(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CC908;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CC908: using guessed type _DWORD (__cdecl *off_80CC908[2])(Packets::CLAskLogin *this);
- //----- (08070498) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskLogin::GetPacketID(const Packets::CLAskLogin *const this)
- {
- return 299;
- }
- //----- (080704A4) --------------------------------------------------------
- UINT __cdecl Packets::CLAskLogin::GetPacketSize(const Packets::CLAskLogin *const this)
- {
- return 407;
- }
- //----- (080704B0) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskLoginCode::Read(Packets::CLAskLoginCode *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_AskType, 1u);
- if ( this->m_AskType == 1 )
- SocketInputStream::Read(iStream, (CHAR *)&this->m_Answer, 8u);
- return 1;
- }
- //----- (0807053C) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskLoginCode::Write(const Packets::CLAskLoginCode *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_AskType, 1u);
- if ( this->m_AskType == 1 )
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_Answer, 8u);
- return 1;
- }
- //----- (080705C8) --------------------------------------------------------
- UINT __cdecl Packets::CLAskLoginCode::Execute(Packets::CLAskLoginCode *const this, Player *pPlayer)
- {
- return Packets::CLAskLoginCodeHandler::Execute(this, pPlayer);
- }
- //----- (08070628) --------------------------------------------------------
- void __cdecl _tcf_0_32(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08070638) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskLoginCode::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_32, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08070664) --------------------------------------------------------
- void __cdecl Packets::CLAskLoginCode::~CLAskLoginCode(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CCBE8;
- Packet::~Packet(a2);
- }
- // 80CCBE8: using guessed type _DWORD (__cdecl *off_80CCBE8[2])(Packets::CLAskLoginCode *this);
- //----- (08070680) --------------------------------------------------------
- void __cdecl Packets::CLAskLoginCode::~CLAskLoginCode(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CCBE8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CCBE8: using guessed type _DWORD (__cdecl *off_80CCBE8[2])(Packets::CLAskLoginCode *this);
- //----- (080706A8) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskLoginCode::GetPacketID(const Packets::CLAskLoginCode *const this)
- {
- return 572;
- }
- //----- (080706B4) --------------------------------------------------------
- int __cdecl Packets::CLAskLoginCode::GetPacketSize(int a2)
- {
- return 8 * (*(_BYTE *)(a2 + 12) == 1) + 1;
- }
- //----- (080706D0) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskRegPassPort::Read(Packets::CLAskRegPassPort *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->szAccount, 0x32u);
- SocketInputStream::Read(iStream, this->szSuperPw, 0x20u);
- SocketInputStream::Read(iStream, this->szConfirmSuperPw, 0x20u);
- SocketInputStream::Read(iStream, this->szPwMd5, 0x20u);
- SocketInputStream::Read(iStream, this->szConfirmPwMd5, 0x20u);
- SocketInputStream::Read(iStream, this->szEmail, 0xFFu);
- return 1;
- }
- //----- (08070790) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskRegPassPort::Write(const Packets::CLAskRegPassPort *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->szAccount, 0x32u);
- SocketOutputStream::Write(oStream, this->szSuperPw, 0x20u);
- SocketOutputStream::Write(oStream, this->szConfirmSuperPw, 0x20u);
- SocketOutputStream::Write(oStream, this->szPwMd5, 0x20u);
- SocketOutputStream::Write(oStream, this->szConfirmPwMd5, 0x20u);
- SocketOutputStream::Write(oStream, this->szEmail, 0xFFu);
- return 1;
- }
- //----- (08070850) --------------------------------------------------------
- UINT __cdecl Packets::CLAskRegPassPort::Execute(Packets::CLAskRegPassPort *const this, Player *pPlayer)
- {
- return Packets::CLAskRegPassPortHandler::Execute(this, pPlayer);
- }
- //----- (080708B0) --------------------------------------------------------
- const CHAR *__cdecl Packets::CLAskRegPassPort::GetAccount(const Packets::CLAskRegPassPort *const this)
- {
- return this->szAccount;
- }
- //----- (080708BC) --------------------------------------------------------
- void __cdecl Packets::CLAskRegPassPort::SetAccount(Packets::CLAskRegPassPort *const this, CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/CLAskRegPassPort.cpp",
- 0x38u,
- "void Packets::CLAskRegPassPort::SetAccount(CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (08070900) --------------------------------------------------------
- const CHAR *__cdecl Packets::CLAskRegPassPort::GetSuperPw(const Packets::CLAskRegPassPort *const this)
- {
- return this->szSuperPw;
- }
- //----- (0807090C) --------------------------------------------------------
- void __cdecl Packets::CLAskRegPassPort::SetSuperPw(Packets::CLAskRegPassPort *const this, CHAR *pSuperPw)
- {
- if ( !pSuperPw )
- __assert__(
- "../../Common/Packets/CLAskRegPassPort.cpp",
- 0x44u,
- "void Packets::CLAskRegPassPort::SetSuperPw(CHAR*)",
- "pSuperPw");
- strncpy(this->szSuperPw, pSuperPw, 0x20u);
- this->szSuperPw[32] = 0;
- }
- //----- (08070950) --------------------------------------------------------
- const CHAR *__cdecl Packets::CLAskRegPassPort::GetConfirmSuperPw(const Packets::CLAskRegPassPort *const this)
- {
- return this->szConfirmSuperPw;
- }
- //----- (0807095C) --------------------------------------------------------
- void __cdecl Packets::CLAskRegPassPort::SetConfirmSuperPw(Packets::CLAskRegPassPort *const this, CHAR *pConfirmSuperPw)
- {
- if ( !pConfirmSuperPw )
- __assert__(
- "../../Common/Packets/CLAskRegPassPort.cpp",
- 0x50u,
- "void Packets::CLAskRegPassPort::SetConfirmSuperPw(CHAR*)",
- "pConfirmSuperPw");
- strncpy(this->szConfirmSuperPw, pConfirmSuperPw, 0x20u);
- this->szConfirmSuperPw[32] = 0;
- }
- //----- (080709A4) --------------------------------------------------------
- const CHAR *__cdecl Packets::CLAskRegPassPort::GetPwMd5(const Packets::CLAskRegPassPort *const this)
- {
- return this->szPwMd5;
- }
- //----- (080709B4) --------------------------------------------------------
- void __cdecl Packets::CLAskRegPassPort::SetPwMd5(Packets::CLAskRegPassPort *const this, CHAR *pPwMd5)
- {
- if ( !pPwMd5 )
- __assert__(
- "../../Common/Packets/CLAskRegPassPort.cpp",
- 0x5Cu,
- "void Packets::CLAskRegPassPort::SetPwMd5(CHAR*)",
- "pPwMd5");
- strncpy(this->szPwMd5, pPwMd5, 0x20u);
- this->szPwMd5[32] = 0;
- }
- //----- (080709FC) --------------------------------------------------------
- const CHAR *__cdecl Packets::CLAskRegPassPort::GetConfirmPwMd5(const Packets::CLAskRegPassPort *const this)
- {
- return this->szConfirmPwMd5;
- }
- //----- (08070A0C) --------------------------------------------------------
- void __cdecl Packets::CLAskRegPassPort::SetConfirmPwMd5(Packets::CLAskRegPassPort *const this, CHAR *pConfirmPwMd5)
- {
- if ( !pConfirmPwMd5 )
- __assert__(
- "../../Common/Packets/CLAskRegPassPort.cpp",
- 0x68u,
- "void Packets::CLAskRegPassPort::SetConfirmPwMd5(CHAR*)",
- "pConfirmPwMd5");
- strncpy(this->szConfirmPwMd5, pConfirmPwMd5, 0x20u);
- this->szConfirmPwMd5[32] = 0;
- }
- //----- (08070A54) --------------------------------------------------------
- const CHAR *__cdecl Packets::CLAskRegPassPort::GetEmail(const Packets::CLAskRegPassPort *const this)
- {
- return this->szEmail;
- }
- //----- (08070A64) --------------------------------------------------------
- void __cdecl Packets::CLAskRegPassPort::SetEmail(Packets::CLAskRegPassPort *const this, CHAR *pEmail)
- {
- if ( !pEmail )
- __assert__(
- "../../Common/Packets/CLAskRegPassPort.cpp",
- 0x74u,
- "void Packets::CLAskRegPassPort::SetEmail(CHAR*)",
- "pEmail");
- strncpy(this->szEmail, pEmail, 0xFFu);
- this->szEmail[255] = 0;
- }
- //----- (08070AB0) --------------------------------------------------------
- void __cdecl _tcf_0_33(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08070AC0) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskRegPassPort::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_33, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08070AEC) --------------------------------------------------------
- void __cdecl Packets::CLAskRegPassPort::~CLAskRegPassPort(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CCD48;
- Packet::~Packet(a2);
- }
- // 80CCD48: using guessed type _DWORD (__cdecl *off_80CCD48[2])(Packets::CLAskRegPassPort *this);
- //----- (08070B08) --------------------------------------------------------
- void __cdecl Packets::CLAskRegPassPort::~CLAskRegPassPort(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CCD48;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CCD48: using guessed type _DWORD (__cdecl *off_80CCD48[2])(Packets::CLAskRegPassPort *this);
- //----- (08070B30) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskRegPassPort::GetPacketID(const Packets::CLAskRegPassPort *const this)
- {
- return 439;
- }
- //----- (08070B3C) --------------------------------------------------------
- UINT __cdecl Packets::CLAskRegPassPort::GetPacketSize(const Packets::CLAskRegPassPort *const this)
- {
- return 433;
- }
- //----- (08070B48) --------------------------------------------------------
- BOOL __cdecl Packets::CLConnect::Read(Packets::CLConnect *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->mMiBao, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mNetProvider, 4u);
- return 1;
- }
- //----- (08070BC4) --------------------------------------------------------
- BOOL __cdecl Packets::CLConnect::Write(const Packets::CLConnect *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mMiBao, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mNetProvider, 4u);
- return 1;
- }
- //----- (08070C40) --------------------------------------------------------
- UINT __cdecl Packets::CLConnect::Execute(Packets::CLConnect *const this, Player *pPlayer)
- {
- return Packets::CLConnectHandler::Execute(this, pPlayer);
- }
- //----- (08070CA0) --------------------------------------------------------
- void __cdecl _tcf_0_34(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08070CB0) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLConnect::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_34, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08070CDC) --------------------------------------------------------
- void __cdecl Packets::CLConnect::~CLConnect(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CD088;
- Packet::~Packet(a2);
- }
- // 80CD088: using guessed type _DWORD (__cdecl *off_80CD088[2])(Packets::CLConnect *this);
- //----- (08070CF8) --------------------------------------------------------
- void __cdecl Packets::CLConnect::~CLConnect(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CD088;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CD088: using guessed type _DWORD (__cdecl *off_80CD088[2])(Packets::CLConnect *this);
- //----- (08070D20) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLConnect::GetPacketID(const Packets::CLConnect *const this)
- {
- return 355;
- }
- //----- (08070D2C) --------------------------------------------------------
- UINT __cdecl Packets::CLConnect::GetPacketSize(const Packets::CLConnect *const this)
- {
- return 5;
- }
- //----- (08070D38) --------------------------------------------------------
- BOOL __cdecl Packets::KeyExchange::Read(Packets::KeyExchange *const this, SocketInputStream *const iStream)
- {
- SHORT v2; // ax
- SocketInputStream::Read(iStream, (CHAR *)&this->m_nKeySize, 2u);
- v2 = this->m_nKeySize;
- if ( (unsigned __int16)v2 > 0x400u )
- __assert__(
- "../../Common/Packets/KeyExchange.cpp",
- 0xEu,
- "virtual BOOL Packets::KeyExchange::Read(SocketInputStream&)",
- "0<=m_nKeySize&&m_nKeySize<=MAX_BUFFER_SIZE");
- SocketInputStream::Read(iStream, (CHAR *)this->m_szKey, v2);
- return 1;
- }
- //----- (08070DE4) --------------------------------------------------------
- BOOL __cdecl Packets::KeyExchange::Write(const Packets::KeyExchange *const this, SocketOutputStream *const oStream)
- {
- if ( this->m_nKeySize < 0 )
- __assert__(
- "../../Common/Packets/KeyExchange.cpp",
- 0x1Bu,
- "virtual BOOL Packets::KeyExchange::Write(SocketOutputStream&) const",
- "0<=m_nKeySize");
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_nKeySize, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)this->m_szKey, this->m_nKeySize);
- return 1;
- }
- //----- (08070E94) --------------------------------------------------------
- UINT __cdecl Packets::KeyExchange::Execute(Packets::KeyExchange *const this, Player *pPlayer)
- {
- return Packets::KeyExchangeHandler::Execute(this, pPlayer);
- }
- //----- (08070EF4) --------------------------------------------------------
- void __cdecl Packets::KeyExchange::SetKey(Packets::KeyExchange *const this, const UCHAR *szKey, INT nKeySize)
- {
- if ( (unsigned int)nKeySize > 0x400 )
- __assert__(
- "../../Common/Packets/KeyExchange.cpp",
- 0x34u,
- "void Packets::KeyExchange::SetKey(const UCHAR*, INT)",
- "MAX_BUFFER_SIZE>=nKeySize && 0<=nKeySize");
- this->m_nKeySize = nKeySize;
- memcpy(this->m_szKey, szKey, nKeySize);
- }
- //----- (08070FB0) --------------------------------------------------------
- void __cdecl _tcf_0_35(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08070FC0) --------------------------------------------------------
- void `global constructor keyed to'Packets::KeyExchange::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_35, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08070FEC) --------------------------------------------------------
- void __cdecl Packets::KeyExchange::~KeyExchange(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CD1E8;
- Packet::~Packet(a2);
- }
- // 80CD1E8: using guessed type _DWORD (__cdecl *off_80CD1E8[2])(Packets::KeyExchange *this);
- //----- (08071008) --------------------------------------------------------
- void __cdecl Packets::KeyExchange::~KeyExchange(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CD1E8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CD1E8: using guessed type _DWORD (__cdecl *off_80CD1E8[2])(Packets::KeyExchange *this);
- //----- (08071030) --------------------------------------------------------
- PacketID_t __cdecl Packets::KeyExchange::GetPacketID(const Packets::KeyExchange *const this)
- {
- return 627;
- }
- //----- (0807103C) --------------------------------------------------------
- int __cdecl Packets::KeyExchange::GetPacketSize(int a2)
- {
- return *(signed __int16 *)(a2 + 1036) + 2;
- }
- //----- (08071050) --------------------------------------------------------
- BOOL __cdecl Packets::LBAccCheck::Read(Packets::LBAccCheck *const this, SocketBillingInputStream *const iStream)
- {
- return 1;
- }
- //----- (0807105C) --------------------------------------------------------
- BOOL __cdecl Packets::LBAccCheck::Write(const Packets::LBAccCheck *const this, SocketBillingOutputStream *const oStream)
- {
- const Packets::LBAccCheck *v2; // ebx
- const CHAR *v3; // edi
- const CHAR *v4; // edi
- INT i_0; // [esp+4h] [ebp-18h]
- INT i; // [esp+8h] [ebp-14h]
- USHORT UserLevel; // [esp+Eh] [ebp-Eh]
- v2 = this;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mAccount, v2->mAccLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mPwLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mPwMd5, v2->mPwLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mIPLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mIP, v2->mIPLength);
- UserLevel = __ROR2__(this->mUserLevel, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&UserLevel, 2u);
- i = 0;
- v3 = (const CHAR *)this->mAllMiBaoKey;
- do
- {
- SocketOutputStream::Write(&oStream->0, v3, 2u);
- ++i;
- v3 += 3;
- }
- while ( i <= 2 );
- i_0 = 0;
- v4 = (const CHAR *)this->mAllMiBaoValue;
- do
- {
- SocketOutputStream::Write(&oStream->0, v4, 2u);
- ++i_0;
- v4 += 3;
- }
- while ( i_0 <= 2 );
- SocketOutputStream::Write(&oStream->0, this->mMacAddr, 0x20u);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mHWIDLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mHWIDInfo, this->mHWIDLength);
- return 1;
- }
- //----- (080711B8) --------------------------------------------------------
- UINT __cdecl Packets::LBAccCheck::Execute(Packets::LBAccCheck *const this, Player *pPlayer)
- {
- return Packets::LBAccCheckHandler::Execute(this, pPlayer);
- }
- //----- (08071218) --------------------------------------------------------
- void __cdecl _tcf_0_36(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08071228) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBAccCheck::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_36, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08071254) --------------------------------------------------------
- void __cdecl Packets::LBAccCheck::~LBAccCheck(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CD408;
- BillPacket::~BillPacket(a2);
- }
- // 80CD408: using guessed type _DWORD (__cdecl *off_80CD408[2])(Packets::LBAccCheck *this);
- //----- (08071270) --------------------------------------------------------
- void __cdecl Packets::LBAccCheck::~LBAccCheck(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CD408;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CD408: using guessed type _DWORD (__cdecl *off_80CD408[2])(Packets::LBAccCheck *this);
- //----- (08071298) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBAccCheck::GetPacketID(const Packets::LBAccCheck *const this)
- {
- return -94;
- }
- //----- (080712A4) --------------------------------------------------------
- UINT __fastcall Packets::LBAccCheck::GetPacketSize(const Packets::LBAccCheck *const this)
- {
- unsigned __int8 *v2; // [esp+8h] [ebp+8h]
- return v2[93] + v2[59] + v2[7] + v2[163] + 50;
- }
- //----- (080712C8) --------------------------------------------------------
- BOOL __cdecl Packets::LBAskAuth::Read(Packets::LBAskAuth *const this, SocketInputStream *const iStream)
- {
- CHAR *v2; // edi
- CHAR *v3; // edi
- INT i_0; // [esp+8h] [ebp-14h]
- INT i; // [esp+Ch] [ebp-10h]
- SocketInputStream::Read(iStream, this->szAccount, 0x32u);
- SocketInputStream::Read(iStream, this->szPassWord, 0x20u);
- SocketInputStream::Read(iStream, (CHAR *)&this->PlayerID, 2u);
- SocketInputStream::Read(iStream, this->szIP, 0xFu);
- i = 0;
- v2 = (CHAR *)this->mAllMiBaoKey;
- do
- {
- SocketInputStream::Read(iStream, v2, 2u);
- ++i;
- v2 += 3;
- }
- while ( i <= 2 );
- i_0 = 0;
- v3 = (CHAR *)this->mAllMiBaoValue;
- do
- {
- SocketInputStream::Read(iStream, v3, 2u);
- ++i_0;
- v3 += 3;
- }
- while ( i_0 <= 2 );
- SocketInputStream::Read(iStream, this->mMacAddr, 0x20u);
- SocketInputStream::Read(iStream, this->mHWIDInfo, 0x23u);
- return 1;
- }
- //----- (080713CC) --------------------------------------------------------
- BOOL __cdecl Packets::LBAskAuth::Write(const Packets::LBAskAuth *const this, SocketOutputStream *const oStream)
- {
- const CHAR *v2; // edi
- const CHAR *v3; // edi
- INT i_0; // [esp+8h] [ebp-14h]
- INT i; // [esp+Ch] [ebp-10h]
- SocketOutputStream::Write(oStream, this->szAccount, 0x32u);
- SocketOutputStream::Write(oStream, this->szPassWord, 0x20u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->PlayerID, 2u);
- SocketOutputStream::Write(oStream, this->szIP, 0xFu);
- i = 0;
- v2 = (const CHAR *)this->mAllMiBaoKey;
- do
- {
- SocketOutputStream::Write(oStream, v2, 2u);
- ++i;
- v2 += 3;
- }
- while ( i <= 2 );
- i_0 = 0;
- v3 = (const CHAR *)this->mAllMiBaoValue;
- do
- {
- SocketOutputStream::Write(oStream, v3, 2u);
- ++i_0;
- v3 += 3;
- }
- while ( i_0 <= 2 );
- SocketOutputStream::Write(oStream, this->mMacAddr, 0x20u);
- SocketOutputStream::Write(oStream, this->mHWIDInfo, 0x23u);
- return 1;
- }
- //----- (080714D0) --------------------------------------------------------
- UINT __cdecl Packets::LBAskAuth::Execute(Packets::LBAskAuth *const this, Player *pPlayer)
- {
- return Packets::LBAskAuthHandler::Execute(this, pPlayer);
- }
- //----- (08071530) --------------------------------------------------------
- const CHAR *__cdecl Packets::LBAskAuth::GetAccount(const Packets::LBAskAuth *const this)
- {
- return this->szAccount;
- }
- //----- (0807153C) --------------------------------------------------------
- void __cdecl Packets::LBAskAuth::SetAccount(Packets::LBAskAuth *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/LBAskAuth.cpp",
- 0x46u,
- "void Packets::LBAskAuth::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (08071580) --------------------------------------------------------
- const CHAR *__cdecl Packets::LBAskAuth::GetPassWord(const Packets::LBAskAuth *const this)
- {
- return this->szPassWord;
- }
- //----- (0807158C) --------------------------------------------------------
- void __cdecl Packets::LBAskAuth::SetPassWord(Packets::LBAskAuth *const this, const CHAR *pPassWord)
- {
- if ( !pPassWord )
- __assert__(
- "../../Common/Packets/LBAskAuth.cpp",
- 0x51u,
- "void Packets::LBAskAuth::SetPassWord(const CHAR*)",
- "pPassWord");
- strncpy(this->szPassWord, pPassWord, 0x20u);
- this->szPassWord[32] = 0;
- }
- //----- (080715D0) --------------------------------------------------------
- int __cdecl Packets::LBAskAuth::GetPlayerID(int a2)
- {
- return *(signed __int16 *)(a2 + 112);
- }
- //----- (080715DC) --------------------------------------------------------
- void __cdecl Packets::LBAskAuth::SetPlayerID(int pID, __int16 pIDa)
- {
- *(_WORD *)(pID + 112) = pIDa;
- }
- //----- (080715EC) --------------------------------------------------------
- void __cdecl Packets::LBAskAuth::SetIPAddr(Packets::LBAskAuth *const this, const CHAR *pIP)
- {
- if ( !pIP )
- __assert__("../../Common/Packets/LBAskAuth.cpp", 0x61u, "void Packets::LBAskAuth::SetIPAddr(const CHAR*)", "pIP");
- strncpy(this->szIP, pIP, 0xFu);
- this->szIP[15] = 0;
- }
- //----- (08071630) --------------------------------------------------------
- const CHAR *__cdecl Packets::LBAskAuth::GetIPAddr(const Packets::LBAskAuth *const this)
- {
- return this->szIP;
- }
- //----- (0807163C) --------------------------------------------------------
- const CHAR *__cdecl Packets::LBAskAuth::GetMacAddr(const Packets::LBAskAuth *const this)
- {
- return this->mMacAddr;
- }
- //----- (0807164C) --------------------------------------------------------
- void __cdecl Packets::LBAskAuth::SetMacAddr(Packets::LBAskAuth *const this, CHAR *pMacMD5)
- {
- if ( !pMacMD5 )
- __assert__("../../Common/Packets/LBAskAuth.cpp", 0x71u, "void Packets::LBAskAuth::SetMacAddr(CHAR*)", "pMacMD5");
- strncpy(this->mMacAddr, pMacMD5, 0x20u);
- this->mMacAddr[32] = 0;
- }
- //----- (08071694) --------------------------------------------------------
- const CHAR *__cdecl Packets::LBAskAuth::GetHWIDInfo(const Packets::LBAskAuth *const this)
- {
- return this->mHWIDInfo;
- }
- //----- (080716A4) --------------------------------------------------------
- void __cdecl Packets::LBAskAuth::SetHWIDInfo(Packets::LBAskAuth *const this, CHAR *pHWIDInfo)
- {
- if ( !pHWIDInfo )
- __assert__("../../Common/Packets/LBAskAuth.cpp", 0x7Cu, "void Packets::LBAskAuth::SetHWIDInfo(CHAR*)", "pHWIDInfo");
- strncpy(this->mHWIDInfo, pHWIDInfo, 0x23u);
- this->mHWIDInfo[35] = 0;
- }
- //----- (080716EC) --------------------------------------------------------
- void __cdecl _tcf_0_37(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080716FC) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBAskAuth::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_37, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08071728) --------------------------------------------------------
- void __cdecl Packets::LBAskAuth::~LBAskAuth(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CD588;
- Packet::~Packet(a2);
- }
- // 80CD588: using guessed type _DWORD (__cdecl *off_80CD588[2])(Packets::LBAskAuth *this);
- //----- (08071744) --------------------------------------------------------
- void __cdecl Packets::LBAskAuth::~LBAskAuth(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CD588;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CD588: using guessed type _DWORD (__cdecl *off_80CD588[2])(Packets::LBAskAuth *this);
- //----- (0807176C) --------------------------------------------------------
- PacketID_t __cdecl Packets::LBAskAuth::GetPacketID(const Packets::LBAskAuth *const this)
- {
- return 23;
- }
- //----- (08071778) --------------------------------------------------------
- UINT __cdecl Packets::LBAskAuth::GetPacketSize(const Packets::LBAskAuth *const this)
- {
- return 176;
- }
- //----- (08071784) --------------------------------------------------------
- BOOL __cdecl Packets::LBAskRegAuth::Read(Packets::LBAskRegAuth *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->szAccount, 0x32u);
- SocketInputStream::Read(iStream, this->szSuperPassWord, 0x20u);
- SocketInputStream::Read(iStream, this->szPassWord, 0x20u);
- SocketInputStream::Read(iStream, this->szIP, 0xFu);
- SocketInputStream::Read(iStream, this->szEmail, 0xFFu);
- SocketInputStream::Read(iStream, (CHAR *)&this->PlayerID, 2u);
- return 1;
- }
- //----- (08071844) --------------------------------------------------------
- BOOL __cdecl Packets::LBAskRegAuth::Write(const Packets::LBAskRegAuth *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->szAccount, 0x32u);
- SocketOutputStream::Write(oStream, this->szSuperPassWord, 0x20u);
- SocketOutputStream::Write(oStream, this->szPassWord, 0x20u);
- SocketOutputStream::Write(oStream, this->szIP, 0xFu);
- SocketOutputStream::Write(oStream, this->szEmail, 0xFFu);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->PlayerID, 2u);
- return 1;
- }
- //----- (08071904) --------------------------------------------------------
- UINT __cdecl Packets::LBAskRegAuth::Execute(Packets::LBAskRegAuth *const this, Player *pPlayer)
- {
- return Packets::LBAskRegAuthHandler::Execute(this, pPlayer);
- }
- //----- (08071964) --------------------------------------------------------
- const CHAR *__cdecl Packets::LBAskRegAuth::GetAccount(const Packets::LBAskRegAuth *const this)
- {
- return this->szAccount;
- }
- //----- (08071970) --------------------------------------------------------
- void __cdecl Packets::LBAskRegAuth::SetAccount(Packets::LBAskRegAuth *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/LBAskRegAuth.cpp",
- 0x37u,
- "void Packets::LBAskRegAuth::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (080719B4) --------------------------------------------------------
- const CHAR *__cdecl Packets::LBAskRegAuth::GetPassWord(const Packets::LBAskRegAuth *const this)
- {
- return this->szPassWord;
- }
- //----- (080719C0) --------------------------------------------------------
- void __cdecl Packets::LBAskRegAuth::SetPassWord(Packets::LBAskRegAuth *const this, const CHAR *pPassWord)
- {
- if ( !pPassWord )
- __assert__(
- "../../Common/Packets/LBAskRegAuth.cpp",
- 0x42u,
- "void Packets::LBAskRegAuth::SetPassWord(const CHAR*)",
- "pPassWord");
- strncpy(this->szPassWord, pPassWord, 0x20u);
- this->szPassWord[32] = 0;
- }
- //----- (08071A08) --------------------------------------------------------
- int __cdecl Packets::LBAskRegAuth::GetPlayerID(int a2)
- {
- return *(signed __int16 *)(a2 + 402);
- }
- //----- (08071A18) --------------------------------------------------------
- void __cdecl Packets::LBAskRegAuth::SetPlayerID(int pID, __int16 pIDa)
- {
- *(_WORD *)(pID + 402) = pIDa;
- }
- //----- (08071A2C) --------------------------------------------------------
- const CHAR *__cdecl Packets::LBAskRegAuth::GetSuperPassWord(const Packets::LBAskRegAuth *const this)
- {
- return this->szSuperPassWord;
- }
- //----- (08071A38) --------------------------------------------------------
- void __cdecl Packets::LBAskRegAuth::SetSuperPassWord(Packets::LBAskRegAuth *const this, const CHAR *pSuperPassWord)
- {
- if ( !pSuperPassWord )
- __assert__(
- "../../Common/Packets/LBAskRegAuth.cpp",
- 0x57u,
- "void Packets::LBAskRegAuth::SetSuperPassWord(const CHAR*)",
- "pSuperPassWord");
- strncpy(this->szSuperPassWord, pSuperPassWord, 0x20u);
- this->szSuperPassWord[32] = 0;
- }
- //----- (08071A7C) --------------------------------------------------------
- const CHAR *__cdecl Packets::LBAskRegAuth::GetIP(const Packets::LBAskRegAuth *const this)
- {
- return this->szIP;
- }
- //----- (08071A8C) --------------------------------------------------------
- void __cdecl Packets::LBAskRegAuth::SetIP(Packets::LBAskRegAuth *const this, const CHAR *pIP)
- {
- if ( !pIP )
- __assert__("../../Common/Packets/LBAskRegAuth.cpp", 0x63u, "void Packets::LBAskRegAuth::SetIP(const CHAR*)", "pIP");
- strncpy(this->szIP, pIP, 0xFu);
- this->szIP[15] = 0;
- }
- //----- (08071AD4) --------------------------------------------------------
- const CHAR *__cdecl Packets::LBAskRegAuth::GetEmail(const Packets::LBAskRegAuth *const this)
- {
- return this->szEmail;
- }
- //----- (08071AE4) --------------------------------------------------------
- void __cdecl Packets::LBAskRegAuth::SetEmail(Packets::LBAskRegAuth *const this, const CHAR *pEmail)
- {
- if ( !pEmail )
- __assert__(
- "../../Common/Packets/LBAskRegAuth.cpp",
- 0x6Fu,
- "void Packets::LBAskRegAuth::SetEmail(const CHAR*)",
- "pEmail");
- strncpy(this->szEmail, pEmail, 0xFFu);
- this->szEmail[255] = 0;
- }
- //----- (08071B30) --------------------------------------------------------
- void __cdecl _tcf_0_38(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08071B40) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBAskRegAuth::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_38, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08071B6C) --------------------------------------------------------
- void __cdecl Packets::LBAskRegAuth::~LBAskRegAuth(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CD828;
- Packet::~Packet(a2);
- }
- // 80CD828: using guessed type _DWORD (__cdecl *off_80CD828[2])(Packets::LBAskRegAuth *this);
- //----- (08071B88) --------------------------------------------------------
- void __cdecl Packets::LBAskRegAuth::~LBAskRegAuth(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CD828;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CD828: using guessed type _DWORD (__cdecl *off_80CD828[2])(Packets::LBAskRegAuth *this);
- //----- (08071BB0) --------------------------------------------------------
- PacketID_t __cdecl Packets::LBAskRegAuth::GetPacketID(const Packets::LBAskRegAuth *const this)
- {
- return 194;
- }
- //----- (08071BBC) --------------------------------------------------------
- UINT __cdecl Packets::LBAskRegAuth::GetPacketSize(const Packets::LBAskRegAuth *const this)
- {
- return 386;
- }
- //----- (08071BC8) --------------------------------------------------------
- BOOL __cdecl Packets::LBBillingEnd::Read(Packets::LBBillingEnd *const this, SocketBillingInputStream *const iStream)
- {
- return 1;
- }
- //----- (08071BD4) --------------------------------------------------------
- BOOL __cdecl Packets::LBBillingEnd::Write(const Packets::LBBillingEnd *const this, SocketBillingOutputStream *const oStream)
- {
- UINT v2; // eax
- UINT v3; // eax
- UINT EndTime; // [esp+8h] [ebp-14h]
- UINT StartTime; // [esp+Ch] [ebp-10h]
- USHORT CharLevel; // [esp+12h] [ebp-Ah]
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mAccount, this->mAccLength);
- CharLevel = __ROR2__(this->mCharLevel, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&CharLevel, 2u);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mEndType, 1u);
- v2 = this->mStartTime;
- LOWORD(v2) = __ROR2__(v2, 8);
- v2 = __ROR4__(v2, 16);
- LOWORD(v2) = __ROR2__(v2, 8);
- StartTime = v2;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&StartTime, 4u);
- v3 = this->mEndTime;
- LOWORD(v3) = __ROR2__(v3, 8);
- v3 = __ROR4__(v3, 16);
- LOWORD(v3) = __ROR2__(v3, 8);
- EndTime = v3;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&EndTime, 4u);
- return 1;
- }
- //----- (08071CBC) --------------------------------------------------------
- UINT __cdecl Packets::LBBillingEnd::Execute(Packets::LBBillingEnd *const this, Player *pPlayer)
- {
- return Packets::LBBillingEndHandler::Execute(this, pPlayer);
- }
- //----- (08071D1C) --------------------------------------------------------
- void __cdecl _tcf_0_39(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08071D2C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBBillingEnd::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_39, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08071D58) --------------------------------------------------------
- void __cdecl Packets::LBBillingEnd::~LBBillingEnd(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CDAE8;
- BillPacket::~BillPacket(a2);
- }
- // 80CDAE8: using guessed type _DWORD (__cdecl *off_80CDAE8[2])(Packets::LBBillingEnd *this);
- //----- (08071D74) --------------------------------------------------------
- void __cdecl Packets::LBBillingEnd::~LBBillingEnd(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CDAE8;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CDAE8: using guessed type _DWORD (__cdecl *off_80CDAE8[2])(Packets::LBBillingEnd *this);
- //----- (08071D9C) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBBillingEnd::GetPacketID(const Packets::LBBillingEnd *const this)
- {
- return -92;
- }
- //----- (08071DA8) --------------------------------------------------------
- int __cdecl Packets::LBBillingEnd::GetPacketSize(int a2)
- {
- return *(unsigned __int8 *)(a2 + 7) + 12;
- }
- //----- (08071DB8) --------------------------------------------------------
- BOOL __cdecl Packets::LBBillingKeep::Read(Packets::LBBillingKeep *const this, SocketBillingInputStream *const iStream)
- {
- return 1;
- }
- //----- (08071DC4) --------------------------------------------------------
- BOOL __cdecl Packets::LBBillingKeep::Write(const Packets::LBBillingKeep *const this, SocketBillingOutputStream *const oStream)
- {
- UINT v2; // eax
- UINT v3; // eax
- UINT EndTime; // [esp+8h] [ebp-14h]
- UINT StartTime; // [esp+Ch] [ebp-10h]
- USHORT CharLevel; // [esp+12h] [ebp-Ah]
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mAccount, this->mAccLength);
- CharLevel = __ROR2__(this->mCharLevel, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&CharLevel, 2u);
- v2 = this->mStartTime;
- LOWORD(v2) = __ROR2__(v2, 8);
- v2 = __ROR4__(v2, 16);
- LOWORD(v2) = __ROR2__(v2, 8);
- StartTime = v2;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&StartTime, 4u);
- v3 = this->mEndTime;
- LOWORD(v3) = __ROR2__(v3, 8);
- v3 = __ROR4__(v3, 16);
- LOWORD(v3) = __ROR2__(v3, 8);
- EndTime = v3;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&EndTime, 4u);
- return 1;
- }
- //----- (08071E9C) --------------------------------------------------------
- UINT __cdecl Packets::LBBillingKeep::Execute(Packets::LBBillingKeep *const this, Player *pPlayer)
- {
- return Packets::LBBillingKeepHandler::Execute(this, pPlayer);
- }
- //----- (08071EFC) --------------------------------------------------------
- void __cdecl _tcf_0_40(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08071F0C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBBillingKeep::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_40, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08071F38) --------------------------------------------------------
- void __cdecl Packets::LBBillingKeep::~LBBillingKeep(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CDC68;
- BillPacket::~BillPacket(a2);
- }
- // 80CDC68: using guessed type _DWORD (__cdecl *off_80CDC68[2])(Packets::LBBillingKeep *this);
- //----- (08071F54) --------------------------------------------------------
- void __cdecl Packets::LBBillingKeep::~LBBillingKeep(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CDC68;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CDC68: using guessed type _DWORD (__cdecl *off_80CDC68[2])(Packets::LBBillingKeep *this);
- //----- (08071F7C) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBBillingKeep::GetPacketID(const Packets::LBBillingKeep *const this)
- {
- return -90;
- }
- //----- (08071F88) --------------------------------------------------------
- int __cdecl Packets::LBBillingKeep::GetPacketSize(int a2)
- {
- return *(unsigned __int8 *)(a2 + 7) + 11;
- }
- //----- (08071F98) --------------------------------------------------------
- BOOL __cdecl Packets::LBBillingStart::Read(Packets::LBBillingStart *const this, SocketBillingInputStream *const iStream)
- {
- return 1;
- }
- //----- (08071FA4) --------------------------------------------------------
- BOOL __cdecl Packets::LBBillingStart::Write(const Packets::LBBillingStart *const this, SocketBillingOutputStream *const oStream)
- {
- const Packets::LBBillingStart *v2; // ebx
- UINT v3; // eax
- UINT v4; // eax
- UINT StartTime; // [esp+8h] [ebp-14h]
- USHORT CharLevel; // [esp+Eh] [ebp-Eh]
- UINT guid; // [esp+10h] [ebp-Ch]
- v2 = this;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mAccount, v2->mAccLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mCharLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mCharName, v2->mCharLength);
- v3 = this->mCharGUID;
- LOWORD(v3) = __ROR2__(v3, 8);
- v3 = __ROR4__(v3, 16);
- LOWORD(v3) = __ROR2__(v3, 8);
- guid = v3;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&guid, 4u);
- CharLevel = __ROR2__(this->mCharLevel, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&CharLevel, 2u);
- v4 = this->mStartTime;
- LOWORD(v4) = __ROR2__(v4, 8);
- v4 = __ROR4__(v4, 16);
- LOWORD(v4) = __ROR2__(v4, 8);
- StartTime = v4;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&StartTime, 4u);
- return 1;
- }
- //----- (0807209C) --------------------------------------------------------
- UINT __cdecl Packets::LBBillingStart::Execute(Packets::LBBillingStart *const this, Player *pPlayer)
- {
- return Packets::LBBillingStartHandler::Execute(this, pPlayer);
- }
- //----- (080720FC) --------------------------------------------------------
- void __cdecl _tcf_0_41(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807210C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBBillingStart::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_41, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08072138) --------------------------------------------------------
- void __cdecl Packets::LBBillingStart::~LBBillingStart(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CDDE8;
- BillPacket::~BillPacket(a2);
- }
- // 80CDDE8: using guessed type _DWORD (__cdecl *off_80CDDE8[2])(Packets::LBBillingStart *this);
- //----- (08072154) --------------------------------------------------------
- void __cdecl Packets::LBBillingStart::~LBBillingStart(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CDDE8;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CDDE8: using guessed type _DWORD (__cdecl *off_80CDDE8[2])(Packets::LBBillingStart *this);
- //----- (0807217C) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBBillingStart::GetPacketID(const Packets::LBBillingStart *const this)
- {
- return -93;
- }
- //----- (08072188) --------------------------------------------------------
- int __cdecl Packets::LBBillingStart::GetPacketSize(int a2)
- {
- return *(unsigned __int8 *)(a2 + 7) + *(unsigned __int8 *)(a2 + 58) + 12;
- }
- //----- (0807219C) --------------------------------------------------------
- BOOL __cdecl Packets::LBConnect::Read(Packets::LBConnect *const this, SocketBillingInputStream *const iStream)
- {
- BYTE v2; // al
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mWorldID, 2u);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mIPSize, 1u);
- v2 = this->mIPSize;
- if ( v2 > 0xFu )
- {
- v2 = 15;
- this->mIPSize = 15;
- }
- SocketInputStream::Read(&iStream->0, this->mIP, v2);
- return 1;
- }
- //----- (08072238) --------------------------------------------------------
- #error "80722DC: positive sp value has been found (funcsize=52)"
- //----- (08072310) --------------------------------------------------------
- UINT __cdecl Packets::LBConnect::Execute(Packets::LBConnect *const this, Player *pPlayer)
- {
- return Packets::LBConnectHandler::Execute(this, pPlayer);
- }
- //----- (08072370) --------------------------------------------------------
- void __cdecl _tcf_0_42(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08072380) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBConnect::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_42, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080723AC) --------------------------------------------------------
- void __cdecl Packets::LBConnect::~LBConnect(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CDF68;
- BillPacket::~BillPacket(a2);
- }
- // 80CDF68: using guessed type _DWORD (__cdecl *off_80CDF68[2])(Packets::LBConnect *this);
- //----- (080723C8) --------------------------------------------------------
- void __cdecl Packets::LBConnect::~LBConnect(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CDF68;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CDF68: using guessed type _DWORD (__cdecl *off_80CDF68[2])(Packets::LBConnect *this);
- //----- (080723F0) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBConnect::GetPacketID(const Packets::LBConnect *const this)
- {
- return -96;
- }
- //----- (080723FC) --------------------------------------------------------
- int __cdecl Packets::LBConnect::GetPacketSize(int a2)
- {
- return *(unsigned __int8 *)(a2 + 12) + 5;
- }
- //----- (0807240C) --------------------------------------------------------
- BOOL __cdecl Packets::LBKeepLive::Read(Packets::LBKeepLive *const this, SocketBillingInputStream *const iStream)
- {
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mWorldID, 2u);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mPlayerCount, 2u);
- return 1;
- }
- //----- (08072488) --------------------------------------------------------
- BOOL __cdecl Packets::LBKeepLive::Write(const Packets::LBKeepLive *const this, SocketBillingOutputStream *const oStream)
- {
- USHORT playercount; // [esp+Eh] [ebp-Eh]
- USHORT worldid; // [esp+10h] [ebp-Ch]
- USHORT zoneid; // [esp+12h] [ebp-Ah]
- zoneid = __ROR2__(this->mZoneID, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&zoneid, 2u);
- worldid = __ROR2__(this->mWorldID, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&worldid, 2u);
- playercount = __ROR2__(this->mPlayerCount, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&playercount, 2u);
- return 1;
- }
- //----- (08072538) --------------------------------------------------------
- UINT __cdecl Packets::LBKeepLive::Execute(Packets::LBKeepLive *const this, Player *pPlayer)
- {
- return Packets::LBKeepLiveHandler::Execute(this, pPlayer);
- }
- //----- (08072598) --------------------------------------------------------
- void __cdecl _tcf_0_43(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080725A8) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBKeepLive::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_43, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080725D4) --------------------------------------------------------
- void __cdecl Packets::LBKeepLive::~LBKeepLive(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CE0E8;
- BillPacket::~BillPacket(a2);
- }
- // 80CE0E8: using guessed type _DWORD (__cdecl *off_80CE0E8[2])(Packets::LBKeepLive *this);
- //----- (080725F0) --------------------------------------------------------
- void __cdecl Packets::LBKeepLive::~LBKeepLive(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CE0E8;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CE0E8: using guessed type _DWORD (__cdecl *off_80CE0E8[2])(Packets::LBKeepLive *this);
- //----- (08072618) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBKeepLive::GetPacketID(const Packets::LBKeepLive *const this)
- {
- return -95;
- }
- //----- (08072624) --------------------------------------------------------
- UINT __cdecl Packets::LBKeepLive::GetPacketSize(const Packets::LBKeepLive *const this)
- {
- return 6;
- }
- //----- (08072630) --------------------------------------------------------
- BOOL __cdecl Packets::LBKickAll::Read(Packets::LBKickAll *const this, SocketBillingInputStream *const iStream)
- {
- return 1;
- }
- //----- (0807263C) --------------------------------------------------------
- BOOL __cdecl Packets::LBKickAll::Write(const Packets::LBKickAll *const this, SocketBillingOutputStream *const oStream)
- {
- const Packets::LBKickAll *v2; // ebx
- USHORT worldid; // [esp+10h] [ebp-Ch]
- USHORT zoneid; // [esp+12h] [ebp-Ah]
- v2 = this;
- zoneid = __ROR2__(this->mZoneID, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&zoneid, 2u);
- worldid = __ROR2__(this->mWorldID, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&worldid, 2u);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mReasonLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mReason, v2->mReasonLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mExtInfo1Length, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mExtInfo1, v2->mExtInfo1Length);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mExtInfo2Length, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mExtInfo2, v2->mExtInfo2Length);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mExtInfo3Length, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mExtInfo3, v2->mExtInfo3Length);
- return 1;
- }
- //----- (08072750) --------------------------------------------------------
- UINT __cdecl Packets::LBKickAll::Execute(Packets::LBKickAll *const this, Player *pPlayer)
- {
- return Packets::LBKickAllHandler::Execute(this, pPlayer);
- }
- //----- (080727B0) --------------------------------------------------------
- void __cdecl _tcf_0_44(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080727C0) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBKickAll::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_44, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080727EC) --------------------------------------------------------
- void __cdecl Packets::LBKickAll::~LBKickAll(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CE268;
- BillPacket::~BillPacket(a2);
- }
- // 80CE268: using guessed type _DWORD (__cdecl *off_80CE268[2])(Packets::LBKickAll *this);
- //----- (08072808) --------------------------------------------------------
- void __cdecl Packets::LBKickAll::~LBKickAll(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CE268;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CE268: using guessed type _DWORD (__cdecl *off_80CE268[2])(Packets::LBKickAll *this);
- //----- (08072830) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBKickAll::GetPacketID(const Packets::LBKickAll *const this)
- {
- return -87;
- }
- //----- (0807283C) --------------------------------------------------------
- UINT __fastcall Packets::LBKickAll::GetPacketSize(const Packets::LBKickAll *const this)
- {
- unsigned __int8 *v2; // [esp+8h] [ebp+8h]
- return v2[78] + v2[45] + v2[12] + v2[111] + 8;
- }
- //----- (0807285C) --------------------------------------------------------
- BOOL __cdecl Packets::LBRegPassPort::Read(Packets::LBRegPassPort *const this, SocketBillingInputStream *const iStream)
- {
- return 1;
- }
- //----- (08072868) --------------------------------------------------------
- BOOL __cdecl Packets::LBRegPassPort::Write(const Packets::LBRegPassPort *const this, SocketBillingOutputStream *const oStream)
- {
- const Packets::LBRegPassPort *v2; // ebx
- USHORT oL; // [esp+Eh] [ebp-Eh]
- v2 = this;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mAccount, v2->mAccLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mSuperPwLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mSuperPw, v2->mSuperPwLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mPwLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mPwMd5, v2->mPwLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mIPLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mIP, v2->mIPLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mEmailLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mEmail, v2->mEmailLength);
- oL = __ROR2__(this->mOtherInfo1Length, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&oL, 2u);
- SocketOutputStream::Write(&oStream->0, v2->mOtherInfo1, v2->mOtherInfo1Length);
- oL = __ROR2__(this->mOtherInfo2Length, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&oL, 2u);
- SocketOutputStream::Write(&oStream->0, v2->mOtherInfo2, v2->mOtherInfo2Length);
- oL = __ROR2__(this->mOtherInfo3Length, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&oL, 2u);
- SocketOutputStream::Write(&oStream->0, v2->mOtherInfo3, v2->mOtherInfo3Length);
- return 1;
- }
- //----- (08072A10) --------------------------------------------------------
- UINT __cdecl Packets::LBRegPassPort::Execute(Packets::LBRegPassPort *const this, Player *pPlayer)
- {
- return Packets::LBRegPassPortHandler::Execute(this, pPlayer);
- }
- //----- (08072A70) --------------------------------------------------------
- void __cdecl _tcf_0_45(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08072A80) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBRegPassPort::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_45, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08072AAC) --------------------------------------------------------
- void __cdecl Packets::LBRegPassPort::~LBRegPassPort(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80CE3E8;
- BillPacket::~BillPacket(a2);
- }
- // 80CE3E8: using guessed type _DWORD (__cdecl *off_80CE3E8[2])(Packets::LBRegPassPort *this);
- //----- (08072AC8) --------------------------------------------------------
- void __cdecl Packets::LBRegPassPort::~LBRegPassPort(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CE3E8;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80CE3E8: using guessed type _DWORD (__cdecl *off_80CE3E8[2])(Packets::LBRegPassPort *this);
- //----- (08072AF0) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBRegPassPort::GetPacketID(const Packets::LBRegPassPort *const this)
- {
- return -15;
- }
- //----- (08072AFC) --------------------------------------------------------
- UINT __fastcall Packets::LBRegPassPort::GetPacketSize(const Packets::LBRegPassPort *const this)
- {
- int v2; // [esp+8h] [ebp+8h]
- return *(unsigned __int16 *)(v2 + 438)
- + *(unsigned __int16 *)(v2 + 402)
- + *(unsigned __int8 *)(v2 + 144)
- + *(unsigned __int8 *)(v2 + 127)
- + *(unsigned __int8 *)(v2 + 93)
- + *(unsigned __int8 *)(v2 + 59)
- + *(unsigned __int8 *)(v2 + 7)
- + *(unsigned __int16 *)(v2 + 474)
- + 11;
- }
- //----- (08072B40) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetCharList::Read(Packets::LCRetCharList *const this, SocketInputStream *const iStream)
- {
- return 1;
- }
- //----- (08072B4C) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetCharList::Write(const Packets::LCRetCharList *const this, SocketOutputStream *const oStream)
- {
- char *v2; // ebx
- int v3; // eax
- unsigned int v4; // edi
- DB_CHAR_BASE_INFO *v5; // esi
- int v6; // ebx
- char tempMemory[65536]; // [esp+14h] [ebp-10018h]
- memset(tempMemory, 0, 0x10000u);
- *(_DWORD *)tempMemory = this->Result;
- v2 = &tempMemory[4];
- if ( this->Result == ASKCHARLIST_SUCCESS )
- {
- qmemcpy(&tempMemory[4], this->szAccount, 0x32u);
- v3 = this->uCharNumber;
- if ( (unsigned __int8)v3 > 5u )
- __assert__(
- "../../Common/Packets/LCRetCharList.cpp",
- 0x51u,
- "virtual BOOL Packets::LCRetCharList::Write(SocketOutputStream&) const",
- "FALSE");
- v4 = 0;
- tempMemory[54] = this->uCharNumber;
- v2 = &tempMemory[55];
- if ( (_BYTE)v3 )
- {
- v5 = this->CharList;
- do
- {
- memcpy(v2, v5, 0x124u);
- ++v4;
- v2 += 292;
- ++v5;
- }
- while ( this->uCharNumber > v4 );
- }
- }
- v6 = v2 - tempMemory;
- Seraph::Encrypt_1_S(tempMemory, v6);
- SocketOutputStream::Write(oStream, tempMemory, v6 + 8);
- return 1;
- }
- //----- (08072CD4) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCharList::Execute(Packets::LCRetCharList *const this, Player *pPlayer)
- {
- return Packets::LCRetCharListHandler::Execute(this, pPlayer);
- }
- //----- (08072D34) --------------------------------------------------------
- ASKCHARLIST_RESULT __cdecl Packets::LCRetCharList::GetResult(int a2)
- {
- return *(_DWORD *)(a2 + 12);
- }
- //----- (08072D40) --------------------------------------------------------
- const CHAR *__cdecl Packets::LCRetCharList::GetAccount(const Packets::LCRetCharList *const this)
- {
- return this->szAccount;
- }
- //----- (08072D50) --------------------------------------------------------
- void __cdecl Packets::LCRetCharList::SetAccount(Packets::LCRetCharList *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/LCRetCharList.cpp",
- 0xA4u,
- "void Packets::LCRetCharList::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (08072D9C) --------------------------------------------------------
- void __cdecl Packets::LCRetCharList::SetResult(int a3, int a4)
- {
- *(_DWORD *)(a3 + 12) = a4;
- }
- //----- (08072DAC) --------------------------------------------------------
- void __cdecl _tcf_0_46(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08072DBC) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetCharList::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_46, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08072DE8) --------------------------------------------------------
- void __cdecl Packets::LCRetCharList::~LCRetCharList(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CE568;
- Packet::~Packet(a2);
- }
- // 80CE568: using guessed type _DWORD (__cdecl *off_80CE568[2])(Packets::LCRetCharList *this);
- //----- (08072E04) --------------------------------------------------------
- void __cdecl Packets::LCRetCharList::~LCRetCharList(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CE568;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CE568: using guessed type _DWORD (__cdecl *off_80CE568[2])(Packets::LCRetCharList *this);
- //----- (08072E2C) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetCharList::GetPacketID(const Packets::LCRetCharList *const this)
- {
- return 622;
- }
- //----- (08072E38) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCharList::GetPacketSize(const Packets::LCRetCharList *const this)
- {
- UINT result; // eax
- result = 12;
- if ( this->Result == ASKCHARLIST_SUCCESS )
- result = 292 * this->uCharNumber + 63;
- return result;
- }
- //----- (08072E60) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetCharLogin::Read(Packets::LCRetCharLogin *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->Result, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->ServerPort, 4u);
- SocketInputStream::Read(iStream, this->ServerIP, 0x18u);
- SocketInputStream::Read(iStream, (CHAR *)&this->Key, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->WorldID, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->ZoneID, 4u);
- return 1;
- }
- //----- (08072F14) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetCharLogin::Write(const Packets::LCRetCharLogin *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->Result, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->ServerPort, 4u);
- SocketOutputStream::Write(oStream, this->ServerIP, 0x18u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->Key, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->WorldID, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->ZoneID, 4u);
- return 1;
- }
- //----- (08072FC8) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCharLogin::Execute(Packets::LCRetCharLogin *const this, Player *pPlayer)
- {
- return Packets::LCRetCharLoginHandler::Execute(this, pPlayer);
- }
- //----- (08073028) --------------------------------------------------------
- void __cdecl _tcf_0_47(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08073038) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetCharLogin::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_47, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08073064) --------------------------------------------------------
- void __cdecl Packets::LCRetCharLogin::~LCRetCharLogin(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CE708;
- Packet::~Packet(a2);
- }
- // 80CE708: using guessed type _DWORD (__cdecl *off_80CE708[2])(Packets::LCRetCharLogin *this);
- //----- (08073080) --------------------------------------------------------
- void __cdecl Packets::LCRetCharLogin::~LCRetCharLogin(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CE708;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CE708: using guessed type _DWORD (__cdecl *off_80CE708[2])(Packets::LCRetCharLogin *this);
- //----- (080730A8) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetCharLogin::GetPacketID(const Packets::LCRetCharLogin *const this)
- {
- return 346;
- }
- //----- (080730B4) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCharLogin::GetPacketSize(const Packets::LCRetCharLogin *const this)
- {
- return 41;
- }
- //----- (080730C0) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetConnect::Read(Packets::LCRetConnect *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->Result, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->LoginPort, 4u);
- SocketInputStream::Read(iStream, this->LoginIP, 0x18u);
- SocketInputStream::Read(iStream, (CHAR *)&this->MyWANPort, 4u);
- SocketInputStream::Read(iStream, this->MyWANIP, 0x18u);
- SocketInputStream::Read(iStream, (CHAR *)this->mAllMiBaoKey, 9u);
- return 1;
- }
- //----- (08073174) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetConnect::Write(const Packets::LCRetConnect *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->Result, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->LoginPort, 4u);
- SocketOutputStream::Write(oStream, this->LoginIP, 0x18u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->MyWANPort, 4u);
- SocketOutputStream::Write(oStream, this->MyWANIP, 0x18u);
- SocketOutputStream::Write(oStream, (const CHAR *)this->mAllMiBaoKey, 9u);
- return 1;
- }
- //----- (08073228) --------------------------------------------------------
- UINT __cdecl Packets::LCRetConnect::Execute(Packets::LCRetConnect *const this, Player *pPlayer)
- {
- return Packets::LCRetConnectHandler::Execute(this, pPlayer);
- }
- //----- (08073288) --------------------------------------------------------
- void __cdecl _tcf_0_48(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08073298) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetConnect::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_48, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080732C4) --------------------------------------------------------
- void __cdecl Packets::LCRetConnect::~LCRetConnect(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CE868;
- Packet::~Packet(a2);
- }
- // 80CE868: using guessed type _DWORD (__cdecl *off_80CE868[2])(Packets::LCRetConnect *this);
- //----- (080732E0) --------------------------------------------------------
- void __cdecl Packets::LCRetConnect::~LCRetConnect(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CE868;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CE868: using guessed type _DWORD (__cdecl *off_80CE868[2])(Packets::LCRetConnect *this);
- //----- (08073308) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetConnect::GetPacketID(const Packets::LCRetConnect *const this)
- {
- return 311;
- }
- //----- (08073314) --------------------------------------------------------
- UINT __cdecl Packets::LCRetConnect::GetPacketSize(const Packets::LCRetConnect *const this)
- {
- return 69;
- }
- //----- (08073320) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetCreateChar::Read(Packets::LCRetCreateChar *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->Result, 4u);
- return 1;
- }
- //----- (0807338C) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetCreateChar::Write(const Packets::LCRetCreateChar *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->Result, 4u);
- return 1;
- }
- //----- (080733F8) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCreateChar::Execute(Packets::LCRetCreateChar *const this, Player *pPlayer)
- {
- return Packets::LCRetCreateCharHandler::Execute(this, pPlayer);
- }
- //----- (08073458) --------------------------------------------------------
- ASKCREATECHAR_RESULT __cdecl Packets::LCRetCreateChar::GetResult(int a2)
- {
- return *(_DWORD *)(a2 + 12);
- }
- //----- (08073464) --------------------------------------------------------
- void __cdecl Packets::LCRetCreateChar::SetResult(int a3, int a4)
- {
- *(_DWORD *)(a3 + 12) = a4;
- }
- //----- (08073474) --------------------------------------------------------
- const CHAR *__cdecl Packets::LCRetCreateChar::GetAccount(const Packets::LCRetCreateChar *const this)
- {
- return this->szAccount;
- }
- //----- (08073480) --------------------------------------------------------
- void __cdecl Packets::LCRetCreateChar::SetAccount(Packets::LCRetCreateChar *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/LCRetCreateChar.cpp",
- 0x38u,
- "void Packets::LCRetCreateChar::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (080734C4) --------------------------------------------------------
- void __cdecl _tcf_0_49(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080734D4) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetCreateChar::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_49, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08073500) --------------------------------------------------------
- void __cdecl Packets::LCRetCreateChar::~LCRetCreateChar(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CE9C8;
- Packet::~Packet(a2);
- }
- // 80CE9C8: using guessed type _DWORD (__cdecl *off_80CE9C8[2])(Packets::LCRetCreateChar *this);
- //----- (0807351C) --------------------------------------------------------
- void __cdecl Packets::LCRetCreateChar::~LCRetCreateChar(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CE9C8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CE9C8: using guessed type _DWORD (__cdecl *off_80CE9C8[2])(Packets::LCRetCreateChar *this);
- //----- (08073544) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetCreateChar::GetPacketID(const Packets::LCRetCreateChar *const this)
- {
- return 481;
- }
- //----- (08073550) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCreateChar::GetPacketSize(const Packets::LCRetCreateChar *const this)
- {
- return 4;
- }
- //----- (0807355C) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetDeleteChar::Read(Packets::LCRetDeleteChar *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->Result, 4u);
- return 1;
- }
- //----- (080735C8) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetDeleteChar::Write(const Packets::LCRetDeleteChar *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->Result, 4u);
- return 1;
- }
- //----- (08073634) --------------------------------------------------------
- UINT __cdecl Packets::LCRetDeleteChar::Execute(Packets::LCRetDeleteChar *const this, Player *pPlayer)
- {
- return Packets::LCRetDeleteCharHandler::Execute(this, pPlayer);
- }
- //----- (08073694) --------------------------------------------------------
- const CHAR *__cdecl Packets::LCRetDeleteChar::GetAccount(const Packets::LCRetDeleteChar *const this)
- {
- return this->szAccount;
- }
- //----- (080736A0) --------------------------------------------------------
- void __cdecl Packets::LCRetDeleteChar::SetAccount(Packets::LCRetDeleteChar *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/LCRetDeleteChar.cpp",
- 0x2Du,
- "void Packets::LCRetDeleteChar::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (080736E4) --------------------------------------------------------
- ASKDELETECHAR_RESULT __cdecl Packets::LCRetDeleteChar::GetResult(int a2)
- {
- return *(_DWORD *)(a2 + 12);
- }
- //----- (080736F0) --------------------------------------------------------
- void __cdecl Packets::LCRetDeleteChar::SetResult(int a3, int a4)
- {
- *(_DWORD *)(a3 + 12) = a4;
- }
- //----- (08073700) --------------------------------------------------------
- void __cdecl _tcf_0_50(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08073710) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetDeleteChar::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_50, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807373C) --------------------------------------------------------
- void __cdecl Packets::LCRetDeleteChar::~LCRetDeleteChar(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CEB88;
- Packet::~Packet(a2);
- }
- // 80CEB88: using guessed type _DWORD (__cdecl *off_80CEB88[2])(Packets::LCRetDeleteChar *this);
- //----- (08073758) --------------------------------------------------------
- void __cdecl Packets::LCRetDeleteChar::~LCRetDeleteChar(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CEB88;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CEB88: using guessed type _DWORD (__cdecl *off_80CEB88[2])(Packets::LCRetDeleteChar *this);
- //----- (08073780) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetDeleteChar::GetPacketID(const Packets::LCRetDeleteChar *const this)
- {
- return 163;
- }
- //----- (0807378C) --------------------------------------------------------
- UINT __cdecl Packets::LCRetDeleteChar::GetPacketSize(const Packets::LCRetDeleteChar *const this)
- {
- return 4;
- }
- //----- (08073798) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetLogin::Read(Packets::LCRetLogin *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->szAccount, 0x32u);
- SocketInputStream::Read(iStream, (CHAR *)&this->Result, 4u);
- SocketInputStream::Read(iStream, this->mIP, 0xFu);
- SocketInputStream::Read(iStream, (CHAR *)&this->mSafeSign, 4u);
- return 1;
- }
- //----- (0807382C) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetLogin::Write(const Packets::LCRetLogin *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->szAccount, 0x32u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->Result, 4u);
- SocketOutputStream::Write(oStream, this->mIP, 0xFu);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mSafeSign, 4u);
- return 1;
- }
- //----- (080738C0) --------------------------------------------------------
- UINT __cdecl Packets::LCRetLogin::Execute(Packets::LCRetLogin *const this, Player *pPlayer)
- {
- return Packets::LCRetLoginHandler::Execute(this, pPlayer);
- }
- //----- (08073920) --------------------------------------------------------
- const CHAR *__cdecl Packets::LCRetLogin::GetAccount(const Packets::LCRetLogin *const this)
- {
- return this->szAccount;
- }
- //----- (0807392C) --------------------------------------------------------
- void __cdecl Packets::LCRetLogin::SetAccount(Packets::LCRetLogin *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/LCRetLogin.cpp",
- 0x33u,
- "void Packets::LCRetLogin::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (08073970) --------------------------------------------------------
- LOGIN_RESULT __cdecl Packets::LCRetLogin::GetResult(int a2)
- {
- return *(_DWORD *)(a2 + 64);
- }
- //----- (0807397C) --------------------------------------------------------
- void __cdecl Packets::LCRetLogin::SetResult(int a3, int a4)
- {
- *(_DWORD *)(a3 + 64) = a4;
- }
- //----- (0807398C) --------------------------------------------------------
- void __cdecl _tcf_0_51(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807399C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetLogin::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_51, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080739C8) --------------------------------------------------------
- void __cdecl Packets::LCRetLogin::~LCRetLogin(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CED48;
- Packet::~Packet(a2);
- }
- // 80CED48: using guessed type _DWORD (__cdecl *off_80CED48[2])(Packets::LCRetLogin *this);
- //----- (080739E4) --------------------------------------------------------
- void __cdecl Packets::LCRetLogin::~LCRetLogin(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CED48;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CED48: using guessed type _DWORD (__cdecl *off_80CED48[2])(Packets::LCRetLogin *this);
- //----- (08073A0C) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetLogin::GetPacketID(const Packets::LCRetLogin *const this)
- {
- return 223;
- }
- //----- (08073A18) --------------------------------------------------------
- UINT __cdecl Packets::LCRetLogin::GetPacketSize(const Packets::LCRetLogin *const this)
- {
- return 73;
- }
- //----- (08073A24) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetLoginCode::Read(Packets::LCRetLoginCode *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_RetType, 1u);
- if ( this->m_RetType == 2 )
- SocketInputStream::Read(iStream, (CHAR *)this->m_imageBuf, 0x240u);
- return 1;
- }
- //----- (08073AB0) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetLoginCode::Write(const Packets::LCRetLoginCode *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_RetType, 1u);
- if ( this->m_RetType == 2 )
- SocketOutputStream::Write(oStream, (const CHAR *)this->m_imageBuf, 0x240u);
- return 1;
- }
- //----- (08073B3C) --------------------------------------------------------
- UINT __cdecl Packets::LCRetLoginCode::Execute(Packets::LCRetLoginCode *const this, Player *pPlayer)
- {
- return Packets::LCRetLoginCodeHandler::Execute(this, pPlayer);
- }
- //----- (08073B9C) --------------------------------------------------------
- void __cdecl _tcf_0_52(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08073BAC) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetLoginCode::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_52, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08073BD8) --------------------------------------------------------
- void __cdecl Packets::LCRetLoginCode::~LCRetLoginCode(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CEEE8;
- Packet::~Packet(a2);
- }
- // 80CEEE8: using guessed type _DWORD (__cdecl *off_80CEEE8[2])(Packets::LCRetLoginCode *this);
- //----- (08073BF4) --------------------------------------------------------
- void __cdecl Packets::LCRetLoginCode::~LCRetLoginCode(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CEEE8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CEEE8: using guessed type _DWORD (__cdecl *off_80CEEE8[2])(Packets::LCRetLoginCode *this);
- //----- (08073C1C) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetLoginCode::GetPacketID(const Packets::LCRetLoginCode *const this)
- {
- return 670;
- }
- //----- (08073C28) --------------------------------------------------------
- UINT __cdecl Packets::LCRetLoginCode::GetPacketSize(const Packets::LCRetLoginCode *const this)
- {
- UINT v1; // edx
- v1 = 1;
- if ( this->m_RetType == 2 )
- LOWORD(v1) = 577;
- return v1;
- }
- //----- (08073C48) --------------------------------------------------------
- BOOL __cdecl Packets::LCStatus::Read(Packets::LCStatus *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->TurnNumber, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->ClientStatus, 4u);
- return 1;
- }
- //----- (08073CC4) --------------------------------------------------------
- BOOL __cdecl Packets::LCStatus::Write(const Packets::LCStatus *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->TurnNumber, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->ClientStatus, 4u);
- return 1;
- }
- //----- (08073D40) --------------------------------------------------------
- UINT __cdecl Packets::LCStatus::Execute(Packets::LCStatus *const this, Player *pPlayer)
- {
- return Packets::LCStatusHandler::Execute(this, pPlayer);
- }
- //----- (08073DA0) --------------------------------------------------------
- void __cdecl _tcf_0_53(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08073DB0) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCStatus::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_53, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08073DDC) --------------------------------------------------------
- void __cdecl Packets::LCStatus::~LCStatus(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CF048;
- Packet::~Packet(a2);
- }
- // 80CF048: using guessed type _DWORD (__cdecl *off_80CF048[2])(Packets::LCStatus *this);
- //----- (08073DF8) --------------------------------------------------------
- void __cdecl Packets::LCStatus::~LCStatus(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CF048;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CF048: using guessed type _DWORD (__cdecl *off_80CF048[2])(Packets::LCStatus *this);
- //----- (08073E20) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCStatus::GetPacketID(const Packets::LCStatus *const this)
- {
- return 554;
- }
- //----- (08073E2C) --------------------------------------------------------
- UINT __cdecl Packets::LCStatus::GetPacketSize(const Packets::LCStatus *const this)
- {
- return 6;
- }
- //----- (08073E38) --------------------------------------------------------
- BOOL __cdecl Packets::LWAskCharLogin::Read(Packets::LWAskCharLogin *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->szAccount, 0x32u);
- SocketInputStream::Read(iStream, (CHAR *)&this->PlayerID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->PlayerGUID, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->uKey, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->AskStatus, 4u);
- if ( this->AskStatus == 1 )
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->UserData, 0xC619u);
- SocketInputStream::Read(iStream, this->Host, 0x18u);
- }
- return 1;
- }
- //----- (08073F14) --------------------------------------------------------
- BOOL __cdecl Packets::LWAskCharLogin::Write(const Packets::LWAskCharLogin *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->szAccount, 0x32u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->PlayerID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->PlayerGUID, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->uKey, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->AskStatus, 4u);
- if ( this->AskStatus == 1 )
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->UserData, 0xC619u);
- SocketOutputStream::Write(oStream, this->Host, 0x18u);
- }
- return 1;
- }
- //----- (08073FF0) --------------------------------------------------------
- UINT __cdecl Packets::LWAskCharLogin::Execute(Packets::LWAskCharLogin *const this, Player *pPlayer)
- {
- return Packets::LWAskCharLoginHandler::Execute(this, pPlayer);
- }
- //----- (08074050) --------------------------------------------------------
- const CHAR *__cdecl Packets::LWAskCharLogin::GetAccount(const Packets::LWAskCharLogin *const this)
- {
- return this->szAccount;
- }
- //----- (0807405C) --------------------------------------------------------
- void __cdecl Packets::LWAskCharLogin::SetAccount(Packets::LWAskCharLogin *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/LWAskCharLogin.cpp",
- 0x42u,
- "void Packets::LWAskCharLogin::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (080740A0) --------------------------------------------------------
- const CHAR *__cdecl Packets::LWAskCharLogin::GetHost(const Packets::LWAskCharLogin *const this)
- {
- return this->Host;
- }
- //----- (080740AC) --------------------------------------------------------
- void __cdecl Packets::LWAskCharLogin::SetHost(Packets::LWAskCharLogin *const this, const CHAR *pHost)
- {
- if ( !pHost )
- __assert__(
- "../../Common/Packets/LWAskCharLogin.cpp",
- 0x4Du,
- "void Packets::LWAskCharLogin::SetHost(const CHAR*)",
- "pHost");
- strncpy(this->Host, pHost, 0x18u);
- this->Host[24] = 0;
- }
- //----- (080740F0) --------------------------------------------------------
- void __cdecl _tcf_0_54(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08074100) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWAskCharLogin::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_54, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807412C) --------------------------------------------------------
- void __cdecl Packets::LWAskCharLogin::~LWAskCharLogin(Packets::LWAskCharLogin *const this)
- {
- char *v1; // ebx
- Packets::LWAskCharLogin *v2; // ecx
- int i; // eax
- Packets::LWAskCharLogin *j; // eax
- Packets::LWAskCharLogin *k; // eax
- char *v6; // ecx
- Packets::LWAskCharLogin *l; // eax
- Packets::LWAskCharLogin *m; // eax
- Packets::LWAskCharLogin *n; // eax
- this->_vptr_Packet = (int (**)(...))off_80CF1A8;
- v1 = (char *)&this->UserData;
- if ( this != (Packets::LWAskCharLogin *const )-40372 )
- {
- v2 = (Packets::LWAskCharLogin *const )((char *)this + 44362);
- while ( &this->UserData.m_PetList != (_PET_DB_LIST_LOAD *)v2 )
- {
- v2 = (Packets::LWAskCharLogin *)((char *)v2 - 399);
- if ( v2 != (Packets::LWAskCharLogin *)-211 )
- {
- for ( i = (int)&v2->UserData.m_Human.m_Titles.m_szBangPai[33];
- &v2->UserData.m_Human.m_Titles.m_szNick[5] != (CHAR *)i;
- i -= 12 )
- {
- ;
- }
- }
- }
- }
- if ( v1 != (char *)-33963 )
- {
- for ( j = (Packets::LWAskCharLogin *const )((char *)this + 35583);
- this->UserData.m_Impact.m_aImpacts != (_OWN_IMPACT *)j;
- j = (Packets::LWAskCharLogin *)((char *)j - 76) )
- {
- ;
- }
- }
- if ( v1 != (char *)-33513 )
- {
- for ( k = (Packets::LWAskCharLogin *const )((char *)this + 33997);
- &this->UserData.m_Cooldown != (_COOLDOWN_DB_LOAD_FOR_HUMAN *)k;
- k = (Packets::LWAskCharLogin *)((char *)k - 12) )
- {
- ;
- }
- }
- v6 = (char *)&this->UserData.m_Human.m_PvpInfo;
- if ( v1 != (char *)-1409 )
- {
- for ( l = (Packets::LWAskCharLogin *const )((char *)this + 1557);
- &this->UserData.m_Human.m_PvpInfo.m_oPersonalEnemyList != (PersonalEnemyList_T *)l;
- l = (Packets::LWAskCharLogin *)((char *)l - 8) )
- {
- ;
- }
- }
- if ( v6 != (char *)-347 )
- {
- for ( m = (Packets::LWAskCharLogin *const )((char *)this + 1509);
- &this->UserData.m_Human.m_PvpInfo.m_oPersonalDuelList != (PersonalDuelList_T *)m;
- m = (Packets::LWAskCharLogin *)((char *)m - 8) )
- {
- ;
- }
- }
- if ( v6 != (char *)-267 )
- {
- for ( n = (Packets::LWAskCharLogin *const )((char *)this + 1469);
- &this->UserData.m_Human.m_PvpInfo.m_oFightBackList != (FightBackList_T *)n;
- n = (Packets::LWAskCharLogin *)((char *)n - 8) )
- {
- ;
- }
- }
- Packet::~Packet(this);
- }
- // 80CF1A8: using guessed type _DWORD (__cdecl *off_80CF1A8[2])(Packets::LWAskCharLogin *this);
- //----- (08074218) --------------------------------------------------------
- void __cdecl Packets::LWAskCharLogin::~LWAskCharLogin(Packets::LWAskCharLogin *const this)
- {
- char *v1; // ebx
- Packets::LWAskCharLogin *v2; // ecx
- int i; // eax
- Packets::LWAskCharLogin *j; // eax
- Packets::LWAskCharLogin *k; // eax
- char *v6; // ecx
- Packets::LWAskCharLogin *l; // eax
- Packets::LWAskCharLogin *m; // eax
- Packets::LWAskCharLogin *n; // eax
- this->_vptr_Packet = (int (**)(...))off_80CF1A8;
- v1 = (char *)&this->UserData;
- if ( this != (Packets::LWAskCharLogin *const )-40372 )
- {
- v2 = (Packets::LWAskCharLogin *const )((char *)this + 44362);
- while ( &this->UserData.m_PetList != (_PET_DB_LIST_LOAD *)v2 )
- {
- v2 = (Packets::LWAskCharLogin *)((char *)v2 - 399);
- if ( v2 != (Packets::LWAskCharLogin *)-211 )
- {
- for ( i = (int)&v2->UserData.m_Human.m_Titles.m_szBangPai[33];
- &v2->UserData.m_Human.m_Titles.m_szNick[5] != (CHAR *)i;
- i -= 12 )
- {
- ;
- }
- }
- }
- }
- if ( v1 != (char *)-33963 )
- {
- for ( j = (Packets::LWAskCharLogin *const )((char *)this + 35583);
- this->UserData.m_Impact.m_aImpacts != (_OWN_IMPACT *)j;
- j = (Packets::LWAskCharLogin *)((char *)j - 76) )
- {
- ;
- }
- }
- if ( v1 != (char *)-33513 )
- {
- for ( k = (Packets::LWAskCharLogin *const )((char *)this + 33997);
- &this->UserData.m_Cooldown != (_COOLDOWN_DB_LOAD_FOR_HUMAN *)k;
- k = (Packets::LWAskCharLogin *)((char *)k - 12) )
- {
- ;
- }
- }
- v6 = (char *)&this->UserData.m_Human.m_PvpInfo;
- if ( v1 != (char *)-1409 )
- {
- for ( l = (Packets::LWAskCharLogin *const )((char *)this + 1557);
- &this->UserData.m_Human.m_PvpInfo.m_oPersonalEnemyList != (PersonalEnemyList_T *)l;
- l = (Packets::LWAskCharLogin *)((char *)l - 8) )
- {
- ;
- }
- }
- if ( v6 != (char *)-347 )
- {
- for ( m = (Packets::LWAskCharLogin *const )((char *)this + 1509);
- &this->UserData.m_Human.m_PvpInfo.m_oPersonalDuelList != (PersonalDuelList_T *)m;
- m = (Packets::LWAskCharLogin *)((char *)m - 8) )
- {
- ;
- }
- }
- if ( v6 != (char *)-267 )
- {
- for ( n = (Packets::LWAskCharLogin *const )((char *)this + 1469);
- &this->UserData.m_Human.m_PvpInfo.m_oFightBackList != (FightBackList_T *)n;
- n = (Packets::LWAskCharLogin *)((char *)n - 8) )
- {
- ;
- }
- }
- Packet::~Packet(this);
- operator delete((IPRegionTable *const )this);
- }
- // 80CF1A8: using guessed type _DWORD (__cdecl *off_80CF1A8[2])(Packets::LWAskCharLogin *this);
- //----- (0807430C) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWAskCharLogin::GetPacketID(const Packets::LWAskCharLogin *const this)
- {
- return 107;
- }
- //----- (08074318) --------------------------------------------------------
- UINT __cdecl Packets::LWAskCharLogin::GetPacketSize(const Packets::LWAskCharLogin *const this)
- {
- UINT v1; // edx
- v1 = 50801;
- if ( this->AskStatus != 1 )
- LOWORD(v1) = 64;
- return v1;
- }
- //----- (08074334) --------------------------------------------------------
- BOOL __cdecl Packets::LWRetBillingEnd::Read(Packets::LWRetBillingEnd *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->mAccount, 0x33u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mResult, 1u);
- return 1;
- }
- //----- (080743B0) --------------------------------------------------------
- BOOL __cdecl Packets::LWRetBillingEnd::Write(const Packets::LWRetBillingEnd *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->mAccount, 0x33u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mResult, 1u);
- return 1;
- }
- //----- (0807442C) --------------------------------------------------------
- UINT __cdecl Packets::LWRetBillingEnd::Execute(Packets::LWRetBillingEnd *const this, Player *pPlayer)
- {
- return Packets::LWRetBillingEndHandler::Execute(this, pPlayer);
- }
- //----- (0807448C) --------------------------------------------------------
- void __cdecl _tcf_0_55(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807449C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWRetBillingEnd::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_55, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080744C8) --------------------------------------------------------
- void __cdecl Packets::LWRetBillingEnd::~LWRetBillingEnd(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CF3A8;
- Packet::~Packet(a2);
- }
- // 80CF3A8: using guessed type _DWORD (__cdecl *off_80CF3A8[2])(Packets::LWRetBillingEnd *this);
- //----- (080744E4) --------------------------------------------------------
- void __cdecl Packets::LWRetBillingEnd::~LWRetBillingEnd(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CF3A8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CF3A8: using guessed type _DWORD (__cdecl *off_80CF3A8[2])(Packets::LWRetBillingEnd *this);
- //----- (0807450C) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWRetBillingEnd::GetPacketID(const Packets::LWRetBillingEnd *const this)
- {
- return 494;
- }
- //----- (08074518) --------------------------------------------------------
- UINT __cdecl Packets::LWRetBillingEnd::GetPacketSize(const Packets::LWRetBillingEnd *const this)
- {
- return 52;
- }
- //----- (08074524) --------------------------------------------------------
- BOOL __cdecl Packets::LWRetBillingKeep::Read(Packets::LWRetBillingKeep *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->mAccount, 0x33u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mResult, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mLeftTime, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mStorePoint, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mUserPoint, 4u);
- return 1;
- }
- //----- (080745C8) --------------------------------------------------------
- BOOL __cdecl Packets::LWRetBillingKeep::Write(const Packets::LWRetBillingKeep *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->mAccount, 0x33u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mResult, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mLeftTime, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mStorePoint, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mUserPoint, 4u);
- return 1;
- }
- //----- (0807466C) --------------------------------------------------------
- UINT __cdecl Packets::LWRetBillingKeep::Execute(Packets::LWRetBillingKeep *const this, Player *pPlayer)
- {
- return Packets::LWRetBillingKeepHandler::Execute(this, pPlayer);
- }
- //----- (080746CC) --------------------------------------------------------
- void __cdecl _tcf_0_56(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080746DC) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWRetBillingKeep::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_56, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08074708) --------------------------------------------------------
- void __cdecl Packets::LWRetBillingKeep::~LWRetBillingKeep(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CF528;
- Packet::~Packet(a2);
- }
- // 80CF528: using guessed type _DWORD (__cdecl *off_80CF528[2])(Packets::LWRetBillingKeep *this);
- //----- (08074724) --------------------------------------------------------
- void __cdecl Packets::LWRetBillingKeep::~LWRetBillingKeep(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CF528;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CF528: using guessed type _DWORD (__cdecl *off_80CF528[2])(Packets::LWRetBillingKeep *this);
- //----- (0807474C) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWRetBillingKeep::GetPacketID(const Packets::LWRetBillingKeep *const this)
- {
- return 536;
- }
- //----- (08074758) --------------------------------------------------------
- UINT __cdecl Packets::LWRetBillingKeep::GetPacketSize(const Packets::LWRetBillingKeep *const this)
- {
- return 64;
- }
- //----- (08074764) --------------------------------------------------------
- BOOL __cdecl Packets::LWRetBillingStart::Read(Packets::LWRetBillingStart *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->mAccount, 0x33u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mResult, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mFeeType, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mLeftTime, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mStorePoint, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mUserPoint, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mWhyFlag, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mCode, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mPlayerID, 2u);
- return 1;
- }
- //----- (08074844) --------------------------------------------------------
- BOOL __cdecl Packets::LWRetBillingStart::Write(const Packets::LWRetBillingStart *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->mAccount, 0x33u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mResult, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mFeeType, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mLeftTime, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mStorePoint, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mUserPoint, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mWhyFlag, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mCode, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mPlayerID, 2u);
- return 1;
- }
- //----- (08074924) --------------------------------------------------------
- UINT __cdecl Packets::LWRetBillingStart::Execute(Packets::LWRetBillingStart *const this, Player *pPlayer)
- {
- return Packets::LWRetBillingStartHandler::Execute(this, pPlayer);
- }
- //----- (08074984) --------------------------------------------------------
- void __cdecl _tcf_0_57(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08074994) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWRetBillingStart::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_57, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080749C0) --------------------------------------------------------
- void __cdecl Packets::LWRetBillingStart::~LWRetBillingStart(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CF6C8;
- Packet::~Packet(a2);
- }
- // 80CF6C8: using guessed type _DWORD (__cdecl *off_80CF6C8[2])(Packets::LWRetBillingStart *this);
- //----- (080749DC) --------------------------------------------------------
- void __cdecl Packets::LWRetBillingStart::~LWRetBillingStart(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CF6C8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CF6C8: using guessed type _DWORD (__cdecl *off_80CF6C8[2])(Packets::LWRetBillingStart *this);
- //----- (08074A04) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWRetBillingStart::GetPacketID(const Packets::LWRetBillingStart *const this)
- {
- return 350;
- }
- //----- (08074A10) --------------------------------------------------------
- UINT __cdecl Packets::LWRetBillingStart::GetPacketSize(const Packets::LWRetBillingStart *const this)
- {
- return 69;
- }
- //----- (08074A1C) --------------------------------------------------------
- BOOL __cdecl Packets::SSConnect::Read(Packets::SSConnect *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ServerID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ZoneID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_WorldID, 2u);
- return 1;
- }
- //----- (08074AA8) --------------------------------------------------------
- BOOL __cdecl Packets::SSConnect::Write(const Packets::SSConnect *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ServerID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ZoneID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_WorldID, 2u);
- return 1;
- }
- //----- (08074B34) --------------------------------------------------------
- UINT __cdecl Packets::SSConnect::Execute(Packets::SSConnect *const this, Player *pPlayer)
- {
- return Packets::SSConnectHandler::Execute(this, pPlayer);
- }
- //----- (08074B94) --------------------------------------------------------
- void __cdecl _tcf_0_58(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08074BA4) --------------------------------------------------------
- void `global constructor keyed to'Packets::SSConnect::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_58, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08074BD0) --------------------------------------------------------
- void __cdecl Packets::SSConnect::~SSConnect(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CF868;
- Packet::~Packet(a2);
- }
- // 80CF868: using guessed type _DWORD (__cdecl *off_80CF868[2])(Packets::SSConnect *this);
- //----- (08074BEC) --------------------------------------------------------
- void __cdecl Packets::SSConnect::~SSConnect(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CF868;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CF868: using guessed type _DWORD (__cdecl *off_80CF868[2])(Packets::SSConnect *this);
- //----- (08074C14) --------------------------------------------------------
- PacketID_t __cdecl Packets::SSConnect::GetPacketID(const Packets::SSConnect *const this)
- {
- return 185;
- }
- //----- (08074C20) --------------------------------------------------------
- UINT __cdecl Packets::SSConnect::GetPacketSize(const Packets::SSConnect *const this)
- {
- return 6;
- }
- //----- (08074C2C) --------------------------------------------------------
- BOOL __cdecl Packets::SSScenePlayerCount::Read(Packets::SSScenePlayerCount *const this, SocketInputStream *const iStream)
- {
- SHORT v2; // ax
- SocketInputStream::Read(iStream, (CHAR *)&this->m_nChangeCount, 2u);
- v2 = this->m_nChangeCount;
- if ( v2 <= 0 )
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ServerID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_PlayerPoolSize, 4u);
- }
- else
- {
- if ( v2 <= 1024 )
- {
- SocketInputStream::Read(iStream, (CHAR *)this->m_aChangeSceneID, 2 * v2);
- SocketInputStream::Read(iStream, (CHAR *)this->m_aChangeScenePlayerCount, 2 * this->m_nChangeCount);
- }
- SocketInputStream::Read(iStream, (CHAR *)&this->m_nTotalPlayerCount, 2u);
- }
- return 1;
- }
- //----- (08074D08) --------------------------------------------------------
- BOOL __cdecl Packets::SSScenePlayerCount::Write(const Packets::SSScenePlayerCount *const this, SocketOutputStream *const oStream)
- {
- SHORT v2; // ax
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_nChangeCount, 2u);
- v2 = this->m_nChangeCount;
- if ( v2 <= 0 )
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ServerID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_PlayerPoolSize, 4u);
- }
- else
- {
- if ( v2 <= 1024 )
- {
- SocketOutputStream::Write(oStream, (const CHAR *)this->m_aChangeSceneID, 2 * v2);
- SocketOutputStream::Write(oStream, (const CHAR *)this->m_aChangeScenePlayerCount, 2 * this->m_nChangeCount);
- }
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_nTotalPlayerCount, 2u);
- }
- return 1;
- }
- //----- (08074DE4) --------------------------------------------------------
- UINT __cdecl Packets::SSScenePlayerCount::Execute(Packets::SSScenePlayerCount *const this, Player *pPlayer)
- {
- return Packets::SSScenePlayerCountHandler::Execute(this, pPlayer);
- }
- //----- (08074E44) --------------------------------------------------------
- void __cdecl _tcf_0_59(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08074E54) --------------------------------------------------------
- void `global constructor keyed to'Packets::SSScenePlayerCount::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_59, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08074E80) --------------------------------------------------------
- void __cdecl Packets::SSScenePlayerCount::~SSScenePlayerCount(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CF9C8;
- Packet::~Packet(a2);
- }
- // 80CF9C8: using guessed type _DWORD (__cdecl *off_80CF9C8[2])(Packets::SSScenePlayerCount *this);
- //----- (08074E9C) --------------------------------------------------------
- void __cdecl Packets::SSScenePlayerCount::~SSScenePlayerCount(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CF9C8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CF9C8: using guessed type _DWORD (__cdecl *off_80CF9C8[2])(Packets::SSScenePlayerCount *this);
- //----- (08074EC4) --------------------------------------------------------
- PacketID_t __cdecl Packets::SSScenePlayerCount::GetPacketID(const Packets::SSScenePlayerCount *const this)
- {
- return 614;
- }
- //----- (08074ED0) --------------------------------------------------------
- UINT __cdecl Packets::SSScenePlayerCount::GetPacketSize(const Packets::SSScenePlayerCount *const this)
- {
- SHORT v1; // ax
- UINT v2; // edx
- v1 = this->m_nChangeCount;
- v2 = 8;
- if ( v1 > 0 )
- v2 = 4 * v1 + 4;
- return v2;
- }
- //----- (08074EF0) --------------------------------------------------------
- BOOL __cdecl Packets::WLBillingEnd::Read(Packets::WLBillingEnd *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->mAccount, 0x33u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mCharLevel, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mEndType, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mStartTime, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mEndTime, 4u);
- return 1;
- }
- //----- (08074F94) --------------------------------------------------------
- BOOL __cdecl Packets::WLBillingEnd::Write(const Packets::WLBillingEnd *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->mAccount, 0x33u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mCharLevel, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mEndType, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mStartTime, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mEndTime, 4u);
- return 1;
- }
- //----- (08075038) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingEnd::Execute(Packets::WLBillingEnd *const this, Player *pPlayer)
- {
- return Packets::WLBillingEndHandler::Execute(this, pPlayer);
- }
- //----- (08075098) --------------------------------------------------------
- void __cdecl _tcf_0_60(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080750A8) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLBillingEnd::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_60, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080750D4) --------------------------------------------------------
- void __cdecl Packets::WLBillingEnd::~WLBillingEnd(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CFB68;
- Packet::~Packet(a2);
- }
- // 80CFB68: using guessed type _DWORD (__cdecl *off_80CFB68[2])(Packets::WLBillingEnd *this);
- //----- (080750F0) --------------------------------------------------------
- void __cdecl Packets::WLBillingEnd::~WLBillingEnd(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CFB68;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CFB68: using guessed type _DWORD (__cdecl *off_80CFB68[2])(Packets::WLBillingEnd *this);
- //----- (08075118) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLBillingEnd::GetPacketID(const Packets::WLBillingEnd *const this)
- {
- return 237;
- }
- //----- (08075124) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingEnd::GetPacketSize(const Packets::WLBillingEnd *const this)
- {
- return 62;
- }
- //----- (08075130) --------------------------------------------------------
- BOOL __cdecl Packets::WLBillingKeep::Read(Packets::WLBillingKeep *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->mAccount, 0x33u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mCharLevel, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mStartTime, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mEndTime, 4u);
- return 1;
- }
- //----- (080751C4) --------------------------------------------------------
- BOOL __cdecl Packets::WLBillingKeep::Write(const Packets::WLBillingKeep *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->mAccount, 0x33u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mCharLevel, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mStartTime, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mEndTime, 4u);
- return 1;
- }
- //----- (08075258) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingKeep::Execute(Packets::WLBillingKeep *const this, Player *pPlayer)
- {
- return Packets::WLBillingKeepHandler::Execute(this, pPlayer);
- }
- //----- (080752B8) --------------------------------------------------------
- void __cdecl _tcf_0_61(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080752C8) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLBillingKeep::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_61, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080752F4) --------------------------------------------------------
- void __cdecl Packets::WLBillingKeep::~WLBillingKeep(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CFCC8;
- Packet::~Packet(a2);
- }
- // 80CFCC8: using guessed type _DWORD (__cdecl *off_80CFCC8[2])(Packets::WLBillingKeep *this);
- //----- (08075310) --------------------------------------------------------
- void __cdecl Packets::WLBillingKeep::~WLBillingKeep(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CFCC8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CFCC8: using guessed type _DWORD (__cdecl *off_80CFCC8[2])(Packets::WLBillingKeep *this);
- //----- (08075338) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLBillingKeep::GetPacketID(const Packets::WLBillingKeep *const this)
- {
- return 205;
- }
- //----- (08075344) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingKeep::GetPacketSize(const Packets::WLBillingKeep *const this)
- {
- return 61;
- }
- //----- (08075350) --------------------------------------------------------
- BOOL __cdecl Packets::WLBillingKick::Read(Packets::WLBillingKick *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->mWorldID, 2u);
- return 1;
- }
- //----- (080753BC) --------------------------------------------------------
- BOOL __cdecl Packets::WLBillingKick::Write(const Packets::WLBillingKick *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mWorldID, 2u);
- return 1;
- }
- //----- (08075428) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingKick::Execute(Packets::WLBillingKick *const this, Player *pPlayer)
- {
- return Packets::WLBillingKickHandler::Execute(this, pPlayer);
- }
- //----- (08075488) --------------------------------------------------------
- void __cdecl _tcf_0_62(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08075498) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLBillingKick::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_62, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080754C4) --------------------------------------------------------
- void __cdecl Packets::WLBillingKick::~WLBillingKick(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CFE28;
- Packet::~Packet(a2);
- }
- // 80CFE28: using guessed type _DWORD (__cdecl *off_80CFE28[2])(Packets::WLBillingKick *this);
- //----- (080754E0) --------------------------------------------------------
- void __cdecl Packets::WLBillingKick::~WLBillingKick(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CFE28;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CFE28: using guessed type _DWORD (__cdecl *off_80CFE28[2])(Packets::WLBillingKick *this);
- //----- (08075508) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLBillingKick::GetPacketID(const Packets::WLBillingKick *const this)
- {
- return 287;
- }
- //----- (08075514) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingKick::GetPacketSize(const Packets::WLBillingKick *const this)
- {
- return 2;
- }
- //----- (08075520) --------------------------------------------------------
- BOOL __cdecl Packets::WLBillingStart::Read(Packets::WLBillingStart *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->mAccount, 0x33u);
- SocketInputStream::Read(iStream, this->mCharName, 0x33u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mCharGUID, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mCharLevel, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mStartTime, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mPlayerID, 2u);
- return 1;
- }
- //----- (080755D8) --------------------------------------------------------
- BOOL __cdecl Packets::WLBillingStart::Write(const Packets::WLBillingStart *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->mAccount, 0x33u);
- SocketOutputStream::Write(oStream, this->mCharName, 0x33u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mCharGUID, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mCharLevel, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mStartTime, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mPlayerID, 2u);
- return 1;
- }
- //----- (08075690) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingStart::Execute(Packets::WLBillingStart *const this, Player *pPlayer)
- {
- return Packets::WLBillingStartHandler::Execute(this, pPlayer);
- }
- //----- (080756F0) --------------------------------------------------------
- void __cdecl _tcf_0_63(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08075700) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLBillingStart::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_63, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807572C) --------------------------------------------------------
- void __cdecl Packets::WLBillingStart::~WLBillingStart(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80CFF88;
- Packet::~Packet(a2);
- }
- // 80CFF88: using guessed type _DWORD (__cdecl *off_80CFF88[2])(Packets::WLBillingStart *this);
- //----- (08075748) --------------------------------------------------------
- void __cdecl Packets::WLBillingStart::~WLBillingStart(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80CFF88;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80CFF88: using guessed type _DWORD (__cdecl *off_80CFF88[2])(Packets::WLBillingStart *this);
- //----- (08075770) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLBillingStart::GetPacketID(const Packets::WLBillingStart *const this)
- {
- return 470;
- }
- //----- (0807577C) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingStart::GetPacketSize(const Packets::WLBillingStart *const this)
- {
- return 114;
- }
- //----- (08075788) --------------------------------------------------------
- BOOL __cdecl Packets::WLRetCharLogin::Read(Packets::WLRetCharLogin *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->Result, 4u);
- SocketInputStream::Read(iStream, this->szAccount, 0x32u);
- SocketInputStream::Read(iStream, (CHAR *)&this->PlayerID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->HoldStatus, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->PlayerGUID, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->ServerID, 2u);
- return 1;
- }
- //----- (0807583C) --------------------------------------------------------
- BOOL __cdecl Packets::WLRetCharLogin::Write(const Packets::WLRetCharLogin *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->Result, 4u);
- SocketOutputStream::Write(oStream, this->szAccount, 0x32u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->PlayerID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->HoldStatus, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->PlayerGUID, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->ServerID, 2u);
- return 1;
- }
- //----- (080758F0) --------------------------------------------------------
- UINT __cdecl Packets::WLRetCharLogin::Execute(Packets::WLRetCharLogin *const this, Player *pPlayer)
- {
- return Packets::WLRetCharLoginHandler::Execute(this, pPlayer);
- }
- //----- (08075950) --------------------------------------------------------
- const CHAR *__cdecl Packets::WLRetCharLogin::GetAccount(const Packets::WLRetCharLogin *const this)
- {
- return this->szAccount;
- }
- //----- (0807595C) --------------------------------------------------------
- void __cdecl Packets::WLRetCharLogin::SetAccount(Packets::WLRetCharLogin *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/WLRetCharLogin.cpp",
- 0x37u,
- "void Packets::WLRetCharLogin::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (080759A0) --------------------------------------------------------
- void __cdecl _tcf_0_64(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080759B0) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLRetCharLogin::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_64, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080759DC) --------------------------------------------------------
- void __cdecl Packets::WLRetCharLogin::~WLRetCharLogin(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D00E8;
- Packet::~Packet(a2);
- }
- // 80D00E8: using guessed type _DWORD (__cdecl *off_80D00E8[2])(Packets::WLRetCharLogin *this);
- //----- (080759F8) --------------------------------------------------------
- void __cdecl Packets::WLRetCharLogin::~WLRetCharLogin(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D00E8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D00E8: using guessed type _DWORD (__cdecl *off_80D00E8[2])(Packets::WLRetCharLogin *this);
- //----- (08075A20) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLRetCharLogin::GetPacketID(const Packets::WLRetCharLogin *const this)
- {
- return 91;
- }
- //----- (08075A2C) --------------------------------------------------------
- UINT __cdecl Packets::WLRetCharLogin::GetPacketSize(const Packets::WLRetCharLogin *const this)
- {
- return 66;
- }
- //----- (08075A38) --------------------------------------------------------
- #error "8075AD8: positive sp value has been found (funcsize=53)"
- //----- (08075BA8) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetAskBuy::Write(const Packets::BLRetAskBuy *const this, SocketBillingOutputStream *const oStream)
- {
- return 1;
- }
- //----- (08075BB4) --------------------------------------------------------
- UINT __cdecl Packets::BLRetAskBuy::Execute(Packets::BLRetAskBuy *const this, Player *pPlayer)
- {
- return Packets::BLRetAskBuyHandler::Execute(this, pPlayer);
- }
- //----- (08075C14) --------------------------------------------------------
- void __cdecl _tcf_0_65(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08075C24) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetAskBuy::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_65, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08075C50) --------------------------------------------------------
- void __cdecl Packets::BLRetAskBuy::~BLRetAskBuy(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80D0288;
- BillPacket::~BillPacket(a2);
- }
- // 80D0288: using guessed type _DWORD (__cdecl *off_80D0288[2])(Packets::BLRetAskBuy *this);
- //----- (08075C6C) --------------------------------------------------------
- void __cdecl Packets::BLRetAskBuy::~BLRetAskBuy(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D0288;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80D0288: using guessed type _DWORD (__cdecl *off_80D0288[2])(Packets::BLRetAskBuy *this);
- //----- (08075C94) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetAskBuy::GetPacketID(const Packets::BLRetAskBuy *const this)
- {
- return -31;
- }
- //----- (08075CA0) --------------------------------------------------------
- UINT __cdecl Packets::BLRetAskBuy::GetPacketSize(const Packets::BLRetAskBuy *const this)
- {
- int v1; // ecx
- UINT result; // eax
- v1 = this->mAccLength;
- result = v1 + 23;
- if ( this->mBuyResult <= 1u )
- result = v1 + 6 * this->mGoodsNum + 29;
- return result;
- }
- //----- (08075CC0) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetAskPoint::Read(Packets::BLRetAskPoint *const this, SocketBillingInputStream *const iStream)
- {
- BYTE v2; // al
- UINT v3; // eax
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccLength, 1u);
- v2 = this->mAccLength;
- if ( v2 > 0x32u )
- {
- v2 = 50;
- this->mAccLength = 50;
- }
- SocketInputStream::Read(&iStream->0, this->mAccount, v2);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mPoint, 4u);
- v3 = this->mPoint;
- LOWORD(v3) = __ROR2__(v3, 8);
- v3 = __ROR4__(v3, 16);
- LOWORD(v3) = __ROR2__(v3, 8);
- this->mPoint = v3;
- return 1;
- }
- //----- (08075D70) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetAskPoint::Write(const Packets::BLRetAskPoint *const this, SocketBillingOutputStream *const oStream)
- {
- return 1;
- }
- //----- (08075D7C) --------------------------------------------------------
- UINT __cdecl Packets::BLRetAskPoint::Execute(Packets::BLRetAskPoint *const this, Player *pPlayer)
- {
- return Packets::BLRetAskPointHandler::Execute(this, pPlayer);
- }
- //----- (08075DDC) --------------------------------------------------------
- void __cdecl _tcf_0_66(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08075DEC) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetAskPoint::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_66, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08075E18) --------------------------------------------------------
- void __cdecl Packets::BLRetAskPoint::~BLRetAskPoint(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80D0408;
- BillPacket::~BillPacket(a2);
- }
- // 80D0408: using guessed type _DWORD (__cdecl *off_80D0408[2])(Packets::BLRetAskPoint *this);
- //----- (08075E34) --------------------------------------------------------
- void __cdecl Packets::BLRetAskPoint::~BLRetAskPoint(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D0408;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80D0408: using guessed type _DWORD (__cdecl *off_80D0408[2])(Packets::BLRetAskPoint *this);
- //----- (08075E5C) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetAskPoint::GetPacketID(const Packets::BLRetAskPoint *const this)
- {
- return -30;
- }
- //----- (08075E68) --------------------------------------------------------
- int __cdecl Packets::BLRetAskPoint::GetPacketSize(int a2)
- {
- return *(unsigned __int8 *)(a2 + 7) + 26;
- }
- //----- (08075E78) --------------------------------------------------------
- #error "8075F1C: positive sp value has been found (funcsize=56)"
- //----- (08075F98) --------------------------------------------------------
- BOOL __cdecl Packets::BLRetPrize::Write(const Packets::BLRetPrize *const this, SocketBillingOutputStream *const oStream)
- {
- return 1;
- }
- //----- (08075FA4) --------------------------------------------------------
- UINT __cdecl Packets::BLRetPrize::Execute(Packets::BLRetPrize *const this, Player *pPlayer)
- {
- return Packets::BLRetPrizeHandler::Execute(this, pPlayer);
- }
- //----- (08076004) --------------------------------------------------------
- void __cdecl _tcf_0_67(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08076014) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetPrize::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_67, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08076040) --------------------------------------------------------
- void __cdecl Packets::BLRetPrize::~BLRetPrize(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80D0588;
- BillPacket::~BillPacket(a2);
- }
- // 80D0588: using guessed type _DWORD (__cdecl *off_80D0588[2])(Packets::BLRetPrize *this);
- //----- (0807605C) --------------------------------------------------------
- void __cdecl Packets::BLRetPrize::~BLRetPrize(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D0588;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80D0588: using guessed type _DWORD (__cdecl *off_80D0588[2])(Packets::BLRetPrize *this);
- //----- (08076084) --------------------------------------------------------
- BPacketID_t __cdecl Packets::BLRetPrize::GetPacketID(const Packets::BLRetPrize *const this)
- {
- return -60;
- }
- //----- (08076090) --------------------------------------------------------
- UINT __cdecl Packets::BLRetPrize::GetPacketSize(const Packets::BLRetPrize *const this)
- {
- BYTE v1; // dl
- int v2; // ebx
- UINT result; // eax
- v1 = this->mPrizeResult;
- v2 = this->mAccLength;
- result = v2 + 23;
- if ( !v1 || v1 == 2 )
- result = v2 + 21 * this->mPrizeNum + 24;
- return result;
- }
- //----- (080760C0) --------------------------------------------------------
- BOOL __cdecl Packets::LBAskBuy::Read(Packets::LBAskBuy *const this, SocketBillingInputStream *const iStream)
- {
- return 1;
- }
- //----- (080760CC) --------------------------------------------------------
- BOOL __cdecl Packets::LBAskBuy::Write(const Packets::LBAskBuy *const this, SocketBillingOutputStream *const oStream)
- {
- const Packets::LBAskBuy *v2; // ebx
- UINT v3; // eax
- UINT v4; // eax
- UINT uCostPoint; // [esp+4h] [ebp-18h]
- USHORT uGoodsNum; // [esp+Ah] [ebp-12h]
- UINT uGoodsType; // [esp+Ch] [ebp-10h]
- USHORT uGoodsTypeNum; // [esp+12h] [ebp-Ah]
- v2 = this;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mAccount, v2->mAccLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mIPLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mIP, v2->mIPLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mCharNameLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mCharName, v2->mCharNameLength);
- SocketOutputStream::Write(&oStream->0, this->mPrizeSerial, 0x15u);
- uGoodsTypeNum = __ROR2__(this->mGoodsTypeNum, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&uGoodsTypeNum, 2u);
- v3 = this->mGoodsType;
- LOWORD(v3) = __ROR2__(v3, 8);
- v3 = __ROR4__(v3, 16);
- LOWORD(v3) = __ROR2__(v3, 8);
- uGoodsType = v3;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&uGoodsType, 4u);
- uGoodsNum = __ROR2__(this->mGoodsNumber, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&uGoodsNum, 2u);
- v4 = this->mCostPoint;
- LOWORD(v4) = __ROR2__(v4, 8);
- v4 = __ROR4__(v4, 16);
- LOWORD(v4) = __ROR2__(v4, 8);
- uCostPoint = v4;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&uCostPoint, 4u);
- return 1;
- }
- //----- (0807621C) --------------------------------------------------------
- UINT __cdecl Packets::LBAskBuy::Execute(Packets::LBAskBuy *const this, Player *pPlayer)
- {
- return Packets::LBAskBuyHandler::Execute(this, pPlayer);
- }
- //----- (0807627C) --------------------------------------------------------
- void __cdecl _tcf_0_68(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807628C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBAskBuy::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_68, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080762B8) --------------------------------------------------------
- void __cdecl Packets::LBAskBuy::~LBAskBuy(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80D0708;
- BillPacket::~BillPacket(a2);
- }
- // 80D0708: using guessed type _DWORD (__cdecl *off_80D0708[2])(Packets::LBAskBuy *this);
- //----- (080762D4) --------------------------------------------------------
- void __cdecl Packets::LBAskBuy::~LBAskBuy(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D0708;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80D0708: using guessed type _DWORD (__cdecl *off_80D0708[2])(Packets::LBAskBuy *this);
- //----- (080762FC) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBAskBuy::GetPacketID(const Packets::LBAskBuy *const this)
- {
- return -31;
- }
- //----- (08076308) --------------------------------------------------------
- int __cdecl Packets::LBAskBuy::GetPacketSize(unsigned __int8 *a2)
- {
- return a2[59] + a2[7] + a2[76] + 36;
- }
- //----- (08076324) --------------------------------------------------------
- BOOL __cdecl Packets::LBAskPoint::Read(Packets::LBAskPoint *const this, SocketBillingInputStream *const iStream)
- {
- return 1;
- }
- //----- (08076330) --------------------------------------------------------
- BOOL __cdecl Packets::LBAskPoint::Write(const Packets::LBAskPoint *const this, SocketBillingOutputStream *const oStream)
- {
- const Packets::LBAskPoint *v2; // ebx
- v2 = this;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mAccount, v2->mAccLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mIPLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mIP, v2->mIPLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mCharNameLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mCharName, v2->mCharNameLength);
- return 1;
- }
- //----- (080763EC) --------------------------------------------------------
- UINT __cdecl Packets::LBAskPoint::Execute(Packets::LBAskPoint *const this, Player *pPlayer)
- {
- return Packets::LBAskPointHandler::Execute(this, pPlayer);
- }
- //----- (0807644C) --------------------------------------------------------
- void __cdecl _tcf_0_69(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807645C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBAskPoint::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_69, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08076488) --------------------------------------------------------
- void __cdecl Packets::LBAskPoint::~LBAskPoint(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80D0868;
- BillPacket::~BillPacket(a2);
- }
- // 80D0868: using guessed type _DWORD (__cdecl *off_80D0868[2])(Packets::LBAskPoint *this);
- //----- (080764A4) --------------------------------------------------------
- void __cdecl Packets::LBAskPoint::~LBAskPoint(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D0868;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80D0868: using guessed type _DWORD (__cdecl *off_80D0868[2])(Packets::LBAskPoint *this);
- //----- (080764CC) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBAskPoint::GetPacketID(const Packets::LBAskPoint *const this)
- {
- return -30;
- }
- //----- (080764D8) --------------------------------------------------------
- int __cdecl Packets::LBAskPoint::GetPacketSize(unsigned __int8 *a2)
- {
- return a2[59] + a2[7] + a2[76] + 3;
- }
- //----- (080764F4) --------------------------------------------------------
- BOOL __cdecl Packets::LBLAskNewUserCard::Read(Packets::LBLAskNewUserCard *const this, SocketBillingInputStream *const iStream)
- {
- BYTE v3; // al
- BYTE v4; // al
- BYTE v5; // al
- Packets::LBLAskNewUserCard *v6; // edi
- INT i; // [esp+8h] [ebp-10h]
- if ( this->mType != 1 )
- __assert__(
- "../../Common/Packets/LBLAskNewUserCard.cpp",
- 0x1Du,
- "virtual BOOL Packets::LBLAskNewUserCard::Read(SocketBillingInputStream&)",
- "FALSE");
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccLength, 1u);
- v3 = this->mAccLength;
- if ( v3 > 0x32u )
- {
- this->mAccLength = 50;
- v3 = 50;
- }
- SocketInputStream::Read(&iStream->0, this->mAccount, v3);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mPrizeResult, 1u);
- v4 = this->mPrizeResult;
- if ( v4 && v4 != 2 )
- return 1;
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mPrizeNum, 1u);
- v5 = this->mPrizeNum;
- if ( v5 > 0x1Eu )
- {
- this->mPrizeNum = 30;
- v5 = 30;
- }
- i = 0;
- if ( !v5 )
- return 1;
- v6 = this;
- do
- {
- SocketInputStream::Read(&iStream->0, (CHAR *)v6->mPrize, 0x14u);
- SocketInputStream::Read(&iStream->0, (CHAR *)&v6->mPrize[0].m_PrizeNum, 1u);
- ++i;
- v6 = (Packets::LBLAskNewUserCard *)((char *)v6 + 21);
- }
- while ( this->mPrizeNum > i );
- return 1;
- }
- //----- (08076644) --------------------------------------------------------
- BOOL __cdecl Packets::LBLAskNewUserCard::Write(const Packets::LBLAskNewUserCard *const this, SocketBillingOutputStream *const oStream)
- {
- UINT v2; // eax
- USHORT nLevel; // [esp+Ah] [ebp-Eh]
- UINT unGuid; // [esp+Ch] [ebp-Ch]
- if ( this->mType )
- __assert__(
- "../../Common/Packets/LBLAskNewUserCard.cpp",
- 0x3Bu,
- "virtual BOOL Packets::LBLAskNewUserCard::Write(SocketBillingOutputStream&) const",
- "FALSE");
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mCardLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mNewuserCard, this->mCardLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mAccount, this->mAccLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mIPLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mIP, this->mIPLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mCharNameLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mCharName, this->mCharNameLength);
- v2 = this->mAccGuid;
- LOWORD(v2) = __ROR2__(v2, 8);
- v2 = __ROR4__(v2, 16);
- LOWORD(v2) = __ROR2__(v2, 8);
- unGuid = v2;
- nLevel = __ROR2__(this->mAccLevel, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&unGuid, 4u);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&nLevel, 2u);
- return 1;
- }
- //----- (08076798) --------------------------------------------------------
- UINT __cdecl Packets::LBLAskNewUserCard::Execute(Packets::LBLAskNewUserCard *const this, Player *pPlayer)
- {
- return Packets::LBLAskNewUserCardHandler::Execute(this, pPlayer);
- }
- //----- (080767F8) --------------------------------------------------------
- void __cdecl _tcf_0_70(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08076808) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLAskNewUserCard::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_70, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08076834) --------------------------------------------------------
- void __cdecl Packets::LBLAskNewUserCard::~LBLAskNewUserCard(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80D09E8;
- BillPacket::~BillPacket(a2);
- }
- // 80D09E8: using guessed type _DWORD (__cdecl *off_80D09E8[2])(Packets::LBLAskNewUserCard *this);
- //----- (08076850) --------------------------------------------------------
- void __cdecl Packets::LBLAskNewUserCard::~LBLAskNewUserCard(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D09E8;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80D09E8: using guessed type _DWORD (__cdecl *off_80D09E8[2])(Packets::LBLAskNewUserCard *this);
- //----- (08076878) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLAskNewUserCard::GetPacketID(const Packets::LBLAskNewUserCard *const this)
- {
- return -63;
- }
- //----- (08076884) --------------------------------------------------------
- UINT __cdecl Packets::LBLAskNewUserCard::GetPacketSize(const Packets::LBLAskNewUserCard *const this)
- {
- BYTE v1; // al
- int v2; // edx
- UINT v3; // ebx
- BYTE v5; // al
- v1 = this->mType;
- v2 = this->mAccLength;
- v3 = v2 + 1;
- if ( !v1 )
- {
- v3 += this->mCardLength + this->mCharNameLength + this->mIPLength + 9;
- return v3;
- }
- if ( v1 != 1 )
- return v3;
- v5 = this->mPrizeResult;
- v3 = v2 + 2;
- if ( v5 )
- {
- if ( v5 != 2 )
- return v3;
- }
- return v2 + 21 * this->mPrizeNum + 3;
- }
- //----- (080768DC) --------------------------------------------------------
- BOOL __cdecl Packets::LBLCardCheckPrize::Read(Packets::LBLCardCheckPrize *const this, SocketBillingInputStream *const iStream)
- {
- BYTE v3; // al
- BYTE v4; // al
- BYTE v5; // al
- Packets::LBLCardCheckPrize *v6; // edi
- INT i; // [esp+8h] [ebp-10h]
- if ( this->mType != 1 )
- __assert__(
- "../../Common/Packets/LBLCardCheckPrize.cpp",
- 0x1Du,
- "virtual BOOL Packets::LBLCardCheckPrize::Read(SocketBillingInputStream&)",
- "FALSE");
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccLength, 1u);
- v3 = this->mAccLength;
- if ( v3 > 0x32u )
- {
- this->mAccLength = 50;
- v3 = 50;
- }
- SocketInputStream::Read(&iStream->0, this->mAccount, v3);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mPrizeResult, 1u);
- v4 = this->mPrizeResult;
- if ( v4 && v4 != 2 )
- return 1;
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mPrizeNum, 1u);
- v5 = this->mPrizeNum;
- if ( v5 > 0x1Eu )
- {
- this->mPrizeNum = 30;
- v5 = 30;
- }
- i = 0;
- if ( !v5 )
- return 1;
- v6 = this;
- do
- {
- SocketInputStream::Read(&iStream->0, (CHAR *)v6->mPrize, 0x14u);
- SocketInputStream::Read(&iStream->0, (CHAR *)&v6->mPrize[0].m_PrizeNum, 1u);
- ++i;
- v6 = (Packets::LBLCardCheckPrize *)((char *)v6 + 21);
- }
- while ( this->mPrizeNum > i );
- return 1;
- }
- //----- (08076A2C) --------------------------------------------------------
- BOOL __cdecl Packets::LBLCardCheckPrize::Write(const Packets::LBLCardCheckPrize *const this, SocketBillingOutputStream *const oStream)
- {
- if ( this->mType )
- __assert__(
- "../../Common/Packets/LBLCardCheckPrize.cpp",
- 0x36u,
- "virtual BOOL Packets::LBLCardCheckPrize::Write(SocketBillingOutputStream&) const",
- "FALSE");
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mCardLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mNewuserCard, this->mCardLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mAccount, this->mAccLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mIPLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mIP, this->mIPLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mCharNameLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mCharName, this->mCharNameLength);
- return 1;
- }
- //----- (08076B3C) --------------------------------------------------------
- UINT __cdecl Packets::LBLCardCheckPrize::Execute(Packets::LBLCardCheckPrize *const this, Player *pPlayer)
- {
- return Packets::LBLCardCheckPrizeHandler::Execute(this, pPlayer);
- }
- //----- (08076B9C) --------------------------------------------------------
- void __cdecl _tcf_0_71(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08076BAC) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLCardCheckPrize::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_71, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08076BD8) --------------------------------------------------------
- void __cdecl Packets::LBLCardCheckPrize::~LBLCardCheckPrize(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80D0B88;
- BillPacket::~BillPacket(a2);
- }
- // 80D0B88: using guessed type _DWORD (__cdecl *off_80D0B88[2])(Packets::LBLCardCheckPrize *this);
- //----- (08076BF4) --------------------------------------------------------
- void __cdecl Packets::LBLCardCheckPrize::~LBLCardCheckPrize(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D0B88;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80D0B88: using guessed type _DWORD (__cdecl *off_80D0B88[2])(Packets::LBLCardCheckPrize *this);
- //----- (08076C1C) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLCardCheckPrize::GetPacketID(const Packets::LBLCardCheckPrize *const this)
- {
- return -58;
- }
- //----- (08076C28) --------------------------------------------------------
- UINT __cdecl Packets::LBLCardCheckPrize::GetPacketSize(const Packets::LBLCardCheckPrize *const this)
- {
- BYTE v1; // al
- int v2; // edx
- UINT v3; // ebx
- BYTE v5; // al
- v1 = this->mType;
- v2 = this->mAccLength;
- v3 = v2 + 1;
- if ( !v1 )
- {
- v3 += this->mCardLength + this->mCharNameLength + this->mIPLength + 3;
- return v3;
- }
- if ( v1 != 1 )
- return v3;
- v5 = this->mPrizeResult;
- v3 = v2 + 2;
- if ( v5 )
- {
- if ( v5 != 2 )
- return v3;
- }
- return v2 + 21 * this->mPrizeNum + 3;
- }
- //----- (08076C80) --------------------------------------------------------
- BOOL __cdecl Packets::LBLNewCheckPrize::Read(Packets::LBLNewCheckPrize *const this, SocketBillingInputStream *const iStream)
- {
- BYTE v3; // al
- BYTE v4; // al
- Packets::LBLNewCheckPrize *v5; // edi
- INT i; // [esp+8h] [ebp-10h]
- if ( this->mType != 1 )
- __assert__(
- "../../Common/Packets/LBLNewCheckPrize.cpp",
- 0x1Du,
- "virtual BOOL Packets::LBLNewCheckPrize::Read(SocketBillingInputStream&)",
- "FALSE");
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccLength, 1u);
- v3 = this->mAccLength;
- if ( v3 > 0x32u )
- {
- this->mAccLength = 50;
- v3 = 50;
- }
- SocketInputStream::Read(&iStream->0, this->mAccount, v3);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mPrizeResult, 1u);
- if ( this->mPrizeResult )
- return 1;
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mPrizeNum, 1u);
- v4 = this->mPrizeNum;
- if ( v4 > 0x1Eu )
- {
- this->mPrizeNum = 30;
- v4 = 30;
- }
- i = 0;
- if ( !v4 )
- return 1;
- v5 = this;
- do
- {
- SocketInputStream::Read(&iStream->0, (CHAR *)v5->mPrize, 0x14u);
- SocketInputStream::Read(&iStream->0, (CHAR *)&v5->mPrize[0].m_PrizeNum, 1u);
- ++i;
- v5 = (Packets::LBLNewCheckPrize *)((char *)v5 + 21);
- }
- while ( this->mPrizeNum > i );
- return 1;
- }
- //----- (08076DB8) --------------------------------------------------------
- BOOL __cdecl Packets::LBLNewCheckPrize::Write(const Packets::LBLNewCheckPrize *const this, SocketBillingOutputStream *const oStream)
- {
- if ( this->mType )
- __assert__(
- "../../Common/Packets/LBLNewCheckPrize.cpp",
- 0x34u,
- "virtual BOOL Packets::LBLNewCheckPrize::Write(SocketBillingOutputStream&) const",
- "FALSE");
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mAccount, this->mAccLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mIPLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mIP, this->mIPLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mCharNameLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mCharName, this->mCharNameLength);
- return 1;
- }
- //----- (08076EA4) --------------------------------------------------------
- UINT __cdecl Packets::LBLNewCheckPrize::Execute(Packets::LBLNewCheckPrize *const this, Player *pPlayer)
- {
- return Packets::LBLNewCheckPrizeHandler::Execute(this, pPlayer);
- }
- //----- (08076F04) --------------------------------------------------------
- void __cdecl _tcf_0_72(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08076F14) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLNewCheckPrize::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_72, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08076F40) --------------------------------------------------------
- void __cdecl Packets::LBLNewCheckPrize::~LBLNewCheckPrize(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80D0D28;
- BillPacket::~BillPacket(a2);
- }
- // 80D0D28: using guessed type _DWORD (__cdecl *off_80D0D28[2])(Packets::LBLNewCheckPrize *this);
- //----- (08076F5C) --------------------------------------------------------
- void __cdecl Packets::LBLNewCheckPrize::~LBLNewCheckPrize(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D0D28;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80D0D28: using guessed type _DWORD (__cdecl *off_80D0D28[2])(Packets::LBLNewCheckPrize *this);
- //----- (08076F84) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLNewCheckPrize::GetPacketID(const Packets::LBLNewCheckPrize *const this)
- {
- return -28;
- }
- //----- (08076F90) --------------------------------------------------------
- UINT __cdecl Packets::LBLNewCheckPrize::GetPacketSize(const Packets::LBLNewCheckPrize *const this)
- {
- BYTE v1; // al
- int v2; // edx
- UINT v3; // ecx
- v1 = this->mType;
- v2 = this->mAccLength;
- v3 = v2 + 1;
- if ( !v1 )
- {
- v3 += this->mCharNameLength + this->mIPLength + 2;
- return v3;
- }
- if ( v1 != 1 )
- return v3;
- v3 = v2 + 2;
- if ( this->mPrizeResult )
- return v3;
- return v2 + 21 * this->mPrizeNum + 3;
- }
- //----- (08076FD8) --------------------------------------------------------
- BOOL __cdecl Packets::LBLNewPrize::Read(Packets::LBLNewPrize *const this, SocketBillingInputStream *const iStream)
- {
- BYTE v3; // al
- BYTE v4; // al
- BYTE v5; // al
- Packets::LBLNewPrize *v6; // edi
- INT i; // [esp+8h] [ebp-10h]
- if ( this->mType != 1 )
- __assert__(
- "../../Common/Packets/LBLNewPrize.cpp",
- 0x1Fu,
- "virtual BOOL Packets::LBLNewPrize::Read(SocketBillingInputStream&)",
- "FALSE");
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccLength, 1u);
- v3 = this->mAccLength;
- if ( v3 > 0x32u )
- {
- this->mAccLength = 50;
- v3 = 50;
- }
- SocketInputStream::Read(&iStream->0, this->mAccount, v3);
- SocketInputStream::Read(&iStream->0, this->mPrizeSerial, 0x15u);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mPrizeResult, 1u);
- v4 = this->mPrizeResult;
- if ( v4 && v4 != 2 )
- return 1;
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mPrizeNum, 1u);
- v5 = this->mPrizeNum;
- if ( v5 > 0x1Eu )
- {
- this->mPrizeNum = 30;
- v5 = 30;
- }
- i = 0;
- if ( !v5 )
- return 1;
- v6 = this;
- do
- {
- SocketInputStream::Read(&iStream->0, (CHAR *)v6->mPrize, 0x14u);
- SocketInputStream::Read(&iStream->0, (CHAR *)&v6->mPrize[0].m_PrizeNum, 1u);
- ++i;
- v6 = (Packets::LBLNewPrize *)((char *)v6 + 21);
- }
- while ( this->mPrizeNum > i );
- return 1;
- }
- //----- (08077138) --------------------------------------------------------
- BOOL __cdecl Packets::LBLNewPrize::Write(const Packets::LBLNewPrize *const this, SocketBillingOutputStream *const oStream)
- {
- UINT v2; // eax
- USHORT nLevel; // [esp+Ah] [ebp-Eh]
- UINT unGuid; // [esp+Ch] [ebp-Ch]
- if ( this->mType )
- __assert__(
- "../../Common/Packets/LBLNewPrize.cpp",
- 0x3Eu,
- "virtual BOOL Packets::LBLNewPrize::Write(SocketBillingOutputStream&) const",
- "FALSE");
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mAccount, this->mAccLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mIPLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mIP, this->mIPLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mCharNameLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mCharName, this->mCharNameLength);
- v2 = this->mAccGuid;
- LOWORD(v2) = __ROR2__(v2, 8);
- v2 = __ROR4__(v2, 16);
- LOWORD(v2) = __ROR2__(v2, 8);
- unGuid = v2;
- nLevel = __ROR2__(this->mAccLevel, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&unGuid, 4u);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&nLevel, 2u);
- SocketOutputStream::Write(&oStream->0, this->mPrizeSerial, 0x15u);
- return 1;
- }
- //----- (0807727C) --------------------------------------------------------
- UINT __cdecl Packets::LBLNewPrize::Execute(Packets::LBLNewPrize *const this, Player *pPlayer)
- {
- return Packets::LBLNewPrizeHandler::Execute(this, pPlayer);
- }
- //----- (080772DC) --------------------------------------------------------
- void __cdecl _tcf_0_73(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080772EC) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLNewPrize::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_73, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08077318) --------------------------------------------------------
- void __cdecl Packets::LBLNewPrize::~LBLNewPrize(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80D0EC8;
- BillPacket::~BillPacket(a2);
- }
- // 80D0EC8: using guessed type _DWORD (__cdecl *off_80D0EC8[2])(Packets::LBLNewPrize *this);
- //----- (08077334) --------------------------------------------------------
- void __cdecl Packets::LBLNewPrize::~LBLNewPrize(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D0EC8;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80D0EC8: using guessed type _DWORD (__cdecl *off_80D0EC8[2])(Packets::LBLNewPrize *this);
- //----- (0807735C) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLNewPrize::GetPacketID(const Packets::LBLNewPrize *const this)
- {
- return -61;
- }
- //----- (08077368) --------------------------------------------------------
- UINT __cdecl Packets::LBLNewPrize::GetPacketSize(const Packets::LBLNewPrize *const this)
- {
- BYTE v1; // al
- int v2; // edx
- UINT v3; // ecx
- BYTE v5; // al
- v1 = this->mType;
- v2 = this->mAccLength;
- v3 = v2 + 22;
- if ( !v1 )
- {
- v3 += this->mCharNameLength + this->mIPLength + 8;
- return v3;
- }
- if ( v1 != 1 )
- return v3;
- v5 = this->mPrizeResult;
- v3 = v2 + 23;
- if ( v5 )
- {
- if ( v5 != 2 )
- return v3;
- }
- return v2 + 21 * this->mPrizeNum + 24;
- }
- //----- (080773B8) --------------------------------------------------------
- BOOL __cdecl Packets::LBPrize::Read(Packets::LBPrize *const this, SocketBillingInputStream *const iStream)
- {
- return 1;
- }
- //----- (080773C4) --------------------------------------------------------
- BOOL __cdecl Packets::LBPrize::Write(const Packets::LBPrize *const this, SocketBillingOutputStream *const oStream)
- {
- const Packets::LBPrize *v2; // ebx
- USHORT nType; // [esp+10h] [ebp-Ch]
- USHORT nLevel; // [esp+12h] [ebp-Ah]
- v2 = this;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mAccount, v2->mAccLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mIPLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mIP, v2->mIPLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mCharNameLength, 1u);
- SocketOutputStream::Write(&oStream->0, v2->mCharName, v2->mCharNameLength);
- nLevel = __ROR2__(this->mLevel, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&nLevel, 2u);
- SocketOutputStream::Write(&oStream->0, this->mPrizeSerial, 0x15u);
- nType = __ROR2__(this->mPrizeType, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&nType, 2u);
- return 1;
- }
- //----- (080774CC) --------------------------------------------------------
- UINT __cdecl Packets::LBPrize::Execute(Packets::LBPrize *const this, Player *pPlayer)
- {
- return Packets::LBPrizeHandler::Execute(this, pPlayer);
- }
- //----- (0807752C) --------------------------------------------------------
- void __cdecl _tcf_0_74(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807753C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBPrize::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_74, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08077568) --------------------------------------------------------
- void __cdecl Packets::LBPrize::~LBPrize(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80D1048;
- BillPacket::~BillPacket(a2);
- }
- // 80D1048: using guessed type _DWORD (__cdecl *off_80D1048[2])(Packets::LBPrize *this);
- //----- (08077584) --------------------------------------------------------
- void __cdecl Packets::LBPrize::~LBPrize(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D1048;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80D1048: using guessed type _DWORD (__cdecl *off_80D1048[2])(Packets::LBPrize *this);
- //----- (080775AC) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBPrize::GetPacketID(const Packets::LBPrize *const this)
- {
- return -60;
- }
- //----- (080775B8) --------------------------------------------------------
- int __cdecl Packets::LBPrize::GetPacketSize(unsigned __int8 *a2)
- {
- return a2[62] + a2[7] + a2[79] + 28;
- }
- //----- (080775D4) --------------------------------------------------------
- BOOL __cdecl Packets::LWRetPrize::Read(Packets::LWRetPrize *const this, SocketInputStream *const iStream)
- {
- int v2; // eax
- USHORT v4; // dx
- SocketInputStream::Read(iStream, (CHAR *)&this->mPrizeUserID, 2u);
- SocketInputStream::Read(iStream, this->mAccName, 0x32u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mPrizeResult, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mRetType, 1u);
- v2 = *(_DWORD *)&this->mAccName[50] & 0xFFFF00;
- if ( v2 == 0x10000 || v2 == 327680 || v2 == 0x40000 || v2 == 393216 || v2 == 458752 )
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->mPrizeNum, 2u);
- v4 = this->mPrizeNum;
- if ( (unsigned __int16)(v4 - 1) > 0x1Du )
- __assert__(
- "../../Common/Packets/LWRetPrize.cpp",
- 0x13u,
- "virtual BOOL Packets::LWRetPrize::Read(SocketInputStream&)",
- "mPrizeNum > 0 && mPrizeNum <=MAX_PRIZE_NUMBER");
- goto LABEL_12;
- }
- if ( v2 == 196608 )
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->mLeftPoint, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->mPrizeNum, 2u);
- v4 = this->mPrizeNum;
- if ( (unsigned __int16)(v4 - 1) > 0x1Du )
- __assert__(
- "../../Common/Packets/LWRetPrize.cpp",
- 0x1Au,
- "virtual BOOL Packets::LWRetPrize::Read(SocketInputStream&)",
- "mPrizeNum > 0 && mPrizeNum <=MAX_PRIZE_NUMBER");
- LABEL_12:
- SocketInputStream::Read(iStream, (CHAR *)this->mPrize, 32 * v4);
- return 1;
- }
- if ( v2 != 0x20000 )
- return 1;
- SocketInputStream::Read(iStream, (CHAR *)&this->mLeftPoint, 4u);
- return 1;
- }
- //----- (08077748) --------------------------------------------------------
- BOOL __cdecl Packets::LWRetPrize::Write(const Packets::LWRetPrize *const this, SocketOutputStream *const oStream)
- {
- int v2; // eax
- USHORT v4; // dx
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mPrizeUserID, 2u);
- SocketOutputStream::Write(oStream, this->mAccName, 0x32u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mPrizeResult, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mRetType, 1u);
- v2 = *(_DWORD *)&this->mAccName[50] & 0xFFFF00;
- if ( v2 == 0x10000 || v2 == 327680 || v2 == 0x40000 || v2 == 393216 || v2 == 458752 )
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mPrizeNum, 2u);
- v4 = this->mPrizeNum;
- if ( (unsigned __int16)(v4 - 1) > 0x1Du )
- __assert__(
- "../../Common/Packets/LWRetPrize.cpp",
- 0x37u,
- "virtual BOOL Packets::LWRetPrize::Write(SocketOutputStream&) const",
- "mPrizeNum > 0 && mPrizeNum <=MAX_PRIZE_NUMBER");
- goto LABEL_12;
- }
- if ( v2 == 196608 )
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mLeftPoint, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mPrizeNum, 2u);
- v4 = this->mPrizeNum;
- if ( (unsigned __int16)(v4 - 1) > 0x1Du )
- __assert__(
- "../../Common/Packets/LWRetPrize.cpp",
- 0x3Eu,
- "virtual BOOL Packets::LWRetPrize::Write(SocketOutputStream&) const",
- "mPrizeNum > 0 && mPrizeNum <=MAX_PRIZE_NUMBER");
- LABEL_12:
- SocketOutputStream::Write(oStream, (const CHAR *)this->mPrize, 32 * v4);
- return 1;
- }
- if ( v2 != 0x20000 )
- return 1;
- SocketOutputStream::Write(oStream, (const CHAR *)&this->mLeftPoint, 4u);
- return 1;
- }
- //----- (080778BC) --------------------------------------------------------
- UINT __cdecl Packets::LWRetPrize::Execute(Packets::LWRetPrize *const this, Player *pPlayer)
- {
- return Packets::LWRetPrizeHandler::Execute(this, pPlayer);
- }
- //----- (0807791C) --------------------------------------------------------
- void __cdecl _tcf_0_75(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807792C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWRetPrize::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_75, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08077958) --------------------------------------------------------
- void __cdecl Packets::LWRetPrize::~LWRetPrize(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D11A8;
- Packet::~Packet(a2);
- }
- // 80D11A8: using guessed type _DWORD (__cdecl *off_80D11A8[2])(Packets::LWRetPrize *this);
- //----- (08077974) --------------------------------------------------------
- void __cdecl Packets::LWRetPrize::~LWRetPrize(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D11A8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D11A8: using guessed type _DWORD (__cdecl *off_80D11A8[2])(Packets::LWRetPrize *this);
- //----- (0807799C) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWRetPrize::GetPacketID(const Packets::LWRetPrize *const this)
- {
- return 567;
- }
- //----- (080779A8) --------------------------------------------------------
- UINT __cdecl Packets::LWRetPrize::GetPacketSize(const Packets::LWRetPrize *const this)
- {
- int v1; // edx
- UINT result; // eax
- v1 = *(_DWORD *)&this->mAccName[50] & 0xFFFF00;
- result = 54;
- switch ( v1 )
- {
- case 65536:
- case 327680:
- case 262144:
- case 393216:
- case 458752:
- return 32 * this->mPrizeNum + 56;
- case 196608:
- return 32 * this->mPrizeNum + 60;
- case 131072:
- result = 58;
- break;
- }
- return result;
- }
- //----- (08077A18) --------------------------------------------------------
- BOOL __cdecl Packets::WLAskPrize::Read(Packets::WLAskPrize *const this, SocketInputStream *const iStream)
- {
- BYTE v2; // al
- SocketInputStream::Read(iStream, (CHAR *)&this->m_PrizeUserID, 2u);
- SocketInputStream::Read(iStream, this->m_AccName, 0x32u);
- SocketInputStream::Read(iStream, this->m_CharName, 0x1Eu);
- SocketInputStream::Read(iStream, this->m_Host, 0x18u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GUID, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_askType, 1u);
- v2 = this->m_askType;
- if ( v2 == 3 )
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GoodsType, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GoodsNumber, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_CostPoint, 4u);
- }
- else if ( v2 == 1 )
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_GoodsType, 4u);
- }
- else
- {
- switch ( v2 )
- {
- case 5u:
- SocketInputStream::Read(iStream, this->m_NewUserCard, 0x14u);
- break;
- case 7u:
- SocketInputStream::Read(iStream, this->m_NewUserCard, 0x14u);
- return 1;
- case 4u:
- break;
- default:
- return 1;
- }
- SocketInputStream::Read(iStream, (CHAR *)&this->m_usAccLevel, 2u);
- }
- return 1;
- }
- //----- (08077B6C) --------------------------------------------------------
- BOOL __cdecl Packets::WLAskPrize::Write(const Packets::WLAskPrize *const this, SocketOutputStream *const oStream)
- {
- BYTE v2; // al
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_PrizeUserID, 2u);
- SocketOutputStream::Write(oStream, this->m_AccName, 0x32u);
- SocketOutputStream::Write(oStream, this->m_CharName, 0x1Eu);
- SocketOutputStream::Write(oStream, this->m_Host, 0x18u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GUID, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_askType, 1u);
- v2 = this->m_askType;
- if ( v2 == 3 )
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GoodsType, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GoodsNumber, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_CostPoint, 4u);
- }
- else if ( v2 == 1 )
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_GoodsType, 4u);
- }
- else
- {
- switch ( v2 )
- {
- case 5u:
- SocketOutputStream::Write(oStream, this->m_NewUserCard, 0x14u);
- break;
- case 7u:
- SocketOutputStream::Write(oStream, this->m_NewUserCard, 0x14u);
- return 1;
- case 4u:
- break;
- default:
- return 1;
- }
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_usAccLevel, 2u);
- }
- return 1;
- }
- //----- (08077CC0) --------------------------------------------------------
- UINT __cdecl Packets::WLAskPrize::Execute(Packets::WLAskPrize *const this, Player *pPlayer)
- {
- return Packets::WLAskPrizeHandler::Execute(this, pPlayer);
- }
- //----- (08077D20) --------------------------------------------------------
- void __cdecl _tcf_0_76(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08077D30) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLAskPrize::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_76, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08077D5C) --------------------------------------------------------
- void __cdecl Packets::WLAskPrize::~WLAskPrize(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D1348;
- Packet::~Packet(a2);
- }
- // 80D1348: using guessed type _DWORD (__cdecl *off_80D1348[2])(Packets::WLAskPrize *this);
- //----- (08077D78) --------------------------------------------------------
- void __cdecl Packets::WLAskPrize::~WLAskPrize(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D1348;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D1348: using guessed type _DWORD (__cdecl *off_80D1348[2])(Packets::WLAskPrize *this);
- //----- (08077DA0) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLAskPrize::GetPacketID(const Packets::WLAskPrize *const this)
- {
- return 219;
- }
- //----- (08077DAC) --------------------------------------------------------
- UINT __cdecl Packets::WLAskPrize::GetPacketSize(const Packets::WLAskPrize *const this)
- {
- BYTE v1; // al
- UINT v2; // edx
- UINT result; // eax
- v1 = this->m_askType;
- v2 = 111;
- switch ( v1 )
- {
- case 3u:
- LOBYTE(v2) = 121;
- result = v2;
- break;
- case 1u:
- result = 115;
- break;
- case 5u:
- result = 133;
- break;
- case 7u:
- result = 131;
- break;
- case 4u:
- result = 113;
- break;
- default:
- result = 111;
- break;
- }
- return result;
- }
- //----- (08077E0C) --------------------------------------------------------
- BOOL __cdecl Packets::LWNotifyUser::Read(Packets::LWNotifyUser *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->m_AccName, 0x32u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_NotifyStatus, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uKey, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_CharGUID, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_SaveCrc, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_LoadCrc, 4u);
- return 1;
- }
- //----- (08077EC0) --------------------------------------------------------
- BOOL __cdecl Packets::LWNotifyUser::Write(const Packets::LWNotifyUser *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->m_AccName, 0x32u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_NotifyStatus, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uKey, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_CharGUID, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_SaveCrc, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_LoadCrc, 4u);
- return 1;
- }
- //----- (08077F74) --------------------------------------------------------
- UINT __cdecl Packets::LWNotifyUser::Execute(Packets::LWNotifyUser *const this, Player *pPlayer)
- {
- return Packets::LWNotifyUserHandler::Execute(this, pPlayer);
- }
- //----- (08077FD4) --------------------------------------------------------
- const CHAR *__cdecl Packets::LWNotifyUser::GetAccount(const Packets::LWNotifyUser *const this)
- {
- return this->m_AccName;
- }
- //----- (08077FE0) --------------------------------------------------------
- void __cdecl Packets::LWNotifyUser::SetAccount(Packets::LWNotifyUser *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/LWNotifyUser.cpp",
- 0x3Cu,
- "void Packets::LWNotifyUser::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->m_AccName, pAccount, 0x32u);
- this->m_AccName[50] = 0;
- }
- //----- (08078024) --------------------------------------------------------
- void __cdecl _tcf_0_77(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08078034) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWNotifyUser::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_77, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08078060) --------------------------------------------------------
- void __cdecl Packets::LWNotifyUser::~LWNotifyUser(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D14A8;
- Packet::~Packet(a2);
- }
- // 80D14A8: using guessed type _DWORD (__cdecl *off_80D14A8[2])(Packets::LWNotifyUser *this);
- //----- (0807807C) --------------------------------------------------------
- void __cdecl Packets::LWNotifyUser::~LWNotifyUser(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D14A8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D14A8: using guessed type _DWORD (__cdecl *off_80D14A8[2])(Packets::LWNotifyUser *this);
- //----- (080780A4) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWNotifyUser::GetPacketID(const Packets::LWNotifyUser *const this)
- {
- return 440;
- }
- //----- (080780B0) --------------------------------------------------------
- UINT __cdecl Packets::LWNotifyUser::GetPacketSize(const Packets::LWNotifyUser *const this)
- {
- return 70;
- }
- //----- (080780BC) --------------------------------------------------------
- BOOL __cdecl Packets::WLNotifyUser::Read(Packets::WLNotifyUser *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->m_AccName, 0x32u);
- SocketInputStream::Read(iStream, this->Host, 0x18u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_NotifyStatus, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uKey, 4u);
- return 1;
- }
- //----- (08078150) --------------------------------------------------------
- BOOL __cdecl Packets::WLNotifyUser::Write(const Packets::WLNotifyUser *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->m_AccName, 0x32u);
- SocketOutputStream::Write(oStream, this->Host, 0x18u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_NotifyStatus, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uKey, 4u);
- return 1;
- }
- //----- (080781E4) --------------------------------------------------------
- UINT __cdecl Packets::WLNotifyUser::Execute(Packets::WLNotifyUser *const this, Player *pPlayer)
- {
- return Packets::WLNotifyUserHandler::Execute(this, pPlayer);
- }
- //----- (08078244) --------------------------------------------------------
- const CHAR *__cdecl Packets::WLNotifyUser::GetHost(const Packets::WLNotifyUser *const this)
- {
- return this->Host;
- }
- //----- (08078250) --------------------------------------------------------
- void __cdecl Packets::WLNotifyUser::SetHost(Packets::WLNotifyUser *const this, const CHAR *pHost)
- {
- if ( !pHost )
- __assert__(
- "../../Common/Packets/WLNotifyUser.cpp",
- 0x31u,
- "void Packets::WLNotifyUser::SetHost(const CHAR*)",
- "pHost");
- strncpy(this->Host, pHost, 0x18u);
- this->Host[24] = 0;
- }
- //----- (08078294) --------------------------------------------------------
- void __cdecl _tcf_0_78(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080782A4) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLNotifyUser::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_78, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080782D0) --------------------------------------------------------
- void __cdecl Packets::WLNotifyUser::~WLNotifyUser(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D1648;
- Packet::~Packet(a2);
- }
- // 80D1648: using guessed type _DWORD (__cdecl *off_80D1648[2])(Packets::WLNotifyUser *this);
- //----- (080782EC) --------------------------------------------------------
- void __cdecl Packets::WLNotifyUser::~WLNotifyUser(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D1648;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D1648: using guessed type _DWORD (__cdecl *off_80D1648[2])(Packets::WLNotifyUser *this);
- //----- (08078314) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLNotifyUser::GetPacketID(const Packets::WLNotifyUser *const this)
- {
- return 358;
- }
- //----- (08078320) --------------------------------------------------------
- UINT __cdecl Packets::WLNotifyUser::GetPacketSize(const Packets::WLNotifyUser *const this)
- {
- return 82;
- }
- //----- (0807832C) --------------------------------------------------------
- BOOL __cdecl Packets::GWLWGCostLog::Read(Packets::GWLWGCostLog *const this, SocketInputStream *const iStream)
- {
- BYTE v2; // al
- SocketInputStream::Read(iStream, (CHAR *)&this->m_nType, 1u);
- v2 = this->m_nType;
- switch ( v2 )
- {
- case 0u:
- goto LABEL_6;
- case 1u:
- SocketInputStream::Read(iStream, (CHAR *)&this->m_LogPos, 2u);
- LABEL_6:
- SocketInputStream::Read(iStream, this->m_LogInfo.m_SerialKey, 0x1A0u);
- return 1;
- case 2u:
- SocketInputStream::Read(iStream, (CHAR *)&this->m_LogPos, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_nResult, 1u);
- SocketInputStream::Read(iStream, this->m_SerialKey, 0x15u);
- break;
- }
- return 1;
- }
- //----- (08078400) --------------------------------------------------------
- BOOL __cdecl Packets::GWLWGCostLog::Write(const Packets::GWLWGCostLog *const this, SocketOutputStream *const oStream)
- {
- BYTE v2; // al
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_nType, 1u);
- v2 = this->m_nType;
- switch ( v2 )
- {
- case 0u:
- goto LABEL_6;
- case 1u:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_LogPos, 2u);
- LABEL_6:
- SocketOutputStream::Write(oStream, this->m_LogInfo.m_SerialKey, 0x1A0u);
- return 1;
- case 2u:
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_LogPos, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_nResult, 1u);
- SocketOutputStream::Write(oStream, this->m_SerialKey, 0x15u);
- break;
- }
- return 1;
- }
- //----- (080784D4) --------------------------------------------------------
- UINT __cdecl Packets::GWLWGCostLog::Execute(Packets::GWLWGCostLog *const this, Player *pPlayer)
- {
- return Packets::GWLWGCostLogHandler::Execute(this, pPlayer);
- }
- //----- (08078534) --------------------------------------------------------
- void __cdecl _tcf_0_79(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08078544) --------------------------------------------------------
- void `global constructor keyed to'Packets::GWLWGCostLog::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_79, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08078570) --------------------------------------------------------
- void __cdecl Packets::GWLWGCostLog::~GWLWGCostLog(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D17E8;
- Packet::~Packet(a2);
- }
- // 80D17E8: using guessed type _DWORD (__cdecl *off_80D17E8[2])(Packets::GWLWGCostLog *this);
- //----- (0807858C) --------------------------------------------------------
- void __cdecl Packets::GWLWGCostLog::~GWLWGCostLog(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D17E8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D17E8: using guessed type _DWORD (__cdecl *off_80D17E8[2])(Packets::GWLWGCostLog *this);
- //----- (080785B4) --------------------------------------------------------
- PacketID_t __cdecl Packets::GWLWGCostLog::GetPacketID(const Packets::GWLWGCostLog *const this)
- {
- return 33;
- }
- //----- (080785C0) --------------------------------------------------------
- UINT __cdecl Packets::GWLWGCostLog::GetPacketSize(const Packets::GWLWGCostLog *const this)
- {
- BYTE v1; // al
- UINT v2; // edx
- v1 = this->m_nType;
- v2 = 1;
- if ( !v1 )
- {
- LOWORD(v2) = 417;
- return v2;
- }
- if ( v1 == 1 )
- return 419;
- if ( v1 != 2 )
- return v2;
- return 25;
- }
- //----- (080785FC) --------------------------------------------------------
- BOOL __cdecl Packets::LBLCostLog::Read(Packets::LBLCostLog *const this, SocketBillingInputStream *const iStream)
- {
- if ( this->mType != 1 )
- __assert__(
- "../../Common/Packets/LBLCostLog.cpp",
- 0xFu,
- "virtual BOOL Packets::LBLCostLog::Read(SocketBillingInputStream&)",
- "FALSE");
- SocketInputStream::Read(&iStream->0, this->mSerial, 0x15u);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mResult, 1u);
- return 1;
- }
- //----- (080786A0) --------------------------------------------------------
- BOOL __cdecl Packets::LBLCostLog::Write(const Packets::LBLCostLog *const this, SocketBillingOutputStream *const oStream)
- {
- UINT v2; // eax
- UINT v3; // eax
- UINT v4; // eax
- UINT v5; // eax
- UINT v6; // eax
- UINT v7; // eax
- USHORT ulevel; // [esp+2h] [ebp-26h]
- UINT uYuanBao; // [esp+4h] [ebp-24h]
- UINT uTime; // [esp+8h] [ebp-20h]
- UINT uId4; // [esp+Ch] [ebp-1Ch]
- UINT uId3; // [esp+10h] [ebp-18h]
- UINT uId2; // [esp+14h] [ebp-14h]
- UINT uId1; // [esp+18h] [ebp-10h]
- USHORT zoneid; // [esp+1Eh] [ebp-Ah]
- if ( this->mType )
- __assert__(
- "../../Common/Packets/LBLCostLog.cpp",
- 0x3Au,
- "virtual BOOL Packets::LBLCostLog::Write(SocketBillingOutputStream&) const",
- "FALSE");
- SocketOutputStream::Write(&oStream->0, this->mSerial, 0x15u);
- zoneid = __ROR2__(this->mZoneID, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&zoneid, 2u);
- v2 = this->mWorldId;
- LOWORD(v2) = __ROR2__(v2, 8);
- v2 = __ROR4__(v2, 16);
- LOWORD(v2) = __ROR2__(v2, 8);
- uId1 = v2;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&uId1, 4u);
- v3 = this->mServerId;
- LOWORD(v3) = __ROR2__(v3, 8);
- v3 = __ROR4__(v3, 16);
- LOWORD(v3) = __ROR2__(v3, 8);
- uId2 = v3;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&uId2, 4u);
- v4 = this->mSceneId;
- LOWORD(v4) = __ROR2__(v4, 8);
- v4 = __ROR4__(v4, 16);
- LOWORD(v4) = __ROR2__(v4, 8);
- uId3 = v4;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&uId3, 4u);
- v5 = this->mUserGUID;
- LOWORD(v5) = __ROR2__(v5, 8);
- v5 = __ROR4__(v5, 16);
- LOWORD(v5) = __ROR2__(v5, 8);
- uId4 = v5;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&uId4, 4u);
- v6 = this->mCostTime;
- LOWORD(v6) = __ROR2__(v6, 8);
- v6 = __ROR4__(v6, 16);
- LOWORD(v6) = __ROR2__(v6, 8);
- uTime = v6;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&uTime, 4u);
- v7 = this->mYuanBao;
- LOWORD(v7) = __ROR2__(v7, 8);
- v7 = __ROR4__(v7, 16);
- LOWORD(v7) = __ROR2__(v7, 8);
- uYuanBao = v7;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&uYuanBao, 4u);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mAccount, this->mAccLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mCharNameLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mCharName, this->mCharNameLength);
- ulevel = __ROR2__(this->mUserLevel, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&ulevel, 2u);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mIPLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mIP, this->mIPLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mOtherLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mOtherInfo, this->mOtherLength);
- return 1;
- }
- //----- (080788CC) --------------------------------------------------------
- UINT __cdecl Packets::LBLCostLog::Execute(Packets::LBLCostLog *const this, Player *pPlayer)
- {
- return Packets::LBLCostLogHandler::Execute(this, pPlayer);
- }
- //----- (0807892C) --------------------------------------------------------
- void __cdecl Packets::LBLCostLog::SetCostInfo(Packets::LBLCostLog *const this, _COST_LOG *pLog)
- {
- signed int v2; // eax
- signed int v3; // eax
- signed int v4; // eax
- signed int v5; // eax
- if ( !pLog )
- __assert__(
- "../../Common/Packets/LBLCostLog.cpp",
- 0x4Du,
- "void Packets::LBLCostLog::SetCostInfo(_COST_LOG*)",
- "pLog");
- this->mType = 0;
- strncpy(this->mAccount, pLog->m_AccName, 0x32u);
- this->mAccount[50] = 0;
- this->mAccLength = 0;
- v2 = 0;
- do
- {
- if ( this->mAccount[v2] )
- ++this->mAccLength;
- ++v2;
- }
- while ( v2 <= 49 );
- strncpy(this->mCharName, pLog->m_CharName, 0x1Eu);
- this->mCharName[30] = 0;
- this->mCharNameLength = 0;
- v3 = 0;
- do
- {
- if ( this->mCharName[v3] )
- ++this->mCharNameLength;
- ++v3;
- }
- while ( v3 <= 29 );
- strncpy(this->mIP, pLog->m_Host, 0xFu);
- this->mIP[15] = 0;
- this->mIPLength = 0;
- v4 = 0;
- do
- {
- if ( this->mIP[v4] )
- ++this->mIPLength;
- ++v4;
- }
- while ( v4 <= 14 );
- strncpy(this->mOtherInfo, pLog->m_OtherInfo, 0xFFu);
- this->mOtherInfo[255] = 0;
- this->mOtherLength = 0;
- v5 = 0;
- do
- {
- if ( this->mOtherInfo[v5] )
- ++this->mOtherLength;
- ++v5;
- }
- while ( v5 <= 254 );
- strncpy(this->mSerial, pLog->m_SerialKey, 0x15u);
- this->mSerial[21] = 0;
- this->mWorldId = pLog->m_WorldId;
- this->mServerId = pLog->m_ServerId;
- this->mSceneId = pLog->m_SceneId;
- this->mUserGUID = pLog->m_UserGUID;
- this->mUserLevel = pLog->m_UserLevel;
- this->mCostTime = pLog->m_CostTime;
- this->mYuanBao = pLog->m_YuanBao;
- }
- //----- (08078AD0) --------------------------------------------------------
- void __cdecl _tcf_0_80(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08078AE0) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLCostLog::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_80, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08078B0C) --------------------------------------------------------
- void __cdecl Packets::LBLCostLog::~LBLCostLog(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80D1948;
- BillPacket::~BillPacket(a2);
- }
- // 80D1948: using guessed type _DWORD (__cdecl *off_80D1948[2])(Packets::LBLCostLog *this);
- //----- (08078B28) --------------------------------------------------------
- void __cdecl Packets::LBLCostLog::~LBLCostLog(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D1948;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80D1948: using guessed type _DWORD (__cdecl *off_80D1948[2])(Packets::LBLCostLog *this);
- //----- (08078B50) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLCostLog::GetPacketID(const Packets::LBLCostLog *const this)
- {
- return -59;
- }
- //----- (08078B5C) --------------------------------------------------------
- UINT __cdecl Packets::LBLCostLog::GetPacketSize(const Packets::LBLCostLog *const this)
- {
- BYTE v1; // al
- v1 = this->mType;
- if ( !v1 )
- return this->mIPLength + this->mCharNameLength + this->mAccLength + this->mOtherLength + 53;
- if ( v1 != 1 )
- __assert__(
- "../../Common/Packets/LBLCostLog.h",
- 0x44u,
- "virtual UINT Packets::LBLCostLog::GetPacketSize() const",
- "FALSE");
- return 22;
- }
- //----- (08078BC4) --------------------------------------------------------
- BOOL __cdecl Packets::LBLAskMig::Read(Packets::LBLAskMig *const this, SocketBillingInputStream *const iStream)
- {
- BYTE v3; // al
- if ( this->mType != 1 )
- __assert__(
- "../../Common/Packets/LBLAskMig.cpp",
- 0x13u,
- "virtual BOOL Packets::LBLAskMig::Read(SocketBillingInputStream&)",
- "FALSE");
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccLength, 1u);
- v3 = this->mAccLength;
- if ( v3 > 0x32u )
- {
- this->mAccLength = 50;
- v3 = 50;
- }
- SocketInputStream::Read(&iStream->0, this->mAccount, v3);
- SocketInputStream::Read(&iStream->0, this->mPrizeSerial, 0x15u);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mMigResult, 1u);
- return 1;
- }
- //----- (08078C98) --------------------------------------------------------
- BOOL __cdecl Packets::LBLAskMig::Write(const Packets::LBLAskMig *const this, SocketBillingOutputStream *const oStream)
- {
- UINT v2; // eax
- UINT uGUID; // [esp+8h] [ebp-10h]
- USHORT ulv; // [esp+Eh] [ebp-Ah]
- if ( this->mType )
- __assert__(
- "../../Common/Packets/LBLAskMig.cpp",
- 0x2Fu,
- "virtual BOOL Packets::LBLAskMig::Write(SocketBillingOutputStream&) const",
- "FALSE");
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mAccount, this->mAccLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mIPLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mIP, this->mIPLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mCharNameLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mCharName, this->mCharNameLength);
- ulv = __ROR2__(this->mCharLevel, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&ulv, 2u);
- v2 = this->mCharGUID;
- LOWORD(v2) = __ROR2__(v2, 8);
- v2 = __ROR4__(v2, 16);
- LOWORD(v2) = __ROR2__(v2, 8);
- uGUID = v2;
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&uGUID, 4u);
- SocketOutputStream::Write(&oStream->0, this->mPrizeSerial, 0x15u);
- return 1;
- }
- //----- (08078DDC) --------------------------------------------------------
- UINT __cdecl Packets::LBLAskMig::Execute(Packets::LBLAskMig *const this, Player *pPlayer)
- {
- return Packets::LBLAskMigHandler::Execute(this, pPlayer);
- }
- //----- (08078E3C) --------------------------------------------------------
- void __cdecl _tcf_0_81(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08078E4C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLAskMig::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_81, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08078E78) --------------------------------------------------------
- void __cdecl Packets::LBLAskMig::~LBLAskMig(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80D1B68;
- BillPacket::~BillPacket(a2);
- }
- // 80D1B68: using guessed type _DWORD (__cdecl *off_80D1B68[2])(Packets::LBLAskMig *this);
- //----- (08078E94) --------------------------------------------------------
- void __cdecl Packets::LBLAskMig::~LBLAskMig(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D1B68;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80D1B68: using guessed type _DWORD (__cdecl *off_80D1B68[2])(Packets::LBLAskMig *this);
- //----- (08078EBC) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLAskMig::GetPacketID(const Packets::LBLAskMig *const this)
- {
- return -27;
- }
- //----- (08078EC8) --------------------------------------------------------
- UINT __cdecl Packets::LBLAskMig::GetPacketSize(const Packets::LBLAskMig *const this)
- {
- BYTE v1; // al
- int v2; // ebx
- UINT v3; // ecx
- v1 = this->mType;
- v2 = this->mAccLength;
- v3 = v2 + 22;
- if ( !v1 )
- {
- v3 += this->mCharNameLength + this->mIPLength + 8;
- return v3;
- }
- if ( v1 != 1 )
- return v3;
- return v2 + 23;
- }
- //----- (08078EFC) --------------------------------------------------------
- BOOL __cdecl Packets::LWChangeName::Read(Packets::LWChangeName *const this, SocketInputStream *const iStream)
- {
- return Packets::SChgNamePacketUnit::ReadStream(&this->m_sPacketUnit, iStream);
- }
- //----- (08078F60) --------------------------------------------------------
- BOOL __cdecl Packets::LWChangeName::Write(const Packets::LWChangeName *const this, SocketOutputStream *const oStream)
- {
- return Packets::SChgNamePacketUnit::WriteStream(&this->m_sPacketUnit, oStream);
- }
- //----- (08078FC4) --------------------------------------------------------
- UINT __cdecl Packets::LWChangeName::Execute(Packets::LWChangeName *const this, Player *pPlayer)
- {
- return Packets::LWChangeNameHandler::Execute(this, pPlayer);
- }
- //----- (08079024) --------------------------------------------------------
- void __cdecl _tcf_0_82(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08079034) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWChangeName::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_82, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08079060) --------------------------------------------------------
- void __cdecl Packets::LWChangeName::~LWChangeName(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D1CE8;
- Packet::~Packet(a2);
- }
- // 80D1CE8: using guessed type _DWORD (__cdecl *off_80D1CE8[2])(Packets::LWChangeName *this);
- //----- (0807907C) --------------------------------------------------------
- void __cdecl Packets::LWChangeName::~LWChangeName(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D1CE8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D1CE8: using guessed type _DWORD (__cdecl *off_80D1CE8[2])(Packets::LWChangeName *this);
- //----- (080790A4) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWChangeName::GetPacketID(const Packets::LWChangeName *const this)
- {
- return 459;
- }
- //----- (080790B0) --------------------------------------------------------
- UINT __cdecl Packets::LWChangeName::GetPacketSize(const Packets::LWChangeName *const this)
- {
- return Packets::SChgNamePacketUnit::GetPacketSize();
- }
- //----- (080790BC) --------------------------------------------------------
- BOOL __cdecl Packets::WLChangeName::Read(Packets::WLChangeName *const this, SocketInputStream *const iStream)
- {
- return Packets::SChgNamePacketUnit::ReadStream(&this->m_sPacketUnit, iStream);
- }
- //----- (08079120) --------------------------------------------------------
- BOOL __cdecl Packets::WLChangeName::Write(const Packets::WLChangeName *const this, SocketOutputStream *const oStream)
- {
- return Packets::SChgNamePacketUnit::WriteStream(&this->m_sPacketUnit, oStream);
- }
- //----- (08079184) --------------------------------------------------------
- UINT __cdecl Packets::WLChangeName::Execute(Packets::WLChangeName *const this, Player *pPlayer)
- {
- return Packets::WLChangeNameHandler::Execute(this, pPlayer);
- }
- //----- (080791E4) --------------------------------------------------------
- void __cdecl _tcf_0_83(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080791F4) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLChangeName::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_83, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08079220) --------------------------------------------------------
- void __cdecl Packets::WLChangeName::~WLChangeName(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D1E48;
- Packet::~Packet(a2);
- }
- // 80D1E48: using guessed type _DWORD (__cdecl *off_80D1E48[2])(Packets::WLChangeName *this);
- //----- (0807923C) --------------------------------------------------------
- void __cdecl Packets::WLChangeName::~WLChangeName(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D1E48;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D1E48: using guessed type _DWORD (__cdecl *off_80D1E48[2])(Packets::WLChangeName *this);
- //----- (08079264) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLChangeName::GetPacketID(const Packets::WLChangeName *const this)
- {
- return 151;
- }
- //----- (08079270) --------------------------------------------------------
- UINT __cdecl Packets::WLChangeName::GetPacketSize(const Packets::WLChangeName *const this)
- {
- return Packets::SChgNamePacketUnit::GetPacketSize();
- }
- //----- (0807927C) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskCreateCode::Read(Packets::CLAskCreateCode *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_AskType, 1u);
- if ( this->m_AskType == 1 )
- SocketInputStream::Read(iStream, (CHAR *)&this->m_Answer, 8u);
- return 1;
- }
- //----- (08079308) --------------------------------------------------------
- BOOL __cdecl Packets::CLAskCreateCode::Write(const Packets::CLAskCreateCode *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_AskType, 1u);
- if ( this->m_AskType == 1 )
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_Answer, 8u);
- return 1;
- }
- //----- (08079394) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCreateCode::Execute(Packets::CLAskCreateCode *const this, Player *pPlayer)
- {
- return Packets::CLAskCreateCodeHandler::Execute(this, pPlayer);
- }
- //----- (080793F4) --------------------------------------------------------
- void __cdecl _tcf_0_84(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08079404) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskCreateCode::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_84, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08079430) --------------------------------------------------------
- void __cdecl Packets::CLAskCreateCode::~CLAskCreateCode(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D1FA8;
- Packet::~Packet(a2);
- }
- // 80D1FA8: using guessed type _DWORD (__cdecl *off_80D1FA8[2])(Packets::CLAskCreateCode *this);
- //----- (0807944C) --------------------------------------------------------
- void __cdecl Packets::CLAskCreateCode::~CLAskCreateCode(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D1FA8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D1FA8: using guessed type _DWORD (__cdecl *off_80D1FA8[2])(Packets::CLAskCreateCode *this);
- //----- (08079474) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLAskCreateCode::GetPacketID(const Packets::CLAskCreateCode *const this)
- {
- return 31;
- }
- //----- (08079480) --------------------------------------------------------
- int __cdecl Packets::CLAskCreateCode::GetPacketSize(int a2)
- {
- return 8 * (*(_BYTE *)(a2 + 12) == 1) + 1;
- }
- //----- (0807949C) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetCreateCode::Read(Packets::LCRetCreateCode *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, (CHAR *)&this->m_RetType, 1u);
- if ( this->m_RetType == 2 )
- SocketInputStream::Read(iStream, (CHAR *)this->m_imageBuf, 0x240u);
- return 1;
- }
- //----- (08079528) --------------------------------------------------------
- BOOL __cdecl Packets::LCRetCreateCode::Write(const Packets::LCRetCreateCode *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_RetType, 1u);
- if ( this->m_RetType == 2 )
- SocketOutputStream::Write(oStream, (const CHAR *)this->m_imageBuf, 0x240u);
- return 1;
- }
- //----- (080795B4) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCreateCode::Execute(Packets::LCRetCreateCode *const this, Player *pPlayer)
- {
- return Packets::LCRetCreateCodeHandler::Execute(this, pPlayer);
- }
- //----- (08079614) --------------------------------------------------------
- void __cdecl _tcf_0_85(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08079624) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetCreateCode::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_85, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08079650) --------------------------------------------------------
- void __cdecl Packets::LCRetCreateCode::~LCRetCreateCode(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D2128;
- Packet::~Packet(a2);
- }
- // 80D2128: using guessed type _DWORD (__cdecl *off_80D2128[2])(Packets::LCRetCreateCode *this);
- //----- (0807966C) --------------------------------------------------------
- void __cdecl Packets::LCRetCreateCode::~LCRetCreateCode(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D2128;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D2128: using guessed type _DWORD (__cdecl *off_80D2128[2])(Packets::LCRetCreateCode *this);
- //----- (08079694) --------------------------------------------------------
- PacketID_t __cdecl Packets::LCRetCreateCode::GetPacketID(const Packets::LCRetCreateCode *const this)
- {
- return 402;
- }
- //----- (080796A0) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCreateCode::GetPacketSize(const Packets::LCRetCreateCode *const this)
- {
- UINT v1; // edx
- v1 = 1;
- if ( this->m_RetType == 2 )
- LOWORD(v1) = 577;
- return v1;
- }
- //----- (080796C0) --------------------------------------------------------
- BOOL __cdecl Packets::CLRegNewLicense::Read(Packets::CLRegNewLicense *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->szAccount, 0x32u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_UserAnswer, 1u);
- return 1;
- }
- //----- (0807973C) --------------------------------------------------------
- BOOL __cdecl Packets::CLRegNewLicense::Write(const Packets::CLRegNewLicense *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->szAccount, 0x32u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_UserAnswer, 1u);
- return 1;
- }
- //----- (080797B8) --------------------------------------------------------
- UINT __cdecl Packets::CLRegNewLicense::Execute(Packets::CLRegNewLicense *const this, Player *pPlayer)
- {
- return Packets::CLRegNewLicenseHandler::Execute(this, pPlayer);
- }
- //----- (08079818) --------------------------------------------------------
- void __cdecl _tcf_0_86(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08079828) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLRegNewLicense::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_86, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08079854) --------------------------------------------------------
- void __cdecl Packets::CLRegNewLicense::~CLRegNewLicense(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D22A8;
- Packet::~Packet(a2);
- }
- // 80D22A8: using guessed type _DWORD (__cdecl *off_80D22A8[2])(Packets::CLRegNewLicense *this);
- //----- (08079870) --------------------------------------------------------
- void __cdecl Packets::CLRegNewLicense::~CLRegNewLicense(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D22A8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D22A8: using guessed type _DWORD (__cdecl *off_80D22A8[2])(Packets::CLRegNewLicense *this);
- //----- (08079898) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLRegNewLicense::GetPacketID(const Packets::CLRegNewLicense *const this)
- {
- return 103;
- }
- //----- (080798A4) --------------------------------------------------------
- UINT __cdecl Packets::CLRegNewLicense::GetPacketSize(const Packets::CLRegNewLicense *const this)
- {
- return 51;
- }
- //----- (080798B0) --------------------------------------------------------
- BOOL __cdecl Packets::LBAskRegLicense::Read(Packets::LBAskRegLicense *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->szAccount, 0x32u);
- SocketInputStream::Read(iStream, (CHAR *)&this->UserAnswer, 1u);
- SocketInputStream::Read(iStream, (CHAR *)&this->PlayerID, 2u);
- SocketInputStream::Read(iStream, this->szIP, 0xFu);
- return 1;
- }
- //----- (08079944) --------------------------------------------------------
- BOOL __cdecl Packets::LBAskRegLicense::Write(const Packets::LBAskRegLicense *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->szAccount, 0x32u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->UserAnswer, 1u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->PlayerID, 2u);
- SocketOutputStream::Write(oStream, this->szIP, 0xFu);
- return 1;
- }
- //----- (080799D8) --------------------------------------------------------
- UINT __cdecl Packets::LBAskRegLicense::Execute(Packets::LBAskRegLicense *const this, Player *pPlayer)
- {
- return Packets::LBAskRegLicenseHandler::Execute(this, pPlayer);
- }
- //----- (08079A38) --------------------------------------------------------
- const CHAR *__cdecl Packets::LBAskRegLicense::GetAccount(const Packets::LBAskRegLicense *const this)
- {
- return this->szAccount;
- }
- //----- (08079A44) --------------------------------------------------------
- void __cdecl Packets::LBAskRegLicense::SetAccount(Packets::LBAskRegLicense *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/Packets/LBAskRegLicense.cpp",
- 0x33u,
- "void Packets::LBAskRegLicense::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (08079A88) --------------------------------------------------------
- int __cdecl Packets::LBAskRegLicense::GetPlayerID(int a2)
- {
- return *(signed __int16 *)(a2 + 64);
- }
- //----- (08079A94) --------------------------------------------------------
- void __cdecl Packets::LBAskRegLicense::SetPlayerID(int pID, __int16 pIDa)
- {
- *(_WORD *)(pID + 64) = pIDa;
- }
- //----- (08079AA4) --------------------------------------------------------
- int __cdecl Packets::LBAskRegLicense::GetUserAnswer(int a2)
- {
- return *(unsigned __int8 *)(a2 + 63);
- }
- //----- (08079AB0) --------------------------------------------------------
- void __cdecl Packets::LBAskRegLicense::SetUserAnswer(int rt, char rta)
- {
- *(_BYTE *)(rt + 63) = rta;
- }
- //----- (08079AC0) --------------------------------------------------------
- void __cdecl Packets::LBAskRegLicense::SetIPAddr(Packets::LBAskRegLicense *const this, const CHAR *pIP)
- {
- if ( !pIP )
- __assert__(
- "../../Common/Packets/LBAskRegLicense.cpp",
- 0x4Eu,
- "void Packets::LBAskRegLicense::SetIPAddr(const CHAR*)",
- "pIP");
- strncpy(this->szIP, pIP, 0xFu);
- this->szIP[15] = 0;
- }
- //----- (08079B04) --------------------------------------------------------
- const CHAR *__cdecl Packets::LBAskRegLicense::GetIPAddr(const Packets::LBAskRegLicense *const this)
- {
- return this->szIP;
- }
- //----- (08079B10) --------------------------------------------------------
- void __cdecl _tcf_0_87(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08079B20) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBAskRegLicense::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_87, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08079B4C) --------------------------------------------------------
- void __cdecl Packets::LBAskRegLicense::~LBAskRegLicense(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D2428;
- Packet::~Packet(a2);
- }
- // 80D2428: using guessed type _DWORD (__cdecl *off_80D2428[2])(Packets::LBAskRegLicense *this);
- //----- (08079B68) --------------------------------------------------------
- void __cdecl Packets::LBAskRegLicense::~LBAskRegLicense(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D2428;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D2428: using guessed type _DWORD (__cdecl *off_80D2428[2])(Packets::LBAskRegLicense *this);
- //----- (08079B90) --------------------------------------------------------
- PacketID_t __cdecl Packets::LBAskRegLicense::GetPacketID(const Packets::LBAskRegLicense *const this)
- {
- return 282;
- }
- //----- (08079B9C) --------------------------------------------------------
- UINT __cdecl Packets::LBAskRegLicense::GetPacketSize(const Packets::LBAskRegLicense *const this)
- {
- return 68;
- }
- //----- (08079BA8) --------------------------------------------------------
- BOOL __cdecl Packets::LBLRegNewLicense::Read(Packets::LBLRegNewLicense *const this, SocketBillingInputStream *const iStream)
- {
- BYTE v3; // al
- if ( this->mType != 1 )
- __assert__(
- "../../Common/Packets/LBLRegNewLicense.cpp",
- 0x12u,
- "virtual BOOL Packets::LBLRegNewLicense::Read(SocketBillingInputStream&)",
- "FALSE");
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccLength, 1u);
- v3 = this->mAccLength;
- if ( v3 > 0x32u )
- {
- this->mAccLength = 50;
- v3 = 50;
- }
- SocketInputStream::Read(&iStream->0, this->mAccount, v3);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mRegLicense, 1u);
- return 1;
- }
- //----- (08079C68) --------------------------------------------------------
- BOOL __cdecl Packets::LBLRegNewLicense::Write(const Packets::LBLRegNewLicense *const this, SocketBillingOutputStream *const oStream)
- {
- if ( this->mType )
- __assert__(
- "../../Common/Packets/LBLRegNewLicense.cpp",
- 0x28u,
- "virtual BOOL Packets::LBLRegNewLicense::Write(SocketBillingOutputStream&) const",
- "FALSE");
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mAccount, this->mAccLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mIPLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mIP, this->mIPLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mRegLicense, 1u);
- return 1;
- }
- //----- (08079D40) --------------------------------------------------------
- UINT __cdecl Packets::LBLRegNewLicense::Execute(Packets::LBLRegNewLicense *const this, Player *pPlayer)
- {
- return Packets::LBLRegNewLicenseHandler::Execute(this, pPlayer);
- }
- //----- (08079DA0) --------------------------------------------------------
- void __cdecl _tcf_0_88(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08079DB0) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLRegNewLicense::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_88, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08079DDC) --------------------------------------------------------
- void __cdecl Packets::LBLRegNewLicense::~LBLRegNewLicense(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80D2628;
- BillPacket::~BillPacket(a2);
- }
- // 80D2628: using guessed type _DWORD (__cdecl *off_80D2628[2])(Packets::LBLRegNewLicense *this);
- //----- (08079DF8) --------------------------------------------------------
- void __cdecl Packets::LBLRegNewLicense::~LBLRegNewLicense(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D2628;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80D2628: using guessed type _DWORD (__cdecl *off_80D2628[2])(Packets::LBLRegNewLicense *this);
- //----- (08079E20) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLRegNewLicense::GetPacketID(const Packets::LBLRegNewLicense *const this)
- {
- return -89;
- }
- //----- (08079E2C) --------------------------------------------------------
- UINT __cdecl Packets::LBLRegNewLicense::GetPacketSize(const Packets::LBLRegNewLicense *const this)
- {
- BYTE v1; // al
- int v2; // ebx
- UINT v3; // edx
- v1 = this->mType;
- v2 = this->mAccLength;
- v3 = v2 + 1;
- if ( !v1 )
- {
- v3 += this->mIPLength + 2;
- return v3;
- }
- if ( v1 != 1 )
- return v3;
- return v2 + 2;
- }
- //----- (08079E5C) --------------------------------------------------------
- BOOL __cdecl Packets::CLRegSafeSign::Read(Packets::CLRegSafeSign *const this, SocketInputStream *const iStream)
- {
- SocketInputStream::Read(iStream, this->szAccount, 0x32u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_UserAnswer, 1u);
- return 1;
- }
- //----- (08079ED8) --------------------------------------------------------
- BOOL __cdecl Packets::CLRegSafeSign::Write(const Packets::CLRegSafeSign *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->szAccount, 0x32u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_UserAnswer, 1u);
- return 1;
- }
- //----- (08079F54) --------------------------------------------------------
- UINT __cdecl Packets::CLRegSafeSign::Execute(Packets::CLRegSafeSign *const this, Player *pPlayer)
- {
- return Packets::CLRegSafeSignHandler::Execute(this, pPlayer);
- }
- //----- (08079FB4) --------------------------------------------------------
- void __cdecl _tcf_0_89(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08079FC4) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLRegSafeSign::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_89, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08079FF0) --------------------------------------------------------
- void __cdecl Packets::CLRegSafeSign::~CLRegSafeSign(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D27C8;
- Packet::~Packet(a2);
- }
- // 80D27C8: using guessed type _DWORD (__cdecl *off_80D27C8[2])(Packets::CLRegSafeSign *this);
- //----- (0807A00C) --------------------------------------------------------
- void __cdecl Packets::CLRegSafeSign::~CLRegSafeSign(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D27C8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D27C8: using guessed type _DWORD (__cdecl *off_80D27C8[2])(Packets::CLRegSafeSign *this);
- //----- (0807A034) --------------------------------------------------------
- PacketID_t __cdecl Packets::CLRegSafeSign::GetPacketID(const Packets::CLRegSafeSign *const this)
- {
- return 564;
- }
- //----- (0807A040) --------------------------------------------------------
- UINT __cdecl Packets::CLRegSafeSign::GetPacketSize(const Packets::CLRegSafeSign *const this)
- {
- return 51;
- }
- //----- (0807A04C) --------------------------------------------------------
- BOOL __cdecl Packets::LBLOperateAcc::Read(Packets::LBLOperateAcc *const this, SocketBillingInputStream *const iStream)
- {
- BYTE v3; // al
- BYTE v4; // al
- if ( this->mType != 1 )
- __assert__(
- "../../Common/Packets/LBLOperateAcc.cpp",
- 0x18u,
- "virtual BOOL Packets::LBLOperateAcc::Read(SocketBillingInputStream&)",
- "FALSE");
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mSerialLength, 1u);
- v3 = this->mSerialLength;
- if ( v3 > 0x14u )
- {
- this->mSerialLength = 20;
- v3 = 20;
- }
- SocketInputStream::Read(&iStream->0, this->mSerial, v3);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mAccLength, 1u);
- v4 = this->mAccLength;
- if ( v4 > 0x32u )
- {
- this->mAccLength = 50;
- v4 = 50;
- }
- SocketInputStream::Read(&iStream->0, this->mAccount, v4);
- SocketInputStream::Read(&iStream->0, (CHAR *)&this->mFengTingResult, 1u);
- return 1;
- }
- //----- (0807A140) --------------------------------------------------------
- BOOL __cdecl Packets::LBLOperateAcc::Write(const Packets::LBLOperateAcc *const this, SocketBillingOutputStream *const oStream)
- {
- UINT v2; // eax
- USHORT nLevel; // [esp+Ah] [ebp-Eh]
- UINT unGuid; // [esp+Ch] [ebp-Ch]
- if ( this->mType )
- __assert__(
- "../../Common/Packets/LBLOperateAcc.cpp",
- 0x3Cu,
- "virtual BOOL Packets::LBLOperateAcc::Write(SocketBillingOutputStream&) const",
- "FALSE");
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mSerialLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mSerial, this->mSerialLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mAccount, this->mAccLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mCharNameLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mCharName, this->mCharNameLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mIPLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mIP, this->mIPLength);
- v2 = this->mAccGuid;
- LOWORD(v2) = __ROR2__(v2, 8);
- v2 = __ROR4__(v2, 16);
- LOWORD(v2) = __ROR2__(v2, 8);
- unGuid = v2;
- nLevel = __ROR2__(this->mAccLevel, 8);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&unGuid, 4u);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&nLevel, 2u);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mFengTing, 1u);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mReasonLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mReason, this->mReasonLength);
- SocketOutputStream::Write(&oStream->0, (const CHAR *)&this->mGMAccLength, 1u);
- SocketOutputStream::Write(&oStream->0, this->mGMAccount, this->mGMAccLength);
- return 1;
- }
- //----- (0807A304) --------------------------------------------------------
- UINT __cdecl Packets::LBLOperateAcc::Execute(Packets::LBLOperateAcc *const this, Player *pPlayer)
- {
- return Packets::LBLOperateAccHandler::Execute(this, pPlayer);
- }
- //----- (0807A364) --------------------------------------------------------
- void __cdecl _tcf_0_90(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807A374) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLOperateAcc::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_90, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807A3A0) --------------------------------------------------------
- void __cdecl Packets::LBLOperateAcc::~LBLOperateAcc(BillPacket *a2)
- {
- a2->_vptr_BillPacket = (int (**)(...))off_80D2928;
- BillPacket::~BillPacket(a2);
- }
- // 80D2928: using guessed type _DWORD (__cdecl *off_80D2928[2])(Packets::LBLOperateAcc *this);
- //----- (0807A3BC) --------------------------------------------------------
- void __cdecl Packets::LBLOperateAcc::~LBLOperateAcc(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D2928;
- BillPacket::~BillPacket(a2);
- operator delete(a2);
- }
- // 80D2928: using guessed type _DWORD (__cdecl *off_80D2928[2])(Packets::LBLOperateAcc *this);
- //----- (0807A3E4) --------------------------------------------------------
- BPacketID_t __cdecl Packets::LBLOperateAcc::GetPacketID(const Packets::LBLOperateAcc *const this)
- {
- return -79;
- }
- //----- (0807A3F0) --------------------------------------------------------
- UINT __cdecl Packets::LBLOperateAcc::GetPacketSize(const Packets::LBLOperateAcc *const this)
- {
- BYTE v1; // al
- int v2; // edx
- UINT v3; // ebx
- v1 = this->mType;
- v2 = this->mAccLength;
- v3 = v2 + 1;
- if ( !v1 )
- {
- v3 += this->mGMAccLength + this->mReasonLength + this->mIPLength + this->mSerialLength + this->mCharNameLength + 12;
- return v3;
- }
- if ( v1 != 1 )
- return v3;
- return v2 + 2;
- }
- //----- (0807A440) --------------------------------------------------------
- BOOL __cdecl Packets::LWOperateAccResult::Read(Packets::LWOperateAccResult *const this, SocketInputStream *const iStream)
- {
- this->m_Result = 0;
- this->m_Socket = 0;
- this->m_Operate = 0;
- this->m_WorldID = 0;
- *(_DWORD *)this->szAccounts = 0;
- SocketInputStream::Read(iStream, this->szAccounts, 0x32u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_Operate, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_WorldID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_Socket, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ControlID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_Result, 2u);
- return 1;
- }
- //----- (0807A514) --------------------------------------------------------
- BOOL __cdecl Packets::LWOperateAccResult::Write(const Packets::LWOperateAccResult *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->szAccounts, 0x32u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_Operate, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_WorldID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_Socket, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ControlID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_Result, 2u);
- return 1;
- }
- //----- (0807A5C8) --------------------------------------------------------
- UINT __cdecl Packets::LWOperateAccResult::Execute(Packets::LWOperateAccResult *const this, Player *pPlayer)
- {
- return Packets::LWOperateAccResultHandler::Execute(this, pPlayer);
- }
- //----- (0807A628) --------------------------------------------------------
- void __cdecl _tcf_0_91(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807A638) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWOperateAccResult::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_91, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807A664) --------------------------------------------------------
- void __cdecl Packets::LWOperateAccResult::~LWOperateAccResult(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D2AA8;
- Packet::~Packet(a2);
- }
- // 80D2AA8: using guessed type _DWORD (__cdecl *off_80D2AA8[2])(Packets::LWOperateAccResult *this);
- //----- (0807A680) --------------------------------------------------------
- void __cdecl Packets::LWOperateAccResult::~LWOperateAccResult(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D2AA8;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D2AA8: using guessed type _DWORD (__cdecl *off_80D2AA8[2])(Packets::LWOperateAccResult *this);
- //----- (0807A6A8) --------------------------------------------------------
- PacketID_t __cdecl Packets::LWOperateAccResult::GetPacketID(const Packets::LWOperateAccResult *const this)
- {
- return 230;
- }
- //----- (0807A6B4) --------------------------------------------------------
- UINT __cdecl Packets::LWOperateAccResult::GetPacketSize(const Packets::LWOperateAccResult *const this)
- {
- return 64;
- }
- //----- (0807A6C0) --------------------------------------------------------
- BOOL __cdecl Packets::WLOperateAcc::Read(Packets::WLOperateAcc *const this, SocketInputStream *const iStream)
- {
- this->m_Socket = 0;
- this->m_Operate = 0;
- this->m_WorldID = 0;
- *(_DWORD *)this->szAccounts = 0;
- this->m_uGuid = -1;
- this->m_usAccLevel = 1;
- SocketInputStream::Read(iStream, this->szAccounts, 0x32u);
- SocketInputStream::Read(iStream, this->szCharName, 0x32u);
- SocketInputStream::Read(iStream, this->szReason, 0x20u);
- SocketInputStream::Read(iStream, this->szUser, 0x32u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_Operate, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_WorldID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_Socket, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_ControlID, 2u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_uGuid, 4u);
- SocketInputStream::Read(iStream, (CHAR *)&this->m_usAccLevel, 2u);
- return 1;
- }
- //----- (0807A7FC) --------------------------------------------------------
- BOOL __cdecl Packets::WLOperateAcc::Write(const Packets::WLOperateAcc *const this, SocketOutputStream *const oStream)
- {
- SocketOutputStream::Write(oStream, this->szAccounts, 0x32u);
- SocketOutputStream::Write(oStream, this->szCharName, 0x32u);
- SocketOutputStream::Write(oStream, this->szReason, 0x20u);
- SocketOutputStream::Write(oStream, this->szUser, 0x32u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_Operate, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_WorldID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_Socket, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_ControlID, 2u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_uGuid, 4u);
- SocketOutputStream::Write(oStream, (const CHAR *)&this->m_usAccLevel, 2u);
- return 1;
- }
- //----- (0807A900) --------------------------------------------------------
- UINT __cdecl Packets::WLOperateAcc::Execute(Packets::WLOperateAcc *const this, Player *pPlayer)
- {
- return Packets::WLOperateAccHandler::Execute(this, pPlayer);
- }
- //----- (0807A960) --------------------------------------------------------
- void __cdecl _tcf_0_92(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807A970) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLOperateAcc::Read()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_92, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807A99C) --------------------------------------------------------
- void __cdecl Packets::WLOperateAcc::~WLOperateAcc(Packet *a2)
- {
- a2->_vptr_Packet = (int (**)(...))off_80D2C48;
- Packet::~Packet(a2);
- }
- // 80D2C48: using guessed type _DWORD (__cdecl *off_80D2C48[2])(Packets::WLOperateAcc *this);
- //----- (0807A9B8) --------------------------------------------------------
- void __cdecl Packets::WLOperateAcc::~WLOperateAcc(IPRegionTable *a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80D2C48;
- Packet::~Packet(a2);
- operator delete(a2);
- }
- // 80D2C48: using guessed type _DWORD (__cdecl *off_80D2C48[2])(Packets::WLOperateAcc *this);
- //----- (0807A9E0) --------------------------------------------------------
- PacketID_t __cdecl Packets::WLOperateAcc::GetPacketID(const Packets::WLOperateAcc *const this)
- {
- return 265;
- }
- //----- (0807A9EC) --------------------------------------------------------
- UINT __cdecl Packets::WLOperateAcc::GetPacketSize(const Packets::WLOperateAcc *const this)
- {
- return 200;
- }
- //----- (0807A9F8) --------------------------------------------------------
- void __cdecl DBAbilityList::DBAbilityList(DBAbilityList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D2DA8;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBAbilityList.cpp",
- 0x11u,
- "DBAbilityList::DBAbilityList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D2DA8: using guessed type _DWORD (__cdecl *off_80D2DA8)(DBAbilityList *this);
- //----- (0807AAA4) --------------------------------------------------------
- void __cdecl DBAbilityList::DBAbilityList(DBAbilityList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D2DA8;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBAbilityList.cpp",
- 0x11u,
- "DBAbilityList::DBAbilityList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D2DA8: using guessed type _DWORD (__cdecl *off_80D2DA8)(DBAbilityList *this);
- //----- (0807AB50) --------------------------------------------------------
- #error "807ABD8: positive sp value has been found (funcsize=41)"
- //----- (0807AC10) --------------------------------------------------------
- int __cdecl DBAbilityList::Save(DBAbilityList *const this, void *pSource)
- {
- signed int v2; // ebx
- DB_QUERY *v3; // eax
- DB_QUERY *v4; // edi
- int result; // eax
- DB_QUERY *v6; // eax
- DB_QUERY *v7; // edi
- UINT v8; // ST1C_4
- int v9; // ST18_4
- INT Result; // [esp+18h] [ebp-41Ch]
- CHAR Pres[1024]; // [esp+1Ch] [ebp-418h]
- (*((void (__cdecl **)(DBAbilityList *const ))this->_vptr_ODBCBase + 2))(this);
- (*((void (__cdecl **)(DBAbilityList *const , INT *))this->_vptr_ODBCBase + 4))(this, &Result);
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBAbilityList.cpp",
- 0x43u,
- "virtual int DBAbilityList::Save(void*)",
- "pCharFullData");
- v2 = 0;
- do
- {
- if ( *(_WORD *)((char *)pSource + 8 * v2 + 35739) )
- {
- v6 = ODBCBase::GetInternalQuery((int)this);
- v7 = v6;
- if ( !v6 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBAbilityList.cpp",
- 0x4Fu,
- "virtual int DBAbilityList::Save(void*)",
- "FALSE");
- memset(v6, 0, 0x1000u);
- if ( this->m_CharGuid == -1 )
- return 0;
- v8 = this->m_DBVersion;
- v9 = *(_DWORD *)((char *)pSource + 8 * v2 + 35743);
- DB_QUERY::Parse(
- v7,
- NewCharAbility,
- "t_ability",
- this->m_CharGuid,
- v2,
- *(unsigned __int16 *)((char *)pSource + 8 * v2 + 35739));
- if ( !ODBCBase::Save(&this->0, pSource) )
- return 0;
- }
- ++v2;
- }
- while ( v2 <= 63 );
- memset(Pres, 0, 0x400u);
- Binary2String((const CHAR *)pSource + 35483, 0x100u, Pres);
- v3 = ODBCBase::GetInternalQuery((int)this);
- v4 = v3;
- if ( !v3 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBAbilityList.cpp",
- 0x73u,
- "virtual int DBAbilityList::Save(void*)",
- "FALSE");
- memset(v3, 0, 0x1000u);
- result = 0;
- if ( this->m_CharGuid != -1 )
- {
- DB_QUERY::Parse(v4, UpdateCharPresList, "t_char", Pres, this->m_CharGuid, this->m_DBVersion);
- result = ODBCBase::Save(&this->0, pSource) != 0;
- }
- return result;
- }
- //----- (0807AE08) --------------------------------------------------------
- #error "807AE93: positive sp value has been found (funcsize=41)"
- //----- (0807AECC) --------------------------------------------------------
- int __cdecl DBAbilityList::ParseResult(DBAbilityList *const this, void *pResult)
- {
- SHORT AbilityID; // ST2E_2
- __int16 v3; // ST28_2
- UINT v4; // eax
- int v5; // edx
- DB_QUERY *v6; // eax
- DB_QUERY *v7; // esi
- INT i; // [esp+10h] [ebp-18h]
- INT ErrorCode_0; // [esp+14h] [ebp-14h]
- INT ErrorCode; // [esp+18h] [ebp-10h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBAbilityList.cpp",
- 0xB7u,
- "virtual int DBAbilityList::ParseResult(void*)",
- "pCharFullData");
- if ( this->mResultCount > 64 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBAbilityList.cpp",
- 0xC1u,
- "virtual int DBAbilityList::ParseResult(void*)",
- "mResultCount<=MAX_CHAR_ABILITY_NUM");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBAbilityList.cpp",
- 0xC2u,
- "virtual int DBAbilityList::ParseResult(void*)",
- "mInterface");
- i = 0;
- do
- {
- if ( !ODBCInterface::Fetch(this->mInterface) )
- break;
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- AbilityID = ODBCInterface::GetInt(this->mInterface, 2, &ErrorCode);
- v3 = ODBCInterface::GetInt(this->mInterface, 3, &ErrorCode);
- v4 = ODBCInterface::GetUInt(this->mInterface, 4, &ErrorCode);
- ++i;
- v5 = AbilityID;
- *(_WORD *)((char *)pResult + 8 * v5 + 35739) = v3;
- *(_DWORD *)((char *)pResult + 8 * v5 + 35743) = v4;
- }
- while ( i <= 63 );
- ODBCInterface::Clear(this->mInterface);
- v6 = ODBCBase::GetInternalQuery((int)this);
- v7 = v6;
- if ( !v6 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBAbilityList.cpp",
- 0xDEu,
- "virtual int DBAbilityList::ParseResult(void*)",
- "FALSE");
- memset(v6, 0, 0x1000u);
- DB_QUERY::Parse(v7, LoadCharPresList, "t_char", this->m_CharGuid, this->m_DBVersion);
- ODBCBase::Load(&this->0);
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBAbilityList.cpp",
- 0xEDu,
- "virtual int DBAbilityList::ParseResult(void*)",
- "mInterface");
- if ( this->mResultCount > 1 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBAbilityList.cpp",
- 0xEEu,
- "virtual int DBAbilityList::ParseResult(void*)",
- "mResultCount <= 1");
- if ( !ODBCInterface::Fetch(this->mInterface) )
- return 0;
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode_0);
- ODBCInterface::GetField(this->mInterface, 2, (CHAR *)pResult + 35483, 256, &ErrorCode_0);
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBAbilityList.cpp",
- 0x10Du,
- "virtual int DBAbilityList::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (0807B18C) --------------------------------------------------------
- GUID_t __cdecl DBAbilityList::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (0807B198) --------------------------------------------------------
- void __cdecl DBAbilityList::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (0807B1A8) --------------------------------------------------------
- UINT __cdecl DBAbilityList::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (0807B1B4) --------------------------------------------------------
- void __cdecl DBAbilityList::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (0807B1C4) --------------------------------------------------------
- void __cdecl _tcf_0_93(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807B1D4) --------------------------------------------------------
- void `global constructor keyed to'DBAbilityList::DBAbilityList()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_93, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807B200) --------------------------------------------------------
- void __cdecl DBCharCreate::DBCharCreate(DBCharCreate *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))off_80D2FB8;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_Account[0] = 0;
- this->m_AID = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharCreate.cpp",
- 0x12u,
- "DBCharCreate::DBCharCreate(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- this->m_CharGuid = -1;
- }
- // 80D2FB8: using guessed type _DWORD (__cdecl *off_80D2FB8[2])(DBCharCreate *this);
- //----- (0807B2B0) --------------------------------------------------------
- void __cdecl DBCharCreate::DBCharCreate(DBCharCreate *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))off_80D2FB8;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_Account[0] = 0;
- this->m_AID = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharCreate.cpp",
- 0x12u,
- "DBCharCreate::DBCharCreate(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- this->m_CharGuid = -1;
- }
- // 80D2FB8: using guessed type _DWORD (__cdecl *off_80D2FB8[2])(DBCharCreate *this);
- //----- (0807B360) --------------------------------------------------------
- int __cdecl DBCharCreate::Load(DBCharCreate *const this)
- {
- return 1;
- }
- //----- (0807B36C) --------------------------------------------------------
- int __cdecl DBCharCreate::AddNew(DBCharCreate *const this)
- {
- DB_QUERY *v1; // eax
- DB_QUERY *v2; // esi
- int v3; // edx
- BOOL v5; // eax
- BOOL v6; // eax
- INT v7; // ST2C_4
- int v8; // ST28_4
- int v9; // ST24_4
- int v10; // ST20_4
- int v11; // ST1C_4
- int v12; // ST18_4
- UINT v13; // eax
- v1 = ODBCBase::GetInternalQuery((int)this);
- v2 = v1;
- if ( !v1 )
- __assert__("../../Common/DBSystem/DataBase/DBCharCreate.cpp", 0x25u, "virtual int DBCharCreate::AddNew()", "FALSE");
- memset(v1, 0, 0x1000u);
- v3 = 0;
- if ( this->m_Account[0] )
- {
- v5 = StrSafeCheck(this->m_Account, 0x33u);
- v3 = 0;
- if ( v5 )
- {
- v6 = StrSafeCheck(this->m_CharName, 0x1Eu);
- v3 = 0;
- if ( v6 )
- {
- v7 = this->m_DefEquip;
- v8 = this->m_HeadID;
- v9 = this->m_FaceModel;
- v10 = this->m_FaceColor;
- v11 = this->m_HairModel;
- v12 = this->m_HairColor;
- v13 = TimeManager::CurrentDate(g_pTimeManager);
- DB_QUERY::Parse(v2, CreateChar, this->m_Account, this->m_CharName, this->m_Sex, v13, v12, v11, v10);
- v3 = ODBCBase::AddNew(&this->0);
- }
- }
- }
- return v3;
- }
- //----- (0807B4A0) --------------------------------------------------------
- int __cdecl DBCharCreate::ParseResult(DBCharCreate *const this, void *pResult)
- {
- signed int v2; // edi
- int v3; // edx
- int v5; // eax
- INT ResultCode; // [esp+4h] [ebp-14h]
- INT ErrorCode; // [esp+8h] [ebp-10h]
- v2 = 0;
- if ( this->mOPType != 2 )
- goto LABEL_2;
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharCreate.cpp",
- 0x5Eu,
- "virtual int DBCharCreate::ParseResult(void*)",
- "pAskResult");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharCreate.cpp",
- 0x5Fu,
- "virtual int DBCharCreate::ParseResult(void*)",
- "mInterface");
- v5 = ODBCInterface::Fetch(this->mInterface);
- v3 = 0;
- if ( v5 )
- {
- ResultCode = ODBCInterface::GetInt(this->mInterface, 1, &ErrorCode);
- this->m_CharGuid = ODBCInterface::GetUInt(this->mInterface, 2, &ErrorCode);
- if ( ResultCode == -2 )
- {
- *(_DWORD *)pResult = 4;
- }
- else if ( ResultCode == 1 )
- {
- v2 = 1;
- *(_DWORD *)pResult = 0;
- }
- else
- {
- *(_DWORD *)pResult = 6;
- }
- ODBCInterface::Clear(this->mInterface);
- LABEL_2:
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharCreate.cpp",
- 0x7Du,
- "virtual int DBCharCreate::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- v3 = v2;
- }
- return v3;
- }
- //----- (0807B614) --------------------------------------------------------
- const CHAR *__cdecl DBCharCreate::GetAccount(const DBCharCreate *const this)
- {
- return this->m_Account;
- }
- //----- (0807B620) --------------------------------------------------------
- void __cdecl DBCharCreate::SetAccount(DBCharCreate *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharCreate.cpp",
- 0x8Au,
- "void DBCharCreate::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->m_Account, pAccount, 0x32u);
- this->m_Account[50] = 0;
- }
- //----- (0807B668) --------------------------------------------------------
- void __cdecl DBCharCreate::SetCharName(const CHAR *pName, const char *pNamea)
- {
- strncpy((char *)pName + 84, pNamea, 0x1Eu);
- *((_BYTE *)pName + 113) = 0;
- }
- //----- (0807B68C) --------------------------------------------------------
- const CHAR *__cdecl DBCharCreate::GetCharName(DBCharCreate *const this)
- {
- return this->m_CharName;
- }
- //----- (0807B698) --------------------------------------------------------
- void __cdecl DBCharCreate::SetSex(int a3, int a4)
- {
- *(_DWORD *)(a3 + 116) = a4;
- }
- //----- (0807B6A8) --------------------------------------------------------
- int __cdecl DBCharCreate::GetSex(int a2)
- {
- return *(_DWORD *)(a2 + 116);
- }
- //----- (0807B6B4) --------------------------------------------------------
- void __cdecl DBCharCreate::SetHairColor(int Color, char Colora)
- {
- *(_BYTE *)(Color + 120) = Colora;
- }
- //----- (0807B6C4) --------------------------------------------------------
- int __cdecl DBCharCreate::GetHairColor(int a2)
- {
- return *(unsigned __int8 *)(a2 + 120);
- }
- //----- (0807B6D0) --------------------------------------------------------
- void __cdecl DBCharCreate::SetFaceColor(int Color, char Colora)
- {
- *(_BYTE *)(Color + 121) = Colora;
- }
- //----- (0807B6E0) --------------------------------------------------------
- int __cdecl DBCharCreate::GetFaceColor(int a2)
- {
- return *(unsigned __int8 *)(a2 + 121);
- }
- //----- (0807B6EC) --------------------------------------------------------
- void __cdecl DBCharCreate::SetHairModel(int Model, char Modela)
- {
- *(_BYTE *)(Model + 122) = Modela;
- }
- //----- (0807B6FC) --------------------------------------------------------
- int __cdecl DBCharCreate::GetHairModel(int a2)
- {
- return *(unsigned __int8 *)(a2 + 122);
- }
- //----- (0807B708) --------------------------------------------------------
- void __cdecl DBCharCreate::SetFaceModel(int Model, char Modela)
- {
- *(_BYTE *)(Model + 123) = Modela;
- }
- //----- (0807B718) --------------------------------------------------------
- int __cdecl DBCharCreate::GetFaceModel(int a2)
- {
- return *(unsigned __int8 *)(a2 + 123);
- }
- //----- (0807B724) --------------------------------------------------------
- void __cdecl DBCharCreate::SetHeadID(int Head, char Heada)
- {
- *(_BYTE *)(Head + 128) = Heada;
- }
- //----- (0807B738) --------------------------------------------------------
- int __cdecl DBCharCreate::GetHeadID(int a2)
- {
- return *(unsigned __int8 *)(a2 + 128);
- }
- //----- (0807B748) --------------------------------------------------------
- void __cdecl DBCharCreate::SetDefEquip(int a3, int a4)
- {
- *(_DWORD *)(a3 + 124) = a4;
- }
- //----- (0807B758) --------------------------------------------------------
- INT __cdecl DBCharCreate::GetDefEquip(int a2)
- {
- return *(_DWORD *)(a2 + 124);
- }
- //----- (0807B764) --------------------------------------------------------
- GUID_t __cdecl DBCharCreate::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 80);
- }
- //----- (0807B770) --------------------------------------------------------
- void __cdecl _tcf_0_94(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807B780) --------------------------------------------------------
- void `global constructor keyed to'DBCharCreate::DBCharCreate()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_94, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807B7AC) --------------------------------------------------------
- void __cdecl DBChardbVersion::DBChardbVersion(DBChardbVersion *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D3130;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBChardbVersion.cpp",
- 0xDu,
- "DBChardbVersion::DBChardbVersion(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- this->m_curdbVersion = -1;
- this->m_isValid = -1;
- }
- // 80D3130: using guessed type _DWORD (__cdecl *off_80D3130)(DBChardbVersion *this);
- //----- (0807B858) --------------------------------------------------------
- void __cdecl DBChardbVersion::DBChardbVersion(DBChardbVersion *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D3130;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBChardbVersion.cpp",
- 0xDu,
- "DBChardbVersion::DBChardbVersion(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- this->m_curdbVersion = -1;
- this->m_isValid = -1;
- }
- // 80D3130: using guessed type _DWORD (__cdecl *off_80D3130)(DBChardbVersion *this);
- //----- (0807B904) --------------------------------------------------------
- int __cdecl DBChardbVersion::Load(DBChardbVersion *const this)
- {
- DB_QUERY *v1; // eax
- DB_QUERY *v2; // ebx
- GUID_t v3; // eax
- int v4; // edx
- int v5; // eax
- int v7; // eax
- INT ErrorCode; // [esp+18h] [ebp-Ch]
- v1 = ODBCBase::GetInternalQuery((int)this);
- v2 = v1;
- if ( !v1 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBChardbVersion.cpp",
- 0x22u,
- "virtual int DBChardbVersion::Load()",
- "FALSE");
- memset(v1, 0, 0x1000u);
- v3 = this->m_CharGuid;
- v4 = 0;
- if ( v3 != -1 )
- {
- DB_QUERY::Parse(v2, LoadChardbVersion, "t_char", v3);
- v5 = ODBCBase::Load(&this->0);
- v4 = 0;
- if ( v5 )
- {
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBChardbVersion.cpp",
- 0x30u,
- "virtual int DBChardbVersion::Load()",
- "mInterface");
- if ( this->mResultCount )
- {
- v7 = ODBCInterface::Fetch(this->mInterface);
- v4 = 0;
- if ( v7 )
- {
- this->m_curdbVersion = ODBCInterface::GetInt(this->mInterface, 1, &ErrorCode);
- this->m_isValid = ODBCInterface::GetInt(this->mInterface, 2, &ErrorCode);
- ODBCInterface::Clear(this->mInterface);
- v4 = 1;
- }
- }
- else
- {
- this->m_curdbVersion = -1;
- this->m_isValid = -1;
- v4 = 1;
- }
- }
- }
- return v4;
- }
- //----- (0807BA14) --------------------------------------------------------
- int __cdecl DBChardbVersion::ParseResult(DBChardbVersion *const this, void *pResult)
- {
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBChardbVersion.cpp",
- 0x4Au,
- "virtual int DBChardbVersion::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (0807BA68) --------------------------------------------------------
- void __cdecl DBChardbVersion::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 32) = a4;
- }
- //----- (0807BA78) --------------------------------------------------------
- GUID_t __cdecl DBChardbVersion::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 32);
- }
- //----- (0807BA84) --------------------------------------------------------
- INT __cdecl DBChardbVersion::GetdbVersion(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (0807BA90) --------------------------------------------------------
- BOOL __cdecl DBChardbVersion::IsValid(int a2)
- {
- return *(_DWORD *)(a2 + 28) == 1;
- }
- //----- (0807BAA4) --------------------------------------------------------
- void __cdecl DBChardbVersion::ForceCheckConnect(DBChardbVersion *const this)
- {
- ODBCBase::CheckDBConnect(&this->0, "DBChardbVersion");
- }
- //----- (0807BABC) --------------------------------------------------------
- void __cdecl _tcf_0_95(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807BACC) --------------------------------------------------------
- void `global constructor keyed to'DBChardbVersion::DBChardbVersion()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_95, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807BAF8) --------------------------------------------------------
- void __cdecl DBCharExtradbVersion::DBCharExtradbVersion(DBCharExtradbVersion *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D3280;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharExtradbVersion.cpp",
- 0xDu,
- "DBCharExtradbVersion::DBCharExtradbVersion(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- this->m_curdbVersion = -1;
- }
- // 80D3280: using guessed type _DWORD (__cdecl *off_80D3280)(DBCharExtradbVersion *this);
- //----- (0807BB9C) --------------------------------------------------------
- void __cdecl DBCharExtradbVersion::DBCharExtradbVersion(DBCharExtradbVersion *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D3280;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharExtradbVersion.cpp",
- 0xDu,
- "DBCharExtradbVersion::DBCharExtradbVersion(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- this->m_curdbVersion = -1;
- }
- // 80D3280: using guessed type _DWORD (__cdecl *off_80D3280)(DBCharExtradbVersion *this);
- //----- (0807BC40) --------------------------------------------------------
- int __cdecl DBCharExtradbVersion::Load(DBCharExtradbVersion *const this)
- {
- DB_QUERY *v1; // eax
- DB_QUERY *v2; // ebx
- GUID_t v3; // eax
- int v4; // edx
- int v5; // eax
- int v7; // eax
- INT ErrorCode; // [esp+18h] [ebp-Ch]
- v1 = ODBCBase::GetInternalQuery((int)this);
- v2 = v1;
- if ( !v1 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharExtradbVersion.cpp",
- 0x20u,
- "virtual int DBCharExtradbVersion::Load()",
- "FALSE");
- memset(v1, 0, 0x1000u);
- v3 = this->m_CharGuid;
- v4 = 0;
- if ( v3 != -1 )
- {
- DB_QUERY::Parse(v2, LoadCharExtradbVersion, "t_charextra", v3);
- v5 = ODBCBase::Load(&this->0);
- v4 = 0;
- if ( v5 )
- {
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharExtradbVersion.cpp",
- 0x2Eu,
- "virtual int DBCharExtradbVersion::Load()",
- "mInterface");
- if ( this->mResultCount )
- {
- v7 = ODBCInterface::Fetch(this->mInterface);
- v4 = 0;
- if ( v7 )
- {
- this->m_curdbVersion = ODBCInterface::GetInt(this->mInterface, 1, &ErrorCode);
- ODBCInterface::Clear(this->mInterface);
- v4 = 1;
- }
- }
- else
- {
- this->m_curdbVersion = -2;
- v4 = 1;
- }
- }
- }
- return v4;
- }
- //----- (0807BD30) --------------------------------------------------------
- int __cdecl DBCharExtradbVersion::ParseResult(DBCharExtradbVersion *const this, void *pResult)
- {
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharExtradbVersion.cpp",
- 0x47u,
- "virtual int DBCharExtradbVersion::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (0807BD84) --------------------------------------------------------
- void __cdecl DBCharExtradbVersion::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (0807BD94) --------------------------------------------------------
- GUID_t __cdecl DBCharExtradbVersion::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (0807BDA0) --------------------------------------------------------
- INT __cdecl DBCharExtradbVersion::GetdbVersion(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (0807BDAC) --------------------------------------------------------
- void __cdecl DBCharExtradbVersion::ForceCheckConnect(DBCharExtradbVersion *const this)
- {
- ODBCBase::CheckDBConnect(&this->0, "DBCharExtradbVersion");
- }
- //----- (0807BDC4) --------------------------------------------------------
- void __cdecl _tcf_0_96(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807BDD4) --------------------------------------------------------
- void `global constructor keyed to'DBCharExtradbVersion::DBCharExtradbVersion()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_96, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807BE00) --------------------------------------------------------
- void __cdecl DBCharExtraInfo::DBCharExtraInfo(DBCharExtraInfo *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D33D8;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharExtraInfo.cpp",
- 0x12u,
- "DBCharExtraInfo::DBCharExtraInfo(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D33D8: using guessed type _DWORD (__cdecl *off_80D33D8)(DBCharExtraInfo *this);
- //----- (0807BEAC) --------------------------------------------------------
- void __cdecl DBCharExtraInfo::DBCharExtraInfo(DBCharExtraInfo *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D33D8;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharExtraInfo.cpp",
- 0x12u,
- "DBCharExtraInfo::DBCharExtraInfo(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D33D8: using guessed type _DWORD (__cdecl *off_80D33D8)(DBCharExtraInfo *this);
- //----- (0807BF58) --------------------------------------------------------
- #error "807BFE0: positive sp value has been found (funcsize=41)"
- //----- (0807C018) --------------------------------------------------------
- int __cdecl DBCharExtraInfo::Save(DBCharExtraInfo *const this, void *pSource)
- {
- DB_QUERY *v2; // eax
- DB_QUERY *v3; // esi
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharExtraInfo.cpp",
- 0x36u,
- "virtual int DBCharExtraInfo::Save(void*)",
- "pCharFullData");
- v2 = ODBCBase::GetInternalQuery((int)this);
- v3 = v2;
- if ( !v2 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharExtraInfo.cpp",
- 0x3Fu,
- "virtual int DBCharExtraInfo::Save(void*)",
- "FALSE");
- memset(v2, 0, 0x1000u);
- DB_QUERY::Parse(
- v3,
- SaveCharExtra,
- this->m_CharGuid,
- this->m_DBVersion,
- *(_DWORD *)((char *)pSource + 1638),
- *(_DWORD *)((char *)pSource + 1658),
- *((unsigned __int8 *)pSource + 1686),
- *(_DWORD *)((char *)pSource + 1687),
- *(_DWORD *)((char *)pSource + 1691),
- *((unsigned __int8 *)pSource + 1695),
- *((_DWORD *)pSource + 424),
- *((unsigned __int8 *)pSource + 1700),
- *((signed __int16 *)pSource + 453),
- *(_DWORD *)((char *)pSource + 1717));
- return ODBCBase::Save(&this->0, pSource) != 0;
- }
- //----- (0807C14C) --------------------------------------------------------
- #error "807C1D0: positive sp value has been found (funcsize=39)"
- //----- (0807C208) --------------------------------------------------------
- int __cdecl DBCharExtraInfo::ParseResult(DBCharExtraInfo *const this, void *pResult)
- {
- INT ErrorCode; // [esp+8h] [ebp-10h]
- if ( this->mOPType )
- {
- LABEL_8:
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharExtraInfo.cpp",
- 0xBAu,
- "virtual int DBCharExtraInfo::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 0;
- }
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharExtraInfo.cpp",
- 0x90u,
- "virtual int DBCharExtraInfo::ParseResult(void*)",
- "pCharFullData");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharExtraInfo.cpp",
- 0x92u,
- "virtual int DBCharExtraInfo::ParseResult(void*)",
- "mInterface");
- if ( !this->mResultCount )
- {
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- if ( ODBCInterface::Fetch(this->mInterface) )
- {
- *(_DWORD *)((char *)pResult + 1638) = ODBCInterface::GetInt(this->mInterface, 2, &ErrorCode);
- *(_DWORD *)((char *)pResult + 1658) = ODBCInterface::GetUInt(this->mInterface, 3, &ErrorCode);
- *((_BYTE *)pResult + 1686) = ODBCInterface::GetInt(this->mInterface, 4, &ErrorCode);
- *(_DWORD *)((char *)pResult + 1687) = ODBCInterface::GetUInt(this->mInterface, 5, &ErrorCode);
- *(_DWORD *)((char *)pResult + 1691) = ODBCInterface::GetUInt(this->mInterface, 6, &ErrorCode);
- *((_BYTE *)pResult + 1695) = ODBCInterface::GetUInt(this->mInterface, 7, &ErrorCode);
- *((_DWORD *)pResult + 424) = ODBCInterface::GetInt(this->mInterface, 8, &ErrorCode);
- *((_BYTE *)pResult + 1700) = ODBCInterface::GetInt(this->mInterface, 9, &ErrorCode);
- *((_WORD *)pResult + 453) = ODBCInterface::GetInt(this->mInterface, 10, &ErrorCode);
- *(_DWORD *)((char *)pResult + 1717) = ODBCInterface::GetInt(this->mInterface, 11, &ErrorCode);
- ODBCInterface::Clear(this->mInterface);
- goto LABEL_8;
- }
- return 0;
- }
- //----- (0807C40C) --------------------------------------------------------
- GUID_t __cdecl DBCharExtraInfo::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (0807C418) --------------------------------------------------------
- void __cdecl DBCharExtraInfo::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (0807C428) --------------------------------------------------------
- UINT __cdecl DBCharExtraInfo::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (0807C434) --------------------------------------------------------
- void __cdecl DBCharExtraInfo::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (0807C444) --------------------------------------------------------
- void __cdecl _tcf_0_97(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807C454) --------------------------------------------------------
- void `global constructor keyed to'DBCharExtraInfo::DBCharExtraInfo()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_97, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807C480) --------------------------------------------------------
- void __cdecl DBCharFullData::DBCharFullData(DBCharFullData *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D3590;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_FullDataCRC = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharFullData.cpp",
- 0x21u,
- "DBCharFullData::DBCharFullData(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- this->m_DebugStep = 0;
- }
- // 80D3590: using guessed type _DWORD (__cdecl *off_80D3590)(DBCharFullData *this);
- //----- (0807C530) --------------------------------------------------------
- void __cdecl DBCharFullData::DBCharFullData(DBCharFullData *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D3590;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_FullDataCRC = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharFullData.cpp",
- 0x21u,
- "DBCharFullData::DBCharFullData(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- this->m_DebugStep = 0;
- }
- // 80D3590: using guessed type _DWORD (__cdecl *off_80D3590)(DBCharFullData *this);
- //----- (0807C5E0) --------------------------------------------------------
- #error "807C664: positive sp value has been found (funcsize=39)"
- //----- (0807C69C) --------------------------------------------------------
- GUID_t __cdecl DBCharFullData::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (0807C6A8) --------------------------------------------------------
- void __cdecl DBCharFullData::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (0807C6B8) --------------------------------------------------------
- void __cdecl DBCharFullData::SetCRC(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (0807C6C8) --------------------------------------------------------
- UINT __cdecl DBCharFullData::GetCRC(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (0807C6D4) --------------------------------------------------------
- INT __cdecl FullDataMagicInt2(FULLUSERDATA_0 *pData)
- {
- if ( !pData )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharFullData.cpp",
- 0x2DBu,
- "INT FullDataMagicInt2(FULLUSERDATA*)",
- "pData");
- return Seraph::CRC_Get(
- pData->m_Human.m_GUID,
- pData->m_Human.m_Money,
- pData->m_Bank.m_Money,
- pData->m_Human.m_iYuanBao,
- pData->m_Human.m_Level);
- }
- //----- (0807C728) --------------------------------------------------------
- int __cdecl DBCharFullData::Save(DBCharFullData *const this, void *pSource)
- {
- DB_QUERY *v2; // eax
- INT v3; // eax
- signed int v4; // edx
- int v5; // ST100_4
- GUID_t v6; // STFC_4
- int v7; // STF8_4
- int v8; // STF4_4
- int v9; // STF0_4
- int v10; // STEC_4
- int v11; // STE8_4
- UINT v12; // STE4_4
- int v13; // STDC_4
- int v14; // STD8_4
- int v15; // STD4_4
- int v16; // STD0_4
- int v17; // STCC_4
- int v18; // STC8_4
- int v19; // STC4_4
- int v20; // STC0_4
- float v21; // STB0_4
- INT v22; // STBC_4
- float v23; // STB0_4
- INT v24; // STB8_4
- int v25; // STB4_4
- int v26; // STB0_4
- int v27; // STAC_4
- int v28; // STA8_4
- int v29; // STA4_4
- int v30; // STA0_4
- int v31; // ST9C_4
- int v32; // ST98_4
- int v33; // ST94_4
- int v34; // ST90_4
- int v35; // ST8C_4
- int v36; // ST88_4
- int v37; // ST84_4
- int v38; // ST74_4
- int v39; // ST70_4
- int v40; // ST6C_4
- int v41; // ST68_4
- int v42; // ST64_4
- int v43; // ST60_4
- int v44; // ST5C_4
- int v45; // ST58_4
- int v46; // ST54_4
- int v47; // ST50_4
- int v48; // ST4C_4
- int v49; // ST48_4
- int v50; // ST44_4
- float v51; // ST40_4
- INT v52; // ST40_4
- float v53; // ST30_4
- INT v54; // eax
- int v55; // eax
- int v56; // edx
- bool v57; // zf
- bool v58; // sf
- unsigned __int8 v59; // of
- int v60; // edi
- int v61; // eax
- int v62; // eax
- int v63; // eax
- int v64; // eax
- int v65; // eax
- int v66; // eax
- int v67; // eax
- int v68; // eax
- int v69; // eax
- int v70; // eax
- int v71; // eax
- int v72; // eax
- int v73; // eax
- int v74; // eax
- int v75; // eax
- _PLAYERSHOP_GUID *v77; // [esp+10h] [ebp-E34h]
- _HUMAN_DB_LOAD_0::_PSHOP_INFO *v78; // [esp+14h] [ebp-E30h]
- signed int v79; // [esp+14h] [ebp-E30h]
- DB_QUERY *pQuery; // [esp+38h] [ebp-E0Ch]
- DBCharExtraInfo ExtraObject; // [esp+3Ch] [ebp-E08h]
- DBFatigueInfo FatigueInfoObject; // [esp+5Ch] [ebp-DE8h]
- DBPvPInfo PvPInfoObject; // [esp+7Ch] [ebp-DC8h]
- DBCoolDownInfo CoolDownInfoObject; // [esp+9Ch] [ebp-DA8h]
- DBTitleInfo TitleInfoObject; // [esp+BCh] [ebp-D88h]
- DBPrivateInfo PrivateInfoObject; // [esp+DCh] [ebp-D68h]
- DBPetList PetListObject; // [esp+FCh] [ebp-D48h]
- DBImpactList ImpactListObject; // [esp+11Ch] [ebp-D28h]
- DBRelationList RelationListObject; // [esp+13Ch] [ebp-D08h]
- DBTaskList TaskListObject; // [esp+15Ch] [ebp-CE8h]
- DBAbilityList AbilityListObject; // [esp+17Ch] [ebp-CC8h]
- DBXinFaList XinFaListObject; // [esp+19Ch] [ebp-CA8h]
- DBSkillList SkillListObject; // [esp+1BCh] [ebp-C88h]
- DBCharVisualGem VisualGemObject; // [esp+1DCh] [ebp-C68h]
- DBItemList ItemListObject; // [esp+1FCh] [ebp-C48h]
- CHAR ExpInfo[255]; // [esp+22Ch] [ebp-C18h]
- CHAR CharCarryPet[100]; // [esp+32Ch] [ebp-B18h]
- _HUMAN_DB_LOAD_0::_PSHOP_INFO ShopInfo; // [esp+39Ch] [ebp-AA8h]
- CHAR CharShopInfo[512]; // [esp+42Ch] [ebp-A18h]
- CHAR CharSetting[2048]; // [esp+62Ch] [ebp-818h]
- v2 = ODBCBase::GetInternalQuery((int)this);
- pQuery = v2;
- this->m_DebugStep = 5;
- if ( !v2 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharFullData.cpp",
- 0x4Eu,
- "virtual int DBCharFullData::Save(void*)",
- "FALSE");
- memset(v2, 0, 0x1000u);
- if ( this->m_CharGuid == -1 )
- {
- this->m_DebugStep = 10;
- v56 = 0;
- }
- else
- {
- if ( !pSource )
- {
- this->m_DebugStep = 10;
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharFullData.cpp",
- 0x5Au,
- "virtual int DBCharFullData::Save(void*)",
- "pCharFullData");
- }
- this->m_DebugStep = 15;
- if ( !StrSafeCheck((const CHAR *)pSource + 34, 0x22u) )
- {
- *((_BYTE *)pSource + 34) = 0;
- this->m_DebugStep = 17;
- }
- this->m_FullDataCRC = FullDataCrc((FULLUSERDATA *)pSource, 0);
- v3 = FullDataMagicInt2((FULLUSERDATA_0 *)pSource);
- *((_BYTE *)pSource + 39977) = 1;
- *(_DWORD *)((char *)pSource + 39978) = v3;
- this->m_DebugStep = 20;
- if ( !StrSafeCheck((const CHAR *)pSource + 872, 0x11u) )
- *((_BYTE *)pSource + 872) = 0;
- this->m_DebugStep = 25;
- memset(CharSetting, 0, 0x800u);
- Binary2String((const CHAR *)pSource + 39632, 0x280u, CharSetting);
- this->m_DebugStep = 30;
- memset(CharShopInfo, 0, 0x200u);
- v78 = &ShopInfo;
- v4 = 1;
- do
- {
- memset(v78, 0, 0xCu);
- --v4;
- v78->m_ShopGuid[0].m_PoolPos = -1;
- v78->m_ShopGuid[0].m_Server = -1;
- v78->m_ShopGuid[0].m_World = -1;
- v78->m_ShopGuid[0].m_Scene = -1;
- v78 = (_HUMAN_DB_LOAD_0::_PSHOP_INFO *)((char *)v78 + 12);
- }
- while ( v4 != -1 );
- v77 = ShopInfo.m_FavoriteList;
- v79 = 9;
- do
- {
- memset(v77, 0, sizeof(_PLAYERSHOP_GUID));
- --v79;
- v77->m_PoolPos = -1;
- v77->m_Server = -1;
- v77->m_World = -1;
- v77->m_Scene = -1;
- ++v77;
- }
- while ( v79 != -1 );
- memset(&ShopInfo, 0, 0x90u);
- qmemcpy(&ShopInfo, (char *)pSource + 1465, 0x18u);
- memcpy(ShopInfo.m_FavoriteList, (char *)pSource + 1489, 0x78u);
- Binary2String((const CHAR *)&ShopInfo, 0x90u, CharShopInfo);
- this->m_DebugStep = 35;
- memset(CharCarryPet, 0, 0x64u);
- Binary2String((const CHAR *)pSource + 990, 8u, CharCarryPet);
- this->m_DebugStep = 40;
- memset(ExpInfo, 0, 0xFFu);
- Binary2String((const CHAR *)pSource + 1662, 0x14u, ExpInfo);
- this->m_DebugStep = 45;
- if ( *(_DWORD *)((char *)pSource + 1682) == -1 )
- {
- DB_QUERY::Parse(pQuery, DeleteCharRequest, "t_char", this->m_CharGuid, this->m_CharGuid);
- this->m_DebugStep = 55;
- v56 = ODBCBase::Save(&this->0, pSource) != 0;
- }
- else
- {
- v5 = *(_DWORD *)((char *)pSource + 954);
- v6 = this->m_CharGuid;
- v7 = *(_DWORD *)((char *)pSource + 1634);
- v8 = *((_DWORD *)pSource + 217);
- v9 = *(_DWORD *)((char *)pSource + 1630);
- v10 = *(_DWORD *)((char *)pSource + 1618);
- v11 = *(_DWORD *)((char *)pSource + 1626);
- v12 = this->m_FullDataCRC;
- v13 = *(_DWORD *)((char *)pSource + 1682);
- v14 = *(_DWORD *)((char *)pSource + 926);
- v15 = *(_DWORD *)((char *)pSource + 986);
- v16 = *((_DWORD *)pSource + 216);
- v17 = *(_DWORD *)((char *)pSource + 950);
- v18 = *(_DWORD *)((char *)pSource + 946);
- v19 = *(_DWORD *)((char *)pSource + 942);
- v20 = *(_DWORD *)((char *)pSource + 982);
- v21 = *(float *)((char *)pSource + 922) * 100.0;
- v22 = Float2Int<float>(v21);
- v23 = *(float *)((char *)pSource + 918) * 100.0;
- v24 = Float2Int<float>(v23);
- v25 = *((signed __int16 *)pSource + 451);
- v26 = *((unsigned __int8 *)pSource + 12285);
- v27 = *(_DWORD *)((char *)pSource + 12286);
- v28 = *(_DWORD *)((char *)pSource + 938);
- v29 = *(_DWORD *)((char *)pSource + 889);
- v30 = *((_DWORD *)pSource + 212);
- v31 = *((_DWORD *)pSource + 210);
- v32 = *((_DWORD *)pSource + 209);
- v33 = *((_DWORD *)pSource + 208);
- v34 = *((_DWORD *)pSource + 213);
- v35 = *(_DWORD *)pSource;
- v36 = *((signed __int16 *)pSource + 454);
- v37 = *((signed __int16 *)pSource + 452);
- v38 = *(_DWORD *)((char *)pSource + 1018);
- v39 = *(_DWORD *)((char *)pSource + 1014);
- v40 = *(_DWORD *)((char *)pSource + 1010);
- v41 = *(_DWORD *)((char *)pSource + 1006);
- v42 = *(_DWORD *)((char *)pSource + 1002);
- v43 = *(_DWORD *)((char *)pSource + 998);
- v44 = *(_DWORD *)((char *)pSource + 978);
- v45 = *(_DWORD *)((char *)pSource + 974);
- v46 = *(_DWORD *)((char *)pSource + 970);
- v47 = *(_DWORD *)((char *)pSource + 962);
- v48 = *(_DWORD *)((char *)pSource + 954);
- v49 = *(_DWORD *)((char *)pSource + 934);
- v50 = *(_DWORD *)((char *)pSource + 930);
- v51 = *(float *)((char *)pSource + 914) * 100.0;
- v52 = Float2Int<float>(v51);
- v53 = 100.0 * *(float *)((char *)pSource + 910);
- v54 = Float2Int<float>(v53);
- DB_QUERY::Parse(
- pQuery,
- UpdateCharFullData,
- "t_char",
- (char *)pSource + 34,
- *((_DWORD *)pSource + 18),
- *((_DWORD *)pSource + 207),
- *((_DWORD *)pSource + 211),
- *((_DWORD *)pSource + 214),
- *((_DWORD *)pSource + 215),
- (char *)pSource + 872,
- *(_DWORD *)((char *)pSource + 893),
- *((unsigned __int8 *)pSource + 897),
- *((unsigned __int8 *)pSource + 898),
- *((unsigned __int8 *)pSource + 899),
- *((signed __int16 *)pSource + 450),
- v54,
- v52,
- v50,
- v49,
- v48,
- v47,
- v46,
- v45,
- v44,
- v43,
- v42,
- v41,
- v40,
- v39,
- v38,
- CharSetting,
- CharShopInfo,
- CharCarryPet,
- v37,
- v36,
- v35,
- v34,
- v33,
- v32,
- v31,
- v30,
- v29,
- v28,
- v27,
- v26,
- v25,
- v24,
- v22,
- v20,
- v19,
- v18,
- v17,
- v16,
- v15,
- v14,
- v13,
- ExpInfo,
- v12,
- v11,
- v10,
- v9,
- v8,
- v7);
- this->m_DebugStep = 50;
- v55 = ODBCBase::Save(&this->0, pSource);
- v56 = 0;
- if ( v55 )
- {
- v59 = __OFSUB__(this->mResultCount, 1);
- v57 = this->mResultCount == 1;
- v58 = this->mResultCount - 1 < 0;
- this->m_DebugStep = 60;
- if ( !((unsigned __int8)(v58 ^ v59) | v57) )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharFullData.cpp",
- 0xE6u,
- "virtual int DBCharFullData::Save(void*)",
- "mResultCount<=1");
- ODBCInterface::Clear(this->mInterface);
- v56 = 1;
- if ( this->mResultCount )
- {
- v60 = *(_DWORD *)((char *)pSource + 954);
- this->m_DebugStep = 100;
- DBItemList::DBItemList(&ItemListObject, this->mInterface);
- DBItemList::SetCharGuid((int)&ItemListObject, this->m_CharGuid);
- DBItemList::SetDBVersion((int)&ItemListObject, v60);
- v61 = DBItemList::Save(&ItemListObject, pSource);
- v56 = 0;
- if ( v61 )
- {
- DBItemList::ParseResult(&ItemListObject, pSource);
- this->m_DebugStep = 105;
- DBCharVisualGem::DBCharVisualGem(&VisualGemObject, this->mInterface);
- DBCharVisualGem::SetCharGuid((int)&VisualGemObject, this->m_CharGuid);
- DBCharVisualGem::SetDBVersion((int)&VisualGemObject, v60);
- v62 = DBCharVisualGem::Save(&VisualGemObject, pSource);
- v56 = 0;
- if ( v62 )
- {
- DBCharVisualGem::ParseResult(&VisualGemObject, pSource);
- this->m_DebugStep = 110;
- DBSkillList::DBSkillList(&SkillListObject, this->mInterface);
- DBSkillList::SetCharGuid((int)&SkillListObject, this->m_CharGuid);
- DBSkillList::SetDBVersion((int)&SkillListObject, v60);
- v63 = DBSkillList::Save(&SkillListObject, pSource);
- v56 = 0;
- if ( v63 )
- {
- DBSkillList::ParseResult(&SkillListObject, pSource);
- this->m_DebugStep = 115;
- DBXinFaList::DBXinFaList(&XinFaListObject, this->mInterface);
- DBXinFaList::SetCharGuid((int)&XinFaListObject, this->m_CharGuid);
- DBXinFaList::SetDBVersion((int)&XinFaListObject, v60);
- v64 = DBXinFaList::Save(&XinFaListObject, pSource);
- v56 = 0;
- if ( v64 )
- {
- DBXinFaList::ParseResult(&XinFaListObject, pSource);
- this->m_DebugStep = 120;
- DBAbilityList::DBAbilityList(&AbilityListObject, this->mInterface);
- DBAbilityList::SetCharGuid((int)&AbilityListObject, this->m_CharGuid);
- DBAbilityList::SetDBVersion((int)&AbilityListObject, v60);
- v65 = DBAbilityList::Save(&AbilityListObject, pSource);
- v56 = 0;
- if ( v65 )
- {
- DBAbilityList::ParseResult(&AbilityListObject, pSource);
- this->m_DebugStep = 125;
- DBTaskList::DBTaskList(&TaskListObject, this->mInterface);
- DBTaskList::SetCharGuid((int)&TaskListObject, this->m_CharGuid);
- DBTaskList::SetDBVersion((int)&TaskListObject, v60);
- v66 = DBTaskList::Save(&TaskListObject, pSource);
- v56 = 0;
- if ( v66 )
- {
- DBTaskList::ParseResult(&TaskListObject, pSource);
- this->m_DebugStep = 130;
- DBRelationList::DBRelationList(&RelationListObject, this->mInterface);
- DBRelationList::SetCharGuid((int)&RelationListObject, this->m_CharGuid);
- DBRelationList::SetDBVersion((int)&RelationListObject, v60);
- v67 = DBRelationList::Save(&RelationListObject, pSource);
- v56 = 0;
- if ( v67 )
- {
- DBRelationList::ParseResult(&RelationListObject, pSource);
- this->m_DebugStep = 135;
- DBImpactList::DBImpactList(&ImpactListObject, this->mInterface);
- DBImpactList::SetCharGuid((int)&ImpactListObject, this->m_CharGuid);
- DBImpactList::SetDBVersion((int)&ImpactListObject, v60);
- v68 = DBImpactList::Save(&ImpactListObject, pSource);
- v56 = 0;
- if ( v68 )
- {
- DBImpactList::ParseResult(&ImpactListObject, pSource);
- this->m_DebugStep = 140;
- DBPetList::DBPetList(&PetListObject, this->mInterface);
- DBPetList::SetCharGuid((int)&PetListObject, this->m_CharGuid);
- DBPetList::SetDBVersion((int)&PetListObject, v60);
- v69 = DBPetList::Save(&PetListObject, pSource);
- v56 = 0;
- if ( v69 )
- {
- DBPetList::ParseResult(&PetListObject, pSource);
- this->m_DebugStep = 145;
- DBPrivateInfo::DBPrivateInfo(&PrivateInfoObject, this->mInterface);
- DBPrivateInfo::SetCharGuid((int)&PrivateInfoObject, this->m_CharGuid);
- DBPrivateInfo::SetDBVersion((int)&PrivateInfoObject, v60);
- v70 = DBPrivateInfo::Save(&PrivateInfoObject, pSource);
- v56 = 0;
- if ( v70 )
- {
- DBPrivateInfo::ParseResult(&PrivateInfoObject, pSource);
- this->m_DebugStep = 150;
- DBTitleInfo::DBTitleInfo(&TitleInfoObject, this->mInterface);
- DBTitleInfo::SetCharGuid((int)&TitleInfoObject, this->m_CharGuid);
- DBTitleInfo::SetDBVersion((int)&TitleInfoObject, v60);
- v71 = DBTitleInfo::Save(&TitleInfoObject, pSource);
- v56 = 0;
- if ( v71 )
- {
- DBTitleInfo::ParseResult(&TitleInfoObject, pSource);
- this->m_DebugStep = 155;
- DBCoolDownInfo::DBCoolDownInfo(&CoolDownInfoObject, this->mInterface);
- DBCoolDownInfo::SetCharGuid((int)&CoolDownInfoObject, this->m_CharGuid);
- DBCoolDownInfo::SetDBVersion((int)&CoolDownInfoObject, v60);
- v72 = DBCoolDownInfo::Save(&CoolDownInfoObject, pSource);
- v56 = 0;
- if ( v72 )
- {
- DBCoolDownInfo::ParseResult(&CoolDownInfoObject, pSource);
- this->m_DebugStep = 160;
- DBPvPInfo::DBPvPInfo(&PvPInfoObject, this->mInterface);
- DBPvPInfo::SetCharGuid((int)&PvPInfoObject, this->m_CharGuid);
- DBPvPInfo::SetDBVersion((int)&PvPInfoObject, v60);
- v73 = DBPvPInfo::Save(&PvPInfoObject, pSource);
- v56 = 0;
- if ( v73 )
- {
- DBPvPInfo::ParseResult(&PvPInfoObject, pSource);
- this->m_DebugStep = 165;
- DBFatigueInfo::DBFatigueInfo(&FatigueInfoObject, this->mInterface);
- DBFatigueInfo::SetCharGuid((int)&FatigueInfoObject, this->m_CharGuid);
- DBFatigueInfo::SetDBVersion((int)&FatigueInfoObject, v60);
- v74 = DBFatigueInfo::Save(&FatigueInfoObject, pSource);
- v56 = 0;
- if ( v74 )
- {
- DBFatigueInfo::ParseResult(&FatigueInfoObject, pSource);
- this->m_DebugStep = 170;
- DBCharExtraInfo::DBCharExtraInfo(&ExtraObject, this->mInterface);
- DBCharExtraInfo::SetCharGuid((int)&ExtraObject, this->m_CharGuid);
- DBCharExtraInfo::SetDBVersion((int)&ExtraObject, v60);
- v75 = DBCharExtraInfo::Save(&ExtraObject, pSource);
- v56 = 0;
- if ( v75 )
- {
- DBCharExtraInfo::ParseResult(&ExtraObject, pSource);
- v56 = 1;
- this->m_DebugStep = 200;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return v56;
- }
- // 807CBD5: too many varargs, some ignored
- //----- (0807D1E4) --------------------------------------------------------
- INT __cdecl FullDataMagicInt1(FULLUSERDATA_0 *pData)
- {
- if ( !pData )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharFullData.cpp",
- 0x2CEu,
- "INT FullDataMagicInt1(FULLUSERDATA*)",
- "pData");
- return Seraph::CRC_Get(
- pData->m_Human.m_GUID,
- pData->m_Human.m_Money,
- pData->m_Bank.m_Money,
- pData->m_Human.m_iYuanBao,
- pData->m_Human.m_LastLogoutTime);
- }
- //----- (0807D238) --------------------------------------------------------
- int __cdecl DBCharFullData::ParseResult(DBCharFullData *const this, void *pResult)
- {
- char *v2; // eax
- signed int v3; // edx
- char *v4; // eax
- signed int v5; // edx
- char *v6; // edi
- signed int v7; // edx
- signed int v8; // edx
- INT nIsOldItem; // ST40_4
- ODBCInterface *v10; // eax
- _HUMAN_DB_LOAD_0::_PSHOP_INFO *v12; // [esp+8h] [ebp-2B0h]
- _PLAYERSHOP_GUID *v13; // [esp+8h] [ebp-2B0h]
- int dbVersion; // [esp+1Ch] [ebp-29Ch]
- INT i; // [esp+30h] [ebp-288h]
- INT ErrorCode; // [esp+34h] [ebp-284h]
- int v17; // [esp+38h] [ebp-280h]
- int v18; // [esp+3Ch] [ebp-27Ch]
- DBCharExtraInfo ExtraObject; // [esp+40h] [ebp-278h]
- DBFatigueInfo FatigueInfoObject; // [esp+60h] [ebp-258h]
- DBPvPInfo PvPInfoObject; // [esp+80h] [ebp-238h]
- DBCoolDownInfo CoolDownInfoObject; // [esp+A0h] [ebp-218h]
- DBTitleInfo TitleInfoObject; // [esp+C0h] [ebp-1F8h]
- DBPrivateInfo PrivateInfoObject; // [esp+E0h] [ebp-1D8h]
- DBPetList PetListObject; // [esp+100h] [ebp-1B8h]
- DBImpactList ImpactListObject; // [esp+120h] [ebp-198h]
- DBRelationList RelationListObject; // [esp+140h] [ebp-178h]
- DBTaskList TaskListObject; // [esp+160h] [ebp-158h]
- DBAbilityList AbilityListObject; // [esp+180h] [ebp-138h]
- DBXinFaList XinFaListObject; // [esp+1A0h] [ebp-118h]
- DBSkillList SkillListObject; // [esp+1C0h] [ebp-F8h]
- DBItemList ItemListObject; // [esp+1E0h] [ebp-D8h]
- _HUMAN_DB_LOAD_0::_PSHOP_INFO ShopInfo; // [esp+210h] [ebp-A8h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharFullData.cpp",
- 0x18Au,
- "virtual int DBCharFullData::ParseResult(void*)",
- "pCharFullData");
- _HUMAN_DB_LOAD::CleanUp((_HUMAN_DB_LOAD *const )pResult);
- _EQUIP_DB_LOAD::CleanUp((_WORD *)pResult + 14955);
- _BAG_DB_LOAD::CleanUp((char *)pResult + 12290);
- _BANK_DB_LOAD::CleanUp((char *)pResult + 1721);
- _SKILL_DB_LOAD::CleanUp((_SKILL_DB_LOAD *const )((char *)pResult + 33256));
- v2 = (char *)pResult + 33513;
- v3 = 31;
- do
- {
- *(_WORD *)v2 = -1;
- *((_DWORD *)v2 + 1) = 0;
- *((_DWORD *)v2 + 2) = 0;
- v2 += 12;
- --v3;
- }
- while ( v3 >= 0 );
- _XINFA_DB_LOAD::CleanUp((_XINFA_DB_LOAD *const )((char *)pResult + 33897));
- _IMPACT_DB_LOAD::CleanUp((_BYTE *)pResult + 33962);
- _ABILITY_DB_LOAD::CleanUp((char *)pResult + 35483);
- _MISSION_DB_LOAD::CleanUp((_MISSION_DB_LOAD *const )((char *)pResult + 36251));
- v4 = (char *)pResult + 39632;
- v5 = 127;
- do
- {
- *v4 = 0;
- *(_DWORD *)(v4 + 1) = 0;
- v4 += 5;
- --v5;
- }
- while ( v5 >= 0 );
- _PET_DB_LIST_LOAD::CleanUp((_PET_DB_LIST_LOAD *const )((char *)pResult + 40272));
- _RELATION_DB_LOAD::CleanUp((_RELATION_DB_LOAD *const )((char *)pResult + 44262));
- memset((char *)pResult + 50161, 0, 0x1B0u);
- *(_DWORD *)((char *)pResult + 50162) = -1;
- *(_DWORD *)((char *)pResult + 50593) = 0;
- *(_DWORD *)((char *)pResult + 50597) = 0;
- *(_DWORD *)((char *)pResult + 50601) = -1;
- memset((char *)pResult + 50605, 0, 0x30u);
- v6 = (char *)pResult + 50653;
- *(_WORD *)v6 = 0;
- v6[2] = 0;
- v17 = 0;
- v18 = 0;
- *((_DWORD *)pResult + 12664) = 0;
- *((_DWORD *)pResult + 12665) = 0;
- *((_DWORD *)pResult + 12666) = 0;
- *((_DWORD *)pResult + 12667) = 0;
- *((_DWORD *)pResult + 12668) = 0;
- *((_DWORD *)pResult + 12669) = 0;
- memset((char *)pResult + 50680, 0, 0x18u);
- *((_BYTE *)pResult + 50704) = 0;
- *(_DWORD *)((char *)pResult + 50705) = 0;
- *(_DWORD *)((char *)pResult + 50709) = 0;
- if ( this->mResultCount > 1 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharFullData.cpp",
- 0x1D1u,
- "virtual int DBCharFullData::ParseResult(void*)",
- "mResultCount<=1");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharFullData.cpp",
- 0x1D2u,
- "virtual int DBCharFullData::ParseResult(void*)",
- "mInterface");
- i = 0;
- while ( ODBCInterface::Fetch(this->mInterface) )
- {
- *((_DWORD *)pResult + 17) = ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- ODBCInterface::GetString(this->mInterface, 2, (CHAR *)pResult + 4, 30, &ErrorCode);
- ODBCInterface::GetString(this->mInterface, 3, (CHAR *)pResult + 34, 34, &ErrorCode);
- *((_DWORD *)pResult + 18) = ODBCInterface::GetUInt(this->mInterface, 4, &ErrorCode);
- *((_DWORD *)pResult + 19) = ODBCInterface::GetUInt(this->mInterface, 5, &ErrorCode);
- *((_DWORD *)pResult + 207) = ODBCInterface::GetUInt(this->mInterface, 6, &ErrorCode);
- *((_DWORD *)pResult + 211) = ODBCInterface::GetUInt(this->mInterface, 7, &ErrorCode);
- *((_DWORD *)pResult + 214) = ODBCInterface::GetUInt(this->mInterface, 8, &ErrorCode);
- *((_DWORD *)pResult + 215) = ODBCInterface::GetUInt(this->mInterface, 9, &ErrorCode);
- ODBCInterface::GetString(this->mInterface, 10, (CHAR *)pResult + 872, 17, &ErrorCode);
- *(_DWORD *)((char *)pResult + 893) = ODBCInterface::GetUInt(this->mInterface, 11, &ErrorCode);
- *((_BYTE *)pResult + 897) = ODBCInterface::GetInt(this->mInterface, 12, &ErrorCode);
- *((_BYTE *)pResult + 898) = ODBCInterface::GetInt(this->mInterface, 13, &ErrorCode);
- *((_BYTE *)pResult + 899) = ODBCInterface::GetInt(this->mInterface, 14, &ErrorCode);
- *((_WORD *)pResult + 450) = ODBCInterface::GetUInt(this->mInterface, 15, &ErrorCode);
- *(float *)((char *)pResult + 910) = (long double)ODBCInterface::GetUInt(this->mInterface, 16, &ErrorCode)
- * 0.0099999998;
- *(float *)((char *)pResult + 914) = (long double)ODBCInterface::GetUInt(this->mInterface, 17, &ErrorCode)
- * 0.0099999998;
- *(_DWORD *)((char *)pResult + 930) = ODBCInterface::GetUInt(this->mInterface, 18, &ErrorCode);
- *(_DWORD *)((char *)pResult + 934) = ODBCInterface::GetUInt(this->mInterface, 19, &ErrorCode);
- *(_DWORD *)((char *)pResult + 954) = ODBCInterface::GetUInt(this->mInterface, 20, &ErrorCode);
- *(_DWORD *)((char *)pResult + 962) = ODBCInterface::GetUInt(this->mInterface, 21, &ErrorCode);
- *(_DWORD *)((char *)pResult + 970) = ODBCInterface::GetUInt(this->mInterface, 22, &ErrorCode);
- *(_DWORD *)((char *)pResult + 974) = ODBCInterface::GetUInt(this->mInterface, 23, &ErrorCode);
- *(_DWORD *)((char *)pResult + 978) = ODBCInterface::GetUInt(this->mInterface, 24, &ErrorCode);
- *(_DWORD *)((char *)pResult + 998) = ODBCInterface::GetUInt(this->mInterface, 25, &ErrorCode);
- *(_DWORD *)((char *)pResult + 1002) = ODBCInterface::GetUInt(this->mInterface, 26, &ErrorCode);
- *(_DWORD *)((char *)pResult + 1006) = ODBCInterface::GetUInt(this->mInterface, 27, &ErrorCode);
- *(_DWORD *)((char *)pResult + 1010) = ODBCInterface::GetUInt(this->mInterface, 28, &ErrorCode);
- *(_DWORD *)((char *)pResult + 1014) = ODBCInterface::GetUInt(this->mInterface, 29, &ErrorCode);
- *(_DWORD *)((char *)pResult + 1018) = ODBCInterface::GetUInt(this->mInterface, 30, &ErrorCode);
- ODBCInterface::GetField(this->mInterface, 31, (CHAR *)pResult + 39632, 640, &ErrorCode);
- v12 = &ShopInfo;
- v7 = 1;
- do
- {
- memset(v12, 0, 0xCu);
- --v7;
- v12->m_ShopGuid[0].m_PoolPos = -1;
- v12->m_ShopGuid[0].m_Server = -1;
- v12->m_ShopGuid[0].m_World = -1;
- v12->m_ShopGuid[0].m_Scene = -1;
- v12 = (_HUMAN_DB_LOAD_0::_PSHOP_INFO *)((char *)v12 + 12);
- }
- while ( v7 != -1 );
- v13 = ShopInfo.m_FavoriteList;
- v8 = 9;
- do
- {
- memset(v13, 0, sizeof(_PLAYERSHOP_GUID));
- --v8;
- v13->m_PoolPos = -1;
- v13->m_Server = -1;
- v13->m_World = -1;
- v13->m_Scene = -1;
- ++v13;
- }
- while ( v8 != -1 );
- memset(&ShopInfo, 0, 0x90u);
- ODBCInterface::GetField(this->mInterface, 32, (CHAR *)&ShopInfo, 144, &ErrorCode);
- qmemcpy((char *)pResult + 1465, &ShopInfo, 0x18u);
- memcpy((char *)pResult + 1489, ShopInfo.m_FavoriteList, 0x78u);
- ODBCInterface::GetField(this->mInterface, 33, (CHAR *)pResult + 990, 8, &ErrorCode);
- *((_WORD *)pResult + 452) = ODBCInterface::GetUInt(this->mInterface, 34, &ErrorCode);
- *((_WORD *)pResult + 454) = ODBCInterface::GetUInt(this->mInterface, 35, &ErrorCode);
- *(_DWORD *)pResult = ODBCInterface::GetUInt(this->mInterface, 36, &ErrorCode);
- *((_DWORD *)pResult + 213) = ODBCInterface::GetInt(this->mInterface, 37, &ErrorCode);
- *((_DWORD *)pResult + 208) = ODBCInterface::GetInt(this->mInterface, 38, &ErrorCode);
- *((_DWORD *)pResult + 209) = ODBCInterface::GetInt(this->mInterface, 39, &ErrorCode);
- *((_DWORD *)pResult + 210) = ODBCInterface::GetInt(this->mInterface, 40, &ErrorCode);
- *((_DWORD *)pResult + 212) = ODBCInterface::GetInt(this->mInterface, 41, &ErrorCode);
- *(_DWORD *)((char *)pResult + 889) = ODBCInterface::GetUInt(this->mInterface, 42, &ErrorCode);
- *(_DWORD *)((char *)pResult + 938) = ODBCInterface::GetUInt(this->mInterface, 43, &ErrorCode);
- *(_DWORD *)((char *)pResult + 12286) = ODBCInterface::GetUInt(this->mInterface, 44, &ErrorCode);
- *((_BYTE *)pResult + 12285) = ODBCInterface::GetUInt(this->mInterface, 45, &ErrorCode);
- *((_WORD *)pResult + 451) = ODBCInterface::GetUInt(this->mInterface, 46, &ErrorCode);
- *(float *)((char *)pResult + 918) = (long double)ODBCInterface::GetUInt(this->mInterface, 47, &ErrorCode)
- * 0.0099999998;
- *(float *)((char *)pResult + 922) = (long double)ODBCInterface::GetUInt(this->mInterface, 48, &ErrorCode)
- * 0.0099999998;
- *(_DWORD *)((char *)pResult + 982) = ODBCInterface::GetUInt(this->mInterface, 49, &ErrorCode);
- *(_DWORD *)((char *)pResult + 942) = ODBCInterface::GetInt(this->mInterface, 50, &ErrorCode);
- *(_DWORD *)((char *)pResult + 946) = ODBCInterface::GetInt(this->mInterface, 51, &ErrorCode);
- *(_DWORD *)((char *)pResult + 950) = ODBCInterface::GetInt(this->mInterface, 52, &ErrorCode);
- *((_DWORD *)pResult + 216) = ODBCInterface::GetInt(this->mInterface, 53, &ErrorCode);
- *(_DWORD *)((char *)pResult + 986) = ODBCInterface::GetInt(this->mInterface, 54, &ErrorCode);
- *(_DWORD *)((char *)pResult + 926) = ODBCInterface::GetUInt(this->mInterface, 55, &ErrorCode);
- *(_DWORD *)((char *)pResult + 1682) = ODBCInterface::GetInt(this->mInterface, 56, &ErrorCode);
- ODBCInterface::GetField(this->mInterface, 57, (CHAR *)pResult + 1662, 20, &ErrorCode);
- this->m_FullDataCRC = ODBCInterface::GetUInt(this->mInterface, 58, &ErrorCode);
- *(_DWORD *)((char *)pResult + 1626) = ODBCInterface::GetUInt(this->mInterface, 59, &ErrorCode);
- *(_DWORD *)((char *)pResult + 1618) = ODBCInterface::GetUInt(this->mInterface, 60, &ErrorCode);
- *(_DWORD *)((char *)pResult + 1630) = ODBCInterface::GetUInt(this->mInterface, 61, &ErrorCode);
- nIsOldItem = ODBCInterface::GetInt(this->mInterface, 62, &ErrorCode);
- *((_DWORD *)pResult + 217) = ODBCInterface::GetUInt(this->mInterface, 63, &ErrorCode);
- *(_DWORD *)((char *)pResult + 1634) = ODBCInterface::GetUInt(this->mInterface, 64, &ErrorCode);
- ODBCInterface::Clear(this->mInterface);
- dbVersion = *(_DWORD *)((char *)pResult + 954);
- DBItemList::DBItemList(&ItemListObject, this->mInterface);
- DBItemList::SetCharGuid((int)&ItemListObject, this->m_CharGuid);
- DBItemList::SetDBVersion((int)&ItemListObject, dbVersion);
- DBItemList::SetIsOld((int)&ItemListObject, nIsOldItem > 0);
- if ( !DBItemList::Load(&ItemListObject) )
- return 0;
- DBItemList::ParseResult(&ItemListObject, pResult);
- DBSkillList::DBSkillList(&SkillListObject, this->mInterface);
- DBSkillList::SetCharGuid((int)&SkillListObject, this->m_CharGuid);
- DBSkillList::SetDBVersion((int)&SkillListObject, dbVersion);
- if ( !DBSkillList::Load(&SkillListObject) )
- return 0;
- DBSkillList::ParseResult(&SkillListObject, pResult);
- DBXinFaList::DBXinFaList(&XinFaListObject, this->mInterface);
- DBXinFaList::SetCharGuid((int)&XinFaListObject, this->m_CharGuid);
- DBXinFaList::SetDBVersion((int)&XinFaListObject, dbVersion);
- if ( !DBXinFaList::Load(&XinFaListObject) )
- return 0;
- DBXinFaList::ParseResult(&XinFaListObject, pResult);
- DBAbilityList::DBAbilityList(&AbilityListObject, this->mInterface);
- DBAbilityList::SetCharGuid((int)&AbilityListObject, this->m_CharGuid);
- DBAbilityList::SetDBVersion((int)&AbilityListObject, dbVersion);
- if ( !DBAbilityList::Load(&AbilityListObject) )
- return 0;
- DBAbilityList::ParseResult(&AbilityListObject, pResult);
- DBTaskList::DBTaskList(&TaskListObject, this->mInterface);
- DBTaskList::SetCharGuid((int)&TaskListObject, this->m_CharGuid);
- DBTaskList::SetDBVersion((int)&TaskListObject, dbVersion);
- if ( !DBTaskList::Load(&TaskListObject) )
- return 0;
- DBTaskList::ParseResult(&TaskListObject, pResult);
- DBRelationList::DBRelationList(&RelationListObject, this->mInterface);
- DBRelationList::SetCharGuid((int)&RelationListObject, this->m_CharGuid);
- DBRelationList::SetDBVersion((int)&RelationListObject, dbVersion);
- if ( !DBRelationList::Load(&RelationListObject) )
- return 0;
- DBRelationList::ParseResult(&RelationListObject, pResult);
- DBImpactList::DBImpactList(&ImpactListObject, this->mInterface);
- DBImpactList::SetCharGuid((int)&ImpactListObject, this->m_CharGuid);
- DBImpactList::SetDBVersion((int)&ImpactListObject, dbVersion);
- if ( !DBImpactList::Load(&ImpactListObject) )
- return 0;
- DBImpactList::ParseResult(&ImpactListObject, pResult);
- DBPetList::DBPetList(&PetListObject, this->mInterface);
- DBPetList::SetCharGuid((int)&PetListObject, this->m_CharGuid);
- DBPetList::SetDBVersion((int)&PetListObject, dbVersion);
- if ( !DBPetList::Load(&PetListObject) )
- return 0;
- DBPetList::ParseResult(&PetListObject, pResult);
- DBPrivateInfo::DBPrivateInfo(&PrivateInfoObject, this->mInterface);
- DBPrivateInfo::SetCharGuid((int)&PrivateInfoObject, this->m_CharGuid);
- DBPrivateInfo::SetDBVersion((int)&PrivateInfoObject, dbVersion);
- if ( !DBPrivateInfo::Load(&PrivateInfoObject) )
- return 0;
- DBPrivateInfo::ParseResult(&PrivateInfoObject, pResult);
- DBTitleInfo::DBTitleInfo(&TitleInfoObject, this->mInterface);
- DBTitleInfo::SetCharGuid((int)&TitleInfoObject, this->m_CharGuid);
- DBTitleInfo::SetDBVersion((int)&TitleInfoObject, dbVersion);
- if ( !DBTitleInfo::Load(&TitleInfoObject) )
- return 0;
- DBTitleInfo::ParseResult(&TitleInfoObject, pResult);
- DBCoolDownInfo::DBCoolDownInfo(&CoolDownInfoObject, this->mInterface);
- DBCoolDownInfo::SetCharGuid((int)&CoolDownInfoObject, this->m_CharGuid);
- DBCoolDownInfo::SetDBVersion((int)&CoolDownInfoObject, dbVersion);
- if ( !DBCoolDownInfo::Load(&CoolDownInfoObject) )
- return 0;
- DBCoolDownInfo::ParseResult(&CoolDownInfoObject, pResult);
- DBPvPInfo::DBPvPInfo(&PvPInfoObject, this->mInterface);
- DBPvPInfo::SetCharGuid((int)&PvPInfoObject, this->m_CharGuid);
- DBPvPInfo::SetDBVersion((int)&PvPInfoObject, dbVersion);
- if ( !DBPvPInfo::Load(&PvPInfoObject) )
- return 0;
- DBPvPInfo::ParseResult(&PvPInfoObject, pResult);
- DBFatigueInfo::DBFatigueInfo(&FatigueInfoObject, this->mInterface);
- DBFatigueInfo::SetCharGuid((int)&FatigueInfoObject, this->m_CharGuid);
- DBFatigueInfo::SetDBVersion((int)&FatigueInfoObject, dbVersion);
- if ( !DBFatigueInfo::Load(&FatigueInfoObject) )
- return 0;
- DBFatigueInfo::ParseResult(&FatigueInfoObject, pResult);
- DBCharExtraInfo::DBCharExtraInfo(&ExtraObject, this->mInterface);
- DBCharExtraInfo::SetCharGuid((int)&ExtraObject, this->m_CharGuid);
- DBCharExtraInfo::SetDBVersion((int)&ExtraObject, dbVersion);
- if ( !DBCharExtraInfo::Load(&ExtraObject) )
- return 0;
- DBCharExtraInfo::ParseResult(&ExtraObject, pResult);
- if ( ++i > 0 )
- break;
- }
- }
- v10 = this->mInterface;
- this->m_DebugStep = 305;
- if ( !v10 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharFullData.cpp",
- 0x2B1u,
- "virtual int DBCharFullData::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (0807E164) --------------------------------------------------------
- void __cdecl _tcf_0_98(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807E174) --------------------------------------------------------
- void `global constructor keyed to'DBCharFullData::DBCharFullData()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_98, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807E1A0) --------------------------------------------------------
- INT __cdecl Float2Int<float>(float TValue)
- {
- INT result; // eax
- if ( TValue - (long double)(signed int)TValue >= 0.5 )
- result = (signed int)TValue + 1;
- else
- result = (signed int)TValue;
- return result;
- }
- //----- (0807E1E4) --------------------------------------------------------
- void __cdecl DBCharList::CleanUp(_DWORD *a2)
- {
- a2[3] = 1;
- a2[2] = 0;
- a2[1] = 0;
- a2[19] = 0;
- }
- //----- (0807E208) --------------------------------------------------------
- void __cdecl DBCharList::DBCharList(DBCharList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D37A8;
- DBCharList::CleanUp(this);
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharList.cpp",
- 0x10u,
- "DBCharList::DBCharList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D37A8: using guessed type _DWORD (__cdecl *off_80D37A8)(DBCharList *this);
- //----- (0807E294) --------------------------------------------------------
- void __cdecl DBCharList::DBCharList(DBCharList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D37A8;
- DBCharList::CleanUp(this);
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharList.cpp",
- 0x10u,
- "DBCharList::DBCharList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D37A8: using guessed type _DWORD (__cdecl *off_80D37A8)(DBCharList *this);
- //----- (0807E320) --------------------------------------------------------
- int __cdecl DBCharList::Load(DBCharList *const this)
- {
- DB_QUERY *v1; // eax
- DB_QUERY *v2; // ebx
- int v3; // edx
- BOOL v5; // eax
- v1 = ODBCBase::GetInternalQuery((int)this);
- v2 = v1;
- if ( !v1 )
- __assert__("../../Common/DBSystem/DataBase/DBCharList.cpp", 0x28u, "virtual int DBCharList::Load()", "FALSE");
- memset(v1, 0, 0x1000u);
- v3 = 0;
- if ( this->szAccount[0] )
- {
- v5 = StrSafeCheck(this->szAccount, 0x33u);
- v3 = 0;
- if ( v5 )
- {
- DB_QUERY::Parse(v2, LoadCharList, "t_char", this->szAccount);
- v3 = ODBCBase::Load(&this->0);
- }
- }
- return v3;
- }
- //----- (0807E404) --------------------------------------------------------
- int __cdecl DBCharList::Save(DBCharList *const this)
- {
- return 1;
- }
- //----- (0807E410) --------------------------------------------------------
- int __cdecl DBCharList::ParseResult(DBCharList *const this, void *pResult)
- {
- int result; // eax
- signed int v3; // eax
- _DWORD *v4; // esi
- UINT v5; // eax
- INT v6; // ST30_4
- signed int v7; // esi
- int v8; // [esp+4h] [ebp-154h]
- GUID_t guid; // [esp+8h] [ebp-150h]
- UINT v10; // [esp+Ch] [ebp-14Ch]
- signed int v11; // [esp+14h] [ebp-144h]
- INT NeedPos; // [esp+18h] [ebp-140h]
- INT ErrorCode; // [esp+1Ch] [ebp-13Ch]
- DBCharVisualGem CharVisualGemObject; // [esp+20h] [ebp-138h]
- DBEquipBaseList EquipListObject; // [esp+40h] [ebp-118h]
- DBDeleteCharOp DeleteCharOp; // [esp+60h] [ebp-F8h]
- INT dbVersion[5]; // [esp+C0h] [ebp-98h]
- INT IsOldItem[5]; // [esp+E0h] [ebp-78h]
- INT NeedTime[5]; // [esp+100h] [ebp-58h]
- GUID_t NeedClear[5]; // [esp+120h] [ebp-38h]
- result = 0;
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharList.cpp",
- 0x4Cu,
- "virtual int DBCharList::ParseResult(void*)",
- "pCharBaseInfo");
- if ( this->mResultCount > 5 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharList.cpp",
- 0x61u,
- "virtual int DBCharList::ParseResult(void*)",
- "mResultCount<=DB_CHAR_NUMBER");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharList.cpp",
- 0x62u,
- "virtual int DBCharList::ParseResult(void*)",
- "mInterface");
- v3 = 0;
- do
- {
- NeedClear[v3] = -1;
- NeedTime[v3] = 0;
- IsOldItem[v3] = 0;
- dbVersion[v3++] = 0;
- }
- while ( v3 <= 4 );
- NeedPos = 0;
- v11 = 0;
- v8 = 0;
- v4 = pResult;
- do
- {
- if ( !ODBCInterface::Fetch(this->mInterface) )
- break;
- v5 = ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- *v4 = v5;
- this->m_GuidList[v11] = v5;
- v4[1] = ODBCInterface::GetUInt(this->mInterface, 2, &ErrorCode);
- ODBCInterface::GetString(this->mInterface, 3, (CHAR *)pResult + v8 + 8, 30, &ErrorCode);
- v4[10] = ODBCInterface::GetInt(this->mInterface, 4, &ErrorCode);
- v4[11] = ODBCInterface::GetUInt(this->mInterface, 5, &ErrorCode);
- *((_BYTE *)v4 + 48) = ODBCInterface::GetInt(this->mInterface, 6, &ErrorCode);
- *((_BYTE *)v4 + 49) = ODBCInterface::GetInt(this->mInterface, 7, &ErrorCode);
- *((_BYTE *)v4 + 50) = ODBCInterface::GetInt(this->mInterface, 8, &ErrorCode);
- *((_WORD *)v4 + 26) = ODBCInterface::GetInt(this->mInterface, 9, &ErrorCode);
- v4[14] = ODBCInterface::GetInt(this->mInterface, 10, &ErrorCode);
- v4[15] = ODBCInterface::GetInt(this->mInterface, 11, &ErrorCode);
- v4[16] = ODBCInterface::GetInt(this->mInterface, 12, &ErrorCode) == 0;
- v4[17] = ODBCInterface::GetInt(this->mInterface, 13, &ErrorCode);
- dbVersion[v11] = ODBCInterface::GetInt(this->mInterface, 15, &ErrorCode);
- IsOldItem[v11] = ODBCInterface::GetInt(this->mInterface, 16, &ErrorCode);
- if ( ODBCInterface::GetInt(this->mInterface, 14, &ErrorCode) <= 0 )
- {
- v4[72] = 0;
- }
- else
- {
- v6 = ODBCInterface::GetInt(this->mInterface, 14, &ErrorCode);
- v4[72] = v6 - TimeManager::GetDayTime(g_pTimeManager);
- }
- if ( v4[72] < 0 )
- {
- NeedClear[NeedPos] = *v4;
- NeedTime[NeedPos++] = ODBCInterface::GetInt(this->mInterface, 14, &ErrorCode);
- v4[72] = 0;
- }
- if ( *(_DWORD *)((char *)pResult + v8 + 64) == 1 )
- CharConfig::GetCharChooseScene((DB_CHOOSE_SCENE *)((char *)pResult + v8 + 264), 0);
- ++v11;
- ++this->m_CharNumber;
- v8 += 292;
- v4 += 73;
- }
- while ( v11 <= 4 );
- ODBCInterface::Clear(this->mInterface);
- v7 = 0;
- do
- {
- ODBCInterface::Clear(this->mInterface);
- if ( NeedClear[v7] == -1 )
- break;
- DBDeleteCharOp::DBDeleteCharOp(&DeleteCharOp, this->mInterface);
- DBDeleteCharOp::SetCharGuid((int)&DeleteCharOp, NeedClear[v7]);
- DBDeleteCharOp::SetNeedTime((int)&DeleteCharOp, NeedTime[v7]);
- if ( !DBDeleteCharOp::Load(&DeleteCharOp) )
- return 0;
- DBDeleteCharOp::ParseResult(&DeleteCharOp, pResult);
- ++v7;
- }
- while ( v7 <= 4 );
- ODBCInterface::Clear(this->mInterface);
- v10 = 0;
- if ( this->m_CharNumber )
- {
- guid = 0;
- do
- {
- if ( IsOldItem[v10] <= 0 )
- {
- DBCharVisualGem::DBCharVisualGem(&CharVisualGemObject, this->mInterface);
- DBCharVisualGem::SetCharGuid((int)&CharVisualGemObject, *(_DWORD *)((char *)pResult + guid));
- DBCharVisualGem::SetDBVersion((int)&CharVisualGemObject, dbVersion[v10]);
- if ( !DBCharVisualGem::Load(&CharVisualGemObject) )
- return 0;
- DBCharVisualGem::ParseResult(&CharVisualGemObject, (char *)pResult + guid + 72);
- }
- else
- {
- DBEquipBaseList::DBEquipBaseList(&EquipListObject, this->mInterface);
- DBEquipBaseList::SetCharGuid((int)&EquipListObject, *(_DWORD *)((char *)pResult + guid));
- if ( !DBEquipBaseList::Load(&EquipListObject) )
- return 0;
- DBEquipBaseList::ParseResult(&EquipListObject, (char *)pResult + guid + 72);
- }
- ++v10;
- guid += 292;
- }
- while ( this->m_CharNumber > v10 );
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharList.cpp",
- 0xD3u,
- "virtual int DBCharList::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- result = 1;
- }
- return result;
- }
- //----- (0807E9CC) --------------------------------------------------------
- const CHAR *__cdecl DBCharList::GetAccount(const DBCharList *const this)
- {
- return this->szAccount;
- }
- //----- (0807E9D8) --------------------------------------------------------
- void __cdecl DBCharList::SetAccount(DBCharList *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharList.cpp",
- 0xE2u,
- "void DBCharList::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->szAccount, pAccount, 0x32u);
- this->szAccount[50] = 0;
- }
- //----- (0807EA20) --------------------------------------------------------
- UINT __cdecl DBCharList::GetCharNumber(int a2)
- {
- return *(_DWORD *)(a2 + 76);
- }
- //----- (0807EA2C) --------------------------------------------------------
- GUID_t __cdecl DBCharList::GetGuid(DBCharList *const this, UINT Index)
- {
- if ( this->m_CharNumber <= Index )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharList.cpp",
- 0xEFu,
- "GUID_t DBCharList::GetGuid(UINT)",
- "Index<m_CharNumber");
- return this->m_GuidList[Index];
- }
- //----- (0807EA70) --------------------------------------------------------
- void __cdecl _tcf_0_99(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807EA80) --------------------------------------------------------
- void `global constructor keyed to'DBCharList::DBCharList()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_99, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807EAAC) --------------------------------------------------------
- void __cdecl DBCharVisualGem::DBCharVisualGem(DBCharVisualGem *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D3958;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharVisualGem.cpp",
- 0xEu,
- "DBCharVisualGem::DBCharVisualGem(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D3958: using guessed type _DWORD (__cdecl *off_80D3958)(DBCharVisualGem *this);
- //----- (0807EB18) --------------------------------------------------------
- void __cdecl DBCharVisualGem::DBCharVisualGem(DBCharVisualGem *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D3958;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharVisualGem.cpp",
- 0xEu,
- "DBCharVisualGem::DBCharVisualGem(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D3958: using guessed type _DWORD (__cdecl *off_80D3958)(DBCharVisualGem *this);
- //----- (0807EB84) --------------------------------------------------------
- #error "807EC0C: positive sp value has been found (funcsize=41)"
- //----- (0807EC44) --------------------------------------------------------
- int __cdecl DBCharVisualGem::Save(DBCharVisualGem *const this, void *pSource)
- {
- signed int v2; // eax
- signed int v3; // edi
- unsigned int v4; // esi
- _ITEM *v5; // edx
- DB_QUERY *v6; // eax
- DB_QUERY *v7; // ebx
- char *v9; // [esp+0h] [ebp-8E8h]
- char *v10; // [esp+4h] [ebp-8E4h]
- char *v11; // [esp+8h] [ebp-8E0h]
- DB_CHAR_EQUIP_LIST eqlist; // [esp+10h] [ebp-8D8h]
- CHAR VisualGemInfo[2048]; // [esp+D0h] [ebp-818h]
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharVisualGem.cpp",
- 0x32u,
- "virtual int DBCharVisualGem::Save(void*)",
- "pCharFullData");
- memset(VisualGemInfo, 0, 0x800u);
- v2 = 0;
- do
- {
- eqlist.m_Equip[v2] = 0;
- eqlist.m_EquipVisual[v2] = 0;
- eqlist.m_EquipGemID[v2++] = -1;
- }
- while ( v2 <= 18 );
- v3 = 0;
- v11 = (char *)pSource + 17600;
- v10 = (char *)pSource + 17600;
- v9 = (char *)pSource + 17600;
- do
- {
- v4 = v3 + 100;
- if ( (unsigned int)(v3 + 100) > 0xB2 )
- __assert__("../../Common/DB_Struct.h", 0x539u, "_ITEM* FULLUSERDATA::GetItem(UINT)", "uDBPos<=DB_BANK_POS_END");
- if ( v4 <= 0x76 )
- {
- if ( v4 <= 0x63 )
- {
- v5 = 0;
- if ( (v4 & 0x80000000) == 0 )
- v5 = (_ITEM *)(v11 + 12290);
- }
- else
- {
- v5 = (_ITEM *)(v10 + 12310);
- }
- }
- else
- {
- v5 = (_ITEM *)(v9 - 19223);
- }
- if ( v5->m_ItemGUID.m_World || v5->m_ItemGUID.m_Serial || v5->m_ItemGUID.m_Server )
- {
- eqlist.m_Equip[v3] = v5->m_ItemIndex;
- eqlist.m_EquipVisual[v3] = v5->_anon_1.m_Equip.m_Visual;
- eqlist.m_EquipGemID[v3] = _ITEM::GetEquipmentMaxLevelGemID(v5);
- }
- ++v3;
- v9 += 176;
- v10 += 176;
- v11 += 176;
- }
- while ( v3 <= 18 );
- Binary2String((const CHAR *)&eqlist, 0xC0u, VisualGemInfo);
- v6 = ODBCBase::GetInternalQuery((int)this);
- v7 = v6;
- if ( !v6 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharVisualGem.cpp",
- 0x4Eu,
- "virtual int DBCharVisualGem::Save(void*)",
- "FALSE");
- memset(v6, 0, 0x1000u);
- DB_QUERY::Parse(v7, UpdateCharVisualGem, "t_char", VisualGemInfo, this->m_CharGuid, this->m_DBVersion);
- return ODBCBase::Save(&this->0, pSource) != 0;
- }
- //----- (0807EE9C) --------------------------------------------------------
- int __cdecl DBCharVisualGem::Delete(DBCharVisualGem *const this)
- {
- return 1;
- }
- //----- (0807EEA8) --------------------------------------------------------
- int __cdecl DBCharVisualGem::ParseResult(DBCharVisualGem *const this, void *pResult)
- {
- INT ErrorCode; // [esp+8h] [ebp-10h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharVisualGem.cpp",
- 0x7Au,
- "virtual int DBCharVisualGem::ParseResult(void*)",
- "pCharEquipList");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharVisualGem.cpp",
- 0x82u,
- "virtual int DBCharVisualGem::ParseResult(void*)",
- "mInterface");
- if ( ODBCInterface::Fetch(this->mInterface) )
- {
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- ODBCInterface::GetField(this->mInterface, 2, (CHAR *)pResult, 192, &ErrorCode);
- }
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCharVisualGem.cpp",
- 0xA1u,
- "virtual int DBCharVisualGem::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (0807EFDC) --------------------------------------------------------
- GUID_t __cdecl DBCharVisualGem::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (0807EFE8) --------------------------------------------------------
- void __cdecl DBCharVisualGem::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (0807EFF8) --------------------------------------------------------
- UINT __cdecl DBCharVisualGem::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (0807F004) --------------------------------------------------------
- void __cdecl DBCharVisualGem::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (0807F014) --------------------------------------------------------
- void __cdecl _tcf_0_100(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807F024) --------------------------------------------------------
- void `global constructor keyed to'DBCharVisualGem::DBCharVisualGem()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_100, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807F050) --------------------------------------------------------
- void __cdecl DBCheckCharName::DBCheckCharName(DBCheckCharName *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D3B78;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharName[0] = 0;
- this->m_nResult = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCheckCharName.cpp",
- 0x12u,
- "DBCheckCharName::DBCheckCharName(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D3B78: using guessed type _DWORD (__cdecl *off_80D3B78)(DBCheckCharName *this);
- //----- (0807F0F8) --------------------------------------------------------
- void __cdecl DBCheckCharName::DBCheckCharName(DBCheckCharName *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D3B78;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharName[0] = 0;
- this->m_nResult = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCheckCharName.cpp",
- 0x12u,
- "DBCheckCharName::DBCheckCharName(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D3B78: using guessed type _DWORD (__cdecl *off_80D3B78)(DBCheckCharName *this);
- //----- (0807F1A0) --------------------------------------------------------
- int __cdecl DBCheckCharName::Load(DBCheckCharName *const this)
- {
- DB_QUERY *v1; // eax
- DB_QUERY *v2; // ebx
- int result; // eax
- v1 = ODBCBase::GetInternalQuery((int)this);
- v2 = v1;
- if ( !v1 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCheckCharName.cpp",
- 0x1Fu,
- "virtual int DBCheckCharName::Load()",
- "FALSE");
- memset(v1, 0, 0x1000u);
- result = 0;
- if ( this->m_CharName[0] )
- {
- DB_QUERY::Parse(v2, CheckCharName, this->m_CharName, 0);
- result = ODBCBase::Load(&this->0);
- }
- return result;
- }
- //----- (0807F260) --------------------------------------------------------
- #error "807F33C: positive sp value has been found (funcsize=67)"
- //----- (0807F3A4) --------------------------------------------------------
- void __cdecl DBCheckCharName::SetCharName(const CHAR *pName, const char *pNamea)
- {
- strncpy((char *)pName + 24, pNamea, 0x1Eu);
- *((_BYTE *)pName + 53) = 0;
- }
- //----- (0807F3C8) --------------------------------------------------------
- const CHAR *__cdecl DBCheckCharName::GetCharName(DBCheckCharName *const this)
- {
- return this->m_CharName;
- }
- //----- (0807F3D4) --------------------------------------------------------
- INT __cdecl DBCheckCharName::GetCheckResult(int a2)
- {
- return *(_DWORD *)(a2 + 56);
- }
- //----- (0807F3E0) --------------------------------------------------------
- void __cdecl _tcf_0_101(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807F3F0) --------------------------------------------------------
- void `global constructor keyed to'DBCheckCharName::DBCheckCharName()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_101, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807F41C) --------------------------------------------------------
- void __cdecl DBClearDupItemList::DBClearDupItemList(DBClearDupItemList *const this, ODBCInterface *pInterface)
- {
- signed int v2; // ebx
- DupItemList *v3; // ecx
- DupItemUnit *v4; // eax
- signed int v5; // edx
- DupItemList *v6; // eax
- signed int v7; // edx
- signed int v8; // ebx
- DBClearDupItemList *v9; // ecx
- DupItemList *v10; // eax
- signed int v11; // edx
- v2 = 178;
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))off_80D3CB0;
- v3 = this->m_DupList;
- do
- {
- v3->m_itemGUID.m_Serial = 0;
- v3->m_itemGUID.m_Server = 0;
- v3->m_itemGUID.m_World = 0;
- v4 = v3->m_DupUnit;
- v5 = 199;
- do
- {
- --v5;
- v4->m_CharGUID = -1;
- v4->m_itemPos = -1;
- v4->m_itemType = -1;
- v4->m_itemdbVersion = -1;
- ++v4;
- }
- while ( v5 != -1 );
- v3->m_itemGUID.m_Serial = 0;
- v3->m_itemGUID.m_Server = 0;
- v3->m_itemGUID.m_World = 0;
- v6 = v3;
- v7 = 199;
- do
- {
- v6->m_DupUnit[0].m_CharGUID = -1;
- v6->m_DupUnit[0].m_itemPos = -1;
- v6->m_DupUnit[0].m_itemType = -1;
- v6->m_DupUnit[0].m_itemdbVersion = -1;
- v6 = (DupItemList *)((char *)v6 + 16);
- --v7;
- }
- while ( v7 >= 0 );
- --v2;
- v3->m_DupCount = 0;
- ++v3;
- }
- while ( v2 != -1 );
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBClearDupItemList.cpp",
- 0xFu,
- "DBClearDupItemList::DBClearDupItemList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- v8 = 0;
- v9 = this;
- do
- {
- v9->m_DupList[0].m_itemGUID.m_Serial = 0;
- v9->m_DupList[0].m_itemGUID.m_Server = 0;
- v9->m_DupList[0].m_itemGUID.m_World = 0;
- v10 = v9->m_DupList;
- v11 = 199;
- do
- {
- v10->m_DupUnit[0].m_CharGUID = -1;
- v10->m_DupUnit[0].m_itemPos = -1;
- v10->m_DupUnit[0].m_itemType = -1;
- v10->m_DupUnit[0].m_itemdbVersion = -1;
- v10 = (DupItemList *)((char *)v10 + 16);
- --v11;
- }
- while ( v11 >= 0 );
- ++v8;
- v9->m_DupList[0].m_DupCount = 0;
- v9 = (DBClearDupItemList *)((char *)v9 + 3212);
- }
- while ( v8 <= 178 );
- }
- // 80D3CB0: using guessed type _DWORD (__cdecl *off_80D3CB0[3])(ODBCBase *this);
- //----- (0807F574) --------------------------------------------------------
- void __cdecl DBClearDupItemList::DBClearDupItemList(DBClearDupItemList *const this, ODBCInterface *pInterface)
- {
- signed int v2; // ebx
- DupItemList *v3; // ecx
- DupItemUnit *v4; // eax
- signed int v5; // edx
- DupItemList *v6; // eax
- signed int v7; // edx
- signed int v8; // ebx
- DBClearDupItemList *v9; // ecx
- DupItemList *v10; // eax
- signed int v11; // edx
- v2 = 178;
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))off_80D3CB0;
- v3 = this->m_DupList;
- do
- {
- v3->m_itemGUID.m_Serial = 0;
- v3->m_itemGUID.m_Server = 0;
- v3->m_itemGUID.m_World = 0;
- v4 = v3->m_DupUnit;
- v5 = 199;
- do
- {
- --v5;
- v4->m_CharGUID = -1;
- v4->m_itemPos = -1;
- v4->m_itemType = -1;
- v4->m_itemdbVersion = -1;
- ++v4;
- }
- while ( v5 != -1 );
- v3->m_itemGUID.m_Serial = 0;
- v3->m_itemGUID.m_Server = 0;
- v3->m_itemGUID.m_World = 0;
- v6 = v3;
- v7 = 199;
- do
- {
- v6->m_DupUnit[0].m_CharGUID = -1;
- v6->m_DupUnit[0].m_itemPos = -1;
- v6->m_DupUnit[0].m_itemType = -1;
- v6->m_DupUnit[0].m_itemdbVersion = -1;
- v6 = (DupItemList *)((char *)v6 + 16);
- --v7;
- }
- while ( v7 >= 0 );
- --v2;
- v3->m_DupCount = 0;
- ++v3;
- }
- while ( v2 != -1 );
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBClearDupItemList.cpp",
- 0xFu,
- "DBClearDupItemList::DBClearDupItemList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- v8 = 0;
- v9 = this;
- do
- {
- v9->m_DupList[0].m_itemGUID.m_Serial = 0;
- v9->m_DupList[0].m_itemGUID.m_Server = 0;
- v9->m_DupList[0].m_itemGUID.m_World = 0;
- v10 = v9->m_DupList;
- v11 = 199;
- do
- {
- v10->m_DupUnit[0].m_CharGUID = -1;
- v10->m_DupUnit[0].m_itemPos = -1;
- v10->m_DupUnit[0].m_itemType = -1;
- v10->m_DupUnit[0].m_itemdbVersion = -1;
- v10 = (DupItemList *)((char *)v10 + 16);
- --v11;
- }
- while ( v11 >= 0 );
- ++v8;
- v9->m_DupList[0].m_DupCount = 0;
- v9 = (DBClearDupItemList *)((char *)v9 + 3212);
- }
- while ( v8 <= 178 );
- }
- // 80D3CB0: using guessed type _DWORD (__cdecl *off_80D3CB0[3])(ODBCBase *this);
- //----- (0807F6CC) --------------------------------------------------------
- int __cdecl DBClearDupItemList::Save(DBClearDupItemList *const this, void *pSource)
- {
- DB_QUERY *v2; // edi
- int result; // eax
- unsigned __int8 *v4; // ebx
- int v5; // ST24_4
- signed int v6; // ebx
- char *v7; // [esp+14h] [ebp-40h]
- char *v8; // [esp+18h] [ebp-3Ch]
- char *v9; // [esp+1Ch] [ebp-38h]
- DBClearDupItemList *v10; // [esp+20h] [ebp-34h]
- unsigned int ItemPos; // [esp+24h] [ebp-30h]
- INT ErrorCode; // [esp+28h] [ebp-2Ch]
- DupItemUnit dUnit; // [esp+2Ch] [ebp-28h]
- v2 = ODBCBase::GetInternalQuery((int)this);
- if ( !v2 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBClearDupItemList.cpp",
- 0x1Du,
- "virtual int DBClearDupItemList::Save(void*)",
- "FALSE");
- result = 0;
- if ( this->m_CharGuid != -1 )
- {
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBClearDupItemList.cpp",
- 0x2Eu,
- "virtual int DBClearDupItemList::Save(void*)",
- "pCharFullData");
- ItemPos = 0;
- v10 = this;
- v9 = (char *)pSource;
- v8 = (char *)pSource;
- v7 = (char *)pSource;
- while ( 1 )
- {
- if ( ItemPos > 0xB2 )
- __assert__("../../Common/DB_Struct.h", 0x539u, "_ITEM* FULLUSERDATA::GetItem(UINT)", "uDBPos<=DB_BANK_POS_END");
- if ( ItemPos > 0x76 )
- {
- v4 = (unsigned __int8 *)(v7 - 19223);
- }
- else if ( ItemPos <= 0x63 )
- {
- v4 = 0;
- if ( (ItemPos & 0x80000000) == 0 )
- v4 = (unsigned __int8 *)(v9 + 12290);
- }
- else
- {
- v4 = (unsigned __int8 *)(v8 + 12310);
- }
- if ( *v4 || *((_DWORD *)v4 + 1) || v4[1] )
- {
- memset(v2, 0, 0x1000u);
- ODBCInterface::Clear(this->mInterface);
- v5 = v4[1];
- DB_QUERY::Parse(v2, LoadDupItemList, "t_iteminfo", *((_DWORD *)v4 + 1), *v4);
- if ( !ODBCBase::Load(&this->0) )
- return 0;
- v10->m_DupList[0].m_itemGUID.m_Serial = *((_DWORD *)v4 + 1);
- v10->m_DupList[0].m_itemGUID.m_Server = v4[1];
- v10->m_DupList[0].m_itemGUID.m_World = *v4;
- v6 = 0;
- do
- {
- if ( !ODBCInterface::Fetch(this->mInterface) )
- break;
- dUnit.m_CharGUID = -1;
- dUnit.m_itemPos = -1;
- dUnit.m_itemType = -1;
- dUnit.m_itemdbVersion = -1;
- dUnit.m_CharGUID = ODBCInterface::GetInt(this->mInterface, 1, &ErrorCode);
- dUnit.m_itemPos = ODBCInterface::GetInt(this->mInterface, 2, &ErrorCode);
- dUnit.m_itemType = ODBCInterface::GetInt(this->mInterface, 3, &ErrorCode);
- ++v6;
- dUnit.m_itemdbVersion = ODBCInterface::GetInt(this->mInterface, 4, &ErrorCode);
- }
- while ( v6 <= 199 );
- }
- ++ItemPos;
- v7 += 176;
- v8 += 176;
- v9 += 176;
- v10 = (DBClearDupItemList *)((char *)v10 + 3212);
- if ( (signed int)ItemPos > 178 )
- return ODBCBase::Save(&this->0, pSource);
- }
- }
- return result;
- }
- //----- (0807F954) --------------------------------------------------------
- int __cdecl DBClearDupItemList::ParseResult(DBClearDupItemList *const this, void *pResult)
- {
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBClearDupItemList.cpp",
- 0x63u,
- "virtual int DBClearDupItemList::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (0807F9DC) --------------------------------------------------------
- GUID_t __cdecl DBClearDupItemList::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (0807F9E8) --------------------------------------------------------
- void __cdecl DBClearDupItemList::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (0807F9F8) --------------------------------------------------------
- UINT __cdecl DBClearDupItemList::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (0807FA04) --------------------------------------------------------
- void __cdecl DBClearDupItemList::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (0807FA14) --------------------------------------------------------
- void __cdecl _tcf_0_102(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807FA24) --------------------------------------------------------
- void `global constructor keyed to'DBClearDupItemList::DBClearDupItemList()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_102, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807FA50) --------------------------------------------------------
- void __cdecl DBCoolDownInfo::DBCoolDownInfo(DBCoolDownInfo *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D3E40;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCoolDownInfo.cpp",
- 0xEu,
- "DBCoolDownInfo::DBCoolDownInfo(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D3E40: using guessed type _DWORD (__cdecl *off_80D3E40)(DBCoolDownInfo *this);
- //----- (0807FABC) --------------------------------------------------------
- void __cdecl DBCoolDownInfo::DBCoolDownInfo(DBCoolDownInfo *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D3E40;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCoolDownInfo.cpp",
- 0xEu,
- "DBCoolDownInfo::DBCoolDownInfo(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D3E40: using guessed type _DWORD (__cdecl *off_80D3E40)(DBCoolDownInfo *this);
- //----- (0807FB28) --------------------------------------------------------
- #error "807FBB0: positive sp value has been found (funcsize=41)"
- //----- (0807FBE8) --------------------------------------------------------
- int __cdecl DBCoolDownInfo::Save(DBCoolDownInfo *const this, void *pSource)
- {
- DB_QUERY *v2; // eax
- DB_QUERY *v3; // esi
- CHAR CoolDownInfo[2048]; // [esp+10h] [ebp-818h]
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCoolDownInfo.cpp",
- 0x39u,
- "virtual int DBCoolDownInfo::Save(void*)",
- "pCharFullData");
- memset(CoolDownInfo, 0, 0x800u);
- Binary2String((const CHAR *)pSource + 33513, 0x180u, CoolDownInfo);
- v2 = ODBCBase::GetInternalQuery((int)this);
- v3 = v2;
- if ( !v2 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCoolDownInfo.cpp",
- 0x48u,
- "virtual int DBCoolDownInfo::Save(void*)",
- "FALSE");
- memset(v2, 0, 0x1000u);
- DB_QUERY::Parse(v3, UpdateCharCoolDownInfo, "t_char", CoolDownInfo, this->m_CharGuid, this->m_DBVersion);
- return ODBCBase::Save(&this->0, pSource) != 0;
- }
- //----- (0807FD18) --------------------------------------------------------
- int __cdecl DBCoolDownInfo::Delete(DBCoolDownInfo *const this)
- {
- return 1;
- }
- //----- (0807FD24) --------------------------------------------------------
- int __cdecl DBCoolDownInfo::ParseResult(DBCoolDownInfo *const this, void *pResult)
- {
- INT ErrorCode; // [esp+8h] [ebp-10h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCoolDownInfo.cpp",
- 0x74u,
- "virtual int DBCoolDownInfo::ParseResult(void*)",
- "pCharFullData");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCoolDownInfo.cpp",
- 0x7Eu,
- "virtual int DBCoolDownInfo::ParseResult(void*)",
- "mInterface");
- if ( ODBCInterface::Fetch(this->mInterface) )
- {
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- ODBCInterface::GetField(this->mInterface, 2, (CHAR *)pResult + 33513, 384, &ErrorCode);
- }
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCoolDownInfo.cpp",
- 0x98u,
- "virtual int DBCoolDownInfo::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (0807FE5C) --------------------------------------------------------
- GUID_t __cdecl DBCoolDownInfo::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (0807FE68) --------------------------------------------------------
- void __cdecl DBCoolDownInfo::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (0807FE78) --------------------------------------------------------
- UINT __cdecl DBCoolDownInfo::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (0807FE84) --------------------------------------------------------
- void __cdecl DBCoolDownInfo::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (0807FE94) --------------------------------------------------------
- void __cdecl _tcf_0_103(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0807FEA4) --------------------------------------------------------
- void `global constructor keyed to'DBCoolDownInfo::DBCoolDownInfo()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_103, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0807FED0) --------------------------------------------------------
- void __cdecl DBCrcInfo::DBCrcInfo(DBCrcInfo *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D3FF0;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCrcInfo.cpp",
- 0xCu,
- "DBCrcInfo::DBCrcInfo(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- this->m_aid = -1;
- this->m_CharGuid = -1;
- this->m_Crc32 = 0;
- this->m_ServerId = -1;
- this->m_Change = 0;
- }
- // 80D3FF0: using guessed type _DWORD (__cdecl *off_80D3FF0)(DBCrcInfo *this);
- //----- (0807FF50) --------------------------------------------------------
- void __cdecl DBCrcInfo::DBCrcInfo(DBCrcInfo *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D3FF0;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCrcInfo.cpp",
- 0xCu,
- "DBCrcInfo::DBCrcInfo(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- this->m_aid = -1;
- this->m_CharGuid = -1;
- this->m_Crc32 = 0;
- this->m_ServerId = -1;
- this->m_Change = 0;
- }
- // 80D3FF0: using guessed type _DWORD (__cdecl *off_80D3FF0)(DBCrcInfo *this);
- //----- (0807FFD0) --------------------------------------------------------
- #error "8080054: positive sp value has been found (funcsize=39)"
- //----- (0808008C) --------------------------------------------------------
- int __cdecl DBCrcInfo::Save(DBCrcInfo *const this, void *pSource)
- {
- LONG_DB_QUERY *v2; // eax
- LONG_DB_QUERY *v3; // edi
- int result; // eax
- UINT nLogoutTime; // [esp+8h] [ebp-19020h]
- CHAR FullDataInfo[102400]; // [esp+10h] [ebp-19018h]
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCrcInfo.cpp",
- 0x33u,
- "virtual int DBCrcInfo::Save(void*)",
- "pCharFullData");
- memset(FullDataInfo, 0, 0x19000u);
- Binary2String((const CHAR *)pSource, 0xC619u, FullDataInfo);
- nLogoutTime = *(_DWORD *)((char *)pSource + 934);
- v2 = ODBCBase::GetLongInterQuery((int)this);
- v3 = v2;
- if ( !v2 )
- __assert__("../../Common/DBSystem/DataBase/DBCrcInfo.cpp", 0x46u, "virtual int DBCrcInfo::Save(void*)", "FALSE");
- memset(v2, 0, 0x32000u);
- result = 0;
- if ( this->m_CharGuid != -1 )
- {
- LONG_DB_QUERY::Parse(
- v3,
- SaveCrcInfo,
- "t_crc32",
- this->m_CharGuid,
- nLogoutTime,
- this->m_Crc32,
- FullDataInfo,
- 1,
- this->m_ServerId);
- result = ODBCBase::LongSave(&this->0, pSource) != 0;
- }
- return result;
- }
- //----- (080801DC) --------------------------------------------------------
- #error "808026B: positive sp value has been found (funcsize=42)"
- //----- (080802B0) --------------------------------------------------------
- int __cdecl DBCrcInfo::ParseResult(DBCrcInfo *const this, void *pResult)
- {
- INT ErrorCode; // [esp+8h] [ebp-10h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCrcInfo.cpp",
- 0x8Fu,
- "virtual int DBCrcInfo::ParseResult(void*)",
- "pCharFullData");
- if ( this->mResultCount < 0 )
- return 0;
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCrcInfo.cpp",
- 0x9Fu,
- "virtual int DBCrcInfo::ParseResult(void*)",
- "mInterface");
- if ( !ODBCInterface::Fetch(this->mInterface) )
- return 0;
- this->m_CharGuid = ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- this->m_Crc32 = ODBCInterface::GetUInt(this->mInterface, 3, &ErrorCode);
- ODBCInterface::GetLongField(this->mInterface, 4, (CHAR *)pResult, 50713, &ErrorCode);
- this->m_ServerId = ODBCInterface::GetInt(this->mInterface, 6, &ErrorCode);
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCrcInfo.cpp",
- 0xBEu,
- "virtual int DBCrcInfo::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (08080420) --------------------------------------------------------
- UINT __cdecl DBCrcInfo::GetAid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (0808042C) --------------------------------------------------------
- void __cdecl DBCrcInfo::SetAid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (0808043C) --------------------------------------------------------
- GUID_t __cdecl DBCrcInfo::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (08080448) --------------------------------------------------------
- void __cdecl DBCrcInfo::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (08080458) --------------------------------------------------------
- UINT __cdecl DBCrcInfo::GetCrc32(int a2)
- {
- return *(_DWORD *)(a2 + 32);
- }
- //----- (08080464) --------------------------------------------------------
- void __cdecl DBCrcInfo::SetCrc32(int a3, int a4)
- {
- *(_DWORD *)(a3 + 32) = a4;
- }
- //----- (08080474) --------------------------------------------------------
- INT __cdecl DBCrcInfo::GetServerId(int a2)
- {
- return *(_DWORD *)(a2 + 36);
- }
- //----- (08080480) --------------------------------------------------------
- void __cdecl DBCrcInfo::SetServerId(int a3, int a4)
- {
- *(_DWORD *)(a3 + 36) = a4;
- }
- //----- (08080490) --------------------------------------------------------
- void __cdecl DBCrcInfo::SetChange(int a3, int a4)
- {
- *(_DWORD *)(a3 + 40) = a4;
- }
- //----- (080804A0) --------------------------------------------------------
- void __cdecl _tcf_0_104(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080804B0) --------------------------------------------------------
- void `global constructor keyed to'DBCrcInfo::DBCrcInfo()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_104, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080804DC) --------------------------------------------------------
- void __cdecl DBCreateCharOp::DBCreateCharOp(DBCreateCharOp *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))off_80D4150;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_Account[0] = 0;
- this->m_AID = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCreateCharOp.cpp",
- 0x12u,
- "DBCreateCharOp::DBCreateCharOp(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D4150: using guessed type _DWORD (__cdecl *off_80D4150[2])(DBCreateCharOp *this);
- //----- (08080584) --------------------------------------------------------
- void __cdecl DBCreateCharOp::DBCreateCharOp(DBCreateCharOp *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))off_80D4150;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_Account[0] = 0;
- this->m_AID = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCreateCharOp.cpp",
- 0x12u,
- "DBCreateCharOp::DBCreateCharOp(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D4150: using guessed type _DWORD (__cdecl *off_80D4150[2])(DBCreateCharOp *this);
- //----- (0808062C) --------------------------------------------------------
- int __cdecl DBCreateCharOp::Load(DBCreateCharOp *const this)
- {
- return 1;
- }
- //----- (08080638) --------------------------------------------------------
- int __cdecl DBCreateCharOp::AddNew(DBCreateCharOp *const this)
- {
- DB_QUERY *v1; // eax
- DB_QUERY *v2; // ebx
- int v3; // edx
- int v5; // eax
- int v6; // eax
- DB_QUERY *v7; // eax
- DB_QUERY *v8; // ebx
- BOOL v9; // eax
- BOOL v10; // eax
- INT v11; // STE8_4
- int v12; // STA8_4
- int v13; // ST80_4
- int v14; // ST7C_4
- int v15; // ST78_4
- int v16; // ST74_4
- UINT v17; // eax
- INT ErrorCode; // [esp+14h] [ebp-10h]
- v1 = ODBCBase::GetInternalQuery((int)this);
- v2 = v1;
- if ( !v1 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCreateCharOp.cpp",
- 0x32u,
- "virtual int DBCreateCharOp::AddNew()",
- "FALSE");
- memset(v1, 0, 0x1000u);
- v3 = 0;
- if ( this->m_Account[0] )
- {
- DB_QUERY::Parse(v2, FetchNewGuid);
- v5 = ODBCBase::Load(&this->0);
- v3 = 0;
- if ( v5 )
- {
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCreateCharOp.cpp",
- 0x41u,
- "virtual int DBCreateCharOp::AddNew()",
- "mInterface");
- v6 = ODBCInterface::Fetch(this->mInterface);
- v3 = 0;
- if ( v6 )
- {
- this->m_CharGuid = ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- ODBCInterface::Clear(this->mInterface);
- v7 = ODBCBase::GetInternalQuery((int)this);
- v8 = v7;
- if ( !v7 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCreateCharOp.cpp",
- 0x5Cu,
- "virtual int DBCreateCharOp::AddNew()",
- "FALSE");
- memset(v7, 0, 0x1000u);
- v3 = 0;
- if ( this->m_Account[0] )
- {
- v9 = StrSafeCheck(this->m_Account, 0x33u);
- v3 = 0;
- if ( v9 )
- {
- v10 = StrSafeCheck(this->m_CharName, 0x1Eu);
- v3 = 0;
- if ( v10 )
- {
- v11 = this->m_DefEquip;
- v12 = this->m_HeadID;
- v13 = this->m_FaceModel;
- v14 = this->m_FaceColor;
- v15 = this->m_HairModel;
- v16 = this->m_HairColor;
- v17 = TimeManager::CurrentDate(g_pTimeManager);
- DB_QUERY::Parse(
- v8,
- CreateNewChar,
- "t_char",
- this->m_Account,
- this->m_CharGuid,
- this->m_CharName,
- "",
- "",
- this->m_Sex,
- 1,
- 0,
- 0,
- 0,
- 100,
- 100,
- 9,
- 5000,
- 5000,
- 0,
- 5,
- 5,
- 5,
- 5,
- 5,
- 0,
- 0,
- 0,
- v17,
- 0,
- v16,
- v15,
- v14,
- v13,
- 0,
- "",
- 1,
- 0,
- "",
- "",
- "",
- -1,
- -1,
- v12,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- "",
- 0,
- 0,
- 0,
- "",
- 0,
- 0,
- 20);
- v3 = ODBCBase::AddNew(&this->0);
- }
- }
- }
- }
- }
- }
- return v3;
- }
- //----- (080808BC) --------------------------------------------------------
- int __cdecl DBCreateCharOp::ParseResult(DBCreateCharOp *const this, void *pResult)
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCreateCharOp.cpp",
- 0xB6u,
- "virtual int DBCreateCharOp::ParseResult(void*)",
- "pAskResult");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCreateCharOp.cpp",
- 0xB8u,
- "virtual int DBCreateCharOp::ParseResult(void*)",
- "mInterface");
- if ( ODBCBase::GetInternalAffectCount((int)this) <= 0 )
- *(_DWORD *)pResult = 6;
- else
- *(_DWORD *)pResult = 0;
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (0808096C) --------------------------------------------------------
- const CHAR *__cdecl DBCreateCharOp::GetAccount(const DBCreateCharOp *const this)
- {
- return this->m_Account;
- }
- //----- (08080978) --------------------------------------------------------
- void __cdecl DBCreateCharOp::SetAccount(DBCreateCharOp *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/DBSystem/DataBase/DBCreateCharOp.cpp",
- 0xD4u,
- "void DBCreateCharOp::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->m_Account, pAccount, 0x32u);
- this->m_Account[50] = 0;
- }
- //----- (080809C0) --------------------------------------------------------
- GUID_t __cdecl DBCreateCharOp::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 80);
- }
- //----- (080809CC) --------------------------------------------------------
- void __cdecl DBCreateCharOp::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 80) = a4;
- }
- //----- (080809DC) --------------------------------------------------------
- void __cdecl DBCreateCharOp::SetCharName(const CHAR *pName, const char *pNamea)
- {
- strncpy((char *)pName + 84, pNamea, 0x1Eu);
- *((_BYTE *)pName + 113) = 0;
- }
- //----- (08080A00) --------------------------------------------------------
- const CHAR *__cdecl DBCreateCharOp::GetCharName(DBCreateCharOp *const this)
- {
- return this->m_CharName;
- }
- //----- (08080A0C) --------------------------------------------------------
- void __cdecl DBCreateCharOp::SetSex(int a3, int a4)
- {
- *(_DWORD *)(a3 + 116) = a4;
- }
- //----- (08080A1C) --------------------------------------------------------
- int __cdecl DBCreateCharOp::GetSex(int a2)
- {
- return *(_DWORD *)(a2 + 116);
- }
- //----- (08080A28) --------------------------------------------------------
- void __cdecl DBCreateCharOp::SetHairColor(int Color, char Colora)
- {
- *(_BYTE *)(Color + 120) = Colora;
- }
- //----- (08080A38) --------------------------------------------------------
- int __cdecl DBCreateCharOp::GetHairColor(int a2)
- {
- return *(unsigned __int8 *)(a2 + 120);
- }
- //----- (08080A44) --------------------------------------------------------
- void __cdecl DBCreateCharOp::SetFaceColor(int Color, char Colora)
- {
- *(_BYTE *)(Color + 121) = Colora;
- }
- //----- (08080A54) --------------------------------------------------------
- int __cdecl DBCreateCharOp::GetFaceColor(int a2)
- {
- return *(unsigned __int8 *)(a2 + 121);
- }
- //----- (08080A60) --------------------------------------------------------
- void __cdecl DBCreateCharOp::SetHairModel(int Model, char Modela)
- {
- *(_BYTE *)(Model + 122) = Modela;
- }
- //----- (08080A70) --------------------------------------------------------
- int __cdecl DBCreateCharOp::GetHairModel(int a2)
- {
- return *(unsigned __int8 *)(a2 + 122);
- }
- //----- (08080A7C) --------------------------------------------------------
- void __cdecl DBCreateCharOp::SetFaceModel(int Model, char Modela)
- {
- *(_BYTE *)(Model + 123) = Modela;
- }
- //----- (08080A8C) --------------------------------------------------------
- int __cdecl DBCreateCharOp::GetFaceModel(int a2)
- {
- return *(unsigned __int8 *)(a2 + 123);
- }
- //----- (08080A98) --------------------------------------------------------
- void __cdecl DBCreateCharOp::SetHeadID(int Head, char Heada)
- {
- *(_BYTE *)(Head + 128) = Heada;
- }
- //----- (08080AAC) --------------------------------------------------------
- int __cdecl DBCreateCharOp::GetHeadID(int a2)
- {
- return *(unsigned __int8 *)(a2 + 128);
- }
- //----- (08080ABC) --------------------------------------------------------
- void __cdecl DBCreateCharOp::SetDefEquip(int a3, int a4)
- {
- *(_DWORD *)(a3 + 124) = a4;
- }
- //----- (08080ACC) --------------------------------------------------------
- INT __cdecl DBCreateCharOp::GetDefEquip(int a2)
- {
- return *(_DWORD *)(a2 + 124);
- }
- //----- (08080AD8) --------------------------------------------------------
- void __cdecl _tcf_0_105(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08080AE8) --------------------------------------------------------
- void `global constructor keyed to'DBCreateCharOp::DBCreateCharOp()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_105, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08080B14) --------------------------------------------------------
- void __cdecl DBDeleteCharOp::DBDeleteCharOp(DBDeleteCharOp *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))off_80D42D0;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_Account[0] = 0;
- this->m_AID = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBDeleteCharOp.cpp",
- 0x1Du,
- "DBDeleteCharOp::DBDeleteCharOp(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- this->m_CharGuid = -1;
- this->m_NeedTime = 0;
- }
- // 80D42D0: using guessed type _DWORD (__cdecl *off_80D42D0[3])(DBDeleteCharOp *this);
- //----- (08080BC8) --------------------------------------------------------
- void __cdecl DBDeleteCharOp::DBDeleteCharOp(DBDeleteCharOp *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))off_80D42D0;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_Account[0] = 0;
- this->m_AID = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBDeleteCharOp.cpp",
- 0x1Du,
- "DBDeleteCharOp::DBDeleteCharOp(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- this->m_CharGuid = -1;
- this->m_NeedTime = 0;
- }
- // 80D42D0: using guessed type _DWORD (__cdecl *off_80D42D0[3])(DBDeleteCharOp *this);
- //----- (08080C7C) --------------------------------------------------------
- #error "8080D04: positive sp value has been found (funcsize=42)"
- //----- (08080D3C) --------------------------------------------------------
- int __cdecl DBDeleteCharOp::AddNew(DBDeleteCharOp *const this)
- {
- return 1;
- }
- //----- (08080D48) --------------------------------------------------------
- int __cdecl DBDeleteCharOp::Delete(DBDeleteCharOp *const this)
- {
- DB_QUERY *v1; // eax
- DB_QUERY *v2; // ebx
- int v3; // edx
- BOOL v5; // eax
- UINT v6; // ST14_4
- v1 = ODBCBase::GetInternalQuery((int)this);
- v2 = v1;
- if ( !v1 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBDeleteCharOp.cpp",
- 0x4Eu,
- "virtual int DBDeleteCharOp::Delete()",
- "FALSE");
- memset(v1, 0, 0x1000u);
- v3 = 0;
- if ( this->m_Account[0] )
- {
- v5 = StrSafeCheck(this->m_Account, 0x33u);
- v3 = 0;
- if ( v5 )
- {
- v6 = TimeManager::GetDayTime(g_pTimeManager) + 14;
- DB_QUERY::Parse(v2, DeleteBaseChar, "", this->m_Account, this->m_CharGuid);
- v3 = ODBCBase::Delete(&this->0);
- }
- }
- return v3;
- }
- //----- (08080E48) --------------------------------------------------------
- int __cdecl DBDeleteCharOp::ParseResult(DBDeleteCharOp *const this, void *pResult)
- {
- int v2; // edx
- int v4; // eax
- INT iNext; // ST28_4
- int v6; // eax
- int v7; // eax
- int v8; // eax
- int v9; // eax
- int v10; // eax
- int v11; // eax
- int v12; // eax
- int v13; // eax
- int v14; // eax
- int iDBVersion; // [esp+4h] [ebp-154h]
- INT ErrorCode; // [esp+Ch] [ebp-14Ch]
- DBCharExtraInfo ExtraObject; // [esp+10h] [ebp-148h]
- DBPetList PetListObject; // [esp+30h] [ebp-128h]
- DBImpactList ImpactListObject; // [esp+50h] [ebp-108h]
- DBRelationList RelationListObject; // [esp+70h] [ebp-E8h]
- DBTaskList TaskListObject; // [esp+90h] [ebp-C8h]
- DBAbilityList AbilityListObject; // [esp+B0h] [ebp-A8h]
- DBXinFaList XinFaListObject; // [esp+D0h] [ebp-88h]
- DBSkillList SkillListObject; // [esp+F0h] [ebp-68h]
- DBItemList ItemListObject; // [esp+110h] [ebp-48h]
- if ( this->mOPType != 3 )
- {
- LABEL_2:
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBDeleteCharOp.cpp",
- 0xE7u,
- "virtual int DBDeleteCharOp::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBDeleteCharOp.cpp",
- 0x76u,
- "virtual int DBDeleteCharOp::ParseResult(void*)",
- "pAskResult");
- if ( this->mResultCount > 1 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBDeleteCharOp.cpp",
- 0x7Fu,
- "virtual int DBDeleteCharOp::ParseResult(void*)",
- "mResultCount<=1");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBDeleteCharOp.cpp",
- 0x80u,
- "virtual int DBDeleteCharOp::ParseResult(void*)",
- "mInterface");
- v4 = ODBCInterface::Fetch(this->mInterface);
- v2 = 0;
- if ( v4 )
- {
- iNext = ODBCInterface::GetInt(this->mInterface, 1, &ErrorCode);
- iDBVersion = ODBCInterface::GetInt(this->mInterface, 2, &ErrorCode);
- ODBCInterface::Clear(this->mInterface);
- if ( iNext <= 0 || iDBVersion < 0 )
- *(_DWORD *)pResult = 6;
- else
- *(_DWORD *)pResult = 0;
- if ( !*(_DWORD *)pResult )
- {
- DBItemList::DBItemList(&ItemListObject, this->mInterface);
- DBItemList::SetCharGuid((int)&ItemListObject, this->m_CharGuid);
- DBItemList::SetDBVersion((int)&ItemListObject, iDBVersion);
- v6 = DBItemList::Delete(&ItemListObject);
- v2 = 0;
- if ( !v6 )
- return v2;
- DBItemList::ParseResult(&ItemListObject, pResult);
- DBSkillList::DBSkillList(&SkillListObject, this->mInterface);
- DBSkillList::SetCharGuid((int)&SkillListObject, this->m_CharGuid);
- DBSkillList::SetDBVersion((int)&SkillListObject, iDBVersion);
- v7 = DBSkillList::Delete(&SkillListObject);
- v2 = 0;
- if ( !v7 )
- return v2;
- DBSkillList::ParseResult(&SkillListObject, pResult);
- DBXinFaList::DBXinFaList(&XinFaListObject, this->mInterface);
- DBXinFaList::SetCharGuid((int)&XinFaListObject, this->m_CharGuid);
- DBXinFaList::SetDBVersion((int)&XinFaListObject, iDBVersion);
- v8 = DBXinFaList::Delete(&XinFaListObject);
- v2 = 0;
- if ( !v8 )
- return v2;
- DBXinFaList::ParseResult(&XinFaListObject, pResult);
- DBAbilityList::DBAbilityList(&AbilityListObject, this->mInterface);
- DBAbilityList::SetCharGuid((int)&AbilityListObject, this->m_CharGuid);
- DBAbilityList::SetDBVersion((int)&AbilityListObject, iDBVersion);
- v9 = DBAbilityList::Delete(&AbilityListObject);
- v2 = 0;
- if ( !v9 )
- return v2;
- DBAbilityList::ParseResult(&AbilityListObject, pResult);
- DBTaskList::DBTaskList(&TaskListObject, this->mInterface);
- DBTaskList::SetCharGuid((int)&TaskListObject, this->m_CharGuid);
- DBTaskList::SetDBVersion((int)&TaskListObject, iDBVersion);
- v10 = DBTaskList::Delete(&TaskListObject);
- v2 = 0;
- if ( !v10 )
- return v2;
- DBTaskList::ParseResult(&TaskListObject, pResult);
- DBRelationList::DBRelationList(&RelationListObject, this->mInterface);
- DBRelationList::SetCharGuid((int)&RelationListObject, this->m_CharGuid);
- DBRelationList::SetDBVersion((int)&RelationListObject, iDBVersion);
- v11 = DBRelationList::Delete(&RelationListObject);
- v2 = 0;
- if ( !v11 )
- return v2;
- DBRelationList::ParseResult(&RelationListObject, pResult);
- DBImpactList::DBImpactList(&ImpactListObject, this->mInterface);
- DBImpactList::SetCharGuid((int)&ImpactListObject, this->m_CharGuid);
- DBImpactList::SetDBVersion((int)&ImpactListObject, iDBVersion);
- v12 = DBImpactList::Delete(&ImpactListObject);
- v2 = 0;
- if ( !v12 )
- return v2;
- DBImpactList::ParseResult(&ImpactListObject, pResult);
- DBPetList::DBPetList(&PetListObject, this->mInterface);
- DBPetList::SetCharGuid((int)&PetListObject, this->m_CharGuid);
- DBPetList::SetDBVersion((int)&PetListObject, iDBVersion);
- v13 = DBPetList::Delete(&PetListObject);
- v2 = 0;
- if ( !v13 )
- return v2;
- DBPetList::ParseResult(&PetListObject, pResult);
- DBCharExtraInfo::DBCharExtraInfo(&ExtraObject, this->mInterface);
- DBCharExtraInfo::SetCharGuid((int)&ExtraObject, this->m_CharGuid);
- DBCharExtraInfo::SetDBVersion((int)&ExtraObject, iDBVersion);
- v14 = DBCharExtraInfo::Delete(&ExtraObject);
- v2 = 0;
- if ( !v14 )
- return v2;
- DBCharExtraInfo::ParseResult(&ExtraObject, pResult);
- }
- goto LABEL_2;
- }
- return v2;
- }
- //----- (08081280) --------------------------------------------------------
- const CHAR *__cdecl DBDeleteCharOp::GetAccount(const DBDeleteCharOp *const this)
- {
- return this->m_Account;
- }
- //----- (0808128C) --------------------------------------------------------
- void __cdecl DBDeleteCharOp::SetAccount(DBDeleteCharOp *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/DBSystem/DataBase/DBDeleteCharOp.cpp",
- 0xF6u,
- "void DBDeleteCharOp::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->m_Account, pAccount, 0x32u);
- this->m_Account[50] = 0;
- }
- //----- (080812D4) --------------------------------------------------------
- GUID_t __cdecl DBDeleteCharOp::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 80);
- }
- //----- (080812E0) --------------------------------------------------------
- void __cdecl DBDeleteCharOp::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 80) = a4;
- }
- //----- (080812F0) --------------------------------------------------------
- void __cdecl DBDeleteCharOp::SetNeedTime(int a3, int a4)
- {
- *(_DWORD *)(a3 + 84) = a4;
- }
- //----- (08081300) --------------------------------------------------------
- void __cdecl _tcf_0_106(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08081310) --------------------------------------------------------
- void `global constructor keyed to'DBDeleteCharOp::DBDeleteCharOp()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_106, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0808133C) --------------------------------------------------------
- void __cdecl DBEquipBaseList::DBEquipBaseList(DBEquipBaseList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D44A8;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBEquipBaseList.cpp",
- 0xDu,
- "DBEquipBaseList::DBEquipBaseList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D44A8: using guessed type _DWORD (__cdecl *off_80D44A8)(DBEquipBaseList *this);
- //----- (080813A0) --------------------------------------------------------
- void __cdecl DBEquipBaseList::DBEquipBaseList(DBEquipBaseList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D44A8;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBEquipBaseList.cpp",
- 0xDu,
- "DBEquipBaseList::DBEquipBaseList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D44A8: using guessed type _DWORD (__cdecl *off_80D44A8)(DBEquipBaseList *this);
- //----- (08081404) --------------------------------------------------------
- #error "8081490: positive sp value has been found (funcsize=42)"
- //----- (080814C8) --------------------------------------------------------
- int __cdecl DBEquipBaseList::Save(DBEquipBaseList *const this)
- {
- return 1;
- }
- //----- (080814D4) --------------------------------------------------------
- int __cdecl DBEquipBaseList::ParseResult(DBEquipBaseList *const this, void *pResult)
- {
- UINT GemID; // [esp+4h] [ebp-24h]
- __int16 v4; // [esp+8h] [ebp-20h]
- UINT Pos; // [esp+Ch] [ebp-1Ch]
- UINT ItemType; // [esp+10h] [ebp-18h]
- INT i; // [esp+14h] [ebp-14h]
- INT ErrorCode; // [esp+18h] [ebp-10h]
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBEquipBaseList.cpp",
- 0x3Au,
- "virtual int DBEquipBaseList::ParseResult(void*)",
- "pCharEquipList");
- if ( this->mResultCount > 19 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBEquipBaseList.cpp",
- 0x45u,
- "virtual int DBEquipBaseList::ParseResult(void*)",
- "mResultCount<=HEQUIP_NUMBER");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBEquipBaseList.cpp",
- 0x46u,
- "virtual int DBEquipBaseList::ParseResult(void*)",
- "mInterface");
- i = 0;
- do
- {
- if ( !ODBCInterface::Fetch(this->mInterface) )
- break;
- ItemType = ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- Pos = ODBCInterface::GetUInt(this->mInterface, 2, &ErrorCode);
- v4 = ODBCInterface::GetInt(this->mInterface, 3, &ErrorCode);
- GemID = ODBCInterface::GetUInt(this->mInterface, 4, &ErrorCode);
- if ( Pos <= 0x63 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBEquipBaseList.cpp",
- 0x54u,
- "virtual int DBEquipBaseList::ParseResult(void*)",
- "Pos>=DB_EQUIP_POS_START");
- if ( Pos > 0x75 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBEquipBaseList.cpp",
- 0x55u,
- "virtual int DBEquipBaseList::ParseResult(void*)",
- "Pos<DB_EQUIP_POS_END");
- *((_DWORD *)pResult + Pos - 100) = ItemType;
- ++i;
- *((_WORD *)pResult + Pos - 62) = v4;
- *((_DWORD *)pResult + Pos - 71) = GemID;
- }
- while ( i <= 18 );
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (080816A4) --------------------------------------------------------
- GUID_t __cdecl DBEquipBaseList::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (080816B0) --------------------------------------------------------
- void __cdecl DBEquipBaseList::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (080816C0) --------------------------------------------------------
- void __cdecl _tcf_0_107(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080816D0) --------------------------------------------------------
- void `global constructor keyed to'DBEquipBaseList::DBEquipBaseList()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_107, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080816FC) --------------------------------------------------------
- void __cdecl DBFatigueInfo::DBFatigueInfo(DBFatigueInfo *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D4618;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBFatigueInfo.cpp",
- 0xEu,
- "DBFatigueInfo::DBFatigueInfo(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D4618: using guessed type _DWORD (__cdecl *off_80D4618)(DBFatigueInfo *this);
- //----- (08081768) --------------------------------------------------------
- void __cdecl DBFatigueInfo::DBFatigueInfo(DBFatigueInfo *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D4618;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBFatigueInfo.cpp",
- 0xEu,
- "DBFatigueInfo::DBFatigueInfo(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D4618: using guessed type _DWORD (__cdecl *off_80D4618)(DBFatigueInfo *this);
- //----- (080817D4) --------------------------------------------------------
- #error "808185C: positive sp value has been found (funcsize=41)"
- //----- (08081894) --------------------------------------------------------
- int __cdecl DBFatigueInfo::Save(DBFatigueInfo *const this, void *pSource)
- {
- DB_QUERY *v2; // eax
- DB_QUERY *v3; // esi
- CHAR FatigueInfo[2048]; // [esp+10h] [ebp-818h]
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBFatigueInfo.cpp",
- 0x38u,
- "virtual int DBFatigueInfo::Save(void*)",
- "pCharFullData");
- memset(FatigueInfo, 0, 0x800u);
- Binary2String((const CHAR *)pSource + 1642, 0x10u, FatigueInfo);
- v2 = ODBCBase::GetInternalQuery((int)this);
- v3 = v2;
- if ( !v2 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBFatigueInfo.cpp",
- 0x47u,
- "virtual int DBFatigueInfo::Save(void*)",
- "FALSE");
- memset(v2, 0, 0x1000u);
- DB_QUERY::Parse(v3, UpdateCharFatigueInfo, "t_char", FatigueInfo, this->m_CharGuid, this->m_DBVersion);
- return ODBCBase::Save(&this->0, pSource) != 0;
- }
- //----- (080819C4) --------------------------------------------------------
- int __cdecl DBFatigueInfo::Delete(DBFatigueInfo *const this)
- {
- return 1;
- }
- //----- (080819D0) --------------------------------------------------------
- int __cdecl DBFatigueInfo::ParseResult(DBFatigueInfo *const this, void *pResult)
- {
- INT ErrorCode; // [esp+8h] [ebp-10h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBFatigueInfo.cpp",
- 0x73u,
- "virtual int DBFatigueInfo::ParseResult(void*)",
- "pCharFullData");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBFatigueInfo.cpp",
- 0x7Du,
- "virtual int DBFatigueInfo::ParseResult(void*)",
- "mInterface");
- if ( ODBCInterface::Fetch(this->mInterface) )
- {
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- ODBCInterface::GetField(this->mInterface, 2, (CHAR *)pResult + 1642, 16, &ErrorCode);
- }
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBFatigueInfo.cpp",
- 0x97u,
- "virtual int DBFatigueInfo::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (08081B04) --------------------------------------------------------
- GUID_t __cdecl DBFatigueInfo::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (08081B10) --------------------------------------------------------
- void __cdecl DBFatigueInfo::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (08081B20) --------------------------------------------------------
- UINT __cdecl DBFatigueInfo::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (08081B2C) --------------------------------------------------------
- void __cdecl DBFatigueInfo::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (08081B3C) --------------------------------------------------------
- void __cdecl _tcf_0_108(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08081B4C) --------------------------------------------------------
- void `global constructor keyed to'DBFatigueInfo::DBFatigueInfo()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_108, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08081B78) --------------------------------------------------------
- void __cdecl DBGeneralSet::DBGeneralSet(DBGeneralSet *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))off_80D47D0;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBGeneralSet.cpp",
- 0x1Au,
- "DBGeneralSet::DBGeneralSet(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D47D0: using guessed type _DWORD (__cdecl *off_80D47D0[3])(ODBCBase *this);
- //----- (08081BD4) --------------------------------------------------------
- void __cdecl DBGeneralSet::DBGeneralSet(DBGeneralSet *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))off_80D47D0;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBGeneralSet.cpp",
- 0x1Au,
- "DBGeneralSet::DBGeneralSet(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D47D0: using guessed type _DWORD (__cdecl *off_80D47D0[3])(ODBCBase *this);
- //----- (08081C30) --------------------------------------------------------
- int __cdecl DBGeneralSet::MySave(DBGeneralSet *const this, DBGeneralSet::GSET_TYPE tKey, INT nVal)
- {
- int result; // eax
- LONG_DB_QUERY *v4; // edi
- INT nResult; // [esp+8h] [ebp-10h]
- result = 0;
- if ( (unsigned int)tKey <= 5 )
- {
- v4 = ODBCBase::GetLongInterQuery((int)this);
- if ( !v4 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBGeneralSet.cpp",
- 0x29u,
- "int DBGeneralSet::MySave(DBGeneralSet::GSET_TYPE, INT)",
- "pQuery");
- ODBCInterface::Clear(this->mInterface);
- ODBCBase::CheckDBConnect(&this->0, "DBGeneralSet");
- memset(v4, 0, 0x32000u);
- LONG_DB_QUERY::Parse(v4, SaveTGeneralSet, &GSET_KEY[32 * tKey], nVal);
- result = ODBCBase::LongSave(&this->0, &nResult);
- }
- return result;
- }
- //----- (08081D20) --------------------------------------------------------
- int __cdecl DBGeneralSet::MyLoad(DBGeneralSet *const this, DBGeneralSet::GSET_TYPE tKey, INT *const pVal)
- {
- int v3; // edx
- LONG_DB_QUERY *v5; // eax
- LONG_DB_QUERY *v6; // esi
- int v7; // eax
- int v8; // eax
- INT nErrorCode; // [esp+8h] [ebp-10h]
- v3 = 0;
- if ( (unsigned int)tKey <= 5 )
- {
- v5 = ODBCBase::GetLongInterQuery((int)this);
- v6 = v5;
- if ( !v5 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBGeneralSet.cpp",
- 0x45u,
- "int DBGeneralSet::MyLoad(DBGeneralSet::GSET_TYPE, INT&)",
- "pQuery");
- memset(v5, 0, 0x32000u);
- LONG_DB_QUERY::Parse(v6, LoadTGeneralSet, "t_general_set", &GSET_KEY[32 * tKey]);
- v7 = ODBCBase::LongLoad(&this->0);
- v3 = 0;
- if ( v7 )
- {
- v8 = ODBCInterface::Fetch(this->mInterface);
- v3 = 0;
- if ( v8 )
- {
- *pVal = ODBCInterface::GetInt(this->mInterface, 1, &nErrorCode);
- ODBCInterface::Clear(this->mInterface);
- v3 = 1;
- }
- }
- }
- return v3;
- }
- //----- (08081E3C) --------------------------------------------------------
- int __cdecl DBGeneralSet::SetValue(DBGeneralSet *const this, DBGeneralSet::GSET_TYPE tKey, INT nVal)
- {
- int v3; // edi
- v3 = DBGeneralSet::MySave(this, tKey, nVal);
- if ( v3 )
- DiskLog("./Log/ShareMemory", "DBGeneralSet::SetValue(%d,%d) Successful!", tKey, nVal);
- else
- DiskLog("./Log/ShareMemory", "DBGeneralSet::SetValue(%d,%d) UnSuccessful!", tKey, nVal);
- return v3;
- }
- //----- (08081ED0) --------------------------------------------------------
- int __cdecl DBGeneralSet::GetValue(DBGeneralSet *const this, DBGeneralSet::GSET_TYPE tKey, INT *const pVal)
- {
- int v3; // edi
- v3 = DBGeneralSet::MyLoad(this, tKey, pVal);
- if ( v3 )
- DiskLog("./Log/ShareMemory", "DBGeneralSet::GetValue(%d) = %d Successful!", tKey, *pVal);
- else
- DiskLog("./Log/ShareMemory", "DBGeneralSet::GetValue(%d) UnSuccessful!", tKey, 0);
- return v3;
- }
- //----- (08081F68) --------------------------------------------------------
- int __cdecl DBGeneralSet::ParseResult(DBGeneralSet *const this, void *pResult)
- {
- return 1;
- }
- //----- (08081F74) --------------------------------------------------------
- void __cdecl _tcf_0_109(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08081F84) --------------------------------------------------------
- void `global constructor keyed to'DBGeneralSet::DBGeneralSet()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_109, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08081FB0) --------------------------------------------------------
- void __cdecl DBImmigration::DBImmigration(DBImmigration *const this, ODBCInterface *pInterface)
- {
- CHAR *v2; // edi
- CHAR *v3; // edi
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))off_80D4A90;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- memset(this->m_Account, 0, 0x30u);
- v2 = &this->m_Account[48];
- *(_WORD *)v2 = 0;
- v2[2] = 0;
- memset(this->m_CharName, 0, 0x1Cu);
- v3 = &this->m_CharName[28];
- *(_WORD *)v3 = 0;
- v3[2] = 0;
- this->m_CreateTime = 0;
- this->m_CharGuid = -1;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImmigration.cpp",
- 0x15u,
- "DBImmigration::DBImmigration(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D4A90: using guessed type _DWORD (__cdecl *off_80D4A90[2])(DBImmigration *this);
- //----- (08082078) --------------------------------------------------------
- void __cdecl DBImmigration::DBImmigration(DBImmigration *const this, ODBCInterface *pInterface)
- {
- CHAR *v2; // edi
- CHAR *v3; // edi
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))off_80D4A90;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- memset(this->m_Account, 0, 0x30u);
- v2 = &this->m_Account[48];
- *(_WORD *)v2 = 0;
- v2[2] = 0;
- memset(this->m_CharName, 0, 0x1Cu);
- v3 = &this->m_CharName[28];
- *(_WORD *)v3 = 0;
- v3[2] = 0;
- this->m_CreateTime = 0;
- this->m_CharGuid = -1;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImmigration.cpp",
- 0x15u,
- "DBImmigration::DBImmigration(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D4A90: using guessed type _DWORD (__cdecl *off_80D4A90[2])(DBImmigration *this);
- //----- (08082140) --------------------------------------------------------
- #error "80821C4: positive sp value has been found (funcsize=39)"
- //----- (080821FC) --------------------------------------------------------
- int __cdecl DBImmigration::IsCharNameOK(DBImmigration *const this)
- {
- DB_QUERY *v1; // eax
- DB_QUERY *v2; // ebx
- int v3; // edx
- int v5; // eax
- int v6; // eax
- v1 = ODBCBase::GetInternalQuery((int)this);
- v2 = v1;
- if ( !v1 )
- __assert__("../../Common/DBSystem/DataBase/DBImmigration.cpp", 0x3Eu, "int DBImmigration::IsCharNameOK()", "FALSE");
- memset(v1, 0, 0x1000u);
- v3 = 0;
- if ( !this->m_CharName[0] )
- return v3;
- DB_QUERY::Parse(v2, MigCheckCharName, "t_char", this->m_CharName);
- v5 = ODBCBase::Load(&this->0);
- v3 = 0;
- if ( !v5 )
- return v3;
- if ( !this->mResultCount )
- {
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImmigration.cpp",
- 0x4Eu,
- "int DBImmigration::IsCharNameOK()",
- "mInterface");
- v6 = ODBCInterface::Fetch(this->mInterface);
- v3 = 0;
- if ( !v6 )
- return v3;
- ODBCInterface::Clear(this->mInterface);
- return 0;
- }
- //----- (08082330) --------------------------------------------------------
- int __cdecl DBImmigration::UpdateNewCharName(DBImmigration *const this)
- {
- DB_QUERY *v1; // eax
- DB_QUERY *v2; // ebx
- int v3; // edx
- BOOL v4; // eax
- int v6; // eax
- v1 = ODBCBase::GetInternalQuery((int)this);
- v2 = v1;
- if ( !v1 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImmigration.cpp",
- 0x67u,
- "int DBImmigration::UpdateNewCharName()",
- "FALSE");
- memset(v1, 0, 0x1000u);
- v3 = 0;
- if ( !this->m_CharName[0] )
- return v3;
- if ( this->m_CharGuid == -1 )
- return v3;
- v4 = StrSafeCheck(this->m_CharName, 0x1Eu);
- v3 = 0;
- if ( !v4 )
- return v3;
- DB_QUERY::Parse(v2, UpdateCharName, "t_char", this->m_CharName, this->m_CharGuid);
- v6 = ODBCBase::Load(&this->0);
- v3 = 0;
- if ( !v6 )
- return v3;
- if ( this->mResultCount )
- {
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImmigration.cpp",
- 0x82u,
- "int DBImmigration::UpdateNewCharName()",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 0;
- }
- //----- (08082484) --------------------------------------------------------
- int __cdecl DBImmigration::AddNew(DBImmigration *const this)
- {
- DB_QUERY *v1; // eax
- DB_QUERY *v2; // esi
- int v3; // edx
- BOOL v5; // eax
- v1 = ODBCBase::GetInternalQuery((int)this);
- v2 = v1;
- if ( !v1 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImmigration.cpp",
- 0x97u,
- "virtual int DBImmigration::AddNew()",
- "FALSE");
- memset(v1, 0, 0x1000u);
- if ( !this->m_Account[0] || this->m_CharGuid == -1 || !this->m_CharName[0] )
- return 0;
- v5 = StrSafeCheck(this->m_Account, 0x33u);
- v3 = 0;
- if ( v5 )
- {
- DB_QUERY::Parse(
- v2,
- MigNewChar,
- "t_char",
- this->m_Account,
- this->m_CharGuid,
- this->m_CharName,
- "",
- "",
- 0,
- 1,
- 0,
- 0,
- 0,
- 100,
- 100,
- 9,
- 5000,
- 5000,
- 0,
- 5,
- 5,
- 5,
- 5,
- 5,
- 0,
- 0,
- 0,
- this->m_CreateTime,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- "",
- 31234,
- 0,
- "",
- "",
- "",
- -1,
- -1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- "",
- 0,
- 0,
- 0,
- "",
- 0,
- 0,
- 20);
- v3 = ODBCBase::AddNew(&this->0);
- }
- return v3;
- }
- //----- (0808260C) --------------------------------------------------------
- #error "80826A8: positive sp value has been found (funcsize=45)"
- //----- (080826E4) --------------------------------------------------------
- int __cdecl DBImmigration::ParseResult(DBImmigration *const this, void *pResult)
- {
- ODBCBase::DBOP_TYPE v2; // eax
- int v3; // esi
- INT ErrorCode; // [esp+Ch] [ebp-Ch]
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImmigration.cpp",
- 0x10Bu,
- "virtual int DBImmigration::ParseResult(void*)",
- "mInterface");
- v2 = this->mOPType;
- v3 = 0;
- if ( v2 == 1 )
- {
- v3 = 1;
- }
- else if ( (signed int)v2 <= 1 )
- {
- if ( v2 == DB_LOAD )
- {
- if ( this->mResultCount > 1 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImmigration.cpp",
- 0x120u,
- "virtual int DBImmigration::ParseResult(void*)",
- "mResultCount<=1");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImmigration.cpp",
- 0x121u,
- "virtual int DBImmigration::ParseResult(void*)",
- "mInterface");
- if ( ODBCInterface::Fetch(this->mInterface) )
- {
- ODBCInterface::GetString(this->mInterface, 1, this->m_Account, 50, &ErrorCode);
- v3 = 1;
- }
- }
- }
- else if ( v2 == 2 && ODBCBase::GetInternalAffectCount((int)this) > 0 )
- {
- v3 = 1;
- }
- ODBCInterface::Clear(this->mInterface);
- return v3;
- }
- //----- (0808284C) --------------------------------------------------------
- const CHAR *__cdecl DBImmigration::GetAccount(const DBImmigration *const this)
- {
- return this->m_Account;
- }
- //----- (08082858) --------------------------------------------------------
- void __cdecl DBImmigration::SetAccount(DBImmigration *const this, const CHAR *pAccount)
- {
- if ( !pAccount )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImmigration.cpp",
- 0x140u,
- "void DBImmigration::SetAccount(const CHAR*)",
- "pAccount");
- strncpy(this->m_Account, pAccount, 0x32u);
- this->m_Account[50] = 0;
- }
- //----- (080828A0) --------------------------------------------------------
- const CHAR *__cdecl DBImmigration::GetCharName(const DBImmigration *const this)
- {
- return this->m_CharName;
- }
- //----- (080828AC) --------------------------------------------------------
- void __cdecl DBImmigration::SetCharName(DBImmigration *const this, const CHAR *pName)
- {
- if ( !pName )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImmigration.cpp",
- 0x14Bu,
- "void DBImmigration::SetCharName(const CHAR*)",
- "pName");
- strncpy(this->m_CharName, pName, 0x1Eu);
- this->m_CharName[30] = 0;
- }
- //----- (080828F4) --------------------------------------------------------
- GUID_t __cdecl DBImmigration::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 76);
- }
- //----- (08082900) --------------------------------------------------------
- void __cdecl DBImmigration::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 76) = a4;
- }
- //----- (08082910) --------------------------------------------------------
- void __cdecl DBImmigration::SetCharCreateTime(int a3, int a4)
- {
- *(_DWORD *)(a3 + 80) = a4;
- }
- //----- (08082920) --------------------------------------------------------
- UINT __cdecl DBImmigration::GetCharCreateTime(int a2)
- {
- return *(_DWORD *)(a2 + 80);
- }
- //----- (0808292C) --------------------------------------------------------
- void __cdecl _tcf_0_110(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0808293C) --------------------------------------------------------
- void `global constructor keyed to'DBImmigration::DBImmigration()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_110, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08082968) --------------------------------------------------------
- void __cdecl DBImpactList::DBImpactList(DBImpactList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D4D30;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImpactList.cpp",
- 0xFu,
- "DBImpactList::DBImpactList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D4D30: using guessed type _DWORD (__cdecl *off_80D4D30)(DBImpactList *this);
- //----- (080829D4) --------------------------------------------------------
- void __cdecl DBImpactList::DBImpactList(DBImpactList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D4D30;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImpactList.cpp",
- 0xFu,
- "DBImpactList::DBImpactList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D4D30: using guessed type _DWORD (__cdecl *off_80D4D30)(DBImpactList *this);
- //----- (08082A40) --------------------------------------------------------
- #error "8082AC8: positive sp value has been found (funcsize=41)"
- //----- (08082B00) --------------------------------------------------------
- int __cdecl DBImpactList::Save(DBImpactList *const this, void *pSource)
- {
- int v2; // eax
- int v3; // edx
- signed int v5; // edi
- DB_QUERY *v6; // eax
- CHAR *pIn; // [esp+Ch] [ebp-128h]
- DB_QUERY *pQuery; // [esp+10h] [ebp-124h]
- INT i; // [esp+14h] [ebp-120h]
- INT Result; // [esp+18h] [ebp-11Ch]
- CHAR ImpactData[256]; // [esp+1Ch] [ebp-118h]
- v2 = (*((int (__cdecl **)(DBImpactList *const ))this->_vptr_ODBCBase + 2))(this);
- v3 = 0;
- if ( !v2 )
- return v3;
- (*((void (__cdecl **)(DBImpactList *const , INT *))this->_vptr_ODBCBase + 4))(this, &Result);
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImpactList.cpp",
- 0x40u,
- "virtual int DBImpactList::Save(void*)",
- "pCharFullData");
- v5 = *((unsigned __int8 *)pSource + 33962);
- if ( v5 > 20 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImpactList.cpp",
- 0x45u,
- "virtual int DBImpactList::Save(void*)",
- "ImpactCount<=MAX_IMPACT_NUM");
- i = 0;
- if ( v5 <= 0 )
- return 1;
- pIn = (char *)pSource + 33963;
- while ( 1 )
- {
- v6 = ODBCBase::GetInternalQuery((int)this);
- pQuery = v6;
- if ( !v6 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImpactList.cpp",
- 0x4Du,
- "virtual int DBImpactList::Save(void*)",
- "FALSE");
- memset(v6, 0, 0x1000u);
- if ( this->m_CharGuid == -1 )
- break;
- memset(ImpactData, 0, 0x100u);
- Binary2String(pIn, 0x4Cu, ImpactData);
- DB_QUERY::Parse(pQuery, NewCharImpact, "t_impact", this->m_CharGuid, ImpactData, this->m_DBVersion);
- if ( !ODBCBase::Save(&this->0, pSource) )
- break;
- ++i;
- pIn += 76;
- if ( i >= v5 )
- return 1;
- }
- return 0;
- }
- //----- (08082CE4) --------------------------------------------------------
- #error "8082D6F: positive sp value has been found (funcsize=41)"
- //----- (08082DA4) --------------------------------------------------------
- int __cdecl DBImpactList::ParseResult(DBImpactList *const this, void *pResult)
- {
- CHAR *v2; // edi
- INT i; // [esp+4h] [ebp-14h]
- INT ErrorCode; // [esp+8h] [ebp-10h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImpactList.cpp",
- 0x94u,
- "virtual int DBImpactList::ParseResult(void*)",
- "pCharFullData");
- if ( this->mResultCount > 20 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImpactList.cpp",
- 0x9Eu,
- "virtual int DBImpactList::ParseResult(void*)",
- "mResultCount<=MAX_IMPACT_NUM");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImpactList.cpp",
- 0x9Fu,
- "virtual int DBImpactList::ParseResult(void*)",
- "mInterface");
- *((_BYTE *)pResult + 33962) = 0;
- v2 = (char *)pResult + 33963;
- i = 0;
- do
- {
- if ( !ODBCInterface::Fetch(this->mInterface) )
- break;
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- ODBCInterface::GetField(this->mInterface, 2, v2, 76, &ErrorCode);
- ++*((_BYTE *)pResult + 33962);
- ++i;
- v2 += 76;
- }
- while ( i <= 19 );
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBImpactList.cpp",
- 0xC2u,
- "virtual int DBImpactList::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (08082F38) --------------------------------------------------------
- GUID_t __cdecl DBImpactList::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (08082F44) --------------------------------------------------------
- void __cdecl DBImpactList::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (08082F54) --------------------------------------------------------
- UINT __cdecl DBImpactList::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (08082F60) --------------------------------------------------------
- void __cdecl DBImpactList::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (08082F70) --------------------------------------------------------
- void __cdecl _tcf_0_111(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08082F80) --------------------------------------------------------
- void `global constructor keyed to'DBImpactList::DBImpactList()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_111, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08082FAC) --------------------------------------------------------
- void __cdecl DBItemList::DBItemList(DBItemList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D4F08;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- this->m_IsOld = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBItemList.cpp",
- 0x10u,
- "DBItemList::DBItemList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D4F08: using guessed type _DWORD (__cdecl *off_80D4F08)(DBItemList *this);
- //----- (0808301C) --------------------------------------------------------
- void __cdecl DBItemList::DBItemList(DBItemList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D4F08;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- this->m_IsOld = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBItemList.cpp",
- 0x10u,
- "DBItemList::DBItemList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D4F08: using guessed type _DWORD (__cdecl *off_80D4F08)(DBItemList *this);
- //----- (0808308C) --------------------------------------------------------
- #error "8083114: positive sp value has been found (funcsize=41)"
- //----- (0808314C) --------------------------------------------------------
- int __cdecl DBItemList::Save(DBItemList *const this, void *pSource)
- {
- _ITEM *v2; // esi
- int result; // eax
- UINT v4; // ST78_4
- DB_QUERY *pQuery; // [esp+0h] [ebp-468h]
- unsigned int ItemPos; // [esp+4h] [ebp-464h]
- INT OutLength; // [esp+Ch] [ebp-45Ch]
- CHAR szDarkEncodeData[60]; // [esp+10h] [ebp-458h]
- INT PArray[256]; // [esp+50h] [ebp-418h]
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBItemList.cpp",
- 0x3Bu,
- "virtual int DBItemList::Save(void*)",
- "pCharFullData");
- ItemPos = 0;
- while ( 1 )
- {
- if ( ItemPos > 0xB2 )
- __assert__("../../Common/DB_Struct.h", 0x539u, "_ITEM* FULLUSERDATA::GetItem(UINT)", "uDBPos<=DB_BANK_POS_END");
- if ( ItemPos > 0x76 )
- {
- v2 = (_ITEM *)((char *)pSource + 176 * ItemPos - 19223);
- }
- else if ( ItemPos <= 0x63 )
- {
- v2 = 0;
- if ( (ItemPos & 0x80000000) == 0 )
- v2 = (_ITEM *)((char *)pSource + 176 * ItemPos + 12290);
- }
- else
- {
- v2 = (_ITEM *)((char *)pSource + 176 * ItemPos + 12310);
- }
- pQuery = ODBCBase::GetInternalQuery((int)this);
- if ( !pQuery )
- __assert__("../../Common/DBSystem/DataBase/DBItemList.cpp", 0x47u, "virtual int DBItemList::Save(void*)", "FALSE");
- memset(pQuery, 0, 0x1000u);
- if ( this->m_CharGuid == -1 )
- break;
- if ( v2->m_ItemGUID.m_World || v2->m_ItemGUID.m_Serial || v2->m_ItemGUID.m_Server )
- {
- memset(PArray, 0, 0x400u);
- _ITEM::DBReadAttr(v2, (CHAR *)PArray, &OutLength, 1020);
- memset(szDarkEncodeData, 0, sizeof(szDarkEncodeData));
- if ( GetSerialClass(v2->m_ItemIndex) == 1
- && v2->_anon_1.m_Equip.m_bytDarksFlag == 1
- && !_ITEM::GetEncodeDarkData(v2, szDarkEncodeData, 60) )
- {
- return 0;
- }
- GetSerialClass(v2->m_ItemIndex);
- DB_QUERY::Parse(
- pQuery,
- NewCharItem,
- this->m_CharGuid,
- v2->m_ItemGUID.m_Serial,
- v2->m_ItemGUID.m_World,
- v2->m_ItemGUID.m_Server,
- v2->m_ItemIndex,
- ItemPos,
- 0,
- -1,
- "",
- PArray[0],
- PArray[1],
- PArray[2],
- PArray[3],
- PArray[4],
- PArray[5],
- PArray[6],
- PArray[7],
- PArray[8],
- PArray[9],
- PArray[10],
- PArray[11],
- PArray[12],
- PArray[13],
- PArray[14],
- PArray[15],
- PArray[16],
- 1,
- this->m_DBVersion);
- result = ODBCBase::Save(&this->0, pSource);
- if ( !result )
- return result;
- }
- else
- {
- v4 = this->m_DBVersion;
- DB_QUERY::Parse(pQuery, DeleteCharItemSingle, "t_iteminfo", this->m_DBVersion, this->m_CharGuid);
- if ( !ODBCBase::Delete(&this->0) )
- return 0;
- ODBCInterface::Clear(this->mInterface);
- }
- if ( (signed int)++ItemPos > 178 )
- return 1;
- }
- return 0;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (08083514) --------------------------------------------------------
- int __cdecl DBItemList::Delete(DBItemList *const this)
- {
- return 0;
- }
- //----- (0808351C) --------------------------------------------------------
- int __cdecl DBItemList::GetIsOld(int a2)
- {
- return *(_DWORD *)(a2 + 32);
- }
- //----- (08083528) --------------------------------------------------------
- int __cdecl DBItemList::ParseResult(DBItemList *const this, void *pResult)
- {
- unsigned __int16 v2; // ax
- char *v3; // ebx
- INT i; // [esp+8h] [ebp-140h]
- INT ErrorCode; // [esp+Ch] [ebp-13Ch]
- INT PArray[17]; // [esp+10h] [ebp-138h]
- CHAR FixAttr[200]; // [esp+60h] [ebp-E8h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBItemList.cpp",
- 0xB4u,
- "virtual int DBItemList::ParseResult(void*)",
- "pCharFullData");
- if ( this->mResultCount > 179 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBItemList.cpp",
- 0xD3u,
- "virtual int DBItemList::ParseResult(void*)",
- "mResultCount<=(DB_BANK_POS_END+1)");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBItemList.cpp",
- 0xD5u,
- "virtual int DBItemList::ParseResult(void*)",
- "mInterface");
- i = 0;
- do
- {
- if ( !ODBCInterface::Fetch(this->mInterface) )
- break;
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- v2 = ODBCInterface::GetInt(this->mInterface, 6, &ErrorCode);
- if ( v2 > 0xB2u )
- __assert__(
- "../../Common/DBSystem/DataBase/DBItemList.cpp",
- 0xE0u,
- "virtual int DBItemList::ParseResult(void*)",
- "ItemPos<=DB_BANK_POS_END");
- if ( v2 > 0xB2u )
- __assert__("../../Common/DB_Struct.h", 0x539u, "_ITEM* FULLUSERDATA::GetItem(UINT)", "uDBPos<=DB_BANK_POS_END");
- if ( v2 <= 0x76u )
- {
- if ( v2 <= 0x63u )
- v3 = (char *)pResult + 176 * v2 + 12290;
- else
- v3 = (char *)pResult + 176 * v2 + 12310;
- }
- else
- {
- v3 = (char *)pResult + 176 * v2 - 19223;
- }
- if ( !v3 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBItemList.cpp",
- 0xE4u,
- "virtual int DBItemList::ParseResult(void*)",
- "pItem");
- *v3 = ODBCInterface::GetInt(this->mInterface, 2, &ErrorCode);
- v3[1] = ODBCInterface::GetInt(this->mInterface, 3, &ErrorCode);
- *((_DWORD *)v3 + 1) = ODBCInterface::GetUInt(this->mInterface, 4, &ErrorCode);
- *((_DWORD *)v3 + 2) = ODBCInterface::GetUInt(this->mInterface, 5, &ErrorCode);
- if ( DBItemList::GetIsOld((int)this) )
- {
- memset(FixAttr, 0, 0xC8u);
- ODBCInterface::GetField(this->mInterface, 7, FixAttr, 200, &ErrorCode);
- _ITEM::WriteFixAttr((_ITEM *const )v3, FixAttr, 200);
- }
- PArray[0] = ODBCInterface::GetInt(this->mInterface, 8, &ErrorCode);
- PArray[1] = ODBCInterface::GetInt(this->mInterface, 9, &ErrorCode);
- PArray[2] = ODBCInterface::GetInt(this->mInterface, 10, &ErrorCode);
- PArray[3] = ODBCInterface::GetInt(this->mInterface, 11, &ErrorCode);
- PArray[4] = ODBCInterface::GetInt(this->mInterface, 12, &ErrorCode);
- PArray[5] = ODBCInterface::GetInt(this->mInterface, 13, &ErrorCode);
- PArray[6] = ODBCInterface::GetInt(this->mInterface, 14, &ErrorCode);
- PArray[7] = ODBCInterface::GetInt(this->mInterface, 15, &ErrorCode);
- PArray[8] = ODBCInterface::GetInt(this->mInterface, 16, &ErrorCode);
- PArray[9] = ODBCInterface::GetInt(this->mInterface, 17, &ErrorCode);
- PArray[10] = ODBCInterface::GetInt(this->mInterface, 18, &ErrorCode);
- PArray[11] = ODBCInterface::GetInt(this->mInterface, 19, &ErrorCode);
- PArray[12] = ODBCInterface::GetInt(this->mInterface, 20, &ErrorCode);
- PArray[13] = ODBCInterface::GetInt(this->mInterface, 21, &ErrorCode);
- PArray[14] = ODBCInterface::GetInt(this->mInterface, 22, &ErrorCode);
- PArray[15] = ODBCInterface::GetInt(this->mInterface, 23, &ErrorCode);
- PArray[16] = ODBCInterface::GetInt(this->mInterface, 24, &ErrorCode);
- if ( DBItemList::GetIsOld((int)this) )
- {
- _ITEM::WriteVarAttr((_ITEM *const )v3, (CHAR *)PArray, 68);
- ODBCInterface::GetField(this->mInterface, 26, v3 + 76, 12, &ErrorCode);
- }
- else
- {
- _ITEM::DBWriteAttr((_ITEM *const )v3, (CHAR *)PArray, 68);
- }
- ODBCInterface::GetString(this->mInterface, 25, v3 + 16, 58, &ErrorCode);
- _ITEM::DecodeDarkData((_ITEM *const )v3);
- ++i;
- }
- while ( i <= 178 );
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBItemList.cpp",
- 0x123u,
- "virtual int DBItemList::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (08083A78) --------------------------------------------------------
- GUID_t __cdecl DBItemList::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (08083A84) --------------------------------------------------------
- void __cdecl DBItemList::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (08083A94) --------------------------------------------------------
- UINT __cdecl DBItemList::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (08083AA0) --------------------------------------------------------
- void __cdecl DBItemList::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (08083AB0) --------------------------------------------------------
- void __cdecl DBItemList::SetIsOld(int a3, int a4)
- {
- *(_DWORD *)(a3 + 32) = a4;
- }
- //----- (08083AC0) --------------------------------------------------------
- void __cdecl _tcf_0_112(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08083AD0) --------------------------------------------------------
- void `global constructor keyed to'DBItemList::DBItemList()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_112, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08083AFC) --------------------------------------------------------
- void __cdecl DBManager::DBManager(DBManager *const this)
- {
- ODBCInterface *v1; // ebx
- Thread::Thread(this);
- this->_vptr_Thread = (int (**)(...))&off_80D5108;
- v1 = (ODBCInterface *)operator new(0x71098u);
- ODBCInterface::ODBCInterface((int)v1);
- this->mCharDBInterface = v1;
- this->m_Active = 1;
- }
- // 80D5108: using guessed type _DWORD (__cdecl *off_80D5108)(DBManager *this);
- //----- (08083B64) --------------------------------------------------------
- void __cdecl DBManager::DBManager(DBManager *const this)
- {
- ODBCInterface *v1; // ebx
- Thread::Thread(this);
- this->_vptr_Thread = (int (**)(...))&off_80D5108;
- v1 = (ODBCInterface *)operator new(0x71098u);
- ODBCInterface::ODBCInterface((int)v1);
- this->mCharDBInterface = v1;
- this->m_Active = 1;
- }
- // 80D5108: using guessed type _DWORD (__cdecl *off_80D5108)(DBManager *this);
- //----- (08083BCC) --------------------------------------------------------
- void __cdecl DBManager::~DBManager(DBManager *const this)
- {
- ODBCInterface *v1; // ebx
- v1 = this->mCharDBInterface;
- this->_vptr_Thread = (int (**)(...))&off_80D5108;
- if ( v1 )
- {
- ODBCInterface::~ODBCInterface(v1);
- operator delete((IPRegionTable *const )v1);
- this->mCharDBInterface = 0;
- }
- Thread::~Thread(this);
- }
- // 80D5108: using guessed type _DWORD (__cdecl *off_80D5108)(DBManager *this);
- //----- (08083C24) --------------------------------------------------------
- void __cdecl DBManager::~DBManager(DBManager *const this)
- {
- ODBCInterface *v1; // ebx
- v1 = this->mCharDBInterface;
- this->_vptr_Thread = (int (**)(...))&off_80D5108;
- if ( v1 )
- {
- ODBCInterface::~ODBCInterface(v1);
- operator delete((IPRegionTable *const )v1);
- this->mCharDBInterface = 0;
- }
- Thread::~Thread(this);
- }
- // 80D5108: using guessed type _DWORD (__cdecl *off_80D5108)(DBManager *this);
- //----- (08083C7C) --------------------------------------------------------
- void __cdecl DBManager::~DBManager(DBManager *const this)
- {
- ODBCInterface *v1; // ebx
- v1 = this->mCharDBInterface;
- this->_vptr_Thread = (int (**)(...))&off_80D5108;
- if ( v1 )
- {
- ODBCInterface::~ODBCInterface(v1);
- operator delete((IPRegionTable *const )v1);
- this->mCharDBInterface = 0;
- }
- Thread::~Thread(this);
- operator delete((IPRegionTable *const )this);
- }
- // 80D5108: using guessed type _DWORD (__cdecl *off_80D5108)(DBManager *this);
- //----- (08083CDC) --------------------------------------------------------
- int __cdecl DBManager::Init(DBManager *const this)
- {
- int v1; // edx
- ODBCInterface *v2; // eax
- CHAR Password[256]; // [esp+4h] [ebp-1D8h]
- CHAR User[32]; // [esp+104h] [ebp-D8h]
- CHAR Database[128]; // [esp+124h] [ebp-B8h]
- CHAR Host[30]; // [esp+1A4h] [ebp-38h]
- strncpy(Host, g_Config.m_ShareMemInfo.m_DBIP, 0x1Eu);
- Host[29] = 0;
- strncpy(Database, g_Config.m_ShareMemInfo.m_DBName, 0x80u);
- Database[127] = 0;
- strncpy(User, g_Config.m_ShareMemInfo.m_DBUser, 0x20u);
- User[31] = 0;
- if ( g_Config.m_ShareMemInfo.CryptPwd <= 0 )
- {
- strncpy(Password, g_Config.m_ShareMemInfo.m_DBPassword, 0x100u);
- Password[255] = 0;
- }
- else
- {
- memset(Password, 0, 0x100u);
- Seraph::string2pwd(g_Config.m_ShareMemInfo.m_DBPassword, Password);
- }
- if ( !this->mCharDBInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBManager.cpp",
- 0x34u,
- "virtual int DBManager::Init()",
- "mCharDBInterface");
- *(_DWORD *)&Password[12] = Password;
- *(_DWORD *)&Password[8] = User;
- *(_DWORD *)&Password[4] = Database;
- ODBCInterface::Connect(this->mCharDBInterface, Database, User, Password);
- v2 = this->mCharDBInterface;
- if ( !v2->mConnected )
- {
- *(_DWORD *)&Password[12] = v1;
- *(_DWORD *)&Password[8] = (char *)v2 + 462744;
- CacheLog(0, "mCharDBInterface->Connect()... Get Errors: %s ", v2->mErrorMsg, v1);
- }
- return 1;
- }
- //----- (08083E48) --------------------------------------------------------
- void __cdecl DBManager::run(DBManager *const this)
- {
- ;
- }
- //----- (08083E50) --------------------------------------------------------
- ODBCInterface *__cdecl DBManager::GetInterface(DB_NAMES name, DB_NAMES namea)
- {
- ODBCInterface *result; // eax
- result = 0;
- if ( namea == 1 )
- result = *(ODBCInterface **)(name + 12);
- return result;
- }
- //----- (08083E64) --------------------------------------------------------
- void __cdecl DBManager::Quit(DBManager *const this)
- {
- if ( this->mCharDBInterface )
- ODBCInterface::Close(this->mCharDBInterface);
- }
- //----- (08083ED0) --------------------------------------------------------
- void __cdecl _tcf_0_113(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08083EE0) --------------------------------------------------------
- void `global constructor keyed to'DBManager::DBManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_113, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08083F0C) --------------------------------------------------------
- void __cdecl DBManager::stop(int a2)
- {
- *(_DWORD *)(a2 + 16) = 0;
- }
- //----- (08083F1C) --------------------------------------------------------
- BOOL __cdecl DBManager::CheckWorldIDZoneID(DBManager *const this)
- {
- return 1;
- }
- //----- (08083F28) --------------------------------------------------------
- void __cdecl DBPetList::DBPetList(DBPetList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D5248;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPetList.cpp",
- 0xFu,
- "DBPetList::DBPetList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D5248: using guessed type _DWORD (__cdecl *off_80D5248)(DBPetList *this);
- //----- (08083F94) --------------------------------------------------------
- void __cdecl DBPetList::DBPetList(DBPetList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D5248;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPetList.cpp",
- 0xFu,
- "DBPetList::DBPetList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D5248: using guessed type _DWORD (__cdecl *off_80D5248)(DBPetList *this);
- //----- (08084000) --------------------------------------------------------
- #error "8084088: positive sp value has been found (funcsize=41)"
- //----- (080840C0) --------------------------------------------------------
- int __cdecl DBPetList::Save(DBPetList *const this, void *pSource)
- {
- char *v2; // edi
- DB_QUERY *v3; // eax
- int v4; // ebx
- int v5; // STB0_4
- int v6; // STAC_4
- int v7; // STA8_4
- int v8; // STA0_4
- int v9; // ST9C_4
- int v10; // ST98_4
- UINT v11; // ST94_4
- int v12; // ST90_4
- int v13; // STC8_4
- int v14; // ST8C_4
- int v15; // ST84_4
- int v16; // ST80_4
- int v17; // ST7C_4
- int v18; // ST78_4
- int v19; // ST74_4
- int v20; // ST70_4
- int v21; // ST6C_4
- float v22; // ST60_4
- INT v23; // eax
- DB_QUERY *pQuery; // [esp+20h] [ebp-264h]
- INT i; // [esp+24h] [ebp-260h]
- INT Result; // [esp+28h] [ebp-25Ch]
- CHAR PetCamp[100]; // [esp+2Ch] [ebp-258h]
- CHAR PetTitle[200]; // [esp+9Ch] [ebp-1E8h]
- CHAR PetSkill[256]; // [esp+16Ch] [ebp-118h]
- (*((void (__cdecl **)(DBPetList *const ))this->_vptr_ODBCBase + 2))(this);
- (*((void (__cdecl **)(DBPetList *const , INT *))this->_vptr_ODBCBase + 4))(this, &Result);
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPetList.cpp",
- 0x37u,
- "virtual int DBPetList::Save(void*)",
- "pCharFullData");
- i = 0;
- v2 = (char *)pSource;
- while ( 1 )
- {
- if ( *((_DWORD *)v2 + 10068) || *((_DWORD *)v2 + 10069) )
- {
- v3 = ODBCBase::GetInternalQuery((int)this);
- pQuery = v3;
- if ( !v3 )
- __assert__("../../Common/DBSystem/DataBase/DBPetList.cpp", 0x42u, "virtual int DBPetList::Save(void*)", "FALSE");
- memset(v3, 0, 0x1000u);
- if ( this->m_CharGuid == -1 )
- break;
- memset(PetSkill, 0, 0x100u);
- Binary2String(v2 + 40444, 0x27u, PetSkill);
- memset(PetTitle, 0, 0xC8u);
- Binary2String(v2 + 40583, 0x50u, PetTitle);
- memset(PetCamp, 0, 0x64u);
- if ( !StrSafeCheck(v2 + 40292, 0x1Eu) )
- break;
- if ( !StrSafeCheck(v2 + 40322, 0x22u) )
- break;
- v4 = *((_DWORD *)v2 + 10069);
- v5 = *(unsigned __int16 *)(v2 + 40669);
- v6 = *(unsigned __int16 *)(v2 + 40667);
- v7 = *(_DWORD *)(v2 + 40663);
- v8 = *(_DWORD *)(v2 + 40579);
- v9 = *((_DWORD *)v2 + 10071);
- v10 = *((_DWORD *)v2 + 10070);
- v11 = this->m_DBVersion;
- v12 = *((_DWORD *)v2 + 10090);
- v13 = *((_DWORD *)v2 + 10068);
- v14 = (unsigned __int8)v2[40423];
- v15 = *((_DWORD *)v2 + 10109);
- v16 = *((_DWORD *)v2 + 10107);
- v17 = *((_DWORD *)v2 + 10110);
- v18 = *((_DWORD *)v2 + 10108);
- v19 = *((_DWORD *)v2 + 10106);
- v20 = *(_DWORD *)(v2 + 40419);
- v21 = *(_DWORD *)(v2 + 40415);
- v22 = *(float *)(v2 + 40411) * 1000.0;
- v23 = Float2Int<float>(v22);
- DB_QUERY::Parse(
- pQuery,
- NewCharPet,
- "t_pet",
- this->m_CharGuid,
- v13,
- v4,
- *((_DWORD *)v2 + 10072),
- v2 + 40292,
- v2 + 40322,
- *((_DWORD *)v2 + 10089),
- *((_DWORD *)v2 + 10091),
- *((_DWORD *)v2 + 10092),
- *((_DWORD *)v2 + 10093),
- PetCamp,
- *((_DWORD *)v2 + 10094),
- 0,
- *((_DWORD *)v2 + 10095),
- (unsigned __int8)v2[40384],
- (unsigned __int8)v2[40385],
- (unsigned __int8)v2[40386],
- *(_DWORD *)(v2 + 40387),
- *(_DWORD *)(v2 + 40391),
- *(_DWORD *)(v2 + 40395),
- *(_DWORD *)(v2 + 40399),
- *(_DWORD *)(v2 + 40403),
- *(_DWORD *)(v2 + 40407),
- v23,
- v21,
- v20,
- v19,
- v18,
- v17,
- v16,
- v15,
- PetSkill,
- v14,
- v12,
- v11,
- v10,
- v9,
- v8,
- PetTitle,
- v7,
- v6,
- v5,
- 1);
- if ( !ODBCBase::Save(&this->0, pSource) )
- break;
- }
- ++i;
- v2 += 399;
- if ( i > 9 )
- return 1;
- }
- return 0;
- }
- //----- (08084400) --------------------------------------------------------
- #error "808448B: positive sp value has been found (funcsize=41)"
- //----- (080844C4) --------------------------------------------------------
- void __cdecl DBPetList::LoadPetSkillFrom_V0(_PET_SKILL *PetSkill, UINT PetSkillNum, _PET_SKILL *PetSkill_V0, UINT PetSkillNum_V0)
- {
- UINT v4; // esi
- UINT v5; // edx
- signed int v6; // ecx
- _PET_SKILL *v7; // ebx
- if ( PetSkill && PetSkill_V0 )
- {
- if ( PetSkillNum > 0 && PetSkillNum_V0 > 0 )
- {
- *(_WORD *)&PetSkill->m_bSelfRealize = *(_WORD *)&PetSkill_V0->m_bSelfRealize;
- HIBYTE(PetSkill->m_nSkillID) = HIBYTE(PetSkill_V0->m_nSkillID);
- }
- v4 = 2;
- v5 = 1;
- v6 = 1;
- v7 = PetSkill + 2;
- do
- {
- if ( v4 < PetSkillNum && v5 < PetSkillNum_V0 )
- {
- *(_WORD *)&v7->m_bSelfRealize = *(_WORD *)&PetSkill_V0[v6].m_bSelfRealize;
- HIBYTE(v7->m_nSkillID) = HIBYTE(PetSkill_V0[v6].m_nSkillID);
- ++v4;
- ++v7;
- }
- ++v5;
- ++v6;
- }
- while ( v5 <= 4 );
- if ( PetSkillNum > 0xC && PetSkillNum_V0 > 5 )
- {
- *(_WORD *)&PetSkill[12].m_bSelfRealize = *(_WORD *)&PetSkill_V0[5].m_bSelfRealize;
- HIBYTE(PetSkill[12].m_nSkillID) = HIBYTE(PetSkill_V0[5].m_nSkillID);
- }
- }
- }
- //----- (08084560) --------------------------------------------------------
- int __cdecl DBPetList::ParseResult(DBPetList *const this, void *pResult)
- {
- char *v2; // ebx
- UINT v3; // edi
- INT v4; // eax
- _PET_SKILL *v5; // eax
- signed int v6; // edx
- UINT v7; // edi
- _PET_SKILL *PetSkill; // [esp+4h] [ebp-44h]
- INT i; // [esp+8h] [ebp-40h]
- INT ErrorCode; // [esp+Ch] [ebp-3Ch]
- _PET_SKILL SkillList[6]; // [esp+10h] [ebp-38h]
- v2 = (char *)pResult;
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPetList.cpp",
- 0xC0u,
- "virtual int DBPetList::ParseResult(void*)",
- "pCharFullData");
- if ( this->mResultCount > 10 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPetList.cpp",
- 0xF0u,
- "virtual int DBPetList::ParseResult(void*)",
- "mResultCount<=HUMAN_PET_MAX_COUNT");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPetList.cpp",
- 0xF1u,
- "virtual int DBPetList::ParseResult(void*)",
- "mInterface");
- i = 0;
- PetSkill = (_PET_SKILL *)((char *)pResult + 40444);
- do
- {
- if ( !ODBCInterface::Fetch(this->mInterface) )
- break;
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- v3 = ODBCInterface::GetUInt(this->mInterface, 2, &ErrorCode);
- *((_DWORD *)v2 + 10069) = ODBCInterface::GetUInt(this->mInterface, 3, &ErrorCode);
- *((_DWORD *)v2 + 10068) = v3;
- *((_DWORD *)v2 + 10072) = ODBCInterface::GetInt(this->mInterface, 4, &ErrorCode);
- ODBCInterface::GetString(this->mInterface, 5, v2 + 40292, 30, &ErrorCode);
- ODBCInterface::GetString(this->mInterface, 6, v2 + 40322, 34, &ErrorCode);
- *((_DWORD *)v2 + 10089) = ODBCInterface::GetInt(this->mInterface, 7, &ErrorCode);
- *((_DWORD *)v2 + 10091) = ODBCInterface::GetInt(this->mInterface, 8, &ErrorCode);
- *((_DWORD *)v2 + 10092) = ODBCInterface::GetInt(this->mInterface, 9, &ErrorCode);
- *((_DWORD *)v2 + 10093) = ODBCInterface::GetInt(this->mInterface, 10, &ErrorCode);
- *((_DWORD *)v2 + 10094) = ODBCInterface::GetInt(this->mInterface, 12, &ErrorCode);
- *((_DWORD *)v2 + 10095) = ODBCInterface::GetInt(this->mInterface, 14, &ErrorCode);
- v2[40384] = ODBCInterface::GetInt(this->mInterface, 15, &ErrorCode);
- v2[40385] = ODBCInterface::GetInt(this->mInterface, 16, &ErrorCode);
- v2[40386] = ODBCInterface::GetInt(this->mInterface, 17, &ErrorCode);
- *(_DWORD *)(v2 + 40387) = ODBCInterface::GetUInt(this->mInterface, 18, &ErrorCode);
- *(_DWORD *)(v2 + 40391) = ODBCInterface::GetUInt(this->mInterface, 19, &ErrorCode);
- *(_DWORD *)(v2 + 40395) = ODBCInterface::GetUInt(this->mInterface, 20, &ErrorCode);
- *(_DWORD *)(v2 + 40399) = ODBCInterface::GetUInt(this->mInterface, 21, &ErrorCode);
- *(_DWORD *)(v2 + 40403) = ODBCInterface::GetUInt(this->mInterface, 22, &ErrorCode);
- *(_DWORD *)(v2 + 40407) = ODBCInterface::GetUInt(this->mInterface, 23, &ErrorCode);
- *(float *)(v2 + 40411) = (long double)ODBCInterface::GetUInt(this->mInterface, 24, &ErrorCode) * 0.001;
- *(_DWORD *)(v2 + 40415) = ODBCInterface::GetUInt(this->mInterface, 25, &ErrorCode);
- *(_DWORD *)(v2 + 40419) = ODBCInterface::GetUInt(this->mInterface, 26, &ErrorCode);
- *((_DWORD *)v2 + 10106) = ODBCInterface::GetUInt(this->mInterface, 27, &ErrorCode);
- *((_DWORD *)v2 + 10108) = ODBCInterface::GetUInt(this->mInterface, 28, &ErrorCode);
- *((_DWORD *)v2 + 10110) = ODBCInterface::GetUInt(this->mInterface, 29, &ErrorCode);
- *((_DWORD *)v2 + 10107) = ODBCInterface::GetUInt(this->mInterface, 30, &ErrorCode);
- *((_DWORD *)v2 + 10109) = ODBCInterface::GetUInt(this->mInterface, 31, &ErrorCode);
- v4 = ODBCInterface::GetInt(this->mInterface, 42, &ErrorCode);
- if ( v4 )
- {
- if ( v4 == 1 )
- ODBCInterface::GetField(this->mInterface, 32, v2 + 40444, 39, &ErrorCode);
- }
- else
- {
- v5 = SkillList;
- v6 = 5;
- while ( v6 != -1 )
- {
- v5->m_bSelfRealize = 0;
- v5->m_nSkillID = -1;
- --v6;
- ++v5;
- }
- ODBCInterface::GetField(this->mInterface, 32, (CHAR *)SkillList, 18, &ErrorCode);
- DBPetList::LoadPetSkillFrom_V0(PetSkill, 0xDu, SkillList, 6u);
- }
- v2[40423] = ODBCInterface::GetInt(this->mInterface, 33, &ErrorCode);
- *((_DWORD *)v2 + 10090) = ODBCInterface::GetInt(this->mInterface, 34, &ErrorCode);
- v7 = ODBCInterface::GetUInt(this->mInterface, 35, &ErrorCode);
- *((_DWORD *)v2 + 10071) = ODBCInterface::GetUInt(this->mInterface, 36, &ErrorCode);
- *((_DWORD *)v2 + 10070) = v7;
- *(_DWORD *)(v2 + 40579) = ODBCInterface::GetInt(this->mInterface, 37, &ErrorCode);
- ODBCInterface::GetField(this->mInterface, 38, v2 + 40583, 80, &ErrorCode);
- *(_DWORD *)(v2 + 40663) = ODBCInterface::GetInt(this->mInterface, 39, &ErrorCode);
- *(_WORD *)(v2 + 40667) = ODBCInterface::GetInt(this->mInterface, 40, &ErrorCode);
- ++i;
- *(_WORD *)(v2 + 40669) = ODBCInterface::GetInt(this->mInterface, 41, &ErrorCode);
- PetSkill += 133;
- v2 += 399;
- }
- while ( i <= 9 );
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPetList.cpp",
- 0x174u,
- "virtual int DBPetList::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (08084AE4) --------------------------------------------------------
- GUID_t __cdecl DBPetList::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (08084AF0) --------------------------------------------------------
- void __cdecl DBPetList::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (08084B00) --------------------------------------------------------
- UINT __cdecl DBPetList::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (08084B0C) --------------------------------------------------------
- void __cdecl DBPetList::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (08084B1C) --------------------------------------------------------
- void __cdecl _tcf_0_114(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08084B2C) --------------------------------------------------------
- void `global constructor keyed to'DBPetList::DBPetList()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_114, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08084B58) --------------------------------------------------------
- void __cdecl DBPrivateInfo::DBPrivateInfo(DBPrivateInfo *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D5430;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPrivateInfo.cpp",
- 0xEu,
- "DBPrivateInfo::DBPrivateInfo(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D5430: using guessed type _DWORD (__cdecl *off_80D5430)(DBPrivateInfo *this);
- //----- (08084BC4) --------------------------------------------------------
- void __cdecl DBPrivateInfo::DBPrivateInfo(DBPrivateInfo *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D5430;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPrivateInfo.cpp",
- 0xEu,
- "DBPrivateInfo::DBPrivateInfo(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D5430: using guessed type _DWORD (__cdecl *off_80D5430)(DBPrivateInfo *this);
- //----- (08084C30) --------------------------------------------------------
- #error "8084CB8: positive sp value has been found (funcsize=41)"
- //----- (08084CF0) --------------------------------------------------------
- int __cdecl DBPrivateInfo::Save(DBPrivateInfo *const this, void *pSource)
- {
- DB_QUERY *v2; // eax
- DB_QUERY *v3; // esi
- CHAR PrivateInfo[1024]; // [esp+10h] [ebp-418h]
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPrivateInfo.cpp",
- 0x32u,
- "virtual int DBPrivateInfo::Save(void*)",
- "pCharFullData");
- memset(PrivateInfo, 0, 0x400u);
- Binary2String((const CHAR *)pSource + 50161, 0x1B0u, PrivateInfo);
- v2 = ODBCBase::GetInternalQuery((int)this);
- v3 = v2;
- if ( !v2 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPrivateInfo.cpp",
- 0x41u,
- "virtual int DBPrivateInfo::Save(void*)",
- "FALSE");
- memset(v2, 0, 0x1000u);
- DB_QUERY::Parse(v3, UpdateCharPrivateInfo, "t_char", PrivateInfo, this->m_CharGuid, this->m_DBVersion);
- return ODBCBase::Save(&this->0, pSource) != 0;
- }
- //----- (08084E20) --------------------------------------------------------
- int __cdecl DBPrivateInfo::Delete(DBPrivateInfo *const this)
- {
- return 1;
- }
- //----- (08084E2C) --------------------------------------------------------
- int __cdecl DBPrivateInfo::ParseResult(DBPrivateInfo *const this, void *pResult)
- {
- signed int v2; // esi
- INT ErrorCode; // [esp+8h] [ebp-10h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPrivateInfo.cpp",
- 0x6Du,
- "virtual int DBPrivateInfo::ParseResult(void*)",
- "pCharFullData");
- if ( this->mResultCount > 20 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPrivateInfo.cpp",
- 0x76u,
- "virtual int DBPrivateInfo::ParseResult(void*)",
- "mResultCount<=MAX_CHAR_MISSION_NUM");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPrivateInfo.cpp",
- 0x77u,
- "virtual int DBPrivateInfo::ParseResult(void*)",
- "mInterface");
- v2 = 0;
- do
- {
- if ( !ODBCInterface::Fetch(this->mInterface) )
- break;
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- ODBCInterface::GetField(this->mInterface, 2, (CHAR *)pResult + 50161, 432, &ErrorCode);
- ++v2;
- }
- while ( v2 <= 19 );
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPrivateInfo.cpp",
- 0x91u,
- "virtual int DBPrivateInfo::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (08084F9C) --------------------------------------------------------
- GUID_t __cdecl DBPrivateInfo::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (08084FA8) --------------------------------------------------------
- void __cdecl DBPrivateInfo::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (08084FB8) --------------------------------------------------------
- UINT __cdecl DBPrivateInfo::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (08084FC4) --------------------------------------------------------
- void __cdecl DBPrivateInfo::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (08084FD4) --------------------------------------------------------
- void __cdecl _tcf_0_115(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08084FE4) --------------------------------------------------------
- void `global constructor keyed to'DBPrivateInfo::DBPrivateInfo()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_115, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08085010) --------------------------------------------------------
- void __cdecl DBPvPInfo::DBPvPInfo(DBPvPInfo *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D55F0;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPvPInfo.cpp",
- 0xEu,
- "DBPvPInfo::DBPvPInfo(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D55F0: using guessed type _DWORD (__cdecl *off_80D55F0)(DBPvPInfo *this);
- //----- (0808507C) --------------------------------------------------------
- void __cdecl DBPvPInfo::DBPvPInfo(DBPvPInfo *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D55F0;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPvPInfo.cpp",
- 0xEu,
- "DBPvPInfo::DBPvPInfo(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D55F0: using guessed type _DWORD (__cdecl *off_80D55F0)(DBPvPInfo *this);
- //----- (080850E8) --------------------------------------------------------
- #error "8085170: positive sp value has been found (funcsize=41)"
- //----- (080851A8) --------------------------------------------------------
- int __cdecl DBPvPInfo::Save(DBPvPInfo *const this, void *pSource)
- {
- DB_QUERY *v2; // eax
- DB_QUERY *v3; // esi
- CHAR PvPInfo[2048]; // [esp+10h] [ebp-818h]
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPvPInfo.cpp",
- 0x32u,
- "virtual int DBPvPInfo::Save(void*)",
- "pCharFullData");
- memset(PvPInfo, 0, 0x800u);
- Binary2String((const CHAR *)pSource + 1022, 0x1B3u, PvPInfo);
- v2 = ODBCBase::GetInternalQuery((int)this);
- v3 = v2;
- if ( !v2 )
- __assert__("../../Common/DBSystem/DataBase/DBPvPInfo.cpp", 0x41u, "virtual int DBPvPInfo::Save(void*)", "FALSE");
- memset(v2, 0, 0x1000u);
- DB_QUERY::Parse(v3, UpdateCharPvPInfo, "t_char", PvPInfo, this->m_CharGuid, this->m_DBVersion);
- return ODBCBase::Save(&this->0, pSource) != 0;
- }
- //----- (080852D8) --------------------------------------------------------
- int __cdecl DBPvPInfo::Delete(DBPvPInfo *const this)
- {
- return 1;
- }
- //----- (080852E4) --------------------------------------------------------
- int __cdecl DBPvPInfo::ParseResult(DBPvPInfo *const this, void *pResult)
- {
- INT ErrorCode; // [esp+8h] [ebp-10h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPvPInfo.cpp",
- 0x6Du,
- "virtual int DBPvPInfo::ParseResult(void*)",
- "pCharFullData");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPvPInfo.cpp",
- 0x77u,
- "virtual int DBPvPInfo::ParseResult(void*)",
- "mInterface");
- if ( ODBCInterface::Fetch(this->mInterface) )
- {
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- ODBCInterface::GetField(this->mInterface, 2, (CHAR *)pResult + 1022, 435, &ErrorCode);
- }
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBPvPInfo.cpp",
- 0x91u,
- "virtual int DBPvPInfo::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (0808541C) --------------------------------------------------------
- GUID_t __cdecl DBPvPInfo::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (08085428) --------------------------------------------------------
- void __cdecl DBPvPInfo::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (08085438) --------------------------------------------------------
- UINT __cdecl DBPvPInfo::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (08085444) --------------------------------------------------------
- void __cdecl DBPvPInfo::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (08085454) --------------------------------------------------------
- void __cdecl _tcf_0_116(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08085464) --------------------------------------------------------
- void `global constructor keyed to'DBPvPInfo::DBPvPInfo()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_116, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08085490) --------------------------------------------------------
- void __cdecl DBRelationList::DBRelationList(DBRelationList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D5748;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBRelationList.cpp",
- 0xFu,
- "DBRelationList::DBRelationList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D5748: using guessed type _DWORD (__cdecl *off_80D5748)(DBRelationList *this);
- //----- (080854FC) --------------------------------------------------------
- void __cdecl DBRelationList::DBRelationList(DBRelationList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D5748;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBRelationList.cpp",
- 0xFu,
- "DBRelationList::DBRelationList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D5748: using guessed type _DWORD (__cdecl *off_80D5748)(DBRelationList *this);
- //----- (08085568) --------------------------------------------------------
- #error "80855F0: positive sp value has been found (funcsize=41)"
- //----- (08085628) --------------------------------------------------------
- int __cdecl DBRelationList::Save(DBRelationList *const this, void *pSource)
- {
- int v2; // eax
- int v3; // edx
- char *v5; // esi
- DB_QUERY *v6; // eax
- DB_QUERY *v7; // eax
- DB_QUERY *v8; // ebx
- __int16 v9; // ax
- INT v10; // edx
- UINT v11; // ST28_4
- DB_QUERY *pQuery; // [esp+30h] [ebp-2F4h]
- INT i; // [esp+34h] [ebp-2F0h]
- INT Result; // [esp+38h] [ebp-2ECh]
- char src; // [esp+3Ch] [ebp-2E8h]
- __int16 v16; // [esp+40h] [ebp-2E4h]
- char v17; // [esp+42h] [ebp-2E2h]
- int v18; // [esp+66h] [ebp-2BEh]
- int v19; // [esp+7Eh] [ebp-2A6h]
- _RELATION_DB_LOAD::RelationData ReData; // [esp+ACh] [ebp-278h]
- CHAR CharRelationData[256]; // [esp+11Ch] [ebp-208h]
- INT v22; // [esp+21Ch] [ebp-108h]
- INT v23; // [esp+220h] [ebp-104h]
- INT v24; // [esp+224h] [ebp-100h]
- int v25; // [esp+228h] [ebp-FCh]
- RELATION_MEMBER::ReMember_ExtData ExtData; // [esp+22Ch] [ebp-F8h]
- CHAR MemberExtData[200]; // [esp+23Ch] [ebp-E8h]
- v2 = (*((int (__cdecl **)(DBRelationList *const ))this->_vptr_ODBCBase + 2))(this);
- v3 = 0;
- if ( v2 )
- {
- (*((void (__cdecl **)(DBRelationList *const , INT *))this->_vptr_ODBCBase + 4))(this, &Result);
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBRelationList.cpp",
- 0x44u,
- "virtual int DBRelationList::Save(void*)",
- "pCharFullData");
- i = 0;
- v5 = (char *)pSource;
- do
- {
- v6 = ODBCBase::GetInternalQuery((int)this);
- pQuery = v6;
- if ( !v6 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBRelationList.cpp",
- 0x4Cu,
- "virtual int DBRelationList::Save(void*)",
- "FALSE");
- memset(v6, 0, 0x1000u);
- if ( this->m_CharGuid == -1 )
- return 0;
- if ( *(_DWORD *)(v5 + 44262) != -1 )
- {
- memset(MemberExtData, 0, 0xC8u);
- v22 = *(_DWORD *)(v5 + 44298);
- v9 = *((_WORD *)v5 + 22155);
- v23 = *(_DWORD *)(v5 + 44302);
- LOWORD(v25) = v9;
- v10 = *(_DWORD *)(v5 + 44306);
- *(_DWORD *)&ExtData.m_GuildID = v25;
- v24 = v10;
- ExtData.m_nLevel = v22;
- ExtData.m_nMenPai = v23;
- ExtData.m_nPortrait = v10;
- Binary2String((const CHAR *)&ExtData, 0x10u, MemberExtData);
- v11 = this->m_DBVersion;
- DB_QUERY::Parse(
- pQuery,
- NewCharRelation,
- "t_relation",
- this->m_CharGuid,
- *(_DWORD *)(v5 + 44262),
- v5 + 44266,
- *(_DWORD *)(v5 + 44314),
- (unsigned __int8)v5[44318],
- (unsigned __int8)v5[44319],
- MemberExtData);
- if ( !ODBCBase::Save(&this->0, pSource) )
- return 0;
- }
- ++i;
- v5 += 58;
- }
- while ( i <= 99 );
- memset(CharRelationData, 0, 0x100u);
- memset(&src, 0, 4u);
- v16 = 0;
- qmemcpy(&v17, (char *)pSource + 50069, 0x24u);
- qmemcpy(&v18, (char *)pSource + 50105, 0x18u);
- qmemcpy(&v19, (char *)pSource + 50129, 0x20u);
- memcpy(&ReData, &src, 0x62u);
- Binary2String((const CHAR *)&ReData, 0x62u, CharRelationData);
- v7 = ODBCBase::GetInternalQuery((int)this);
- v8 = v7;
- if ( !v7 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBRelationList.cpp",
- 0x7Eu,
- "virtual int DBRelationList::Save(void*)",
- "FALSE");
- memset(v7, 0, 0x1000u);
- DB_QUERY::Parse(v8, UpdateCharRelationData, "t_char", CharRelationData, this->m_CharGuid, this->m_DBVersion);
- v3 = ODBCBase::Save(&this->0, pSource) != 0;
- }
- return v3;
- }
- //----- (08085A28) --------------------------------------------------------
- #error "8085AB3: positive sp value has been found (funcsize=41)"
- //----- (08085AEC) --------------------------------------------------------
- int __cdecl DBRelationList::ParseResult(DBRelationList *const this, void *pResult)
- {
- INT v2; // eax
- unsigned __int8 v3; // dl
- DB_QUERY *v4; // eax
- DB_QUERY *v5; // esi
- char *v6; // edx
- char *v8; // esi
- char *v9; // [esp+8h] [ebp-E0h]
- char *v10; // [esp+Ch] [ebp-DCh]
- INT i_0; // [esp+10h] [ebp-D8h]
- INT i; // [esp+1Ch] [ebp-CCh]
- INT iEnemySize; // [esp+20h] [ebp-C8h]
- INT iBlackSize; // [esp+24h] [ebp-C4h]
- INT iFriendSize; // [esp+28h] [ebp-C0h]
- INT ErrorCode; // [esp+2Ch] [ebp-BCh]
- _RELATION_DB_LOAD::RelationData ReData; // [esp+30h] [ebp-B8h]
- RELATION_MEMBER::ReMember_ExtData ExtData; // [esp+A0h] [ebp-48h]
- INT iGroupFriendSize[5]; // [esp+B0h] [ebp-38h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBRelationList.cpp",
- 0xBBu,
- "virtual int DBRelationList::ParseResult(void*)",
- "pCharFullData");
- if ( this->mResultCount > 100 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBRelationList.cpp",
- 0xCAu,
- "virtual int DBRelationList::ParseResult(void*)",
- "mResultCount<=MAX_RELATION_SIZE");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBRelationList.cpp",
- 0xCCu,
- "virtual int DBRelationList::ParseResult(void*)",
- "mInterface");
- memset(iGroupFriendSize, 0, sizeof(iGroupFriendSize));
- iFriendSize = 0;
- iBlackSize = 0;
- iEnemySize = 0;
- i = 0;
- v10 = (char *)pResult;
- v9 = (char *)pResult + 5220;
- do
- {
- if ( !ODBCInterface::Fetch(this->mInterface) )
- break;
- v2 = ODBCInterface::GetInt(this->mInterface, 5, &ErrorCode);
- if ( v2 == 9 )
- {
- if ( iEnemySize + 90 <= 99 )
- {
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- *(_DWORD *)(v9 + 44262) = ODBCInterface::GetUInt(this->mInterface, 2, &ErrorCode);
- ODBCInterface::GetString(this->mInterface, 3, v9 + 44266, 30, &ErrorCode);
- *(_DWORD *)(v9 + 44314) = ODBCInterface::GetInt(this->mInterface, 4, &ErrorCode);
- v9[44318] = ODBCInterface::GetInt(this->mInterface, 5, &ErrorCode);
- v9[44319] = ODBCInterface::GetInt(this->mInterface, 6, &ErrorCode);
- ODBCInterface::GetField(this->mInterface, 7, (CHAR *)&ExtData, 16, &ErrorCode);
- *(RELATION_MEMBER::ReMember_ExtData *)(v9 + 44298) = ExtData;
- ++iEnemySize;
- v9 += 58;
- }
- }
- else if ( v2 == 4 )
- {
- if ( iBlackSize + 80 <= 89 )
- {
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- v8 = (char *)pResult + 58 * (iBlackSize + 80);
- *(_DWORD *)(v8 + 44262) = ODBCInterface::GetUInt(this->mInterface, 2, &ErrorCode);
- ODBCInterface::GetString(this->mInterface, 3, v8 + 44266, 30, &ErrorCode);
- *(_DWORD *)(v8 + 44314) = ODBCInterface::GetInt(this->mInterface, 4, &ErrorCode);
- v8[44318] = ODBCInterface::GetInt(this->mInterface, 5, &ErrorCode);
- v8[44319] = ODBCInterface::GetInt(this->mInterface, 6, &ErrorCode);
- ODBCInterface::GetField(this->mInterface, 7, (CHAR *)&ExtData, 16, &ErrorCode);
- *(RELATION_MEMBER::ReMember_ExtData *)(v8 + 44298) = ExtData;
- ++iBlackSize;
- }
- }
- else
- {
- if ( iFriendSize > 79 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBRelationList.cpp",
- 0x13Cu,
- "virtual int DBRelationList::ParseResult(void*)",
- "FALSE");
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- *(_DWORD *)(v10 + 44262) = ODBCInterface::GetUInt(this->mInterface, 2, &ErrorCode);
- ODBCInterface::GetString(this->mInterface, 3, v10 + 44266, 30, &ErrorCode);
- *(_DWORD *)(v10 + 44314) = ODBCInterface::GetInt(this->mInterface, 4, &ErrorCode);
- v10[44318] = ODBCInterface::GetInt(this->mInterface, 5, &ErrorCode);
- v3 = ODBCInterface::GetInt(this->mInterface, 6, &ErrorCode);
- v10[44319] = v3;
- if ( (unsigned __int8)(v3 - 1) <= 3u )
- ++iGroupFriendSize[v3];
- ODBCInterface::GetField(this->mInterface, 7, (CHAR *)&ExtData, 16, &ErrorCode);
- *(RELATION_MEMBER::ReMember_ExtData *)(v10 + 44298) = ExtData;
- ++iFriendSize;
- v10 += 58;
- }
- ++i;
- }
- while ( i <= 99 );
- ODBCInterface::Clear(this->mInterface);
- v4 = ODBCBase::GetInternalQuery((int)this);
- v5 = v4;
- if ( !v4 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBRelationList.cpp",
- 0x149u,
- "virtual int DBRelationList::ParseResult(void*)",
- "FALSE");
- memset(v4, 0, 0x1000u);
- DB_QUERY::Parse(v5, LoadCharRelationData, "t_char", this->m_CharGuid, this->m_DBVersion);
- ODBCBase::Load(&this->0);
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBRelationList.cpp",
- 0x159u,
- "virtual int DBRelationList::ParseResult(void*)",
- "mInterface");
- if ( this->mResultCount > 1 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBRelationList.cpp",
- 0x15Au,
- "virtual int DBRelationList::ParseResult(void*)",
- "mResultCount <= 1");
- i_0 = 0;
- do
- {
- if ( !ODBCInterface::Fetch(this->mInterface) )
- break;
- memset(&ReData, 0, 4u);
- *(_WORD *)&ReData.m_aRelationCount[4] = 0;
- memset(ReData.m_szMood, 0, sizeof(ReData.m_szMood));
- ReData.m_MarriageInfo.m_SpouseGUID = -1;
- ReData.m_PrenticeInfo.m_BetrayingTime = 0;
- ReData.m_PrenticeInfo.m_uPrenticeCount = 0;
- ReData.m_PrenticeInfo.m_uMoralPoint = 0;
- ReData.m_PrenticeInfo.m_PrenticeGUID[0] = -1;
- ReData.m_PrenticeInfo.m_PrenticeGUID[1] = -1;
- ReData.m_MasterInfo.m_MasterGUID = -1;
- ReData.m_PrenticeInfo1.m_BetrayingTime = 0;
- ReData.m_PrenticeInfo1.m_uMoralPoint = 0;
- ReData.m_PrenticeInfo1.m_uPrenticeCount = 0;
- ReData.m_PrenticeInfo1.m_uPrenticeExp = 0;
- ReData.m_PrenticeInfo1.m_uMasterExp = 0;
- ReData.m_PrenticeInfo1.m_uMasterLevel = 0;
- ReData.m_PrenticeInfo1.m_PrenticeGUID[0] = -1;
- ReData.m_PrenticeInfo1.m_PrenticeGUID[1] = -1;
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- ODBCInterface::GetField(this->mInterface, 2, (CHAR *)&ReData, 98, &ErrorCode);
- qmemcpy((char *)pResult + 50069, ReData.m_szMood, 0x20u);
- v6 = (char *)pResult + 44262;
- *(_DWORD *)(v6 + 5839) = ReData.m_MarriageInfo.m_SpouseGUID;
- qmemcpy((char *)pResult + 50105, &ReData.m_PrenticeInfo, 0x14u);
- *(_DWORD *)(v6 + 5863) = ReData.m_MasterInfo.m_MasterGUID;
- qmemcpy((char *)pResult + 50129, &ReData.m_PrenticeInfo1, 0x20u);
- *((_BYTE *)pResult + 50062) = iFriendSize;
- *((_BYTE *)pResult + 50063) = iGroupFriendSize[1];
- *((_BYTE *)pResult + 50064) = iGroupFriendSize[2];
- *((_BYTE *)pResult + 50065) = iGroupFriendSize[3];
- *((_BYTE *)pResult + 50066) = iGroupFriendSize[4];
- *((_BYTE *)pResult + 50067) = iBlackSize;
- *((_BYTE *)pResult + 50068) = iEnemySize;
- ++i_0;
- }
- while ( i_0 <= 0 );
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBRelationList.cpp",
- 0x185u,
- "virtual int DBRelationList::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (08086228) --------------------------------------------------------
- GUID_t __cdecl DBRelationList::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (08086234) --------------------------------------------------------
- void __cdecl DBRelationList::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (08086244) --------------------------------------------------------
- void __cdecl DBRelationList::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (08086254) --------------------------------------------------------
- UINT __cdecl DBRelationList::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (08086260) --------------------------------------------------------
- void __cdecl _tcf_0_117(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08086270) --------------------------------------------------------
- void `global constructor keyed to'DBRelationList::DBRelationList()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_117, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0808629C) --------------------------------------------------------
- int __cdecl SkillCompare(const void *pVoid1, const void *pVoid2)
- {
- int v2; // esi
- int v3; // ebx
- int result; // eax
- if ( !pVoid1 || !pVoid2 )
- return 0;
- v2 = *(signed __int16 *)pVoid1;
- v3 = *(signed __int16 *)pVoid2;
- result = 0;
- if ( v2 != v3 )
- {
- LOBYTE(result) = 1;
- if ( *(_WORD *)pVoid1 != -1 )
- {
- result = -1;
- if ( *(_WORD *)pVoid2 != -1 )
- {
- result = 1;
- if ( v2 <= v3 )
- result = (v2 >= v3) - 1;
- }
- }
- }
- return result;
- }
- //----- (080862EC) --------------------------------------------------------
- void __cdecl DBSkillList::DBSkillList(DBSkillList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D5918;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBSkillList.cpp",
- 0x1Du,
- "DBSkillList::DBSkillList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D5918: using guessed type _DWORD (__cdecl *off_80D5918)(DBSkillList *this);
- //----- (08086358) --------------------------------------------------------
- void __cdecl DBSkillList::DBSkillList(DBSkillList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D5918;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBSkillList.cpp",
- 0x1Du,
- "DBSkillList::DBSkillList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D5918: using guessed type _DWORD (__cdecl *off_80D5918)(DBSkillList *this);
- //----- (080863C4) --------------------------------------------------------
- #error "808644C: positive sp value has been found (funcsize=41)"
- //----- (08086484) --------------------------------------------------------
- int __cdecl DBSkillList::Save(DBSkillList *const this, void *pSource)
- {
- int v2; // eax
- int v3; // edx
- INT v5; // eax
- DB_QUERY *v6; // eax
- DB_QUERY *v7; // edi
- INT i; // [esp+Ch] [ebp-18h]
- INT SkillCount; // [esp+10h] [ebp-14h]
- INT Result; // [esp+14h] [ebp-10h]
- v2 = (*((int (__cdecl **)(DBSkillList *const ))this->_vptr_ODBCBase + 2))(this);
- v3 = 0;
- if ( v2 )
- {
- (*((void (__cdecl **)(DBSkillList *const , INT *))this->_vptr_ODBCBase + 4))(this, &Result);
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBSkillList.cpp",
- 0x4Du,
- "virtual int DBSkillList::Save(void*)",
- "pCharFullData");
- v5 = *((unsigned __int8 *)pSource + 33256);
- SkillCount = *((unsigned __int8 *)pSource + 33256);
- i = 0;
- while ( i < v5 )
- {
- v6 = ODBCBase::GetInternalQuery((int)this);
- v7 = v6;
- if ( !v6 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBSkillList.cpp",
- 0x58u,
- "virtual int DBSkillList::Save(void*)",
- "FALSE");
- memset(v6, 0, 0x1000u);
- if ( this->m_CharGuid == -1 )
- return 0;
- DB_QUERY::Parse(
- v7,
- NewCharSkill,
- "t_skill",
- this->m_CharGuid,
- *(signed __int16 *)((char *)pSource + 2 * i + 33257),
- this->m_DBVersion);
- if ( !ODBCBase::Save(&this->0, pSource) )
- return 0;
- ++i;
- v5 = SkillCount;
- }
- v3 = 1;
- }
- return v3;
- }
- //----- (080865DC) --------------------------------------------------------
- #error "8086667: positive sp value has been found (funcsize=41)"
- //----- (0808669C) --------------------------------------------------------
- int __cdecl DBSkillList::ParseResult(DBSkillList *const this, void *pResult)
- {
- signed int v2; // eax
- signed int v3; // ebx
- signed int v4; // ebx
- INT ErrorCode; // [esp+Ch] [ebp-11Ch]
- _OWN_SKILL tmpSkill[128]; // [esp+10h] [ebp-118h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBSkillList.cpp",
- 0x97u,
- "virtual int DBSkillList::ParseResult(void*)",
- "pCharFullData");
- if ( this->mResultCount > 128 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBSkillList.cpp",
- 0xA0u,
- "virtual int DBSkillList::ParseResult(void*)",
- "mResultCount<=MAX_CHAR_SKILL_NUM");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBSkillList.cpp",
- 0xA1u,
- "virtual int DBSkillList::ParseResult(void*)",
- "mInterface");
- *((_BYTE *)pResult + 33256) = 0;
- v2 = 0;
- do
- tmpSkill[v2++].m_nSkillID = -1;
- while ( v2 <= 127 );
- v3 = 0;
- do
- {
- if ( !ODBCInterface::Fetch(this->mInterface) )
- break;
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- tmpSkill[v3++].m_nSkillID = ODBCInterface::GetInt(this->mInterface, 2, &ErrorCode);
- }
- while ( v3 <= 127 );
- qsort(tmpSkill, 0x80u, 2u, SkillCompare);
- v4 = 0;
- do
- {
- if ( tmpSkill[v4].m_nSkillID == -1 )
- break;
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- ODBCInterface::GetInt(this->mInterface, 2, &ErrorCode);
- *(_OWN_SKILL *)((char *)pResult + 2 * v4 + 33257) = tmpSkill[v4];
- ++v4;
- ++*((_BYTE *)pResult + 33256);
- }
- while ( v4 <= 127 );
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBSkillList.cpp",
- 0xD3u,
- "virtual int DBSkillList::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (08086874) --------------------------------------------------------
- GUID_t __cdecl DBSkillList::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (08086880) --------------------------------------------------------
- void __cdecl DBSkillList::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (08086890) --------------------------------------------------------
- UINT __cdecl DBSkillList::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (0808689C) --------------------------------------------------------
- void __cdecl DBSkillList::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (080868AC) --------------------------------------------------------
- void __cdecl _tcf_0_118(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080868BC) --------------------------------------------------------
- void `global constructor keyed to'DBSkillList::DBSkillList()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_118, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080868E8) --------------------------------------------------------
- void __cdecl DBTaskList::DBTaskList(DBTaskList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D5AD0;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTaskList.cpp",
- 0xEu,
- "DBTaskList::DBTaskList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D5AD0: using guessed type _DWORD (__cdecl *off_80D5AD0)(DBTaskList *this);
- //----- (08086954) --------------------------------------------------------
- void __cdecl DBTaskList::DBTaskList(DBTaskList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D5AD0;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTaskList.cpp",
- 0xEu,
- "DBTaskList::DBTaskList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D5AD0: using guessed type _DWORD (__cdecl *off_80D5AD0)(DBTaskList *this);
- //----- (080869C0) --------------------------------------------------------
- #error "8086A48: positive sp value has been found (funcsize=41)"
- //----- (08086A80) --------------------------------------------------------
- int __cdecl DBTaskList::Save(DBTaskList *const this, void *pSource)
- {
- int v2; // eax
- int v3; // edx
- _DWORD *v5; // esi
- LONG_DB_QUERY *v6; // eax
- int v7; // edx
- LONG_DB_QUERY *v8; // eax
- LONG_DB_QUERY *v9; // esi
- int v10; // eax
- LONG_DB_QUERY *v11; // eax
- LONG_DB_QUERY *v12; // esi
- UINT v13; // ST3C_4
- int v14; // ST38_4
- LONG_DB_QUERY *pQuery; // [esp+10h] [ebp-1834h]
- INT i; // [esp+14h] [ebp-1830h]
- INT Result; // [esp+18h] [ebp-182Ch]
- CHAR CharMissionFlag[2048]; // [esp+1Ch] [ebp-1828h]
- CHAR CharMissionData[4097]; // [esp+81Ch] [ebp-1028h]
- v2 = (*((int (__cdecl **)(DBTaskList *const ))this->_vptr_ODBCBase + 2))(this);
- v3 = 0;
- if ( v2 )
- {
- (*((void (__cdecl **)(DBTaskList *const , INT *))this->_vptr_ODBCBase + 4))(this, &Result);
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTaskList.cpp",
- 0x48u,
- "virtual int DBTaskList::Save(void*)",
- "pCharFullData");
- i = 0;
- v5 = pSource;
- do
- {
- v6 = ODBCBase::GetLongInterQuery((int)this);
- pQuery = v6;
- if ( !v6 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTaskList.cpp",
- 0x54u,
- "virtual int DBTaskList::Save(void*)",
- "FALSE");
- memset(v6, 0, 0x32000u);
- if ( this->m_CharGuid == -1 )
- return 0;
- v7 = v5[9063];
- if ( v7 != -1 )
- {
- v13 = this->m_DBVersion;
- v14 = *(_DWORD *)((char *)v5 + 36289);
- LONG_DB_QUERY::Parse(
- pQuery,
- NewCharTask,
- "t_mission",
- this->m_CharGuid,
- v7,
- v5[9064],
- *((unsigned __int8 *)v5 + 36260),
- *(_DWORD *)((char *)v5 + 36261),
- *(_DWORD *)((char *)v5 + 36265),
- *(_DWORD *)((char *)v5 + 36269),
- *(_DWORD *)((char *)v5 + 36273),
- *(_DWORD *)((char *)v5 + 36277),
- *(_DWORD *)((char *)v5 + 36281),
- *(_DWORD *)((char *)v5 + 36285));
- if ( !ODBCBase::LongSave(&this->0, pSource) )
- return 0;
- }
- ++i;
- v5 = (_DWORD *)((char *)v5 + 41);
- }
- while ( i <= 19 );
- memset(CharMissionData, 0, 0x1001u);
- Binary2String((const CHAR *)pSource + 37584, 0x800u, CharMissionData);
- v8 = ODBCBase::GetLongInterQuery((int)this);
- v9 = v8;
- if ( !v8 )
- __assert__("../../Common/DBSystem/DataBase/DBTaskList.cpp", 0x85u, "virtual int DBTaskList::Save(void*)", "FALSE");
- memset(v8, 0, 0x32000u);
- LONG_DB_QUERY::Parse(v9, UpdateCharTaskData, "t_char", CharMissionData, this->m_CharGuid, this->m_DBVersion);
- v10 = ODBCBase::LongSave(&this->0, pSource);
- v3 = 0;
- if ( v10 )
- {
- memset(CharMissionFlag, 0, 0x800u);
- Binary2String((const CHAR *)pSource + 37072, 0x200u, CharMissionFlag);
- v11 = ODBCBase::GetLongInterQuery((int)this);
- v12 = v11;
- if ( !v11 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTaskList.cpp",
- 0xA5u,
- "virtual int DBTaskList::Save(void*)",
- "FALSE");
- memset(v11, 0, 0x32000u);
- LONG_DB_QUERY::Parse(v12, UpdateCharTaskFlag, "t_char", CharMissionFlag, this->m_CharGuid, this->m_DBVersion);
- v3 = ODBCBase::LongSave(&this->0, pSource) != 0;
- }
- }
- return v3;
- }
- //----- (08086D88) --------------------------------------------------------
- #error "8086E13: positive sp value has been found (funcsize=41)"
- //----- (08086E4C) --------------------------------------------------------
- int __cdecl DBTaskList::ParseResult(DBTaskList *const this, void *pResult)
- {
- UINT MissionID; // ST50_4
- UINT ScriptID; // ST4C_4
- char v4; // ST48_1
- INT TP1; // ST44_4
- INT TP2; // ST40_4
- INT TP3; // ST3C_4
- INT TP4; // ST38_4
- INT TP5; // ST34_4
- INT TP6; // ST30_4
- INT TP7; // ST2C_4
- INT v12; // eax
- LONG_DB_QUERY *v13; // eax
- LONG_DB_QUERY *v14; // esi
- _DWORD *v16; // [esp+8h] [ebp-40h]
- INT i; // [esp+34h] [ebp-14h]
- INT ErrorCode; // [esp+38h] [ebp-10h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTaskList.cpp",
- 0xDFu,
- "virtual int DBTaskList::ParseResult(void*)",
- "pCharFullData");
- if ( this->mResultCount > 20 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTaskList.cpp",
- 0xF2u,
- "virtual int DBTaskList::ParseResult(void*)",
- "mResultCount<=MAX_CHAR_MISSION_NUM");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTaskList.cpp",
- 0xF3u,
- "virtual int DBTaskList::ParseResult(void*)",
- "mInterface");
- *((_BYTE *)pResult + 36251) = 0;
- i = 0;
- v16 = pResult;
- do
- {
- if ( !ODBCInterface::LongFetch(this->mInterface) )
- break;
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- MissionID = ODBCInterface::GetUInt(this->mInterface, 2, &ErrorCode);
- ScriptID = ODBCInterface::GetUInt(this->mInterface, 3, &ErrorCode);
- v4 = ODBCInterface::GetUInt(this->mInterface, 4, &ErrorCode);
- TP1 = ODBCInterface::GetInt(this->mInterface, 5, &ErrorCode);
- TP2 = ODBCInterface::GetInt(this->mInterface, 6, &ErrorCode);
- TP3 = ODBCInterface::GetInt(this->mInterface, 7, &ErrorCode);
- TP4 = ODBCInterface::GetInt(this->mInterface, 8, &ErrorCode);
- TP5 = ODBCInterface::GetInt(this->mInterface, 9, &ErrorCode);
- TP6 = ODBCInterface::GetInt(this->mInterface, 10, &ErrorCode);
- TP7 = ODBCInterface::GetInt(this->mInterface, 11, &ErrorCode);
- v12 = ODBCInterface::GetInt(this->mInterface, 12, &ErrorCode);
- v16[9063] = MissionID;
- v16[9064] = ScriptID;
- *((_BYTE *)v16 + 36260) = v4;
- *(_DWORD *)((char *)v16 + 36261) = TP1;
- *(_DWORD *)((char *)v16 + 36265) = TP2;
- *(_DWORD *)((char *)v16 + 36269) = TP3;
- *(_DWORD *)((char *)v16 + 36273) = TP4;
- *(_DWORD *)((char *)v16 + 36277) = TP5;
- *(_DWORD *)((char *)v16 + 36281) = TP6;
- *(_DWORD *)((char *)v16 + 36285) = TP7;
- *(_DWORD *)((char *)v16 + 36289) = v12;
- ++*((_BYTE *)pResult + 36251);
- ++i;
- v16 = (_DWORD *)((char *)v16 + 41);
- }
- while ( i <= 19 );
- ODBCInterface::Clear(this->mInterface);
- v13 = ODBCBase::GetLongInterQuery((int)this);
- v14 = v13;
- if ( !v13 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTaskList.cpp",
- 0x124u,
- "virtual int DBTaskList::ParseResult(void*)",
- "FALSE");
- memset(v13, 0, 0x32000u);
- LONG_DB_QUERY::Parse(v14, LoadCharTaskDataAndFlag, "t_char", this->m_CharGuid, this->m_DBVersion);
- ODBCBase::LongLoad(&this->0);
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTaskList.cpp",
- 0x134u,
- "virtual int DBTaskList::ParseResult(void*)",
- "mInterface");
- if ( this->mResultCount > 1 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTaskList.cpp",
- 0x135u,
- "virtual int DBTaskList::ParseResult(void*)",
- "mResultCount <= 1");
- if ( ODBCInterface::LongFetch(this->mInterface) )
- {
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- ODBCInterface::GetField(this->mInterface, 2, (CHAR *)pResult + 37072, 512, &ErrorCode);
- ODBCInterface::GetLongField(this->mInterface, 3, (CHAR *)pResult + 37584, 2048, &ErrorCode);
- }
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTaskList.cpp",
- 0x15Du,
- "virtual int DBTaskList::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (08087208) --------------------------------------------------------
- GUID_t __cdecl DBTaskList::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (08087214) --------------------------------------------------------
- void __cdecl DBTaskList::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (08087224) --------------------------------------------------------
- UINT __cdecl DBTaskList::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (08087230) --------------------------------------------------------
- void __cdecl DBTaskList::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (08087240) --------------------------------------------------------
- void __cdecl _tcf_0_119(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08087250) --------------------------------------------------------
- void `global constructor keyed to'DBTaskList::DBTaskList()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_119, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0808727C) --------------------------------------------------------
- void __cdecl DBTitleInfo::DBTitleInfo(DBTitleInfo *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D5C50;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTitleInfo.cpp",
- 0xEu,
- "DBTitleInfo::DBTitleInfo(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D5C50: using guessed type _DWORD (__cdecl *off_80D5C50)(DBTitleInfo *this);
- //----- (080872E8) --------------------------------------------------------
- void __cdecl DBTitleInfo::DBTitleInfo(DBTitleInfo *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D5C50;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTitleInfo.cpp",
- 0xEu,
- "DBTitleInfo::DBTitleInfo(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D5C50: using guessed type _DWORD (__cdecl *off_80D5C50)(DBTitleInfo *this);
- //----- (08087354) --------------------------------------------------------
- #error "80873DC: positive sp value has been found (funcsize=41)"
- //----- (08087414) --------------------------------------------------------
- int __cdecl DBTitleInfo::Save(DBTitleInfo *const this, void *pSource)
- {
- DB_QUERY *v2; // eax
- DB_QUERY *v3; // esi
- CHAR TitleInfo[2048]; // [esp+10h] [ebp-818h]
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTitleInfo.cpp",
- 0x3Eu,
- "virtual int DBTitleInfo::Save(void*)",
- "pCharFullData");
- memset(TitleInfo, 0, 0x800u);
- Binary2String((const CHAR *)pSource + 80, 0x2ECu, TitleInfo);
- v2 = ODBCBase::GetInternalQuery((int)this);
- v3 = v2;
- if ( !v2 )
- __assert__("../../Common/DBSystem/DataBase/DBTitleInfo.cpp", 0x4Du, "virtual int DBTitleInfo::Save(void*)", "FALSE");
- memset(v2, 0, 0x1000u);
- DB_QUERY::Parse(v3, UpdateCharTitleInfo, "t_char", TitleInfo, this->m_CharGuid, this->m_DBVersion);
- return ODBCBase::Save(&this->0, pSource) != 0;
- }
- //----- (08087544) --------------------------------------------------------
- int __cdecl DBTitleInfo::Delete(DBTitleInfo *const this)
- {
- return 1;
- }
- //----- (08087550) --------------------------------------------------------
- int __cdecl DBTitleInfo::ParseResult(DBTitleInfo *const this, void *pResult)
- {
- INT ErrorCode; // [esp+8h] [ebp-10h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTitleInfo.cpp",
- 0x79u,
- "virtual int DBTitleInfo::ParseResult(void*)",
- "pCharFullData");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTitleInfo.cpp",
- 0x83u,
- "virtual int DBTitleInfo::ParseResult(void*)",
- "mInterface");
- if ( ODBCInterface::Fetch(this->mInterface) )
- {
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- ODBCInterface::GetField(this->mInterface, 2, (CHAR *)pResult + 80, 748, &ErrorCode);
- }
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBTitleInfo.cpp",
- 0x9Du,
- "virtual int DBTitleInfo::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (08087688) --------------------------------------------------------
- GUID_t __cdecl DBTitleInfo::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (08087694) --------------------------------------------------------
- void __cdecl DBTitleInfo::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (080876A4) --------------------------------------------------------
- UINT __cdecl DBTitleInfo::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (080876B0) --------------------------------------------------------
- void __cdecl DBTitleInfo::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (080876C0) --------------------------------------------------------
- void __cdecl _tcf_0_120(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080876D0) --------------------------------------------------------
- void `global constructor keyed to'DBTitleInfo::DBTitleInfo()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_120, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080876FC) --------------------------------------------------------
- int __cdecl XinFaCompare(const void *pVoid1, const void *pVoid2)
- {
- int v2; // esi
- int v3; // ebx
- int result; // eax
- if ( !pVoid1 || !pVoid2 )
- return 0;
- v2 = *(signed __int16 *)pVoid1;
- v3 = *(signed __int16 *)pVoid2;
- result = 0;
- if ( v2 != v3 )
- {
- LOBYTE(result) = 1;
- if ( *(_WORD *)pVoid1 != -1 )
- {
- result = -1;
- if ( *(_WORD *)pVoid2 != -1 )
- {
- result = 1;
- if ( v2 <= v3 )
- result = (v2 >= v3) - 1;
- }
- }
- }
- return result;
- }
- //----- (0808774C) --------------------------------------------------------
- void __cdecl DBXinFaList::DBXinFaList(DBXinFaList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D5DC8;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBXinFaList.cpp",
- 0x1Cu,
- "DBXinFaList::DBXinFaList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D5DC8: using guessed type _DWORD (__cdecl *off_80D5DC8)(DBXinFaList *this);
- //----- (080877B8) --------------------------------------------------------
- void __cdecl DBXinFaList::DBXinFaList(DBXinFaList *const this, ODBCInterface *pInterface)
- {
- ODBCBase::ODBCBase(this);
- this->_vptr_ODBCBase = (int (**)(...))&off_80D5DC8;
- this->mDBName = 1;
- this->mResult = 0;
- this->mResultCount = 0;
- this->m_CharGuid = -1;
- this->m_DBVersion = 0;
- if ( !pInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBXinFaList.cpp",
- 0x1Cu,
- "DBXinFaList::DBXinFaList(ODBCInterface*)",
- "pInterface");
- this->mInterface = pInterface;
- }
- // 80D5DC8: using guessed type _DWORD (__cdecl *off_80D5DC8)(DBXinFaList *this);
- //----- (08087824) --------------------------------------------------------
- #error "80878AC: positive sp value has been found (funcsize=41)"
- //----- (080878E4) --------------------------------------------------------
- int __cdecl DBXinFaList::Save(DBXinFaList *const this, void *pSource)
- {
- int v2; // eax
- int v3; // edx
- INT v5; // eax
- DB_QUERY *v6; // eax
- DB_QUERY *v7; // edi
- UINT v8; // ST18_4
- INT i; // [esp+Ch] [ebp-18h]
- INT XinFaCount; // [esp+10h] [ebp-14h]
- INT Result; // [esp+14h] [ebp-10h]
- v2 = (*((int (__cdecl **)(DBXinFaList *const ))this->_vptr_ODBCBase + 2))(this);
- v3 = 0;
- if ( v2 )
- {
- (*((void (__cdecl **)(DBXinFaList *const , INT *))this->_vptr_ODBCBase + 4))(this, &Result);
- if ( !pSource )
- __assert__(
- "../../Common/DBSystem/DataBase/DBXinFaList.cpp",
- 0x4Cu,
- "virtual int DBXinFaList::Save(void*)",
- "pCharFullData");
- v5 = *((unsigned __int8 *)pSource + 33897);
- XinFaCount = *((unsigned __int8 *)pSource + 33897);
- i = 0;
- while ( i < v5 )
- {
- v6 = ODBCBase::GetInternalQuery((int)this);
- v7 = v6;
- if ( !v6 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBXinFaList.cpp",
- 0x56u,
- "virtual int DBXinFaList::Save(void*)",
- "FALSE");
- memset(v6, 0, 0x1000u);
- if ( this->m_CharGuid == -1 )
- return 0;
- v8 = this->m_DBVersion;
- DB_QUERY::Parse(
- v7,
- NewCharXinFa,
- "t_xinfa",
- this->m_CharGuid,
- *((signed __int16 *)pSource + 2 * i + 16949),
- *((unsigned __int8 *)pSource + 4 * i + 33900));
- if ( !ODBCBase::Save(&this->0, pSource) )
- return 0;
- ++i;
- v5 = XinFaCount;
- }
- v3 = 1;
- }
- return v3;
- }
- //----- (08087A4C) --------------------------------------------------------
- #error "8087AD7: positive sp value has been found (funcsize=41)"
- //----- (08087B0C) --------------------------------------------------------
- int __cdecl DBXinFaList::ParseResult(DBXinFaList *const this, void *pResult)
- {
- signed int v2; // eax
- SkillID_t v3; // ST24_2
- BYTE v4; // al
- signed int v5; // edx
- _OWN_XINFA v6; // eax
- INT k; // [esp+8h] [ebp-60h]
- INT ErrorCode; // [esp+Ch] [ebp-5Ch]
- _OWN_XINFA tmpXinFa[16]; // [esp+10h] [ebp-58h]
- if ( this->mOPType == DB_LOAD )
- {
- if ( !pResult )
- __assert__(
- "../../Common/DBSystem/DataBase/DBXinFaList.cpp",
- 0x97u,
- "virtual int DBXinFaList::ParseResult(void*)",
- "pCharFullData");
- if ( this->mResultCount > 16 )
- __assert__(
- "../../Common/DBSystem/DataBase/DBXinFaList.cpp",
- 0xA2u,
- "virtual int DBXinFaList::ParseResult(void*)",
- "mResultCount<=MAX_CHAR_XINFA_NUM");
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBXinFaList.cpp",
- 0xA3u,
- "virtual int DBXinFaList::ParseResult(void*)",
- "mInterface");
- *((_BYTE *)pResult + 33897) = 0;
- v2 = 0;
- do
- {
- tmpXinFa[v2].m_nXinFaID = -1;
- tmpXinFa[v2++].m_nLevel = 0;
- }
- while ( v2 <= 15 );
- k = 0;
- do
- {
- if ( !ODBCInterface::Fetch(this->mInterface) )
- break;
- ODBCInterface::GetUInt(this->mInterface, 1, &ErrorCode);
- v3 = ODBCInterface::GetInt(this->mInterface, 2, &ErrorCode);
- v4 = ODBCInterface::GetInt(this->mInterface, 3, &ErrorCode);
- tmpXinFa[k].m_nXinFaID = v3;
- tmpXinFa[k++].m_nLevel = v4;
- }
- while ( k <= 15 );
- qsort(tmpXinFa, 0x10u, 4u, XinFaCompare);
- v5 = 0;
- do
- {
- v6 = tmpXinFa[v5];
- if ( v6.m_nXinFaID == -1 )
- break;
- *((_WORD *)pResult + 2 * v5 + 16949) = v6.m_nXinFaID;
- *((_BYTE *)pResult + 4 * v5 + 33900) = tmpXinFa[v5].m_nLevel;
- ++v5;
- ++*((_BYTE *)pResult + 33897);
- }
- while ( v5 <= 15 );
- ODBCInterface::Clear(this->mInterface);
- }
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/DBXinFaList.cpp",
- 0xD5u,
- "virtual int DBXinFaList::ParseResult(void*)",
- "mInterface");
- ODBCInterface::Clear(this->mInterface);
- return 1;
- }
- //----- (08087CFC) --------------------------------------------------------
- GUID_t __cdecl DBXinFaList::GetCharGuid(int a2)
- {
- return *(_DWORD *)(a2 + 24);
- }
- //----- (08087D08) --------------------------------------------------------
- void __cdecl DBXinFaList::SetCharGuid(int a3, int a4)
- {
- *(_DWORD *)(a3 + 24) = a4;
- }
- //----- (08087D18) --------------------------------------------------------
- UINT __cdecl DBXinFaList::GetDBVersion(int a2)
- {
- return *(_DWORD *)(a2 + 28);
- }
- //----- (08087D24) --------------------------------------------------------
- void __cdecl DBXinFaList::SetDBVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 28) = a4;
- }
- //----- (08087D34) --------------------------------------------------------
- void __cdecl _tcf_0_121(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08087D44) --------------------------------------------------------
- void `global constructor keyed to'DBXinFaList::DBXinFaList()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_121, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08087D70) --------------------------------------------------------
- void __cdecl ODBCBase::ODBCBase(_DWORD *a2)
- {
- *a2 = off_80D5F70;
- a2[2] = 0;
- a2[1] = 0;
- a2[4] = 4;
- }
- // 80D5F70: using guessed type _DWORD (__cdecl *off_80D5F70[3])(ODBCBase *this);
- //----- (08087D94) --------------------------------------------------------
- void __cdecl ODBCBase::ODBCBase(_DWORD *a2)
- {
- *a2 = off_80D5F70;
- a2[2] = 0;
- a2[1] = 0;
- a2[4] = 4;
- }
- // 80D5F70: using guessed type _DWORD (__cdecl *off_80D5F70[3])(ODBCBase *this);
- //----- (08087DB8) --------------------------------------------------------
- UINT __cdecl ODBCBase::GetResultCount(int a2)
- {
- return *(_DWORD *)(a2 + 4);
- }
- //----- (08087DC4) --------------------------------------------------------
- DB_QUERY *__cdecl ODBCBase::GetInternalQuery(int a2)
- {
- return (DB_QUERY *)(*(_DWORD *)(a2 + 20) + 253844);
- }
- //----- (08087DD4) --------------------------------------------------------
- LONG_DB_QUERY *__cdecl ODBCBase::GetLongInterQuery(int a2)
- {
- return (LONG_DB_QUERY *)(*(_DWORD *)(a2 + 20) + 257940);
- }
- //----- (08087DE4) --------------------------------------------------------
- INT __cdecl ODBCBase::GetInternalAffectCount(int a2)
- {
- return *(_DWORD *)(*(_DWORD *)(a2 + 20) + 250432);
- }
- //----- (08087DF8) --------------------------------------------------------
- int __cdecl ODBCBase::IsPrepare(int a2)
- {
- return **(_DWORD **)(a2 + 20);
- }
- //----- (08087E08) --------------------------------------------------------
- int __cdecl ODBCBase::Load(ODBCBase *const this)
- {
- int v1; // eax
- int v2; // edx
- ODBCInterface *v3; // ebx
- int v4; // eax
- v1 = ODBCBase::IsPrepare((int)this);
- v2 = 0;
- if ( v1 )
- {
- v3 = this->mInterface;
- if ( v3 )
- {
- this->mOPType = 0;
- v4 = ODBCInterface::Execute(v3);
- this->mResultCount = v3->mAffectCount;
- this->mResult = v4;
- v2 = v4;
- }
- }
- return v2;
- }
- //----- (08087E98) --------------------------------------------------------
- int __cdecl ODBCBase::LongLoad(ODBCBase *const this)
- {
- int v1; // eax
- int v2; // edx
- ODBCInterface *v3; // ebx
- int v4; // eax
- v1 = ODBCBase::IsPrepare((int)this);
- v2 = 0;
- if ( v1 )
- {
- v3 = this->mInterface;
- if ( v3 )
- {
- this->mOPType = 0;
- v4 = ODBCInterface::LongExecute(v3);
- this->mResultCount = v3->mAffectCount;
- this->mResult = v4;
- v2 = v4;
- }
- }
- return v2;
- }
- //----- (08087F28) --------------------------------------------------------
- int __cdecl ODBCBase::AddNew(ODBCBase *const this)
- {
- int v1; // eax
- int v2; // edx
- ODBCInterface *v3; // ebx
- int v4; // eax
- v1 = ODBCBase::IsPrepare((int)this);
- v2 = 0;
- if ( v1 )
- {
- v3 = this->mInterface;
- if ( v3 )
- {
- this->mOPType = 2;
- v4 = ODBCInterface::Execute(v3);
- this->mResultCount = v3->mAffectCount;
- this->mResult = v4;
- v2 = v4;
- }
- }
- return v2;
- }
- //----- (08087FB8) --------------------------------------------------------
- int __cdecl ODBCBase::Delete(ODBCBase *const this)
- {
- int v1; // eax
- int v2; // edx
- ODBCInterface *v3; // ebx
- int v4; // eax
- v1 = ODBCBase::IsPrepare((int)this);
- v2 = 0;
- if ( v1 )
- {
- v3 = this->mInterface;
- if ( v3 )
- {
- this->mOPType = 3;
- v4 = ODBCInterface::Execute(v3);
- this->mResultCount = v3->mAffectCount;
- this->mResult = v4;
- v2 = v4;
- }
- }
- return v2;
- }
- //----- (0808804C) --------------------------------------------------------
- int __cdecl ODBCBase::LongDelete(ODBCBase *const this)
- {
- int v1; // eax
- int v2; // edx
- ODBCInterface *v3; // ebx
- int v4; // eax
- v1 = ODBCBase::IsPrepare((int)this);
- v2 = 0;
- if ( v1 )
- {
- v3 = this->mInterface;
- if ( v3 )
- {
- this->mOPType = 3;
- v4 = ODBCInterface::LongExecute(v3);
- this->mResultCount = v3->mAffectCount;
- this->mResult = v4;
- v2 = v4;
- }
- }
- return v2;
- }
- //----- (080880E0) --------------------------------------------------------
- int __cdecl ODBCBase::Save(ODBCBase *const this, void *pSource)
- {
- int v2; // eax
- int v3; // edx
- ODBCInterface *v4; // ebx
- int v5; // eax
- v2 = ODBCBase::IsPrepare((int)this);
- v3 = 0;
- if ( v2 )
- {
- v4 = this->mInterface;
- if ( v4 )
- {
- this->mOPType = 1;
- v5 = ODBCInterface::Execute(v4);
- this->mResultCount = v4->mAffectCount;
- this->mResult = v5;
- v3 = v5;
- }
- }
- return v3;
- }
- //----- (08088174) --------------------------------------------------------
- int __cdecl ODBCBase::LongSave(ODBCBase *const this, void *pSource)
- {
- int v2; // eax
- int v3; // edx
- ODBCInterface *v4; // ebx
- int v5; // eax
- v2 = ODBCBase::IsPrepare((int)this);
- v3 = 0;
- if ( v2 )
- {
- v4 = this->mInterface;
- if ( v4 )
- {
- this->mOPType = 1;
- v5 = ODBCInterface::LongExecute(v4);
- this->mResultCount = v4->mAffectCount;
- this->mResult = v5;
- v3 = v5;
- }
- }
- return v3;
- }
- //----- (08088208) --------------------------------------------------------
- void __cdecl ODBCBase::SetDBName(int a3, int a4)
- {
- *(_DWORD *)(a3 + 12) = a4;
- }
- //----- (08088218) --------------------------------------------------------
- INT __cdecl ODBCBase::GetErrorCode(int a2)
- {
- return *(_DWORD *)(*(_DWORD *)(a2 + 20) + 462740);
- }
- //----- (0808822C) --------------------------------------------------------
- CHAR *__cdecl ODBCBase::GetErrorMessage(int a2)
- {
- return (CHAR *)(*(_DWORD *)(a2 + 20) + 462744);
- }
- //----- (0808823C) --------------------------------------------------------
- int __cdecl ODBCBase::CheckDBConnect(ODBCBase *const this, const CHAR *pInfo)
- {
- int v2; // ecx
- signed int v4; // ebx
- int v5; // eax
- CHAR info[256]; // [esp+0h] [ebp-118h]
- if ( !this->mInterface )
- __assert__(
- "../../Common/DBSystem/DataBase/ODBCBase.cpp",
- 0xF3u,
- "int ODBCBase::CheckDBConnect(const CHAR*)",
- "mInterface");
- memset(info, 0, 0x100u);
- if ( pInfo )
- strncpy(info, pInfo, 0xFFu);
- if ( !this->mInterface->mConnected )
- {
- DiskLog("./Log/ShareMemory", "ERROR:%s...connect database is fails", info, v2);
- v4 = 0;
- while ( 1 )
- {
- MySleep(5000);
- v5 = ODBCInterface::Connect(this->mInterface);
- if ( v5 )
- break;
- DiskLog("./Log/ShareMemory", "ERROR:%s...Can't connect database(%d)", info, v4++);
- if ( v4 > 4 )
- return 0;
- }
- DiskLog("./Log/ShareMemory", "ERROR:%s...Reconnect database", info, v5);
- }
- return 1;
- }
- //----- (08088374) --------------------------------------------------------
- void __cdecl _tcf_0_122(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08088384) --------------------------------------------------------
- void `global constructor keyed to'ODBCBase::ODBCBase()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_122, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080883B0) --------------------------------------------------------
- INT __cdecl ODBCInterface::GetInt(ODBCInterface *const this, INT ColIndex, INT *const ErrorCode)
- {
- if ( this->mColCount < ColIndex )
- {
- *ErrorCode = -102;
- __assert__(
- "../../Common/DBSystem/DataBase/ODBCInterface.cpp",
- 0x173u,
- "int ODBCInterface::GetInt(INT, INT&)",
- "FALSE");
- }
- if ( *(_DWORD *)&this->ColName[99][4 * ColIndex + 28] == -1 )
- {
- *ErrorCode = -100;
- __assert__(
- "../../Common/DBSystem/DataBase/ODBCInterface.cpp",
- 0x17Au,
- "int ODBCInterface::GetInt(INT, INT&)",
- "FALSE");
- }
- *ErrorCode = 0;
- return __strtol_internal((const char *)this + 2500 * ColIndex - 2486, 0, 10, 0);
- }
- //----- (080884A0) --------------------------------------------------------
- void __cdecl ODBCInterface::ODBCInterface(int a2)
- {
- *(_DWORD *)a2 = 0;
- *(_DWORD *)(a2 + 250432) = -1;
- *(_WORD *)(a2 + 12) = 0;
- *(_DWORD *)(a2 + 4) = 0;
- *(_DWORD *)(a2 + 250436) = 0;
- *(_DWORD *)(a2 + 8) = 0;
- memset((void *)(a2 + 462744), 0, 0xFFu);
- memset((void *)(a2 + 253844), 0, 0x1000u);
- }
- //----- (0808850C) --------------------------------------------------------
- void __cdecl ODBCInterface::ODBCInterface(int a2)
- {
- *(_DWORD *)a2 = 0;
- *(_DWORD *)(a2 + 250432) = -1;
- *(_WORD *)(a2 + 12) = 0;
- *(_DWORD *)(a2 + 4) = 0;
- *(_DWORD *)(a2 + 250436) = 0;
- *(_DWORD *)(a2 + 8) = 0;
- memset((void *)(a2 + 462744), 0, 0xFFu);
- memset((void *)(a2 + 253844), 0, 0x1000u);
- }
- //----- (08088578) --------------------------------------------------------
- void __cdecl ODBCInterface::~ODBCInterface(ODBCInterface *const this)
- {
- SQLHDBC v1; // eax
- int v2; // [esp-10h] [ebp-14h]
- if ( this->hStmt )
- {
- SQLFreeHandle(3, this->hStmt);
- v1 = this->hDbc;
- if ( !v1 )
- goto LABEL_3;
- }
- else
- {
- v1 = this->hDbc;
- if ( !v1 )
- goto LABEL_3;
- }
- SQLDisconnect(v1, v2);
- if ( this->hDbc )
- SQLFreeHandle(2, this->hDbc);
- LABEL_3:
- if ( this->hEnv )
- SQLFreeHandle(1, this->hEnv);
- }
- // 8049D08: using guessed type int __cdecl SQLFreeHandle(_DWORD, _DWORD);
- // 804A188: using guessed type int __stdcall SQLDisconnect(_DWORD, _DWORD);
- //----- (08088634) --------------------------------------------------------
- void __cdecl ODBCInterface::~ODBCInterface(ODBCInterface *const this)
- {
- SQLHDBC v1; // eax
- int v2; // [esp-10h] [ebp-14h]
- if ( this->hStmt )
- {
- SQLFreeHandle(3, this->hStmt);
- v1 = this->hDbc;
- if ( !v1 )
- goto LABEL_3;
- }
- else
- {
- v1 = this->hDbc;
- if ( !v1 )
- goto LABEL_3;
- }
- SQLDisconnect(v1, v2);
- if ( this->hDbc )
- SQLFreeHandle(2, this->hDbc);
- LABEL_3:
- if ( this->hEnv )
- SQLFreeHandle(1, this->hEnv);
- }
- // 8049D08: using guessed type int __cdecl SQLFreeHandle(_DWORD, _DWORD);
- // 804A188: using guessed type int __stdcall SQLDisconnect(_DWORD, _DWORD);
- //----- (080886F0) --------------------------------------------------------
- int __cdecl ODBCInterface::Close(ODBCInterface *const this)
- {
- int v2; // [esp-Ch] [ebp-14h]
- if ( this->hStmt )
- {
- SQLCloseCursor(this->hStmt);
- SQLFreeStmt(this->hStmt);
- SQLFreeHandle(3, this->hStmt);
- this->hStmt = 0;
- }
- if ( this->hDbc )
- {
- SQLDisconnect(this->hDbc, v2);
- SQLFreeHandle(2, this->hDbc);
- this->hDbc = 0;
- }
- this->mConnected = 0;
- return 1;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- // 8049D08: using guessed type int __cdecl SQLFreeHandle(_DWORD, _DWORD);
- // 8049FA8: using guessed type int __cdecl SQLFreeStmt(_DWORD);
- // 804A048: using guessed type int __cdecl SQLCloseCursor(_DWORD);
- // 804A188: using guessed type int __stdcall SQLDisconnect(_DWORD, _DWORD);
- //----- (08088804) --------------------------------------------------------
- void __cdecl ODBCInterface::Clear(ODBCInterface *const this)
- {
- SQLCloseCursor(this->hStmt);
- SQLFreeStmt(this->hStmt);
- }
- // 8049FA8: using guessed type int __cdecl SQLFreeStmt(_DWORD);
- // 804A048: using guessed type int __cdecl SQLCloseCursor(_DWORD);
- //----- (08088878) --------------------------------------------------------
- void __cdecl ODBCInterface::Clear_NoCommit(ODBCInterface *const this)
- {
- SQLCloseCursor(this->hStmt);
- SQLFreeStmt(this->hStmt);
- }
- // 8049FA8: using guessed type int __cdecl SQLFreeStmt(_DWORD);
- // 804A048: using guessed type int __cdecl SQLCloseCursor(_DWORD);
- //----- (080888EC) --------------------------------------------------------
- UINT __cdecl ODBCInterface::GetUInt(ODBCInterface *const this, INT ColIndex, INT *const ErrorCode)
- {
- if ( this->mColCount < ColIndex )
- {
- *ErrorCode = -102;
- __assert__(
- "../../Common/DBSystem/DataBase/ODBCInterface.cpp",
- 0x18Fu,
- "UINT ODBCInterface::GetUInt(INT, INT&)",
- "FALSE");
- }
- if ( *(_DWORD *)&this->ColName[99][4 * ColIndex + 28] == -1 )
- {
- *ErrorCode = -100;
- __assert__(
- "../../Common/DBSystem/DataBase/ODBCInterface.cpp",
- 0x196u,
- "UINT ODBCInterface::GetUInt(INT, INT&)",
- "FALSE");
- }
- *ErrorCode = 0;
- return __strtol_internal((const char *)this + 2500 * ColIndex - 2486, 0, 10, 0);
- }
- //----- (080889DC) --------------------------------------------------------
- FLOAT __cdecl ODBCInterface::GetFloat(ODBCInterface *const this, INT ColIndex, INT *const ErrorCode)
- {
- if ( this->mColCount < ColIndex )
- {
- *ErrorCode = -102;
- __assert__(
- "../../Common/DBSystem/DataBase/ODBCInterface.cpp",
- 0x1ABu,
- "FLOAT ODBCInterface::GetFloat(INT, INT&)",
- "FALSE");
- }
- if ( *(_DWORD *)&this->ColName[99][4 * ColIndex + 28] == -1 )
- {
- *ErrorCode = -100;
- __assert__(
- "../../Common/DBSystem/DataBase/ODBCInterface.cpp",
- 0x1B2u,
- "FLOAT ODBCInterface::GetFloat(INT, INT&)",
- "FALSE");
- }
- *ErrorCode = 0;
- return __strtod_internal((const char *)this + 2500 * ColIndex - 2486, 0, 0);
- }
- //----- (08088AD0) --------------------------------------------------------
- void __cdecl ODBCInterface::GetString(ODBCInterface *const this, INT ColIndex, CHAR *buf, INT BufLen, INT *const ErrorCode)
- {
- UINT v5; // [esp-Ch] [ebp-24h]
- if ( this->mColCount < ColIndex )
- {
- *ErrorCode = -102;
- *buf = 0;
- v5 = 458;
- goto LABEL_8;
- }
- if ( *(_DWORD *)&this->ColName[99][4 * ColIndex + 28] == -1 )
- {
- *ErrorCode = -100;
- *buf = 0;
- v5 = 466;
- LABEL_8:
- __assert__(
- "../../Common/DBSystem/DataBase/ODBCInterface.cpp",
- v5,
- "void ODBCInterface::GetString(INT, CHAR*, INT, INT&)",
- "FALSE");
- }
- if ( BufLen <= 2499 )
- strncpy(buf, (const char *)this + 2500 * ColIndex - 2486, BufLen);
- else
- strncpy(buf, (const char *)this + 2500 * ColIndex - 2486, 0x9C4u);
- *ErrorCode = 0;
- }
- //----- (08088BD8) --------------------------------------------------------
- void __cdecl ODBCInterface::GetField(ODBCInterface *const this, INT ColIndex, CHAR *buf, INT BufLen, INT *const ErrorCode)
- {
- UINT v5; // [esp-Ch] [ebp-24h]
- const CHAR *v6; // [esp-4h] [ebp-1Ch]
- UINT OutLength; // [esp+8h] [ebp-10h]
- if ( this->mColCount < ColIndex )
- {
- *ErrorCode = -102;
- *buf = 0;
- __assert__(
- "../../Common/DBSystem/DataBase/ODBCInterface.cpp",
- 0x1EAu,
- "void ODBCInterface::GetField(INT, CHAR*, INT, INT&)",
- "FALSE");
- }
- if ( *(_DWORD *)&this->ColName[99][4 * ColIndex + 28] == -1 )
- {
- *ErrorCode = -100;
- *buf = 0;
- __assert__(
- "../../Common/DBSystem/DataBase/ODBCInterface.cpp",
- 0x1F2u,
- "void ODBCInterface::GetField(INT, CHAR*, INT, INT&)",
- "FALSE");
- }
- if ( BufLen > 2499 )
- {
- memcpy(buf, (char *)this + 2500 * ColIndex - 2486, 0x9C4u);
- v6 = "FALSE";
- v5 = 511;
- goto LABEL_5;
- }
- OutLength = 0;
- DBStr2Binary((const CHAR *)this + 2500 * ColIndex - 2486, 0x9C4u, buf, BufLen, &OutLength);
- if ( (signed int)OutLength > BufLen )
- {
- v6 = "(INT)OutLength<=BufLen";
- v5 = 506;
- LABEL_5:
- __assert__(
- "../../Common/DBSystem/DataBase/ODBCInterface.cpp",
- v5,
- "void ODBCInterface::GetField(INT, CHAR*, INT, INT&)",
- v6);
- }
- *ErrorCode = 0;
- }
- //----- (08088D44) --------------------------------------------------------
- void __cdecl ODBCInterface::GetLongField(ODBCInterface *const this, INT ColIndex, CHAR *buf, INT BufLen, INT *const ErrorCode)
- {
- UINT v5; // [esp-Ch] [ebp-24h]
- const CHAR *v6; // [esp-4h] [ebp-1Ch]
- UINT OutLength; // [esp+8h] [ebp-10h]
- if ( this->mColCount < ColIndex )
- {
- *ErrorCode = -102;
- *buf = 0;
- __assert__(
- "../../Common/DBSystem/DataBase/ODBCInterface.cpp",
- 0x20Fu,
- "void ODBCInterface::GetLongField(INT, CHAR*, INT, INT&)",
- "FALSE");
- }
- if ( *(_DWORD *)&this->ColName[99][4 * ColIndex + 28] == -1 )
- {
- *ErrorCode = -100;
- *buf = 0;
- __assert__(
- "../../Common/DBSystem/DataBase/ODBCInterface.cpp",
- 0x217u,
- "void ODBCInterface::GetLongField(INT, CHAR*, INT, INT&)",
- "FALSE");
- }
- if ( BufLen > 249999 )
- {
- memcpy(buf, (char *)this + 2500 * ColIndex - 2486, 0x3D090u);
- v6 = "FALSE";
- v5 = 548;
- goto LABEL_5;
- }
- OutLength = 0;
- DBStr2Binary((const CHAR *)this + 2500 * ColIndex - 2486, 0x3D090u, buf, BufLen, &OutLength);
- if ( (signed int)OutLength > BufLen )
- {
- v6 = "(INT)OutLength<=BufLen";
- v5 = 543;
- LABEL_5:
- __assert__(
- "../../Common/DBSystem/DataBase/ODBCInterface.cpp",
- v5,
- "void ODBCInterface::GetLongField(INT, CHAR*, INT, INT&)",
- v6);
- }
- *ErrorCode = 0;
- }
- //----- (08088EB0) --------------------------------------------------------
- void __cdecl ODBCInterface::SaveErrorLog(ODBCInterface *const this, const CHAR *pLog)
- {
- FILE *v2; // eax
- FILE *v3; // esi
- if ( *pLog )
- {
- v2 = fopen("./Log/dberror.log", "a");
- v3 = v2;
- if ( v2 )
- {
- fwrite(pLog, 1u, strlen(pLog), v2);
- fwrite("\r\n", 1u, 2u, v3);
- fclose(v3);
- }
- }
- }
- //----- (08088F6C) --------------------------------------------------------
- void __cdecl ODBCInterface::DiagStateEx(ODBCInterface *const this)
- {
- SQLCHAR *v1; // edi
- signed int v2; // ebx
- __int16 i; // ax
- _BOOL2 v4; // ax
- bool v5; // zf
- SQLINTEGER v6; // eax
- SQLINTEGER NativeError; // [esp+Ch] [ebp-230h]
- SQLSMALLINT MsgLen; // [esp+12h] [ebp-22Ah]
- CHAR ErrorBuffer[512]; // [esp+14h] [ebp-228h]
- SQLCHAR SqlState[6]; // [esp+214h] [ebp-28h]
- v1 = this->mErrorMsg;
- memset(this->mErrorMsg, 0, 0xFFu);
- v2 = 1;
- for ( i = SQLGetDiagRec(2, this->hDbc, 1, SqlState, &NativeError, this->mErrorMsg, 255, &MsgLen);
- ;
- i = SQLGetDiagRec(2, this->hDbc, (signed __int16)v2, SqlState, &NativeError, v1, 255, &MsgLen) )
- {
- v4 = i != 100;
- this->mResult = v4;
- if ( !v4 )
- break;
- ++v2;
- }
- v5 = this->mErrorMsg[0] == 0;
- this->mErrorMsg[254] = 0;
- if ( v5 )
- this->mResult = SQLError(this->hEnv, this->hDbc, this->hStmt, SqlState, &NativeError, v1, 255, &MsgLen);
- v6 = NativeError;
- v5 = NativeError == 1062;
- this->mErrorCode = NativeError;
- if ( !v5 && v6 != 2601 )
- ODBCInterface::Close(this);
- memset(ErrorBuffer, 0, 0x200u);
- sprintf(ErrorBuffer, "ErrorCode = %d,ErrorMessage = %s,ErrorSql", this->mErrorCode, v1);
- ODBCInterface::SaveErrorLog(this, ErrorBuffer);
- ODBCInterface::SaveErrorLog(this, (const CHAR *)&this->m_LongQuery);
- }
- // 8049D78: using guessed type int __cdecl SQLGetDiagRec(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
- // 8049F28: using guessed type int __cdecl SQLError(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
- //----- (080890FC) --------------------------------------------------------
- void __cdecl ODBCInterface::DiagState(ODBCInterface *const this)
- {
- SQLCHAR *v1; // edi
- signed int v2; // ebx
- __int16 i; // ax
- _BOOL2 v4; // ax
- bool v5; // zf
- SQLINTEGER v6; // eax
- SQLINTEGER NativeError; // [esp+Ch] [ebp-230h]
- SQLSMALLINT MsgLen; // [esp+12h] [ebp-22Ah]
- CHAR ErrorBuffer[512]; // [esp+14h] [ebp-228h]
- SQLCHAR SqlState[6]; // [esp+214h] [ebp-28h]
- v1 = this->mErrorMsg;
- memset(this->mErrorMsg, 0, 0xFFu);
- v2 = 1;
- for ( i = SQLGetDiagRec(2, this->hDbc, 1, SqlState, &NativeError, this->mErrorMsg, 255, &MsgLen);
- ;
- i = SQLGetDiagRec(2, this->hDbc, (signed __int16)v2, SqlState, &NativeError, v1, 255, &MsgLen) )
- {
- v4 = i != 100;
- this->mResult = v4;
- if ( !v4 )
- break;
- ++v2;
- }
- v5 = this->mErrorMsg[0] == 0;
- this->mErrorMsg[254] = 0;
- if ( v5 )
- this->mResult = SQLError(this->hEnv, this->hDbc, this->hStmt, SqlState, &NativeError, v1, 255, &MsgLen);
- v6 = NativeError;
- v5 = NativeError == 1062;
- this->mErrorCode = NativeError;
- if ( !v5 && v6 != 2601 )
- ODBCInterface::Close(this);
- memset(ErrorBuffer, 0, 0x200u);
- sprintf(ErrorBuffer, "ErrorCode = %d,ErrorMessage = %s,ErrorSql", this->mErrorCode, v1);
- ODBCInterface::SaveErrorLog(this, ErrorBuffer);
- ODBCInterface::SaveErrorLog(this, (const CHAR *)&this->m_Query);
- }
- // 8049D78: using guessed type int __cdecl SQLGetDiagRec(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
- // 8049F28: using guessed type int __cdecl SQLError(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
- //----- (0808928C) --------------------------------------------------------
- int __cdecl ODBCInterface::LongFetch(ODBCInterface *const this)
- {
- SQLRETURN v1; // ax
- CHAR (*v3)[2500]; // esi
- signed int v4; // edi
- int ColIndex; // [esp+10h] [ebp-14h]
- SQLINTEGER LenData; // [esp+14h] [ebp-10h]
- v1 = SQLFetch(this->hStmt);
- this->mResult = v1;
- if ( (unsigned __int16)v1 > 1u )
- {
- if ( v1 != 100 )
- ODBCInterface::DiagState(this);
- return 0;
- }
- if ( v1 == 100 )
- return 0;
- ColIndex = 0;
- if ( this->mColCount > 0 )
- {
- v3 = this->Col;
- v4 = 250000;
- do
- {
- LenData = 0;
- SQLGetData(this->hStmt, (unsigned __int16)(ColIndex++ + 1), 1, v3, v4, &LenData);
- v4 -= 2500;
- ++v3;
- }
- while ( this->mColCount > ColIndex );
- }
- return 1;
- }
- // 804A058: using guessed type int __cdecl SQLFetch(_DWORD);
- // 804A078: using guessed type int __cdecl SQLGetData(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
- //----- (08089380) --------------------------------------------------------
- int __cdecl ODBCInterface::Fetch(ODBCInterface *const this)
- {
- SQLRETURN v1; // ax
- signed int v3; // edi
- CHAR (*v4)[2500]; // esi
- SQLINTEGER LenData; // [esp+14h] [ebp-10h]
- v1 = SQLFetch(this->hStmt);
- this->mResult = v1;
- if ( (unsigned __int16)v1 > 1u )
- {
- if ( v1 != 100 )
- ODBCInterface::DiagState(this);
- return 0;
- }
- if ( v1 == 100 )
- return 0;
- v3 = 0;
- if ( this->mColCount > 0 )
- {
- v4 = this->Col;
- do
- {
- LenData = 0;
- SQLGetData(this->hStmt, (unsigned __int16)(v3++ + 1), 1, v4, 2500, &LenData);
- ++v4;
- }
- while ( this->mColCount > v3 );
- }
- return 1;
- }
- // 804A058: using guessed type int __cdecl SQLFetch(_DWORD);
- // 804A078: using guessed type int __cdecl SQLGetData(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
- //----- (08089464) --------------------------------------------------------
- int __cdecl ODBCInterface::Connect(ODBCInterface *const this)
- {
- ODBCInterface *v1; // esi
- int v2; // eax
- int v3; // ST1C_4
- int result; // eax
- SQLRETURN v5; // ax
- CHAR LogBuff[512]; // [esp+1Ch] [ebp-218h]
- v1 = this;
- ODBCInterface::Close(this);
- SQLAllocHandle(2, v1->hEnv, &v1->hDbc);
- v2 = SQLConnect(v1->hDbc, v1->mConnectStr, -3, v1->mUserName, -3, v1->mPassWord, -3);
- this->mResult = v2;
- if ( (unsigned __int16)v2 > 1u )
- {
- v3 = v2;
- memset(LogBuff, 0, 0x200u);
- sprintf(LogBuff, "Connect string: %s", this->mConnectStr);
- sprintf(LogBuff, "Connect string: %s", this->mUserName, v3);
- ODBCInterface::DiagState(this);
- return 0;
- }
- v5 = SQLAllocHandle(3, this->hDbc, &this->hStmt);
- this->mResult = v5;
- if ( (unsigned __int16)v5 > 1u )
- {
- this->hStmt = 0;
- return 0;
- }
- result = 1;
- this->mConnected = 1;
- return result;
- }
- // 804A088: using guessed type int __cdecl SQLConnect(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
- // 804A118: using guessed type int __cdecl SQLAllocHandle(_DWORD, _DWORD, _DWORD);
- //----- (08089590) --------------------------------------------------------
- int __cdecl ODBCInterface::Connect(ODBCInterface *const this, const CHAR *ConnectStr, const CHAR *UserName, const CHAR *Password)
- {
- ODBCInterface *v4; // esi
- int v5; // eax
- int v6; // ST1C_4
- int result; // eax
- SQLRETURN v8; // ax
- CHAR LogBuff[512]; // [esp+1Ch] [ebp-218h]
- v4 = this;
- ODBCInterface::Close(this);
- strncpy(this->mConnectStr, ConnectStr, 0x80u);
- strncpy(this->mUserName, UserName, 0x20u);
- strncpy(this->mPassWord, Password, 0x100u);
- SQLAllocHandle(1, 0, &this->hEnv);
- SQLSetEnvAttr(this->hEnv, 200, 3);
- SQLAllocHandle(2, v4->hEnv, &v4->hDbc);
- v5 = SQLConnect(v4->hDbc, this->mConnectStr, -3, v4->mUserName, -3, v4->mPassWord, -3);
- this->mResult = v5;
- if ( (unsigned __int16)v5 > 1u )
- {
- v6 = v5;
- memset(LogBuff, 0, 0x200u);
- sprintf(LogBuff, "Connect string: %s", this->mConnectStr);
- sprintf(LogBuff, "Connect string: %s", this->mUserName, v6);
- ODBCInterface::DiagState(this);
- return 0;
- }
- v8 = SQLAllocHandle(3, this->hDbc, &this->hStmt);
- this->mResult = v8;
- if ( (unsigned __int16)v8 > 1u )
- {
- this->hStmt = 0;
- return 0;
- }
- result = 1;
- this->mConnected = 1;
- return result;
- }
- // 8049E28: using guessed type int __cdecl SQLSetEnvAttr(_DWORD, _DWORD, _DWORD);
- // 804A088: using guessed type int __cdecl SQLConnect(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD);
- // 804A118: using guessed type int __cdecl SQLAllocHandle(_DWORD, _DWORD, _DWORD);
- //----- (08089714) --------------------------------------------------------
- int __cdecl ODBCInterface::LongExecute(ODBCInterface *const this)
- {
- SQLRETURN v1; // ax
- int result; // eax
- int v3; // edx
- int v4; // eax
- bool v5; // zf
- bool i; // sf
- unsigned __int8 v7; // of
- v1 = SQLExecDirect(this->hStmt, &this->m_LongQuery, -3);
- this->mResult = v1;
- if ( (unsigned __int16)v1 <= 1u || v1 == 100 )
- {
- SQLRowCount(this->hStmt, &this->mAffectCount);
- SQLNumResultCols(this->hStmt, &this->mColCount);
- LOWORD(v3) = this->mColCount;
- result = 0;
- if ( (signed __int16)v3 <= 100 )
- {
- if ( (signed __int16)v3 > 0 || this->mAffectCount > 0 )
- {
- v3 = (signed __int16)v3;
- v4 = 0;
- v7 = 0;
- v5 = (signed __int16)v3 == 0;
- for ( i = (v3 & 0x8000u) != 0; !((unsigned __int8)(i ^ v7) | v5); i = v3 - v4 < 0 )
- {
- v7 = __OFSUB__(v3, ++v4);
- v5 = v3 == v4;
- }
- result = 1;
- }
- else
- {
- ODBCInterface::Clear(this);
- result = 1;
- }
- }
- }
- else
- {
- ODBCInterface::DiagStateEx(this);
- result = 0;
- }
- return result;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- // 8049B98: using guessed type int __cdecl SQLExecDirect(_DWORD, _DWORD, _DWORD);
- // 8049E38: using guessed type int __cdecl SQLNumResultCols(_DWORD, _DWORD);
- // 8049EE8: using guessed type int __cdecl SQLRowCount(_DWORD, _DWORD);
- //----- (08089810) --------------------------------------------------------
- int __cdecl ODBCInterface::Execute(ODBCInterface *const this)
- {
- SQLRETURN v1; // ax
- int result; // eax
- int v3; // edx
- int v4; // eax
- bool v5; // zf
- bool i; // sf
- unsigned __int8 v7; // of
- v1 = SQLExecDirect(this->hStmt, &this->m_Query, -3);
- this->mResult = v1;
- if ( (unsigned __int16)v1 <= 1u || v1 == 100 )
- {
- SQLRowCount(this->hStmt, &this->mAffectCount);
- SQLNumResultCols(this->hStmt, &this->mColCount);
- LOWORD(v3) = this->mColCount;
- result = 0;
- if ( (signed __int16)v3 <= 100 )
- {
- if ( (signed __int16)v3 > 0 || this->mAffectCount > 0 )
- {
- v3 = (signed __int16)v3;
- v4 = 0;
- v7 = 0;
- v5 = (signed __int16)v3 == 0;
- for ( i = (v3 & 0x8000u) != 0; !((unsigned __int8)(i ^ v7) | v5); i = v3 - v4 < 0 )
- {
- v7 = __OFSUB__(v3, ++v4);
- v5 = v3 == v4;
- }
- result = 1;
- }
- else
- {
- ODBCInterface::Clear(this);
- result = 1;
- }
- }
- }
- else
- {
- ODBCInterface::DiagState(this);
- result = 0;
- }
- return result;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- // 8049B98: using guessed type int __cdecl SQLExecDirect(_DWORD, _DWORD, _DWORD);
- // 8049E38: using guessed type int __cdecl SQLNumResultCols(_DWORD, _DWORD);
- // 8049EE8: using guessed type int __cdecl SQLRowCount(_DWORD, _DWORD);
- //----- (0808990C) --------------------------------------------------------
- void __cdecl ODBCInterface::SaveWarrning(ODBCInterface *const this, const CHAR *pLog)
- {
- FILE *v2; // eax
- FILE *v3; // esi
- if ( *pLog )
- {
- v2 = fopen("./Log/dbwarrning.log", "a");
- v3 = v2;
- if ( v2 )
- {
- fwrite(pLog, 1u, strlen(pLog), v2);
- fwrite("\r\n", 1u, 2u, v3);
- fclose(v3);
- }
- }
- }
- //----- (080899C8) --------------------------------------------------------
- void __cdecl ODBCInterface::CleanEnv(ODBCInterface *const this)
- {
- int v1; // [esp-10h] [ebp-14h]
- if ( this->hStmt )
- {
- SQLCloseCursor(this->hStmt);
- SQLFreeStmt(this->hStmt);
- SQLFreeHandle(3, this->hStmt);
- this->hStmt = 0;
- }
- if ( this->hDbc )
- {
- SQLDisconnect(this->hDbc, v1);
- SQLFreeHandle(2, this->hDbc);
- this->hDbc = 0;
- }
- }
- // 8049D08: using guessed type int __cdecl SQLFreeHandle(_DWORD, _DWORD);
- // 8049FA8: using guessed type int __cdecl SQLFreeStmt(_DWORD);
- // 804A048: using guessed type int __cdecl SQLCloseCursor(_DWORD);
- // 804A188: using guessed type int __stdcall SQLDisconnect(_DWORD, _DWORD);
- //----- (08089A44) --------------------------------------------------------
- void __cdecl ODBCInterface::Dump(ODBCInterface *const this, INT col)
- {
- FILE *v2; // eax
- FILE *v3; // ebx
- v2 = fopen("./Log/field", "a");
- v3 = v2;
- if ( v2 )
- {
- fwrite("begin", 1u, 5u, v2);
- fwrite((char *)this + 2500 * col - 2486, 1u, 0x9C4u, v3);
- fclose(v3);
- }
- }
- //----- (08089AB8) --------------------------------------------------------
- void __cdecl _tcf_0_123(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08089AC8) --------------------------------------------------------
- void `global constructor keyed to'ODBCInterface::ODBCInterface()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_123, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08089AF4) --------------------------------------------------------
- void __cdecl _tcf_0_124(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08089B04) --------------------------------------------------------
- void `global constructor keyed to'LoadCharList()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_124, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08089B30) --------------------------------------------------------
- void __cdecl BillingPlayer::BillingPlayer(BillingPlayer *const this, BOOL bIsServer)
- {
- Socket *v2; // esi
- Socket *v3; // esi
- Socket *v4; // esi
- Player_AtLogin::Player_AtLogin(&this->0, 0);
- this->_vptr_Player = (int (**)(...))off_80DA2C8;
- this->m_Status = 0;
- this->m_PID = -1;
- this->m_UID = -1;
- this->m_PlayerManagerID = -1;
- v2 = (Socket *)operator new(0x34u);
- Socket::Socket(v2);
- this->m_pSocket = v2;
- if ( !v2 )
- __assert__("./Player/BillingPlayer.cpp", 0x19u, "BillingPlayer::BillingPlayer(BOOL)", "m_pSocket");
- v3 = (Socket *)operator new(0x1Cu);
- SocketBillingInputStream::SocketBillingInputStream(v3, (UINT)this->m_pSocket, 0x10000u, 0x18000u);
- this->m_pSocketInputStream = (SocketInputStream *)v3;
- if ( !v3 )
- __assert__("./Player/BillingPlayer.cpp", 0x1Cu, "BillingPlayer::BillingPlayer(BOOL)", "m_pSocketInputStream");
- v4 = (Socket *)operator new(0x1Cu);
- SocketBillingOutputStream::SocketBillingOutputStream(v4, (UINT)this->m_pSocket, 0x2000u, 0x19000u);
- this->m_pSocketOutputStream = (SocketOutputStream *)v4;
- if ( !v4 )
- __assert__("./Player/BillingPlayer.cpp", 0x1Fu, "BillingPlayer::BillingPlayer(BOOL)", "m_pSocketOutputStream");
- this->m_IsEmpty = 1;
- this->m_IsDisconnect = 0;
- this->m_PacketIndex = 0;
- this->m_Status = 400;
- this->m_LastKeepLiveTime = 0;
- this->m_KeepLiveSendNum = 0;
- }
- // 80DA2C8: using guessed type _DWORD (__cdecl *off_80DA2C8[2])(Player *this, UINT *const socketRet);
- //----- (08089CC4) --------------------------------------------------------
- void __cdecl BillingPlayer::BillingPlayer(BillingPlayer *const this, BOOL bIsServer)
- {
- Socket *v2; // esi
- Socket *v3; // esi
- Socket *v4; // esi
- Player_AtLogin::Player_AtLogin(&this->0, 0);
- this->_vptr_Player = (int (**)(...))off_80DA2C8;
- this->m_Status = 0;
- this->m_PID = -1;
- this->m_UID = -1;
- this->m_PlayerManagerID = -1;
- v2 = (Socket *)operator new(0x34u);
- Socket::Socket(v2);
- this->m_pSocket = v2;
- if ( !v2 )
- __assert__("./Player/BillingPlayer.cpp", 0x19u, "BillingPlayer::BillingPlayer(BOOL)", "m_pSocket");
- v3 = (Socket *)operator new(0x1Cu);
- SocketBillingInputStream::SocketBillingInputStream(v3, (UINT)this->m_pSocket, 0x10000u, 0x18000u);
- this->m_pSocketInputStream = (SocketInputStream *)v3;
- if ( !v3 )
- __assert__("./Player/BillingPlayer.cpp", 0x1Cu, "BillingPlayer::BillingPlayer(BOOL)", "m_pSocketInputStream");
- v4 = (Socket *)operator new(0x1Cu);
- SocketBillingOutputStream::SocketBillingOutputStream(v4, (UINT)this->m_pSocket, 0x2000u, 0x19000u);
- this->m_pSocketOutputStream = (SocketOutputStream *)v4;
- if ( !v4 )
- __assert__("./Player/BillingPlayer.cpp", 0x1Fu, "BillingPlayer::BillingPlayer(BOOL)", "m_pSocketOutputStream");
- this->m_IsEmpty = 1;
- this->m_IsDisconnect = 0;
- this->m_PacketIndex = 0;
- this->m_Status = 400;
- this->m_LastKeepLiveTime = 0;
- this->m_KeepLiveSendNum = 0;
- }
- // 80DA2C8: using guessed type _DWORD (__cdecl *off_80DA2C8[2])(Player *this, UINT *const socketRet);
- //----- (08089E58) --------------------------------------------------------
- void __cdecl BillingPlayer::~BillingPlayer(Player_AtLogin *a2)
- {
- a2->_vptr_Player = (int (**)(...))off_80DA2C8;
- Player_AtLogin::~Player_AtLogin(&a2->0);
- }
- // 80DA2C8: using guessed type _DWORD (__cdecl *off_80DA2C8[2])(Player *this, UINT *const socketRet);
- //----- (08089E74) --------------------------------------------------------
- void __cdecl BillingPlayer::~BillingPlayer(Player_AtLogin *a2)
- {
- a2->_vptr_Player = (int (**)(...))off_80DA2C8;
- Player_AtLogin::~Player_AtLogin(&a2->0);
- }
- // 80DA2C8: using guessed type _DWORD (__cdecl *off_80DA2C8[2])(Player *this, UINT *const socketRet);
- //----- (08089E90) --------------------------------------------------------
- void __cdecl BillingPlayer::~BillingPlayer(Player *a2)
- {
- a2->_vptr_Player = (int (**)(...))off_80DA2C8;
- Player_AtLogin::~Player_AtLogin(a2);
- operator delete((IPRegionTable *const )a2);
- }
- // 80DA2C8: using guessed type _DWORD (__cdecl *off_80DA2C8[2])(Player *this, UINT *const socketRet);
- //----- (08089EB8) --------------------------------------------------------
- #error "808A0C4: call analysis failed (funcsize=257)"
- //----- (0808A260) --------------------------------------------------------
- BOOL __cdecl BillingPlayer::ProcessInput(BillingPlayer *const this)
- {
- return Player_AtLogin::ProcessInput(&this->0);
- }
- //----- (0808A2BC) --------------------------------------------------------
- BOOL __cdecl BillingPlayer::ProcessOutput(BillingPlayer *const this)
- {
- return Player_AtLogin::ProcessOutput(&this->0);
- }
- //----- (0808A318) --------------------------------------------------------
- BOOL __cdecl BillingPlayer::SendPacket(BillingPlayer *const this, BillPacket *pPacket)
- {
- BOOL result; // eax
- result = 1;
- if ( !this->m_IsDisconnect )
- {
- if ( this->m_pSocketOutputStream )
- {
- if ( !SocketBillingOutputStream::WritePacket(this->m_pSocketOutputStream, (int)pPacket) )
- __assert__("./Player/BillingPlayer.cpp", 0x102u, "virtual BOOL BillingPlayer::SendPacket(BillPacket*)", "ret");
- }
- result = 1;
- }
- return result;
- }
- //----- (0808A3C0) --------------------------------------------------------
- BOOL __cdecl BillingPlayer::IsValid(BillingPlayer *const this)
- {
- return Player::IsValid(&this->0) != 0;
- }
- //----- (0808A428) --------------------------------------------------------
- void __cdecl BillingPlayer::CleanUp(BillingPlayer *const this)
- {
- this->m_Status = 400;
- this->m_LastKeepLiveTime = 0;
- this->m_KeepLiveSendNum = 0;
- Player_AtLogin::CleanUp(&this->0);
- }
- //----- (0808A4A0) --------------------------------------------------------
- BOOL __cdecl BillingPlayer::HeartBeat(BillingPlayer *const this, UINT uTime)
- {
- BOOL result; // eax
- UINT v3; // edx
- int v4; // ecx
- Packets::LBKeepLive Msg; // [esp+0h] [ebp-28h]
- if ( this->m_Status != 401 )
- return Player_AtLogin::HeartBeat(&this->0, uTime);
- result = 0;
- if ( this->m_KeepLiveSendNum <= 4 )
- {
- v3 = this->m_LastKeepLiveTime;
- if ( uTime - v3 > 0x7530 || (signed int)(v3 - uTime) > 30000 )
- {
- BillPacket::BillPacket(&Msg);
- Msg.mZoneID = g_Config.m_WorldInfo.m_ZoneID;
- Msg._vptr_BillPacket = (int (**)(...))off_80CE0E8;
- Msg.mWorldID = g_Config.m_WorldInfo.m_WorldID;
- Msg.mPlayerCount = g_WorldPlayerCounter.m_WorldPlayerCount;
- (*((void (__fastcall **)(int, BillingPlayer *const , Packets::LBKeepLive *))this->_vptr_Player + 29))(
- v4,
- this,
- &Msg);
- this->m_LastKeepLiveTime = uTime;
- ++this->m_KeepLiveSendNum;
- Msg._vptr_BillPacket = (int (**)(...))off_80CE0E8;
- BillPacket::~BillPacket(&Msg);
- }
- return Player_AtLogin::HeartBeat(&this->0, uTime);
- }
- return result;
- }
- // 80CE0E8: using guessed type _DWORD (__cdecl *off_80CE0E8[2])(Packets::LBKeepLive *this);
- //----- (0808A5B0) --------------------------------------------------------
- void __cdecl _tcf_0_125(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0808A5C0) --------------------------------------------------------
- void `global constructor keyed to'BillingPlayer::BillingPlayer()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_125, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0808A5EC) --------------------------------------------------------
- void __cdecl Player_AtLogin::onPacketExecuteError(Player_AtLogin *const this, PacketID_t id, const CHAR *debugBuffer, UINT debugBufferLength)
- {
- ;
- }
- //----- (0808A5F4) --------------------------------------------------------
- void __cdecl Player_AtLogin::onPacketExecuteBreak(Player_AtLogin *const this, PacketID_t id, const CHAR *debugBuffer, UINT debugBufferLength)
- {
- ;
- }
- //----- (0808A5FC) --------------------------------------------------------
- void __cdecl Player_AtLogin::onPacketExecuteContinue(Player_AtLogin *const this, PacketID_t id, const CHAR *debugBuffer, UINT debugBufferLength)
- {
- ;
- }
- //----- (0808A604) --------------------------------------------------------
- void __cdecl Player_AtLogin::onPacketExecuteNotRemove(Player_AtLogin *const this, PacketID_t id, const CHAR *debugBuffer, UINT debugBufferLength)
- {
- ;
- }
- //----- (0808A60C) --------------------------------------------------------
- void __cdecl Player_AtLogin::onPacketExecuteNotRemoveError(Player_AtLogin *const this, PacketID_t id, const CHAR *debugBuffer, UINT debugBufferLength)
- {
- ;
- }
- //----- (0808A614) --------------------------------------------------------
- BOOL __cdecl BillingPlayer::IsServerPlayer(BillingPlayer *const this)
- {
- return 0;
- }
- //----- (0808A61C) --------------------------------------------------------
- BOOL __cdecl BillingPlayer::IsBillingPlayer(BillingPlayer *const this)
- {
- return 1;
- }
- //----- (0808A628) --------------------------------------------------------
- BOOL __cdecl BillingPlayer::IsLoginPlayer(BillingPlayer *const this)
- {
- return 0;
- }
- //----- (0808A630) --------------------------------------------------------
- void __cdecl LoginPlayer::ResetDisconnectCountDown(int a2)
- {
- _DWORD *v2; // edx
- v2 = (_DWORD *)(a2 + 516);
- v2[2] = 0;
- v2[1] = 0;
- *v2 = 0;
- *(_DWORD *)(a2 + 528) = 0;
- }
- //----- (0808A660) --------------------------------------------------------
- void __cdecl LoginPlayer::LoginPlayer(LoginPlayer *const this)
- {
- MiBaoGroup *v1; // esi
- signed int v2; // ecx
- int v3; // edi
- signed int v4; // ecx
- int v5; // edi
- CMyTimer *v6; // eax
- signed int v7; // ecx
- CHAR *v8; // edi
- MiBaoGroup *v9; // [esp+14h] [ebp-1Ch]
- MiBaoGroup *v10; // [esp+14h] [ebp-1Ch]
- Player_AtLogin::Player_AtLogin(&this->0, 0);
- v1 = &this->m_MiBaoGroup;
- this->m_WorldPos.m_fZ = 0.0;
- this->_vptr_Player = (int (**)(...))off_80DA848;
- this->m_WorldPos.m_fX = 0.0;
- v9 = &this->m_MiBaoGroup;
- v2 = 2;
- do
- {
- v9->unit[0].column = -1;
- v9->unit[0].row = -1;
- v3 = (int)v9->unit[0].key;
- *(_WORD *)v3 = 0;
- *(_BYTE *)(v3 + 2) = 0;
- *(_WORD *)v9->unit[0].value = 0;
- v9->unit[0].value[2] = 0;
- --v2;
- v9 = (MiBaoGroup *)((char *)v9 + 8);
- }
- while ( v2 != -1 );
- v10 = &this->m_MiBaoGroup;
- v4 = 2;
- do
- {
- v10->unit[0].column = -1;
- v10->unit[0].row = -1;
- v5 = (int)v10->unit[0].key;
- *(_WORD *)v5 = 0;
- *(_BYTE *)(v5 + 2) = 0;
- *(_WORD *)v10->unit[0].value = 0;
- v10->unit[0].value[2] = 0;
- v10 = (MiBaoGroup *)((char *)v10 + 8);
- --v4;
- }
- while ( v4 >= 0 );
- *(_DWORD *)this->m_CreateCode.code = 0;
- *(_DWORD *)&this->m_CreateCode.code[2] = 0;
- *(_DWORD *)this->m_LoginCode.code = 0;
- *(_DWORD *)&this->m_LoginCode.code[2] = 0;
- v6 = &this->m_DisconnectCountDown;
- v6->m_bOper = 0;
- v6->m_uTickOld = 0;
- this->m_DisconnectCountDown.m_uTickTerm = 0;
- this->m_AccountSafeSign.m_Sign = 0;
- this->m_Status = 300;
- this->m_LastSendTime = 0;
- this->m_ConnectTime = 0;
- this->m_KickTime = 0;
- this->m_CurrentTime = 0;
- this->m_LeftTimeToQuit = 0;
- this->m_AccountGuid = 0;
- this->m_Version = 0;
- this->m_LastSendProcessTurn = 0;
- this->m_QueuePos = 0;
- this->m_LastDBOpTime = 0;
- this->m_CharNumber = -1;
- memset(this->m_GUIDList, -1, 0x14u);
- this->m_WorldPos.m_fZ = 0.0;
- this->m_uKey = -1;
- this->m_bDBOprating = 0;
- this->m_ReadyKickCount = 0;
- this->m_WrongPWCount = 0;
- this->m_SceneID = 0;
- this->m_WorldPos.m_fX = 0.0;
- this->m_bEnableMiBao = 0;
- v7 = 2;
- do
- {
- v1->unit[0].column = -1;
- v1->unit[0].row = -1;
- *(_WORD *)v1->unit[0].key = 0;
- v1->unit[0].key[2] = 0;
- *(_WORD *)v1->unit[0].value = 0;
- v8 = &v1->unit[0].value[2];
- v1 = (MiBaoGroup *)((char *)v1 + 8);
- --v7;
- *v8 = 0;
- }
- while ( v7 >= 0 );
- this->m_ProxyType = 4;
- *(_DWORD *)this->m_CreateCode.code = 0;
- this->m_MiBaoInputBeginTime = 0;
- this->m_FatigueSign = 0;
- this->m_AccountTotalOnlineTime = 0;
- this->m_bAlreadyCheckCreateCode = 0;
- this->m_bAlreadyCheckLoginCode = 0;
- *(_DWORD *)&this->m_CreateCode.code[2] = 0;
- *(_DWORD *)this->m_LoginCode.code = 0;
- *(_DWORD *)&this->m_LoginCode.code[2] = 0;
- this->m_AccountSafeSign.m_Sign = 0;
- LoginPlayer::ResetDisconnectCountDown((int)this);
- }
- // 80DA848: using guessed type _DWORD (__cdecl *off_80DA848[2])(Player *this, UINT *const socketRet);
- //----- (0808A8CC) --------------------------------------------------------
- void __cdecl LoginPlayer::LoginPlayer(LoginPlayer *const this)
- {
- MiBaoGroup *v1; // esi
- signed int v2; // ecx
- int v3; // edi
- signed int v4; // ecx
- int v5; // edi
- CMyTimer *v6; // eax
- signed int v7; // ecx
- CHAR *v8; // edi
- MiBaoGroup *v9; // [esp+14h] [ebp-1Ch]
- MiBaoGroup *v10; // [esp+14h] [ebp-1Ch]
- Player_AtLogin::Player_AtLogin(&this->0, 0);
- v1 = &this->m_MiBaoGroup;
- this->m_WorldPos.m_fZ = 0.0;
- this->_vptr_Player = (int (**)(...))off_80DA848;
- this->m_WorldPos.m_fX = 0.0;
- v9 = &this->m_MiBaoGroup;
- v2 = 2;
- do
- {
- v9->unit[0].column = -1;
- v9->unit[0].row = -1;
- v3 = (int)v9->unit[0].key;
- *(_WORD *)v3 = 0;
- *(_BYTE *)(v3 + 2) = 0;
- *(_WORD *)v9->unit[0].value = 0;
- v9->unit[0].value[2] = 0;
- --v2;
- v9 = (MiBaoGroup *)((char *)v9 + 8);
- }
- while ( v2 != -1 );
- v10 = &this->m_MiBaoGroup;
- v4 = 2;
- do
- {
- v10->unit[0].column = -1;
- v10->unit[0].row = -1;
- v5 = (int)v10->unit[0].key;
- *(_WORD *)v5 = 0;
- *(_BYTE *)(v5 + 2) = 0;
- *(_WORD *)v10->unit[0].value = 0;
- v10->unit[0].value[2] = 0;
- v10 = (MiBaoGroup *)((char *)v10 + 8);
- --v4;
- }
- while ( v4 >= 0 );
- *(_DWORD *)this->m_CreateCode.code = 0;
- *(_DWORD *)&this->m_CreateCode.code[2] = 0;
- *(_DWORD *)this->m_LoginCode.code = 0;
- *(_DWORD *)&this->m_LoginCode.code[2] = 0;
- v6 = &this->m_DisconnectCountDown;
- v6->m_bOper = 0;
- v6->m_uTickOld = 0;
- this->m_DisconnectCountDown.m_uTickTerm = 0;
- this->m_AccountSafeSign.m_Sign = 0;
- this->m_Status = 300;
- this->m_LastSendTime = 0;
- this->m_ConnectTime = 0;
- this->m_KickTime = 0;
- this->m_CurrentTime = 0;
- this->m_LeftTimeToQuit = 0;
- this->m_AccountGuid = 0;
- this->m_Version = 0;
- this->m_LastSendProcessTurn = 0;
- this->m_QueuePos = 0;
- this->m_LastDBOpTime = 0;
- this->m_CharNumber = -1;
- memset(this->m_GUIDList, -1, 0x14u);
- this->m_WorldPos.m_fZ = 0.0;
- this->m_uKey = -1;
- this->m_bDBOprating = 0;
- this->m_ReadyKickCount = 0;
- this->m_WrongPWCount = 0;
- this->m_SceneID = 0;
- this->m_WorldPos.m_fX = 0.0;
- this->m_bEnableMiBao = 0;
- v7 = 2;
- do
- {
- v1->unit[0].column = -1;
- v1->unit[0].row = -1;
- *(_WORD *)v1->unit[0].key = 0;
- v1->unit[0].key[2] = 0;
- *(_WORD *)v1->unit[0].value = 0;
- v8 = &v1->unit[0].value[2];
- v1 = (MiBaoGroup *)((char *)v1 + 8);
- --v7;
- *v8 = 0;
- }
- while ( v7 >= 0 );
- this->m_ProxyType = 4;
- *(_DWORD *)this->m_CreateCode.code = 0;
- this->m_MiBaoInputBeginTime = 0;
- this->m_FatigueSign = 0;
- this->m_AccountTotalOnlineTime = 0;
- this->m_bAlreadyCheckCreateCode = 0;
- this->m_bAlreadyCheckLoginCode = 0;
- *(_DWORD *)&this->m_CreateCode.code[2] = 0;
- *(_DWORD *)this->m_LoginCode.code = 0;
- *(_DWORD *)&this->m_LoginCode.code[2] = 0;
- this->m_AccountSafeSign.m_Sign = 0;
- LoginPlayer::ResetDisconnectCountDown((int)this);
- }
- // 80DA848: using guessed type _DWORD (__cdecl *off_80DA848[2])(Player *this, UINT *const socketRet);
- //----- (0808AB38) --------------------------------------------------------
- void __cdecl LoginPlayer::~LoginPlayer(Player_AtLogin *a2)
- {
- a2->_vptr_Player = (int (**)(...))off_80DA848;
- Player_AtLogin::~Player_AtLogin(&a2->0);
- }
- // 80DA848: using guessed type _DWORD (__cdecl *off_80DA848[2])(Player *this, UINT *const socketRet);
- //----- (0808AB54) --------------------------------------------------------
- void __cdecl LoginPlayer::~LoginPlayer(Player_AtLogin *a2)
- {
- a2->_vptr_Player = (int (**)(...))off_80DA848;
- Player_AtLogin::~Player_AtLogin(&a2->0);
- }
- // 80DA848: using guessed type _DWORD (__cdecl *off_80DA848[2])(Player *this, UINT *const socketRet);
- //----- (0808AB70) --------------------------------------------------------
- void __cdecl LoginPlayer::~LoginPlayer(Player *a2)
- {
- a2->_vptr_Player = (int (**)(...))off_80DA848;
- Player_AtLogin::~Player_AtLogin(a2);
- operator delete((IPRegionTable *const )a2);
- }
- // 80DA848: using guessed type _DWORD (__cdecl *off_80DA848[2])(Player *this, UINT *const socketRet);
- //----- (0808AB98) --------------------------------------------------------
- void __cdecl LoginPlayer::CleanUp(LoginPlayer *const this)
- {
- MiBaoGroup *v1; // esi
- signed int v2; // ecx
- CHAR *v3; // edi
- this->m_Status = 300;
- this->m_KickTime = 0;
- this->m_LastSendTime = 0;
- this->m_ConnectTime = 0;
- this->m_CurrentTime = 0;
- this->m_LeftTimeToQuit = 0;
- this->m_AccountGuid = 0;
- this->m_Version = 0;
- this->m_LastSendProcessTurn = 0;
- this->m_QueuePos = 0;
- this->m_LastDBOpTime = 0;
- this->m_CharNumber = -1;
- memset(this->m_GUIDList, -1, 0x14u);
- this->m_uKey = -1;
- this->m_bDBOprating = 0;
- this->m_ReadyKickCount = 0;
- this->m_WrongPWCount = 0;
- this->m_SceneID = 0;
- this->m_WorldPos.m_fX = 0.0;
- this->m_WorldPos.m_fZ = 0.0;
- this->m_bEnableMiBao = 0;
- v1 = &this->m_MiBaoGroup;
- v2 = 2;
- do
- {
- v1->unit[0].column = -1;
- v1->unit[0].row = -1;
- *(_WORD *)v1->unit[0].key = 0;
- v1->unit[0].key[2] = 0;
- *(_WORD *)v1->unit[0].value = 0;
- v3 = &v1->unit[0].value[2];
- v1 = (MiBaoGroup *)((char *)v1 + 8);
- --v2;
- *v3 = 0;
- }
- while ( v2 >= 0 );
- this->m_MiBaoInputBeginTime = 0;
- this->m_FatigueSign = 0;
- this->m_AccountTotalOnlineTime = 0;
- this->m_ProxyType = 4;
- this->m_bAlreadyCheckCreateCode = 0;
- this->m_bAlreadyCheckLoginCode = 0;
- *(_DWORD *)this->m_CreateCode.code = 0;
- *(_DWORD *)&this->m_CreateCode.code[2] = 0;
- *(_DWORD *)this->m_LoginCode.code = 0;
- *(_DWORD *)&this->m_LoginCode.code[2] = 0;
- this->m_AccountSafeSign.m_Sign = 0;
- LoginPlayer::ResetDisconnectCountDown((int)this);
- (*((void (__cdecl **)(LoginPlayer *const ))this->_vptr_Player + 27))(this);
- Player_AtLogin::CleanUp(&this->0);
- }
- //----- (0808AD64) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::ProcessCommand(LoginPlayer *const this, BOOL Option)
- {
- return Player_AtLogin::ProcessCommand(&this->0, Option);
- }
- //----- (0808ADC4) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::ProcessInput(LoginPlayer *const this)
- {
- return Player_AtLogin::ProcessInput(&this->0);
- }
- //----- (0808AE20) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::ProcessOutput(LoginPlayer *const this)
- {
- return Player_AtLogin::ProcessOutput(&this->0);
- }
- //----- (0808AE7C) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::SendPacket(LoginPlayer *const this, Packet *pPacket)
- {
- return Player_AtLogin::SendPacket(&this->0, pPacket);
- }
- //----- (0808AEDC) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::IsDisconnectCountDown(const LoginPlayer *const this)
- {
- BOOL result; // eax
- result = 0;
- if ( this->m_bNeedDisconnect || this->m_DisconnectCountDown.m_bOper )
- result = 1;
- return result;
- }
- //----- (0808AF00) --------------------------------------------------------
- void __cdecl LoginPlayer::TrigerDisconnectCountDown(LoginPlayer *const this, UINT a3)
- {
- UINT v3; // eax
- CMyTimer *v4; // ecx
- if ( LoginPlayer::IsDisconnectCountDown(this) )
- LoginPlayer::ResetDisconnectCountDown((int)this);
- v3 = TimeManager::CurrentTime((int)g_pTimeManager);
- v4 = &this->m_DisconnectCountDown;
- v4->m_bOper = 1;
- this->m_DisconnectCountDown.m_uTickTerm = a3;
- v4->m_uTickOld = v3;
- }
- //----- (0808AF50) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::DisconnectCountDown(LoginPlayer *const this, UINT now)
- {
- BOOL result; // eax
- result = 0;
- if ( !this->m_bNeedDisconnect )
- {
- if ( this->m_DisconnectCountDown.m_bOper
- && this->m_DisconnectCountDown.m_uTickOld + this->m_DisconnectCountDown.m_uTickTerm <= now )
- {
- this->m_bNeedDisconnect = 1;
- this->m_DisconnectCountDown.m_uTickTerm = 0;
- this->m_DisconnectCountDown.m_bOper = 0;
- this->m_DisconnectCountDown.m_uTickOld = 0;
- result = 0;
- }
- else
- {
- result = 1;
- }
- }
- return result;
- }
- //----- (0808AFAC) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::HeartBeat(LoginPlayer *const this, UINT uTime)
- {
- UINT v2; // eax
- BOOL v3; // edx
- INT v5; // eax
- UINT v6; // ecx
- UINT v7; // eax
- int v8; // ecx
- UINT v9; // eax
- UINT v10; // eax
- int v11; // ST0C_4
- Packets::LCStatus Msg; // [esp+0h] [ebp-38h]
- if ( !LoginPlayer::DisconnectCountDown(this, uTime) )
- {
- CacheLog(0, "LoginPlayer::HeartBeat Disconnect because over turn !");
- return 0;
- }
- if ( !this->m_IsDisconnect )
- {
- v2 = this->m_Status;
- this->m_CurrentTime = uTime;
- if ( v2 != 307 )
- goto LABEL_4;
- LABEL_10:
- if ( this->m_LastSendProcessTurn + 5000 >= uTime )
- return Player_AtLogin::HeartBeat(&this->0, uTime);
- v6 = this->m_QueuePos;
- this->m_LastSendProcessTurn = uTime;
- if ( !v6 )
- return Player_AtLogin::HeartBeat(&this->0, uTime);
- Packet::Packet((int)&Msg);
- v7 = this->m_QueuePos;
- Msg._vptr_Packet = (int (**)(...))off_80CF048;
- Msg.TurnNumber = v7;
- Msg.ClientStatus = 0;
- (*((void (__fastcall **)(int, LoginPlayer *const , Packets::LCStatus *))this->_vptr_Player + 3))(v8, this, &Msg);
- (*((void (__cdecl **)(LoginPlayer *const ))this->_vptr_Player + 27))(this);
- LABEL_13:
- Msg._vptr_Packet = (int (**)(...))off_80CF048;
- Packet::~Packet(&Msg);
- return Player_AtLogin::HeartBeat(&this->0, uTime);
- }
- v5 = this->m_LeftTimeToQuit - (uTime - this->m_CurrentTime);
- v3 = 0;
- this->m_LeftTimeToQuit = v5;
- if ( v5 < 0 )
- return v3;
- v2 = this->m_Status;
- this->m_CurrentTime = uTime;
- if ( v2 == 307 )
- goto LABEL_10;
- LABEL_4:
- if ( v2 == 312 )
- {
- if ( this->m_LastSendProcessTurn + 5000 >= uTime )
- return Player_AtLogin::HeartBeat(&this->0, uTime);
- v9 = this->m_QueuePos;
- this->m_LastSendProcessTurn = uTime;
- if ( !v9 )
- return Player_AtLogin::HeartBeat(&this->0, uTime);
- Packet::Packet((int)&Msg);
- v10 = this->m_QueuePos;
- Msg._vptr_Packet = (int (**)(...))off_80CF048;
- Msg.TurnNumber = v10;
- Msg.ClientStatus = 0;
- (*((void (__fastcall **)(int))this->_vptr_Player + 3))(v11);
- (*((void (__cdecl **)(LoginPlayer *const ))this->_vptr_Player + 27))(this);
- goto LABEL_13;
- }
- if ( this->m_KickTime + 300000 >= uTime )
- return Player_AtLogin::HeartBeat(&this->0, uTime);
- CacheLog(0, "ERROR: Player_AtLogin::HeartBeat Didn't recv message for too long time. Kicked!");
- return 0;
- }
- // 80CF048: using guessed type _DWORD (__cdecl *off_80CF048[2])(Packets::LCStatus *this);
- //----- (0808B188) --------------------------------------------------------
- void __cdecl LoginPlayer::SetCPUInformation(LoginPlayer *const this, CHAR *CPUInformation)
- {
- if ( !CPUInformation )
- __assert__("./Player/LoginPlayer.cpp", 0x11Bu, "void LoginPlayer::SetCPUInformation(CHAR*)", "CPUInformation");
- memset(this->m_CPU, 0, 0x80u);
- memcpy(this->m_CPU, CPUInformation, 0x80u);
- this->m_CPU[127] = 0;
- }
- //----- (0808B1EC) --------------------------------------------------------
- CHAR *__cdecl LoginPlayer::GetCPUInformation(LoginPlayer *const this)
- {
- return this->m_CPU;
- }
- //----- (0808B1FC) --------------------------------------------------------
- void __cdecl LoginPlayer::SetVideoInformation(LoginPlayer *const this, CHAR *VideoInformation)
- {
- if ( !VideoInformation )
- __assert__("./Player/LoginPlayer.cpp", 0x128u, "void LoginPlayer::SetVideoInformation(CHAR*)", "VideoInformation");
- memset(this->m_Video, 0, 0x80u);
- memcpy(this->m_Video, VideoInformation, 0x80u);
- this->m_Video[127] = 0;
- }
- //----- (0808B260) --------------------------------------------------------
- CHAR *__cdecl LoginPlayer::GetVideoInformation(LoginPlayer *const this)
- {
- return this->m_Video;
- }
- //----- (0808B270) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::FreeOwn(LoginPlayer *const this)
- {
- (*((void (__stdcall **)(LoginPlayer *const ))this->_vptr_Player + 26))(this);
- PlayerPool::DelPlayer(g_pPlayerPool, this->m_PID);
- return 1;
- }
- //----- (0808B2E4) --------------------------------------------------------
- void __cdecl LoginPlayer::Init(LoginPlayer *const this)
- {
- int v1; // [esp+0h] [ebp-14h]
- int v2; // [esp+4h] [ebp-10h]
- this->m_IsDisconnect = 0;
- (*((void (__stdcall **)(LoginPlayer *const , int, int))this->_vptr_Player + 27))(this, v1, v2);
- MIBAO::InitMiBaoGroupKey(&this->m_MiBaoGroup);
- }
- //----- (0808B35C) --------------------------------------------------------
- void __cdecl LoginPlayer::Disconnect(LoginPlayer *const this)
- {
- this->m_LeftTimeToQuit = g_Config.m_ConfigInfo.m_DisconnectTime;
- this->m_IsDisconnect = 1;
- Player::Disconnect(&this->0);
- }
- //----- (0808B3D0) --------------------------------------------------------
- void __cdecl LoginPlayer::ResetKick(LoginPlayer *const this)
- {
- this->m_KickTime = g_pTimeManager->m_CurrentTime;
- Player_AtLogin::ResetKick(&this->0);
- }
- //----- (0808B440) --------------------------------------------------------
- const CHAR *__cdecl LoginPlayer::GetAccount(LoginPlayer *const this)
- {
- return this->szAccount;
- }
- //----- (0808B44C) --------------------------------------------------------
- void __cdecl LoginPlayer::SetAccount(const CHAR *pAccount, const char *pAccounta)
- {
- strncpy((char *)pAccount + 60, pAccounta, 0x32u);
- *((_BYTE *)pAccount + 110) = 0;
- }
- //----- (0808B470) --------------------------------------------------------
- UINT __cdecl LoginPlayer::GetVersion(int a2)
- {
- return *(_DWORD *)(a2 + 44);
- }
- //----- (0808B47C) --------------------------------------------------------
- void __cdecl LoginPlayer::SetVersion(int a3, int a4)
- {
- *(_DWORD *)(a3 + 44) = a4;
- }
- //----- (0808B48C) --------------------------------------------------------
- UINT __cdecl LoginPlayer::GetQueuePos(int a2)
- {
- return *(_DWORD *)(a2 + 52);
- }
- //----- (0808B498) --------------------------------------------------------
- void __cdecl LoginPlayer::SetQueuePos(int a3, int a4)
- {
- *(_DWORD *)(a3 + 52) = a4;
- }
- //----- (0808B4A8) --------------------------------------------------------
- void __cdecl LoginPlayer::SetCharNumber(int a3, int a4)
- {
- *(_DWORD *)(a3 + 56) = a4;
- }
- //----- (0808B4B8) --------------------------------------------------------
- INT __cdecl LoginPlayer::GetCharNumber(int a2)
- {
- return *(_DWORD *)(a2 + 56);
- }
- //----- (0808B4C4) --------------------------------------------------------
- void __cdecl LoginPlayer::SetCharGUID(UINT uIndex, int a4, UINT uIndexa)
- {
- if ( uIndexa > 4 )
- __assert__(
- "./Player/LoginPlayer.cpp",
- 0x197u,
- "void LoginPlayer::SetCharGUID(GUID_t, UINT)",
- "uIndex<DB_CHAR_NUMBER");
- *(_DWORD *)(uIndex + 4 * uIndexa + 112) = a4;
- }
- //----- (0808B50C) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::IsGUIDOwner(LoginPlayer *const this, GUID_t guid)
- {
- INT v2; // edx
- signed int v3; // eax
- v2 = this->m_CharNumber;
- v3 = 0;
- if ( v2 <= 0 )
- return 0;
- while ( this->m_GUIDList[v3] != guid || guid == -1 )
- {
- if ( v2 <= ++v3 || v3 > 4 )
- return 0;
- }
- return 1;
- }
- //----- (0808B548) --------------------------------------------------------
- void __cdecl LoginPlayer::SetUserKey(int a3, int a4)
- {
- *(_DWORD *)(a3 + 132) = a4;
- }
- //----- (0808B55C) --------------------------------------------------------
- UINT __cdecl LoginPlayer::GetUserKey(int a2)
- {
- return *(_DWORD *)(a2 + 132);
- }
- //----- (0808B56C) --------------------------------------------------------
- void __cdecl LoginPlayer::SetDBOperating(int a3, int a4)
- {
- *(_DWORD *)(a3 + 136) = a4;
- }
- //----- (0808B580) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::GetDBOperating(int a2)
- {
- return *(_DWORD *)(a2 + 136);
- }
- //----- (0808B590) --------------------------------------------------------
- void __cdecl LoginPlayer::SetReadyKickCount(int a3, int a4)
- {
- *(_DWORD *)(a3 + 140) = a4;
- }
- //----- (0808B5A4) --------------------------------------------------------
- INT __cdecl LoginPlayer::GetReadyKickCount(int a2)
- {
- return *(_DWORD *)(a2 + 140);
- }
- //----- (0808B5B4) --------------------------------------------------------
- UINT __cdecl LoginPlayer::GetLastSendTurnTime(int a2)
- {
- return *(_DWORD *)(a2 + 48);
- }
- //----- (0808B5C0) --------------------------------------------------------
- void __cdecl LoginPlayer::SetLastSendTurnTime(int a3, int a4)
- {
- *(_DWORD *)(a3 + 48) = a4;
- }
- //----- (0808B5D0) --------------------------------------------------------
- void __cdecl LoginPlayer::SetWrongPWCount(int a3, int a4)
- {
- *(_DWORD *)(a3 + 144) = a4;
- }
- //----- (0808B5E4) --------------------------------------------------------
- INT __cdecl LoginPlayer::GetWrongPWCount(int a2)
- {
- return *(_DWORD *)(a2 + 144);
- }
- //----- (0808B5F4) --------------------------------------------------------
- int __cdecl LoginPlayer::GetChooseSceneID(int a2)
- {
- return *(signed __int16 *)(a2 + 148);
- }
- //----- (0808B604) --------------------------------------------------------
- void __cdecl LoginPlayer::SetChooseSceneID(int sid, __int16 sida)
- {
- *(_WORD *)(sid + 148) = sida;
- }
- //----- (0808B618) --------------------------------------------------------
- WORLD_POS *__userpurge LoginPlayer::GetWorldPos@<eax>(WORLD_POS *retstr, const LoginPlayer *const this)
- {
- WORLD_POS *result; // eax
- FLOAT v3; // ecx
- result = retstr;
- v3 = this->m_WorldPos.m_fZ;
- retstr->m_fX = this->m_WorldPos.m_fX;
- retstr->m_fZ = v3;
- return result;
- }
- //----- (0808B638) --------------------------------------------------------
- void __fastcall LoginPlayer::SetWorldPos(LoginPlayer *const this, WORLD_POS *const pos)
- {
- int v2; // [esp+8h] [ebp+8h]
- _DWORD *v3; // [esp+Ch] [ebp+Ch]
- *(_DWORD *)(v2 + 152) = *v3;
- *(_DWORD *)(v2 + 156) = v3[1];
- }
- //----- (0808B654) --------------------------------------------------------
- void __cdecl LoginPlayer::SetAccFatigueSign(int cSign, CHAR cSigna)
- {
- *(_DWORD *)(cSign + 480) = cSigna == 89;
- }
- //----- (0808B66C) --------------------------------------------------------
- void __cdecl LoginPlayer::SetAccOnlineTime(int a3, int a4)
- {
- *(_DWORD *)(a3 + 484) = a4;
- }
- //----- (0808B680) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::GetPhoneBind(int a2)
- {
- return (*(_BYTE *)(a2 + 532) & 8) != 0;
- }
- //----- (0808B698) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::GetIPBind(int a2)
- {
- return (*(_BYTE *)(a2 + 532) & 2) != 0;
- }
- //----- (0808B6B0) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::GetMiBaoBind(int a2)
- {
- return (*(_BYTE *)(a2 + 532) & 4) != 0;
- }
- //----- (0808B6C8) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::GetMacBind(int a2)
- {
- return (*(_BYTE *)(a2 + 532) & 0x10) != 0;
- }
- //----- (0808B6E0) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::GetRealNameBind(int a2)
- {
- return (*(_BYTE *)(a2 + 532) & 0x20) != 0;
- }
- //----- (0808B6F8) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::GetInputNameBind(int a2)
- {
- return (*(_BYTE *)(a2 + 532) & 0x40) != 0;
- }
- //----- (0808B710) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::GetPhoneMiBaoBind(int a2)
- {
- return *(_BYTE *)(a2 + 532) < 0;
- }
- //----- (0808B728) --------------------------------------------------------
- void __cdecl LoginPlayer::SetPhoneBind(LoginPlayer *const this, CHAR cSign)
- {
- if ( cSign == 89 )
- this->m_AccountSafeSign.m_Sign |= 8u;
- else
- this->m_AccountSafeSign.m_Sign &= 0xFFFFFFF7;
- }
- //----- (0808B74C) --------------------------------------------------------
- void __cdecl LoginPlayer::SetIPBind(LoginPlayer *const this, CHAR cSign)
- {
- if ( cSign == 89 )
- this->m_AccountSafeSign.m_Sign |= 2u;
- else
- this->m_AccountSafeSign.m_Sign &= 0xFFFFFFFD;
- }
- //----- (0808B770) --------------------------------------------------------
- void __cdecl LoginPlayer::SetMiBaoBind(LoginPlayer *const this, CHAR cSign)
- {
- if ( cSign == 89 )
- this->m_AccountSafeSign.m_Sign |= 4u;
- else
- this->m_AccountSafeSign.m_Sign &= 0xFFFFFFFB;
- }
- //----- (0808B794) --------------------------------------------------------
- void __cdecl LoginPlayer::SetMacBind(LoginPlayer *const this, CHAR cSign)
- {
- if ( cSign == 89 )
- this->m_AccountSafeSign.m_Sign |= 0x10u;
- else
- this->m_AccountSafeSign.m_Sign &= 0xFFFFFFEF;
- }
- //----- (0808B7B8) --------------------------------------------------------
- void __cdecl LoginPlayer::SetRealNameBind(LoginPlayer *const this, CHAR cSign)
- {
- if ( cSign == 89 )
- this->m_AccountSafeSign.m_Sign |= 0x20u;
- else
- this->m_AccountSafeSign.m_Sign &= 0xFFFFFFDF;
- }
- //----- (0808B7DC) --------------------------------------------------------
- void __cdecl LoginPlayer::SetInputNameBind(LoginPlayer *const this, CHAR cSign)
- {
- if ( cSign == 89 )
- this->m_AccountSafeSign.m_Sign |= 0x40u;
- else
- this->m_AccountSafeSign.m_Sign &= 0xFFFFFFBF;
- }
- //----- (0808B800) --------------------------------------------------------
- void __cdecl LoginPlayer::SetPhoneMiBaoBind(LoginPlayer *const this, CHAR cSign)
- {
- if ( cSign == 89 )
- this->m_AccountSafeSign.m_Sign |= 0x80u;
- else
- this->m_AccountSafeSign.m_Sign &= 0xFFFFFF7F;
- }
- //----- (0808B824) --------------------------------------------------------
- CHAR *__cdecl ProxyTool_GetIPByNetProvider(const LoginPlayer *pPlayer, ID_t ServerID)
- {
- _SERVER_DATA *v2; // esi
- signed int v3; // eax
- INT v5; // ebx
- int v6; // eax
- CHAR szLog[1024]; // [esp+0h] [ebp-418h]
- if ( !pPlayer )
- __assert__(
- "./Player/LoginPlayer.cpp",
- 0x27Au,
- "CHAR* ProxyTool_GetIPByNetProvider(const LoginPlayer*, ID_t)",
- "pPlayer");
- v2 = ServerManager::FindServerInfo(*(ServerManager *const *)&g_pServerManager, ServerID);
- if ( !v2 )
- {
- snprintf(szLog, 0x400u, "[ProxyTool_GetIPByNetProvider] Error: Can't found the specific server(%d).", ServerID);
- szLog[1023] = 0;
- __assertex__(
- "./Player/LoginPlayer.cpp",
- 0x281u,
- "CHAR* ProxyTool_GetIPByNetProvider(const LoginPlayer*, ID_t)",
- "pData",
- szLog);
- }
- v3 = pPlayer->m_ProxyType;
- if ( v3 == 2 )
- {
- v5 = 0;
- }
- else if ( v3 > 2 )
- {
- if ( v3 != 3 )
- return v2->m_IP0;
- v5 = 2;
- }
- else
- {
- if ( v3 != 1 )
- return v2->m_IP0;
- v5 = 1;
- }
- if ( RangeCheckForIndex_Assert(v5, 0, 2, "ProxyTool_GetIPByNetProvider") != 1 )
- return v2->m_IP0;
- v6 = (int)v2 + 36 * v5;
- if ( *(_DWORD *)(v6 + 96) != 1 )
- return v2->m_IP0;
- return (CHAR *)(v6 + 66);
- }
- //----- (0808B978) --------------------------------------------------------
- UINT __cdecl ProxyTool_GetPortByNetProvider(const LoginPlayer *pPlayer, ID_t ServerID)
- {
- _SERVER_DATA *v2; // esi
- signed int v3; // eax
- INT v5; // ebx
- CHAR szLog[1024]; // [esp+0h] [ebp-418h]
- if ( !pPlayer )
- __assert__(
- "./Player/LoginPlayer.cpp",
- 0x2B1u,
- "UINT ProxyTool_GetPortByNetProvider(const LoginPlayer*, ID_t)",
- "pPlayer");
- v2 = ServerManager::FindServerInfo(*(ServerManager *const *)&g_pServerManager, ServerID);
- if ( !v2 )
- {
- snprintf(szLog, 0x400u, "[ProxyTool_GetPortByNetProvider] Error: Can't found the specific server(%d).", ServerID);
- szLog[1023] = 0;
- __assertex__(
- "./Player/LoginPlayer.cpp",
- 0x2B8u,
- "UINT ProxyTool_GetPortByNetProvider(const LoginPlayer*, ID_t)",
- "pData",
- szLog);
- }
- v3 = pPlayer->m_ProxyType;
- if ( v3 == 2 )
- {
- v5 = 0;
- }
- else if ( v3 > 2 )
- {
- if ( v3 != 3 )
- return v2->m_Port0;
- v5 = 2;
- }
- else
- {
- if ( v3 != 1 )
- return v2->m_Port0;
- v5 = 1;
- }
- if ( RangeCheckForIndex_Assert(v5, 0, 2, "ProxyTool_GetPortByNetProvider") != 1 || v2->m_aProxy[v5].m_bEnabled != 1 )
- return v2->m_Port0;
- return v2->m_aProxy[v5].m_nPort;
- }
- //----- (0808BACC) --------------------------------------------------------
- void __cdecl LoginPlayer::SendCreateCode(LoginPlayer *const this)
- {
- int v1; // eax
- Packets::LCRetCreateCode msg; // [esp+0h] [ebp-4D8h]
- CAPTCHA::CAPTCHA_DATA data; // [esp+250h] [ebp-288h]
- if ( g_pGenerator )
- {
- CAPTCHA::Generator::generatorImage(g_pGenerator, &data, 1, 1, 0);
- if ( data.nCorrectAnswer == 1 )
- {
- *(_DWORD *)this->m_CreateCode.code = *(_DWORD *)data.wAnswer1;
- v1 = *(_DWORD *)&data.wAnswer1[2];
- }
- else if ( data.nCorrectAnswer <= 1 )
- {
- if ( data.nCorrectAnswer )
- LABEL_7:
- __assert__("./Player/LoginPlayer.cpp", 0x2FDu, "void LoginPlayer::SendCreateCode()", "FALSE");
- *(_DWORD *)this->m_CreateCode.code = *(_DWORD *)data.wAnswer0;
- v1 = *(_DWORD *)&data.wAnswer0[2];
- }
- else if ( data.nCorrectAnswer == 2 )
- {
- *(_DWORD *)this->m_CreateCode.code = *(_DWORD *)data.wAnswer2;
- v1 = *(_DWORD *)&data.wAnswer2[2];
- }
- else
- {
- if ( data.nCorrectAnswer != 3 )
- goto LABEL_7;
- *(_DWORD *)this->m_CreateCode.code = *(_DWORD *)data.wAnswer3;
- v1 = *(_DWORD *)&data.wAnswer3[2];
- }
- *(_DWORD *)&this->m_CreateCode.code[2] = v1;
- Packet::Packet((int)&msg);
- msg._vptr_Packet = (int (**)(...))off_80D2128;
- msg.m_RetType = 2;
- memset(msg.m_imageBuf, 0, 0x240u);
- msg.m_RetType = 2;
- memcpy(msg.m_imageBuf, data.imageBuf, 0x240u);
- (*((void (__cdecl **)(LoginPlayer *const , Packets::LCRetCreateCode *))this->_vptr_Player + 3))(this, &msg);
- this->m_bAlreadyCheckCreateCode = 0;
- msg._vptr_Packet = (int (**)(...))off_80D2128;
- Packet::~Packet(&msg);
- }
- }
- // 80D2128: using guessed type _DWORD (__cdecl *off_80D2128[2])(Packets::LCRetCreateCode *this);
- //----- (0808BC98) --------------------------------------------------------
- void __cdecl LoginPlayer::SendLoginCode(LoginPlayer *const this)
- {
- int v1; // ecx
- int v2; // ST14_4
- int v3; // eax
- Packets::LCRetLoginCode msg; // [esp+0h] [ebp-4D8h]
- CAPTCHA::CAPTCHA_DATA data; // [esp+250h] [ebp-288h]
- if ( g_pGenerator )
- {
- CAPTCHA::Generator::generatorImage(g_pGenerator, &data, 1, 1, 0);
- if ( data.nCorrectAnswer == 1 )
- {
- *(_DWORD *)this->m_LoginCode.code = *(_DWORD *)data.wAnswer1;
- v3 = *(_DWORD *)&data.wAnswer1[2];
- }
- else if ( data.nCorrectAnswer <= 1 )
- {
- if ( data.nCorrectAnswer )
- LABEL_7:
- __assert__("./Player/LoginPlayer.cpp", 0x322u, "void LoginPlayer::SendLoginCode()", "FALSE");
- *(_DWORD *)this->m_LoginCode.code = *(_DWORD *)data.wAnswer0;
- v3 = *(_DWORD *)&data.wAnswer0[2];
- }
- else if ( data.nCorrectAnswer == 2 )
- {
- *(_DWORD *)this->m_LoginCode.code = *(_DWORD *)data.wAnswer2;
- v3 = *(_DWORD *)&data.wAnswer2[2];
- }
- else
- {
- if ( data.nCorrectAnswer != 3 )
- goto LABEL_7;
- *(_DWORD *)this->m_LoginCode.code = *(_DWORD *)data.wAnswer3;
- v3 = *(_DWORD *)&data.wAnswer3[2];
- }
- *(_DWORD *)&this->m_LoginCode.code[2] = v3;
- Packet::Packet((int)&msg);
- msg._vptr_Packet = (int (**)(...))off_80CEEE8;
- msg.m_RetType = 2;
- memset(msg.m_imageBuf, 0, 0x240u);
- msg.m_RetType = 2;
- memcpy(msg.m_imageBuf, data.imageBuf, 0x240u);
- (*((void (__fastcall **)(int, int, LoginPlayer *const , Packets::LCRetLoginCode *))this->_vptr_Player + 3))(
- v1,
- v2,
- this,
- &msg);
- this->m_bAlreadyCheckLoginCode = 0;
- msg._vptr_Packet = (int (**)(...))off_80CEEE8;
- Packet::~Packet(&msg);
- }
- }
- // 80CEEE8: using guessed type _DWORD (__cdecl *off_80CEEE8[2])(Packets::LCRetLoginCode *this);
- //----- (0808BE64) --------------------------------------------------------
- int __cdecl LoginPlayer::GetIsPilferedAccount(int a2)
- {
- return *(unsigned __int16 *)(a2 + 536);
- }
- //----- (0808BE74) --------------------------------------------------------
- void __cdecl LoginPlayer::SetIsPilferedAccount(int isPilfered, USHORT isPilfereda)
- {
- *(_DWORD *)(isPilfered + 536) = isPilfereda;
- }
- //----- (0808BE88) --------------------------------------------------------
- void __cdecl _tcf_0_126(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0808BE98) --------------------------------------------------------
- void `global constructor keyed to'LoginPlayer::LoginPlayer()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_126, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0808BEC4) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::IsBillingPlayer(LoginPlayer *const this)
- {
- return 0;
- }
- //----- (0808BECC) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::IsLoginPlayer(LoginPlayer *const this)
- {
- return 1;
- }
- //----- (0808BED8) --------------------------------------------------------
- BOOL __cdecl LoginPlayer::IsServerPlayer(LoginPlayer *const this)
- {
- return 0;
- }
- //----- (0808BEE0) --------------------------------------------------------
- void __cdecl LoginPlayerManager::LoginPlayerManager(LoginPlayerManager *const this)
- {
- ASYNC_PACKET *v1; // eax
- ASYNC_PACKET *v2; // edx
- signed int v3; // ecx
- PlayerManager::PlayerManager(&this->0);
- this->_vptr_PlayerManager = (int (**)(...))&off_80DB268;
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- memset(&this->m_ReadFDs[1], 0, sizeof(this->m_ReadFDs[1]));
- memset(&this->m_WriteFDs[1], 0, sizeof(this->m_WriteFDs[1]));
- memset(&this->m_ExceptFDs[1], 0, sizeof(this->m_ExceptFDs[1]));
- memset(this->m_ReadFDs, 0, 0x200u);
- memset(this->m_WriteFDs, 0, 0x200u);
- memset(this->m_ExceptFDs, 0, 0x200u);
- this->m_Timeout[1].tv_sec = 0;
- this->m_Timeout[1].tv_usec = 100;
- this->m_Timeout[0].tv_sec = 0;
- this->m_Timeout[0].tv_usec = 0;
- this->m_MaxFD = -1;
- this->m_MinFD = -1;
- this->m_nFDSize = 0;
- v1 = (ASYNC_PACKET *)(operator new[](0x3004u) + 4);
- v1[-1].m_Flag = 1024;
- v2 = v1;
- v3 = 1023;
- do
- {
- --v3;
- v2->m_pPacket = 0;
- v2->m_PlayerID = -1;
- v2->m_Flag = 0;
- ++v2;
- }
- while ( v3 != -1 );
- this->m_PacketQue = v1;
- if ( !v1 )
- __assert__("./Player/LoginPlayerManager.cpp", 0x2Bu, "LoginPlayerManager::LoginPlayerManager()", "m_PacketQue");
- this->m_QueSize = 1024;
- this->m_Head = 0;
- this->m_Tail = 0;
- }
- // 80DB268: using guessed type _DWORD (__cdecl *off_80DB268)(PlayerManager *this, UINT uTime);
- //----- (0808C080) --------------------------------------------------------
- void __cdecl LoginPlayerManager::LoginPlayerManager(LoginPlayerManager *const this)
- {
- ASYNC_PACKET *v1; // eax
- ASYNC_PACKET *v2; // edx
- signed int v3; // ecx
- PlayerManager::PlayerManager(&this->0);
- this->_vptr_PlayerManager = (int (**)(...))&off_80DB268;
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- memset(&this->m_ReadFDs[1], 0, sizeof(this->m_ReadFDs[1]));
- memset(&this->m_WriteFDs[1], 0, sizeof(this->m_WriteFDs[1]));
- memset(&this->m_ExceptFDs[1], 0, sizeof(this->m_ExceptFDs[1]));
- memset(this->m_ReadFDs, 0, 0x200u);
- memset(this->m_WriteFDs, 0, 0x200u);
- memset(this->m_ExceptFDs, 0, 0x200u);
- this->m_Timeout[1].tv_sec = 0;
- this->m_Timeout[1].tv_usec = 100;
- this->m_Timeout[0].tv_sec = 0;
- this->m_Timeout[0].tv_usec = 0;
- this->m_MaxFD = -1;
- this->m_MinFD = -1;
- this->m_nFDSize = 0;
- v1 = (ASYNC_PACKET *)(operator new[](0x3004u) + 4);
- v1[-1].m_Flag = 1024;
- v2 = v1;
- v3 = 1023;
- do
- {
- --v3;
- v2->m_pPacket = 0;
- v2->m_PlayerID = -1;
- v2->m_Flag = 0;
- ++v2;
- }
- while ( v3 != -1 );
- this->m_PacketQue = v1;
- if ( !v1 )
- __assert__("./Player/LoginPlayerManager.cpp", 0x2Bu, "LoginPlayerManager::LoginPlayerManager()", "m_PacketQue");
- this->m_QueSize = 1024;
- this->m_Head = 0;
- this->m_Tail = 0;
- }
- // 80DB268: using guessed type _DWORD (__cdecl *off_80DB268)(PlayerManager *this, UINT uTime);
- //----- (0808C220) --------------------------------------------------------
- void __cdecl LoginPlayerManager::~LoginPlayerManager(LoginPlayerManager *const this)
- {
- ServerSocket *v1; // ebx
- ASYNC_PACKET *v2; // ecx
- ASYNC_PACKET *i; // ebx
- v1 = this->m_pServerSocket;
- this->_vptr_PlayerManager = (int (**)(...))&off_80DB268;
- if ( v1 )
- {
- ServerSocket::~ServerSocket(v1);
- operator delete((IPRegionTable *const )v1);
- this->m_pServerSocket = 0;
- }
- v2 = this->m_PacketQue;
- if ( v2 )
- {
- for ( i = &v2[v2[-1].m_Flag]; v2 != i; i->m_Flag = 0 )
- {
- --i;
- if ( i->m_pPacket )
- {
- (*((void (__cdecl **)(Packet *))i->m_pPacket->_vptr_Packet + 1))(i->m_pPacket);
- v2 = this->m_PacketQue;
- i->m_pPacket = 0;
- }
- i->m_PlayerID = -1;
- }
- operator delete[](&v2[-1].m_Flag);
- this->m_PacketQue = 0;
- }
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- PlayerManager::~PlayerManager(&this->0);
- }
- // 80DB268: using guessed type _DWORD (__cdecl *off_80DB268)(PlayerManager *this, UINT uTime);
- //----- (0808C33D) --------------------------------------------------------
- void __usercall __noreturn sub_808C33D(int a1@<esi>)
- {
- pthread_mutex_destroy((pthread_mutex_t *)(a1 + 6028));
- PlayerManager::~PlayerManager((PlayerManager *const )a1);
- _Unwind_Resume();
- }
- //----- (0808C368) --------------------------------------------------------
- void __cdecl LoginPlayerManager::~LoginPlayerManager(LoginPlayerManager *const this)
- {
- ServerSocket *v1; // ebx
- ASYNC_PACKET *v2; // ecx
- ASYNC_PACKET *i; // ebx
- v1 = this->m_pServerSocket;
- this->_vptr_PlayerManager = (int (**)(...))&off_80DB268;
- if ( v1 )
- {
- ServerSocket::~ServerSocket(v1);
- operator delete((IPRegionTable *const )v1);
- this->m_pServerSocket = 0;
- }
- v2 = this->m_PacketQue;
- if ( v2 )
- {
- for ( i = &v2[v2[-1].m_Flag]; v2 != i; i->m_Flag = 0 )
- {
- --i;
- if ( i->m_pPacket )
- {
- (*((void (__cdecl **)(Packet *))i->m_pPacket->_vptr_Packet + 1))(i->m_pPacket);
- v2 = this->m_PacketQue;
- i->m_pPacket = 0;
- }
- i->m_PlayerID = -1;
- }
- operator delete[](&v2[-1].m_Flag);
- this->m_PacketQue = 0;
- }
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- PlayerManager::~PlayerManager(&this->0);
- }
- // 80DB268: using guessed type _DWORD (__cdecl *off_80DB268)(PlayerManager *this, UINT uTime);
- //----- (0808C485) --------------------------------------------------------
- void __usercall __noreturn sub_808C485(int a1@<esi>)
- {
- pthread_mutex_destroy((pthread_mutex_t *)(a1 + 6028));
- PlayerManager::~PlayerManager((PlayerManager *const )a1);
- _Unwind_Resume();
- }
- //----- (0808C4B0) --------------------------------------------------------
- #error "808C5D0: positive sp value has been found (funcsize=72)"
- //----- (0808C624) --------------------------------------------------------
- #error "808C6F6: call analysis failed (funcsize=107)"
- //----- (0808C7D4) --------------------------------------------------------
- BOOL __cdecl LoginPlayerManager::AddPlayer(LoginPlayerManager *const this, Player *pPlayer)
- {
- unsigned int v2; // esi
- SOCKET v3; // eax
- SOCKET v4; // eax
- int v5; // eax
- BOOL result; // eax
- UINT v7; // [esp-Ch] [ebp-24h]
- if ( this->m_nFDSize > 1455 )
- {
- v7 = 509;
- goto LABEL_3;
- }
- v2 = Socket::getSOCKET((int)pPlayer->m_pSocket);
- if ( v2 == -1 )
- __assert__(
- "./Player/LoginPlayerManager.cpp",
- 0x206u,
- "BOOL LoginPlayerManager::AddPlayer(Player*)",
- "fd != INVALID_SOCKET");
- v3 = this->m_MinFD;
- if ( v3 > (signed int)v2 )
- v3 = v2;
- this->m_MinFD = v3;
- v4 = this->m_MaxFD;
- if ( v4 < (signed int)v2 )
- v4 = v2;
- this->m_MaxFD = v4;
- if ( (unsigned int)v4 > 0xFFF )
- __assert__(
- "./Player/LoginPlayerManager.cpp",
- 0x20Au,
- "BOOL LoginPlayerManager::AddPlayer(Player*)",
- "m_MaxFD<FD_SETSIZE && m_MaxFD>=0");
- if ( !PlayerManager::AddPlayer(&this->0, (Player_AtLogin *)pPlayer) )
- {
- v7 = 527;
- LABEL_3:
- __assert__("./Player/LoginPlayerManager.cpp", v7, "BOOL LoginPlayerManager::AddPlayer(Player*)", "FALSE");
- }
- v5 = v2 & 0x1F;
- _bittestandset((signed __int32 *)this->m_ReadFDs + (v2 >> 5), v5);
- _bittestandset((signed __int32 *)this->m_WriteFDs + (v2 >> 5), v5);
- _bittestandset((signed __int32 *)this->m_ExceptFDs + (v2 >> 5), v5);
- result = 1;
- ++this->m_nFDSize;
- return result;
- }
- //----- (0808C94C) --------------------------------------------------------
- BOOL __cdecl LoginPlayerManager::AcceptNewConnection(LoginPlayerManager *const this)
- {
- int *v1; // esi
- BOOL result; // eax
- int v3; // ebx
- SOCKET v4; // eax
- int v5; // ebx
- SOCKET v6; // eax
- v1 = (int *)PlayerPool::NewPlayer(g_pPlayerPool);
- result = 0;
- if ( v1 )
- {
- (*(void (__cdecl **)(int *))(*v1 + 104))(v1);
- if ( ServerSocket::accept(this->m_pServerSocket, (Socket *)v1[1]) )
- {
- if ( Socket::getSOCKET(v1[1]) == -1 )
- __assert__("./Player/LoginPlayerManager.cpp", 0x1AAu, "BOOL LoginPlayerManager::AcceptNewConnection()", "FALSE");
- if ( !Socket::setNonBlocking(v1[1], 1) )
- __assert__("./Player/LoginPlayerManager.cpp", 0x1B2u, "BOOL LoginPlayerManager::AcceptNewConnection()", "FALSE");
- if ( Socket::getSockError((const Socket *const )v1[1]) )
- __assert__("./Player/LoginPlayerManager.cpp", 0x1B9u, "BOOL LoginPlayerManager::AcceptNewConnection()", "FALSE");
- if ( !Socket::setLinger(v1[1], 0) )
- __assert__("./Player/LoginPlayerManager.cpp", 0x1C1u, "BOOL LoginPlayerManager::AcceptNewConnection()", "FALSE");
- LoginPlayer::Init((LoginPlayer *const )v1);
- v1[9] = 301;
- v1[108] = TimeManager::CurrentTime((int)g_pTimeManager);
- if ( !LoginPlayerManager::AddPlayer(this, (Player *)v1) )
- __assert__("./Player/LoginPlayerManager.cpp", 0x1D2u, "BOOL LoginPlayerManager::AcceptNewConnection()", "FALSE");
- v5 = v1[1] + 24;
- v6 = Socket::getSOCKET(v1[1]);
- CacheLog(0, "AcceptNewConnection(SOCKET=%d, IP=%s)...OK", v6, v5);
- result = 1;
- }
- else
- {
- v3 = v1[1] + 24;
- v4 = Socket::getSOCKET(v1[1]);
- CacheLog(0, "AcceptNewConnection(SOCKET=%d,IP=%s,Step=%d)...Fails", v4, v3, 15);
- (*(void (__cdecl **)(int *))(*v1 + 104))(v1);
- PlayerPool::DelPlayer(g_pPlayerPool, *((_WORD *)v1 + 12));
- result = 0;
- }
- }
- return result;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (0808CBB0) --------------------------------------------------------
- BOOL __cdecl LoginPlayerManager::DelPlayer(LoginPlayerManager *const this, PlayerID_t pid)
- {
- SOCKET v2; // eax
- unsigned int v3; // ebx
- SOCKET v4; // edx
- SOCKET v5; // eax
- int v6; // edx
- unsigned int v7; // ecx
- INT v8; // eax
- LoginPlayer *v10; // ebx
- SOCKET v11; // eax
- PlayerID_t v12; // ax
- LoginPlayer *v13; // eax
- SOCKET v14; // eax
- SOCKET v15; // eax
- PlayerID_t v16; // ax
- LoginPlayer *v17; // eax
- SOCKET v18; // eax
- SOCKET v19; // eax
- UINT i_0; // [esp+4h] [ebp-24h]
- UINT nPlayerCount_0; // [esp+8h] [ebp-20h]
- SOCKET s_0; // [esp+Ch] [ebp-1Ch]
- UINT i; // [esp+10h] [ebp-18h]
- UINT nPlayerCount; // [esp+14h] [ebp-14h]
- SOCKET s; // [esp+18h] [ebp-10h]
- if ( pid == -1 )
- __assert__(
- "./Player/LoginPlayerManager.cpp",
- 0x224u,
- "BOOL LoginPlayerManager::DelPlayer(PlayerID_t)",
- "pid!=INVALID_ID");
- if ( pid == -1 || pid > 3071 || pid < 0 || (v10 = &g_pPlayerPool->m_pPlayer[pid]) == 0 )
- __assert__(
- "./Player/LoginPlayerManager.cpp",
- 0x226u,
- "BOOL LoginPlayerManager::DelPlayer(PlayerID_t)",
- "pLoginPlayer");
- v2 = Socket::getSOCKET((int)v10->m_pSocket);
- v3 = v2;
- if ( this->m_MinFD == -1 )
- __assert__(
- "./Player/LoginPlayerManager.cpp",
- 0x22Au,
- "BOOL LoginPlayerManager::DelPlayer(PlayerID_t)",
- "m_MinFD!=INVALID_SOCKET");
- if ( this->m_MaxFD == -1 )
- __assert__(
- "./Player/LoginPlayerManager.cpp",
- 0x22Bu,
- "BOOL LoginPlayerManager::DelPlayer(PlayerID_t)",
- "m_MaxFD!=INVALID_SOCKET");
- if ( v2 == -1 )
- __assert__("./Player/LoginPlayerManager.cpp", 0x22Eu, "BOOL LoginPlayerManager::DelPlayer(PlayerID_t)", "FALSE");
- v4 = this->m_MinFD;
- if ( v4 != v2 )
- {
- v5 = this->m_MaxFD;
- if ( v5 != v3 )
- goto LABEL_10;
- i_0 = 0;
- s_0 = this->m_MinFD;
- nPlayerCount_0 = this->m_nPlayers;
- if ( nPlayerCount_0 > 0 )
- {
- do
- {
- v16 = this->m_pPlayers[i_0];
- if ( v16 != -1 )
- {
- if ( v16 > 3071 || v16 < 0 || (v17 = &g_pPlayerPool->m_pPlayer[v16]) == 0 )
- __assert__(
- "./Player/LoginPlayerManager.cpp",
- 0x266u,
- "BOOL LoginPlayerManager::DelPlayer(PlayerID_t)",
- "pPlayer");
- v18 = Socket::getSOCKET((int)v17->m_pSocket);
- if ( v18 != v3 && v18 != -1 && v18 > s_0 )
- s_0 = v18;
- }
- ++i_0;
- }
- while ( i_0 < nPlayerCount_0 );
- v4 = this->m_MinFD;
- v5 = this->m_MaxFD;
- }
- if ( v5 != v4 )
- {
- v19 = this->m_SocketID;
- if ( v19 <= s_0 )
- v19 = s_0;
- this->m_MaxFD = v19;
- goto LABEL_10;
- }
- LABEL_64:
- this->m_MaxFD = -1;
- this->m_MinFD = -1;
- goto LABEL_10;
- }
- i = 0;
- v11 = this->m_MaxFD;
- s = this->m_MaxFD;
- nPlayerCount = this->m_nPlayers;
- if ( nPlayerCount > 0 )
- {
- do
- {
- v12 = this->m_pPlayers[i];
- if ( v12 != -1 )
- {
- if ( v12 > 3071 || v12 < 0 || (v13 = &g_pPlayerPool->m_pPlayer[v12]) == 0 )
- __assert__(
- "./Player/LoginPlayerManager.cpp",
- 0x23Bu,
- "BOOL LoginPlayerManager::DelPlayer(PlayerID_t)",
- "pPlayer");
- v14 = Socket::getSOCKET((int)v13->m_pSocket);
- if ( v14 != v3 && v14 != -1 && v14 < s )
- s = v14;
- }
- ++i;
- }
- while ( i < nPlayerCount );
- v4 = this->m_MinFD;
- v11 = this->m_MaxFD;
- }
- if ( v4 == v11 )
- goto LABEL_64;
- v15 = this->m_SocketID;
- if ( v15 >= s )
- v15 = s;
- this->m_MinFD = v15;
- LABEL_10:
- v6 = v3 & 0x1F;
- v7 = v3 >> 5;
- if ( _bittest((const signed __int32 *)this->m_ReadFDs + (v3 >> 5), v6) )
- _bittestandreset((signed __int32 *)this->m_ReadFDs + v7, v6);
- if ( _bittest(&this->m_ReadFDs[1].fds_bits[v7], v6) )
- _bittestandreset(&this->m_ReadFDs[1].fds_bits[v7], v6);
- if ( _bittest((const signed __int32 *)this->m_WriteFDs + v7, v6) )
- _bittestandreset((signed __int32 *)this->m_WriteFDs + v7, v6);
- if ( _bittest(&this->m_WriteFDs[1].fds_bits[v7], v6) )
- _bittestandreset(&this->m_WriteFDs[1].fds_bits[v7], v6);
- if ( _bittest((const signed __int32 *)this->m_ExceptFDs + v7, v6) )
- _bittestandreset((signed __int32 *)this->m_ExceptFDs + v7, v6);
- if ( _bittest(&this->m_ExceptFDs[1].fds_bits[v7], v6) )
- _bittestandreset(&this->m_ExceptFDs[1].fds_bits[v7], v6);
- v8 = this->m_nFDSize - 1;
- this->m_nFDSize = v8;
- if ( v8 < 0 )
- __assert__(
- "./Player/LoginPlayerManager.cpp",
- 0x290u,
- "BOOL LoginPlayerManager::DelPlayer(PlayerID_t)",
- "m_nFDSize>=0");
- PlayerManager::RemovePlayer(&this->0, pid);
- return 1;
- }
- //----- (0808CFEC) --------------------------------------------------------
- #error "808D087: positive sp value has been found (funcsize=42)"
- //----- (0808D0A0) --------------------------------------------------------
- BOOL __cdecl LoginPlayerManager::ProcessCommands(LoginPlayerManager *const this)
- {
- int v1; // edi
- PlayerID_t v2; // ax
- bool v3; // cf
- BOOL result; // eax
- Socket *v5; // [esp+4h] [ebp-14h]
- UINT nPlayerCount; // [esp+8h] [ebp-10h]
- if ( this->m_MinFD != -1 || (result = 1, this->m_MaxFD != -1) )
- {
- v1 = 0;
- nPlayerCount = this->m_nPlayers;
- if ( this->m_nPlayers <= 0 )
- return 1;
- while ( 1 )
- {
- v2 = this->m_pPlayers[v1];
- if ( v2 != -1 )
- {
- if ( v2 > 3071 || v2 < 0 || (v5 = (Socket *)&g_pPlayerPool->m_pPlayer[v2]) == 0 )
- __assert__("./Player/LoginPlayerManager.cpp", 0x15Eu, "BOOL LoginPlayerManager::ProcessCommands()", "pPlayer");
- if ( this->m_SocketID != Socket::getSOCKET(v5->m_SocketID) )
- {
- if ( Socket::isSockError(v5->m_SocketID) )
- {
- LoginPlayerManager::RemovePlayer(this, (Player *)v5);
- goto LABEL_19;
- }
- if ( !(*((int (__cdecl **)(Socket *, _DWORD))v5->_vptr_Socket + 21))(v5, 0) )
- {
- LoginPlayerManager::RemovePlayer(this, (Player *)v5);
- LABEL_19:
- v3 = ++v1 < nPlayerCount;
- goto LABEL_8;
- }
- }
- }
- v3 = ++v1 < nPlayerCount;
- LABEL_8:
- if ( !v3 )
- return 1;
- }
- }
- return result;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (0808D238) --------------------------------------------------------
- BOOL __cdecl LoginPlayerManager::ProcessExceptions(LoginPlayerManager *const this)
- {
- int v1; // esi
- PlayerID_t v2; // ax
- unsigned int v3; // eax
- bool v4; // cf
- BOOL result; // eax
- LoginPlayer *v6; // edi
- UINT nPlayerCount; // [esp+8h] [ebp-10h]
- if ( this->m_MinFD != -1 || (result = 1, this->m_MaxFD != -1) )
- {
- v1 = 0;
- nPlayerCount = this->m_nPlayers;
- if ( this->m_nPlayers > 0 )
- {
- do
- {
- v2 = this->m_pPlayers[v1];
- if ( v2 == -1 )
- goto LABEL_21;
- if ( v2 > 3071 || v2 < 0 || (v6 = &g_pPlayerPool->m_pPlayer[v2]) == 0 )
- __assert__(
- "./Player/LoginPlayerManager.cpp",
- 0x132u,
- "BOOL LoginPlayerManager::ProcessExceptions()",
- "pPlayer");
- v3 = Socket::getSOCKET((int)v6->m_pSocket);
- if ( this->m_SocketID == v3 )
- __assert__("./Player/LoginPlayerManager.cpp", 0x137u, "BOOL LoginPlayerManager::ProcessExceptions()", "FALSE");
- if ( _bittest(&this->m_ExceptFDs[1].fds_bits[v3 >> 5], v3 & 0x1F) )
- {
- LoginPlayerManager::RemovePlayer(this, &v6->0);
- v4 = ++v1 < nPlayerCount;
- }
- else
- {
- LABEL_21:
- v4 = ++v1 < nPlayerCount;
- }
- }
- while ( v4 );
- }
- result = 1;
- }
- return result;
- }
- //----- (0808D38C) --------------------------------------------------------
- BOOL __cdecl LoginPlayerManager::ProcessOutputs(LoginPlayerManager *const this)
- {
- int v1; // edi
- PlayerID_t v2; // ax
- unsigned int v3; // ebx
- bool v4; // cf
- BOOL result; // eax
- Socket *v6; // [esp+4h] [ebp-14h]
- UINT nPlayerCount; // [esp+8h] [ebp-10h]
- if ( this->m_MinFD != -1 || (result = 1, this->m_MaxFD != -1) )
- {
- v1 = 0;
- nPlayerCount = this->m_nPlayers;
- if ( this->m_nPlayers <= 0 )
- return 1;
- while ( 1 )
- {
- v2 = this->m_pPlayers[v1];
- if ( v2 != -1 )
- {
- if ( v2 > 3071 || v2 < 0 || (v6 = (Socket *)&g_pPlayerPool->m_pPlayer[v2]) == 0 )
- __assert__("./Player/LoginPlayerManager.cpp", 0xFEu, "BOOL LoginPlayerManager::ProcessOutputs()", "pPlayer");
- v3 = Socket::getSOCKET(v6->m_SocketID);
- if ( this->m_SocketID != v3 )
- {
- if ( Socket::isSockError(v6->m_SocketID) )
- {
- LoginPlayerManager::RemovePlayer(this, (Player *)v6);
- goto LABEL_20;
- }
- if ( _bittest(&this->m_WriteFDs[1].fds_bits[v3 >> 5], v3 & 0x1F)
- && !(*((int (__cdecl **)(Socket *))v6->_vptr_Socket + 20))(v6) )
- {
- LoginPlayerManager::RemovePlayer(this, (Player *)v6);
- LABEL_20:
- v4 = ++v1 < nPlayerCount;
- goto LABEL_8;
- }
- }
- }
- v4 = ++v1 < nPlayerCount;
- LABEL_8:
- if ( !v4 )
- return 1;
- }
- }
- return result;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (0808D544) --------------------------------------------------------
- BOOL __cdecl LoginPlayerManager::ProcessInputs(LoginPlayerManager *const this)
- {
- signed int v1; // ebx
- int v2; // edi
- PlayerID_t v3; // ax
- unsigned int v4; // ebx
- bool v5; // cf
- BOOL result; // eax
- Socket *v7; // [esp+4h] [ebp-14h]
- UINT nPlayerCount; // [esp+8h] [ebp-10h]
- if ( this->m_MinFD != -1 || (result = 1, this->m_MaxFD != -1) )
- {
- if ( _bittest(&this->m_ReadFDs[1].fds_bits[(unsigned int)this->m_SocketID >> 5], this->m_SocketID & 0x1F) )
- {
- v1 = 0;
- do
- {
- if ( !LoginPlayerManager::AcceptNewConnection(this) )
- break;
- ++v1;
- }
- while ( v1 <= 49 );
- }
- v2 = 0;
- nPlayerCount = this->m_nPlayers;
- if ( this->m_nPlayers <= 0 )
- return 1;
- while ( 1 )
- {
- v3 = this->m_pPlayers[v2];
- if ( v3 != -1 )
- {
- if ( v3 > 3071 || v3 < 0 || (v7 = (Socket *)&g_pPlayerPool->m_pPlayer[v3]) == 0 )
- __assert__("./Player/LoginPlayerManager.cpp", 0xC8u, "BOOL LoginPlayerManager::ProcessInputs()", "pPlayer");
- v4 = Socket::getSOCKET(v7->m_SocketID);
- if ( this->m_SocketID != v4 )
- {
- if ( Socket::isSockError(v7->m_SocketID) )
- {
- LoginPlayerManager::RemovePlayer(this, (Player *)v7);
- goto LABEL_24;
- }
- if ( _bittest(&this->m_ReadFDs[1].fds_bits[v4 >> 5], v4 & 0x1F)
- && !(*((int (__cdecl **)(Socket *))v7->_vptr_Socket + 19))(v7) )
- {
- LoginPlayerManager::RemovePlayer(this, (Player *)v7);
- LABEL_24:
- v5 = ++v2 < nPlayerCount;
- goto LABEL_12;
- }
- }
- }
- v5 = ++v2 < nPlayerCount;
- LABEL_12:
- if ( !v5 )
- return 1;
- }
- }
- return result;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (0808D734) --------------------------------------------------------
- BOOL __cdecl LoginPlayerManager::HeartBeat(LoginPlayerManager *const this)
- {
- UINT v1; // esi
- PlayerID_t v2; // ax
- LoginPlayer *v3; // ebx
- UINT v5; // eax
- UINT nPlayerCount; // [esp+10h] [ebp-14h]
- UINT uTime; // [esp+14h] [ebp-10h]
- uTime = TimeManager::CurrentTime((int)g_pTimeManager);
- v1 = 0;
- nPlayerCount = this->m_nPlayers;
- if ( nPlayerCount > 0 )
- {
- do
- {
- v2 = this->m_pPlayers[v1];
- if ( v2 != -1 )
- {
- if ( v2 > 3071 || v2 < 0 || (v3 = &g_pPlayerPool->m_pPlayer[v2]) == 0 )
- __assert__("./Player/LoginPlayerManager.cpp", 0x2ACu, "virtual BOOL LoginPlayerManager::HeartBeat()", "FALSE");
- if ( (*((int (__cdecl **)(LoginPlayer *, UINT))v3->_vptr_Player + 22))(v3, uTime) )
- {
- if ( v3->m_Status == 301 && uTime - v3->m_ConnectTime > 0x7530 )
- {
- v5 = v3->m_MiBaoInputBeginTime;
- if ( v5 )
- {
- if ( uTime - v5 > 0x493E0 && !LoginPlayerManager::RemovePlayer(this, &v3->0) )
- __assert__(
- "./Player/LoginPlayerManager.cpp",
- 0x2C9u,
- "virtual BOOL LoginPlayerManager::HeartBeat()",
- "ret");
- }
- else if ( !LoginPlayerManager::RemovePlayer(this, &v3->0) )
- {
- __assert__(
- "./Player/LoginPlayerManager.cpp",
- 0x2C2u,
- "virtual BOOL LoginPlayerManager::HeartBeat()",
- "ret");
- }
- }
- }
- else if ( !LoginPlayerManager::RemovePlayer(this, &v3->0) )
- {
- __assert__("./Player/LoginPlayerManager.cpp", 0x2B4u, "virtual BOOL LoginPlayerManager::HeartBeat()", "ret");
- }
- }
- ++v1;
- }
- while ( v1 < nPlayerCount );
- }
- return 1;
- }
- //----- (0808D8F0) --------------------------------------------------------
- void __cdecl LoginPlayerManager::RemoveAllPlayer(LoginPlayerManager *const this)
- {
- UINT v1; // edi
- UINT v2; // esi
- PlayerID_t v3; // ax
- LoginPlayer *v4; // eax
- v1 = this->m_nPlayers;
- v2 = 0;
- while ( v2 < v1 )
- {
- v3 = this->m_pPlayers[0];
- if ( v3 == -1 )
- break;
- if ( v3 <= 3071 && v3 >= 0 )
- {
- v4 = &g_pPlayerPool->m_pPlayer[v3];
- if ( v4 )
- continue;
- }
- __assert__("./Player/LoginPlayerManager.cpp", 0x2E8u, "void LoginPlayerManager::RemoveAllPlayer()", "FALSE");
- LoginPlayerManager::RemovePlayer(this, &v4->0);
- ++v2;
- }
- }
- //----- (0808D9C4) --------------------------------------------------------
- BOOL __cdecl LoginPlayerManager::RecvPacket(LoginPlayerManager *const this, Packet **const pPacket, PlayerID_t *const PlayerID, UINT *const Flag)
- {
- ASYNC_PACKET *v4; // ebx
- UINT v5; // ecx
- Packet *v6; // edx
- UINT v8; // eax
- UINT v9; // eax
- pthread_mutex_t *v10; // eax
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v4 = this->m_PacketQue;
- v5 = this->m_Head;
- v6 = v4[v5].m_pPacket;
- if ( v6 )
- {
- *pPacket = v6;
- *PlayerID = v4[v5].m_PlayerID;
- *Flag = v4[v5].m_Flag;
- v8 = this->m_Head;
- v4[v8].m_Flag = 0;
- v4[v8].m_pPacket = 0;
- v4[v8].m_PlayerID = -1;
- v9 = this->m_Head + 1;
- if ( v9 >= this->m_QueSize )
- {
- v10 = &this->m_Lock.m_Mutex;
- this->m_Head = 0;
- if ( this == (LoginPlayerManager *const )-6028 )
- return 1;
- }
- else
- {
- this->m_Head = v9;
- v10 = &this->m_Lock.m_Mutex;
- if ( this == (LoginPlayerManager *const )-6028 )
- return 1;
- }
- pthread_mutex_unlock(v10);
- return 1;
- }
- if ( this != (LoginPlayerManager *const )-6028 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- return 0;
- }
- //----- (0808DABC) --------------------------------------------------------
- BOOL __cdecl LoginPlayerManager::MovePacket(LoginPlayerManager *const this, PlayerID_t PlayerID)
- {
- UINT v2; // ebx
- UINT v3; // edi
- UINT v4; // ecx
- ASYNC_PACKET *v5; // esi
- int v6; // edx
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v2 = this->m_QueSize;
- v3 = 0;
- v4 = this->m_Head;
- if ( v2 )
- {
- v5 = this->m_PacketQue;
- do
- {
- v6 = v4;
- if ( !v5[v4].m_pPacket )
- break;
- if ( v5[v6].m_PlayerID == PlayerID )
- {
- v5[v6].m_Flag = 1;
- v2 = this->m_QueSize;
- }
- if ( v2 <= ++v4 )
- v4 = 0;
- ++v3;
- }
- while ( v2 > v3 );
- }
- if ( this != (LoginPlayerManager *const )-6028 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- return 1;
- }
- //----- (0808DB7C) --------------------------------------------------------
- #error "808DD20: positive sp value has been found (funcsize=123)"
- //----- (0808DD90) --------------------------------------------------------
- #error "808DED7: positive sp value has been found (funcsize=89)"
- //----- (0808DF5C) --------------------------------------------------------
- BOOL __cdecl LoginPlayerManager::SendPacket(LoginPlayerManager *const this, Packet *pPacket, PlayerID_t PlayerID, UINT Flag)
- {
- UINT v4; // edx
- ASYNC_PACKET *v5; // ecx
- int v6; // eax
- UINT v7; // eax
- pthread_mutex_t *v8; // eax
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v4 = this->m_Tail;
- v5 = this->m_PacketQue;
- if ( v5[v4].m_pPacket )
- {
- if ( !LoginPlayerManager::ResizeCache(this) )
- __assert__(
- "./Player/LoginPlayerManager.cpp",
- 0x389u,
- "BOOL LoginPlayerManager::SendPacket(Packet*, PlayerID_t, UINT)",
- "ret");
- v4 = this->m_Tail;
- v5 = this->m_PacketQue;
- }
- v6 = v4;
- v5[v6].m_pPacket = pPacket;
- v5[v6].m_Flag = Flag;
- v5[v6].m_PlayerID = PlayerID;
- v7 = this->m_Tail + 1;
- if ( v7 >= this->m_QueSize )
- {
- v8 = &this->m_Lock.m_Mutex;
- this->m_Tail = 0;
- if ( this == (LoginPlayerManager *const )-6028 )
- return 1;
- LABEL_6:
- pthread_mutex_unlock(v8);
- return 1;
- }
- this->m_Tail = v7;
- v8 = &this->m_Lock.m_Mutex;
- if ( this != (LoginPlayerManager *const )-6028 )
- goto LABEL_6;
- return 1;
- }
- //----- (0808E0A8) --------------------------------------------------------
- void __cdecl _tcf_0_127(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0808E0B8) --------------------------------------------------------
- void `global constructor keyed to'g_pLoginPlayerManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_127, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0808E0E4) --------------------------------------------------------
- void __cdecl Player_AtLogin::Player_AtLogin(Player *a3, unsigned int a4)
- {
- Player::Player(a3, 0x10000u, a4 < 1 ? 98304 : 0x4000000, 0x2000u, a4 < 1 ? 102400 : 0x4000000);
- a3->_vptr_Player = (int (**)(...))off_80DB9A8;
- LOWORD(a3[1].m_pSocketInputStream) = -1;
- HIWORD(a3[1].m_pSocketInputStream) = -1;
- LOWORD(a3[1].m_pSocketOutputStream) = -1;
- a3[1]._vptr_Player = (int (**)(...))1;
- a3[1].m_pSocket = 0;
- BYTE2(a3[1].m_pSocketOutputStream) = 0;
- }
- // 80DB9A8: using guessed type _DWORD (__cdecl *off_80DB9A8[2])(Player *this, UINT *const socketRet);
- //----- (0808E154) --------------------------------------------------------
- void __cdecl Player_AtLogin::Player_AtLogin(Player *a3, unsigned int a4)
- {
- Player::Player(a3, 0x10000u, a4 < 1 ? 98304 : 0x4000000, 0x2000u, a4 < 1 ? 102400 : 0x4000000);
- a3->_vptr_Player = (int (**)(...))off_80DB9A8;
- LOWORD(a3[1].m_pSocketInputStream) = -1;
- HIWORD(a3[1].m_pSocketInputStream) = -1;
- LOWORD(a3[1].m_pSocketOutputStream) = -1;
- a3[1]._vptr_Player = (int (**)(...))1;
- a3[1].m_pSocket = 0;
- BYTE2(a3[1].m_pSocketOutputStream) = 0;
- }
- // 80DB9A8: using guessed type _DWORD (__cdecl *off_80DB9A8[2])(Player *this, UINT *const socketRet);
- //----- (0808E1C4) --------------------------------------------------------
- void __cdecl Player_AtLogin::~Player_AtLogin(Player *a2)
- {
- a2->_vptr_Player = (int (**)(...))off_80DB9A8;
- Player::~Player(a2);
- }
- // 80DB9A8: using guessed type _DWORD (__cdecl *off_80DB9A8[2])(Player *this, UINT *const socketRet);
- //----- (0808E1E0) --------------------------------------------------------
- void __cdecl Player_AtLogin::~Player_AtLogin(Player *a2)
- {
- a2->_vptr_Player = (int (**)(...))off_80DB9A8;
- Player::~Player(a2);
- }
- // 80DB9A8: using guessed type _DWORD (__cdecl *off_80DB9A8[2])(Player *this, UINT *const socketRet);
- //----- (0808E1FC) --------------------------------------------------------
- void __cdecl Player_AtLogin::~Player_AtLogin(Player *a2)
- {
- a2->_vptr_Player = (int (**)(...))off_80DB9A8;
- Player::~Player(a2);
- operator delete((IPRegionTable *const )a2);
- }
- // 80DB9A8: using guessed type _DWORD (__cdecl *off_80DB9A8[2])(Player *this, UINT *const socketRet);
- //----- (0808E224) --------------------------------------------------------
- void __cdecl Player_AtLogin::CleanUp(Player_AtLogin *const this)
- {
- Socket::close(this->m_pSocket);
- SocketInputStream::CleanUp((int)this->m_pSocketInputStream);
- SocketOutputStream::CleanUp((int)this->m_pSocketOutputStream);
- this->m_PlayerManagerID = -1;
- this->m_UID = -1;
- this->m_PacketIndex = 0;
- this->m_IsDisconnect = 0;
- }
- //----- (0808E2AC) --------------------------------------------------------
- BOOL __cdecl Player_AtLogin::ProcessInput(Player_AtLogin *const this)
- {
- UINT v1; // eax
- CHAR *v3; // ST10_4
- UINT v4; // ST0C_4
- int v5; // eax
- UINT socketRet; // [esp+0h] [ebp-8h]
- socketRet = v1;
- if ( this->m_IsDisconnect || Player::ProcessInput(&this->0, &socketRet) )
- return 1;
- v3 = MySocketError();
- v4 = socketRet;
- v5 = TimeManager::Time2DWORD(g_pTimeManager);
- CacheLog(0, "[%d] m_pSocketInputStream->Fill ret:%d %s", v5, v4, v3);
- return 0;
- }
- //----- (0808E35C) --------------------------------------------------------
- BOOL __cdecl Player_AtLogin::ProcessOutput(Player_AtLogin *const this)
- {
- UINT v1; // eax
- CHAR *v3; // ST10_4
- UINT v4; // ST0C_4
- int v5; // eax
- UINT socketRet; // [esp+0h] [ebp-8h]
- socketRet = v1;
- if ( this->m_IsDisconnect || Player::ProcessOutput(&this->0, &socketRet) )
- return 1;
- v3 = MySocketError();
- v4 = socketRet;
- v5 = TimeManager::Time2DWORD(g_pTimeManager);
- CacheLog(0, "[%d] m_pSocketOutputStream->Flush ret:%d %s", v5, v4, v3);
- return 0;
- }
- //----- (0808E40C) --------------------------------------------------------
- void __cdecl __noreturn Player_AtLogin::onPacketIDInvalid(Player_AtLogin *const this, PacketID_t packetID)
- {
- CacheLog(6, "onPacketIDInvalid Login...packetID=%d", packetID);
- __assert__("./Player/Player.cpp", 0x68u, "virtual void Player_AtLogin::onPacketIDInvalid(PacketID_t)", "FALSE");
- }
- //----- (0808E444) --------------------------------------------------------
- void __cdecl __noreturn Player_AtLogin::onPacketSizeInvalid(Player_AtLogin *const this, PacketID_t packetID, UINT packetSize, UINT packetMaxSize)
- {
- CacheLog(6, "onPacketSizeInvalid Login...packetID=%d Size=%d MaxSize=%d", packetID, packetSize, packetMaxSize);
- __assert__(
- "./Player/Player.cpp",
- 0x70u,
- "virtual void Player_AtLogin::onPacketSizeInvalid(PacketID_t, UINT, UINT)",
- "FALSE");
- }
- //----- (0808E488) --------------------------------------------------------
- void __cdecl __noreturn Player_AtLogin::onPacketCreateError(Player_AtLogin *const this, PacketID_t packetID, UINT packetSize, UINT packetMaxSize)
- {
- CacheLog(6, "onPacketCreateError Login...packetID=%d Size=%d MaxSize=%d", packetID, packetSize, packetMaxSize);
- __assert__(
- "./Player/Player.cpp",
- 0x78u,
- "virtual void Player_AtLogin::onPacketCreateError(PacketID_t, UINT, UINT)",
- "FALSE");
- }
- //----- (0808E4CC) --------------------------------------------------------
- void __cdecl __noreturn Player_AtLogin::onPacketReadError(Player_AtLogin *const this, PacketID_t id, UINT packetSize, UINT packetMaxSize, const CHAR *debugBuffer, UINT debugBufferLength)
- {
- CacheLog(6, "onPacketReadError Login...packetID=%d Size=%d MaxSize=%d", id, packetSize, packetMaxSize);
- __assert__(
- "./Player/Player.cpp",
- 0x7Fu,
- "virtual void Player_AtLogin::onPacketReadError(PacketID_t, UINT, UINT, const CHAR*, UINT)",
- "FALSE");
- }
- //----- (0808E510) --------------------------------------------------------
- BOOL __cdecl Player_AtLogin::beforeExecutePacket(UINT packetIndex)
- {
- (*(void (__stdcall **)(UINT))(*(_DWORD *)packetIndex + 108))(packetIndex);
- return 1;
- }
- //----- (0808E528) --------------------------------------------------------
- void __cdecl __noreturn Player_AtLogin::onPacketExecuteUNKNOWN(Player_AtLogin *const this, PacketID_t id, const CHAR *debugBuffer, UINT debugBufferLength)
- {
- __assert__(
- "./Player/Player.cpp",
- 0x8Du,
- "virtual void Player_AtLogin::onPacketExecuteUNKNOWN(PacketID_t, const CHAR*, UINT)",
- "FALSE");
- }
- //----- (0808E550) --------------------------------------------------------
- void __cdecl Player_AtLogin::onExecutePacketException(Player_AtLogin *const this, INT ring, const CHAR *debugBuffer, UINT debugBufferLength)
- {
- ;
- }
- //----- (0808E558) --------------------------------------------------------
- BOOL __cdecl Player_AtLogin::ProcessCommand(Player_AtLogin *const this, BOOL a2)
- {
- BOOL result; // eax
- result = 1;
- if ( !this->m_IsDisconnect )
- result = Player::ProcessCommand(&this->0, 0x2C9u, g_pPacketFactoryManager, -1, 0);
- return result;
- }
- //----- (0808E5DC) --------------------------------------------------------
- BOOL __cdecl Player_AtLogin::SendPacket(Player_AtLogin *const this, Packet *pPacket)
- {
- BOOL result; // eax
- BYTE v3; // dl
- result = 1;
- if ( !this->m_IsDisconnect )
- {
- if ( this->m_pSocketOutputStream )
- {
- v3 = this->m_PacketIndex;
- this->m_PacketIndex = v3 + 1;
- pPacket->m_Index = v3;
- if ( !SocketOutputStream::WritePacket(this->m_pSocketOutputStream, (unsigned __int8 *)pPacket) )
- __assert__("./Player/Player.cpp", 0xACu, "virtual BOOL Player_AtLogin::SendPacket(Packet*)", "ret");
- }
- result = 1;
- }
- return result;
- }
- //----- (0808E690) --------------------------------------------------------
- BOOL __cdecl Player_AtLogin::HeartBeat(Player_AtLogin *const this, UINT uTime)
- {
- return 1;
- }
- //----- (0808E69C) --------------------------------------------------------
- void __cdecl Player_AtLogin::ResetKick(Player_AtLogin *const this)
- {
- ;
- }
- //----- (0808E6A4) --------------------------------------------------------
- INT __cdecl Player_AtLogin::WhereThisPlayerFrom(const Player_AtLogin *const this)
- {
- Socket *v1; // edx
- INT result; // eax
- const char *v3; // ebx
- signed int v4; // edi
- const char *v5; // esi
- v1 = this->m_pSocket;
- result = -1;
- if ( v1 )
- {
- v3 = v1->m_Host;
- v4 = 0;
- v5 = (const char *)&g_Config.m_InternalIpofProxy;
- while ( 1 )
- {
- if ( !strncmp(v3, v5, 0x18u) )
- return 0;
- if ( !strncmp(v3, v5 + 48, 0x18u) )
- return 1;
- if ( !strncmp(v3, v5 + 96, 0x18u) )
- break;
- ++v4;
- v5 += 24;
- if ( v4 > 1 )
- return -1;
- }
- result = 2;
- }
- return result;
- }
- //----- (0808E728) --------------------------------------------------------
- CHAR *__cdecl ProxyTool_GetCorrespondingIP(const Player *pPlayer, ID_t ServerID)
- {
- _SERVER_DATA *v2; // esi
- INT v3; // eax
- INT v4; // ebx
- CHAR *result; // eax
- int v6; // eax
- CHAR szLog[1024]; // [esp+8h] [ebp-408h]
- v2 = ServerManager::FindServerInfo(*(ServerManager *const *)&g_pServerManager, ServerID);
- if ( !v2 )
- {
- snprintf(szLog, 0x400u, "[ProxyTool_GetCorrespondingIP] Error: Can't found the specific server(%d).", ServerID);
- szLog[1023] = 0;
- __assertex__(
- "./Player/Player.cpp",
- 0xE7u,
- "CHAR* ProxyTool_GetCorrespondingIP(const Player*, ID_t)",
- "pData",
- szLog);
- }
- v3 = Player_AtLogin::WhereThisPlayerFrom((const Player_AtLogin *const )pPlayer);
- v4 = v3;
- if ( v3 == -1
- || RangeCheckForIndex_Assert(v3, 0, 2, "ProxyTool_GetCorrespondingIP") != 1
- || (v6 = (int)v2 + 36 * v4, *(_DWORD *)(v6 + 96) != 1) )
- {
- result = v2->m_IP0;
- }
- else
- {
- result = (CHAR *)(v6 + 66);
- }
- return result;
- }
- //----- (0808E82C) --------------------------------------------------------
- UINT __cdecl ProxyTool_GetCorrespondingPort(const Player *pPlayer, ID_t ServerID)
- {
- _SERVER_DATA *v2; // esi
- INT v3; // eax
- INT v4; // ebx
- UINT result; // eax
- CHAR szLog[1024]; // [esp+8h] [ebp-408h]
- v2 = ServerManager::FindServerInfo(*(ServerManager *const *)&g_pServerManager, ServerID);
- if ( !v2 )
- {
- snprintf(szLog, 0x400u, "[ProxyTool_GetCorrespondingPort] Error: Can't found the specific server(%d).", ServerID);
- szLog[1023] = 0;
- __assertex__(
- "./Player/Player.cpp",
- 0x120u,
- "UINT ProxyTool_GetCorrespondingPort(const Player*, ID_t)",
- "pData",
- szLog);
- }
- v3 = Player_AtLogin::WhereThisPlayerFrom((const Player_AtLogin *const )pPlayer);
- v4 = v3;
- if ( v3 == -1
- || RangeCheckForIndex_Assert(v3, 0, 2, "ProxyTool_GetCorrespondingIP") != 1
- || v2->m_aProxy[v4].m_bEnabled != 1 )
- {
- result = v2->m_Port0;
- }
- else
- {
- result = v2->m_aProxy[v4].m_nPort;
- }
- return result;
- }
- //----- (0808E930) --------------------------------------------------------
- void __cdecl _tcf_0_128(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0808E940) --------------------------------------------------------
- void `global constructor keyed to'Player_AtLogin::Player_AtLogin()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_128, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0808E96C) --------------------------------------------------------
- void __cdecl PlayerManager::PlayerManager(PlayerManager *const this)
- {
- signed int v1; // eax
- this->_vptr_PlayerManager = (int (**)(...))&off_80DC0C8;
- this->m_nPlayers = 0;
- v1 = 0;
- do
- this->m_pPlayers[v1++] = -1;
- while ( v1 <= 1455 );
- }
- // 80DC0C8: using guessed type _DWORD (__cdecl *off_80DC0C8)(PlayerManager *this, UINT uTime);
- //----- (0808E998) --------------------------------------------------------
- void __cdecl PlayerManager::PlayerManager(PlayerManager *const this)
- {
- signed int v1; // eax
- this->_vptr_PlayerManager = (int (**)(...))&off_80DC0C8;
- this->m_nPlayers = 0;
- v1 = 0;
- do
- this->m_pPlayers[v1++] = -1;
- while ( v1 <= 1455 );
- }
- // 80DC0C8: using guessed type _DWORD (__cdecl *off_80DC0C8)(PlayerManager *this, UINT uTime);
- //----- (0808E9C4) --------------------------------------------------------
- void __cdecl PlayerManager::CleanUp(PlayerManager *const this)
- {
- signed int v1; // eax
- this->m_nPlayers = 0;
- v1 = 0;
- do
- this->m_pPlayers[v1++] = -1;
- while ( v1 <= 1455 );
- }
- //----- (0808E9EC) --------------------------------------------------------
- void __cdecl PlayerManager::~PlayerManager(PlayerManager *const a2)
- {
- a2->_vptr_PlayerManager = (int (**)(...))&off_80DC0C8;
- PlayerManager::CleanUp(a2);
- }
- // 80DC0C8: using guessed type _DWORD (__cdecl *off_80DC0C8)(PlayerManager *this, UINT uTime);
- //----- (0808EA00) --------------------------------------------------------
- void __cdecl PlayerManager::~PlayerManager(PlayerManager *const a2)
- {
- a2->_vptr_PlayerManager = (int (**)(...))&off_80DC0C8;
- PlayerManager::CleanUp(a2);
- }
- // 80DC0C8: using guessed type _DWORD (__cdecl *off_80DC0C8)(PlayerManager *this, UINT uTime);
- //----- (0808EA14) --------------------------------------------------------
- BOOL __cdecl PlayerManager::AddPlayer(PlayerManager *const this, Player_AtLogin *pPlayer)
- {
- UINT v3; // edx
- UINT v4; // [esp-Ch] [ebp-14h]
- const CHAR *v5; // [esp-4h] [ebp-Ch]
- if ( !pPlayer )
- __assert__("./Player/PlayerManager.cpp", 0x37u, "BOOL PlayerManager::AddPlayer(Player_AtLogin*)", "pPlayer");
- if ( pPlayer->m_PlayerManagerID != -1 )
- return 0;
- v3 = this->m_nPlayers;
- if ( this->m_pPlayers[v3] != -1 )
- {
- v5 = "FALSE";
- v4 = 68;
- goto LABEL_6;
- }
- this->m_pPlayers[v3] = pPlayer->m_PID;
- pPlayer->m_PlayerManagerID = v3;
- this->m_nPlayers = v3 + 1;
- if ( v3 + 1 > 0x5B0 )
- {
- v5 = "m_nPlayers<=MAX_PLAYER";
- v4 = 64;
- LABEL_6:
- __assert__("./Player/PlayerManager.cpp", v4, "BOOL PlayerManager::AddPlayer(Player_AtLogin*)", v5);
- }
- return 1;
- }
- //----- (0808EB04) --------------------------------------------------------
- BOOL __cdecl PlayerManager::AddPlayer(PlayerManager *const this, Player_AtLogin *pPlayer, UINT MaxPlayer)
- {
- UINT v3; // edx
- BOOL v4; // ecx
- if ( !pPlayer )
- __assert__("./Player/PlayerManager.cpp", 0x52u, "BOOL PlayerManager::AddPlayer(Player_AtLogin*, UINT)", "pPlayer");
- v3 = this->m_nPlayers;
- v4 = 0;
- if ( v3 < MaxPlayer && pPlayer->m_PlayerManagerID == -1 )
- {
- if ( this->m_pPlayers[v3] != -1 )
- __assert__("./Player/PlayerManager.cpp", 0x62u, "BOOL PlayerManager::AddPlayer(Player_AtLogin*, UINT)", "FALSE");
- this->m_pPlayers[v3] = pPlayer->m_PID;
- pPlayer->m_PlayerManagerID = v3;
- this->m_nPlayers = v3 + 1;
- if ( v3 + 1 > 0x5B0 )
- __assert__(
- "./Player/PlayerManager.cpp",
- 0x5Eu,
- "BOOL PlayerManager::AddPlayer(Player_AtLogin*, UINT)",
- "m_nPlayers<=MAX_PLAYER");
- v4 = 1;
- }
- return v4;
- }
- //----- (0808EBF0) --------------------------------------------------------
- BOOL __cdecl __noreturn PlayerManager::AddPlayer(PlayerManager *const this, PlayerID_t pid)
- {
- __assert__("./Player/PlayerManager.cpp", 0x73u, "BOOL PlayerManager::AddPlayer(PlayerID_t)", "FALSE");
- }
- //----- (0808EC60) --------------------------------------------------------
- void __cdecl PlayerManager::RemovePlayer(PlayerManager *const this, PlayerID_t pid)
- {
- UINT v2; // ecx
- LoginPlayer *v3; // eax
- PlayerID_t v4; // bx
- ID_t v5; // [esp+10h] [ebp-18h]
- ID_t PlayerManagerID; // [esp+16h] [ebp-12h]
- LoginPlayer *v7; // [esp+18h] [ebp-10h]
- v2 = this->m_nPlayers;
- if ( v2 )
- {
- if ( pid != -1 && pid <= 3071 && pid >= 0 )
- {
- v3 = &g_pPlayerPool->m_pPlayer[pid];
- v7 = g_pPlayerPool->m_pPlayer;
- if ( v3 )
- {
- v5 = v3->m_PlayerManagerID;
- PlayerManagerID = v3->m_PlayerManagerID;
- if ( (unsigned __int16)PlayerManagerID <= 0x5AFu )
- {
- v3->m_PlayerManagerID = -1;
- v4 = *((_WORD *)&this->_vptr_PlayerManager + v2 + 1);
- if ( v4 == -1 || v4 > 3071 || v4 < 0 || !&v7[v4] )
- __assert__("./Player/PlayerManager.cpp", 0xC4u, "void PlayerManager::RemovePlayer(PlayerID_t)", "FALSE");
- if ( pid == v4 )
- {
- *((_WORD *)&this->_vptr_PlayerManager + v2 + 1) = -1;
- }
- else
- {
- this->m_pPlayers[PlayerManagerID] = v4;
- *((_WORD *)&this->_vptr_PlayerManager + v2 + 1) = -1;
- v7[v4].m_PlayerManagerID = v5;
- }
- this->m_nPlayers = v2 - 1;
- }
- }
- }
- }
- }
- //----- (0808EDA8) --------------------------------------------------------
- BOOL __cdecl PlayerManager::HeartBeat(PlayerManager *const this, UINT uTime)
- {
- return 1;
- }
- //----- (0808EDB4) --------------------------------------------------------
- void __cdecl _tcf_0_129(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0808EDC4) --------------------------------------------------------
- void `global constructor keyed to'PlayerManager::PlayerManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_129, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0808EDF0) --------------------------------------------------------
- void __cdecl PlayerPool::PlayerPool(int a2)
- {
- pthread_mutex_init((pthread_mutex_t *)(a2 + 8), 0);
- *(_DWORD *)a2 = 0;
- *(_DWORD *)(a2 + 4) = 0;
- *(_DWORD *)(a2 + 32) = 0;
- }
- //----- (0808EE24) --------------------------------------------------------
- void __cdecl PlayerPool::PlayerPool(int a2)
- {
- pthread_mutex_init((pthread_mutex_t *)(a2 + 8), 0);
- *(_DWORD *)a2 = 0;
- *(_DWORD *)(a2 + 4) = 0;
- *(_DWORD *)(a2 + 32) = 0;
- }
- //----- (0808EE58) --------------------------------------------------------
- void __cdecl PlayerPool::~PlayerPool(PlayerPool *const this)
- {
- LoginPlayer *v1; // ecx
- LoginPlayer *v2; // ebx
- v1 = this->m_pPlayer;
- if ( this->m_pPlayer )
- {
- v2 = &v1[v1[-1].m_IsPilferedAccount];
- if ( v1 != v2 )
- {
- do
- {
- --v2;
- (*((void (__cdecl **)(LoginPlayer *))v2->_vptr_Player + 17))(v2);
- v1 = this->m_pPlayer;
- }
- while ( this->m_pPlayer != v2 );
- }
- operator delete[](&v1[-1].m_IsPilferedAccount);
- this->m_pPlayer = 0;
- }
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- }
- //----- (0808EF08) --------------------------------------------------------
- void __usercall __noreturn sub_808EF08(int a1@<ebx>, int a2@<esi>)
- {
- pthread_mutex_destroy((pthread_mutex_t *)(a2 + 8));
- _Unwind_Resume();
- }
- //----- (0808EF28) --------------------------------------------------------
- void __cdecl PlayerPool::~PlayerPool(PlayerPool *const this)
- {
- LoginPlayer *v1; // ecx
- LoginPlayer *v2; // ebx
- v1 = this->m_pPlayer;
- if ( this->m_pPlayer )
- {
- v2 = &v1[v1[-1].m_IsPilferedAccount];
- if ( v1 != v2 )
- {
- do
- {
- --v2;
- (*((void (__cdecl **)(LoginPlayer *))v2->_vptr_Player + 17))(v2);
- v1 = this->m_pPlayer;
- }
- while ( this->m_pPlayer != v2 );
- }
- operator delete[](&v1[-1].m_IsPilferedAccount);
- this->m_pPlayer = 0;
- }
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- }
- //----- (0808EFD8) --------------------------------------------------------
- void __usercall __noreturn sub_808EFD8(int a1@<ebx>, int a2@<esi>)
- {
- pthread_mutex_destroy((pthread_mutex_t *)(a2 + 8));
- _Unwind_Resume();
- }
- //----- (0808EFF8) --------------------------------------------------------
- #error "808F0B6: positive sp value has been found (funcsize=50)"
- //----- (0808F138) --------------------------------------------------------
- LoginPlayer *__cdecl PlayerPool::NewPlayer(PlayerPool *const this)
- {
- int v1; // ebx
- LoginPlayer *v2; // edi
- UINT v3; // ecx
- int v4; // edx
- UINT v5; // edx
- LoginPlayer *v6; // ebx
- pthread_mutex_t *autolock; // [esp+Ch] [ebp-28h]
- autolock = &this->m_Lock.m_Mutex;
- v1 = 0;
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v2 = this->m_pPlayer;
- while ( 1 )
- {
- v3 = this->m_Position;
- v4 = (int)&v2[v3];
- if ( *(_DWORD *)(v4 + 16) )
- break;
- if ( v3 + 1 > 0xBFF )
- this->m_Position = 0;
- else
- this->m_Position = v3 + 1;
- if ( ++v1 > 3071 )
- {
- if ( this != (PlayerPool *const )-8 )
- pthread_mutex_unlock(autolock);
- return 0;
- }
- }
- *(_DWORD *)(v4 + 16) = 0;
- v5 = this->m_Position + 1;
- if ( v5 <= 0xBFF )
- this->m_Position = v5;
- else
- this->m_Position = 0;
- v6 = &v2[v3];
- --this->m_PlayerCount;
- if ( this != (PlayerPool *const )-8 )
- pthread_mutex_unlock(autolock);
- return v6;
- }
- //----- (0808F204) --------------------------------------------------------
- LoginPlayer *__cdecl PlayerPool::NewPlayer(PlayerPool *const this, PlayerID_t PlayerID)
- {
- LoginPlayer *v2; // ebx
- pthread_mutex_t *v3; // eax
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- if ( PlayerID <= 3071 )
- {
- v2 = &this->m_pPlayer[PlayerID];
- if ( v2->m_IsEmpty )
- {
- v2->m_IsEmpty = 0;
- --this->m_PlayerCount;
- if ( (unsigned int)(PlayerID + 1) > 0xBFF )
- {
- v3 = &this->m_Lock.m_Mutex;
- this->m_Position = 0;
- if ( this == (PlayerPool *const )-8 )
- return v2;
- }
- else
- {
- this->m_Position = PlayerID + 1;
- v3 = &this->m_Lock.m_Mutex;
- if ( this == (PlayerPool *const )-8 )
- return v2;
- }
- pthread_mutex_unlock(v3);
- return v2;
- }
- }
- if ( this != (PlayerPool *const )-8 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- return 0;
- }
- //----- (0808F2B4) --------------------------------------------------------
- #error "808F336: positive sp value has been found (funcsize=41)"
- //----- (0808F3A0) --------------------------------------------------------
- void __cdecl _tcf_0_130(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0808F3B0) --------------------------------------------------------
- void `global constructor keyed to'g_pPlayerPool()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_130, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0808F3DC) --------------------------------------------------------
- void __cdecl ServerPlayer::ServerPlayer(BOOL bIsServer, unsigned int bIsServera)
- {
- Player_AtLogin::Player_AtLogin((Player *)bIsServer, bIsServera);
- *(_DWORD *)bIsServer = off_80DC408;
- *(_DWORD *)(bIsServer + 32) = 0;
- }
- // 80DC408: using guessed type _DWORD (__cdecl *off_80DC408[2])(Player *this, UINT *const socketRet);
- //----- (0808F404) --------------------------------------------------------
- void __cdecl ServerPlayer::ServerPlayer(BOOL bIsServer, unsigned int bIsServera)
- {
- Player_AtLogin::Player_AtLogin((Player *)bIsServer, bIsServera);
- *(_DWORD *)bIsServer = off_80DC408;
- *(_DWORD *)(bIsServer + 32) = 0;
- }
- // 80DC408: using guessed type _DWORD (__cdecl *off_80DC408[2])(Player *this, UINT *const socketRet);
- //----- (0808F42C) --------------------------------------------------------
- void __cdecl ServerPlayer::~ServerPlayer(Player_AtLogin *a2)
- {
- a2->_vptr_Player = (int (**)(...))off_80DC408;
- Player_AtLogin::~Player_AtLogin(&a2->0);
- }
- // 80DC408: using guessed type _DWORD (__cdecl *off_80DC408[2])(Player *this, UINT *const socketRet);
- //----- (0808F448) --------------------------------------------------------
- void __cdecl ServerPlayer::~ServerPlayer(Player_AtLogin *a2)
- {
- a2->_vptr_Player = (int (**)(...))off_80DC408;
- Player_AtLogin::~Player_AtLogin(&a2->0);
- }
- // 80DC408: using guessed type _DWORD (__cdecl *off_80DC408[2])(Player *this, UINT *const socketRet);
- //----- (0808F464) --------------------------------------------------------
- void __cdecl ServerPlayer::~ServerPlayer(Player *a2)
- {
- a2->_vptr_Player = (int (**)(...))off_80DC408;
- Player_AtLogin::~Player_AtLogin(a2);
- operator delete((IPRegionTable *const )a2);
- }
- // 80DC408: using guessed type _DWORD (__cdecl *off_80DC408[2])(Player *this, UINT *const socketRet);
- //----- (0808F48C) --------------------------------------------------------
- BOOL __cdecl ServerPlayer::ProcessCommand(ServerPlayer *const this, BOOL Option)
- {
- return Player_AtLogin::ProcessCommand(&this->0, Option);
- }
- //----- (0808F4EC) --------------------------------------------------------
- BOOL __cdecl ServerPlayer::ProcessInput(ServerPlayer *const this)
- {
- return Player_AtLogin::ProcessInput(&this->0);
- }
- //----- (0808F548) --------------------------------------------------------
- BOOL __cdecl ServerPlayer::ProcessOutput(ServerPlayer *const this)
- {
- return Player_AtLogin::ProcessOutput(&this->0);
- }
- //----- (0808F5A4) --------------------------------------------------------
- BOOL __cdecl ServerPlayer::SendPacket(ServerPlayer *const this, Packet *pPacket)
- {
- return Player_AtLogin::SendPacket(&this->0, pPacket);
- }
- //----- (0808F604) --------------------------------------------------------
- BOOL __cdecl ServerPlayer::IsValid(ServerPlayer *const this)
- {
- return Player::IsValid(&this->0) != 0;
- }
- //----- (0808F66C) --------------------------------------------------------
- void __cdecl ServerPlayer::CleanUp(ServerPlayer *const this)
- {
- Player_AtLogin::CleanUp(&this->0);
- }
- //----- (0808F6C8) --------------------------------------------------------
- BOOL __cdecl ServerPlayer::HeartBeat(ServerPlayer *const this, UINT uTime)
- {
- return Player_AtLogin::HeartBeat(&this->0, uTime);
- }
- //----- (0808F728) --------------------------------------------------------
- void __cdecl _tcf_0_131(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0808F738) --------------------------------------------------------
- void `global constructor keyed to'ServerPlayer::ServerPlayer()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_131, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0808F764) --------------------------------------------------------
- BOOL __cdecl ServerPlayer::IsLoginPlayer(ServerPlayer *const this)
- {
- return 0;
- }
- //----- (0808F76C) --------------------------------------------------------
- BOOL __cdecl ServerPlayer::IsServerPlayer(ServerPlayer *const this)
- {
- return 1;
- }
- //----- (0808F778) --------------------------------------------------------
- BOOL __cdecl ServerPlayer::IsBillingPlayer(ServerPlayer *const this)
- {
- return 0;
- }
- //----- (0808F780) --------------------------------------------------------
- void __cdecl TurnPlayerQueue::TurnPlayerQueue(TurnPlayerQueue *const this)
- {
- TURN_PLAYER_INFO *v1; // eax
- TURN_PLAYER_INFO *v2; // edx
- signed int v3; // ecx
- UINT v4; // eax
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- this->m_Size = 2048;
- v1 = (TURN_PLAYER_INFO *)operator new[](0x20000u);
- v2 = v1;
- v3 = 2047;
- do
- {
- --v3;
- v2->PlayerID = -1;
- v2->PlayerName[0] = 0;
- v2->Used = 0;
- v2->QueuePos = 0;
- ++v2;
- }
- while ( v3 != -1 );
- this->m_pTurnPlayerQueue = v1;
- v4 = this->m_Size;
- this->m_Head = 0;
- this->m_Tail = 0;
- this->m_ValidCount = 0;
- this->m_InvalidCount = 0;
- this->m_pSortPlayerQueue = (TURN_PLAYER_INFO **)operator new[](4 * v4);
- }
- //----- (0808F840) --------------------------------------------------------
- void __noreturn sub_808F840()
- {
- pthread_mutex_t *v1; // [esp+0h] [ebp-10h]
- pthread_mutex_destroy(v1);
- _Unwind_Resume();
- }
- //----- (0808F85C) --------------------------------------------------------
- void __cdecl TurnPlayerQueue::TurnPlayerQueue(TurnPlayerQueue *const this)
- {
- TURN_PLAYER_INFO *v1; // eax
- TURN_PLAYER_INFO *v2; // edx
- signed int v3; // ecx
- UINT v4; // eax
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- this->m_Size = 2048;
- v1 = (TURN_PLAYER_INFO *)operator new[](0x20000u);
- v2 = v1;
- v3 = 2047;
- do
- {
- --v3;
- v2->PlayerID = -1;
- v2->PlayerName[0] = 0;
- v2->Used = 0;
- v2->QueuePos = 0;
- ++v2;
- }
- while ( v3 != -1 );
- this->m_pTurnPlayerQueue = v1;
- v4 = this->m_Size;
- this->m_Head = 0;
- this->m_Tail = 0;
- this->m_ValidCount = 0;
- this->m_InvalidCount = 0;
- this->m_pSortPlayerQueue = (TURN_PLAYER_INFO **)operator new[](4 * v4);
- }
- //----- (0808F91C) --------------------------------------------------------
- void __noreturn sub_808F91C()
- {
- pthread_mutex_t *v1; // [esp+0h] [ebp-10h]
- pthread_mutex_destroy(v1);
- _Unwind_Resume();
- }
- //----- (0808F938) --------------------------------------------------------
- void __cdecl TurnPlayerQueue::~TurnPlayerQueue(TurnPlayerQueue *const this)
- {
- TURN_PLAYER_INFO **v1; // eax
- if ( this->m_pTurnPlayerQueue )
- {
- operator delete[](this->m_pTurnPlayerQueue);
- v1 = this->m_pSortPlayerQueue;
- this->m_pTurnPlayerQueue = 0;
- if ( !v1 )
- goto LABEL_3;
- }
- else
- {
- v1 = this->m_pSortPlayerQueue;
- if ( !v1 )
- {
- LABEL_3:
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- return;
- }
- }
- operator delete[](v1);
- this->m_pSortPlayerQueue = 0;
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- }
- //----- (0808F9A8) --------------------------------------------------------
- void __cdecl TurnPlayerQueue::~TurnPlayerQueue(TurnPlayerQueue *const this)
- {
- TURN_PLAYER_INFO **v1; // eax
- if ( this->m_pTurnPlayerQueue )
- {
- operator delete[](this->m_pTurnPlayerQueue);
- v1 = this->m_pSortPlayerQueue;
- this->m_pTurnPlayerQueue = 0;
- if ( !v1 )
- goto LABEL_3;
- }
- else
- {
- v1 = this->m_pSortPlayerQueue;
- if ( !v1 )
- {
- LABEL_3:
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- return;
- }
- }
- operator delete[](v1);
- this->m_pSortPlayerQueue = 0;
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- }
- //----- (0808FA18) --------------------------------------------------------
- BOOL __cdecl TurnPlayerQueue::Init(TurnPlayerQueue *const this)
- {
- g_WorldPlayerCounter1.m_MaxWorldUserCount = g_Config.m_ConfigInfo.m_nHashOnlineUserCount;
- return 1;
- }
- //----- (0808FA2C) --------------------------------------------------------
- BOOL __cdecl TurnPlayerQueue::AddInPlayer(TurnPlayerQueue *const this, PlayerID_t pID, const CHAR *Name, UINT *const QueuePos)
- {
- UINT v4; // eax
- TURN_PLAYER_INFO *v5; // edx
- BOOL result; // eax
- UINT v7; // eax
- pthread_mutex_t *autolock; // [esp+Ch] [ebp-18h]
- autolock = &this->m_Lock.m_Mutex;
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v4 = this->m_Tail << 6;
- v5 = this->m_pTurnPlayerQueue;
- if ( *(BOOL *)((char *)&this->m_pTurnPlayerQueue->Used + v4) )
- {
- if ( this != (TurnPlayerQueue *const )-28 )
- pthread_mutex_unlock(autolock);
- result = 0;
- }
- else
- {
- *(BOOL *)((char *)&v5->Used + v4) = 1;
- v5[this->m_Tail].PlayerID = pID;
- strncpy(v5[this->m_Tail].PlayerName, Name, 0x32u);
- this->m_pTurnPlayerQueue[this->m_Tail].PlayerName[50] = 0;
- this->m_pTurnPlayerQueue[this->m_Tail].QueuePos = this->m_Tail;
- *QueuePos = this->m_Tail;
- v7 = this->m_Tail + 1;
- if ( v7 >= this->m_Size )
- this->m_Tail = 0;
- else
- this->m_Tail = v7;
- if ( this != (TurnPlayerQueue *const )-28 )
- pthread_mutex_unlock(autolock);
- result = 1;
- }
- return result;
- }
- //----- (0808FB18) --------------------------------------------------------
- BOOL __cdecl TurnPlayerQueue::GetOutPlayer(TurnPlayerQueue *const this, PlayerID_t *const pID, CHAR *NameBuff)
- {
- UINT v4; // edx
- TURN_PLAYER_INFO *v5; // ebx
- UINT v6; // eax
- pthread_mutex_t *v7; // eax
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- if ( this->m_pTurnPlayerQueue[this->m_Head].Used )
- {
- if ( !NameBuff )
- __assert__(
- "./Player/TurnPlayerQueue.cpp",
- 0x57u,
- "BOOL TurnPlayerQueue::GetOutPlayer(PlayerID_t&, CHAR*)",
- "NameBuff");
- strncpy(NameBuff, this->m_pTurnPlayerQueue[this->m_Head].PlayerName, 0x32u);
- NameBuff[50] = 0;
- v4 = this->m_Head << 6;
- v5 = this->m_pTurnPlayerQueue;
- *pID = *(PlayerID_t *)((char *)&this->m_pTurnPlayerQueue->PlayerID + v4);
- v5->PlayerName[v4] = 0;
- this->m_pTurnPlayerQueue[this->m_Head].Used = 0;
- v6 = this->m_Head + 1;
- if ( v6 < this->m_Size )
- {
- this->m_Head = v6;
- v7 = &this->m_Lock.m_Mutex;
- if ( this == (TurnPlayerQueue *const )-28 )
- return 1;
- }
- else
- {
- v7 = &this->m_Lock.m_Mutex;
- this->m_Head = 0;
- if ( this == (TurnPlayerQueue *const )-28 )
- return 1;
- }
- pthread_mutex_unlock(v7);
- return 1;
- }
- if ( this != (TurnPlayerQueue *const )-28 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- return 0;
- }
- //----- (0808FC88) --------------------------------------------------------
- void __cdecl TurnPlayerQueue::RePosQueue(TurnPlayerQueue *const this)
- {
- UINT v1; // esi
- TURN_PLAYER_INFO *v2; // eax
- TURN_PLAYER_INFO *v3; // edx
- int v4; // eax
- UINT v5; // edx
- UINT v6; // eax
- PlayerID_t v7; // ax
- LoginPlayer *v8; // esi
- const char *v9; // edi
- const char *v10; // eax
- int v11; // eax
- bool v12; // cf
- bool v13; // zf
- TURN_PLAYER_INFO *v14; // [esp+0h] [ebp-28h]
- INT i; // [esp+8h] [ebp-20h]
- UINT nNewPos; // [esp+Ch] [ebp-1Ch]
- UINT nPos; // [esp+10h] [ebp-18h]
- int v18; // [esp+14h] [ebp-14h]
- TURN_PLAYER_INFO *v19; // [esp+18h] [ebp-10h]
- if ( this->m_InvalidCount > 0xC7 )
- {
- v1 = this->m_Size;
- v2 = (TURN_PLAYER_INFO *)operator new[](this->m_Size << 6);
- v19 = v2;
- v3 = v2;
- v4 = v1 - 1;
- while ( v4 != -1 )
- {
- v3->PlayerID = -1;
- v3->PlayerName[0] = 0;
- v3->Used = 0;
- v3->QueuePos = 0;
- --v4;
- ++v3;
- }
- if ( !v19 )
- __assert__("./Player/TurnPlayerQueue.cpp", 0x9Eu, "void TurnPlayerQueue::RePosQueue()", "pNewQueue");
- v5 = this->m_Head;
- v6 = this->m_Tail;
- if ( v5 > v6 )
- v18 = this->m_Size - (v5 - v6);
- else
- v18 = v6 - v5;
- nNewPos = 0;
- nPos = this->m_Head;
- i = 0;
- if ( v18 > 0 )
- {
- v14 = v19;
- do
- {
- v7 = this->m_pTurnPlayerQueue[nPos].PlayerID;
- if ( v7 == -1 || v7 > 3071 || v7 < 0 )
- v8 = 0;
- else
- v8 = &g_pPlayerPool->m_pPlayer[v7];
- v9 = this->m_pTurnPlayerQueue[nPos].PlayerName;
- v10 = LoginPlayer::GetAccount(v8);
- if ( !strcmp(v10, v9) && v8->m_Status == 307 )
- {
- qmemcpy(v14, &this->m_pTurnPlayerQueue[nPos], sizeof(TURN_PLAYER_INFO));
- ++nNewPos;
- ++v14;
- }
- v11 = nPos + 1;
- v12 = nPos + 1 < this->m_Size;
- nPos = 0;
- if ( v12 )
- nPos = v11;
- ++i;
- }
- while ( i < v18 );
- }
- if ( this->m_ValidCount != nNewPos )
- __assert__("./Player/TurnPlayerQueue.cpp", 0xB0u, "void TurnPlayerQueue::RePosQueue()", "nNewPos == m_ValidCount");
- v12 = this->m_Size < nNewPos;
- v13 = this->m_Size == nNewPos;
- this->m_Head = 0;
- if ( v12 || v13 )
- this->m_Tail = 0;
- else
- this->m_Tail = nNewPos;
- if ( this->m_pTurnPlayerQueue )
- operator delete[](this->m_pTurnPlayerQueue);
- this->m_pTurnPlayerQueue = v19;
- }
- }
- //----- (0808FED0) --------------------------------------------------------
- void __cdecl TurnPlayerQueue::SortQueuePos(TurnPlayerQueue *const this)
- {
- UINT v1; // edx
- UINT v2; // eax
- UINT j; // esi
- PlayerID_t v4; // ax
- const char *v5; // ebx
- const char *v6; // eax
- UINT v7; // eax
- signed int v8; // eax
- bool v9; // zf
- bool k; // sf
- unsigned __int8 v11; // of
- TURN_PLAYER_INFO *v12; // ebx
- PlayerID_t v13; // ax
- LoginPlayer *v14; // esi
- UINT v15; // eax
- INT i_0; // [esp+18h] [ebp-3Ch]
- LoginPlayer *v17; // [esp+20h] [ebp-34h]
- INT i; // [esp+24h] [ebp-30h]
- int v19; // [esp+28h] [ebp-2Ch]
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v1 = this->m_Head;
- v2 = this->m_Tail;
- if ( v1 > v2 )
- v19 = this->m_Size - (v1 - v2);
- else
- v19 = v2 - v1;
- i = 0;
- this->m_ValidCount = 0;
- this->m_InvalidCount = 0;
- for ( j = v1; i < v19; ++i )
- {
- v4 = this->m_pTurnPlayerQueue[j].PlayerID;
- if ( v4 == -1 || v4 > 3071 || v4 < 0 )
- v17 = 0;
- else
- v17 = &g_pPlayerPool->m_pPlayer[v4];
- v5 = this->m_pTurnPlayerQueue[j].PlayerName;
- v6 = LoginPlayer::GetAccount(v17);
- if ( !strcmp(v6, v5) && v17->m_Status == 307 )
- {
- v15 = this->m_ValidCount;
- this->m_pSortPlayerQueue[v15] = &this->m_pTurnPlayerQueue[j];
- this->m_ValidCount = v15 + 1;
- }
- else
- {
- ++this->m_InvalidCount;
- }
- v7 = j + 1;
- j = 0;
- if ( v7 < this->m_Size )
- j = v7;
- }
- v8 = this->m_ValidCount;
- if ( v8 > v19 )
- __assert__(
- "./Player/TurnPlayerQueue.cpp",
- 0x89u,
- "void TurnPlayerQueue::SortQueuePos()",
- "nCount>=(INT)m_ValidCount");
- i_0 = 0;
- v11 = 0;
- v9 = v8 == 0;
- for ( k = v8 < 0; !((unsigned __int8)(k ^ v11) | v9); k = (signed int)(this->m_ValidCount - (i_0++ + 1)) < 0 )
- {
- v12 = this->m_pSortPlayerQueue[i_0];
- if ( !v12 )
- __assert__("./Player/TurnPlayerQueue.cpp", 0x8Du, "void TurnPlayerQueue::SortQueuePos()", "pChild");
- v13 = v12->PlayerID;
- if ( v12->PlayerID == -1 || v13 > 3071 || v13 < 0 || (v14 = &g_pPlayerPool->m_pPlayer[v13]) == 0 )
- __assert__("./Player/TurnPlayerQueue.cpp", 0x8Fu, "void TurnPlayerQueue::SortQueuePos()", "pLoginPlayer");
- LoginPlayer::SetQueuePos((int)v14, i_0 + 1);
- v11 = __OFSUB__(this->m_ValidCount, i_0 + 1);
- v9 = this->m_ValidCount == i_0 + 1;
- }
- TurnPlayerQueue::RePosQueue(this);
- if ( this != (TurnPlayerQueue *const )-28 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- }
- //----- (08090160) --------------------------------------------------------
- void __cdecl WorldPlayerQueue::WorldPlayerQueue(WorldPlayerQueue *const this)
- {
- WORLD_PLAYER_INFO *v1; // eax
- WORLD_PLAYER_INFO *v2; // edx
- signed int v3; // ecx
- UINT v4; // eax
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- this->m_Size = 1024;
- v1 = (WORLD_PLAYER_INFO *)operator new[](0x12000u);
- v2 = v1;
- v3 = 1023;
- do
- {
- --v3;
- v2->PlayerID = -1;
- v2->PlayerName[0] = 0;
- v2->Used = 0;
- v2->QueuePos = 0;
- v2->Guid = -1;
- v2->SID = -1;
- ++v2;
- }
- while ( v3 != -1 );
- this->m_pWorldPlayerQueue = v1;
- v4 = this->m_Size;
- this->m_Head = 0;
- this->m_Tail = 0;
- this->m_SendCount = 0;
- this->m_ValidCount = 0;
- this->m_InvalidCount = 0;
- this->m_pSortPlayerQueue = (WORLD_PLAYER_INFO **)operator new[](4 * v4);
- }
- //----- (08090237) --------------------------------------------------------
- void __noreturn sub_8090237()
- {
- pthread_mutex_t *v1; // [esp+0h] [ebp-10h]
- pthread_mutex_destroy(v1);
- _Unwind_Resume();
- }
- //----- (08090254) --------------------------------------------------------
- void __cdecl WorldPlayerQueue::WorldPlayerQueue(WorldPlayerQueue *const this)
- {
- WORLD_PLAYER_INFO *v1; // eax
- WORLD_PLAYER_INFO *v2; // edx
- signed int v3; // ecx
- UINT v4; // eax
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- this->m_Size = 1024;
- v1 = (WORLD_PLAYER_INFO *)operator new[](0x12000u);
- v2 = v1;
- v3 = 1023;
- do
- {
- --v3;
- v2->PlayerID = -1;
- v2->PlayerName[0] = 0;
- v2->Used = 0;
- v2->QueuePos = 0;
- v2->Guid = -1;
- v2->SID = -1;
- ++v2;
- }
- while ( v3 != -1 );
- this->m_pWorldPlayerQueue = v1;
- v4 = this->m_Size;
- this->m_Head = 0;
- this->m_Tail = 0;
- this->m_SendCount = 0;
- this->m_ValidCount = 0;
- this->m_InvalidCount = 0;
- this->m_pSortPlayerQueue = (WORLD_PLAYER_INFO **)operator new[](4 * v4);
- }
- //----- (0809032B) --------------------------------------------------------
- void __noreturn sub_809032B()
- {
- pthread_mutex_t *v1; // [esp+0h] [ebp-10h]
- pthread_mutex_destroy(v1);
- _Unwind_Resume();
- }
- //----- (08090348) --------------------------------------------------------
- void __cdecl WorldPlayerQueue::~WorldPlayerQueue(WorldPlayerQueue *const this)
- {
- WORLD_PLAYER_INFO **v1; // eax
- if ( this->m_pWorldPlayerQueue )
- {
- operator delete[](this->m_pWorldPlayerQueue);
- v1 = this->m_pSortPlayerQueue;
- this->m_pWorldPlayerQueue = 0;
- if ( !v1 )
- goto LABEL_3;
- }
- else
- {
- v1 = this->m_pSortPlayerQueue;
- if ( !v1 )
- {
- LABEL_3:
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- return;
- }
- }
- operator delete[](v1);
- this->m_pSortPlayerQueue = 0;
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- }
- //----- (080903B8) --------------------------------------------------------
- void __cdecl WorldPlayerQueue::~WorldPlayerQueue(WorldPlayerQueue *const this)
- {
- WORLD_PLAYER_INFO **v1; // eax
- if ( this->m_pWorldPlayerQueue )
- {
- operator delete[](this->m_pWorldPlayerQueue);
- v1 = this->m_pSortPlayerQueue;
- this->m_pWorldPlayerQueue = 0;
- if ( !v1 )
- goto LABEL_3;
- }
- else
- {
- v1 = this->m_pSortPlayerQueue;
- if ( !v1 )
- {
- LABEL_3:
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- return;
- }
- }
- operator delete[](v1);
- this->m_pSortPlayerQueue = 0;
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- }
- //----- (08090428) --------------------------------------------------------
- BOOL __cdecl WorldPlayerQueue::Init(WorldPlayerQueue *const this)
- {
- g_WorldPlayerCounter.m_MaxWorldUserCount = g_Config.m_ConfigInfo.m_nHashOnlineUserCount;
- return 1;
- }
- //----- (0809043C) --------------------------------------------------------
- BOOL __cdecl WorldPlayerQueue::AddInPlayer(WorldPlayerQueue *const this, PlayerID_t pID, const CHAR *Name, GUID_t guid, UINT *const QueuePos)
- {
- UINT v5; // eax
- WORLD_PLAYER_INFO *v6; // edx
- BOOL result; // eax
- WORLD_PLAYER_INFO *v8; // ecx
- UINT v9; // eax
- pthread_mutex_t *autolock; // [esp+Ch] [ebp-18h]
- autolock = &this->m_Lock.m_Mutex;
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v5 = this->m_Tail;
- v6 = this->m_pWorldPlayerQueue;
- if ( this->m_pWorldPlayerQueue[v5].Used )
- {
- if ( this != (WorldPlayerQueue *const )-32 )
- pthread_mutex_unlock(autolock);
- result = 0;
- }
- else
- {
- v6[v5].Used = 1;
- v6[this->m_Tail].PlayerID = pID;
- strncpy(v6[this->m_Tail].PlayerName, Name, 0x32u);
- this->m_pWorldPlayerQueue[this->m_Tail].PlayerName[50] = 0;
- v8 = this->m_pWorldPlayerQueue;
- v8[this->m_Tail].QueuePos = this->m_Tail;
- v8[this->m_Tail].Guid = guid;
- *QueuePos = this->m_Tail;
- v9 = this->m_Tail + 1;
- if ( v9 >= this->m_Size )
- this->m_Tail = 0;
- else
- this->m_Tail = v9;
- if ( this != (WorldPlayerQueue *const )-32 )
- pthread_mutex_unlock(autolock);
- result = 1;
- }
- return result;
- }
- //----- (08090530) --------------------------------------------------------
- #error "809056A: positive sp value has been found (funcsize=22)"
- //----- (08090668) --------------------------------------------------------
- BOOL __cdecl WorldPlayerQueue::FindHeadPlayer(WorldPlayerQueue *const this, UINT *const QueuePos)
- {
- UINT v2; // ecx
- BOOL result; // eax
- pthread_mutex_t *autolock; // [esp+Ch] [ebp-18h]
- autolock = &this->m_Lock.m_Mutex;
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v2 = this->m_Head;
- if ( this->m_pWorldPlayerQueue[v2].Used )
- {
- *QueuePos = v2;
- if ( this != (WorldPlayerQueue *const )-32 )
- pthread_mutex_unlock(autolock);
- result = 1;
- }
- else
- {
- if ( this != (WorldPlayerQueue *const )-32 )
- pthread_mutex_unlock(autolock);
- result = 0;
- }
- return result;
- }
- //----- (080906EC) --------------------------------------------------------
- WORLD_PLAYER_INFO *__cdecl WorldPlayerQueue::GetPlayer(_DWORD *a3, int a4)
- {
- return (WORLD_PLAYER_INFO *)(*a3 + 72 * a4);
- }
- //----- (08090700) --------------------------------------------------------
- void __cdecl WorldPlayerQueue::RePosQueue(WorldPlayerQueue *const this)
- {
- UINT v1; // ebx
- WORLD_PLAYER_INFO *v2; // eax
- int v3; // edx
- UINT v4; // edx
- UINT v5; // eax
- UINT v6; // ebx
- PlayerID_t v7; // ax
- UINT v8; // eax
- bool v9; // cf
- bool v10; // zf
- WORLD_PLAYER_INFO *v11; // edx
- WORLD_PLAYER_INFO *dest; // [esp+4h] [ebp-24h]
- LoginPlayer *v13; // [esp+8h] [ebp-20h]
- INT i; // [esp+Ch] [ebp-1Ch]
- UINT nNewPos; // [esp+10h] [ebp-18h]
- int v16; // [esp+14h] [ebp-14h]
- WORLD_PLAYER_INFO *v17; // [esp+18h] [ebp-10h]
- if ( this->m_InvalidCount > 0xC7 )
- {
- v1 = this->m_Size;
- v2 = (WORLD_PLAYER_INFO *)operator new[](72 * v1);
- v3 = v1 - 1;
- v17 = v2;
- while ( v3 != -1 )
- {
- v2->PlayerID = -1;
- v2->PlayerName[0] = 0;
- v2->Used = 0;
- v2->QueuePos = 0;
- v2->Guid = -1;
- v2->SID = -1;
- --v3;
- ++v2;
- }
- if ( !v17 )
- __assert__("./Player/TurnPlayerQueue.cpp", 0x159u, "void WorldPlayerQueue::RePosQueue()", "pNewQueue");
- v4 = this->m_Head;
- v5 = this->m_Tail;
- if ( v4 > v5 )
- v16 = this->m_Size - (v4 - v5);
- else
- v16 = v5 - v4;
- nNewPos = 0;
- v6 = this->m_Head;
- i = 0;
- if ( v16 > 0 )
- {
- dest = v17;
- do
- {
- v7 = this->m_pWorldPlayerQueue[v6].PlayerID;
- if ( v7 == -1 || v7 > 3071 || v7 < 0 )
- v13 = 0;
- else
- v13 = &g_pPlayerPool->m_pPlayer[v7];
- if ( LoginPlayer::IsGUIDOwner(v13, this->m_pWorldPlayerQueue[v6].Guid) && v13->m_Status == 312 )
- {
- v11 = dest;
- ++nNewPos;
- ++dest;
- memcpy(v11, &this->m_pWorldPlayerQueue[v6], 0x48u);
- }
- v8 = v6 + 1;
- v6 = 0;
- if ( v8 < this->m_Size )
- v6 = v8;
- ++i;
- }
- while ( i < v16 );
- }
- if ( this->m_ValidCount != nNewPos )
- __assert__(
- "./Player/TurnPlayerQueue.cpp",
- 0x16Bu,
- "void WorldPlayerQueue::RePosQueue()",
- "nNewPos == m_ValidCount");
- v9 = this->m_Size < nNewPos;
- v10 = this->m_Size == nNewPos;
- this->m_Head = 0;
- if ( v9 || v10 )
- this->m_Tail = 0;
- else
- this->m_Tail = nNewPos;
- if ( this->m_pWorldPlayerQueue )
- operator delete[](this->m_pWorldPlayerQueue);
- this->m_pWorldPlayerQueue = v17;
- }
- }
- //----- (08090954) --------------------------------------------------------
- void __cdecl WorldPlayerQueue::SortQueuePos(WorldPlayerQueue *const this)
- {
- UINT v1; // edx
- UINT v2; // eax
- UINT j; // ebx
- PlayerID_t v4; // ax
- LoginPlayer *v5; // esi
- UINT v6; // eax
- signed int v7; // eax
- int v8; // edi
- bool v9; // zf
- bool k; // sf
- unsigned __int8 v11; // of
- WORLD_PLAYER_INFO *v12; // ebx
- PlayerID_t v13; // ax
- LoginPlayer *v14; // esi
- UINT v15; // eax
- INT i; // [esp+10h] [ebp-34h]
- int v17; // [esp+14h] [ebp-30h]
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v1 = this->m_Head;
- v2 = this->m_Tail;
- if ( v1 > v2 )
- v17 = this->m_Size - (v1 - v2);
- else
- v17 = v2 - v1;
- i = 0;
- this->m_ValidCount = 0;
- this->m_InvalidCount = 0;
- for ( j = v1; i < v17; ++i )
- {
- v4 = this->m_pWorldPlayerQueue[j].PlayerID;
- if ( v4 == -1 || v4 > 3071 || v4 < 0 )
- v5 = 0;
- else
- v5 = &g_pPlayerPool->m_pPlayer[v4];
- if ( LoginPlayer::IsGUIDOwner(v5, this->m_pWorldPlayerQueue[j].Guid) && v5->m_Status == 312 )
- {
- v15 = this->m_ValidCount;
- this->m_pSortPlayerQueue[v15] = &this->m_pWorldPlayerQueue[j];
- this->m_ValidCount = v15 + 1;
- }
- else
- {
- ++this->m_InvalidCount;
- }
- v6 = j + 1;
- j = 0;
- if ( v6 < this->m_Size )
- j = v6;
- }
- v7 = this->m_ValidCount;
- if ( v7 > v17 )
- __assert__(
- "./Player/TurnPlayerQueue.cpp",
- 0x144u,
- "void WorldPlayerQueue::SortQueuePos()",
- "nCount>=(INT)m_ValidCount");
- v8 = 0;
- v11 = 0;
- v9 = v7 == 0;
- for ( k = v7 < 0; !((unsigned __int8)(k ^ v11) | v9); k = (signed int)(this->m_ValidCount - v8) < 0 )
- {
- v12 = this->m_pSortPlayerQueue[v8];
- if ( !v12 )
- __assert__("./Player/TurnPlayerQueue.cpp", 0x148u, "void WorldPlayerQueue::SortQueuePos()", "pChild");
- v13 = v12->PlayerID;
- if ( v12->PlayerID == -1 || v13 > 3071 || v13 < 0 || (v14 = &g_pPlayerPool->m_pPlayer[v13]) == 0 )
- __assert__("./Player/TurnPlayerQueue.cpp", 0x14Au, "void WorldPlayerQueue::SortQueuePos()", "pLoginPlayer");
- LoginPlayer::SetQueuePos((int)v14, v8++ + 1);
- v11 = __OFSUB__(this->m_ValidCount, v8);
- v9 = this->m_ValidCount == v8;
- }
- WorldPlayerQueue::RePosQueue(this);
- if ( this != (WorldPlayerQueue *const )-32 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- }
- //----- (08090BE0) --------------------------------------------------------
- void __cdecl _tcf_0_132(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08090BF0) --------------------------------------------------------
- void __cdecl _tcf_1_3(void *a1)
- {
- ;
- }
- //----- (08090BF8) --------------------------------------------------------
- void __cdecl _tcf_2(void *a1)
- {
- ;
- }
- //----- (08090C00) --------------------------------------------------------
- void `global constructor keyed to'g_WorldPlayerCounter1()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_132, 0, &_dso_handle);
- g_WorldPlayerCounter1.m_WorldPlayerCount = 0;
- g_WorldPlayerCounter1.m_RequirePlayerCount = 1;
- g_WorldPlayerCounter1.m_MaxWorldUserCount = 0;
- __cxa_atexit(_tcf_1_3, 0, &_dso_handle);
- g_WorldPlayerCounter.m_WorldPlayerCount = 0;
- g_WorldPlayerCounter.m_RequirePlayerCount = 1;
- g_WorldPlayerCounter.m_MaxWorldUserCount = 0;
- __cxa_atexit(_tcf_2, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08090C90) --------------------------------------------------------
- UINT __cdecl Packets::BLRetAccCheckHandler::Execute(Packets::BLRetAccCheck *pPacket, Player *pPlayer)
- {
- PlayerID_t v2; // bx
- LoginPlayer *v3; // eax
- int v5; // ecx
- Packet *v6; // ebx
- int v7; // ST2C_4
- PlayerID_t v8; // [esp-8h] [ebp-20h]
- CHAR *pAccount; // [esp+0h] [ebp-18h]
- Packets::BLRetAuth *pMsg; // [esp+4h] [ebp-14h]
- BYTE stats; // [esp+Bh] [ebp-Dh]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/BLRetAccCheckHandler.cpp",
- 0x31u,
- "static UINT Packets::BLRetAccCheckHandler::Execute(Packets::BLRetAccCheck*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetAccCheckHandler.cpp",
- 0x34u,
- "static UINT Packets::BLRetAccCheckHandler::Execute(Packets::BLRetAccCheck*, Player*)",
- "pPlayer");
- if ( !(*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- return 2;
- if ( !pPacket )
- __assert__(
- "./Packets/BLRetAccCheckHandler.cpp",
- 0x3Au,
- "static UINT Packets::BLRetAccCheckHandler::Execute(Packets::BLRetAccCheck*, Player*)",
- "pPacket");
- v2 = *(_WORD *)&pPacket->baseclass_0[4];
- if ( v2 == -1 || v2 > 3071 || v2 < 0 || (v3 = &g_pPlayerPool->m_pPlayer[v2]) == 0 )
- __assert__(
- "./Packets/BLRetAccCheckHandler.cpp",
- 0x42u,
- "static UINT Packets::BLRetAccCheckHandler::Execute(Packets::BLRetAccCheck*, Player*)",
- "FALSE");
- if ( v3->m_Status != 302 )
- {
- CacheLog(0, "BLRetAccCheckHandler::Execute() Acc = %s PlayerID=%d... Wrong logic!", pPacket->mAccount, v2);
- return 2;
- }
- stats = pPacket->mAccResult;
- pMsg = (Packets::BLRetAuth *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x61u);
- if ( !pMsg )
- __assert__(
- "./Packets/BLRetAccCheckHandler.cpp",
- 0x50u,
- "static UINT Packets::BLRetAccCheckHandler::Execute(Packets::BLRetAccCheck*, Player*)",
- "pMsg");
- pAccount = pPacket->mAccount;
- Packets::BLRetAuth::SetAccount(pMsg, pPacket->mAccount);
- if ( stats == 161 )
- {
- Packets::BLRetAuth::SetResult((int)pMsg, 14);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v2, 0);
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s Need Web Reg Passport!", pAccount);
- return 2;
- }
- if ( (signed int)stats > 161 )
- {
- if ( stats == 195 )
- {
- CacheLog(0, "MIBAO:BLRetAccCheckHandler... Acc = %s Wrong MIBAO value!", pAccount, 195);
- Packets::BLRetAuth::SetResult((int)pMsg, 16);
- }
- else
- {
- if ( (signed int)stats <= 195 )
- {
- if ( stats == 178 )
- {
- Packets::BLRetAuth::SetResult((int)pMsg, 18);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v2, 0);
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s Lock By Mobile!", pAccount);
- return 2;
- }
- if ( (signed int)stats <= 178 )
- {
- if ( stats == 177 )
- {
- Packets::BLRetAuth::SetResult((int)pMsg, 17);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v2, 0);
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s IP Is Invalid!", pAccount);
- return 2;
- }
- goto LABEL_26;
- }
- if ( stats == 193 )
- {
- CacheLog(0, "MIBAO:BLRetAccCheckHandler... Acc = %s Not Reg MIBAO!", pAccount, pPacket);
- }
- else
- {
- if ( stats != 194 )
- goto LABEL_26;
- CacheLog(0, "MIBAO:BLRetAccCheckHandler... Acc = %s Reg MIBAO but not Use!", pAccount, v5);
- }
- Packets::BLRetAuth::SetResult((int)pMsg, 15);
- LABEL_45:
- v8 = v2;
- LABEL_46:
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v8, 0);
- return 2;
- }
- if ( stats != 209 )
- {
- if ( (signed int)stats > 209 )
- {
- if ( stats != 225 )
- {
- if ( stats != 241 )
- goto LABEL_26;
- if ( g_Config.m_LoginInfo.EnableLicense > 0 )
- {
- CacheLog(
- 0,
- "BLRetAccCheckHandler... Acc = %s No New License!",
- pAccount,
- g_Config.m_LoginInfo.EnableLicense);
- Packets::BLRetAuth::SetResult((int)pMsg, 21);
- pMsg->mIsFatigue = pPacket->mIsFatigue;
- pMsg->mIsPhoneBind = pPacket->mIsPhoneBind;
- pMsg->mIsIPBind = pPacket->mIsIPBind;
- pMsg->mIsMiBaoBind = pPacket->mIsMiBaoBind;
- pMsg->mIsMacBind = pPacket->mIsMacBind;
- pMsg->mIsRealNameBind = pPacket->mIsRealNameBind;
- pMsg->mIsInputNameBind = pPacket->mIsInputNameBind;
- pMsg->mIsPhoneMiBaoBind = pPacket->mIsPhoneMiBaoBind;
- pMsg->mAccTotalOnlineSecond = pPacket->mAccTotalOnlineSecond;
- pMsg->mIsPilferedAccount = pPacket->mIsPilferedAccount;
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v2, 0);
- return 2;
- }
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s No New License BUT IGNORE!", pAccount, v5);
- LABEL_70:
- Packets::BLRetAuth::SetResult((int)pMsg, 0);
- pMsg->mIsFatigue = pPacket->mIsFatigue;
- pMsg->mIsPhoneBind = pPacket->mIsPhoneBind;
- pMsg->mIsIPBind = pPacket->mIsIPBind;
- pMsg->mIsMiBaoBind = pPacket->mIsMiBaoBind;
- pMsg->mIsMacBind = pPacket->mIsMacBind;
- pMsg->mIsRealNameBind = pPacket->mIsRealNameBind;
- pMsg->mIsInputNameBind = pPacket->mIsInputNameBind;
- pMsg->mIsPhoneMiBaoBind = pPacket->mIsPhoneMiBaoBind;
- pMsg->mAccTotalOnlineSecond = pPacket->mAccTotalOnlineSecond;
- pMsg->mIsPilferedAccount = pPacket->mIsPilferedAccount;
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v2, 0);
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s Success!", pAccount);
- return 2;
- }
- CacheLog(0, "MIBAO:BLRetAccCheckHandler... Acc = %s Fatigue Only One!", pAccount, v5);
- Packets::BLRetAuth::SetResult((int)pMsg, 19);
- }
- else if ( stats == 197 )
- {
- CacheLog(0, "MIBAO:BLRetAccCheckHandler... Acc = %s Phone MIBAO NoActive!", pAccount, v5);
- Packets::BLRetAuth::SetResult((int)pMsg, 27);
- }
- else
- {
- if ( stats != 198 )
- goto LABEL_26;
- CacheLog(0, "MIBAO:BLRetAccCheckHandler... Acc = %s Must use Phone!");
- Packets::BLRetAuth::SetResult((int)pMsg, 29);
- }
- goto LABEL_45;
- }
- CacheLog(0, "MIBAO:BLRetAccCheckHandler... Acc = %s Wrong MAC md5 value!", pAccount, 209);
- Packets::BLRetAuth::SetResult((int)pMsg, 20);
- }
- v8 = v2;
- goto LABEL_46;
- }
- if ( stats == 5 )
- {
- Packets::BLRetAuth::SetResult((int)pMsg, 5);
- strncpy(pMsg->mIP, pPacket->mIP, 0xFu);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v2, 0);
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s Other Char Online!", pAccount);
- return 2;
- }
- if ( (signed int)stats > 5 )
- {
- if ( stats == 8 )
- {
- Packets::BLRetAuth::SetResult((int)pMsg, 3);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v2, 0);
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s Insufficient Point!", pAccount);
- return 2;
- }
- if ( (signed int)stats > 8 )
- {
- if ( stats == 9 )
- {
- Packets::BLRetAuth::SetResult((int)pMsg, 9);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v2, 0);
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s Need Reg Passport!", pAccount);
- return 2;
- }
- if ( stats == 160 )
- {
- Packets::BLRetAuth::SetResult((int)pMsg, 13);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v2, 0);
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s Need Active acc!", pAccount);
- return 2;
- }
- }
- else
- {
- if ( stats == 6 )
- {
- Packets::BLRetAuth::SetResult((int)pMsg, 6);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v2, 0);
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s Other Error!", pAccount);
- return 2;
- }
- if ( stats == 7 )
- {
- Packets::BLRetAuth::SetResult((int)pMsg, 7);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v2, 0);
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s Forbid logon!", pAccount);
- return 2;
- }
- }
- goto LABEL_26;
- }
- if ( stats == 2 )
- {
- Packets::BLRetAuth::SetResult((int)pMsg, 1);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v2, 0);
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s Not Exist!", pAccount);
- return 2;
- }
- if ( (signed int)stats > 2 )
- {
- if ( stats == 3 )
- {
- Packets::BLRetAuth::SetResult((int)pMsg, 1);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v2, 0);
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s Wrong password!", pAccount);
- return 2;
- }
- if ( stats == 4 )
- {
- Packets::BLRetAuth::SetResult((int)pMsg, 8);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pMsg->0, v2, 0);
- v6 = PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x1B8u);
- Packets::LWNotifyUser::SetAccount((Packets::LWNotifyUser *const )v6, pAccount);
- *(_DWORD *)&v6[5].m_Index = 2;
- v6[5].m_fromWhere = 0;
- ServerManager::SendPacket(*(ServerManager *const *)&g_pServerManager, v6, 0, 0);
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s send kick request to world!", pAccount);
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s Char Online!", pAccount, v7);
- return 2;
- }
- goto LABEL_26;
- }
- if ( stats == 1 )
- goto LABEL_70;
- LABEL_26:
- CacheLog(0, "BLRetAccCheckHandler... Acc = %s Unknow Result(0x%02X)!", pAccount, stats);
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pMsg->0);
- return 2;
- }
- //----- (08091474) --------------------------------------------------------
- void __cdecl _tcf_0_133(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08091484) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetAccCheckHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_133, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080914B0) --------------------------------------------------------
- UINT __cdecl Packets::BLRetAuthHandler::Execute(Packets::BLRetAuth *pPacket, Player *pPlayer)
- {
- PlayerID_t v2; // ax
- PlayerID_t v3; // bx
- LoginPlayer *v4; // eax
- UINT result; // eax
- int v6; // edx
- const CHAR *v7; // ST38_4
- const char *v8; // ebx
- const char *v9; // eax
- const CHAR *v10; // ST3C_4
- const CHAR *v11; // ST38_4
- const char *v12; // ebx
- const char *v13; // eax
- const CHAR *v14; // ebx
- INT v15; // ST3C_4
- const CHAR *v16; // eax
- double v17; // ST2C_8
- double v18; // ST24_8
- CHAR *v19; // ST20_4
- CHAR *v20; // ST1C_4
- const CHAR *v21; // eax
- const CHAR *v22; // ST3C_4
- const CHAR *v23; // eax
- const CHAR *v24; // eax
- Player *v25; // eax
- LoginPlayer *v26; // esi
- Packet *v27; // ebx
- const CHAR *v28; // eax
- const CHAR *v29; // ST3C_4
- const CHAR *v30; // ST38_4
- int v31; // eax
- UINT v32; // ebx
- char *v33; // edi
- BOOL v34; // eax
- char *v35; // edx
- BOOL v36; // eax
- char *v37; // edx
- BOOL v38; // eax
- char *v39; // edx
- BOOL v40; // eax
- char *v41; // edx
- BOOL v42; // eax
- char *v43; // edx
- BOOL v44; // eax
- char *v45; // edx
- BOOL v46; // eax
- char *v47; // edx
- char *v48; // ST14_4
- const CHAR *v49; // eax
- const CHAR *v50; // eax
- int v51; // eax
- int v52; // ST30_4
- PlayerID_t v53; // bx
- const CHAR *v54; // eax
- int v55; // eax
- const CHAR *v56; // eax
- int (**v57)(...); // eax
- int v58; // ST30_4
- LoginPlayer *v59; // edx
- INT v60; // eax
- const CHAR *v61; // eax
- int v62; // eax
- const CHAR *v63; // eax
- const CHAR *v64; // eax
- const CHAR *v65; // eax
- const CHAR *v66; // eax
- const CHAR *v67; // eax
- const CHAR *v68; // eax
- int v69; // eax
- const CHAR *v70; // eax
- char *v71; // [esp-28h] [ebp-D0h]
- char *v72; // [esp-24h] [ebp-CCh]
- char *v73; // [esp-20h] [ebp-C8h]
- char *v74; // [esp-1Ch] [ebp-C4h]
- char *v75; // [esp-18h] [ebp-C0h]
- char *v76; // [esp-14h] [ebp-BCh]
- int v77; // [esp-10h] [ebp-B8h]
- int v78; // [esp-4h] [ebp-ACh]
- LoginPlayer *pLoginPlayer; // [esp+8h] [ebp-A0h]
- UINT QueuePos; // [esp+Ch] [ebp-9Ch]
- Packets::LCStatus errMsg; // [esp+10h] [ebp-98h]
- Packets::LCRetLogin Msg; // [esp+30h] [ebp-78h]
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetAuthHandler.cpp",
- 0x1Au,
- "static UINT Packets::BLRetAuthHandler::Execute(Packets::BLRetAuth*, Player*)",
- "pPlayer");
- if ( (*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 24))(pPlayer) )
- {
- v2 = Packets::BLRetAuth::GetPlayerID((int)pPacket);
- v3 = v2;
- if ( v2 == -1 || v2 > 3071 || v2 < 0 )
- v4 = 0;
- else
- v4 = &g_pPlayerPool->m_pPlayer[v2];
- pLoginPlayer = v4;
- if ( !v4 )
- __assert__(
- "./Packets/BLRetAuthHandler.cpp",
- 0x22u,
- "static UINT Packets::BLRetAuthHandler::Execute(Packets::BLRetAuth*, Player*)",
- "FALSE");
- }
- else
- {
- if ( !(*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 23))(pPlayer) )
- __assert__(
- "./Packets/BLRetAuthHandler.cpp",
- 0x33u,
- "static UINT Packets::BLRetAuthHandler::Execute(Packets::BLRetAuth*, Player*)",
- "FALSE");
- v3 = (PlayerID_t)pPlayer[1].m_pSocketInputStream;
- pLoginPlayer = (LoginPlayer *)pPlayer;
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetAuthHandler.cpp",
- 0x2Du,
- "static UINT Packets::BLRetAuthHandler::Execute(Packets::BLRetAuth*, Player*)",
- "FALSE");
- }
- v6 = ThreadValueManager::GetCurrentThreadID();
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) == v6 )
- {
- result = 2;
- if ( pLoginPlayer->m_Status == 302 )
- {
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pPacket->0, v3, 0);
- result = 3;
- }
- }
- else
- {
- if ( g_pLoginPlayerManager->m_ThreadID != v6 )
- {
- if ( g_pProcessPlayerManager->m_ThreadID != v6 )
- {
- LABEL_15:
- v7 = LoginPlayer::GetAccount(pLoginPlayer);
- CacheLog(0, "BLRetAuthHandler::Execute()....OK! acc = %s ", v7, v78);
- return 2;
- }
- v8 = Packets::BLRetAuth::GetAccount(pPacket);
- v9 = LoginPlayer::GetAccount(pLoginPlayer);
- if ( strcmp(v9, v8) )
- {
- v10 = Packets::BLRetAuth::GetAccount(pPacket);
- v11 = LoginPlayer::GetAccount(pLoginPlayer);
- CacheLog(0, "ERROR: BLRetAuthHandler::Execute Process Errors,acc = %s,Packet acc = %s", v11, v10);
- return 2;
- }
- if ( !ProcessPlayerManager::AddPlayer(g_pProcessPlayerManager, &pLoginPlayer->0) )
- {
- v22 = Packets::BLRetAuth::GetAccount(pPacket);
- v23 = LoginPlayer::GetAccount(pLoginPlayer);
- CacheLog(0, "ERROR: BLRetAuthHandler::Execute Process Errors,acc = %s,Packet acc = %s maybe online", v23, v22);
- v24 = LoginPlayer::GetAccount(pLoginPlayer);
- v25 = ProcessPlayerManager::FindAccName(g_pProcessPlayerManager, v24);
- v26 = (LoginPlayer *)v25;
- if ( v25 )
- {
- if ( v25[2].m_pSocket != (Socket *)310 )
- {
- v27 = PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x1B8u);
- v28 = LoginPlayer::GetAccount(v26);
- Packets::LWNotifyUser::SetAccount((Packets::LWNotifyUser *const )v27, v28);
- *(_DWORD *)&v27[5].m_Index = 2;
- v27[5].m_fromWhere = LoginPlayer::GetUserKey((int)v26);
- ServerManager::SendPacket(*(ServerManager *const *)&g_pServerManager, v27, 0, 0);
- }
- v26->m_Status = 310;
- }
- return 0;
- }
- v31 = rand();
- LoginPlayer::SetUserKey((int)pLoginPlayer, v31);
- v32 = pLoginPlayer->m_AccountTotalOnlineTime;
- v33 = "Y";
- if ( !pLoginPlayer->m_FatigueSign )
- v33 = "N";
- v77 = (unsigned __int16)LoginPlayer::GetIsPilferedAccount((int)pLoginPlayer);
- v34 = LoginPlayer::GetPhoneMiBaoBind((int)pLoginPlayer);
- v35 = "Y";
- if ( !v34 )
- v35 = "N";
- v76 = v35;
- v36 = LoginPlayer::GetInputNameBind((int)pLoginPlayer);
- v37 = "Y";
- if ( !v36 )
- v37 = "N";
- v75 = v37;
- v38 = LoginPlayer::GetRealNameBind((int)pLoginPlayer);
- v39 = "Y";
- if ( !v38 )
- v39 = "N";
- v74 = v39;
- v40 = LoginPlayer::GetMacBind((int)pLoginPlayer);
- v41 = "Y";
- if ( !v40 )
- v41 = "N";
- v73 = v41;
- v42 = LoginPlayer::GetMiBaoBind((int)pLoginPlayer);
- v43 = "Y";
- if ( !v42 )
- v43 = "N";
- v72 = v43;
- v44 = LoginPlayer::GetIPBind((int)pLoginPlayer);
- v45 = "Y";
- if ( !v44 )
- v45 = "N";
- v71 = v45;
- v46 = LoginPlayer::GetPhoneBind((int)pLoginPlayer);
- v47 = "Y";
- if ( !v46 )
- v47 = "N";
- v48 = v47;
- v49 = LoginPlayer::GetAccount(pLoginPlayer);
- CacheLog(
- 0,
- "BLRetAuthHandler Acc=%s, SetAccFatigueSign=%s, SetAccOnlineTime=%us,PhoneBind=%s,\t\t\t\t\t\t\t IPBind=%s,MiBaoB"
- "ind=%s,MacBind=%s,ReadNameBind=%s,InputNameBind=%s,PhoneMiBaoBind=%s,IsPilfered=%d",
- v49,
- v33,
- v32,
- v48,
- v71,
- v72,
- v73,
- v74,
- v75,
- v76,
- v77);
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Msg.mSafeSign.m_Sign = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- v50 = LoginPlayer::GetAccount(pLoginPlayer);
- Packets::LCRetLogin::SetAccount(&Msg, v50);
- v51 = Packets::BLRetAuth::GetResult((int)pPacket);
- Packets::LCRetLogin::SetResult((int)&Msg, v51);
- (*((void (__fastcall **)(int))pLoginPlayer->_vptr_Player + 3))(v52);
- v53 = pLoginPlayer->m_PID;
- v54 = LoginPlayer::GetAccount(pLoginPlayer);
- if ( TurnPlayerQueue::AddInPlayer(g_pProcessPlayerQueue, v53, v54, &QueuePos) )
- {
- pLoginPlayer->m_Status = 307;
- v55 = TimeManager::CurrentTime((int)g_pTimeManager);
- LoginPlayer::SetLastSendTurnTime((int)pLoginPlayer, v55);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Packet::~Packet(&Msg);
- goto LABEL_15;
- }
- v56 = LoginPlayer::GetAccount(pLoginPlayer);
- CacheLog(0, "ERROR: BLRetAuthHandler Reach MAX_TURN_PLAYER Acc = %s", v56);
- pLoginPlayer->m_Status = 316;
- Packet::Packet((int)&errMsg);
- errMsg._vptr_Packet = (int (**)(...))off_80CF048;
- v57 = pLoginPlayer->_vptr_Player;
- errMsg.ClientStatus = 2;
- ((void (__fastcall *)(int))v57[3])(v58);
- LoginPlayer::TrigerDisconnectCountDown(pLoginPlayer, 0xBB8u);
- errMsg._vptr_Packet = (int (**)(...))off_80CF048;
- Packet::~Packet(&errMsg);
- goto LABEL_64;
- }
- v12 = Packets::BLRetAuth::GetAccount(pPacket);
- v13 = LoginPlayer::GetAccount(pLoginPlayer);
- if ( strcmp(v13, v12) )
- {
- v29 = Packets::BLRetAuth::GetAccount(pPacket);
- v30 = LoginPlayer::GetAccount(pLoginPlayer);
- CacheLog(0, "ERROR: BLRetAuthHandler::Execute Errors,acc = %s,Packet acc = %s", v30, v29);
- return 2;
- }
- if ( pLoginPlayer->m_Status != 302 )
- goto LABEL_15;
- v14 = pLoginPlayer->m_pSocket->m_Host;
- v15 = Packets::BLRetAuth::GetResult((int)pPacket);
- v16 = Packets::BLRetAuth::GetAccount(pPacket);
- ReLoginManager::SetPwdCheck(g_pReLoginManager, v16, v14, v15);
- if ( Packets::BLRetAuth::GetResult((int)pPacket) && Packets::BLRetAuth::GetResult((int)pPacket) != 10 )
- {
- if ( Packets::BLRetAuth::GetResult((int)pPacket) != 25 && Packets::BLRetAuth::GetResult((int)pPacket) != 26 )
- {
- if ( Packets::BLRetAuth::GetResult((int)pPacket) == 9 )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Msg.mSafeSign.m_Sign = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- v66 = LoginPlayer::GetAccount(pLoginPlayer);
- Packets::LCRetLogin::SetAccount(&Msg, v66);
- Packets::LCRetLogin::SetResult((int)&Msg, 9);
- (*((void (__cdecl **)(LoginPlayer *, Packets::LCRetLogin *))pLoginPlayer->_vptr_Player + 3))(
- pLoginPlayer,
- &Msg);
- pLoginPlayer->m_Status = 303;
- v67 = LoginPlayer::GetAccount(pLoginPlayer);
- CacheLog(0, "REG: BLRetAuthHandler Wait Client Send PassPort Reg Info acc=%s", v67);
- }
- else if ( Packets::BLRetAuth::GetResult((int)pPacket) == 21 )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Msg.mSafeSign.m_Sign = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- v64 = LoginPlayer::GetAccount(pLoginPlayer);
- Packets::LCRetLogin::SetAccount(&Msg, v64);
- Packets::LCRetLogin::SetResult((int)&Msg, 21);
- (*((void (__cdecl **)(LoginPlayer *, Packets::LCRetLogin *))pLoginPlayer->_vptr_Player + 3))(
- pLoginPlayer,
- &Msg);
- pLoginPlayer->m_Status = 313;
- LoginPlayer::SetAccFatigueSign((int)pLoginPlayer, pPacket->mIsFatigue);
- LoginPlayer::SetAccOnlineTime((int)pLoginPlayer, pPacket->mAccTotalOnlineSecond);
- LoginPlayer::SetPhoneBind(pLoginPlayer, pPacket->mIsPhoneBind);
- LoginPlayer::SetIPBind(pLoginPlayer, pPacket->mIsIPBind);
- LoginPlayer::SetMiBaoBind(pLoginPlayer, pPacket->mIsMiBaoBind);
- LoginPlayer::SetMacBind(pLoginPlayer, pPacket->mIsMacBind);
- LoginPlayer::SetRealNameBind(pLoginPlayer, pPacket->mIsRealNameBind);
- LoginPlayer::SetInputNameBind(pLoginPlayer, pPacket->mIsInputNameBind);
- LoginPlayer::SetPhoneMiBaoBind(pLoginPlayer, pPacket->mIsPhoneMiBaoBind);
- LoginPlayer::SetIsPilferedAccount((int)pLoginPlayer, pPacket->mIsPilferedAccount);
- v65 = LoginPlayer::GetAccount(pLoginPlayer);
- CacheLog(0, "BLRetAuthHandler Wait Client Send New License Info acc=%s", v65);
- }
- else
- {
- if ( Packets::BLRetAuth::GetResult((int)pPacket) != 1
- && Packets::BLRetAuth::GetResult((int)pPacket) != 16
- && Packets::BLRetAuth::GetResult((int)pPacket) != 20 )
- {
- if ( Packets::BLRetAuth::GetResult((int)pPacket) == 27 )
- {
- v70 = LoginPlayer::GetAccount(pLoginPlayer);
- ReLoginManager::ResetAccReLogin(g_pReLoginManager, v70);
- }
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Msg.mSafeSign.m_Sign = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- v68 = LoginPlayer::GetAccount(pLoginPlayer);
- Packets::LCRetLogin::SetAccount(&Msg, v68);
- v69 = Packets::BLRetAuth::GetResult((int)pPacket);
- Packets::LCRetLogin::SetResult((int)&Msg, v69);
- strncpy(Msg.mIP, pPacket->mIP, 0xFu);
- (*((void (__cdecl **)(LoginPlayer *, Packets::LCRetLogin *))pLoginPlayer->_vptr_Player + 3))(
- pLoginPlayer,
- &Msg);
- LABEL_64:
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Packet::~Packet(&Msg);
- return 2;
- }
- v60 = LoginPlayer::GetWrongPWCount((int)pLoginPlayer);
- LoginPlayer::SetWrongPWCount((int)pLoginPlayer, v60 + 1);
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Msg.mSafeSign.m_Sign = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- v61 = LoginPlayer::GetAccount(pLoginPlayer);
- Packets::LCRetLogin::SetAccount(&Msg, v61);
- v62 = Packets::BLRetAuth::GetResult((int)pPacket);
- Packets::LCRetLogin::SetResult((int)&Msg, v62);
- (*((void (__cdecl **)(LoginPlayer *))pLoginPlayer->_vptr_Player + 3))(pLoginPlayer);
- if ( LoginPlayer::GetWrongPWCount((int)pLoginPlayer) > 2 )
- {
- v63 = LoginPlayer::GetAccount(pLoginPlayer);
- CacheLog(0, "ERROR: BLRetAuthHandler Reach Max Password Wrong Times acc=%s", v63);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Packet::~Packet(&Msg);
- return 0;
- }
- }
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Packet::~Packet(&Msg);
- return 2;
- }
- Packets::BLRetAuth::SetResult((int)pPacket, 0);
- v59 = pLoginPlayer;
- pLoginPlayer->m_Status = 305;
- }
- else
- {
- LoginPlayer::SetAccFatigueSign((int)pLoginPlayer, pPacket->mIsFatigue);
- LoginPlayer::SetAccOnlineTime((int)pLoginPlayer, pPacket->mAccTotalOnlineSecond);
- LoginPlayer::SetPhoneBind(pLoginPlayer, pPacket->mIsPhoneBind);
- LoginPlayer::SetIPBind(pLoginPlayer, pPacket->mIsIPBind);
- LoginPlayer::SetMiBaoBind(pLoginPlayer, pPacket->mIsMiBaoBind);
- LoginPlayer::SetMacBind(pLoginPlayer, pPacket->mIsMacBind);
- LoginPlayer::SetRealNameBind(pLoginPlayer, pPacket->mIsRealNameBind);
- LoginPlayer::SetInputNameBind(pLoginPlayer, pPacket->mIsInputNameBind);
- LoginPlayer::SetPhoneMiBaoBind(pLoginPlayer, pPacket->mIsPhoneMiBaoBind);
- LoginPlayer::SetIsPilferedAccount((int)pLoginPlayer, pPacket->mIsPilferedAccount);
- if ( pLoginPlayer
- && (LoginPlayer::GetCPUInformation(pLoginPlayer) || LoginPlayer::GetVideoInformation(pLoginPlayer)) )
- {
- v17 = pLoginPlayer->m_fPhyMemory;
- v18 = pLoginPlayer->m_fLocalVideoMemory;
- v19 = LoginPlayer::GetVideoInformation(pLoginPlayer);
- v20 = LoginPlayer::GetCPUInformation(pLoginPlayer);
- v21 = LoginPlayer::GetAccount(pLoginPlayer);
- CacheLog(26, "%s,%s,%s @ %f,%f", v21, v20, v19, v18, v17);
- }
- pLoginPlayer->m_Status = 305;
- v59 = pLoginPlayer;
- }
- LoginPlayerManager::DelPlayer(g_pLoginPlayerManager, v59->m_PID);
- ProcessManager::SendPacket(g_pProcessManager, &pPacket->0, pLoginPlayer->m_PID, 0);
- pLoginPlayer->m_Status = 306;
- result = 3;
- }
- return result;
- }
- // 80CED48: using guessed type _DWORD (__cdecl *off_80CED48[2])(Packets::LCRetLogin *this);
- // 80CF048: using guessed type _DWORD (__cdecl *off_80CF048[2])(Packets::LCStatus *this);
- //----- (08092360) --------------------------------------------------------
- void __cdecl _tcf_0_134(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08092370) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetAuthHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_134, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809239C) --------------------------------------------------------
- UINT __cdecl Packets::BLRetBillingEndHandler::Execute(Packets::BLRetBillingEnd *pPacket, Player *pPlayer)
- {
- Player *v2; // eax
- Packets::LWRetBillingEnd Msg; // [esp+0h] [ebp-58h]
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetBillingEndHandler.cpp",
- 0x13u,
- "static UINT Packets::BLRetBillingEndHandler::Execute(Packets::BLRetBillingEnd*, Player*)",
- "pPlayer");
- if ( (*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/BLRetBillingEndHandler.cpp",
- 0x19u,
- "static UINT Packets::BLRetBillingEndHandler::Execute(Packets::BLRetBillingEnd*, Player*)",
- "pPacket");
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CF3A8;
- memset(Msg.mAccount, 0, 0x30u);
- *(_WORD *)&Msg.mAccount[48] = 0;
- Msg.mAccount[50] = 0;
- strncpy(Msg.mAccount, pPacket->mAccount, 0x32u);
- Msg.mResult = pPacket->mResult;
- v2 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 0);
- if ( v2 )
- (*((void (__cdecl **)(Player *, Packets::LWRetBillingEnd *))v2->_vptr_Player + 3))(v2, &Msg);
- CacheLog(
- 0,
- "BLRetBillingEnd::Execute()...Acc=%s Billing End Result = %d ",
- pPacket->mAccount,
- pPacket->mResult,
- Msg._vptr_Packet);
- Msg._vptr_Packet = (int (**)(...))off_80CF3A8;
- Packet::~Packet(&Msg);
- }
- return 2;
- }
- // 80CF3A8: using guessed type _DWORD (__cdecl *off_80CF3A8[2])(Packets::LWRetBillingEnd *this);
- //----- (0809250C) --------------------------------------------------------
- void __cdecl _tcf_0_135(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809251C) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetBillingEndHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_135, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08092548) --------------------------------------------------------
- UINT __cdecl Packets::BLRetBillingKeepHandler::Execute(Packets::BLRetBillingKeep *pPacket, Player *pPlayer)
- {
- Player *v2; // eax
- UINT v3; // ST18_4
- UINT v4; // ST14_4
- Packets::LWRetBillingKeep Msg; // [esp+0h] [ebp-68h]
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetBillingKeepHandler.cpp",
- 0xCu,
- "static UINT Packets::BLRetBillingKeepHandler::Execute(Packets::BLRetBillingKeep*, Player*)",
- "pPlayer");
- if ( (*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/BLRetBillingKeepHandler.cpp",
- 0x12u,
- "static UINT Packets::BLRetBillingKeepHandler::Execute(Packets::BLRetBillingKeep*, Player*)",
- "pPacket");
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CF528;
- memset(Msg.mAccount, 0, 0x30u);
- *(_WORD *)&Msg.mAccount[48] = 0;
- Msg.mAccount[50] = 0;
- strncpy(Msg.mAccount, pPacket->mAccount, 0x32u);
- Msg.mResult = pPacket->mResult;
- Msg.mLeftTime = pPacket->mLeftTime;
- Msg.mStorePoint = pPacket->mStorePoint;
- Msg.mUserPoint = pPacket->mUserPoint;
- v2 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 0);
- if ( v2 )
- (*((void (__cdecl **)(Player *, Packets::LWRetBillingKeep *))v2->_vptr_Player + 3))(v2, &Msg);
- v3 = pPacket->mUserPoint;
- v4 = pPacket->mStorePoint;
- CacheLog(
- 0,
- "BLRetBillingKeep::Execute()...Acc=%s BillingKeep Result = %d,lt=%d,sp=%d,up=%d",
- pPacket->mAccount,
- pPacket->mResult,
- pPacket->mLeftTime);
- Msg._vptr_Packet = (int (**)(...))off_80CF528;
- Packet::~Packet(&Msg);
- }
- return 2;
- }
- // 80CF528: using guessed type _DWORD (__cdecl *off_80CF528[2])(Packets::LWRetBillingKeep *this);
- //----- (080926D4) --------------------------------------------------------
- void __cdecl _tcf_0_136(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080926E4) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetBillingKeepHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_136, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08092710) --------------------------------------------------------
- UINT __cdecl Packets::BLRetBillingStartHandler::Execute(Packets::BLRetBillingStart *pPacket, Player *pPlayer)
- {
- Player *v2; // eax
- Packets::LWRetBillingStart Msg; // [esp+0h] [ebp-78h]
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetBillingStartHandler.cpp",
- 0xCu,
- "static UINT Packets::BLRetBillingStartHandler::Execute(Packets::BLRetBillingStart*, Player*)",
- "pPlayer");
- if ( (*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/BLRetBillingStartHandler.cpp",
- 0x13u,
- "static UINT Packets::BLRetBillingStartHandler::Execute(Packets::BLRetBillingStart*, Player*)",
- "pPacket");
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CF6C8;
- memset(Msg.mAccount, 0, 0x30u);
- *(_WORD *)&Msg.mAccount[48] = 0;
- Msg.mAccount[50] = 0;
- strncpy(Msg.mAccount, pPacket->mAccount, 0x32u);
- Msg.mResult = pPacket->mResult;
- Msg.mPlayerID = *(_WORD *)&pPacket->baseclass_0[4];
- if ( Msg.mResult )
- {
- if ( Msg.mResult != 1 )
- __assert__(
- "./Packets/BLRetBillingStartHandler.cpp",
- 0x33u,
- "static UINT Packets::BLRetBillingStartHandler::Execute(Packets::BLRetBillingStart*, Player*)",
- "FALSE");
- Msg.mFeeType = pPacket->mFeeType;
- Msg.mLeftTime = pPacket->mLeftTime;
- Msg.mStorePoint = pPacket->mStorePoint;
- Msg.mUserPoint = pPacket->mUserPoint;
- Msg.mWhyFlag = pPacket->mWhyFlag;
- CacheLog(
- 0,
- "BLRetBillingStart::Execute()...Acc=%s Billing Start ft=%d,lt=%d",
- pPacket->mAccount,
- Msg.mFeeType,
- Msg.mLeftTime);
- }
- else
- {
- Msg.mCode = pPacket->mCode;
- CacheLog(
- 0,
- "BLRetBillingStart::Execute()...Acc=%s Billing Fail Code = %d ",
- pPacket->mAccount,
- Msg.mCode,
- Msg._vptr_Packet);
- }
- v2 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 0);
- if ( v2 )
- {
- (*((void (__cdecl **)(Player *, Packets::LWRetBillingStart *))v2->_vptr_Player + 3))(v2, &Msg);
- CacheLog(0, "BLRetBillingStart::Execute()...Send Packet LWRetBillingStart");
- }
- Msg._vptr_Packet = (int (**)(...))off_80CF6C8;
- Packet::~Packet(&Msg);
- }
- return 2;
- }
- // 80CF6C8: using guessed type _DWORD (__cdecl *off_80CF6C8[2])(Packets::LWRetBillingStart *this);
- //----- (080928FC) --------------------------------------------------------
- void __cdecl _tcf_0_137(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809290C) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetBillingStartHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_137, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08092938) --------------------------------------------------------
- UINT __cdecl Packets::BLRetConnectHandler::Execute(Packets::BLRetConnect *pPacket, Player *pPlayer)
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetConnectHandler.cpp",
- 0xAu,
- "static UINT Packets::BLRetConnectHandler::Execute(Packets::BLRetConnect*, Player*)",
- "pPlayer");
- if ( !(*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- __assert__(
- "./Packets/BLRetConnectHandler.cpp",
- 0x1Bu,
- "static UINT Packets::BLRetConnectHandler::Execute(Packets::BLRetConnect*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetConnectHandler.cpp",
- 0x12u,
- "static UINT Packets::BLRetConnectHandler::Execute(Packets::BLRetConnect*, Player*)",
- "FALSE");
- pPlayer[2]._vptr_Player = (int (**)(...))401;
- CacheLog(0, "BLRetConnectHandler::Execute() ... OK!");
- return 2;
- }
- //----- (08092A1C) --------------------------------------------------------
- void __cdecl _tcf_0_138(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08092A2C) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetConnectHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_138, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08092A58) --------------------------------------------------------
- UINT __cdecl Packets::BLRetKeepLiveHandler::Execute(Packets::BLRetKeepLive *pPacket, Player *pPlayer)
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetKeepLiveHandler.cpp",
- 0xAu,
- "static UINT Packets::BLRetKeepLiveHandler::Execute(Packets::BLRetKeepLive*, Player*)",
- "pPlayer");
- if ( !(*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- __assert__(
- "./Packets/BLRetKeepLiveHandler.cpp",
- 0x1Au,
- "static UINT Packets::BLRetKeepLiveHandler::Execute(Packets::BLRetKeepLive*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetKeepLiveHandler.cpp",
- 0x11u,
- "static UINT Packets::BLRetKeepLiveHandler::Execute(Packets::BLRetKeepLive*, Player*)",
- "FALSE");
- pPlayer[2].m_pSocketInputStream = 0;
- CacheLog(0, "BLRetKeepLiveHandler::Execute() ... OK!");
- return 2;
- }
- //----- (08092B3C) --------------------------------------------------------
- void __cdecl _tcf_0_139(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08092B4C) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetKeepLiveHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_139, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08092B78) --------------------------------------------------------
- UINT __cdecl Packets::BLRetKickALLHandler::Execute(Packets::BLRetKickALL *pPacket, Player *pPlayer)
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetKickAllHandler.cpp",
- 0xAu,
- "static UINT Packets::BLRetKickALLHandler::Execute(Packets::BLRetKickALL*, Player*)",
- "pPlayer");
- if ( !(*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- __assert__(
- "./Packets/BLRetKickAllHandler.cpp",
- 0x2Eu,
- "static UINT Packets::BLRetKickALLHandler::Execute(Packets::BLRetKickALL*, Player*)",
- "FALSE");
- if ( !pPacket )
- __assert__(
- "./Packets/BLRetKickAllHandler.cpp",
- 0x16u,
- "static UINT Packets::BLRetKickALLHandler::Execute(Packets::BLRetKickALL*, Player*)",
- "pPacket");
- if ( pPacket->mResult )
- {
- if ( pPacket->mResult == 1 )
- CacheLog(0, "BLRetKickAllHandler::Execute() ... Success!");
- else
- CacheLog(0, "BLRetKickAllHandler::Execute() ... UnKnow Result!");
- }
- else
- {
- CacheLog(0, "BLRetKickAllHandler::Execute() ... Fail!");
- }
- return 2;
- }
- //----- (08092C94) --------------------------------------------------------
- void __cdecl _tcf_0_140(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08092CA4) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetKickALLHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_140, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08092CD0) --------------------------------------------------------
- UINT __cdecl Packets::BLRetRegPassPortHandler::Execute(Packets::BLRetRegPassPort *pPacket, Player *pPlayer)
- {
- signed __int16 v2; // ax
- int v3; // ebx
- LoginPlayer *v4; // eax
- Packets::BLRetAuth *v6; // edi
- BYTE v7; // al
- CHAR *v8; // [esp+8h] [ebp-10h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/BLRetRegPassPortHandler.cpp",
- 0x22u,
- "static UINT Packets::BLRetRegPassPortHandler::Execute(Packets::BLRetRegPassPort*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetRegPassPortHandler.cpp",
- 0x25u,
- "static UINT Packets::BLRetRegPassPortHandler::Execute(Packets::BLRetRegPassPort*, Player*)",
- "pPlayer");
- if ( !(*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- return 2;
- if ( !pPacket )
- __assert__(
- "./Packets/BLRetRegPassPortHandler.cpp",
- 0x29u,
- "static UINT Packets::BLRetRegPassPortHandler::Execute(Packets::BLRetRegPassPort*, Player*)",
- "pPacket");
- v2 = pPacket->m_Index;
- if ( v2 == -1 || v2 > 3071 || v2 < 0 || (v3 = v2, (v4 = &g_pPlayerPool->m_pPlayer[v2]) == 0) )
- __assert__(
- "./Packets/BLRetRegPassPortHandler.cpp",
- 0x30u,
- "static UINT Packets::BLRetRegPassPortHandler::Execute(Packets::BLRetRegPassPort*, Player*)",
- "FALSE");
- if ( v4->m_Status != 304 )
- {
- CacheLog(0, "BLRetRegPassPortHandler::Execute() Acc = %s PlayerID=%d... Wrong logic!", pPacket->mAccount, v3);
- return 2;
- }
- v4->m_Status = 302;
- v6 = (Packets::BLRetAuth *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x61u);
- if ( !v6 )
- __assert__(
- "./Packets/BLRetRegPassPortHandler.cpp",
- 0x3Eu,
- "static UINT Packets::BLRetRegPassPortHandler::Execute(Packets::BLRetRegPassPort*, Player*)",
- "pMsg");
- v8 = pPacket->mAccount;
- Packets::BLRetAuth::SetAccount(v6, pPacket->mAccount);
- v7 = pPacket->mAccResult;
- if ( v7 == 5 )
- {
- Packets::BLRetAuth::SetResult((int)v6, 12);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &v6->0, v3, 0);
- CacheLog(0, "REG:BLRetRegPassPortHandler... Acc = %s User Other Online!", v8);
- goto LABEL_24;
- }
- if ( (signed int)v7 > 5 )
- {
- if ( v7 == 7 )
- {
- Packets::BLRetAuth::SetResult((int)v6, 12);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &v6->0, v3, 0);
- CacheLog(0, "REG:BLRetRegPassPortHandler... Acc = %s Forbit login acc!", v8);
- goto LABEL_24;
- }
- if ( (signed int)v7 < 7 )
- {
- Packets::BLRetAuth::SetResult((int)v6, 12);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &v6->0, v3, 0);
- CacheLog(0, "REG:BLRetRegPassPortHandler... Acc = %s Reg Failed Other Reason!", v8);
- goto LABEL_24;
- }
- if ( v7 == 8 )
- {
- Packets::BLRetAuth::SetResult((int)v6, 12);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &v6->0, v3, 0);
- CacheLog(0, "REG:BLRetRegPassPortHandler... Acc = %s No point acc!", v8);
- goto LABEL_24;
- }
- if ( v7 == 160 )
- {
- Packets::BLRetAuth::SetResult((int)v6, 13);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &v6->0, v3, 0);
- CacheLog(0, "REG:BLRetRegPassPortHandler... Acc = %s Need Active acc!", v8);
- goto LABEL_24;
- }
- }
- else
- {
- if ( v7 == 2 )
- {
- Packets::BLRetAuth::SetResult((int)v6, 11);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &v6->0, v3, 0);
- CacheLog(0, "REG:BLRetRegPassPortHandler... Acc = %s Already Reg acc!", v8);
- goto LABEL_24;
- }
- if ( (signed int)v7 > 2 )
- {
- if ( v7 == 4 )
- {
- Packets::BLRetAuth::SetResult((int)v6, 12);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &v6->0, v3, 0);
- CacheLog(0, "REG:BLRetRegPassPortHandler... Acc = %s User Online!", v8);
- goto LABEL_24;
- }
- }
- else if ( v7 == 1 )
- {
- Packets::BLRetAuth::SetResult((int)v6, 10);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &v6->0, v3, 0);
- CacheLog(0, "REG:BLRetRegPassPortHandler... Acc = %s Reg Success!", v8);
- goto LABEL_24;
- }
- }
- CacheLog(0, "REG:BLRetRegPassPortHandler... Acc = %s Unknow Result(0x%02X)!", v8, v7);
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &v6->0);
- LABEL_24:
- CacheLog(0, "REG:BLRetRegPassPortHandler::Execute() Acc = %s... OK!", v8);
- return 2;
- }
- //----- (0809308C) --------------------------------------------------------
- void __cdecl _tcf_0_141(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809309C) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetRegPassPortHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_141, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080930C8) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCharListHandler::Execute(Packets::CLAskCharList *pPacket, Player *pPlayer)
- {
- int v2; // edi
- ODBCInterface *v3; // eax
- ODBCInterface *v4; // ebx
- bool v5; // zf
- UINT result; // eax
- Packets::LCRetCharList *v7; // edi
- const CHAR *v8; // eax
- const CHAR *v9; // eax
- const char *v10; // ebx
- const char *v11; // eax
- DB_CHAR_BASE_INFO *v12; // esi
- int v13; // ebx
- signed int v14; // eax
- signed int v15; // eax
- const CHAR *v16; // ST2C_4
- const CHAR *v17; // eax
- DB_CHAR_BASE_INFO *v18; // esi
- int v19; // ebx
- signed int v20; // eax
- signed int v21; // eax
- char *s2; // ST3C_4
- const char *v23; // eax
- const CHAR *v24; // eax
- CHAR *v25; // eax
- const CHAR *v26; // eax
- const CHAR *v27; // eax
- int v28; // ebx
- const CHAR *v29; // eax
- INT v30; // ST2C_4
- const CHAR *v31; // eax
- signed int i; // [esp+8h] [ebp-6A0h]
- PlayerID_t PlayerID; // [esp+12h] [ebp-696h]
- signed int v34; // [esp+14h] [ebp-694h]
- signed int v35; // [esp+18h] [ebp-690h]
- int (**uTime)(...); // [esp+1Ch] [ebp-68Ch]
- DBCharList CharListObject; // [esp+20h] [ebp-688h]
- Packets::LCRetCharList Msg; // [esp+90h] [ebp-618h]
- v2 = ThreadValueManager::GetCurrentThreadID();
- if ( g_pProcessPlayerManager->m_ThreadID == v2 )
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskCharListHandler.cpp",
- 0x18u,
- "static UINT Packets::CLAskCharListHandler::Execute(Packets::CLAskCharList*, Player*)",
- "pLoginPlayer");
- v10 = Packets::CLAskCharList::GetAccount(pPacket);
- v11 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- if ( strcmp(v11, v10) )
- {
- v16 = Packets::CLAskCharList::GetAccount(pPacket);
- v17 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR: CLAskCharListHandler Get Guid Errors,acc = %s,Packet acc = %s", v17, v16);
- return 0;
- }
- uTime = (int (**)(...))TimeManager::CurrentTime((int)g_pTimeManager);
- if ( pPlayer[2]._vptr_Player + 125 > uTime )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE568;
- v18 = Msg.CharList;
- v35 = 4;
- do
- {
- v19 = (int)&v18->m_EquipList;
- v20 = 0;
- do
- {
- *(_DWORD *)(v19 + 4 * v20) = 0;
- *(_WORD *)(v19 + 2 * v20 + 76) = 0;
- *(_DWORD *)(v19 + 4 * v20++ + 116) = -1;
- }
- while ( v20 <= 18 );
- memset(&v18->m_SceneList, 0, 0x14u);
- v18->m_SceneList.mSceneID[9] = 0;
- memset(v18, 0, 0x124u);
- v21 = 0;
- do
- {
- *(_DWORD *)(v19 + 4 * v21) = 0;
- *(_WORD *)(v19 + 2 * v21 + 76) = 0;
- *(_DWORD *)(v19 + 4 * v21++ + 116) = -1;
- }
- while ( v21 <= 18 );
- --v35;
- ++v18;
- }
- while ( v35 != -1 );
- Packets::LCRetCharList::SetResult((int)&Msg, 3);
- (*((void (__cdecl **)(Player *, Packets::LCRetCharList *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- }
- else
- {
- result = 2;
- if ( pPlayer[2].m_pSocket != (Socket *)308 )
- return result;
- pPacket->PlayerID = (PlayerID_t)pPlayer[1].m_pSocketInputStream;
- if ( DBThreadManager::SendPacket(g_pDBThreadManager, &pPacket->0, (PlayerID_t)pPlayer[1].m_pSocketInputStream) )
- {
- pPlayer[2]._vptr_Player = uTime;
- return 3;
- }
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE568;
- v12 = Msg.CharList;
- v34 = 4;
- do
- {
- v13 = (int)&v12->m_EquipList;
- v14 = 0;
- do
- {
- *(_DWORD *)(v13 + 4 * v14) = 0;
- *(_WORD *)(v13 + 2 * v14 + 76) = 0;
- *(_DWORD *)(v13 + 4 * v14++ + 116) = -1;
- }
- while ( v14 <= 18 );
- memset(&v12->m_SceneList, 0, 0x14u);
- v12->m_SceneList.mSceneID[9] = 0;
- memset(v12, 0, 0x124u);
- v15 = 0;
- do
- {
- *(_DWORD *)(v13 + 4 * v15) = 0;
- *(_WORD *)(v13 + 2 * v15 + 76) = 0;
- *(_DWORD *)(v13 + 4 * v15++ + 116) = -1;
- }
- while ( v15 <= 18 );
- --v34;
- ++v12;
- }
- while ( v34 != -1 );
- Packets::LCRetCharList::SetResult((int)&Msg, 2);
- (*((void (__cdecl **)(Player *, Packets::LCRetCharList *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- pPlayer[2]._vptr_Player = uTime;
- }
- Msg._vptr_Packet = (int (**)(...))off_80CE568;
- Packet::~Packet(&Msg);
- goto LABEL_23;
- }
- if ( !DBThreadManager::IsPoolTID(g_pDBThreadManager, v2) )
- return 2;
- PlayerID = pPacket->PlayerID;
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskCharListHandler.cpp",
- 0x48u,
- "static UINT Packets::CLAskCharListHandler::Execute(Packets::CLAskCharList*, Player*)",
- "pLoginPlayer");
- v3 = DBThreadManager::GetInterface(g_pDBThreadManager, v2);
- v4 = v3;
- v5 = v3 == 0;
- result = 2;
- if ( !v5 )
- {
- v7 = (Packets::LCRetCharList *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x26Eu);
- if ( !v7 )
- __assertex__(
- "./Packets/CLAskCharListHandler.cpp",
- 0x53u,
- "static UINT Packets::CLAskCharListHandler::Execute(Packets::CLAskCharList*, Player*)",
- "FALSE",
- &byte_80DDF85);
- if ( LoginPlayer::GetDBOperating((int)pPlayer) == 1 || !v4->mConnected )
- {
- v8 = Packets::CLAskCharList::GetAccount(pPacket);
- Packets::LCRetCharList::SetAccount(v7, v8);
- Packets::LCRetCharList::SetResult((int)v7, 2);
- v7->uCharNumber = 0;
- ProcessManager::SendPacket(g_pProcessManager, &v7->0, PlayerID, 0);
- v9 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, aClaskcharlisth_1, v9);
- return 2;
- }
- s2 = (char *)Packets::CLAskCharList::GetAccount(pPacket);
- v23 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- if ( strcmp(v23, s2) )
- {
- Packets::CLAskCharList::GetAccount(pPacket);
- LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR: CLAskCharListHandler DBOperation Errors,acc = %s,Packet acc = %s");
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &v7->0);
- return 2;
- }
- LoginPlayer::SetDBOperating((int)pPlayer, 1);
- DBCharList::DBCharList(&CharListObject, v4);
- v24 = Packets::CLAskCharList::GetAccount(pPacket);
- DBCharList::SetAccount(&CharListObject, v24);
- if ( !DBCharList::Load(&CharListObject) )
- {
- v25 = ODBCBase::GetErrorMessage((int)&CharListObject);
- CacheLog(0, "CharListObject.Load() ... Get Errors: %s", v25);
- v26 = Packets::CLAskCharList::GetAccount(pPacket);
- Packets::LCRetCharList::SetAccount(v7, v26);
- Packets::LCRetCharList::SetResult((int)v7, 1);
- v7->uCharNumber = 0;
- ProcessManager::SendPacket(g_pProcessManager, &v7->0, PlayerID, 0);
- v27 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "CLAskCharListHandler....Fails!,code = ASKCHARLIST_OP_FAILS,acc=%s", v27);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- return 2;
- }
- DBCharList::ParseResult(&CharListObject, v7->CharList);
- v28 = DBCharList::GetCharNumber((int)&CharListObject);
- v29 = Packets::CLAskCharList::GetAccount(pPacket);
- Packets::LCRetCharList::SetAccount(v7, v29);
- Packets::LCRetCharList::SetResult((int)v7, 0);
- v7->uCharNumber = v28;
- LoginPlayer::SetCharNumber((int)pPlayer, v28);
- for ( i = 0; LoginPlayer::GetCharNumber((int)pPlayer) > i; ++i )
- {
- if ( (unsigned __int8)i > 4u )
- __assert__(
- "../../Common/Packets/LCRetCharList.h",
- 0x3Cu,
- "DB_CHAR_BASE_INFO* Packets::LCRetCharList::GetCharBaseInfo(UCHAR)",
- "CharIndex<DB_CHAR_NUMBER");
- LoginPlayer::SetCharGUID((UINT)pPlayer, v7->CharList[(unsigned __int8)i].m_GUID, i);
- }
- ProcessManager::SendPacket(g_pProcessManager, &v7->0, PlayerID, 0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- v30 = LoginPlayer::GetCharNumber((int)pPlayer);
- v31 = Packets::CLAskCharList::GetAccount(pPacket);
- CacheLog(0, "CLAskCharListHandler::Execute()....OK! Acc=%s CharNum=%d", v31, v30);
- LABEL_23:
- result = 2;
- }
- return result;
- }
- // 80CE568: using guessed type _DWORD (__cdecl *off_80CE568[2])(Packets::LCRetCharList *this);
- //----- (08093784) --------------------------------------------------------
- void __cdecl _tcf_0_142(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08093794) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskCharListHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_142, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080937C0) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCharLoginHandler::Execute(Packets::CLAskCharLogin *pPacket, Player *pPlayer)
- {
- int v2; // edx
- const CHAR *v3; // ST28_4
- UINT result; // eax
- GUID_t v5; // eax
- int (**v6)(...); // eax
- GUID_t v7; // ST2C_4
- const CHAR *v8; // eax
- int (**v9)(...); // eax
- GUID_t v10; // ST2C_4
- const CHAR *v11; // eax
- PlayerID_t v12; // di
- GUID_t v13; // eax
- GUID_t v14; // ST2C_4
- const CHAR *v15; // ST28_4
- int v16; // eax
- BOOL v17; // eax
- bool v18; // zf
- int (**v19)(...); // eax
- GUID_t v20; // ST2C_4
- const CHAR *v21; // eax
- int (**v22)(...); // eax
- GUID_t v23; // ST2C_4
- const CHAR *v24; // eax
- GUID_t v25; // ST1C_4
- const CHAR *v26; // eax
- int v27; // eax
- const CHAR *v28; // ST28_4
- const CHAR *v29; // eax
- int v30; // [esp-4h] [ebp-7Ch]
- GUID_t PlayerCharGUID; // [esp+8h] [ebp-70h]
- int v32; // [esp+Ch] [ebp-6Ch]
- int (**uTime)(...); // [esp+18h] [ebp-60h]
- UINT QueuePos; // [esp+1Ch] [ebp-5Ch]
- Packets::LCRetCharLogin Msg; // [esp+20h] [ebp-58h]
- v2 = ThreadValueManager::GetCurrentThreadID();
- if ( g_pProcessPlayerManager->m_ThreadID != v2 )
- {
- if ( !DBThreadManager::IsPoolTID(g_pDBThreadManager, v2) )
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskCharLoginHandler.cpp",
- 0x93u,
- "static UINT Packets::CLAskCharLoginHandler::Execute(Packets::CLAskCharLogin*, Player*)",
- "pLoginPlayer");
- v3 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR::CLAskCharLoginHandler::Execute()...Fail, Invalid Thread Handler,acc = %s", v3, v30);
- return 2;
- }
- v12 = pPacket->PlayerID;
- PlayerCharGUID = Packets::CLAskCharLogin::GetCharGuid((int)pPacket);
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskCharLoginHandler.cpp",
- 0x68u,
- "static UINT Packets::CLAskCharLoginHandler::Execute(Packets::CLAskCharLogin*, Player*)",
- "pLoginPlayer");
- v13 = Packets::CLAskCharLogin::GetCharGuid((int)pPacket);
- if ( !LoginPlayer::IsGUIDOwner((LoginPlayer *const )pPlayer, v13) )
- {
- v14 = Packets::CLAskCharLogin::GetCharGuid((int)pPacket);
- v15 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "CLAskCharLoginHandler Wrong operation,acc=%s,guid=%X", v15, v14);
- return 2;
- }
- v25 = Packets::CLAskCharLogin::GetCharGuid((int)pPacket);
- v26 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- if ( WorldPlayerQueue::AddInPlayer(g_pWorldPlayerQueue, v12, v26, v25, &QueuePos) )
- {
- pPlayer[2].m_pSocket = (Socket *)312;
- v27 = TimeManager::CurrentTime((int)g_pTimeManager);
- LoginPlayer::SetLastSendTurnTime((int)pPlayer, v27);
- v28 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "CLAskCharLoginHandler::Execute()....OK!, acc= %s guid = %X ", v28, PlayerCharGUID);
- return 2;
- }
- v29 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "CLAskCharLoginHandler::Execute()....Fail,World is Full,acc=%s,GUID = %X ", v29, PlayerCharGUID);
- return 2;
- }
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskCharLoginHandler.cpp",
- 0x1Bu,
- "static UINT Packets::CLAskCharLoginHandler::Execute(Packets::CLAskCharLogin*, Player*)",
- "pLoginPlayer");
- result = 2;
- if ( pPlayer[2].m_pSocket == (Socket *)308 )
- {
- uTime = (int (**)(...))TimeManager::CurrentTime((int)g_pTimeManager);
- if ( pPlayer[2]._vptr_Player + 125 > uTime )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE708;
- memset(Msg.ServerIP, 0, sizeof(Msg.ServerIP));
- v9 = pPlayer->_vptr_Player;
- Msg.ServerPort = 0;
- Msg.ZoneID = 0;
- Msg.Result = 4;
- ((void (__cdecl *)(Player *, Packets::LCRetCharLogin *))v9[3])(pPlayer, &Msg);
- v10 = Packets::CLAskCharLogin::GetCharGuid((int)pPacket);
- v11 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "CLAskCharLoginHandler::Execute()....Fails!,code = ASKCHARLOGIN_OP_TIMES,acc=%s,guid=%X", v11, v10);
- goto LABEL_12;
- }
- v5 = Packets::CLAskCharLogin::GetCharGuid((int)pPacket);
- if ( !LoginPlayer::IsGUIDOwner((LoginPlayer *const )pPlayer, v5) )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE708;
- memset(Msg.ServerIP, 0, sizeof(Msg.ServerIP));
- v22 = pPlayer->_vptr_Player;
- Msg.ServerPort = 0;
- Msg.ZoneID = 0;
- Msg.Result = 5;
- ((void (__cdecl *)(Player *, Packets::LCRetCharLogin *))v22[3])(pPlayer, &Msg);
- v23 = Packets::CLAskCharLogin::GetCharGuid((int)pPacket);
- v24 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "CLAskCharLoginHandler::Execute()....Fails!,code = ASKCHARLOGIN_NOT_OWNER,acc=%s,guid=%X", v24, v23);
- goto LABEL_12;
- }
- if ( !pPlayer[31].m_pSocketInputStream )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE708;
- memset(Msg.ServerIP, 0, sizeof(Msg.ServerIP));
- v6 = pPlayer->_vptr_Player;
- Msg.ServerPort = 0;
- Msg.ZoneID = 0;
- Msg.Result = 14;
- ((void (__cdecl *)(Player *, Packets::LCRetCharLogin *))v6[3])(pPlayer, &Msg);
- v7 = Packets::CLAskCharLogin::GetCharGuid((int)pPacket);
- v8 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(
- 0,
- "CLAskCharLoginHandler::Execute()....Fails!, code = ASKCHARLOGIN_VALIDATE_ERROR,acc=%s,guid=%X",
- v8,
- v7);
- LABEL_12:
- Msg._vptr_Packet = (int (**)(...))off_80CE708;
- Packet::~Packet(&Msg);
- return 2;
- }
- if ( DBChooseSceneTable::isValidSceneID(&g_DBSceneTable, pPacket->SceneID, 0) )
- LoginPlayer::SetChooseSceneID((int)pPlayer, pPacket->SceneID);
- v16 = rand();
- LoginPlayer::SetUserKey((int)pPlayer, v16);
- pPacket->PlayerID = (PlayerID_t)pPlayer[1].m_pSocketInputStream;
- v17 = DBThreadManager::SendPacket(g_pDBThreadManager, &pPacket->0, (PlayerID_t)pPlayer[1].m_pSocketInputStream);
- v32 = v17;
- v18 = v17 == 0;
- result = 3;
- if ( v18 )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE708;
- memset32(Msg.ServerIP, v32, 6u);
- v19 = pPlayer->_vptr_Player;
- Msg.ServerPort = 0;
- Msg.ZoneID = 0;
- Msg.Result = 2;
- ((void (__cdecl *)(Player *, Packets::LCRetCharLogin *))v19[3])(pPlayer, &Msg);
- pPlayer[2]._vptr_Player = uTime;
- v20 = Packets::CLAskCharLogin::GetCharGuid((int)pPacket);
- v21 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(
- 0,
- "CLAskCharLoginHandler::Execute()....Fails!, code = ASKCHARLOGIN_SERVER_BUSY,acc=%s,guid=%X",
- v21,
- v20);
- Msg._vptr_Packet = (int (**)(...))off_80CE708;
- Packet::~Packet(&Msg);
- return 2;
- }
- }
- return result;
- }
- // 80CE708: using guessed type _DWORD (__cdecl *off_80CE708[2])(Packets::LCRetCharLogin *this);
- //----- (08093CC8) --------------------------------------------------------
- void __cdecl _tcf_0_143(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08093CD8) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskCharLoginHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_143, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08093D04) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCreateCharHandler::Execute(Packets::CLAskCreateChar *pPacket, Player *pPlayer)
- {
- int v2; // ebx
- BOOL v3; // eax
- UINT v4; // edx
- char *s2; // ST4C_4
- const char *v6; // eax
- const CHAR *v7; // eax
- int v8; // ST20_4
- const CHAR *v9; // eax
- int (**v11)(...); // ebx
- const CHAR *v12; // eax
- const CHAR *v13; // eax
- const CHAR *v14; // eax
- const CHAR *v15; // eax
- const CHAR *v16; // eax
- const CHAR *v17; // eax
- const CHAR *v18; // eax
- const CHAR *v19; // eax
- const CHAR *v20; // eax
- const CHAR *v21; // eax
- const CHAR *v22; // eax
- const CHAR *v23; // eax
- CHAR *v24; // ST2C_4
- const CHAR *v25; // eax
- const CHAR *v26; // eax
- CHAR *v27; // ST2C_4
- const CHAR *v28; // eax
- const CHAR *v29; // eax
- const CHAR *v30; // eax
- const CHAR *v31; // eax
- FULLUSERDATA_0 *v32; // edx
- int j; // eax
- FULLUSERDATA_0 *k; // eax
- const CHAR *v35; // eax
- const CHAR *v36; // eax
- FULLUSERDATA_0 *v37; // edx
- int jj; // eax
- FULLUSERDATA_0 *l; // eax
- FULLUSERDATA_0 *m; // eax
- FULLUSERDATA_0 *n; // eax
- FULLUSERDATA_0 *ii; // eax
- FULLUSERDATA_0 *kk; // eax
- const CHAR *v44; // eax
- const CHAR *v45; // eax
- FULLUSERDATA_0 *v46; // edx
- int i2; // eax
- FULLUSERDATA_0 *ll; // eax
- FULLUSERDATA_0 *i3; // eax
- const CHAR *v50; // eax
- const CHAR *v51; // eax
- int v52; // eax
- const CHAR *v53; // eax
- FULLUSERDATA_0 *v54; // edx
- int i8; // eax
- FULLUSERDATA_0 *mm; // eax
- FULLUSERDATA_0 *i4; // eax
- FULLUSERDATA_0 *nn; // eax
- FULLUSERDATA_0 *i5; // eax
- FULLUSERDATA_0 *i1; // eax
- FULLUSERDATA_0 *i6; // eax
- FULLUSERDATA_0 *i9; // eax
- FULLUSERDATA_0 *i7; // eax
- FULLUSERDATA_0 *i10; // eax
- FULLUSERDATA_0 *i11; // eax
- FULLUSERDATA_0 *i12; // eax
- FULLUSERDATA_0 *i13; // eax
- signed int i; // [esp+Ch] [ebp-C7DCh]
- ODBCInterface *pInterface; // [esp+10h] [ebp-C7D8h]
- UINT CharNumber; // [esp+14h] [ebp-C7D4h]
- Packets::LCRetCharList *pRetListMsg; // [esp+18h] [ebp-C7D0h]
- Packets::LCRetCreateChar *pMsg; // [esp+20h] [ebp-C7C8h]
- int PlayerCharGUID; // [esp+24h] [ebp-C7C4h]
- PlayerID_t PlayerID; // [esp+2Ah] [ebp-C7BEh]
- ASKCREATECHAR_RESULT Result; // [esp+2Ch] [ebp-C7BCh]
- DBCharList CharListObject; // [esp+30h] [ebp-C7B8h]
- DBCharFullData CharFullDataObject; // [esp+A0h] [ebp-C748h]
- FULLUSERDATA_0 UserData; // [esp+D0h] [ebp-C718h]
- DBCharCreate CreateCharOp; // [esp+C6F0h] [ebp-F8h]
- Packets::LCRetCreateChar Msg; // [esp+C780h] [ebp-68h]
- v2 = ThreadValueManager::GetCurrentThreadID();
- if ( g_pProcessPlayerManager->m_ThreadID == v2 )
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskCreateCharHander.cpp",
- 0x1Fu,
- "static UINT Packets::CLAskCreateCharHandler::Execute(Packets::CLAskCreateChar*, Player*)",
- "pLoginPlayer");
- v4 = 2;
- if ( pPlayer[2].m_pSocket == (Socket *)308 )
- {
- if ( pPacket->m_Name[0] && StrSafeCheck(pPacket->m_Name, 0x1Eu) )
- {
- v11 = (int (**)(...))TimeManager::CurrentTime((int)g_pTimeManager);
- if ( pPlayer[2]._vptr_Player + 125 > v11 )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE9C8;
- Msg.guid = -1;
- v19 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- Packets::LCRetCreateChar::SetAccount(&Msg, v19);
- Packets::LCRetCreateChar::SetResult((int)&Msg, 2);
- (*((void (__cdecl **)(Player *, Packets::LCRetCreateChar *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- v20 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "CLAskCreateCharHandler....Fails!, code = ASKCREATECHAR_OP_TIMES,acc = %s", v20);
- }
- else if ( pPlayer[30].m_pSocketOutputStream )
- {
- pPacket->PlayerID = (PlayerID_t)pPlayer[1].m_pSocketInputStream;
- v16 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- Packets::CLAskCreateChar::SetAccount(pPacket, v16);
- if ( DBThreadManager::SendPacket(g_pDBThreadManager, &pPacket->0, (PlayerID_t)pPlayer[1].m_pSocketInputStream) )
- {
- pPlayer[2]._vptr_Player = v11;
- return 3;
- }
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE9C8;
- Msg.guid = -1;
- v17 = Packets::CLAskCreateChar::GetAccount(pPacket);
- Packets::LCRetCreateChar::SetAccount(&Msg, v17);
- Packets::LCRetCreateChar::SetResult((int)&Msg, 1);
- (*((void (__cdecl **)(Player *, Packets::LCRetCreateChar *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- v18 = Packets::CLAskCreateChar::GetAccount(pPacket);
- CacheLog(0, "CLAskCreateCharHandler....Fails!, code = ASKCREATECHAR_SERVER_BUSY,acc=%s", v18);
- }
- else
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE9C8;
- Msg.guid = -1;
- v12 = Packets::CLAskCreateChar::GetAccount(pPacket);
- Packets::LCRetCreateChar::SetAccount(&Msg, v12);
- Packets::LCRetCreateChar::SetResult((int)&Msg, 9);
- (*((void (__cdecl **)(Player *, Packets::LCRetCreateChar *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- v13 = Packets::CLAskCreateChar::GetAccount(pPacket);
- CacheLog(0, "ERROR:CLAskCreateCharHandler....Fails!, code = ASKCREATECHAR_CREATECODE_FALSE,acc = %s", v13);
- }
- }
- else
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE9C8;
- Msg.guid = -1;
- v7 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- Packets::LCRetCreateChar::SetAccount(&Msg, v7);
- Packets::LCRetCreateChar::SetResult((int)&Msg, 8);
- (*((void (__fastcall **)(int))pPlayer->_vptr_Player + 3))(v8);
- v9 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "CLAskCreateCharHandler....Fails!, code = ASKCREATECHAR_NAME_ERROR,acc=%s", v9);
- }
- Msg._vptr_Packet = (int (**)(...))off_80CE9C8;
- Packet::~Packet(&Msg);
- return 2;
- }
- }
- else
- {
- v3 = DBThreadManager::IsPoolTID(g_pDBThreadManager, v2);
- v4 = 2;
- if ( v3 )
- {
- PlayerID = pPacket->PlayerID;
- PlayerCharGUID = 1;
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskCreateCharHander.cpp",
- 0x73u,
- "static UINT Packets::CLAskCreateCharHandler::Execute(Packets::CLAskCreateChar*, Player*)",
- "pLoginPlayer");
- Result = 6;
- pMsg = (Packets::LCRetCreateChar *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x1E1u);
- if ( !pMsg )
- __assertex__(
- "./Packets/CLAskCreateCharHander.cpp",
- 0x79u,
- "static UINT Packets::CLAskCreateCharHandler::Execute(Packets::CLAskCreateChar*, Player*)",
- "FALSE",
- &byte_80DE6FA);
- if ( LoginPlayer::GetDBOperating((int)pPlayer) == 1 )
- {
- v14 = Packets::CLAskCreateChar::GetAccount(pPacket);
- Packets::LCRetCreateChar::SetAccount(pMsg, v14);
- Packets::LCRetCreateChar::SetResult((int)pMsg, 1);
- ProcessManager::SendPacket(g_pProcessManager, &pMsg->0, PlayerID, 0);
- v15 = Packets::CLAskCreateChar::GetAccount(pPacket);
- CacheLog(0, aClaskcreatecha_6, v15);
- return 2;
- }
- s2 = (char *)Packets::CLAskCreateChar::GetAccount(pPacket);
- v6 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- if ( strcmp(v6, s2) )
- {
- Packets::CLAskCreateChar::GetAccount(pPacket);
- LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR: CLAskCreateChar DBOperation Errors,acc = %s,Packet acc = %s");
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pMsg->0);
- return 2;
- }
- LoginPlayer::SetDBOperating((int)pPlayer, 1);
- pRetListMsg = (Packets::LCRetCharList *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x26Eu);
- if ( !pRetListMsg )
- __assertex__(
- "./Packets/CLAskCreateCharHander.cpp",
- 0x96u,
- "static UINT Packets::CLAskCreateCharHandler::Execute(Packets::CLAskCreateChar*, Player*)",
- "FALSE",
- &byte_80DDF85);
- CharNumber = LoginPlayer::GetCharNumber((int)pPlayer);
- if ( (signed int)CharNumber <= 2 )
- {
- if ( CharNumber != -1 )
- {
- pInterface = DBThreadManager::GetInterface(g_pDBThreadManager, v2);
- if ( !pInterface )
- {
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pMsg->0);
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pRetListMsg->0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- return 2;
- }
- DBCharCreate::DBCharCreate(&CreateCharOp, pInterface);
- v23 = Packets::CLAskCreateChar::GetAccount(pPacket);
- DBCharCreate::SetAccount(&CreateCharOp, v23);
- DBCharCreate::SetCharName((const CHAR *)&CreateCharOp, pPacket->m_Name);
- DBCharCreate::SetSex((int)&CreateCharOp, pPacket->m_Sex);
- DBCharCreate::SetHairColor((int)&CreateCharOp, pPacket->m_HairColor);
- DBCharCreate::SetHairModel((int)&CreateCharOp, pPacket->m_HairModel);
- DBCharCreate::SetFaceColor((int)&CreateCharOp, pPacket->m_FaceColor);
- DBCharCreate::SetFaceModel((int)&CreateCharOp, pPacket->m_FaceModel);
- DBCharCreate::SetDefEquip((int)&CreateCharOp, pPacket->m_DefEquip);
- DBCharCreate::SetHeadID((int)&CreateCharOp, pPacket->m_HeadID);
- if ( DBCharCreate::AddNew(&CreateCharOp) )
- {
- if ( DBCharCreate::ParseResult(&CreateCharOp, &Result) )
- {
- PlayerCharGUID = DBCharCreate::GetCharGuid((int)&CreateCharOp);
- if ( PlayerCharGUID == -1 )
- __assert__(
- "./Packets/CLAskCreateCharHander.cpp",
- 0xFDu,
- "static UINT Packets::CLAskCreateCharHandler::Execute(Packets::CLAskCreateChar*, Player*)",
- "PlayerCharGUID!=INVALID_ID");
- FULLUSERDATA::FULLUSERDATA(&UserData);
- DBCharFullData::DBCharFullData(&CharFullDataObject, pInterface);
- DBCharFullData::SetCharGuid((int)&CharFullDataObject, PlayerCharGUID);
- if ( !DBCharFullData::Load(&CharFullDataObject) )
- {
- v30 = Packets::CLAskCreateChar::GetAccount(pPacket);
- Packets::LCRetCreateChar::SetAccount(pMsg, v30);
- pMsg->guid = PlayerCharGUID;
- Packets::LCRetCreateChar::SetResult((int)pMsg, 7);
- ProcessManager::SendPacket(g_pProcessManager, &pMsg->0, PlayerID, 0);
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pRetListMsg->0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- v31 = Packets::CLAskCreateChar::GetAccount(pPacket);
- CacheLog(
- 0,
- "CLAskCreateCharHandler::Execute() ...Load()....Fails! Next DBThread Try!,acc = %s,guid=%X",
- v31,
- PlayerCharGUID);
- v32 = (FULLUSERDATA_0 *)((char *)&UserData + 44262);
- while ( &UserData.m_PetList != (_PET_DB_LIST_LOAD *)v32 )
- {
- v32 = (FULLUSERDATA_0 *)((char *)v32 - 399);
- if ( v32 != (FULLUSERDATA_0 *)-211 )
- {
- for ( j = (int)&v32->m_Human.m_Titles.m_szShangDian[31];
- &v32->m_Human.m_Titles.m_szJieBai[3] != (CHAR *)j;
- j -= 12 )
- {
- ;
- }
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33963 )
- {
- for ( k = (FULLUSERDATA_0 *)((char *)&UserData + 35483);
- UserData.m_Impact.m_aImpacts != (_OWN_IMPACT *)k;
- k = (FULLUSERDATA_0 *)((char *)k - 76) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33513 )
- {
- for ( l = (FULLUSERDATA_0 *)((char *)&UserData + 33897);
- &UserData.m_Cooldown != (_COOLDOWN_DB_LOAD_FOR_HUMAN *)l;
- l = (FULLUSERDATA_0 *)((char *)l - 12) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1409 )
- {
- for ( m = (FULLUSERDATA_0 *)((char *)&UserData + 1457);
- &UserData.m_Human.m_PvpInfo.m_oPersonalEnemyList != (PersonalEnemyList_T *)m;
- m = (FULLUSERDATA_0 *)((char *)m - 8) )
- {
- ;
- }
- }
- if ( &UserData.m_Human.m_PvpInfo != (_PVPInfo *)-347 )
- {
- for ( n = (FULLUSERDATA_0 *)((char *)&UserData + 1409);
- &UserData.m_Human.m_PvpInfo.m_oPersonalDuelList != (PersonalDuelList_T *)n;
- n = (FULLUSERDATA_0 *)((char *)n - 8) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1289 )
- {
- for ( ii = (FULLUSERDATA_0 *)((char *)&UserData + 1369);
- &UserData.m_Human.m_PvpInfo.m_oFightBackList != (FightBackList_T *)ii;
- ii = (FULLUSERDATA_0 *)((char *)ii - 8) )
- {
- ;
- }
- }
- return 3;
- }
- DBCharFullData::ParseResult(&CharFullDataObject, &UserData);
- CharConfig::InitCharAttr((FULLUSERDATA *)&UserData);
- if ( !DBCharFullData::Save(&CharFullDataObject, &UserData) )
- {
- v35 = Packets::CLAskCreateChar::GetAccount(pPacket);
- Packets::LCRetCreateChar::SetAccount(pMsg, v35);
- Packets::LCRetCreateChar::SetResult((int)pMsg, 6);
- ProcessManager::SendPacket(g_pProcessManager, &pMsg->0, PlayerID, 0);
- v36 = Packets::CLAskCreateChar::GetAccount(pPacket);
- CacheLog(
- 0,
- "CLAskCreateCharHandler::Execute() ...Save()....Fails!,acc = %s,guid = %X",
- v36,
- PlayerCharGUID);
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pRetListMsg->0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- v37 = (FULLUSERDATA_0 *)((char *)&UserData + 44262);
- while ( &UserData.m_PetList != (_PET_DB_LIST_LOAD *)v37 )
- {
- v37 = (FULLUSERDATA_0 *)((char *)v37 - 399);
- if ( v37 != (FULLUSERDATA_0 *)-211 )
- {
- for ( jj = (int)&v37->m_Human.m_Titles.m_szShangDian[31];
- &v37->m_Human.m_Titles.m_szJieBai[3] != (CHAR *)jj;
- jj -= 12 )
- {
- ;
- }
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33963 )
- {
- for ( kk = (FULLUSERDATA_0 *)((char *)&UserData + 35483);
- UserData.m_Impact.m_aImpacts != (_OWN_IMPACT *)kk;
- kk = (FULLUSERDATA_0 *)((char *)kk - 76) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33513 )
- {
- for ( ll = (FULLUSERDATA_0 *)((char *)&UserData + 33897);
- &UserData.m_Cooldown != (_COOLDOWN_DB_LOAD_FOR_HUMAN *)ll;
- ll = (FULLUSERDATA_0 *)((char *)ll - 12) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1409 )
- {
- for ( mm = (FULLUSERDATA_0 *)((char *)&UserData + 1457);
- &UserData.m_Human.m_PvpInfo.m_oPersonalEnemyList != (PersonalEnemyList_T *)mm;
- mm = (FULLUSERDATA_0 *)((char *)mm - 8) )
- {
- ;
- }
- }
- if ( &UserData.m_Human.m_PvpInfo != (_PVPInfo *)-347 )
- {
- for ( nn = (FULLUSERDATA_0 *)((char *)&UserData + 1409);
- &UserData.m_Human.m_PvpInfo.m_oPersonalDuelList != (PersonalDuelList_T *)nn;
- nn = (FULLUSERDATA_0 *)((char *)nn - 8) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1289 )
- {
- for ( i1 = (FULLUSERDATA_0 *)((char *)&UserData + 1369);
- &UserData.m_Human.m_PvpInfo.m_oFightBackList != (FightBackList_T *)i1;
- i1 = (FULLUSERDATA_0 *)((char *)i1 - 8) )
- {
- ;
- }
- }
- return 3;
- }
- if ( !DBCharFullData::ParseResult(&CharFullDataObject, &UserData) )
- {
- v44 = Packets::CLAskCreateChar::GetAccount(pPacket);
- Packets::LCRetCreateChar::SetAccount(pMsg, v44);
- Packets::LCRetCreateChar::SetResult((int)pMsg, 6);
- ProcessManager::SendPacket(g_pProcessManager, &pMsg->0, PlayerID, 0);
- v45 = Packets::CLAskCreateChar::GetAccount(pPacket);
- CacheLog(
- 0,
- "CLAskCreateCharHandler::Execute() ...ParseResult....Fails!,acc=%s,guid=%X",
- v45,
- PlayerCharGUID);
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pRetListMsg->0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- v46 = (FULLUSERDATA_0 *)((char *)&UserData + 44262);
- while ( &UserData.m_PetList != (_PET_DB_LIST_LOAD *)v46 )
- {
- v46 = (FULLUSERDATA_0 *)((char *)v46 - 399);
- if ( v46 != (FULLUSERDATA_0 *)-211 )
- {
- for ( i2 = (int)&v46->m_Human.m_Titles.m_szShangDian[31];
- &v46->m_Human.m_Titles.m_szJieBai[3] != (CHAR *)i2;
- i2 -= 12 )
- {
- ;
- }
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33963 )
- {
- for ( i3 = (FULLUSERDATA_0 *)((char *)&UserData + 35483);
- UserData.m_Impact.m_aImpacts != (_OWN_IMPACT *)i3;
- i3 = (FULLUSERDATA_0 *)((char *)i3 - 76) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33513 )
- {
- for ( i4 = (FULLUSERDATA_0 *)((char *)&UserData + 33897);
- &UserData.m_Cooldown != (_COOLDOWN_DB_LOAD_FOR_HUMAN *)i4;
- i4 = (FULLUSERDATA_0 *)((char *)i4 - 12) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1409 )
- {
- for ( i5 = (FULLUSERDATA_0 *)((char *)&UserData + 1457);
- &UserData.m_Human.m_PvpInfo.m_oPersonalEnemyList != (PersonalEnemyList_T *)i5;
- i5 = (FULLUSERDATA_0 *)((char *)i5 - 8) )
- {
- ;
- }
- }
- if ( &UserData.m_Human.m_PvpInfo != (_PVPInfo *)-347 )
- {
- for ( i6 = (FULLUSERDATA_0 *)((char *)&UserData + 1409);
- &UserData.m_Human.m_PvpInfo.m_oPersonalDuelList != (PersonalDuelList_T *)i6;
- i6 = (FULLUSERDATA_0 *)((char *)i6 - 8) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1289 )
- {
- for ( i7 = (FULLUSERDATA_0 *)((char *)&UserData + 1369);
- &UserData.m_Human.m_PvpInfo.m_oFightBackList != (FightBackList_T *)i7;
- i7 = (FULLUSERDATA_0 *)((char *)i7 - 8) )
- {
- ;
- }
- }
- return 3;
- }
- DBCharList::DBCharList(&CharListObject, pInterface);
- v50 = Packets::CLAskCreateChar::GetAccount(pPacket);
- DBCharList::SetAccount(&CharListObject, v50);
- if ( DBCharList::Load(&CharListObject) )
- {
- DBCharList::ParseResult(&CharListObject, pRetListMsg->CharList);
- v51 = Packets::CLAskCreateChar::GetAccount(pPacket);
- Packets::LCRetCharList::SetAccount(pRetListMsg, v51);
- Packets::LCRetCharList::SetResult((int)pRetListMsg, 0);
- pRetListMsg->uCharNumber = DBCharList::GetCharNumber((int)&CharListObject);
- if ( DBCharList::GetCharNumber((int)&CharListObject) <= CharNumber )
- {
- Result = 6;
- }
- else
- {
- Result = 0;
- pPlayer[30].m_pSocketOutputStream = 0;
- }
- v52 = DBCharList::GetCharNumber((int)&CharListObject);
- LoginPlayer::SetCharNumber((int)pPlayer, v52);
- for ( i = 0; LoginPlayer::GetCharNumber((int)pPlayer) > i; ++i )
- {
- if ( (unsigned __int8)i > 4u )
- __assert__(
- "../../Common/Packets/LCRetCharList.h",
- 0x3Cu,
- "DB_CHAR_BASE_INFO* Packets::LCRetCharList::GetCharBaseInfo(UCHAR)",
- "CharIndex<DB_CHAR_NUMBER");
- LoginPlayer::SetCharGUID((UINT)pPlayer, pRetListMsg->CharList[(unsigned __int8)i].m_GUID, i);
- }
- }
- else
- {
- v53 = Packets::CLAskCreateChar::GetAccount(pPacket);
- Packets::LCRetCharList::SetAccount(pRetListMsg, v53);
- Packets::LCRetCharList::SetResult((int)pRetListMsg, 1);
- pRetListMsg->uCharNumber = DBCharList::GetCharNumber((int)&CharListObject);
- }
- v54 = (FULLUSERDATA_0 *)((char *)&UserData + 44262);
- while ( &UserData.m_PetList != (_PET_DB_LIST_LOAD *)v54 )
- {
- v54 = (FULLUSERDATA_0 *)((char *)v54 - 399);
- if ( v54 != (FULLUSERDATA_0 *)-211 )
- {
- for ( i8 = (int)&v54->m_Human.m_Titles.m_szShangDian[31];
- &v54->m_Human.m_Titles.m_szJieBai[3] != (CHAR *)i8;
- i8 -= 12 )
- {
- ;
- }
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33963 )
- {
- for ( i9 = (FULLUSERDATA_0 *)((char *)&UserData + 35483);
- UserData.m_Impact.m_aImpacts != (_OWN_IMPACT *)i9;
- i9 = (FULLUSERDATA_0 *)((char *)i9 - 76) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33513 )
- {
- for ( i10 = (FULLUSERDATA_0 *)((char *)&UserData + 33897);
- &UserData.m_Cooldown != (_COOLDOWN_DB_LOAD_FOR_HUMAN *)i10;
- i10 = (FULLUSERDATA_0 *)((char *)i10 - 12) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1409 )
- {
- for ( i11 = (FULLUSERDATA_0 *)((char *)&UserData + 1457);
- &UserData.m_Human.m_PvpInfo.m_oPersonalEnemyList != (PersonalEnemyList_T *)i11;
- i11 = (FULLUSERDATA_0 *)((char *)i11 - 8) )
- {
- ;
- }
- }
- if ( &UserData.m_Human.m_PvpInfo != (_PVPInfo *)-347 )
- {
- for ( i12 = (FULLUSERDATA_0 *)((char *)&UserData + 1409);
- &UserData.m_Human.m_PvpInfo.m_oPersonalDuelList != (PersonalDuelList_T *)i12;
- i12 = (FULLUSERDATA_0 *)((char *)i12 - 8) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1289 )
- {
- for ( i13 = (FULLUSERDATA_0 *)((char *)&UserData + 1369);
- &UserData.m_Human.m_PvpInfo.m_oFightBackList != (FightBackList_T *)i13;
- i13 = (FULLUSERDATA_0 *)((char *)i13 - 8) )
- {
- ;
- }
- }
- goto LABEL_28;
- }
- v27 = ODBCBase::GetErrorMessage((int)&CreateCharOp);
- v28 = Packets::CLAskCreateChar::GetAccount(pPacket);
- CacheLog(0, "CreateCharOp.ParseResult()...acc = %s Get Errors: %s", v28, v27);
- v29 = Packets::CLAskCreateChar::GetAccount(pPacket);
- Packets::LCRetCreateChar::SetAccount(pMsg, v29);
- Packets::LCRetCreateChar::SetResult((int)pMsg, Result);
- }
- else
- {
- v24 = ODBCBase::GetErrorMessage((int)&CreateCharOp);
- v25 = Packets::CLAskCreateChar::GetAccount(pPacket);
- CacheLog(0, "CreateCharOp.AddNew()...acc = %s Get Errors: %s", v25, v24);
- v26 = Packets::CLAskCreateChar::GetAccount(pPacket);
- Packets::LCRetCreateChar::SetAccount(pMsg, v26);
- Packets::LCRetCreateChar::SetResult((int)pMsg, 6);
- }
- ProcessManager::SendPacket(g_pProcessManager, &pMsg->0, PlayerID, 0);
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pRetListMsg->0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- return 3;
- }
- Result = 5;
- }
- else
- {
- Result = 3;
- }
- LABEL_28:
- v21 = Packets::CLAskCreateChar::GetAccount(pPacket);
- Packets::LCRetCreateChar::SetAccount(pMsg, v21);
- Packets::LCRetCreateChar::SetResult((int)pMsg, Result);
- ProcessManager::SendPacket(g_pProcessManager, &pMsg->0, PlayerID, 0);
- ProcessManager::SendPacket(g_pProcessManager, &pRetListMsg->0, PlayerID, 0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- v22 = Packets::CLAskCreateChar::GetAccount(pPacket);
- CacheLog(
- 0,
- "CLAskCreateCharHandler::Execute()....OK! \t\t\t\tAccount = %s CharGuid = %X CharName = %s",
- v22,
- PlayerCharGUID,
- pPacket->m_Name);
- return 3;
- }
- }
- return v4;
- }
- // 80CE9C8: using guessed type _DWORD (__cdecl *off_80CE9C8[2])(Packets::LCRetCreateChar *this);
- //----- (08094D04) --------------------------------------------------------
- void __cdecl _tcf_0_144(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08094D14) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskCreateCharHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_144, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08094D40) --------------------------------------------------------
- void __cdecl FULLUSERDATA::FULLUSERDATA(FULLUSERDATA_0 *const this)
- {
- signed int v1; // edx
- FightBackList_T *v2; // eax
- PersonalDuelList_T *v3; // eax
- signed int v4; // edx
- PersonalEnemyList_T *v5; // eax
- signed int v6; // edx
- signed int v7; // eax
- FightBackList_T *v8; // eax
- signed int v9; // edx
- PersonalDuelList_T *v10; // eax
- signed int v11; // edx
- PersonalEnemyList_T *v12; // eax
- signed int v13; // edx
- signed int v14; // edx
- _PLAYERSHOP_GUID *v15; // esi
- signed int v16; // edx
- _DuelInfo *v17; // eax
- _FATIGUE_INFO *v18; // eax
- _DOUBLE_EXP_0 *v19; // eax
- _BANK_DB_LOAD *v20; // edi
- signed int v21; // ebx
- _BAG_DB_LOAD *v22; // edi
- signed int v23; // ebx
- _EQUIP_DB_LOAD *v24; // ebx
- signed int v25; // edi
- _COOLDOWN_DB_LOAD_FOR_HUMAN *v26; // eax
- signed int v27; // edx
- signed int v28; // edx
- _SETTING_DB_LOAD *v29; // eax
- signed int v30; // edx
- _SETTING_DB_LOAD *v31; // eax
- signed int v32; // edx
- _PET_DB_LOAD *v33; // ebx
- signed int v34; // edx
- int v35; // eax
- int v36; // eax
- signed int v37; // edx
- _PET_TITLE *v38; // eax
- signed int v39; // edx
- _RELATION_DB_LOAD *v40; // ebx
- PrenticeInfo *v41; // eax
- PrenticeInfo1 *v42; // eax
- _COOLDOWN_DB_LOAD_FOR_HUMAN *v43; // eax
- signed int v44; // edx
- _SETTING_DB_LOAD *v45; // eax
- signed int v46; // edx
- CHAR *v47; // edi
- _PLAYERSHOP_GUID *v48; // [esp+Ch] [ebp-7Ch]
- _OWN_IMPACT *v49; // [esp+Ch] [ebp-7Ch]
- _RELATION_DB_LOAD *v50; // [esp+Ch] [ebp-7Ch]
- _EQUIP_DB_LOAD *v51; // [esp+18h] [ebp-70h]
- _BAG_DB_LOAD *v52; // [esp+28h] [ebp-60h]
- _IMPACT_DB_LOAD *v53; // [esp+34h] [ebp-54h]
- char *v54; // [esp+38h] [ebp-50h]
- signed int v55; // [esp+50h] [ebp-38h]
- signed int v56; // [esp+58h] [ebp-30h]
- this->m_Human.m_Position.m_fX = 0.0;
- this->m_Human.m_Position.m_fZ = 0.0;
- this->m_Human.m_BakPosition.m_fX = 0.0;
- this->m_Human.m_BakPosition.m_fZ = 0.0;
- this->m_Human.m_guidCurrentPet.m_uHighSection = 0;
- this->m_Human.m_guidCurrentPet.m_uLowSection = 0;
- v1 = 9;
- memset(&this->m_Human.m_BaseAttrLevel1, 0, sizeof(this->m_Human.m_BaseAttrLevel1));
- v2 = &this->m_Human.m_PvpInfo.m_oFightBackList;
- do
- {
- --v1;
- v2->m_aList[0].m_nUniqueID = -1;
- v2->m_aList[0].m_nTime = 0;
- v2 = (FightBackList_T *)((char *)v2 + 8);
- }
- while ( v1 != -1 );
- v3 = &this->m_Human.m_PvpInfo.m_oPersonalDuelList;
- v4 = 4;
- do
- {
- --v4;
- v3->m_aList[0].m_nUniqueID = -1;
- v3->m_aList[0].m_nTime = 0;
- v3 = (PersonalDuelList_T *)((char *)v3 + 8);
- }
- while ( v4 != -1 );
- v5 = &this->m_Human.m_PvpInfo.m_oPersonalEnemyList;
- v6 = 5;
- do
- {
- --v6;
- v5->m_aList[0].m_nUniqueID = -1;
- v5->m_aList[0].m_nTime = 0;
- v5 = (PersonalEnemyList_T *)((char *)v5 + 8);
- }
- while ( v6 != -1 );
- this->m_Human.m_PvpInfo.m_nCampID = -1;
- this->m_Human.m_PvpInfo.m_nReputationID = -1;
- this->m_Human.m_PvpInfo.m_nPvpMode = 0;
- this->m_Human.m_PvpInfo.m_nPvpModeSwitchDelayTime = 0;
- v7 = 0;
- do
- this->m_Human.m_PvpInfo.m_oReputationList.m_aList[v7++] = 0;
- while ( v7 <= 63 );
- v8 = &this->m_Human.m_PvpInfo.m_oFightBackList;
- v9 = 9;
- do
- {
- v8->m_aList[0].m_nUniqueID = -1;
- v8->m_aList[0].m_nTime = 0;
- v8 = (FightBackList_T *)((char *)v8 + 8);
- --v9;
- }
- while ( v9 >= 0 );
- v10 = &this->m_Human.m_PvpInfo.m_oPersonalDuelList;
- v11 = 4;
- do
- {
- v10->m_aList[0].m_nUniqueID = -1;
- v10->m_aList[0].m_nTime = 0;
- v10 = (PersonalDuelList_T *)((char *)v10 + 8);
- --v11;
- }
- while ( v11 >= 0 );
- v12 = &this->m_Human.m_PvpInfo.m_oPersonalEnemyList;
- v13 = 5;
- do
- {
- v12->m_aList[0].m_nUniqueID = -1;
- v12->m_aList[0].m_nTime = 0;
- v12 = (PersonalEnemyList_T *)((char *)v12 + 8);
- --v13;
- }
- while ( v13 >= 0 );
- v48 = this->m_Human.m_ShopGuid;
- v14 = 1;
- do
- {
- memset(v48, 0, sizeof(_PLAYERSHOP_GUID));
- --v14;
- v48->m_PoolPos = -1;
- v48->m_Server = -1;
- v48->m_World = -1;
- v48->m_Scene = -1;
- ++v48;
- }
- while ( v14 != -1 );
- v15 = this->m_Human.m_FavoriteList;
- v16 = 9;
- do
- {
- --v16;
- memset(v15, 0, sizeof(_PLAYERSHOP_GUID));
- v15->m_PoolPos = -1;
- v15->m_Server = -1;
- v15->m_World = -1;
- v15->m_Scene = -1;
- ++v15;
- }
- while ( v16 != -1 );
- v17 = &this->m_Human.m_oDuelInfo;
- v17->m_nMaxReqTime = 0;
- v17->m_nProcessStatus = 0;
- v18 = &this->m_Human.m_FatigueInfo;
- this->m_Human.m_oDuelInfo.m_guidDueler = -1;
- v18->m_uTotalOfflineTime = 0;
- v18->m_uCurrentEnterServerTime = 0;
- v18->m_uLastLeaveServerTime = 0;
- v19 = &this->m_Human.m_DoubleExp;
- this->m_Human.m_FatigueInfo.m_uTotalOnlineTime = 0;
- this->m_Human.m_DoubleExp.m_nCount = 0;
- v19->m_bLock = 0;
- v19->m_unMoneyDETime = 0;
- v19->m_unFreeDETime = 0;
- v19->m_nPreFlashTime = 0;
- _HUMAN_DB_LOAD::CleanUp((_HUMAN_DB_LOAD *const )this);
- v20 = &this->m_Bank;
- v21 = 59;
- v54 = (char *)&this->m_Bank;
- while ( v21 != -1 )
- {
- v20->m_pItem[0].m_ItemGUID.m_Serial = 0;
- v20->m_pItem[0].m_ItemGUID.m_Server = 0;
- v20->m_pItem[0].m_ItemGUID.m_World = 0;
- memset(v20, 0, 0xB0u);
- v20 = (_BANK_DB_LOAD *)((char *)v20 + 176);
- --v21;
- }
- _BANK_DB_LOAD::CleanUp(v54);
- v52 = &this->m_Bag;
- v22 = &this->m_Bag;
- v23 = 99;
- do
- {
- v22->m_pItem[0].m_ItemGUID.m_Serial = 0;
- v22->m_pItem[0].m_ItemGUID.m_Server = 0;
- v22->m_pItem[0].m_ItemGUID.m_World = 0;
- --v23;
- memset(v22, 0, 0xB0u);
- v22 = (_BAG_DB_LOAD *)((char *)v22 + 176);
- }
- while ( v23 != -1 );
- _BAG_DB_LOAD::CleanUp(v52);
- v51 = &this->m_Equip;
- v24 = &this->m_Equip;
- v25 = 18;
- do
- {
- v24->m_pItem[0].m_ItemGUID.m_Serial = 0;
- v24->m_pItem[0].m_ItemGUID.m_Server = 0;
- v24->m_pItem[0].m_ItemGUID.m_World = 0;
- --v25;
- memset(v24, 0, 0xB0u);
- v24 = (_EQUIP_DB_LOAD *)((char *)v24 + 176);
- }
- while ( v25 != -1 );
- _EQUIP_DB_LOAD::CleanUp(v51);
- _SKILL_DB_LOAD::CleanUp(&this->m_Skill);
- v26 = &this->m_Cooldown;
- v27 = 31;
- do
- {
- --v27;
- v26->m_aCooldown[0].m_nID = -1;
- v26->m_aCooldown[0].m_nCooldown = 0;
- v26->m_aCooldown[0].m_nCooldownElapsed = 0;
- v26 = (_COOLDOWN_DB_LOAD_FOR_HUMAN *)((char *)v26 + 12);
- }
- while ( v27 != -1 );
- _XINFA_DB_LOAD::CleanUp(&this->m_XinFa);
- v53 = &this->m_Impact;
- v49 = this->m_Impact.m_aImpacts;
- v28 = 19;
- do
- {
- v49->m_Flags.m_aBitFlags[0] = 0;
- v49->m_nSN = -1;
- v49->m_nDataIndex = -1;
- v49->m_nImpactID = -1;
- v49->m_nSkillID = -1;
- v49->m_nCasterObjID = -1;
- v49->m_nCasterUniqueID = -1;
- v49->m_nCasterLogicCount = 0;
- v49->m_nContinuance = 0;
- v49->m_nContinuanceElapsed = 0;
- v49->m_nIntervalElapsed = 0;
- v49->m_nSubLevel = 0;
- memset(v49->m_aParams, 0, sizeof(v49->m_aParams));
- --v28;
- ++v49;
- }
- while ( v28 != -1 );
- _IMPACT_DB_LOAD::CleanUp(v53);
- _ABILITY_DB_LOAD::CleanUp(this->m_Ability.m_aPrescr);
- _MISSION_DB_LOAD::CleanUp((_MISSION_DB_LOAD *const )&this->m_Mission);
- v29 = &this->m_Setting;
- v30 = 127;
- do
- {
- --v30;
- v29->m_aSetting[0].m_SettingType = 0;
- v29->m_aSetting[0].m_SettingData = 0;
- v29 = (_SETTING_DB_LOAD *)((char *)v29 + 5);
- }
- while ( v30 != -1 );
- v31 = &this->m_Setting;
- v32 = 127;
- do
- {
- v31->m_aSetting[0].m_SettingType = 0;
- v31->m_aSetting[0].m_SettingData = 0;
- v31 = (_SETTING_DB_LOAD *)((char *)v31 + 5);
- --v32;
- }
- while ( v32 >= 0 );
- v33 = this->m_PetList.m_aPetDB;
- v56 = 9;
- do
- {
- v34 = 12;
- v33->m_GUID.m_uHighSection = 0;
- v33->m_GUID.m_uLowSection = 0;
- v33->m_SpouseGUID.m_uHighSection = 0;
- v33->m_SpouseGUID.m_uLowSection = 0;
- memset(&v33->m_BaseAttrLevel1, 0, sizeof(v33->m_BaseAttrLevel1));
- v35 = (int)v33->m_SkillList;
- do
- {
- --v34;
- *(_BYTE *)v35 = 0;
- *(_WORD *)(v35 + 1) = -1;
- v35 += 3;
- }
- while ( v34 != -1 );
- v36 = (int)&v33->m_CooldownList;
- v37 = 7;
- do
- {
- --v37;
- *(_WORD *)v36 = -1;
- *(_DWORD *)(v36 + 4) = 0;
- *(_DWORD *)(v36 + 8) = 0;
- v36 += 12;
- }
- while ( v37 != -1 );
- v38 = v33->m_PetTitle;
- v39 = 9;
- do
- {
- --v39;
- v38->m_tTitleID = -1;
- v38->m_uCreateTime = 0;
- ++v38;
- }
- while ( v39 != -1 );
- _PET_DB_LOAD::CleanUp(v33);
- --v56;
- ++v33;
- }
- while ( v56 != -1 );
- v40 = &this->m_Relation;
- v50 = &this->m_Relation;
- v55 = 99;
- do
- {
- memset(v50->m_aRelation[0].m_Member.m_szMemberName, 0, 0x1Cu);
- *(_WORD *)&v50->m_aRelation[0].m_Member.m_szMemberName[28] = 0;
- v50->m_aRelation[0].m_Member.m_MemberGUID = -1;
- memset(v50->m_aRelation[0].m_Member.m_szMemberName, 0, 0x1Cu);
- *(_WORD *)&v50->m_aRelation[0].m_Member.m_szMemberName[28] = 0;
- v50->m_aRelation[0].m_Type = 0;
- v50->m_aRelation[0].m_Group = 0;
- --v55;
- v50->m_aRelation[0].m_Member.m_nLevel = 0;
- v50->m_aRelation[0].m_Member.m_nMenPai = 9;
- v50->m_aRelation[0].m_Member.m_nPortrait = -1;
- v50->m_aRelation[0].m_Member.m_GuildID = -1;
- v50->m_aRelation[0].m_FriendPoint = 0;
- v50 = (_RELATION_DB_LOAD *)((char *)v50 + 58);
- }
- while ( v55 != -1 );
- v41 = &this->m_Relation.m_PrenticeInfo;
- this->m_Relation.m_MarriageInfo.m_SpouseGUID = -1;
- v41->m_uPrenticeCount = 0;
- v41->m_uMoralPoint = 0;
- v42 = &this->m_Relation.m_PrenticeInfo1;
- this->m_Relation.m_PrenticeInfo.m_PrenticeGUID[0] = -1;
- this->m_Relation.m_PrenticeInfo.m_PrenticeGUID[1] = -1;
- this->m_Relation.m_MasterInfo.m_MasterGUID = -1;
- this->m_Relation.m_PrenticeInfo.m_BetrayingTime = 0;
- this->m_Relation.m_PrenticeInfo1.m_BetrayingTime = 0;
- v42->m_uMoralPoint = 0;
- v42->m_uPrenticeCount = 0;
- v42->m_uPrenticeExp = 0;
- v42->m_uMasterExp = 0;
- v42->m_uMasterLevel = 0;
- this->m_Relation.m_PrenticeInfo1.m_PrenticeGUID[0] = -1;
- this->m_Relation.m_PrenticeInfo1.m_PrenticeGUID[1] = -1;
- _RELATION_DB_LOAD::CleanUp(v40);
- memset(&this->m_PrivateInfo, 0, 0x1B0u);
- this->m_PrivateInfo.m_CharGUID = -1;
- this->m_DRideData.m_bDRideMountOwner = 0;
- this->m_DRideData.m_uDRideTargetGUID = -1;
- this->m_macValue.m_uLow = 0;
- this->m_macValue.m_uHigh = 0;
- this->m_AccountSafeSign.m_Sign = 0;
- _HUMAN_DB_LOAD::CleanUp((_HUMAN_DB_LOAD *const )this);
- _EQUIP_DB_LOAD::CleanUp(v51);
- _BAG_DB_LOAD::CleanUp(v52);
- _BANK_DB_LOAD::CleanUp(v54);
- _SKILL_DB_LOAD::CleanUp(&this->m_Skill);
- v43 = &this->m_Cooldown;
- v44 = 31;
- do
- {
- v43->m_aCooldown[0].m_nID = -1;
- v43->m_aCooldown[0].m_nCooldown = 0;
- v43->m_aCooldown[0].m_nCooldownElapsed = 0;
- v43 = (_COOLDOWN_DB_LOAD_FOR_HUMAN *)((char *)v43 + 12);
- --v44;
- }
- while ( v44 >= 0 );
- _XINFA_DB_LOAD::CleanUp(&this->m_XinFa);
- _IMPACT_DB_LOAD::CleanUp(v53);
- _ABILITY_DB_LOAD::CleanUp(this->m_Ability.m_aPrescr);
- _MISSION_DB_LOAD::CleanUp((_MISSION_DB_LOAD *const )&this->m_Mission);
- v45 = &this->m_Setting;
- v46 = 127;
- do
- {
- v45->m_aSetting[0].m_SettingType = 0;
- v45->m_aSetting[0].m_SettingData = 0;
- v45 = (_SETTING_DB_LOAD *)((char *)v45 + 5);
- --v46;
- }
- while ( v46 >= 0 );
- _PET_DB_LIST_LOAD::CleanUp(&this->m_PetList);
- _RELATION_DB_LOAD::CleanUp(v40);
- memset(&this->m_PrivateInfo, 0, 0x1B0u);
- this->m_PrivateInfo.m_CharGUID = -1;
- this->m_bIsPasswdUnlock = 0;
- this->m_DRideData.m_uDRideTargetGUID = -1;
- this->m_DRideData.m_bDRideMountOwner = 0;
- memset(this->m_AccName, 0, 0x30u);
- v47 = &this->m_AccName[48];
- *(_WORD *)v47 = 0;
- v47[2] = 0;
- this->m_macValue.m_uHigh = 0;
- this->m_macValue.m_uLow = 0;
- this->m_uVERecoverTime = 0;
- this->m_nLeftPilferLockTime = 0;
- this->m_bPilferLockTimeStart = 0;
- this->m_uPrevHeartBeatANSITime = 0;
- memset(this->m_LoginHost, 0, 0x18u);
- this->m_LoginHost[24] = 0;
- this->m_AccountSafeSign.m_Sign = 0;
- this->m_IsPilfered = 0;
- }
- //----- (080955B9) --------------------------------------------------------
- void __noreturn sub_80955B9()
- {
- _Unwind_Resume();
- }
- //----- (08095704) --------------------------------------------------------
- UINT __cdecl Packets::CLAskCreateCodeHandler::Execute(Packets::CLAskCreateCode *pPacket, Player *pPlayer)
- {
- const CHAR *v2; // ST28_4
- signed int v4; // eax
- bool v5; // zf
- const CHAR *v6; // ST28_4
- bool v7; // zf
- signed int v8; // ecx
- Player *v9; // esi
- CreateCode *v10; // edi
- int v11; // ecx
- int v12; // ST24_4
- int v13; // ST20_4
- Packets::LCRetCreateCode rmsg; // [esp+10h] [ebp-268h]
- if ( g_pProcessPlayerManager->m_ThreadID == ThreadValueManager::GetCurrentThreadID() )
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskCreateCodeHandler.cpp",
- 0x15u,
- "static UINT Packets::CLAskCreateCodeHandler::Execute(Packets::CLAskCreateCode*, Player*)",
- "pLoginPlayer");
- if ( !pPacket )
- __assert__(
- "./Packets/CLAskCreateCodeHandler.cpp",
- 0x16u,
- "static UINT Packets::CLAskCreateCodeHandler::Execute(Packets::CLAskCreateCode*, Player*)",
- "pPacket");
- v4 = pPacket->m_AskType;
- if ( v4 == 1 )
- {
- if ( pPacket == (Packets::CLAskCreateCode *)-14 )
- __assert__(
- "./Packets/CLAskCreateCodeHandler.cpp",
- 0x25u,
- "static UINT Packets::CLAskCreateCodeHandler::Execute(Packets::CLAskCreateCode*, Player*)",
- "pAnswer");
- v7 = &pPacket->m_Answer == 0;
- if ( pPacket == (Packets::CLAskCreateCode *)-14 )
- goto LABEL_30;
- v8 = 8;
- v9 = pPlayer + 31;
- v10 = &pPacket->m_Answer;
- do
- {
- if ( !v8 )
- break;
- v7 = LOBYTE(v9->_vptr_Player) == LOBYTE(v10->code[0]);
- v9 = (Player *)((char *)v9 + 1);
- v10 = (CreateCode *)((char *)v10 + 1);
- --v8;
- }
- while ( v7 );
- if ( v7 )
- {
- Packet::Packet((int)&rmsg);
- rmsg._vptr_Packet = (int (**)(...))off_80D2128;
- rmsg.m_RetType = 2;
- memset(rmsg.m_imageBuf, 0, 0x240u);
- rmsg.m_RetType = 1;
- (*((void (__fastcall **)(int))pPlayer->_vptr_Player + 3))(v13);
- pPlayer[30].m_pSocketOutputStream = (SocketOutputStream *)1;
- }
- else
- {
- LABEL_30:
- Packet::Packet((int)&rmsg);
- rmsg._vptr_Packet = (int (**)(...))off_80D2128;
- rmsg.m_RetType = 2;
- memset(rmsg.m_imageBuf, 0, 0x240u);
- rmsg.m_RetType = 0;
- (*((void (__fastcall **)(int, int, Player *, Packets::LCRetCreateCode *))pPlayer->_vptr_Player + 3))(
- v11,
- v12,
- pPlayer,
- &rmsg);
- LoginPlayer::SendCreateCode((LoginPlayer *const )pPlayer);
- }
- rmsg._vptr_Packet = (int (**)(...))off_80D2128;
- Packet::~Packet(&rmsg);
- }
- else
- {
- if ( v4 <= 1 )
- v5 = v4 == 0;
- else
- v5 = v4 == 2;
- if ( !v5 )
- __assert__(
- "./Packets/CLAskCreateCodeHandler.cpp",
- 0x3Cu,
- "static UINT Packets::CLAskCreateCodeHandler::Execute(Packets::CLAskCreateCode*, Player*)",
- "FALSE");
- LoginPlayer::SendCreateCode((LoginPlayer *const )pPlayer);
- }
- v6 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "CLAskCreateCodeHandler::Execute(...)...OK!!! acc=%s", v6);
- }
- else
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskCreateCodeHandler.cpp",
- 0x45u,
- "static UINT Packets::CLAskCreateCodeHandler::Execute(Packets::CLAskCreateCode*, Player*)",
- "pLoginPlayer");
- v2 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR::CLAskCreateCodeHandler::Execute()...Fail, Invalid Thread Handler,acc = %s", v2);
- }
- return 2;
- }
- // 80D2128: using guessed type _DWORD (__cdecl *off_80D2128[2])(Packets::LCRetCreateCode *this);
- //----- (08095990) --------------------------------------------------------
- void __cdecl _tcf_0_145(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080959A0) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskCreateCodeHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_145, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080959CC) --------------------------------------------------------
- UINT __cdecl Packets::CLAskDeleteCharHandler::Execute(Packets::CLAskDeleteChar *pPacket, Player *pPlayer)
- {
- int v2; // ebx
- BOOL v3; // eax
- UINT v4; // edx
- char *s2; // ST4C_4
- const char *v6; // eax
- GUID_t v7; // ebx
- const CHAR *v8; // eax
- const CHAR *v10; // eax
- const CHAR *v11; // eax
- const CHAR *v12; // eax
- const CHAR *v13; // ST28_4
- int v14; // ST2C_4
- const CHAR *v15; // eax
- GUID_t v16; // ebx
- const CHAR *v17; // ST2C_4
- ODBCInterface *v18; // eax
- ODBCInterface *v19; // ebx
- const CHAR *v20; // eax
- CHAR *v21; // ST2C_4
- const CHAR *v22; // eax
- const CHAR *v23; // eax
- GUID_t v24; // ebx
- const CHAR *v25; // ST2C_4
- const CHAR *v26; // eax
- const CHAR *v27; // eax
- int v28; // eax
- CHAR *v29; // ST2C_4
- const CHAR *v30; // eax
- const CHAR *v31; // eax
- signed int i_0; // [esp+8h] [ebp-160h]
- INT i; // [esp+10h] [ebp-158h]
- UINT CharNumber; // [esp+14h] [ebp-154h]
- Packets::LCRetCharList *pRetListMsg; // [esp+18h] [ebp-150h]
- Packets::LCRetDeleteChar *pMsg; // [esp+20h] [ebp-148h]
- PlayerID_t PlayerID; // [esp+26h] [ebp-142h]
- int (**uTime)(...); // [esp+28h] [ebp-140h]
- ASKDELETECHAR_RESULT Result; // [esp+2Ch] [ebp-13Ch]
- DBCharList CharListObject; // [esp+30h] [ebp-138h]
- DBDeleteCharOp DeleteCharOp; // [esp+A0h] [ebp-C8h]
- Packets::LCRetDeleteChar Msg; // [esp+100h] [ebp-68h]
- v2 = ThreadValueManager::GetCurrentThreadID();
- if ( g_pProcessPlayerManager->m_ThreadID == v2 )
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskDeleteCharHandler.cpp",
- 0x1Au,
- "static UINT Packets::CLAskDeleteCharHandler::Execute(Packets::CLAskDeleteChar*, Player*)",
- "pLoginPlayer");
- v4 = 2;
- if ( pPlayer[2].m_pSocket == (Socket *)308 )
- {
- v7 = pPacket->m_GUID;
- if ( LoginPlayer::IsGUIDOwner((LoginPlayer *const )pPlayer, pPacket->m_GUID) )
- {
- uTime = (int (**)(...))TimeManager::CurrentTime((int)g_pTimeManager);
- if ( pPlayer[2]._vptr_Player + 125 <= uTime )
- {
- pPacket->PlayerID = (PlayerID_t)pPlayer[1].m_pSocketInputStream;
- v11 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- Packets::CLAskDeleteChar::SetAccount(pPacket, v11);
- if ( DBThreadManager::SendPacket(g_pDBThreadManager, &pPacket->0, (PlayerID_t)pPlayer[1].m_pSocketInputStream) )
- {
- v4 = 3;
- pPlayer[2]._vptr_Player = uTime;
- return v4;
- }
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CEB88;
- Packets::LCRetDeleteChar::SetResult((int)&Msg, 1);
- (*((void (__cdecl **)(Player *, Packets::LCRetDeleteChar *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- }
- else
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CEB88;
- Packets::LCRetDeleteChar::SetResult((int)&Msg, 2);
- (*((void (__cdecl **)(Player *, Packets::LCRetDeleteChar *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- v8 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "CLAskDeleteCharHandler::Execute()....database busy,acc=%s,tryguid=%X", v8, v7);
- }
- }
- else
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CEB88;
- Packets::LCRetDeleteChar::SetResult((int)&Msg, 5);
- (*((void (__cdecl **)(Player *, Packets::LCRetDeleteChar *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- v10 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(
- 0,
- "CLAskDeleteCharHandler::Execute()....Fails!,code = ASKDELETECHAR_NOT_OWNER,acc=%s,tryguid=%X",
- v10,
- v7);
- }
- Msg._vptr_Packet = (int (**)(...))off_80CEB88;
- Packet::~Packet(&Msg);
- v4 = 2;
- }
- }
- else
- {
- v3 = DBThreadManager::IsPoolTID(g_pDBThreadManager, v2);
- v4 = 2;
- if ( v3 )
- {
- PlayerID = pPacket->PlayerID;
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskDeleteCharHandler.cpp",
- 0x52u,
- "static UINT Packets::CLAskDeleteCharHandler::Execute(Packets::CLAskDeleteChar*, Player*)",
- "pLoginPlayer");
- pMsg = (Packets::LCRetDeleteChar *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0xA3u);
- if ( !pMsg )
- __assertex__(
- "./Packets/CLAskDeleteCharHandler.cpp",
- 0x58u,
- "static UINT Packets::CLAskDeleteCharHandler::Execute(Packets::CLAskDeleteChar*, Player*)",
- "FALSE",
- &byte_80DEB58);
- if ( LoginPlayer::GetDBOperating((int)pPlayer) == 1 )
- {
- v12 = Packets::CLAskDeleteChar::GetAccount(pPacket);
- Packets::LCRetDeleteChar::SetAccount(pMsg, v12);
- Packets::LCRetDeleteChar::SetResult((int)pMsg, 1);
- ProcessManager::SendPacket(g_pProcessManager, &pMsg->0, PlayerID, 0);
- v13 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, aClaskdeletecha_3, v13, v14);
- }
- else
- {
- s2 = (char *)Packets::CLAskDeleteChar::GetAccount(pPacket);
- v6 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- if ( strcmp(v6, s2) )
- {
- Packets::CLAskDeleteChar::GetAccount(pPacket);
- LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR: CLAskDeleteChar DBOperation Errors,acc = %s,Packet acc = %s");
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pMsg->0);
- return 2;
- }
- LoginPlayer::SetDBOperating((int)pPlayer, 1);
- pRetListMsg = (Packets::LCRetCharList *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x26Eu);
- if ( !pRetListMsg )
- __assertex__(
- "./Packets/CLAskDeleteCharHandler.cpp",
- 0x74u,
- "static UINT Packets::CLAskDeleteCharHandler::Execute(Packets::CLAskDeleteChar*, Player*)",
- "FALSE",
- &byte_80DDF85);
- CharNumber = LoginPlayer::GetCharNumber((int)pPlayer);
- if ( CharNumber )
- {
- if ( CharNumber == -1 )
- {
- Result = 4;
- }
- else
- {
- v18 = DBThreadManager::GetInterface(g_pDBThreadManager, v2);
- v19 = v18;
- if ( !v18 )
- {
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pMsg->0);
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pRetListMsg->0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- return 2;
- }
- DBDeleteCharOp::DBDeleteCharOp(&DeleteCharOp, v18);
- v20 = Packets::CLAskDeleteChar::GetAccount(pPacket);
- DBDeleteCharOp::SetAccount(&DeleteCharOp, v20);
- DBDeleteCharOp::SetCharGuid((int)&DeleteCharOp, pPacket->m_GUID);
- if ( !DBDeleteCharOp::Delete(&DeleteCharOp) )
- {
- v21 = ODBCBase::GetErrorMessage((int)&DeleteCharOp);
- v22 = Packets::CLAskDeleteChar::GetAccount(pPacket);
- CacheLog(0, "DeleteCharOp.Delete()....acc=%s,Get Errors: %s ", v22, v21);
- ODBCBase::GetErrorCode((int)&DeleteCharOp);
- v23 = Packets::CLAskDeleteChar::GetAccount(pPacket);
- Packets::LCRetDeleteChar::SetAccount(pMsg, v23);
- Packets::LCRetDeleteChar::SetResult((int)pMsg, 6);
- ProcessManager::SendPacket(g_pProcessManager, &pMsg->0, PlayerID, 0);
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pRetListMsg->0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- v24 = pPacket->m_GUID;
- v25 = Packets::CLAskDeleteChar::GetAccount(pPacket);
- CacheLog(
- 0,
- "CLAskDeleteCharHandler::Execute()....Fails! code = ASKDELETECHAR_INTERNAL_ERROR \t\t\t\t guid = %d,acc = %s",
- v24,
- v25);
- return 3;
- }
- DBDeleteCharOp::ParseResult(&DeleteCharOp, &Result);
- DBCharList::DBCharList(&CharListObject, v19);
- v26 = Packets::CLAskDeleteChar::GetAccount(pPacket);
- DBCharList::SetAccount(&CharListObject, v26);
- if ( DBCharList::Load(&CharListObject) )
- {
- DBCharList::ParseResult(&CharListObject, pRetListMsg->CharList);
- v27 = Packets::CLAskDeleteChar::GetAccount(pPacket);
- Packets::LCRetCharList::SetAccount(pRetListMsg, v27);
- Packets::LCRetCharList::SetResult((int)pRetListMsg, 0);
- pRetListMsg->uCharNumber = DBCharList::GetCharNumber((int)&CharListObject);
- if ( DBCharList::GetCharNumber((int)&CharListObject) >= CharNumber )
- {
- if ( DBCharList::GetCharNumber((int)&CharListObject) == CharNumber )
- {
- Result = 6;
- for ( i = 0; LoginPlayer::GetCharNumber((int)pPlayer) > i; ++i )
- {
- if ( (unsigned __int8)i > 4u )
- __assert__(
- "../../Common/Packets/LCRetCharList.h",
- 0x3Cu,
- "DB_CHAR_BASE_INFO* Packets::LCRetCharList::GetCharBaseInfo(UCHAR)",
- "CharIndex<DB_CHAR_NUMBER");
- if ( pRetListMsg->CharList[(unsigned __int8)i].m_GUID == pPacket->m_GUID )
- {
- if ( (unsigned __int8)i > 4u )
- __assert__(
- "../../Common/Packets/LCRetCharList.h",
- 0x3Cu,
- "DB_CHAR_BASE_INFO* Packets::LCRetCharList::GetCharBaseInfo(UCHAR)",
- "CharIndex<DB_CHAR_NUMBER");
- if ( pRetListMsg->CharList[(unsigned __int8)i].m_Level > 0 )
- goto LABEL_37;
- }
- }
- }
- else
- {
- Result = 6;
- }
- }
- else
- {
- LABEL_37:
- Result = 0;
- }
- v28 = DBCharList::GetCharNumber((int)&CharListObject);
- LoginPlayer::SetCharNumber((int)pPlayer, v28);
- for ( i_0 = 0; LoginPlayer::GetCharNumber((int)pPlayer) > i_0; ++i_0 )
- {
- if ( (unsigned __int8)i_0 > 4u )
- __assert__(
- "../../Common/Packets/LCRetCharList.h",
- 0x3Cu,
- "DB_CHAR_BASE_INFO* Packets::LCRetCharList::GetCharBaseInfo(UCHAR)",
- "CharIndex<DB_CHAR_NUMBER");
- LoginPlayer::SetCharGUID((UINT)pPlayer, pRetListMsg->CharList[(unsigned __int8)i_0].m_GUID, i_0);
- }
- }
- else
- {
- v29 = ODBCBase::GetErrorMessage((int)&CharListObject);
- v30 = Packets::CLAskDeleteChar::GetAccount(pPacket);
- CacheLog(0, "CharListObject.Load()....acc=%s,Get Errors: %s ", v30, v29);
- v31 = Packets::CLAskDeleteChar::GetAccount(pPacket);
- Packets::LCRetCharList::SetAccount(pRetListMsg, v31);
- Packets::LCRetCharList::SetResult((int)pRetListMsg, 1);
- pRetListMsg->uCharNumber = DBCharList::GetCharNumber((int)&CharListObject);
- }
- }
- }
- else
- {
- Result = 3;
- }
- v15 = Packets::CLAskDeleteChar::GetAccount(pPacket);
- Packets::LCRetDeleteChar::SetAccount(pMsg, v15);
- Packets::LCRetDeleteChar::SetResult((int)pMsg, Result);
- ProcessManager::SendPacket(g_pProcessManager, &pMsg->0, PlayerID, 0);
- ProcessManager::SendPacket(g_pProcessManager, &pRetListMsg->0, PlayerID, 0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- v16 = pPacket->m_GUID;
- v17 = Packets::CLAskDeleteChar::GetAccount(pPacket);
- CacheLog(0, "CLAskDeleteCharHandler::Execute()....OK!\tguid=%X,acc=%s", v16, v17);
- }
- return 3;
- }
- }
- return v4;
- }
- // 80CEB88: using guessed type _DWORD (__cdecl *off_80CEB88[2])(Packets::LCRetDeleteChar *this);
- //----- (080962A0) --------------------------------------------------------
- void __cdecl _tcf_0_146(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080962B0) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskDeleteCharHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_146, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080962DC) --------------------------------------------------------
- UINT __cdecl Packets::CLAskLoginCodeHandler::Execute(Packets::CLAskLoginCode *pPacket, Player *pPlayer)
- {
- const CHAR *v2; // ST28_4
- signed int v4; // eax
- bool v5; // zf
- const CHAR *v6; // ST28_4
- bool v7; // zf
- signed int v8; // ecx
- SocketOutputStream **v9; // esi
- CreateCode *v10; // edi
- int v11; // ecx
- int v12; // ST24_4
- int v13; // ST20_4
- Packets::LCRetLoginCode rmsg; // [esp+10h] [ebp-268h]
- if ( g_pProcessPlayerManager->m_ThreadID == ThreadValueManager::GetCurrentThreadID() )
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskLoginCodeHandler.cpp",
- 0x15u,
- "static UINT Packets::CLAskLoginCodeHandler::Execute(Packets::CLAskLoginCode*, Player*)",
- "pLoginPlayer");
- if ( !pPacket )
- __assert__(
- "./Packets/CLAskLoginCodeHandler.cpp",
- 0x16u,
- "static UINT Packets::CLAskLoginCodeHandler::Execute(Packets::CLAskLoginCode*, Player*)",
- "pPacket");
- v4 = pPacket->m_AskType;
- if ( v4 == 1 )
- {
- if ( pPacket == (Packets::CLAskLoginCode *)-14 )
- __assert__(
- "./Packets/CLAskLoginCodeHandler.cpp",
- 0x25u,
- "static UINT Packets::CLAskLoginCodeHandler::Execute(Packets::CLAskLoginCode*, Player*)",
- "pAnswer");
- v7 = &pPacket->m_Answer == 0;
- if ( pPacket == (Packets::CLAskLoginCode *)-14 )
- goto LABEL_30;
- v8 = 8;
- v9 = &pPlayer[31].m_pSocketOutputStream;
- v10 = &pPacket->m_Answer;
- do
- {
- if ( !v8 )
- break;
- v7 = *(_BYTE *)v9 == LOBYTE(v10->code[0]);
- v9 = (SocketOutputStream **)((char *)v9 + 1);
- v10 = (CreateCode *)((char *)v10 + 1);
- --v8;
- }
- while ( v7 );
- if ( v7 )
- {
- Packet::Packet((int)&rmsg);
- rmsg._vptr_Packet = (int (**)(...))off_80CEEE8;
- rmsg.m_RetType = 2;
- memset(rmsg.m_imageBuf, 0, 0x240u);
- rmsg.m_RetType = 1;
- (*((void (__fastcall **)(int))pPlayer->_vptr_Player + 3))(v13);
- pPlayer[31].m_pSocketInputStream = (SocketInputStream *)1;
- }
- else
- {
- LABEL_30:
- Packet::Packet((int)&rmsg);
- rmsg._vptr_Packet = (int (**)(...))off_80CEEE8;
- rmsg.m_RetType = 2;
- memset(rmsg.m_imageBuf, 0, 0x240u);
- rmsg.m_RetType = 0;
- (*((void (__fastcall **)(int, int, Player *, Packets::LCRetLoginCode *))pPlayer->_vptr_Player + 3))(
- v11,
- v12,
- pPlayer,
- &rmsg);
- LoginPlayer::SendLoginCode((LoginPlayer *const )pPlayer);
- }
- rmsg._vptr_Packet = (int (**)(...))off_80CEEE8;
- Packet::~Packet(&rmsg);
- }
- else
- {
- if ( v4 <= 1 )
- v5 = v4 == 0;
- else
- v5 = v4 == 2;
- if ( !v5 )
- __assert__(
- "./Packets/CLAskLoginCodeHandler.cpp",
- 0x3Cu,
- "static UINT Packets::CLAskLoginCodeHandler::Execute(Packets::CLAskLoginCode*, Player*)",
- "FALSE");
- LoginPlayer::SendLoginCode((LoginPlayer *const )pPlayer);
- }
- v6 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "CLAskLoginCodeHandler::Execute(...)...OK!!! acc=%s", v6);
- }
- else
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskLoginCodeHandler.cpp",
- 0x45u,
- "static UINT Packets::CLAskLoginCodeHandler::Execute(Packets::CLAskLoginCode*, Player*)",
- "pLoginPlayer");
- v2 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR::CLAskLoginCodeHandler::Execute()...Fail, Invalid Thread Handler,acc = %s", v2);
- }
- return 2;
- }
- // 80CEEE8: using guessed type _DWORD (__cdecl *off_80CEEE8[2])(Packets::LCRetLoginCode *this);
- //----- (08096568) --------------------------------------------------------
- void __cdecl _tcf_0_147(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08096578) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskLoginCodeHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_147, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080965A4) --------------------------------------------------------
- UINT __cdecl Packets::CLAskLoginHandler::Execute(Packets::CLAskLogin *pPacket, Player *pPlayer)
- {
- UINT result; // eax
- const char *v3; // eax
- const CHAR *v4; // eax
- UINT v5; // eax
- const CHAR *v6; // eax
- const CHAR *v7; // eax
- int v8; // eax
- const char *v9; // eax
- CHAR *v10; // eax
- signed int v11; // ST20_4
- signed int v12; // ebx
- CHAR *v13; // eax
- signed int v14; // edi
- const char *v15; // eax
- int v16; // ST1C_4
- const CHAR *v17; // eax
- Socket *v18; // edx
- const CHAR *v19; // eax
- const CHAR *v20; // eax
- Packet *v21; // ebx
- const CHAR *v22; // eax
- const CHAR *v23; // eax
- Packets::LBAskAuth *v24; // ebx
- const CHAR *v25; // eax
- const CHAR *v26; // eax
- Player *v27; // edi
- CHAR *v28; // eax
- int v29; // ebx
- CHAR *v30; // ST20_4
- const CHAR *v31; // eax
- unsigned int v32; // edx
- unsigned int v33; // eax
- Packets::LCRetLogin *v34; // [esp-30h] [ebp-148h]
- char *src; // [esp+4h] [ebp-114h]
- char *v36; // [esp+8h] [ebp-110h]
- char *s; // [esp+Ch] [ebp-10Ch]
- char *dest; // [esp+10h] [ebp-108h]
- unsigned int v39; // [esp+14h] [ebp-104h]
- INT nResult; // [esp+1Ch] [ebp-FCh]
- GL_HWIDSTRUCT hwid; // [esp+20h] [ebp-F8h]
- CHAR szHWIDInfo[36]; // [esp+30h] [ebp-E8h]
- Packets::LCRetLogin Msg; // [esp+60h] [ebp-B8h]
- CHAR Account[51]; // [esp+C0h] [ebp-58h]
- if ( ThreadValueManager::GetCurrentThreadID() != g_pLoginPlayerManager->m_ThreadID )
- __assert__(
- "./Packets/CLAskLoginHandler.cpp",
- 0x13u,
- "static UINT Packets::CLAskLoginHandler::Execute(Packets::CLAskLogin*, Player*)",
- "ThreadValueManager::GetCurrentThreadID()== g_pLoginPlayerManager->m_ThreadID");
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskLoginHandler.cpp",
- 0x17u,
- "static UINT Packets::CLAskLoginHandler::Execute(Packets::CLAskLogin*, Player*)",
- "pLoginPlayer");
- result = 0;
- if ( pPlayer[2].m_pSocket != (Socket *)301 )
- return result;
- if ( !pPacket )
- __assert__(
- "./Packets/CLAskLoginHandler.cpp",
- 0x20u,
- "static UINT Packets::CLAskLoginHandler::Execute(Packets::CLAskLogin*, Player*)",
- "pPacket");
- memset(Account, 0, 0x30u);
- *(_WORD *)&Account[48] = 0;
- Account[50] = 0;
- v3 = Packets::CLAskLogin::GetAccount(pPacket);
- strncpy(Account, v3, 0x32u);
- Account[50] = 0;
- if ( Packets::CLAskLogin::GetVersion((int)pPacket) != 34054 )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Msg.mSafeSign.m_Sign = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- v4 = Packets::CLAskLogin::GetAccount(pPacket);
- Packets::LCRetLogin::SetAccount(&Msg, v4);
- Packets::LCRetLogin::SetResult((int)&Msg, 2);
- (*((void (__cdecl **)(Player *, Packets::LCRetLogin *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- v5 = Packets::CLAskLogin::GetVersion((int)pPacket);
- CacheLog(
- 0,
- "ERROR:CLAskLoginHandler::Execute()....Version is't compatible,CV= %d,TV=%d,Account = %s ",
- v5,
- 34054,
- Account);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- v34 = &Msg;
- LABEL_9:
- Packet::~Packet(v34);
- return 2;
- }
- if ( !Account[0] || !AccNameCheck(Account, 0x33u, g_Config.m_ConfigInfo.m_nLanguage) )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Msg.mSafeSign.m_Sign = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- v6 = Packets::CLAskLogin::GetAccount(pPacket);
- Packets::LCRetLogin::SetAccount(&Msg, v6);
- Packets::LCRetLogin::SetResult((int)&Msg, 1);
- (*((void (__cdecl **)(Player *, Packets::LCRetLogin *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- v7 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR:CLAskLoginHandler::Execute()....Account is empty or invalid ,ver=%d,acc=%s", 34054, v7);
- LABEL_16:
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- goto LABEL_9;
- }
- memset(szHWIDInfo, 0, sizeof(szHWIDInfo));
- Packets::CLAskLogin::GetHWID(&hwid, pPacket);
- snprintf(szHWIDInfo, 0x24u, "%08X-%08X-%08X-%08X", hwid.dw1, hwid.dw2, hwid.dw3, hwid.dw4);
- CacheLog(21, "A new player has login,acc=%s,HardwareId = %s");
- v8 = Packets::CLAskLogin::GetVersion((int)pPacket);
- LoginPlayer::SetVersion((int)pPlayer, v8);
- pPlayer[2].m_pSocket = (Socket *)302;
- v9 = Packets::CLAskLogin::GetAccount(pPacket);
- LoginPlayer::SetAccount((const CHAR *)pPlayer, v9);
- pPlayer[26].m_pSocket = (Socket *)LODWORD(pPacket->m_fLocalVideoMemory);
- v10 = Packets::CLAskLogin::GetCPUInformation(pPacket);
- v12 = v11;
- LoginPlayer::SetCPUInformation((LoginPlayer *const )pPlayer, v10);
- v13 = Packets::CLAskLogin::GetVideoInformation(pPacket);
- LoginPlayer::SetVideoInformation((LoginPlayer *const )pPlayer, v13);
- pPlayer[26]._vptr_Player = (int (**)(...))LODWORD(pPacket->m_fPhyMemory);
- v14 = 0;
- do
- {
- v15 = 0;
- if ( (unsigned int)v14 <= 2 )
- v15 = pPacket->mAllMiBaoValue[v14];
- strncpy((char *)&pPlayer[28].m_pSocketInputStream + 8 * v14 + 1, v15, 2u);
- v16 = SLOWORD(pPlayer[1].m_pSocketInputStream);
- v17 = Packets::CLAskLogin::GetAccount(pPacket);
- CacheLog(
- 0,
- "MIBAO:CLAskLoginHandler Receive Account=%s PlayerID=%d...idx=%d,[%s]=%s",
- v17,
- v16,
- v14 + 1,
- (char *)&pPlayer[28].m_pSocket + 8 * v14 + 2,
- (char *)&pPlayer[28].m_pSocketInputStream + 8 * v14 + 1,
- v12);
- v12 = ++v14;
- }
- while ( v14 <= 2 );
- v18 = pPlayer->m_pSocket;
- nResult = 23;
- if ( !ReLoginManager::IsAccCanReLogin(g_pReLoginManager, Account, v18->m_Host, &nResult) )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Msg.mSafeSign.m_Sign = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- v19 = Packets::CLAskLogin::GetAccount(pPacket);
- Packets::LCRetLogin::SetAccount(&Msg, v19);
- Packets::LCRetLogin::SetResult((int)&Msg, nResult);
- (*((void (__cdecl **)(Player *, Packets::LCRetLogin *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- v20 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR:CLAskLoginHandler::Execute()....Account IsAccCanReLogin Fail, acc=%s", v20);
- if ( nResult == 28 )
- {
- v21 = PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x1B8u);
- v22 = Packets::CLAskLogin::GetAccount(pPacket);
- Packets::LWNotifyUser::SetAccount((Packets::LWNotifyUser *const )v21, v22);
- *(_DWORD *)&v21[5].m_Index = 2;
- v21[5].m_fromWhere = 0;
- ServerManager::SendPacket(*(ServerManager *const *)&g_pServerManager, v21, 0, 0);
- v23 = Packets::CLAskLogin::GetAccount(pPacket);
- CacheLog(0, "CLAskLoginHandler... Acc = %s send kick request to world!", v23);
- }
- goto LABEL_16;
- }
- v24 = (Packets::LBAskAuth *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x17u);
- if ( !v24 )
- __assertex__(
- "./Packets/CLAskLoginHandler.cpp",
- 0x79u,
- "static UINT Packets::CLAskLoginHandler::Execute(Packets::CLAskLogin*, Player*)",
- "FALSE",
- &byte_80DEF48);
- v25 = Packets::CLAskLogin::GetAccount(pPacket);
- Packets::LBAskAuth::SetAccount(v24, v25);
- v26 = Packets::CLAskLogin::GetPassWord(pPacket);
- Packets::LBAskAuth::SetPassWord(v24, v26);
- Packets::LBAskAuth::SetPlayerID((int)v24, (__int16)pPlayer[1].m_pSocketInputStream);
- Packets::LBAskAuth::SetIPAddr(v24, pPlayer->m_pSocket->m_Host);
- dest = (char *)v24->mAllMiBaoValue;
- v39 = 0;
- s = (char *)v24->mAllMiBaoKey;
- v36 = (char *)v24->mAllMiBaoKey;
- v27 = pPlayer;
- src = (char *)&pPlayer[28].m_pSocketInputStream + 1;
- do
- {
- if ( pPlayer[28]._vptr_Player == (int (**)(...))1 )
- {
- v32 = LOBYTE(v27[28].m_pSocket);
- v33 = BYTE1(v27[28].m_pSocket);
- if ( v39 > 2 )
- goto LABEL_28;
- if ( v32 <= 6 && v33 <= 6 )
- snprintf(v36, 3u, "%d%d", v32 + 1, v33 + 1);
- }
- else
- {
- if ( v39 > 2 )
- goto LABEL_28;
- snprintf(s, 3u, "%d%d", 0, 0);
- }
- if ( v39 <= 2 )
- strncpy(dest, src, 2u);
- LABEL_28:
- ++v39;
- v27 = (Player *)((char *)v27 + 8);
- src += 8;
- v36 += 3;
- s += 3;
- dest += 3;
- }
- while ( (signed int)v39 <= 2 );
- v28 = Packets::CLAskLogin::GetMacAddr(pPacket);
- Packets::LBAskAuth::SetMacAddr(v24, v28);
- Packets::LBAskAuth::SetHWIDInfo(v24, szHWIDInfo);
- ServerManager::SendPacket(*(ServerManager *const *)&g_pServerManager, &v24->0, 1, 0);
- v29 = SLOWORD(pPlayer[1].m_pSocketInputStream);
- v30 = Packets::CLAskLogin::GetMacAddr(pPacket);
- v31 = Packets::CLAskLogin::GetAccount(pPacket);
- CacheLog(0, "CLAskLoginHandler::Execute(...) Account:%s PlayerID=%d MAC=%s...OK ", v31, v29, v30);
- return 2;
- }
- // 80CED48: using guessed type _DWORD (__cdecl *off_80CED48[2])(Packets::LCRetLogin *this);
- //----- (08096CE4) --------------------------------------------------------
- void __cdecl _tcf_0_148(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08096CF4) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskLoginHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_148, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08096D20) --------------------------------------------------------
- UINT __cdecl Packets::CLAskRegPassPortHandler::Execute(Packets::CLAskRegPassPort *pPacket, Player *pPlayer)
- {
- int v2; // eax
- UINT v3; // ecx
- const char *v4; // edi
- const char *v5; // eax
- Socket *v6; // ST2C_4
- const CHAR *v7; // eax
- const char *v9; // eax
- const CHAR *v10; // eax
- const CHAR *v11; // eax
- const CHAR *v12; // ST2C_4
- const CHAR *v13; // eax
- const CHAR *v14; // eax
- const CHAR *v15; // eax
- const char *v16; // ebx
- const char *v17; // eax
- const CHAR *v18; // eax
- const CHAR *v19; // eax
- const char *v20; // ebx
- const char *v21; // eax
- const char *v22; // ebx
- const char *v23; // eax
- const CHAR *v24; // eax
- const CHAR *v25; // eax
- const CHAR *v26; // eax
- const CHAR *v27; // eax
- Packets::LBAskRegAuth *v28; // ebx
- __int16 v29; // ax
- const CHAR *v30; // eax
- const CHAR *v31; // eax
- const CHAR *v32; // eax
- int v33; // ST20_4
- CHAR *v34; // ST1C_4
- const CHAR *v35; // eax
- Packets::LCRetLogin Msg; // [esp+10h] [ebp-B8h]
- CHAR Account[51]; // [esp+70h] [ebp-58h]
- v2 = ThreadValueManager::GetCurrentThreadID();
- v3 = 2;
- if ( v2 == g_pLoginPlayerManager->m_ThreadID )
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/CLAskRegPassPortHandler.cpp",
- 0x14u,
- "static UINT Packets::CLAskRegPassPortHandler::Execute(Packets::CLAskRegPassPort*, Player*)",
- "pLoginPlayer");
- v4 = Packets::CLAskRegPassPort::GetAccount(pPacket);
- v5 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- if ( strcmp(v5, v4) )
- {
- v12 = Packets::CLAskRegPassPort::GetAccount(pPacket);
- v13 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR: CLAskRegPassPortHandler Get Guid Errors,acc = %s,Packet acc = %s", v13, v12);
- return 0;
- }
- if ( pPlayer[2].m_pSocket != (Socket *)303 )
- {
- v6 = pPlayer[2].m_pSocket;
- v7 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR: CLAskRegPassPortHandler Get acc Status Errors,acc = %s,status = %u", v7, v6);
- return 2;
- }
- if ( !pPacket )
- __assert__(
- "./Packets/CLAskRegPassPortHandler.cpp",
- 0x27u,
- "static UINT Packets::CLAskRegPassPortHandler::Execute(Packets::CLAskRegPassPort*, Player*)",
- "pPacket");
- memset(Account, 0, 0x30u);
- *(_WORD *)&Account[48] = 0;
- Account[50] = 0;
- v9 = Packets::CLAskRegPassPort::GetAccount(pPacket);
- strncpy(Account, v9, 0x32u);
- Account[50] = 0;
- if ( !Account[0] || !AccNameCheck(Account, 0x33u, g_Config.m_ConfigInfo.m_nLanguage) )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Msg.mSafeSign.m_Sign = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- v10 = Packets::CLAskRegPassPort::GetAccount(pPacket);
- Packets::LCRetLogin::SetAccount(&Msg, v10);
- Packets::LCRetLogin::SetResult((int)&Msg, 12);
- (*((void (__cdecl **)(Player *))pPlayer->_vptr_Player + 3))(pPlayer);
- v11 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR:CLAskRegPassPortHandler::Execute()....Account is empty or acc Invalid,acc=%s", v11);
- LABEL_12:
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Packet::~Packet(&Msg);
- return 2;
- }
- if ( !*Packets::CLAskRegPassPort::GetSuperPw(pPacket)
- || !*Packets::CLAskRegPassPort::GetConfirmSuperPw(pPacket)
- || (v16 = Packets::CLAskRegPassPort::GetConfirmSuperPw(pPacket),
- v17 = Packets::CLAskRegPassPort::GetSuperPw(pPacket),
- strcmp(v17, v16)) )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Msg.mSafeSign.m_Sign = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- v14 = Packets::CLAskRegPassPort::GetAccount(pPacket);
- Packets::LCRetLogin::SetAccount(&Msg, v14);
- Packets::LCRetLogin::SetResult((int)&Msg, 12);
- (*((void (__cdecl **)(Player *))pPlayer->_vptr_Player + 3))(pPlayer);
- v15 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(
- 0,
- "ERROR:CLAskRegPassPortHandler::Execute()....SuperPwd and ConfirmSuperPwd empty or not same,acc=%s",
- v15);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Packet::~Packet(&Msg);
- return 2;
- }
- if ( !*Packets::CLAskRegPassPort::GetPwMd5(pPacket)
- || !*Packets::CLAskRegPassPort::GetConfirmPwMd5(pPacket)
- || (v20 = Packets::CLAskRegPassPort::GetConfirmPwMd5(pPacket),
- v21 = Packets::CLAskRegPassPort::GetPwMd5(pPacket),
- strcmp(v21, v20)) )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Msg.mSafeSign.m_Sign = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- v18 = Packets::CLAskRegPassPort::GetAccount(pPacket);
- Packets::LCRetLogin::SetAccount(&Msg, v18);
- Packets::LCRetLogin::SetResult((int)&Msg, 12);
- (*((void (__cdecl **)(Player *, Packets::LCRetLogin *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- v19 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR:CLAskRegPassPortHandler::Execute()....Pwd and ConfirmPwd empty or not same,acc=%s", v19);
- goto LABEL_12;
- }
- v22 = Packets::CLAskRegPassPort::GetSuperPw(pPacket);
- v23 = Packets::CLAskRegPassPort::GetPwMd5(pPacket);
- if ( !strcmp(v23, v22) )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Msg.mSafeSign.m_Sign = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- v24 = Packets::CLAskRegPassPort::GetAccount(pPacket);
- Packets::LCRetLogin::SetAccount(&Msg, v24);
- Packets::LCRetLogin::SetResult((int)&Msg, 12);
- (*((void (__cdecl **)(Player *, Packets::LCRetLogin *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- v25 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR:CLAskRegPassPortHandler::Execute()....Pwd and SuperPwd is same,acc=%s", v25);
- goto LABEL_12;
- }
- if ( strlen(Packets::CLAskRegPassPort::GetEmail(pPacket)) <= 4 )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CED48;
- Msg.mSafeSign.m_Sign = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- v26 = Packets::CLAskRegPassPort::GetAccount(pPacket);
- Packets::LCRetLogin::SetAccount(&Msg, v26);
- Packets::LCRetLogin::SetResult((int)&Msg, 12);
- (*((void (__cdecl **)(Player *, Packets::LCRetLogin *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- v27 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR:CLAskRegPassPortHandler::Execute()....Email empty or too short,acc=%s", v27);
- goto LABEL_12;
- }
- v28 = (Packets::LBAskRegAuth *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0xC2u);
- if ( !v28 )
- __assertex__(
- "./Packets/CLAskRegPassPortHandler.cpp",
- 0x6Eu,
- "static UINT Packets::CLAskRegPassPortHandler::Execute(Packets::CLAskRegPassPort*, Player*)",
- "FALSE",
- &byte_80DF289);
- v29 = (__int16)pPlayer[1].m_pSocketInputStream;
- pPlayer[2].m_pSocket = (Socket *)304;
- Packets::LBAskRegAuth::SetPlayerID((int)v28, v29);
- Packets::LBAskRegAuth::SetAccount(v28, Account);
- v30 = Packets::CLAskRegPassPort::GetSuperPw(pPacket);
- Packets::LBAskRegAuth::SetSuperPassWord(v28, v30);
- v31 = Packets::CLAskRegPassPort::GetPwMd5(pPacket);
- Packets::LBAskRegAuth::SetPassWord(v28, v31);
- Packets::LBAskRegAuth::SetIP(v28, pPlayer->m_pSocket->m_Host);
- v32 = Packets::CLAskRegPassPort::GetEmail(pPacket);
- Packets::LBAskRegAuth::SetEmail(v28, v32);
- ServerManager::SendPacket(*(ServerManager *const *)&g_pServerManager, &v28->0, 1, 0);
- v33 = SLOWORD(pPlayer[1].m_pSocketInputStream);
- v34 = pPlayer->m_pSocket->m_Host;
- v35 = Packets::CLAskRegPassPort::GetAccount(pPacket);
- CacheLog(0, "CLAskRegPassPortHandler::Execute(...) Account:%s IP:%s PlayerID=%d...OK ", v35, v34, v33);
- v3 = 2;
- }
- return v3;
- }
- // 80CED48: using guessed type _DWORD (__cdecl *off_80CED48[2])(Packets::LCRetLogin *this);
- //----- (080973C4) --------------------------------------------------------
- void __cdecl _tcf_0_149(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080973D4) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLAskRegPassPortHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_149, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08097400) --------------------------------------------------------
- UINT __cdecl Packets::CLConnectHandler::Execute(Packets::CLConnect *pPacket, Player *pPlayer)
- {
- signed int v2; // edx
- Socket *v3; // eax
- CHAR *v4; // eax
- UINT v5; // eax
- const char *v6; // edi
- INT v8; // eax
- _SERVER_DATA *v9; // eax
- CHAR (*v10)[3]; // [esp+Ch] [ebp-8Ch]
- char *dest; // [esp+18h] [ebp-80h]
- signed int v12; // [esp+1Ch] [ebp-7Ch]
- Packets::LCRetConnect Msg; // [esp+20h] [ebp-78h]
- if ( ThreadValueManager::GetCurrentThreadID() != g_pLoginPlayerManager->m_ThreadID )
- return 2;
- if ( !pPlayer )
- __assert__(
- "./Packets/CLConnectHandler.cpp",
- 0x16u,
- "static UINT Packets::CLConnectHandler::Execute(Packets::CLConnect*, Player*)",
- "pLoginPlayer");
- LOBYTE(pPlayer[30].m_pSocketInputStream) = pPacket->mNetProvider;
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE868;
- v10 = Msg.mAllMiBaoKey;
- v2 = 2;
- do
- {
- *(_WORD *)v10 = 0;
- (*v10)[2] = 0;
- ++v10;
- --v2;
- }
- while ( v2 >= 0 );
- v3 = pPlayer->m_pSocket;
- Msg.Result = 0;
- strncpy(Msg.MyWANIP, v3->m_Host, 0x18u);
- Msg.MyWANIP[23] = 0;
- Msg.MyWANPort = pPlayer->m_pSocket->m_Port;
- if ( g_Config.m_LoginInfo.ProxyConnect == 2 )
- {
- v8 = Player_AtLogin::WhereThisPlayerFrom((const Player_AtLogin *const )pPlayer);
- if ( v8 == -1 || v8 == 2 )
- goto LABEL_7;
- CacheLog(
- 0,
- "ERROR:CLConnectHandler::Execute(...)...Only EDU Proxy Permit!!! IP = %s,Port = %u",
- pPlayer->m_pSocket->m_Host,
- pPlayer->m_pSocket->m_Port);
- }
- else
- {
- if ( g_Config.m_LoginInfo.ProxyConnect != 1 )
- {
- LABEL_7:
- v4 = ProxyTool_GetCorrespondingIP(pPlayer, g_Config.m_LoginInfo.m_LoginID);
- strncpy(Msg.LoginIP, v4, 0x18u);
- Msg.LoginIP[23] = 0;
- v5 = ProxyTool_GetCorrespondingPort(pPlayer, g_Config.m_LoginInfo.m_LoginID);
- LABEL_8:
- Msg.LoginPort = v5;
- if ( pPacket->mMiBao )
- {
- pPlayer[28]._vptr_Player = (int (**)(...))1;
- pPlayer[29].m_pSocketOutputStream = (SocketOutputStream *)TimeManager::CurrentTime((int)g_pTimeManager);
- v12 = 0;
- dest = (char *)Msg.mAllMiBaoKey;
- v6 = (char *)&pPlayer[28].m_pSocket + 2;
- do
- {
- if ( (unsigned int)v12 <= 2 )
- strncpy(dest, v6, 2u);
- ++v12;
- v6 += 8;
- dest += 3;
- }
- while ( v12 <= 2 );
- }
- (*((void (__cdecl **)(Player *, Packets::LCRetConnect *))pPlayer->_vptr_Player + 3))(pPlayer, &Msg);
- CacheLog(0, "CLConnectHandler::Execute(...)...OK,IP = %s,Port = %d", Msg.LoginIP, Msg.LoginPort);
- Msg._vptr_Packet = (int (**)(...))off_80CE868;
- Packet::~Packet(&Msg);
- return 2;
- }
- if ( Player_AtLogin::WhereThisPlayerFrom((const Player_AtLogin *const )pPlayer) == -1 )
- {
- v9 = ServerManager::GetCurrentServerInfo(*(ServerManager *const *)&g_pServerManager);
- strncpy(Msg.LoginIP, v9->m_IP0, 0x18u);
- Msg.LoginIP[23] = 0;
- v5 = ServerManager::GetCurrentServerInfo(*(ServerManager *const *)&g_pServerManager)->m_Port0;
- goto LABEL_8;
- }
- CacheLog(
- 0,
- "ERROR:CLConnectHandler::Execute(...)...Proxy Not Permit!!! IP = %s,Port = %u",
- pPlayer->m_pSocket->m_Host,
- pPlayer->m_pSocket->m_Port);
- }
- Msg._vptr_Packet = (int (**)(...))off_80CE868;
- Packet::~Packet(&Msg);
- return 0;
- }
- // 80CE868: using guessed type _DWORD (__cdecl *off_80CE868[2])(Packets::LCRetConnect *this);
- //----- (080976D8) --------------------------------------------------------
- void __cdecl _tcf_0_150(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080976E8) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLConnectHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_150, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08097714) --------------------------------------------------------
- UINT __cdecl Packets::KeyExchangeHandler::Execute(Packets::KeyExchange *pPacket, Player *pPlayer)
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/KeyExchangeHandler.cpp",
- 0xAu,
- "static UINT Packets::KeyExchangeHandler::Execute(Packets::KeyExchange*, Player*)",
- "pPlayer");
- if ( !pPacket )
- __assert__(
- "./Packets/KeyExchangeHandler.cpp",
- 0xBu,
- "static UINT Packets::KeyExchangeHandler::Execute(Packets::KeyExchange*, Player*)",
- "pPacket");
- return 2;
- }
- //----- (080977B4) --------------------------------------------------------
- void __cdecl _tcf_0_151(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080977C4) --------------------------------------------------------
- void `global constructor keyed to'Packets::KeyExchangeHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_151, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080977F0) --------------------------------------------------------
- UINT __cdecl Packets::LBAccCheckHandler::Execute(Packets::LBAccCheck *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (080977FC) --------------------------------------------------------
- void __cdecl _tcf_0_152(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809780C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBAccCheckHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_152, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08097838) --------------------------------------------------------
- UINT __cdecl Packets::LBAskAuthHandler::Execute(Packets::LBAskAuth *pPacket, Player *pPlayer)
- {
- const CHAR *v2; // eax
- Packets::LBAccCheck *v4; // esi
- signed int v5; // ecx
- CHAR (*v6)[3]; // edx
- CHAR *v7; // edi
- const char *v8; // eax
- signed int v9; // eax
- const char *v10; // eax
- signed int v11; // eax
- const char *v12; // eax
- signed int v13; // eax
- unsigned int v14; // esi
- Packets::LBAskAuth *v15; // edi
- const char *v16; // eax
- const char *v17; // edx
- const char *v18; // eax
- const char *v19; // eax
- signed int v20; // eax
- char *v21; // [esp+4h] [ebp-F4h]
- Packets::LBAskAuth *v22; // [esp+8h] [ebp-F0h]
- char *dest; // [esp+Ch] [ebp-ECh]
- Packets::LBAccCheck Msg; // [esp+10h] [ebp-E8h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assertex__(
- "./Packets/LBAskAuthHandler.cpp",
- 0x25u,
- "static UINT Packets::LBAskAuthHandler::Execute(Packets::LBAskAuth*, Player*)",
- "FALSE",
- aLbaskauthhandl_0);
- if ( !pPacket )
- __assert__(
- "./Packets/LBAskAuthHandler.cpp",
- 0xFu,
- "static UINT Packets::LBAskAuthHandler::Execute(Packets::LBAskAuth*, Player*)",
- "pPacket");
- if ( !pPlayer )
- __assert__(
- "./Packets/LBAskAuthHandler.cpp",
- 0x11u,
- "static UINT Packets::LBAskAuthHandler::Execute(Packets::LBAskAuth*, Player*)",
- "pBillPlayer");
- BillPacket::BillPacket(&Msg);
- Msg._vptr_BillPacket = (int (**)(...))off_80CD408;
- memset(Msg.mAccount, 0, 0x30u);
- *(_WORD *)&Msg.mAccount[48] = 0;
- Msg.mAccount[50] = 0;
- memset(Msg.mPwMd5, 0, 0x20u);
- Msg.mPwMd5[32] = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- v4 = &Msg;
- v5 = 2;
- v6 = Msg.mAllMiBaoValue;
- do
- {
- *(_WORD *)&v4->mAllMiBaoKey[0][0] = 0;
- v4->mAllMiBaoKey[0][2] = 0;
- *(_WORD *)v6 = 0;
- v7 = &(*v6)[2];
- v4 = (Packets::LBAccCheck *)((char *)v4 + 3);
- ++v6;
- --v5;
- *v7 = 0;
- }
- while ( v5 >= 0 );
- memset(Msg.mMacAddr, 0, 0x20u);
- Msg.mMacAddr[32] = 0;
- memset(Msg.mHWIDInfo, 0, sizeof(Msg.mHWIDInfo));
- v8 = Packets::LBAskAuth::GetAccount(pPacket);
- strncpy(Msg.mAccount, v8, 0x32u);
- Msg.mAccount[50] = 0;
- Msg.mAccLength = 0;
- v9 = 0;
- do
- {
- if ( Msg.mAccount[v9] )
- ++Msg.mAccLength;
- ++v9;
- }
- while ( v9 <= 49 );
- v10 = Packets::LBAskAuth::GetPassWord(pPacket);
- strncpy(Msg.mPwMd5, v10, 0x20u);
- Msg.mPwLength = 0;
- v11 = 0;
- do
- {
- if ( Msg.mPwMd5[v11] )
- ++Msg.mPwLength;
- ++v11;
- }
- while ( v11 <= 31 );
- Msg.mUserLevel = 1;
- v12 = Packets::LBAskAuth::GetIPAddr(pPacket);
- strncpy(Msg.mIP, v12, 0xFu);
- Msg.mIPLength = 0;
- v13 = 0;
- do
- {
- if ( Msg.mIP[v13] )
- ++Msg.mIPLength;
- ++v13;
- }
- while ( v13 <= 14 );
- Msg.m_Index = Packets::LBAskAuth::GetPlayerID((int)pPacket);
- dest = (char *)Msg.mAllMiBaoValue;
- v14 = 0;
- v22 = pPacket;
- v21 = (char *)Msg.mAllMiBaoKey;
- v15 = pPacket;
- do
- {
- v16 = 0;
- if ( v14 <= 2 )
- v16 = (const char *)v15->mAllMiBaoKey;
- v17 = 0;
- if ( v14 <= 2 )
- {
- strncpy(v21, v16, 2u);
- v17 = (const char *)v22->mAllMiBaoValue;
- }
- if ( v14 <= 2 )
- strncpy(dest, v17, 2u);
- ++v14;
- v15 = (Packets::LBAskAuth *)((char *)v15 + 3);
- v21 += 3;
- v22 = (Packets::LBAskAuth *)((char *)v22 + 3);
- dest += 3;
- }
- while ( (signed int)v14 <= 2 );
- v18 = Packets::LBAskAuth::GetMacAddr(pPacket);
- strncpy(Msg.mMacAddr, v18, 0x20u);
- Msg.mMacAddr[32] = 0;
- v19 = Packets::LBAskAuth::GetHWIDInfo(pPacket);
- strncpy(Msg.mHWIDInfo, v19, 0x23u);
- Msg.mHWIDLength = 0;
- v20 = 0;
- do
- {
- if ( Msg.mHWIDInfo[v20] )
- ++Msg.mHWIDLength;
- ++v20;
- }
- while ( v20 <= 34 );
- (*((void (__cdecl **)(Player *, Packets::LBAccCheck *))pPlayer->_vptr_Player + 29))(pPlayer, &Msg);
- Msg._vptr_BillPacket = (int (**)(...))off_80CD408;
- BillPacket::~BillPacket(&Msg);
- v2 = Packets::LBAskAuth::GetAccount(pPacket);
- CacheLog(0, "LBAskAuthHandler::Execute() Acc=%s....OK", v2);
- return 2;
- }
- // 80CD408: using guessed type _DWORD (__cdecl *off_80CD408[2])(Packets::LBAccCheck *this);
- //----- (08097BB0) --------------------------------------------------------
- void __cdecl _tcf_0_153(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08097BC0) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBAskAuthHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_153, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08097BEC) --------------------------------------------------------
- UINT __cdecl Packets::LBAskRegAuthHandler::Execute(Packets::LBAskRegAuth *pPacket, Player *pPlayer)
- {
- const CHAR *v2; // ST1C_4
- const CHAR *v3; // eax
- const char *v5; // eax
- signed int v6; // eax
- const char *v7; // eax
- signed int v8; // eax
- const char *v9; // eax
- signed int v10; // eax
- const char *v11; // eax
- signed int v12; // eax
- const char *v13; // eax
- signed int v14; // eax
- Packets::LBRegPassPort Msg; // [esp+0h] [ebp-218h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assertex__(
- "./Packets/LBAskRegAuthHandler.cpp",
- 0x1Fu,
- "static UINT Packets::LBAskRegAuthHandler::Execute(Packets::LBAskRegAuth*, Player*)",
- "FALSE",
- aLbaskregauthha_0);
- if ( !pPacket )
- __assert__(
- "./Packets/LBAskRegAuthHandler.cpp",
- 0xFu,
- "static UINT Packets::LBAskRegAuthHandler::Execute(Packets::LBAskRegAuth*, Player*)",
- "pPacket");
- if ( !pPlayer )
- __assert__(
- "./Packets/LBAskRegAuthHandler.cpp",
- 0x11u,
- "static UINT Packets::LBAskRegAuthHandler::Execute(Packets::LBAskRegAuth*, Player*)",
- "pBillPlayer");
- BillPacket::BillPacket(&Msg);
- Msg._vptr_BillPacket = (int (**)(...))off_80CE3E8;
- memset(Msg.mAccount, 0, 0x30u);
- *(_WORD *)&Msg.mAccount[48] = 0;
- Msg.mAccount[50] = 0;
- memset(Msg.mSuperPw, 0, 0x20u);
- Msg.mSuperPw[32] = 0;
- memset(Msg.mPwMd5, 0, 0x20u);
- Msg.mPwMd5[32] = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- memset(Msg.mEmail, 0, 0x100u);
- memset(Msg.mOtherInfo1, 0, 0x20u);
- Msg.mOtherInfo1[32] = 0;
- memset(Msg.mOtherInfo2, 0, 0x20u);
- Msg.mOtherInfo2[32] = 0;
- memset(Msg.mOtherInfo3, 0, 0x20u);
- Msg.mOtherInfo3[32] = 0;
- Msg.mEmailLength = 0;
- Msg.mIPLength = 0;
- Msg.mPwLength = 0;
- Msg.mSuperPwLength = 0;
- Msg.mAccLength = 0;
- Msg.mOtherInfo3Length = 0;
- Msg.mOtherInfo2Length = 0;
- Msg.mOtherInfo1Length = 0;
- v5 = Packets::LBAskRegAuth::GetAccount(pPacket);
- strncpy(Msg.mAccount, v5, 0x32u);
- Msg.mAccount[50] = 0;
- Msg.mAccLength = 0;
- v6 = 0;
- do
- {
- if ( Msg.mAccount[v6] )
- ++Msg.mAccLength;
- ++v6;
- }
- while ( v6 <= 49 );
- v7 = Packets::LBAskRegAuth::GetSuperPassWord(pPacket);
- strncpy(Msg.mSuperPw, v7, 0x20u);
- Msg.mSuperPwLength = 0;
- v8 = 0;
- do
- {
- if ( Msg.mSuperPw[v8] )
- ++Msg.mSuperPwLength;
- ++v8;
- }
- while ( v8 <= 31 );
- v9 = Packets::LBAskRegAuth::GetPassWord(pPacket);
- strncpy(Msg.mPwMd5, v9, 0x20u);
- Msg.mPwLength = 0;
- v10 = 0;
- do
- {
- if ( Msg.mPwMd5[v10] )
- ++Msg.mPwLength;
- ++v10;
- }
- while ( v10 <= 31 );
- Msg.m_Index = Packets::LBAskRegAuth::GetPlayerID((int)pPacket);
- v11 = Packets::LBAskRegAuth::GetIP(pPacket);
- strncpy(Msg.mIP, v11, 0xFu);
- Msg.mIPLength = 0;
- v12 = 0;
- do
- {
- if ( Msg.mIP[v12] )
- ++Msg.mIPLength;
- ++v12;
- }
- while ( v12 <= 14 );
- v13 = Packets::LBAskRegAuth::GetEmail(pPacket);
- strncpy(Msg.mEmail, v13, 0xFFu);
- Msg.mEmailLength = 0;
- v14 = 0;
- do
- {
- if ( Msg.mEmail[v14] )
- ++Msg.mEmailLength;
- ++v14;
- }
- while ( v14 <= 254 );
- (*((void (__cdecl **)(Player *, Packets::LBRegPassPort *))pPlayer->_vptr_Player + 29))(pPlayer, &Msg);
- Msg._vptr_BillPacket = (int (**)(...))off_80CE3E8;
- BillPacket::~BillPacket(&Msg);
- v2 = Packets::LBAskRegAuth::GetIP(pPacket);
- v3 = Packets::LBAskRegAuth::GetAccount(pPacket);
- CacheLog(0, "LBAskRegAuthHandler::Execute() Acc=%s IP=%s....OK", v3, v2, Msg._vptr_BillPacket);
- return 2;
- }
- // 80CE3E8: using guessed type _DWORD (__cdecl *off_80CE3E8[2])(Packets::LBRegPassPort *this);
- //----- (08097F58) --------------------------------------------------------
- void __cdecl _tcf_0_154(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08097F68) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBAskRegAuthHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_154, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08097F94) --------------------------------------------------------
- UINT __cdecl Packets::LBBillingEndHandler::Execute(Packets::LBBillingEnd *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (08097FA0) --------------------------------------------------------
- void __cdecl _tcf_0_155(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08097FB0) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBBillingEndHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_155, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08097FDC) --------------------------------------------------------
- UINT __cdecl Packets::LBBillingKeepHandler::Execute(Packets::LBBillingKeep *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (08097FE8) --------------------------------------------------------
- void __cdecl _tcf_0_156(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08097FF8) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBBillingKeepHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_156, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08098024) --------------------------------------------------------
- UINT __cdecl Packets::LBBillingStartHandler::Execute(Packets::LBBillingStart *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (08098030) --------------------------------------------------------
- void __cdecl _tcf_0_157(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08098040) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBBillingStartHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_157, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809806C) --------------------------------------------------------
- UINT __cdecl Packets::LBConnectHandler::Execute(Packets::LBConnect *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (08098078) --------------------------------------------------------
- void __cdecl _tcf_0_158(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08098088) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBConnectHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_158, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080980B4) --------------------------------------------------------
- UINT __cdecl Packets::LBKeepLiveHandler::Execute(Packets::LBKeepLive *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (080980C0) --------------------------------------------------------
- void __cdecl _tcf_0_159(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080980D0) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBKeepLiveHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_159, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080980FC) --------------------------------------------------------
- UINT __cdecl Packets::LBKickAllHandler::Execute(Packets::LBKickAll *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (08098108) --------------------------------------------------------
- void __cdecl _tcf_0_160(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08098118) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBKickAllHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_160, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08098144) --------------------------------------------------------
- UINT __cdecl Packets::LBRegPassPortHandler::Execute(Packets::LBRegPassPort *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (08098150) --------------------------------------------------------
- void __cdecl _tcf_0_161(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08098160) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBRegPassPortHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_161, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809818C) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCharListHandler::Execute(Packets::LCRetCharList *pPacket, Player *pPlayer)
- {
- const char *v3; // edi
- const char *v4; // eax
- const CHAR *v5; // ST28_4
- const CHAR *v6; // ST24_4
- int v7; // [esp-8h] [ebp-20h]
- int v8; // [esp-4h] [ebp-1Ch]
- if ( ThreadValueManager::GetCurrentThreadID() != g_pProcessPlayerManager->m_ThreadID )
- __assertex__(
- "./Packets/LCRetCharListHandler.cpp",
- 0x1Fu,
- "static UINT Packets::LCRetCharListHandler::Execute(Packets::LCRetCharList*, Player*)",
- "FALSE",
- aLcretcharlisth_1);
- if ( !pPlayer )
- __assert__(
- "./Packets/LCRetCharListHandler.cpp",
- 0xFu,
- "static UINT Packets::LCRetCharListHandler::Execute(Packets::LCRetCharList*, Player*)",
- "FALSE");
- v3 = Packets::LCRetCharList::GetAccount(pPacket);
- v4 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- if ( !strcmp(v4, v3) )
- {
- (*((void (__cdecl **)(Player *, Packets::LCRetCharList *))pPlayer->_vptr_Player + 3))(pPlayer, pPacket);
- CacheLog(0, "LCRetCharListHandler::Execute() ....OK", v7, v8);
- }
- else
- {
- v5 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- v6 = Packets::LCRetCharList::GetAccount(pPacket);
- CacheLog(0, "LCRetCharListHandler::Execute() ....Fails,packacc=%s,acc=%s", v6, v5);
- }
- return 2;
- }
- //----- (080982B4) --------------------------------------------------------
- void __cdecl _tcf_0_162(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080982C4) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetCharListHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_162, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080982F0) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCharLoginHandler::Execute(Packets::LCRetCharLogin *pPacket, Player *pPlayer)
- {
- const CHAR *v2; // eax
- if ( ThreadValueManager::GetCurrentThreadID() != g_pProcessPlayerManager->m_ThreadID )
- __assertex__(
- "./Packets/LCRetCharLoginHandler.cpp",
- 0x18u,
- "static UINT Packets::LCRetCharLoginHandler::Execute(Packets::LCRetCharLogin*, Player*)",
- "FALSE",
- aLcretcharlogin_0);
- if ( !pPlayer )
- __assert__(
- "./Packets/LCRetCharLoginHandler.cpp",
- 0xFu,
- "static UINT Packets::LCRetCharLoginHandler::Execute(Packets::LCRetCharLogin*, Player*)",
- "FALSE");
- (*((void (__cdecl **)(Player *, Packets::LCRetCharLogin *))pPlayer->_vptr_Player + 3))(pPlayer, pPacket);
- v2 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "LCRetCharLoginHandler::Execute() ....OK,acc=%s", v2);
- return 2;
- }
- //----- (080983D0) --------------------------------------------------------
- void __cdecl _tcf_0_163(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080983E0) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetCharLoginHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_163, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809840C) --------------------------------------------------------
- UINT __cdecl Packets::LCRetConnectHandler::Execute(Packets::LCRetConnect *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (08098418) --------------------------------------------------------
- void __cdecl _tcf_0_164(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08098428) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetConnectHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_164, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08098454) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCreateCharHandler::Execute(Packets::LCRetCreateChar *pPacket, Player *pPlayer)
- {
- int v2; // ebx
- const char *v3; // esi
- const char *v4; // eax
- const CHAR *v5; // ST28_4
- const char *v6; // ebx
- const char *v7; // eax
- const CHAR *v8; // ST28_4
- const CHAR *v10; // eax
- const CHAR *v11; // eax
- FULLUSERDATA_0 *v12; // edx
- int i8; // eax
- const CHAR *v14; // eax
- const CHAR *v15; // eax
- int v16; // ecx
- int v17; // ST24_4
- const CHAR *v18; // eax
- FULLUSERDATA_0 *i9; // eax
- FULLUSERDATA_0 *v20; // edx
- int i2; // eax
- FULLUSERDATA_0 *i10; // eax
- FULLUSERDATA_0 *i11; // eax
- FULLUSERDATA_0 *i12; // eax
- FULLUSERDATA_0 *i13; // eax
- FULLUSERDATA_0 *i3; // eax
- FULLUSERDATA_0 *v27; // edx
- int jj; // eax
- FULLUSERDATA_0 *i4; // eax
- FULLUSERDATA_0 *kk; // eax
- const CHAR *v31; // eax
- const CHAR *v32; // eax
- int v33; // eax
- const CHAR *v34; // eax
- const CHAR *v35; // eax
- FULLUSERDATA_0 *v36; // edx
- int j; // eax
- FULLUSERDATA_0 *k; // eax
- FULLUSERDATA_0 *i5; // eax
- FULLUSERDATA_0 *ll; // eax
- FULLUSERDATA_0 *l; // eax
- FULLUSERDATA_0 *i6; // eax
- FULLUSERDATA_0 *mm; // eax
- FULLUSERDATA_0 *m; // eax
- FULLUSERDATA_0 *i7; // eax
- FULLUSERDATA_0 *nn; // eax
- FULLUSERDATA_0 *n; // eax
- FULLUSERDATA_0 *i1; // eax
- FULLUSERDATA_0 *ii; // eax
- signed int i; // [esp+0h] [ebp-C748h]
- Packets::LCRetCharList *pRetListMsg; // [esp+4h] [ebp-C744h]
- Packets::LCRetCreateChar *pMsg; // [esp+8h] [ebp-C740h]
- int Result; // [esp+Ch] [ebp-C73Ch]
- UINT CharNumber; // [esp+10h] [ebp-C738h]
- ODBCInterface *pInterface; // [esp+14h] [ebp-C734h]
- PlayerID_t PlayerID; // [esp+1Ah] [ebp-C72Eh]
- int PlayerCharGUID; // [esp+1Ch] [ebp-C72Ch]
- DBCharList CharListObject; // [esp+20h] [ebp-C728h]
- DBCharFullData CharFullDataObject; // [esp+90h] [ebp-C6B8h]
- FULLUSERDATA_0 UserData; // [esp+C0h] [ebp-C688h]
- Packets::LCRetCreateChar Msg; // [esp+C6E0h] [ebp-68h]
- v2 = ThreadValueManager::GetCurrentThreadID();
- if ( g_pProcessPlayerManager->m_ThreadID == v2 )
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/LCRetCreateCharHandler.cpp",
- 0x1Du,
- "static UINT Packets::LCRetCreateCharHandler::Execute(Packets::LCRetCreateChar*, Player*)",
- "FALSE");
- v6 = Packets::LCRetCreateChar::GetAccount(pPacket);
- v7 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- if ( strcmp(v7, v6) )
- goto LABEL_5;
- if ( Packets::LCRetCreateChar::GetResult((int)pPacket) == 7 )
- {
- if ( pPlayer[2].m_pSocket != (Socket *)308 )
- {
- v8 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "LCRetCreateCharHandler::Execute() ....Fail,acc=%s not in PS_LOGIN_NORMAL", v8);
- return 2;
- }
- if ( DBThreadManager::SendPacket(g_pDBThreadManager, &pPacket->0, (PlayerID_t)pPlayer[1].m_pSocketInputStream) )
- {
- pPlayer[2]._vptr_Player = (int (**)(...))TimeManager::CurrentTime((int)g_pTimeManager);
- return 3;
- }
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE9C8;
- Msg.guid = -1;
- v15 = Packets::LCRetCreateChar::GetAccount(pPacket);
- Packets::LCRetCreateChar::SetAccount(&Msg, v15);
- Packets::LCRetCreateChar::SetResult((int)&Msg, 1);
- (*((void (__fastcall **)(int, int, Player *, Packets::LCRetCreateChar *))pPlayer->_vptr_Player + 3))(
- v16,
- v17,
- pPlayer,
- &Msg);
- v18 = Packets::LCRetCreateChar::GetAccount(pPacket);
- CacheLog(0, "LCRetCreateCharHandler....Fails!, code = ASKCREATECHAR_SERVER_BUSY,acc=%s", v18);
- Msg._vptr_Packet = (int (**)(...))off_80CE9C8;
- Packet::~Packet(&Msg);
- }
- else
- {
- (*((void (__cdecl **)(Player *, Packets::LCRetCreateChar *))pPlayer->_vptr_Player + 3))(pPlayer, pPacket);
- v14 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "LCRetCreateCharHandler::Execute() ....OK,acc=%s", v14);
- }
- return 2;
- }
- if ( !DBThreadManager::IsPoolTID(g_pDBThreadManager, v2) )
- __assertex__(
- "./Packets/LCRetCreateCharHandler.cpp",
- 0xD8u,
- "static UINT Packets::LCRetCreateCharHandler::Execute(Packets::LCRetCreateChar*, Player*)",
- "FALSE",
- aLcretcreatecha_7);
- if ( !pPlayer )
- __assert__(
- "./Packets/LCRetCreateCharHandler.cpp",
- 0x4Fu,
- "static UINT Packets::LCRetCreateCharHandler::Execute(Packets::LCRetCreateChar*, Player*)",
- "pLoginPlayer");
- PlayerID = (PlayerID_t)pPlayer[1].m_pSocketInputStream;
- v3 = Packets::LCRetCreateChar::GetAccount(pPacket);
- v4 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- if ( strcmp(v4, v3) )
- {
- LABEL_5:
- v5 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "LCRetCreateCharHandler::Execute() ....OK,acc=%s,packacc not same", v5);
- return 2;
- }
- if ( Packets::LCRetCreateChar::GetResult((int)pPacket) != 7 )
- return 2;
- LoginPlayer::SetDBOperating((int)pPlayer, 1);
- PlayerCharGUID = pPacket->guid;
- if ( PlayerCharGUID == -1 )
- __assert__(
- "./Packets/LCRetCreateCharHandler.cpp",
- 0x60u,
- "static UINT Packets::LCRetCreateCharHandler::Execute(Packets::LCRetCreateChar*, Player*)",
- "PlayerCharGUID!=INVALID_ID");
- pInterface = DBThreadManager::GetInterface(g_pDBThreadManager, v2);
- if ( pInterface )
- {
- CharNumber = LoginPlayer::GetCharNumber((int)pPlayer);
- Result = 6;
- pMsg = (Packets::LCRetCreateChar *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x1E1u);
- if ( !pMsg )
- __assertex__(
- "./Packets/LCRetCreateCharHandler.cpp",
- 0x6Fu,
- "static UINT Packets::LCRetCreateCharHandler::Execute(Packets::LCRetCreateChar*, Player*)",
- "FALSE",
- &byte_80DE6FA);
- v10 = Packets::LCRetCreateChar::GetAccount(pPacket);
- Packets::LCRetCreateChar::SetAccount(pMsg, v10);
- pRetListMsg = (Packets::LCRetCharList *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x26Eu);
- if ( !pRetListMsg )
- __assertex__(
- "./Packets/LCRetCreateCharHandler.cpp",
- 0x76u,
- "static UINT Packets::LCRetCreateCharHandler::Execute(Packets::LCRetCreateChar*, Player*)",
- "FALSE",
- &byte_80DDF85);
- FULLUSERDATA::FULLUSERDATA(&UserData);
- DBCharFullData::DBCharFullData(&CharFullDataObject, pInterface);
- DBCharFullData::SetCharGuid((int)&CharFullDataObject, PlayerCharGUID);
- if ( DBCharFullData::Load(&CharFullDataObject) )
- {
- DBCharFullData::ParseResult(&CharFullDataObject, &UserData);
- CharConfig::InitCharAttr((FULLUSERDATA *)&UserData);
- if ( DBCharFullData::Save(&CharFullDataObject, &UserData) )
- {
- if ( DBCharFullData::ParseResult(&CharFullDataObject, &UserData) )
- {
- DBCharList::DBCharList(&CharListObject, pInterface);
- v31 = Packets::LCRetCreateChar::GetAccount(pPacket);
- DBCharList::SetAccount(&CharListObject, v31);
- if ( DBCharList::Load(&CharListObject) )
- {
- DBCharList::ParseResult(&CharListObject, pRetListMsg->CharList);
- v32 = Packets::LCRetCreateChar::GetAccount(pPacket);
- Packets::LCRetCharList::SetAccount(pRetListMsg, v32);
- Packets::LCRetCharList::SetResult((int)pRetListMsg, 0);
- pRetListMsg->uCharNumber = DBCharList::GetCharNumber((int)&CharListObject);
- if ( DBCharList::GetCharNumber((int)&CharListObject) > CharNumber )
- {
- Result = 0;
- pPlayer[30].m_pSocketOutputStream = 0;
- }
- v33 = DBCharList::GetCharNumber((int)&CharListObject);
- LoginPlayer::SetCharNumber((int)pPlayer, v33);
- for ( i = 0; LoginPlayer::GetCharNumber((int)pPlayer) > i; ++i )
- {
- if ( (unsigned __int8)i > 4u )
- __assert__(
- "../../Common/Packets/LCRetCharList.h",
- 0x3Cu,
- "DB_CHAR_BASE_INFO* Packets::LCRetCharList::GetCharBaseInfo(UCHAR)",
- "CharIndex<DB_CHAR_NUMBER");
- LoginPlayer::SetCharGUID((UINT)pPlayer, pRetListMsg->CharList[(unsigned __int8)i].m_GUID, i);
- }
- }
- else
- {
- v34 = Packets::LCRetCreateChar::GetAccount(pPacket);
- Packets::LCRetCharList::SetAccount(pRetListMsg, v34);
- Packets::LCRetCharList::SetResult((int)pRetListMsg, 1);
- pRetListMsg->uCharNumber = DBCharList::GetCharNumber((int)&CharListObject);
- }
- Packets::LCRetCreateChar::SetResult((int)pMsg, Result);
- ProcessManager::SendPacket(g_pProcessManager, &pMsg->0, PlayerID, 0);
- ProcessManager::SendPacket(g_pProcessManager, &pRetListMsg->0, PlayerID, 0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- v35 = Packets::LCRetCreateChar::GetAccount(pPacket);
- CacheLog(
- 0,
- "LCRetCreateCharHandler::Execute()....OK! \t\t\t\t\t\t\t\t\tAccount = %s CharGuid = %X CharName = %s",
- v35,
- PlayerCharGUID,
- UserData.m_Human.m_Name);
- v36 = (FULLUSERDATA_0 *)((char *)&UserData + 44262);
- while ( &UserData.m_PetList != (_PET_DB_LIST_LOAD *)v36 )
- {
- v36 = (FULLUSERDATA_0 *)((char *)v36 - 399);
- if ( v36 != (FULLUSERDATA_0 *)-211 )
- {
- for ( j = (int)&v36->m_Human.m_Titles.m_szShangDian[31];
- &v36->m_Human.m_Titles.m_szJieBai[3] != (CHAR *)j;
- j -= 12 )
- {
- ;
- }
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33963 )
- {
- for ( k = (FULLUSERDATA_0 *)((char *)&UserData + 35483);
- UserData.m_Impact.m_aImpacts != (_OWN_IMPACT *)k;
- k = (FULLUSERDATA_0 *)((char *)k - 76) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33513 )
- {
- for ( l = (FULLUSERDATA_0 *)((char *)&UserData + 33897);
- &UserData.m_Cooldown != (_COOLDOWN_DB_LOAD_FOR_HUMAN *)l;
- l = (FULLUSERDATA_0 *)((char *)l - 12) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1409 )
- {
- for ( m = (FULLUSERDATA_0 *)((char *)&UserData + 1457);
- &UserData.m_Human.m_PvpInfo.m_oPersonalEnemyList != (PersonalEnemyList_T *)m;
- m = (FULLUSERDATA_0 *)((char *)m - 8) )
- {
- ;
- }
- }
- if ( &UserData.m_Human.m_PvpInfo != (_PVPInfo *)-347 )
- {
- for ( n = (FULLUSERDATA_0 *)((char *)&UserData + 1409);
- &UserData.m_Human.m_PvpInfo.m_oPersonalDuelList != (PersonalDuelList_T *)n;
- n = (FULLUSERDATA_0 *)((char *)n - 8) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1289 )
- {
- for ( ii = (FULLUSERDATA_0 *)((char *)&UserData + 1369);
- &UserData.m_Human.m_PvpInfo.m_oFightBackList != (FightBackList_T *)ii;
- ii = (FULLUSERDATA_0 *)((char *)ii - 8) )
- {
- ;
- }
- }
- }
- else
- {
- Packets::LCRetCreateChar::SetResult((int)pMsg, 6);
- ProcessManager::SendPacket(g_pProcessManager, &pMsg->0, PlayerID, 0);
- Packets::LCRetCreateChar::GetAccount(pPacket);
- CacheLog(0, "LCRetCreateCharHandler::Execute() ...ParseResult....Fails!,acc=%s,guid=%X");
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pRetListMsg->0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- v27 = (FULLUSERDATA_0 *)((char *)&UserData + 44262);
- while ( &UserData.m_PetList != (_PET_DB_LIST_LOAD *)v27 )
- {
- v27 = (FULLUSERDATA_0 *)((char *)v27 - 399);
- if ( v27 != (FULLUSERDATA_0 *)-211 )
- {
- for ( jj = (int)&v27->m_Human.m_Titles.m_szShangDian[31];
- &v27->m_Human.m_Titles.m_szJieBai[3] != (CHAR *)jj;
- jj -= 12 )
- {
- ;
- }
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33963 )
- {
- for ( kk = (FULLUSERDATA_0 *)((char *)&UserData + 35483);
- UserData.m_Impact.m_aImpacts != (_OWN_IMPACT *)kk;
- kk = (FULLUSERDATA_0 *)((char *)kk - 76) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33513 )
- {
- for ( ll = (FULLUSERDATA_0 *)((char *)&UserData + 33897);
- &UserData.m_Cooldown != (_COOLDOWN_DB_LOAD_FOR_HUMAN *)ll;
- ll = (FULLUSERDATA_0 *)((char *)ll - 12) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1409 )
- {
- for ( mm = (FULLUSERDATA_0 *)((char *)&UserData + 1457);
- &UserData.m_Human.m_PvpInfo.m_oPersonalEnemyList != (PersonalEnemyList_T *)mm;
- mm = (FULLUSERDATA_0 *)((char *)mm - 8) )
- {
- ;
- }
- }
- if ( &UserData.m_Human.m_PvpInfo != (_PVPInfo *)-347 )
- {
- for ( nn = (FULLUSERDATA_0 *)((char *)&UserData + 1409);
- &UserData.m_Human.m_PvpInfo.m_oPersonalDuelList != (PersonalDuelList_T *)nn;
- nn = (FULLUSERDATA_0 *)((char *)nn - 8) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1289 )
- {
- for ( i1 = (FULLUSERDATA_0 *)((char *)&UserData + 1369);
- &UserData.m_Human.m_PvpInfo.m_oFightBackList != (FightBackList_T *)i1;
- i1 = (FULLUSERDATA_0 *)((char *)i1 - 8) )
- {
- ;
- }
- }
- }
- }
- else
- {
- Packets::LCRetCreateChar::SetResult((int)pMsg, 6);
- ProcessManager::SendPacket(g_pProcessManager, &pMsg->0, PlayerID, 0);
- Packets::LCRetCreateChar::GetAccount(pPacket);
- CacheLog(0, "LCRetCreateCharHandler::Execute() ...Save()....Fails!,acc = %s,guid = %X");
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pRetListMsg->0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- v20 = (FULLUSERDATA_0 *)((char *)&UserData + 44262);
- while ( &UserData.m_PetList != (_PET_DB_LIST_LOAD *)v20 )
- {
- v20 = (FULLUSERDATA_0 *)((char *)v20 - 399);
- if ( v20 != (FULLUSERDATA_0 *)-211 )
- {
- for ( i2 = (int)&v20->m_Human.m_Titles.m_szShangDian[31];
- &v20->m_Human.m_Titles.m_szJieBai[3] != (CHAR *)i2;
- i2 -= 12 )
- {
- ;
- }
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33963 )
- {
- for ( i3 = (FULLUSERDATA_0 *)((char *)&UserData + 35483);
- UserData.m_Impact.m_aImpacts != (_OWN_IMPACT *)i3;
- i3 = (FULLUSERDATA_0 *)((char *)i3 - 76) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33513 )
- {
- for ( i4 = (FULLUSERDATA_0 *)((char *)&UserData + 33897);
- &UserData.m_Cooldown != (_COOLDOWN_DB_LOAD_FOR_HUMAN *)i4;
- i4 = (FULLUSERDATA_0 *)((char *)i4 - 12) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1409 )
- {
- for ( i5 = (FULLUSERDATA_0 *)((char *)&UserData + 1457);
- &UserData.m_Human.m_PvpInfo.m_oPersonalEnemyList != (PersonalEnemyList_T *)i5;
- i5 = (FULLUSERDATA_0 *)((char *)i5 - 8) )
- {
- ;
- }
- }
- if ( &UserData.m_Human.m_PvpInfo != (_PVPInfo *)-347 )
- {
- for ( i6 = (FULLUSERDATA_0 *)((char *)&UserData + 1409);
- &UserData.m_Human.m_PvpInfo.m_oPersonalDuelList != (PersonalDuelList_T *)i6;
- i6 = (FULLUSERDATA_0 *)((char *)i6 - 8) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1289 )
- {
- for ( i7 = (FULLUSERDATA_0 *)((char *)&UserData + 1369);
- &UserData.m_Human.m_PvpInfo.m_oFightBackList != (FightBackList_T *)i7;
- i7 = (FULLUSERDATA_0 *)((char *)i7 - 8) )
- {
- ;
- }
- }
- }
- }
- else
- {
- Packets::LCRetCreateChar::SetResult((int)pMsg, 6);
- ProcessManager::SendPacket(g_pProcessManager, &pMsg->0, PlayerID, 0);
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, &pRetListMsg->0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- v11 = Packets::LCRetCreateChar::GetAccount(pPacket);
- CacheLog(0, "LCRetCreateCharHandler::Execute() ...Load()....Fails!,acc = %s,guid=%X", v11, PlayerCharGUID);
- v12 = (FULLUSERDATA_0 *)((char *)&UserData + 44262);
- while ( &UserData.m_PetList != (_PET_DB_LIST_LOAD *)v12 )
- {
- v12 = (FULLUSERDATA_0 *)((char *)v12 - 399);
- if ( v12 != (FULLUSERDATA_0 *)-211 )
- {
- for ( i8 = (int)&v12->m_Human.m_Titles.m_szShangDian[31];
- &v12->m_Human.m_Titles.m_szJieBai[3] != (CHAR *)i8;
- i8 -= 12 )
- {
- ;
- }
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33963 )
- {
- for ( i9 = (FULLUSERDATA_0 *)((char *)&UserData + 35483);
- UserData.m_Impact.m_aImpacts != (_OWN_IMPACT *)i9;
- i9 = (FULLUSERDATA_0 *)((char *)i9 - 76) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-33513 )
- {
- for ( i10 = (FULLUSERDATA_0 *)((char *)&UserData + 33897);
- &UserData.m_Cooldown != (_COOLDOWN_DB_LOAD_FOR_HUMAN *)i10;
- i10 = (FULLUSERDATA_0 *)((char *)i10 - 12) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1409 )
- {
- for ( i11 = (FULLUSERDATA_0 *)((char *)&UserData + 1457);
- &UserData.m_Human.m_PvpInfo.m_oPersonalEnemyList != (PersonalEnemyList_T *)i11;
- i11 = (FULLUSERDATA_0 *)((char *)i11 - 8) )
- {
- ;
- }
- }
- if ( &UserData.m_Human.m_PvpInfo != (_PVPInfo *)-347 )
- {
- for ( i12 = (FULLUSERDATA_0 *)((char *)&UserData + 1409);
- &UserData.m_Human.m_PvpInfo.m_oPersonalDuelList != (PersonalDuelList_T *)i12;
- i12 = (FULLUSERDATA_0 *)((char *)i12 - 8) )
- {
- ;
- }
- }
- if ( &UserData != (FULLUSERDATA_0 *)-1289 )
- {
- for ( i13 = (FULLUSERDATA_0 *)((char *)&UserData + 1369);
- &UserData.m_Human.m_PvpInfo.m_oFightBackList != (FightBackList_T *)i13;
- i13 = (FULLUSERDATA_0 *)((char *)i13 - 8) )
- {
- ;
- }
- }
- }
- return 2;
- }
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- return 2;
- }
- // 80CE9C8: using guessed type _DWORD (__cdecl *off_80CE9C8[2])(Packets::LCRetCreateChar *this);
- //----- (08098FD8) --------------------------------------------------------
- void __cdecl _tcf_0_165(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08098FE8) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetCreateCharHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_165, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08099014) --------------------------------------------------------
- UINT __cdecl Packets::LCRetCreateCodeHandler::Execute(Packets::LCRetCreateCode *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (08099020) --------------------------------------------------------
- void __cdecl _tcf_0_166(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08099030) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetCreateCodeHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_166, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809905C) --------------------------------------------------------
- UINT __cdecl Packets::LCRetDeleteCharHandler::Execute(Packets::LCRetDeleteChar *pPacket, Player *pPlayer)
- {
- const char *v2; // edi
- const char *v3; // eax
- const CHAR *v4; // ST2C_4
- const CHAR *v5; // eax
- const CHAR *v7; // eax
- if ( ThreadValueManager::GetCurrentThreadID() != g_pProcessPlayerManager->m_ThreadID )
- __assertex__(
- "./Packets/LCRetDeleteCharHandler.cpp",
- 0x21u,
- "static UINT Packets::LCRetDeleteCharHandler::Execute(Packets::LCRetDeleteChar*, Player*)",
- "FALSE",
- aLcretdeletecha_1);
- if ( !pPlayer )
- __assert__(
- "./Packets/LCRetDeleteCharHandler.cpp",
- 0x10u,
- "static UINT Packets::LCRetDeleteCharHandler::Execute(Packets::LCRetDeleteChar*, Player*)",
- "FALSE");
- v2 = Packets::LCRetDeleteChar::GetAccount(pPacket);
- v3 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- if ( !strcmp(v3, v2) )
- {
- (*((void (__cdecl **)(Player *, Packets::LCRetDeleteChar *))pPlayer->_vptr_Player + 3))(pPlayer, pPacket);
- v7 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "LCRetDeleteCharHandler::Execute() ....OK acc=%s", v7);
- }
- else
- {
- v4 = Packets::LCRetDeleteChar::GetAccount(pPacket);
- v5 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "LCRetDeleteCharHandler::Execute() ....OK acc=%s,packacc=%s", v5, v4);
- }
- return 2;
- }
- //----- (0809919C) --------------------------------------------------------
- void __cdecl _tcf_0_167(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080991AC) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetDeleteCharHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_167, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080991D8) --------------------------------------------------------
- UINT __cdecl Packets::LCRetLoginCodeHandler::Execute(Packets::LCRetLoginCode *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (080991E4) --------------------------------------------------------
- void __cdecl _tcf_0_168(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080991F4) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetLoginCodeHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_168, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08099220) --------------------------------------------------------
- UINT __cdecl Packets::LCRetLoginHandler::Execute(Packets::LCRetLogin *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (0809922C) --------------------------------------------------------
- void __cdecl _tcf_0_169(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809923C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCRetLoginHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_169, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08099268) --------------------------------------------------------
- UINT __cdecl Packets::LCStatusHandler::Execute(Packets::LCStatus *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (08099274) --------------------------------------------------------
- void __cdecl _tcf_0_170(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08099284) --------------------------------------------------------
- void `global constructor keyed to'Packets::LCStatusHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_170, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080992B0) --------------------------------------------------------
- UINT __cdecl Packets::LWAskCharLoginHandler::Execute(Packets::LWAskCharLogin *pPacket, Player *pPlayer)
- {
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assertex__(
- "./Packets/LWAskCharLoginHandler.cpp",
- 0x1Au,
- "static UINT Packets::LWAskCharLoginHandler::Execute(Packets::LWAskCharLogin*, Player*)",
- "FALSE",
- aLwaskcharlogin_0);
- if ( !pPacket )
- __assert__(
- "./Packets/LWAskCharLoginHandler.cpp",
- 0x10u,
- "static UINT Packets::LWAskCharLoginHandler::Execute(Packets::LWAskCharLogin*, Player*)",
- "pPacket");
- if ( !pPlayer )
- __assert__(
- "./Packets/LWAskCharLoginHandler.cpp",
- 0x14u,
- "static UINT Packets::LWAskCharLoginHandler::Execute(Packets::LWAskCharLogin*, Player*)",
- "pServerPlayer");
- (*((void (__cdecl **)(Player *, Packets::LWAskCharLogin *))pPlayer->_vptr_Player + 3))(pPlayer, pPacket);
- CacheLog(0, "LWAskCharLoginHandler::Execute() ....OK");
- return 2;
- }
- //----- (080993AC) --------------------------------------------------------
- void __cdecl _tcf_0_171(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080993BC) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWAskCharLoginHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_171, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080993E8) --------------------------------------------------------
- #error "80994A4: positive sp value has been found (funcsize=50)"
- //----- (080994F8) --------------------------------------------------------
- void __cdecl _tcf_0_172(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08099508) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWNotifyUserHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_172, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08099534) --------------------------------------------------------
- UINT __cdecl Packets::LWRetBillingEndHandler::Execute(Packets::LWRetBillingEnd *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (08099540) --------------------------------------------------------
- void __cdecl _tcf_0_173(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08099550) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWRetBillingEndHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_173, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809957C) --------------------------------------------------------
- UINT __cdecl Packets::LWRetBillingKeepHandler::Execute(Packets::LWRetBillingKeep *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (08099588) --------------------------------------------------------
- void __cdecl _tcf_0_174(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08099598) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWRetBillingKeepHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_174, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080995C4) --------------------------------------------------------
- UINT __cdecl Packets::LWRetBillingStartHandler::Execute(Packets::LWRetBillingStart *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (080995D0) --------------------------------------------------------
- void __cdecl _tcf_0_175(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080995E0) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWRetBillingStartHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_175, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809960C) --------------------------------------------------------
- UINT __cdecl Packets::SSConnectHandler::Execute(Packets::SSConnect *pPacket, Player *pPlayer)
- {
- CacheLog(0, "SSConnectHandler::Execute(...) ServerID:%d ...OK ", pPacket->m_ServerID);
- return 2;
- }
- //----- (0809967C) --------------------------------------------------------
- void __cdecl _tcf_0_176(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809968C) --------------------------------------------------------
- void `global constructor keyed to'Packets::SSConnectHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_176, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080996B8) --------------------------------------------------------
- UINT __cdecl Packets::SSScenePlayerCountHandler::Execute(Packets::SSScenePlayerCount *pPacket, Player *pPlayer)
- {
- int v2; // edx
- int v3; // ecx
- signed int v5; // edi
- unsigned int i; // ebx
- INT v7; // edi
- INT v8; // ebx
- const CHAR *v9; // [esp-Ch] [ebp-24h]
- INT v10; // [esp-8h] [ebp-20h]
- int v11; // [esp-4h] [ebp-1Ch]
- SceneID_t sceneid; // [esp+Ah] [ebp-Eh]
- v2 = ThreadValueManager::GetCurrentThreadID();
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != v2 )
- {
- if ( g_pProcessPlayerManager->m_ThreadID != v2 )
- __assertex__(
- "./Packets/SSScenePlayerCountHandler.cpp",
- 0x40u,
- "static UINT Packets::SSScenePlayerCountHandler::Execute(Packets::SSScenePlayerCount*, Player*)",
- "FALSE",
- aSssceneplayerc_2);
- if ( !pPacket )
- __assert__(
- "./Packets/SSScenePlayerCountHandler.cpp",
- 0x34u,
- "static UINT Packets::SSScenePlayerCountHandler::Execute(Packets::SSScenePlayerCount*, Player*)",
- "pPacket");
- if ( !pPacket->m_nChangeCount )
- return 2;
- g_WorldPlayerCounter1.m_WorldPlayerCount = pPacket->m_nTotalPlayerCount;
- v11 = v2;
- v10 = g_WorldPlayerCounter1.m_WorldPlayerCount;
- v9 = "SSScenePlayerCountHandler::Execute()....OK,WorldPlayerCount1 = %d";
- goto LABEL_9;
- }
- if ( !pPacket )
- __assert__(
- "./Packets/SSScenePlayerCountHandler.cpp",
- 0x10u,
- "static UINT Packets::SSScenePlayerCountHandler::Execute(Packets::SSScenePlayerCount*, Player*)",
- "pPacket");
- v5 = pPacket->m_nChangeCount;
- if ( !pPacket->m_nChangeCount )
- {
- v7 = pPacket->m_PlayerPoolSize;
- v8 = pPacket->m_ServerID;
- ServerManager::SetServerPlayerPoolSize(*(int *)&g_pServerManager, pPacket->m_ServerID, pPacket->m_PlayerPoolSize);
- v11 = v7;
- v10 = v8;
- v9 = "SSScenePlayerCountHandler ServerID=%d PlayerPoolSize=%d OK ";
- LABEL_9:
- CacheLog(0, v9, v10, v11);
- return 2;
- }
- g_WorldPlayerCounter.m_WorldPlayerCount = pPacket->m_nTotalPlayerCount;
- g_pWorldPlayerQueue->m_SendCount = 0;
- for ( i = 0; (signed int)i < v5; ++i )
- {
- if ( i > 0x3FF )
- __assert__(
- "../../Common/Packets/SSScenePlayerCount.h",
- 0x31u,
- "SceneID_t Packets::SSScenePlayerCount::GetChangeSceneID(INT)",
- "FALSE");
- sceneid = pPacket->m_aChangeSceneID[i];
- if ( i > 0x3FF )
- __assert__(
- "../../Common/Packets/SSScenePlayerCount.h",
- 0x39u,
- "SHORT Packets::SSScenePlayerCount::GetChangeScenePlayerCount(INT)",
- "FALSE");
- v3 = pPacket->m_aChangeScenePlayerCount[i];
- if ( (unsigned __int16)sceneid <= 0x3FFu )
- *(_DWORD *)(*(_DWORD *)&g_pServerManager + 4 * sceneid + 3260) = v3;
- }
- CacheLog(
- 0,
- "SSScenePlayerCountHandler::Execute()....OK,WorldPlayerCount = %d",
- g_WorldPlayerCounter.m_WorldPlayerCount,
- v3);
- ProcessManager::SendPacket(g_pProcessManager, &pPacket->0, -1, 0);
- return 3;
- }
- //----- (080998E0) --------------------------------------------------------
- void __cdecl _tcf_0_177(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080998F0) --------------------------------------------------------
- void `global constructor keyed to'Packets::SSScenePlayerCountHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_177, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809991C) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingEndHandler::Execute(Packets::WLBillingEnd *pPacket, Player *pPlayer)
- {
- Player *v2; // eax
- Player *v3; // edi
- signed int v5; // eax
- Packets::LBBillingEnd Msg; // [esp+10h] [ebp-68h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/WLBillingEndHandler.cpp",
- 0x28u,
- "static UINT Packets::WLBillingEndHandler::Execute(Packets::WLBillingEnd*, Player*)",
- "FALSE");
- if ( !pPacket )
- __assert__(
- "./Packets/WLBillingEndHandler.cpp",
- 0x10u,
- "static UINT Packets::WLBillingEndHandler::Execute(Packets::WLBillingEnd*, Player*)",
- "pPacket");
- v2 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 1);
- v3 = v2;
- if ( !v2 || !(*((int (__cdecl **)(Player *))v2->_vptr_Player + 25))(v2) )
- __assert__(
- "./Packets/WLBillingEndHandler.cpp",
- 0x21u,
- "static UINT Packets::WLBillingEndHandler::Execute(Packets::WLBillingEnd*, Player*)",
- "FALSE");
- BillPacket::BillPacket(&Msg);
- Msg._vptr_BillPacket = (int (**)(...))off_80CDAE8;
- strncpy(Msg.mAccount, pPacket->mAccount, 0x32u);
- Msg.mAccLength = 0;
- v5 = 0;
- do
- {
- if ( Msg.mAccount[v5] )
- ++Msg.mAccLength;
- ++v5;
- }
- while ( v5 <= 49 );
- Msg.mCharLevel = pPacket->mCharLevel;
- Msg.mStartTime = pPacket->mStartTime;
- Msg.mEndTime = pPacket->mEndTime;
- (*((void (__cdecl **)(Player *, Packets::LBBillingEnd *))v3->_vptr_Player + 29))(v3, &Msg);
- CacheLog(
- 0,
- "WLBillingEndHandler::Execute ...OK acc=%s,charlvl=%d,st=%d",
- pPacket->mAccount,
- pPacket->mCharLevel,
- pPacket->mStartTime);
- Msg._vptr_BillPacket = (int (**)(...))off_80CDAE8;
- BillPacket::~BillPacket(&Msg);
- return 2;
- }
- // 80CDAE8: using guessed type _DWORD (__cdecl *off_80CDAE8[2])(Packets::LBBillingEnd *this);
- //----- (08099AC8) --------------------------------------------------------
- void __cdecl _tcf_0_178(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08099AD8) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLBillingEndHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_178, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08099B04) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingKeepHandler::Execute(Packets::WLBillingKeep *pPacket, Player *pPlayer)
- {
- Player *v2; // eax
- Player *v3; // edi
- signed int v5; // eax
- UINT v6; // ST14_4
- Packets::LBBillingKeep Msg; // [esp+10h] [ebp-68h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/WLBillingKeepHandler.cpp",
- 0x2Au,
- "static UINT Packets::WLBillingKeepHandler::Execute(Packets::WLBillingKeep*, Player*)",
- "FALSE");
- if ( !pPacket )
- __assert__(
- "./Packets/WLBillingKeepHandler.cpp",
- 0x11u,
- "static UINT Packets::WLBillingKeepHandler::Execute(Packets::WLBillingKeep*, Player*)",
- "pPacket");
- v2 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 1);
- v3 = v2;
- if ( !v2 || !(*((int (__cdecl **)(Player *))v2->_vptr_Player + 25))(v2) )
- __assert__(
- "./Packets/WLBillingKeepHandler.cpp",
- 0x23u,
- "static UINT Packets::WLBillingKeepHandler::Execute(Packets::WLBillingKeep*, Player*)",
- "FALSE");
- BillPacket::BillPacket(&Msg);
- Msg._vptr_BillPacket = (int (**)(...))off_80CDC68;
- strncpy(Msg.mAccount, pPacket->mAccount, 0x32u);
- Msg.mAccLength = 0;
- v5 = 0;
- do
- {
- if ( Msg.mAccount[v5] )
- ++Msg.mAccLength;
- ++v5;
- }
- while ( v5 <= 49 );
- Msg.mCharLevel = pPacket->mCharLevel;
- Msg.mStartTime = pPacket->mStartTime;
- Msg.mEndTime = pPacket->mEndTime;
- (*((void (__cdecl **)(Player *, Packets::LBBillingKeep *))v3->_vptr_Player + 29))(v3, &Msg);
- v6 = pPacket->mEndTime;
- CacheLog(
- 0,
- "WLBillingKeepHandler::Execute ...OK acc=%s,charlvl=%d,st=%d,et=%d",
- pPacket->mAccount,
- pPacket->mCharLevel,
- pPacket->mStartTime);
- Msg._vptr_BillPacket = (int (**)(...))off_80CDC68;
- BillPacket::~BillPacket(&Msg);
- return 2;
- }
- // 80CDC68: using guessed type _DWORD (__cdecl *off_80CDC68[2])(Packets::LBBillingKeep *this);
- //----- (08099CB4) --------------------------------------------------------
- void __cdecl _tcf_0_179(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08099CC4) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLBillingKeepHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_179, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08099CF0) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingKickHandler::Execute(Packets::WLBillingKick *pPacket, Player *pPlayer)
- {
- Player *v2; // eax
- Player *v3; // esi
- signed int v5; // eax
- Packets::LBKickAll Msg; // [esp+10h] [ebp-A8h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/WLBillingKickHandler.cpp",
- 0x27u,
- "static UINT Packets::WLBillingKickHandler::Execute(Packets::WLBillingKick*, Player*)",
- "FALSE");
- if ( !pPacket )
- __assert__(
- "./Packets/WLBillingKickHandler.cpp",
- 0x10u,
- "static UINT Packets::WLBillingKickHandler::Execute(Packets::WLBillingKick*, Player*)",
- "pPacket");
- v2 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 1);
- v3 = v2;
- if ( !v2 || !(*((int (__cdecl **)(Player *))v2->_vptr_Player + 25))(v2) )
- __assert__(
- "./Packets/WLBillingKickHandler.cpp",
- 0x20u,
- "static UINT Packets::WLBillingKickHandler::Execute(Packets::WLBillingKick*, Player*)",
- "FALSE");
- BillPacket::BillPacket(&Msg);
- Msg.mReasonLength = 0;
- Msg._vptr_BillPacket = (int (**)(...))off_80CE268;
- memset(Msg.mReason, 0, sizeof(Msg.mReason));
- Msg.mExtInfo1Length = 0;
- memset(Msg.mExtInfo1, 0, sizeof(Msg.mExtInfo1));
- Msg.mExtInfo2Length = 0;
- memset(Msg.mExtInfo2, 0, sizeof(Msg.mExtInfo2));
- Msg.mExtInfo3Length = 0;
- memset(Msg.mExtInfo3, 0, sizeof(Msg.mExtInfo3));
- Msg.mZoneID = g_Config.m_WorldInfo.m_ZoneID;
- Msg.mWorldID = pPacket->mWorldID;
- strncpy(Msg.mReason, "Login StartUpKick", 0x20u);
- Msg.mReasonLength = 0;
- v5 = 0;
- do
- {
- if ( Msg.mReason[v5] )
- ++Msg.mReasonLength;
- ++v5;
- }
- while ( v5 <= 31 );
- (*((void (__cdecl **)(Player *, Packets::LBKickAll *))v3->_vptr_Player + 29))(v3, &Msg);
- CacheLog(0, "WLBillingKickHandler::Execute ...OK WorldID=%d", pPacket->mWorldID);
- Msg._vptr_BillPacket = (int (**)(...))off_80CE268;
- BillPacket::~BillPacket(&Msg);
- return 2;
- }
- // 80CE268: using guessed type _DWORD (__cdecl *off_80CE268[2])(Packets::LBKickAll *this);
- //----- (08099F00) --------------------------------------------------------
- void __cdecl _tcf_0_180(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (08099F10) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLBillingKickHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_180, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (08099F3C) --------------------------------------------------------
- UINT __cdecl Packets::WLBillingStartHandler::Execute(Packets::WLBillingStart *pPacket, Player *pPlayer)
- {
- Player *v2; // eax
- Player *v3; // edi
- signed int v5; // eax
- signed int v6; // eax
- UINT v7; // ST18_4
- int v8; // ST14_4
- Packets::LBBillingStart Msg; // [esp+10h] [ebp-98h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/WLBillingStartHandler.cpp",
- 0x2Fu,
- "static UINT Packets::WLBillingStartHandler::Execute(Packets::WLBillingStart*, Player*)",
- "FALSE");
- if ( !pPacket )
- __assert__(
- "./Packets/WLBillingStartHandler.cpp",
- 0x12u,
- "static UINT Packets::WLBillingStartHandler::Execute(Packets::WLBillingStart*, Player*)",
- "pPacket");
- v2 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 1);
- v3 = v2;
- if ( !v2 || !(*((int (__cdecl **)(Player *))v2->_vptr_Player + 25))(v2) )
- __assert__(
- "./Packets/WLBillingStartHandler.cpp",
- 0x28u,
- "static UINT Packets::WLBillingStartHandler::Execute(Packets::WLBillingStart*, Player*)",
- "FALSE");
- BillPacket::BillPacket(&Msg);
- Msg._vptr_BillPacket = (int (**)(...))off_80CDDE8;
- strncpy(Msg.mAccount, pPacket->mAccount, 0x32u);
- Msg.mAccLength = 0;
- v5 = 0;
- do
- {
- if ( Msg.mAccount[v5] )
- ++Msg.mAccLength;
- ++v5;
- }
- while ( v5 <= 49 );
- strncpy(Msg.mCharName, pPacket->mCharName, 0x32u);
- Msg.mCharLength = 0;
- v6 = 0;
- do
- {
- if ( Msg.mCharName[v6] )
- ++Msg.mCharLength;
- ++v6;
- }
- while ( v6 <= 49 );
- Msg.mCharGUID = pPacket->mCharGUID;
- Msg.mCharLevel = pPacket->mCharLevel;
- Msg.mStartTime = pPacket->mStartTime;
- Msg.m_Index = pPacket->mPlayerID;
- (*((void (__cdecl **)(Player *, Packets::LBBillingStart *))v3->_vptr_Player + 29))(v3, &Msg);
- v7 = pPacket->mStartTime;
- v8 = pPacket->mCharLevel;
- CacheLog(
- 0,
- "WLBillingStartHandler::Execute ...OK acc=%s,charname=%s,charguid=%X,charlvl=%d,st=%d",
- pPacket->mAccount,
- pPacket->mCharName,
- pPacket->mCharGUID);
- Msg._vptr_BillPacket = (int (**)(...))off_80CDDE8;
- BillPacket::~BillPacket(&Msg);
- return 2;
- }
- // 80CDDE8: using guessed type _DWORD (__cdecl *off_80CDDE8[2])(Packets::LBBillingStart *this);
- //----- (0809A14C) --------------------------------------------------------
- void __cdecl _tcf_0_181(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809A15C) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLBillingStartHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_181, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809A188) --------------------------------------------------------
- UINT __cdecl Packets::WLNotifyUserHandler::Execute(Packets::WLNotifyUser *pPacket, Player *pPlayer)
- {
- int v2; // edx
- LoginPlayerManager *v3; // eax
- UINT v4; // ecx
- LoginPlayer *v6; // edi
- Packets::WORLD_NOTIFY_STATUS v7; // eax
- const CHAR *v8; // eax
- const CHAR *v9; // eax
- Packets::LWNotifyUser *v10; // ST3C_4
- const CHAR *v11; // eax
- Packet *v12; // edi
- int (**v13)(...); // eax
- Packets::LCStatus Msg; // [esp+10h] [ebp-38h]
- v2 = ThreadValueManager::GetCurrentThreadID();
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) == v2 )
- {
- ProcessManager::SendPacket(g_pProcessManager, &pPacket->0, -1, 0);
- return 3;
- }
- if ( g_pProcessPlayerManager->m_ThreadID == v2 )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/WLNotifyUserHandler.cpp",
- 0x1Cu,
- "static UINT Packets::WLNotifyUserHandler::Execute(Packets::WLNotifyUser*, Player*)",
- "pPacket");
- if ( pPlayer )
- __assert__(
- "./Packets/WLNotifyUserHandler.cpp",
- 0x1Du,
- "static UINT Packets::WLNotifyUserHandler::Execute(Packets::WLNotifyUser*, Player*)",
- aNull);
- v6 = (LoginPlayer *)ProcessPlayerManager::FindAccName(g_pProcessPlayerManager, pPacket->m_AccName);
- if ( v6 )
- {
- v7 = pPacket->m_NotifyStatus;
- if ( v7 == WNOTIFY_NONE )
- __assert__(
- "./Packets/WLNotifyUserHandler.cpp",
- 0x30u,
- "static UINT Packets::WLNotifyUserHandler::Execute(Packets::WLNotifyUser*, Player*)",
- "pPacket->GetNotifyStatus() != WNOTIFY_NONE");
- if ( v6->m_Status == 311 && v7 == 1 )
- {
- if ( LoginPlayer::GetUserKey((int)v6) == pPacket->m_uKey )
- {
- v6->m_Status = 308;
- (*((void (__cdecl **)(LoginPlayer *))v6->_vptr_Player + 27))(v6);
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CF048;
- v13 = v6->_vptr_Player;
- Msg.ClientStatus = 1;
- ((void (__cdecl *)(LoginPlayer *, Packets::LCStatus *))v13[3])(v6, &Msg);
- CacheLog(
- 0,
- "WLNotifyUserHandler::Execute()....acc=%s status=%d ask status Success",
- pPacket->m_AccName,
- pPacket->m_NotifyStatus);
- Msg._vptr_Packet = (int (**)(...))off_80CF048;
- Packet::~Packet(&Msg);
- }
- else
- {
- CacheLog(
- 0,
- "WLNotifyUserHandler::Execute()....acc=%s status=%d ukey diff ignore ask result",
- pPacket->m_AccName,
- pPacket->m_NotifyStatus);
- }
- return 2;
- }
- if ( v7 != 2 )
- {
- if ( v7 != 3 )
- return 2;
- ProcessPlayerManager::RemovePlayer(g_pProcessPlayerManager, &v6->0);
- CacheLog(
- 0,
- "WLNotifyUserHandler::Execute()....acc=%s status=%d kick not found in world",
- pPacket->m_AccName,
- pPacket->m_NotifyStatus);
- return 2;
- }
- v10 = (Packets::LWNotifyUser *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x1B8u);
- v11 = LoginPlayer::GetAccount(v6);
- Packets::LWNotifyUser::SetAccount(v10, v11);
- v10->m_NotifyStatus = 3;
- v10->m_uKey = LoginPlayer::GetUserKey((int)v6);
- ServerManager::SendPacket(*(ServerManager *const *)&g_pServerManager, &v10->0, 0, 0);
- ProcessPlayerManager::RemovePlayer(g_pProcessPlayerManager, &v6->0);
- CacheLog(
- 0,
- "WLNotifyUserHandler::Execute()....acc=%s status=%d kick order receive from world",
- pPacket->m_AccName,
- pPacket->m_NotifyStatus);
- }
- else
- {
- v12 = PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x1B8u);
- Packets::LWNotifyUser::SetAccount((Packets::LWNotifyUser *const )v12, pPacket->m_AccName);
- *(_DWORD *)&v12[5].m_Index = 4;
- ServerManager::SendPacket(*(ServerManager *const *)&g_pServerManager, v12, 0, 0);
- CacheLog(
- 0,
- "WLNotifyUserHandler::Execute()....acc=%s status=%d Can't find User",
- pPacket->m_AccName,
- pPacket->m_NotifyStatus);
- }
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &pPacket->0, -1, 0);
- return 3;
- }
- v3 = g_pLoginPlayerManager;
- v4 = 2;
- if ( g_pLoginPlayerManager->m_ThreadID == v2 )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/WLNotifyUserHandler.cpp",
- 0x75u,
- "static UINT Packets::WLNotifyUserHandler::Execute(Packets::WLNotifyUser*, Player*)",
- "pPacket");
- if ( pPlayer )
- __assert__(
- "./Packets/WLNotifyUserHandler.cpp",
- 0x76u,
- "static UINT Packets::WLNotifyUserHandler::Execute(Packets::WLNotifyUser*, Player*)",
- aNull);
- if ( pPacket->m_NotifyStatus == 2 )
- {
- v8 = Packets::WLNotifyUser::GetHost(pPacket);
- ReLoginManager::StopAccReLogin(g_pReLoginManager, pPacket->m_AccName, v8);
- v9 = Packets::WLNotifyUser::GetHost(pPacket);
- CacheLog(
- 0,
- "WLNotifyUserHandler::Execute()....g_pReLoginManager->StopAccReLogin acc=%s ip=%s",
- pPacket->m_AccName,
- v9);
- }
- CacheLog(0, "WLNotifyUserHandler::Execute()....OK acc=%s in g_pLoginPlayerManager", pPacket->m_AccName, v3);
- return 2;
- }
- return v4;
- }
- // 80CF048: using guessed type _DWORD (__cdecl *off_80CF048[2])(Packets::LCStatus *this);
- //----- (0809A540) --------------------------------------------------------
- void __cdecl _tcf_0_182(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809A550) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLNotifyUserHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_182, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809A57C) --------------------------------------------------------
- UINT __cdecl Packets::WLRetCharLoginHandler::Execute(Packets::WLRetCharLogin *pPacket, Player *pPlayer)
- {
- int v2; // edi
- ODBCInterface *v3; // eax
- ODBCInterface *v4; // ebx
- bool v5; // zf
- UINT result; // eax
- Packet *v7; // eax
- const CHAR *v8; // ST28_4
- int v9; // ST2C_4
- PlayerID_t v10; // ax
- LoginPlayer *v11; // esi
- const char *v12; // edi
- const char *v13; // eax
- ASKCHARLOGIN_RESULT v14; // eax
- int (**v15)(...); // eax
- ASKCHARLOGIN_RESULT v16; // ST20_4
- GUID_t v17; // ST1C_4
- const CHAR *v18; // eax
- const CHAR *v19; // ST2C_4
- const CHAR *v20; // ST28_4
- int (**v21)(...); // eax
- GUID_t v22; // ST2C_4
- const CHAR *v23; // eax
- int v24; // edi
- UINT v25; // eax
- ASKCHARLOGIN_RESULT v26; // eax
- ID_t v27; // dx
- int v28; // edi
- CHAR *v29; // eax
- UINT v30; // eax
- UINT v31; // ST28_4
- GUID_t v32; // ST20_4
- int v33; // ST1C_4
- const CHAR *v34; // eax
- int (**v35)(...); // eax
- GUID_t v36; // ST2C_4
- const CHAR *v37; // eax
- int (**v38)(...); // eax
- GUID_t v39; // ST2C_4
- const CHAR *v40; // eax
- CHAR *v41; // eax
- GUID_t v42; // ST2C_4
- const CHAR *v43; // ST28_4
- GUID_t v44; // ST2C_4
- const CHAR *v45; // ST28_4
- GUID_t v46; // ST2C_4
- const CHAR *v47; // ST28_4
- GUID_t v48; // ST2C_4
- const CHAR *v49; // ST28_4
- GUID_t v50; // ST2C_4
- const CHAR *v51; // ST28_4
- ODBCInterface *v52; // ST24_4
- FILE *v53; // ebx
- int v54; // edi
- INT v55; // ST24_4
- UINT v56; // ST20_4
- const CHAR *v57; // eax
- INT v58; // ST24_4
- UINT v59; // ST20_4
- const CHAR *v60; // eax
- UINT v61; // edi
- UINT v62; // ST20_4
- const CHAR *v63; // eax
- Packet *v64; // ebx
- const CHAR *v65; // eax
- INT v66; // eax
- UINT v67; // ST28_4
- INT v68; // ST24_4
- INT v69; // ST20_4
- const CHAR *v70; // eax
- unsigned __int16 v71; // ax
- const CHAR *v72; // eax
- INT v73; // ST2C_4
- const CHAR *v74; // eax
- SceneID_t v75; // ax
- SceneID_t v76; // ax
- INT v77; // eax
- INT v78; // ST20_4
- const CHAR *v79; // eax
- FILE *v80; // eax
- const CHAR *v81; // eax
- UINT v82; // ST20_4
- const CHAR *v83; // eax
- CHAR *v84; // ST2C_4
- const CHAR *v85; // eax
- Packet *v86; // eax
- FULLUSERDATA *pResult; // [esp+0h] [ebp-1D8h]
- Packets::LWAskCharLogin *pMsg; // [esp+8h] [ebp-1D0h]
- int PlayerCharGUID; // [esp+Ch] [ebp-1CCh]
- PlayerID_t PlayerID; // [esp+12h] [ebp-1C6h]
- unsigned int uTime; // [esp+18h] [ebp-1C0h]
- CHAR filename[260]; // [esp+20h] [ebp-1B8h]
- DBCharExtradbVersion dbVersionObject; // [esp+130h] [ebp-A8h]
- DBCharFullData CharFullDataObject; // [esp+150h] [ebp-88h]
- Packets::LCRetCharLogin Msg; // [esp+180h] [ebp-58h]
- v2 = ThreadValueManager::GetCurrentThreadID();
- if ( !pPacket )
- __assert__(
- "./Packets/WLRetCharLoginHandler.cpp",
- 0x1Eu,
- "static UINT Packets::WLRetCharLoginHandler::Execute(Packets::WLRetCharLogin*, Player*)",
- "pPacket");
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) == v2 )
- {
- ProcessManager::SendPacket(g_pProcessManager, &pPacket->0, pPacket->PlayerID, 0);
- return 3;
- }
- if ( g_pProcessPlayerManager->m_ThreadID == v2 )
- {
- v10 = pPacket->PlayerID;
- if ( v10 == -1 || v10 > 3071 || v10 < 0 || (v11 = &g_pPlayerPool->m_pPlayer[v10]) == 0 )
- __assert__(
- "./Packets/WLRetCharLoginHandler.cpp",
- 0x2Du,
- "static UINT Packets::WLRetCharLoginHandler::Execute(Packets::WLRetCharLogin*, Player*)",
- "pLoginPlayer");
- v12 = Packets::WLRetCharLogin::GetAccount(pPacket);
- v13 = LoginPlayer::GetAccount(v11);
- if ( strcmp(v13, v12) )
- {
- v19 = Packets::WLRetCharLogin::GetAccount(pPacket);
- v20 = Packets::WLRetCharLogin::GetAccount(pPacket);
- CacheLog(0, "WLRetCharLoginHandler::Execute()....acc error,acc=%s,packacc=%s", v20, v19);
- return 2;
- }
- if ( pPacket->HoldStatus == 1 )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE708;
- memset(Msg.ServerIP, 0, sizeof(Msg.ServerIP));
- v26 = pPacket->Result;
- Msg.ServerPort = 0;
- Msg.ZoneID = 0;
- Msg.Result = v26;
- switch ( v26 )
- {
- case 6:
- (*((void (__cdecl **)(LoginPlayer *, Packets::LCRetCharLogin *))v11->_vptr_Player + 3))(v11, &Msg);
- v46 = pPacket->PlayerGUID;
- v47 = Packets::WLRetCharLogin::GetAccount(pPacket);
- CacheLog(
- 0,
- "WLRetCharLoginHandler::Execute()....User is Online ,Server is CrashDown\t\t\t\t Account = %s,GUID = %d",
- v47,
- v46);
- break;
- case 9:
- (*((void (__cdecl **)(LoginPlayer *, Packets::LCRetCharLogin *))v11->_vptr_Player + 3))(v11, &Msg);
- v44 = pPacket->PlayerGUID;
- v45 = Packets::WLRetCharLogin::GetAccount(pPacket);
- CacheLog(
- 0,
- "WLRetCharLoginHandler::Execute()....User Online ,No Point\t\t\t\t\t\t\t\t\t\t\t Account = %s,GUID = %d",
- v45,
- v44);
- break;
- case 10:
- (*((void (__cdecl **)(LoginPlayer *, Packets::LCRetCharLogin *))v11->_vptr_Player + 3))(v11, &Msg);
- v42 = pPacket->PlayerGUID;
- v43 = Packets::WLRetCharLogin::GetAccount(pPacket);
- CacheLog(
- 0,
- "WLRetCharLoginHandler::Execute()....User Online ,End Time\t\t\t\t\t\t\t\t\t\t\t Account = %s,GUID = %d",
- v43,
- v42);
- break;
- case 8:
- (*((void (__cdecl **)(LoginPlayer *, Packets::LCRetCharLogin *))v11->_vptr_Player + 3))(v11, &Msg);
- v48 = pPacket->PlayerGUID;
- v49 = Packets::WLRetCharLogin::GetAccount(pPacket);
- CacheLog(
- 0,
- "WLRetCharLoginHandler::Execute()....User Online ,Kicking \t\t\t\t\t\t\t\t\t\t\t Account = %s,GUID = %d",
- v49,
- v48);
- break;
- case 11:
- (*((void (__cdecl **)(LoginPlayer *, Packets::LCRetCharLogin *))v11->_vptr_Player + 3))(v11, &Msg);
- v50 = pPacket->PlayerGUID;
- v51 = Packets::WLRetCharLogin::GetAccount(pPacket);
- CacheLog(
- 0,
- "WLRetCharLoginHandler::Execute()....User Online ,Not Login Before \t\t\t\t\t\t\t\t\t\t Account = %s,GUID = %d",
- v51,
- v50);
- break;
- default:
- v27 = pPacket->ServerID;
- if ( (unsigned int)(g_Config.m_LoginInfo.ProxyConnect - 1) > 1 )
- {
- v28 = v27;
- v41 = ProxyTool_GetCorrespondingIP(&v11->0, v27);
- strncpy(Msg.ServerIP, v41, 0x18u);
- Msg.ServerIP[23] = 0;
- v30 = ProxyTool_GetCorrespondingPort(&v11->0, v28);
- }
- else
- {
- v28 = v27;
- v29 = ProxyTool_GetIPByNetProvider(v11, v27);
- strncpy(Msg.ServerIP, v29, 0x18u);
- Msg.ServerIP[23] = 0;
- v30 = ProxyTool_GetPortByNetProvider(v11, v28);
- }
- Msg.ServerPort = v30;
- Msg.Key = LoginPlayer::GetUserKey((int)v11);
- Msg.WorldID = g_Config.m_WorldInfo.m_WorldID;
- Msg.ZoneID = g_Config.m_WorldInfo.m_ZoneID;
- (*((void (__cdecl **)(LoginPlayer *, Packets::LCRetCharLogin *))v11->_vptr_Player + 3))(v11, &Msg);
- v11->m_Status = 309;
- v31 = Msg.ServerPort;
- v32 = pPacket->PlayerGUID;
- v33 = v11->m_ProxyType;
- v34 = Packets::WLRetCharLogin::GetAccount(pPacket);
- CacheLog(
- 0,
- "WLRetCharLoginHandler::Execute()...Online ,Acc=%s,ProxyType=%d,GUID=%X,IP=%s,Port=%d,SID=%d",
- v34,
- v33,
- v32,
- Msg.ServerIP,
- v31,
- v28);
- break;
- }
- }
- else if ( pPacket->Result == 15 )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE708;
- memset(Msg.ServerIP, 0, sizeof(Msg.ServerIP));
- Msg.Result = pPacket->Result;
- v21 = v11->_vptr_Player;
- Msg.ServerPort = 0;
- Msg.ZoneID = 0;
- ((void (__cdecl *)(LoginPlayer *, Packets::LCRetCharLogin *))v21[3])(v11, &Msg);
- v22 = pPacket->PlayerGUID;
- v23 = Packets::WLRetCharLogin::GetAccount(pPacket);
- CacheLog(
- 0,
- "WLRetCharLoginHandler::Execute()....User Online ,Kicking \t\t\t\t\t\t\t\t\t\tAccount = %s,GUID = %d",
- v23,
- v22);
- }
- else
- {
- uTime = TimeManager::CurrentTime((int)g_pTimeManager);
- if ( v11->m_LastDBOpTime + 500 > uTime )
- {
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE708;
- memset(Msg.ServerIP, 0, sizeof(Msg.ServerIP));
- v35 = v11->_vptr_Player;
- Msg.ServerPort = 0;
- Msg.ZoneID = 0;
- Msg.Result = 4;
- ((void (__cdecl *)(LoginPlayer *, Packets::LCRetCharLogin *))v35[3])(v11, &Msg);
- v36 = pPacket->PlayerGUID;
- v37 = Packets::WLRetCharLogin::GetAccount(pPacket);
- CacheLog(0, "WLRetCharLoginHandler::Execute()....User Need Load From DB Account = %s,GUID = %X", v37, v36);
- }
- else
- {
- v14 = pPacket->Result;
- if ( v14 != 1 && v14 != 6 )
- {
- if ( DBThreadManager::SendPacket(g_pDBThreadManager, &pPacket->0, v11->m_PID) )
- {
- v11->m_LastDBOpTime = uTime;
- (*((void (__cdecl **)(LoginPlayer *))v11->_vptr_Player + 27))(v11);
- return 3;
- }
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE708;
- memset(Msg.ServerIP, 0, sizeof(Msg.ServerIP));
- v38 = v11->_vptr_Player;
- Msg.ServerPort = 0;
- Msg.ZoneID = 0;
- Msg.Result = 2;
- ((void (__cdecl *)(LoginPlayer *, Packets::LCRetCharLogin *))v38[3])(v11, &Msg);
- v11->m_LastDBOpTime = uTime;
- v39 = pPacket->PlayerGUID;
- v40 = Packets::WLRetCharLogin::GetAccount(pPacket);
- CacheLog(0, "WLRetCharLoginHandler::Execute()....Server Busy Account = %s,GUID = %X", v40, v39);
- Msg._vptr_Packet = (int (**)(...))off_80CE708;
- Packet::~Packet(&Msg);
- return 2;
- }
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80CE708;
- memset(Msg.ServerIP, 0, sizeof(Msg.ServerIP));
- Msg.Result = pPacket->Result;
- v15 = v11->_vptr_Player;
- Msg.ServerPort = 0;
- Msg.ZoneID = 0;
- v15[3]();
- v16 = pPacket->Result;
- v17 = pPacket->PlayerGUID;
- v18 = Packets::WLRetCharLogin::GetAccount(pPacket);
- CacheLog(
- 0,
- "WLRetCharLoginHandler::Execute()....User Can't Login Account = %s,GUID = %X ,Result = %d",
- v18,
- v17,
- v16);
- }
- }
- Msg._vptr_Packet = (int (**)(...))off_80CE708;
- Packet::~Packet(&Msg);
- return 2;
- }
- if ( !DBThreadManager::IsPoolTID(g_pDBThreadManager, v2) )
- __assertex__(
- "./Packets/WLRetCharLoginHandler.cpp",
- 0x1FDu,
- "static UINT Packets::WLRetCharLoginHandler::Execute(Packets::WLRetCharLogin*, Player*)",
- "FALSE",
- aWlretcharlogin_15);
- PlayerID = pPacket->PlayerID;
- PlayerCharGUID = pPacket->PlayerGUID;
- if ( !pPlayer )
- __assert__(
- "./Packets/WLRetCharLoginHandler.cpp",
- 0xCEu,
- "static UINT Packets::WLRetCharLoginHandler::Execute(Packets::WLRetCharLogin*, Player*)",
- "pLoginPlayer");
- v3 = DBThreadManager::GetInterface(g_pDBThreadManager, v2);
- v4 = v3;
- v5 = v3 == 0;
- result = 2;
- if ( !v5 )
- {
- if ( LoginPlayer::GetDBOperating((int)pPlayer) == 1 || !v4->mConnected )
- {
- v7 = PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x15Au);
- if ( !v7 )
- __assertex__(
- "./Packets/WLRetCharLoginHandler.cpp",
- 0xDCu,
- "static UINT Packets::WLRetCharLoginHandler::Execute(Packets::WLRetCharLogin*, Player*)",
- "FALSE",
- &byte_80E15CD);
- v7[1]._vptr_Packet = (int (**)(...))2;
- ProcessManager::SendPacket(g_pProcessManager, v7, PlayerID, 0);
- v8 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, aWlretcharlogin_14, v8, v9);
- return 2;
- }
- LoginPlayer::SetDBOperating((int)pPlayer, 1);
- DBCharFullData::DBCharFullData(&CharFullDataObject, v4);
- DBCharFullData::SetCharGuid((int)&CharFullDataObject, PlayerCharGUID);
- v24 = DBCharFullData::Load(&CharFullDataObject);
- v25 = ODBCBase::GetResultCount((int)&CharFullDataObject);
- if ( v24 )
- {
- if ( !v25 )
- __assert__(
- "./Packets/WLRetCharLoginHandler.cpp",
- 0x104u,
- "static UINT Packets::WLRetCharLoginHandler::Execute(Packets::WLRetCharLogin*, Player*)",
- "FALSE");
- pMsg = (Packets::LWAskCharLogin *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x6Bu);
- if ( !pMsg )
- __assertex__(
- "./Packets/WLRetCharLoginHandler.cpp",
- 0x112u,
- "static UINT Packets::WLRetCharLoginHandler::Execute(Packets::WLRetCharLogin*, Player*)",
- "FALSE",
- &byte_80E160D);
- pResult = &pMsg->UserData;
- DBCharFullData::ParseResult(&CharFullDataObject, &pMsg->UserData);
- v52 = v4;
- v53 = (FILE *)&dbVersionObject;
- DBCharExtradbVersion::DBCharExtradbVersion(&dbVersionObject, v52);
- DBCharExtradbVersion::SetCharGuid((int)&dbVersionObject, PlayerCharGUID);
- v54 = DBCharExtradbVersion::Load(&dbVersionObject);
- if ( !v54 )
- LABEL_63:
- __assert__(
- "./Packets/WLRetCharLoginHandler.cpp",
- 0x134u,
- "static UINT Packets::WLRetCharLoginHandler::Execute(Packets::WLRetCharLogin*, Player*)",
- "FALSE");
- DBCharExtradbVersion::ParseResult(&dbVersionObject, pResult);
- if ( pMsg == (Packets::LWAskCharLogin *)-100 )
- __assert__(
- "./Packets/WLRetCharLoginHandler.cpp",
- 0x121u,
- "static UINT Packets::WLRetCharLoginHandler::Execute(Packets::WLRetCharLogin*, Player*)",
- "pMsg->GetUserData()");
- if ( pMsg->UserData.m_Human.m_DBVersion != DBCharExtradbVersion::GetdbVersion((int)&dbVersionObject) )
- {
- v55 = DBCharExtradbVersion::GetdbVersion((int)&dbVersionObject);
- v56 = pMsg->UserData.m_Human.m_DBVersion;
- v57 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(
- 0,
- "ERROR:DBCharExtradbVersion acc=%s,charguid=%X ,odbv=%d,cdbv=%d load fulluser from db ",
- v57,
- PlayerCharGUID,
- v56,
- v55);
- v54 = 0;
- }
- if ( DBCharExtradbVersion::GetdbVersion((int)&dbVersionObject) == -2 )
- {
- v58 = DBCharExtradbVersion::GetdbVersion((int)&dbVersionObject);
- v59 = pMsg->UserData.m_Human.m_DBVersion;
- v60 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(
- 0,
- "CAUTION:DBCharExtradbVersion acc=%s,charguid=%X ,odbv=%d,cdbv=%d load fulluser from db BUT PASS",
- v60,
- PlayerCharGUID,
- v59,
- v58);
- }
- else if ( !v54 )
- {
- goto LABEL_63;
- }
- v61 = FullDataCrc(pResult, 0);
- if ( DBCharFullData::GetCRC((int)&CharFullDataObject) == v61 )
- {
- v82 = DBCharFullData::GetCRC((int)&CharFullDataObject);
- v83 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- DiskLog(
- "./Log/Crc32",
- "WLRetCharLoginHandler:acc=%s,charguid=%X ,DbCrc=%d,BinCrc=%d load fulluser from db ",
- v83,
- PlayerCharGUID,
- v82,
- v61);
- }
- else if ( DBCharFullData::GetCRC((int)&CharFullDataObject) )
- {
- v62 = PlayerCharGUID + DBCharFullData::GetCRC((int)&CharFullDataObject);
- v63 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- DiskLog(
- "./Log/Crc32",
- "ERROR:acc=%s,charguid=%X ,DbCrc=%d,BinCrc=%d load fulluser from db ",
- v63,
- PlayerCharGUID,
- v62,
- v61 + PlayerCharGUID);
- v64 = PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x1B8u);
- if ( v64 )
- {
- v65 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- Packets::LWNotifyUser::SetAccount((Packets::LWNotifyUser *const )v64, v65);
- *(_DWORD *)&v64[5].m_Index = 5;
- v64[6]._vptr_Packet = (int (**)(...))PlayerCharGUID;
- *(_DWORD *)&v64[6].m_Index = DBCharFullData::GetCRC((int)&CharFullDataObject);
- v64[6].m_fromWhere = v61;
- v64[5].m_fromWhere = pMsg->UserData.m_Human.m_LastLoginTime;
- ServerManager::SendPacket(*(ServerManager *const *)&g_pServerManager, v64, 0, 0);
- }
- v53 = (FILE *)filename;
- memset(filename, 0, 0x104u);
- sprintf(
- filename,
- "./errUsr/%Xl_%u.%.4d-%.2d-%.2d-%.2d-%.2d-%.2d.usr",
- PlayerCharGUID,
- v61,
- g_pTimeManager->m_TM.tm_year + 1900,
- g_pTimeManager->m_TM.tm_mon + 1,
- g_pTimeManager->m_TM.tm_mday,
- g_pTimeManager->m_TM.tm_hour,
- g_pTimeManager->m_TM.tm_min,
- g_pTimeManager->m_TM.tm_sec);
- if ( filename[0] )
- {
- v80 = fopen(filename, "wb");
- v53 = v80;
- if ( v80 )
- {
- fwrite(pResult, 0x6B9u, 1u, v80);
- fwrite(&pMsg->UserData.m_Equip, 0xD12u, 1u, v53);
- fwrite(&pMsg->UserData.m_Bag, 0x44D4u, 1u, v53);
- fwrite(&pMsg->UserData.m_Bank, 0x2949u, 1u, v53);
- fwrite(&pMsg->UserData.m_Skill, 0x101u, 1u, v53);
- fwrite(&pMsg->UserData.m_Cooldown, 0x180u, 1u, v53);
- fwrite(&pMsg->UserData.m_XinFa, 0x41u, 1u, v53);
- fwrite(&pMsg->UserData.m_Impact, 0x5F1u, 1u, v53);
- fwrite(&pMsg->UserData.m_Ability, 0x300u, 1u, v53);
- fwrite(&pMsg->UserData.m_Mission, 0xD35u, 1u, v53);
- fwrite(&pMsg->UserData.m_Setting, 0x280u, 1u, v53);
- fwrite(&pMsg->UserData.m_PetList, 0xF96u, 1u, v53);
- fwrite(&pMsg->UserData.m_Relation, 0x170Bu, 1u, v53);
- fwrite(&pMsg->UserData.m_PrivateInfo, 0x1B0u, 1u, v53);
- fwrite(&pMsg->UserData.m_bIsPasswdUnlock, 4u, 1u, v53);
- fwrite(&pMsg->UserData.m_DRideData, 8u, 1u, v53);
- fclose(v53);
- }
- }
- }
- else
- {
- v81 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- DiskLog("./Log/Crc32", "INIT:acc=%s,charguid=%X Should init crc by ShareMemory", v81, PlayerCharGUID);
- }
- if ( pMsg->UserData.m_Setting.m_aSetting[69].m_SettingType == 1 )
- v66 = FullDataMagicInt2((FULLUSERDATA_0 *)pResult);
- else
- v66 = FullDataMagicInt1((FULLUSERDATA_0 *)pResult);
- v67 = pMsg->UserData.m_Human.m_LastLogoutTime;
- v68 = v66;
- v69 = pMsg->UserData.m_Setting.m_aSetting[69].m_SettingData;
- v70 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(
- 0,
- "WLRetCharLoginHandler:acc=%s,charguid=%X ,nMagicIntSave=%d,nMagicIntNow=%d,nLogouttime=%u MagicInt Check OK",
- v70,
- PlayerCharGUID,
- v69,
- v68,
- v67,
- v53);
- if ( !pMsg->UserData.m_Human.m_LastLoginTime )
- {
- v75 = LoginPlayer::GetChooseSceneID((int)pPlayer);
- if ( DBChooseSceneTable::isValidSceneID(&g_DBSceneTable, v75, 0) )
- {
- pMsg->UserData.m_Human.m_StartScene = LoginPlayer::GetChooseSceneID((int)pPlayer);
- v76 = LoginPlayer::GetChooseSceneID((int)pPlayer);
- DBChooseSceneTable::GetPosBySceneID(&g_DBSceneTable, v76, 0, &pMsg->UserData.m_Human.m_Position);
- }
- }
- pMsg->UserData.m_Human.m_LastConnectServerTime = pMsg->UserData.m_Human.m_LastLoginTime;
- if ( g_Config.m_ConfigInfo.m_nLanguage == 1 )
- {
- pMsg->UserData.m_Human.m_ActualAge = pPlayer[30]._vptr_Player < (int (**)(...))1 ? 20 : 1;
- pMsg->UserData.m_Human.m_FatigueInfo.m_uTotalOnlineTime = (UINT)pPlayer[30].m_pSocket;
- }
- pMsg->UserData.m_Human.m_LastLoginTime = TimeManager::CurrentDate(g_pTimeManager);
- pMsg->UserData.m_AccountSafeSign.m_Sign = (INT)pPlayer[33].m_pSocket;
- v71 = LoginPlayer::GetIsPilferedAccount((int)pPlayer);
- v5 = pMsg->UserData.m_Human.m_IPRegion == -1;
- pMsg->UserData.m_IsPilfered = v71;
- if ( v5 )
- {
- v77 = IPRegionTable::FindIPRegion(g_pIPRegionTable, pPlayer->m_pSocket->m_Host);
- pMsg->UserData.m_Human.m_IPRegion = v77;
- v78 = v77;
- v79 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "WLRetCharLoginHandler::Execute()....acc=%s,GUID=%X,Set IPRegion=%d", v79, PlayerCharGUID, v78);
- }
- pMsg->AskStatus = 1;
- v72 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- Packets::LWAskCharLogin::SetAccount(pMsg, v72);
- Packets::LWAskCharLogin::SetHost(pMsg, pPlayer->m_pSocket->m_Host);
- pMsg->PlayerID = PlayerID;
- pMsg->PlayerGUID = PlayerCharGUID;
- pMsg->uKey = LoginPlayer::GetUserKey((int)pPlayer);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- v73 = pMsg->UserData.m_AccountSafeSign.m_Sign;
- v74 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "WLRetCharLoginHandler::Execute()....OK!,acc=%s, AccountSafeSign=%d", v74, v73);
- ServerManager::SendPacket(*(ServerManager *const *)&g_pServerManager, &pMsg->0, 0, 0);
- return 2;
- }
- v84 = ODBCBase::GetErrorMessage((int)&CharFullDataObject);
- v85 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "CharFullDataObject.Load()....acc = %s Get Errors: %s", v85, v84);
- v86 = PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x15Au);
- if ( !v86 )
- __assertex__(
- "./Packets/WLRetCharLoginHandler.cpp",
- 0xF9u,
- "static UINT Packets::WLRetCharLoginHandler::Execute(Packets::WLRetCharLogin*, Player*)",
- "FALSE",
- &byte_80E15CD);
- v86[1]._vptr_Packet = (int (**)(...))3;
- ProcessManager::SendPacket(g_pProcessManager, v86, PlayerID, 0);
- LoginPlayer::SetDBOperating((int)pPlayer, 0);
- result = 2;
- }
- return result;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- // 80CE708: using guessed type _DWORD (__cdecl *off_80CE708[2])(Packets::LCRetCharLogin *this);
- //----- (0809B730) --------------------------------------------------------
- void __cdecl _tcf_0_183(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809B740) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLRetCharLoginHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_183, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809B76C) --------------------------------------------------------
- UINT __cdecl Packets::BLRetAskBuyHandler::Execute(Packets::BLRetAskBuy *pPacket, Player *pPlayer)
- {
- _BUY_DATA *v2; // ebx
- const char *v3; // edi
- USHORT v4; // dx
- BYTE v5; // bl
- UINT v6; // ecx
- unsigned int v7; // ebx
- char *v8; // eax
- _RETBUY_DATA *v9; // eax
- _RETBUY_DATA *v10; // edx
- int v11; // eax
- Player *v12; // eax
- int v13; // ST14_4
- unsigned int v15; // ebx
- int v16; // eax
- _RETBUY_DATA *v17; // edx
- int v18; // eax
- signed int v19; // [esp+Ch] [ebp-44Ch]
- Packets::BLRetAskBuy *v20; // [esp+18h] [ebp-440h]
- Packets::BLRetAskBuy *v21; // [esp+1Ch] [ebp-43Ch]
- _RETBUY_DATA *v22; // [esp+20h] [ebp-438h]
- Packets::LWRetPrize Msg; // [esp+30h] [ebp-428h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/BLRetAskBuyHandler.cpp",
- 0xFu,
- "static UINT Packets::BLRetAskBuyHandler::Execute(Packets::BLRetAskBuy*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetAskBuyHandler.cpp",
- 0x12u,
- "static UINT Packets::BLRetAskBuyHandler::Execute(Packets::BLRetAskBuy*, Player*)",
- "pPlayer");
- if ( (*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/BLRetAskBuyHandler.cpp",
- 0x18u,
- "static UINT Packets::BLRetAskBuyHandler::Execute(Packets::BLRetAskBuy*, Player*)",
- "pPacket");
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- v2 = Msg.mPrize;
- v19 = 29;
- do
- {
- memset(v2, 0, 0x14u);
- --v19;
- v2->m_BuyPoint = 0;
- v2->m_BuyInt = 0;
- v2->m_BuyNumber = 0;
- ++v2;
- }
- while ( v19 != -1 );
- Msg.mPrizeUserID = -1;
- memset(Msg.mAccName, 0, 0x30u);
- *(_WORD *)&Msg.mAccName[48] = 0;
- Msg.mAccName[50] = 0;
- Msg.mPrizeResult = 3;
- Msg.mRetType = 0;
- Msg.mPrizeNum = 0;
- Msg.mLeftPoint = 0;
- memset(Msg.mPrize, 0, 0x3C0u);
- v3 = pPacket->mAccount;
- if ( pPacket == (Packets::BLRetAskBuy *)-8 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0x8Cu,
- "void Packets::LWRetPrize::SetAccName(const CHAR*)",
- "pAccName");
- strncpy(Msg.mAccName, v3, 0x32u);
- Msg.mAccName[50] = 0;
- v4 = pPacket->m_Index;
- Msg.mPrizeUserID = pPacket->m_Index;
- v5 = pPacket->mBuyResult;
- Msg.mPrizeResult = pPacket->mBuyResult;
- v6 = pPacket->mLeftPoint;
- if ( pPacket->mLeftPoint <= 0 )
- v6 = 0;
- Msg.mLeftPoint = v6;
- Msg.mRetType = 3;
- CacheLog(0, "BLRetAskBuy...Acc=%s PUID=%d,Result = %d,LeftPoint=%u", v3, v4, v5, v6);
- if ( pPacket->mBuyResult )
- {
- if ( pPacket->mBuyResult == 1 )
- {
- v15 = 0;
- if ( pPacket->mGoodsNum )
- {
- v21 = pPacket;
- v20 = pPacket;
- do
- {
- v16 = 0;
- if ( v15 <= 0x1D )
- v16 = (int)v20->mGoods;
- v17 = 0;
- v18 = *(unsigned __int16 *)(v16 + 4);
- if ( v15 <= 0x1D )
- v17 = v21->mGoods;
- CacheLog(0, "BLRetAskBuy...AlreadyBuy Acc=%s (%u:%u) Drop", v3, v17->m_BuyInt, v18);
- ++v15;
- v20 = (Packets::BLRetAskBuy *)((char *)v20 + 8);
- v21 = (Packets::BLRetAskBuy *)((char *)v21 + 8);
- }
- while ( pPacket->mGoodsNum > (signed int)v15 );
- }
- }
- }
- else
- {
- v7 = 0;
- if ( pPacket->mGoodsNum )
- {
- do
- {
- v22 = 0;
- if ( v7 <= 0x1D )
- v22 = &pPacket->mGoods[v7];
- if ( Msg.mRetType != 3 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xBCu,
- "void Packets::LWRetPrize::AddPrize(_RETBUY_DATA*)",
- "mRetType == ASK_BUY");
- if ( Msg.mPrizeNum > 0x1Du )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xBDu,
- "void Packets::LWRetPrize::AddPrize(_RETBUY_DATA*)",
- "mPrizeNum<MAX_PRIZE_NUMBER");
- if ( !v22 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xBEu,
- "void Packets::LWRetPrize::AddPrize(_RETBUY_DATA*)",
- "pData");
- v8 = (char *)&Msg + 32 * Msg.mPrizeNum;
- *((_DWORD *)v8 + 25) = v22->m_BuyInt;
- *((_DWORD *)v8 + 26) = v22->m_BuyNumber;
- ++Msg.mPrizeNum;
- v9 = 0;
- if ( v7 <= 0x1D )
- v9 = &pPacket->mGoods[v7];
- v10 = 0;
- v11 = v9->m_BuyNumber;
- if ( v7 <= 0x1D )
- v10 = &pPacket->mGoods[v7];
- CacheLog(0, "BLRetAskBuy...Buy Acc=%s (%u:%u)", v3, v10->m_BuyInt, v11);
- ++v7;
- }
- while ( pPacket->mGoodsNum > (signed int)v7 );
- }
- }
- v12 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 0);
- if ( v12 )
- (*((void (__cdecl **)(Player *, Packets::LWRetPrize *))v12->_vptr_Player + 3))(v12, &Msg);
- v13 = pPacket->mBuyResult;
- CacheLog(
- 0,
- "BLRetAskBuy::Execute()...OK Acc=%s BuySerial=%s PUID=%d,Result = %d",
- v3,
- pPacket->mBuySerial,
- pPacket->m_Index);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- Packet::~Packet(&Msg);
- }
- return 2;
- }
- // 80D11A8: using guessed type _DWORD (__cdecl *off_80D11A8[2])(Packets::LWRetPrize *this);
- //----- (0809BBEC) --------------------------------------------------------
- void __cdecl _tcf_0_184(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809BBFC) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetAskBuyHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_184, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809BC28) --------------------------------------------------------
- UINT __cdecl Packets::BLRetAskPointHandler::Execute(Packets::BLRetAskPoint *pPacket, Player *pPlayer)
- {
- int v2; // ecx
- CHAR *v3; // edi
- const char *v4; // ebx
- int v5; // edx
- UINT v6; // ST10_4
- Player *v7; // eax
- signed int v9; // [esp+8h] [ebp-440h]
- _BUY_DATA *v10; // [esp+Ch] [ebp-43Ch]
- Packets::LWRetPrize Msg; // [esp+20h] [ebp-428h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/BLRetAskPointHandler.cpp",
- 0xFu,
- "static UINT Packets::BLRetAskPointHandler::Execute(Packets::BLRetAskPoint*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetAskPointHandler.cpp",
- 0x12u,
- "static UINT Packets::BLRetAskPointHandler::Execute(Packets::BLRetAskPoint*, Player*)",
- "pPlayer");
- if ( (*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/BLRetAskPointHandler.cpp",
- 0x18u,
- "static UINT Packets::BLRetAskPointHandler::Execute(Packets::BLRetAskPoint*, Player*)",
- "pPacket");
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- v10 = Msg.mPrize;
- v9 = 29;
- do
- {
- memset(v10, 0, 0x14u);
- v2 = 0;
- --v9;
- v10->m_BuyPoint = 0;
- v10->m_BuyInt = 0;
- v10->m_BuyNumber = 0;
- ++v10;
- }
- while ( v9 != -1 );
- LOBYTE(v2) = 12;
- Msg.mPrizeUserID = -1;
- memset(Msg.mAccName, 0, 4 * v2);
- v3 = &Msg.mAccName[4 * v2];
- *(_WORD *)v3 = 0;
- v3[2] = 0;
- Msg.mPrizeResult = 3;
- Msg.mRetType = 0;
- Msg.mPrizeNum = 0;
- Msg.mLeftPoint = 0;
- memset(Msg.mPrize, 0, 0x3C0u);
- v4 = pPacket->mAccount;
- if ( pPacket == (Packets::BLRetAskPoint *)-8 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0x8Cu,
- "void Packets::LWRetPrize::SetAccName(const CHAR*)",
- "pAccName");
- strncpy(Msg.mAccName, v4, 0x32u);
- Msg.mAccName[50] = 0;
- v5 = pPacket->m_Index;
- Msg.mPrizeResult = 0;
- Msg.mRetType = 2;
- v6 = pPacket->mPoint;
- Msg.mPrizeUserID = v5;
- Msg.mLeftPoint = v6;
- CacheLog(0, "BLRetAskPoint...Acc=%s PUID=%d,LeftPoint = %d", v4, v5, v6);
- v7 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 0);
- if ( v7 )
- (*((void (__cdecl **)(Player *, Packets::LWRetPrize *))v7->_vptr_Player + 3))(v7, &Msg);
- CacheLog(0, "BLRetAskPoint::Execute()...OK Acc=%s PUID=%d,LeftPoint = %d", v4, pPacket->m_Index, pPacket->mPoint);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- Packet::~Packet(&Msg);
- }
- return 2;
- }
- // 80D11A8: using guessed type _DWORD (__cdecl *off_80D11A8[2])(Packets::LWRetPrize *this);
- //----- (0809BEE8) --------------------------------------------------------
- void __cdecl _tcf_0_185(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809BEF8) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetAskPointHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_185, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809BF24) --------------------------------------------------------
- UINT __cdecl Packets::BLRetPrizeHandler::Execute(Packets::BLRetPrize *pPacket, Player *pPlayer)
- {
- _BUY_DATA *v2; // esi
- USHORT v3; // si
- int v4; // eax
- int v5; // edx
- int v6; // eax
- Player *v7; // eax
- int v8; // ST14_4
- Packets::BLRetPrize *v10; // esi
- Packets::BLRetPrize *v11; // edi
- int v12; // eax
- int v13; // edx
- int v14; // eax
- signed int v15; // [esp+Ch] [ebp-45Ch]
- Packets::BLRetPrize *v16; // [esp+10h] [ebp-458h]
- Packets::BLRetPrize *v17; // [esp+14h] [ebp-454h]
- Packets::BLRetPrize *v18; // [esp+18h] [ebp-450h]
- char *src; // [esp+1Ch] [ebp-44Ch]
- unsigned int i_0; // [esp+20h] [ebp-448h]
- unsigned __int8 *v21; // [esp+2Ch] [ebp-43Ch]
- unsigned int i; // [esp+30h] [ebp-438h]
- Packets::LWRetPrize Msg; // [esp+40h] [ebp-428h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/BLRetPrizeHandler.cpp",
- 0xFu,
- "static UINT Packets::BLRetPrizeHandler::Execute(Packets::BLRetPrize*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/BLRetPrizeHandler.cpp",
- 0x12u,
- "static UINT Packets::BLRetPrizeHandler::Execute(Packets::BLRetPrize*, Player*)",
- "pPlayer");
- if ( (*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/BLRetPrizeHandler.cpp",
- 0x18u,
- "static UINT Packets::BLRetPrizeHandler::Execute(Packets::BLRetPrize*, Player*)",
- "pPacket");
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- v2 = Msg.mPrize;
- v15 = 29;
- do
- {
- memset(v2, 0, 0x14u);
- --v15;
- v2->m_BuyPoint = 0;
- v2->m_BuyInt = 0;
- v2->m_BuyNumber = 0;
- ++v2;
- }
- while ( v15 != -1 );
- Msg.mPrizeUserID = -1;
- memset(Msg.mAccName, 0, 0x30u);
- *(_WORD *)&Msg.mAccName[48] = 0;
- Msg.mAccName[50] = 0;
- Msg.mPrizeResult = 3;
- Msg.mRetType = 0;
- Msg.mPrizeNum = 0;
- Msg.mLeftPoint = 0;
- memset(Msg.mPrize, 0, 0x3C0u);
- src = pPacket->mAccount;
- if ( pPacket == (Packets::BLRetPrize *)-8 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0x8Cu,
- "void Packets::LWRetPrize::SetAccName(const CHAR*)",
- "pAccName");
- strncpy(Msg.mAccName, src, 0x32u);
- Msg.mAccName[50] = 0;
- Msg.mPrizeUserID = pPacket->m_Index;
- Msg.mPrizeResult = pPacket->mPrizeResult;
- Msg.mRetType = 1;
- if ( Msg.mPrizeResult )
- {
- if ( Msg.mPrizeResult == 2 )
- {
- i_0 = 0;
- if ( pPacket->mPrizeNum )
- {
- v10 = pPacket;
- v11 = pPacket;
- do
- {
- v12 = 0;
- if ( i_0 <= 0x1D )
- v12 = (int)v11->mPrize;
- v13 = 0;
- v14 = *(unsigned __int8 *)(v12 + 20);
- if ( i_0 <= 0x1D )
- v13 = (int)v10->mPrize;
- CacheLog(0, "BLRetPrize...AlreadyGetPrize Acc=%s price=%s,num=%d Drop", src, v13, v14);
- ++i_0;
- v11 = (Packets::BLRetPrize *)((char *)v11 + 21);
- v10 = (Packets::BLRetPrize *)((char *)v10 + 21);
- }
- while ( pPacket->mPrizeNum > (signed int)i_0 );
- }
- }
- }
- else
- {
- i = 0;
- if ( pPacket->mPrizeNum )
- {
- v18 = pPacket;
- v17 = pPacket;
- v16 = pPacket;
- do
- {
- v21 = 0;
- if ( i <= 0x1D )
- v21 = (unsigned __int8 *)v16->mPrize;
- if ( Msg.mRetType != 1 && Msg.mRetType != 5 && Msg.mRetType != 4 && Msg.mRetType != 6 && Msg.mRetType != 7 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xC8u,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "mRetType == ASK_PRIZE || mRetType == ASK_NEWUSER_CARD || mRetType == ASK_NEWPRIZE || mRetType == ASK_NEWCH"
- "ECKPRIZE || mRetType == ASK_CARDCHECKPRIZE");
- if ( Msg.mPrizeNum > 0x1Du )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xC9u,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "mPrizeNum<MAX_PRIZE_NUMBER");
- if ( !v21 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xCAu,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "pData");
- qmemcpy(&Msg.mPrize[Msg.mPrizeNum], v21, 0x14u);
- Msg.mPrize[Msg.mPrizeNum].m_BuyString[19] = 0;
- v3 = Msg.mPrizeNum;
- Msg.mPrize[Msg.mPrizeNum].m_BuyNumber = v21[20];
- Msg.mPrizeNum = v3 + 1;
- v4 = 0;
- if ( i <= 0x1D )
- v4 = (int)v17->mPrize;
- v5 = 0;
- v6 = *(unsigned __int8 *)(v4 + 20);
- if ( i <= 0x1D )
- v5 = (int)v18->mPrize;
- CacheLog(0, "BLRetPrize...GetPrize Acc=%s price=%s,num=%d", src, v5, v6);
- ++i;
- v16 = (Packets::BLRetPrize *)((char *)v16 + 21);
- v17 = (Packets::BLRetPrize *)((char *)v17 + 21);
- v18 = (Packets::BLRetPrize *)((char *)v18 + 21);
- }
- while ( pPacket->mPrizeNum > (signed int)i );
- }
- }
- v7 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 0);
- if ( v7 )
- (*((void (__cdecl **)(Player *, Packets::LWRetPrize *))v7->_vptr_Player + 3))(v7, &Msg);
- v8 = pPacket->mPrizeResult;
- CacheLog(
- 0,
- "BLRetPrize::Execute()...OK Acc=%s PrizeSerial=%s PUID=%d,Result = %d",
- src,
- pPacket->mPrizeSerial,
- pPacket->m_Index);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- Packet::~Packet(&Msg);
- }
- return 2;
- }
- // 80D11A8: using guessed type _DWORD (__cdecl *off_80D11A8[2])(Packets::LWRetPrize *this);
- //----- (0809C408) --------------------------------------------------------
- void __cdecl _tcf_0_186(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809C418) --------------------------------------------------------
- void `global constructor keyed to'Packets::BLRetPrizeHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_186, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809C444) --------------------------------------------------------
- UINT __cdecl Packets::LBAskBuyHandler::Execute(Packets::LBAskBuy *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (0809C450) --------------------------------------------------------
- void __cdecl _tcf_0_187(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809C460) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBAskBuyHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_187, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809C48C) --------------------------------------------------------
- UINT __cdecl Packets::LBAskPointHandler::Execute(Packets::LBAskPoint *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (0809C498) --------------------------------------------------------
- void __cdecl _tcf_0_188(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809C4A8) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBAskPointHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_188, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809C4D4) --------------------------------------------------------
- UINT __cdecl Packets::LBLAskNewUserCardHandler::Execute(Packets::LBLAskNewUserCard *pPacket, Player *pPlayer)
- {
- _BUY_DATA *v2; // esi
- USHORT v3; // si
- int v4; // eax
- int v5; // edx
- int v6; // eax
- Player *v7; // eax
- Packets::LBLAskNewUserCard *v9; // esi
- Packets::LBLAskNewUserCard *v10; // edi
- int v11; // eax
- int v12; // edx
- int v13; // eax
- signed int v14; // [esp+Ch] [ebp-45Ch]
- Packets::LBLAskNewUserCard *v15; // [esp+10h] [ebp-458h]
- Packets::LBLAskNewUserCard *v16; // [esp+14h] [ebp-454h]
- Packets::LBLAskNewUserCard *v17; // [esp+18h] [ebp-450h]
- char *src; // [esp+1Ch] [ebp-44Ch]
- unsigned int i_0; // [esp+20h] [ebp-448h]
- unsigned __int8 *v20; // [esp+2Ch] [ebp-43Ch]
- unsigned int i; // [esp+30h] [ebp-438h]
- Packets::LWRetPrize Msg; // [esp+40h] [ebp-428h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/LBLAskNewUserCardHandler.cpp",
- 0xFu,
- "static UINT Packets::LBLAskNewUserCardHandler::Execute(Packets::LBLAskNewUserCard*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/LBLAskNewUserCardHandler.cpp",
- 0x12u,
- "static UINT Packets::LBLAskNewUserCardHandler::Execute(Packets::LBLAskNewUserCard*, Player*)",
- "pPlayer");
- if ( pPacket->mType != 1 )
- __assert__(
- "./Packets/LBLAskNewUserCardHandler.cpp",
- 0x13u,
- "static UINT Packets::LBLAskNewUserCardHandler::Execute(Packets::LBLAskNewUserCard*, Player*)",
- "pPacket->GetType() == LBLAskNewUserCard::BL_NEWUSERCARD");
- if ( (*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/LBLAskNewUserCardHandler.cpp",
- 0x1Au,
- "static UINT Packets::LBLAskNewUserCardHandler::Execute(Packets::LBLAskNewUserCard*, Player*)",
- "pPacket");
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- v2 = Msg.mPrize;
- v14 = 29;
- do
- {
- memset(v2, 0, 0x14u);
- --v14;
- v2->m_BuyPoint = 0;
- v2->m_BuyInt = 0;
- v2->m_BuyNumber = 0;
- ++v2;
- }
- while ( v14 != -1 );
- Msg.mPrizeUserID = -1;
- memset(Msg.mAccName, 0, 0x30u);
- *(_WORD *)&Msg.mAccName[48] = 0;
- Msg.mAccName[50] = 0;
- Msg.mPrizeResult = 3;
- Msg.mRetType = 0;
- Msg.mPrizeNum = 0;
- Msg.mLeftPoint = 0;
- memset(Msg.mPrize, 0, 0x3C0u);
- src = pPacket->mAccount;
- if ( pPacket == (Packets::LBLAskNewUserCard *)-31 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0x8Cu,
- "void Packets::LWRetPrize::SetAccName(const CHAR*)",
- "pAccName");
- strncpy(Msg.mAccName, src, 0x32u);
- Msg.mAccName[50] = 0;
- Msg.mPrizeUserID = pPacket->m_Index;
- Msg.mPrizeResult = pPacket->mPrizeResult;
- Msg.mRetType = 5;
- if ( Msg.mPrizeResult )
- {
- if ( Msg.mPrizeResult == 2 )
- {
- i_0 = 0;
- if ( pPacket->mPrizeNum )
- {
- v9 = pPacket;
- v10 = pPacket;
- do
- {
- v11 = 0;
- if ( i_0 <= 0x1D )
- v11 = (int)v10->mPrize;
- v12 = 0;
- v13 = *(unsigned __int8 *)(v11 + 20);
- if ( i_0 <= 0x1D )
- v12 = (int)v9->mPrize;
- CacheLog(0, "LBLAskNewUserCard...AlreadyGetPrize Acc=%s price=%s,num=%d Drop", src, v12, v13);
- ++i_0;
- v10 = (Packets::LBLAskNewUserCard *)((char *)v10 + 21);
- v9 = (Packets::LBLAskNewUserCard *)((char *)v9 + 21);
- }
- while ( pPacket->mPrizeNum > (signed int)i_0 );
- }
- }
- }
- else
- {
- i = 0;
- if ( pPacket->mPrizeNum )
- {
- v17 = pPacket;
- v16 = pPacket;
- v15 = pPacket;
- do
- {
- v20 = 0;
- if ( i <= 0x1D )
- v20 = (unsigned __int8 *)v15->mPrize;
- if ( Msg.mRetType != 1 && Msg.mRetType != 5 && Msg.mRetType != 4 && Msg.mRetType != 6 && Msg.mRetType != 7 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xC8u,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "mRetType == ASK_PRIZE || mRetType == ASK_NEWUSER_CARD || mRetType == ASK_NEWPRIZE || mRetType == ASK_NEWCH"
- "ECKPRIZE || mRetType == ASK_CARDCHECKPRIZE");
- if ( Msg.mPrizeNum > 0x1Du )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xC9u,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "mPrizeNum<MAX_PRIZE_NUMBER");
- if ( !v20 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xCAu,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "pData");
- qmemcpy(&Msg.mPrize[Msg.mPrizeNum], v20, 0x14u);
- Msg.mPrize[Msg.mPrizeNum].m_BuyString[19] = 0;
- v3 = Msg.mPrizeNum;
- Msg.mPrize[Msg.mPrizeNum].m_BuyNumber = v20[20];
- Msg.mPrizeNum = v3 + 1;
- v4 = 0;
- if ( i <= 0x1D )
- v4 = (int)v16->mPrize;
- v5 = 0;
- v6 = *(unsigned __int8 *)(v4 + 20);
- if ( i <= 0x1D )
- v5 = (int)v17->mPrize;
- CacheLog(0, "LBLAskNewUserCard...GetPrize Acc=%s price=%s,num=%d", src, v5, v6);
- ++i;
- v15 = (Packets::LBLAskNewUserCard *)((char *)v15 + 21);
- v16 = (Packets::LBLAskNewUserCard *)((char *)v16 + 21);
- v17 = (Packets::LBLAskNewUserCard *)((char *)v17 + 21);
- }
- while ( pPacket->mPrizeNum > (signed int)i );
- }
- }
- v7 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 0);
- if ( v7 )
- (*((void (__cdecl **)(Player *, Packets::LWRetPrize *))v7->_vptr_Player + 3))(v7, &Msg);
- CacheLog(
- 0,
- "LBLAskNewUserCard::Execute()...OK Acc=%s PUID=%d,Result = %d",
- src,
- pPacket->m_Index,
- pPacket->mPrizeResult);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- Packet::~Packet(&Msg);
- }
- return 2;
- }
- // 80D11A8: using guessed type _DWORD (__cdecl *off_80D11A8[2])(Packets::LWRetPrize *this);
- //----- (0809C9F0) --------------------------------------------------------
- void __cdecl _tcf_0_189(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809CA00) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLAskNewUserCardHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_189, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809CA2C) --------------------------------------------------------
- UINT __cdecl Packets::LBLCardCheckPrizeHandler::Execute(Packets::LBLCardCheckPrize *pPacket, Player *pPlayer)
- {
- _BUY_DATA *v2; // esi
- USHORT v3; // si
- int v4; // eax
- int v5; // edx
- int v6; // eax
- Player *v7; // eax
- Packets::LBLCardCheckPrize *v9; // esi
- Packets::LBLCardCheckPrize *v10; // edi
- int v11; // eax
- int v12; // edx
- int v13; // eax
- signed int v14; // [esp+Ch] [ebp-45Ch]
- Packets::LBLCardCheckPrize *v15; // [esp+10h] [ebp-458h]
- Packets::LBLCardCheckPrize *v16; // [esp+14h] [ebp-454h]
- Packets::LBLCardCheckPrize *v17; // [esp+18h] [ebp-450h]
- char *src; // [esp+1Ch] [ebp-44Ch]
- unsigned int i_0; // [esp+20h] [ebp-448h]
- unsigned __int8 *v20; // [esp+2Ch] [ebp-43Ch]
- unsigned int i; // [esp+30h] [ebp-438h]
- Packets::LWRetPrize Msg; // [esp+40h] [ebp-428h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/LBLCardCheckPrizeHandler.cpp",
- 0xFu,
- "static UINT Packets::LBLCardCheckPrizeHandler::Execute(Packets::LBLCardCheckPrize*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/LBLCardCheckPrizeHandler.cpp",
- 0x12u,
- "static UINT Packets::LBLCardCheckPrizeHandler::Execute(Packets::LBLCardCheckPrize*, Player*)",
- "pPlayer");
- if ( pPacket->mType != 1 )
- __assert__(
- "./Packets/LBLCardCheckPrizeHandler.cpp",
- 0x13u,
- "static UINT Packets::LBLCardCheckPrizeHandler::Execute(Packets::LBLCardCheckPrize*, Player*)",
- "pPacket->GetType() == LBLCardCheckPrize::BL_CARDCHECKPRIZE");
- if ( (*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/LBLCardCheckPrizeHandler.cpp",
- 0x1Au,
- "static UINT Packets::LBLCardCheckPrizeHandler::Execute(Packets::LBLCardCheckPrize*, Player*)",
- "pPacket");
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- v2 = Msg.mPrize;
- v14 = 29;
- do
- {
- memset(v2, 0, 0x14u);
- --v14;
- v2->m_BuyPoint = 0;
- v2->m_BuyInt = 0;
- v2->m_BuyNumber = 0;
- ++v2;
- }
- while ( v14 != -1 );
- Msg.mPrizeUserID = -1;
- memset(Msg.mAccName, 0, 0x30u);
- *(_WORD *)&Msg.mAccName[48] = 0;
- Msg.mAccName[50] = 0;
- Msg.mPrizeResult = 3;
- Msg.mRetType = 0;
- Msg.mPrizeNum = 0;
- Msg.mLeftPoint = 0;
- memset(Msg.mPrize, 0, 0x3C0u);
- src = pPacket->mAccount;
- if ( pPacket == (Packets::LBLCardCheckPrize *)-31 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0x8Cu,
- "void Packets::LWRetPrize::SetAccName(const CHAR*)",
- "pAccName");
- strncpy(Msg.mAccName, src, 0x32u);
- Msg.mAccName[50] = 0;
- Msg.mPrizeUserID = pPacket->m_Index;
- Msg.mPrizeResult = pPacket->mPrizeResult;
- Msg.mRetType = 7;
- if ( Msg.mPrizeResult )
- {
- if ( Msg.mPrizeResult == 2 )
- {
- i_0 = 0;
- if ( pPacket->mPrizeNum )
- {
- v9 = pPacket;
- v10 = pPacket;
- do
- {
- v11 = 0;
- if ( i_0 <= 0x1D )
- v11 = (int)v10->mPrize;
- v12 = 0;
- v13 = *(unsigned __int8 *)(v11 + 20);
- if ( i_0 <= 0x1D )
- v12 = (int)v9->mPrize;
- CacheLog(0, "LBLCardCheckPrize...AlreadyGetPrize Acc=%s price=%s,num=%d Drop", src, v12, v13);
- ++i_0;
- v10 = (Packets::LBLCardCheckPrize *)((char *)v10 + 21);
- v9 = (Packets::LBLCardCheckPrize *)((char *)v9 + 21);
- }
- while ( pPacket->mPrizeNum > (signed int)i_0 );
- }
- }
- }
- else
- {
- i = 0;
- if ( pPacket->mPrizeNum )
- {
- v17 = pPacket;
- v16 = pPacket;
- v15 = pPacket;
- do
- {
- v20 = 0;
- if ( i <= 0x1D )
- v20 = (unsigned __int8 *)v15->mPrize;
- if ( Msg.mRetType != 1 && Msg.mRetType != 5 && Msg.mRetType != 4 && Msg.mRetType != 6 && Msg.mRetType != 7 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xC8u,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "mRetType == ASK_PRIZE || mRetType == ASK_NEWUSER_CARD || mRetType == ASK_NEWPRIZE || mRetType == ASK_NEWCH"
- "ECKPRIZE || mRetType == ASK_CARDCHECKPRIZE");
- if ( Msg.mPrizeNum > 0x1Du )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xC9u,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "mPrizeNum<MAX_PRIZE_NUMBER");
- if ( !v20 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xCAu,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "pData");
- qmemcpy(&Msg.mPrize[Msg.mPrizeNum], v20, 0x14u);
- Msg.mPrize[Msg.mPrizeNum].m_BuyString[19] = 0;
- v3 = Msg.mPrizeNum;
- Msg.mPrize[Msg.mPrizeNum].m_BuyNumber = v20[20];
- Msg.mPrizeNum = v3 + 1;
- v4 = 0;
- if ( i <= 0x1D )
- v4 = (int)v16->mPrize;
- v5 = 0;
- v6 = *(unsigned __int8 *)(v4 + 20);
- if ( i <= 0x1D )
- v5 = (int)v17->mPrize;
- CacheLog(0, "LBLCardCheckPrize...GetPrize Acc=%s price=%s,num=%d", src, v5, v6);
- ++i;
- v15 = (Packets::LBLCardCheckPrize *)((char *)v15 + 21);
- v16 = (Packets::LBLCardCheckPrize *)((char *)v16 + 21);
- v17 = (Packets::LBLCardCheckPrize *)((char *)v17 + 21);
- }
- while ( pPacket->mPrizeNum > (signed int)i );
- }
- }
- v7 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 0);
- if ( v7 )
- (*((void (__cdecl **)(Player *, Packets::LWRetPrize *))v7->_vptr_Player + 3))(v7, &Msg);
- CacheLog(
- 0,
- "LBLCardCheckPrize::Execute()...OK Acc=%s PUID=%d,Result = %d",
- src,
- pPacket->m_Index,
- pPacket->mPrizeResult);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- Packet::~Packet(&Msg);
- }
- return 2;
- }
- // 80D11A8: using guessed type _DWORD (__cdecl *off_80D11A8[2])(Packets::LWRetPrize *this);
- //----- (0809CF48) --------------------------------------------------------
- void __cdecl _tcf_0_190(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809CF58) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLCardCheckPrizeHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_190, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809CF84) --------------------------------------------------------
- UINT __cdecl Packets::LBLNewCheckPrizeHandler::Execute(Packets::LBLNewCheckPrize *pPacket, Player *pPlayer)
- {
- _BUY_DATA *v2; // esi
- USHORT v3; // si
- Player *v4; // eax
- signed int v6; // [esp+Ch] [ebp-45Ch]
- Packets::LBLNewCheckPrize *v7; // [esp+1Ch] [ebp-44Ch]
- char *src; // [esp+20h] [ebp-448h]
- unsigned __int8 *v9; // [esp+2Ch] [ebp-43Ch]
- INT i; // [esp+30h] [ebp-438h]
- Packets::LWRetPrize Msg; // [esp+40h] [ebp-428h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/LBLNewCheckPrizeHandler.cpp",
- 0xFu,
- "static UINT Packets::LBLNewCheckPrizeHandler::Execute(Packets::LBLNewCheckPrize*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/LBLNewCheckPrizeHandler.cpp",
- 0x12u,
- "static UINT Packets::LBLNewCheckPrizeHandler::Execute(Packets::LBLNewCheckPrize*, Player*)",
- "pPlayer");
- if ( pPacket->mType != 1 )
- __assert__(
- "./Packets/LBLNewCheckPrizeHandler.cpp",
- 0x13u,
- "static UINT Packets::LBLNewCheckPrizeHandler::Execute(Packets::LBLNewCheckPrize*, Player*)",
- "pPacket->GetType() == LBLNewCheckPrize::BL_CHECK_PRIZE");
- if ( (*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/LBLNewCheckPrizeHandler.cpp",
- 0x1Au,
- "static UINT Packets::LBLNewCheckPrizeHandler::Execute(Packets::LBLNewCheckPrize*, Player*)",
- "pPacket");
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- v2 = Msg.mPrize;
- v6 = 29;
- do
- {
- memset(v2, 0, 0x14u);
- --v6;
- v2->m_BuyPoint = 0;
- v2->m_BuyInt = 0;
- v2->m_BuyNumber = 0;
- ++v2;
- }
- while ( v6 != -1 );
- Msg.mPrizeUserID = -1;
- memset(Msg.mAccName, 0, 0x30u);
- *(_WORD *)&Msg.mAccName[48] = 0;
- Msg.mAccName[50] = 0;
- Msg.mPrizeResult = 3;
- Msg.mRetType = 0;
- Msg.mPrizeNum = 0;
- Msg.mLeftPoint = 0;
- memset(Msg.mPrize, 0, 0x3C0u);
- src = pPacket->mAccount;
- if ( pPacket == (Packets::LBLNewCheckPrize *)-9 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0x8Cu,
- "void Packets::LWRetPrize::SetAccName(const CHAR*)",
- "pAccName");
- strncpy(Msg.mAccName, src, 0x32u);
- Msg.mAccName[50] = 0;
- Msg.mPrizeUserID = pPacket->m_Index;
- Msg.mPrizeResult = pPacket->mPrizeResult;
- Msg.mRetType = 6;
- if ( !Msg.mPrizeResult )
- {
- i = 0;
- if ( pPacket->mPrizeNum )
- {
- v7 = pPacket;
- do
- {
- v9 = 0;
- if ( (unsigned int)i <= 0x1D )
- v9 = (unsigned __int8 *)v7->mPrize;
- if ( Msg.mRetType != 1 && Msg.mRetType != 5 && Msg.mRetType != 4 && Msg.mRetType != 6 && Msg.mRetType != 7 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xC8u,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "mRetType == ASK_PRIZE || mRetType == ASK_NEWUSER_CARD || mRetType == ASK_NEWPRIZE || mRetType == ASK_NEWCH"
- "ECKPRIZE || mRetType == ASK_CARDCHECKPRIZE");
- if ( Msg.mPrizeNum > 0x1Du )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xC9u,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "mPrizeNum<MAX_PRIZE_NUMBER");
- if ( !v9 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xCAu,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "pData");
- qmemcpy(&Msg.mPrize[Msg.mPrizeNum], v9, 0x14u);
- Msg.mPrize[Msg.mPrizeNum].m_BuyString[19] = 0;
- v3 = Msg.mPrizeNum;
- Msg.mPrize[Msg.mPrizeNum].m_BuyNumber = v9[20];
- ++i;
- v7 = (Packets::LBLNewCheckPrize *)((char *)v7 + 21);
- Msg.mPrizeNum = v3 + 1;
- }
- while ( pPacket->mPrizeNum > i );
- }
- }
- v4 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 0);
- if ( v4 )
- (*((void (__cdecl **)(Player *, Packets::LWRetPrize *))v4->_vptr_Player + 3))(v4, &Msg);
- CacheLog(
- 0,
- "LBLNewCheckPrize::Execute()...OK Acc=%s PUID=%d,Result = %d",
- src,
- pPacket->m_Index,
- pPacket->mPrizeResult);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- Packet::~Packet(&Msg);
- }
- return 2;
- }
- // 80D11A8: using guessed type _DWORD (__cdecl *off_80D11A8[2])(Packets::LWRetPrize *this);
- //----- (0809D36C) --------------------------------------------------------
- void __cdecl _tcf_0_191(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809D37C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLNewCheckPrizeHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_191, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809D3A8) --------------------------------------------------------
- UINT __cdecl Packets::LBLNewPrizeHandler::Execute(Packets::LBLNewPrize *pPacket, Player *pPlayer)
- {
- _BUY_DATA *v2; // esi
- USHORT v3; // si
- int v4; // eax
- int v5; // edx
- int v6; // eax
- Player *v7; // eax
- Packets::LBLNewPrize *v9; // esi
- Packets::LBLNewPrize *v10; // edi
- int v11; // eax
- int v12; // edx
- int v13; // eax
- signed int v14; // [esp+Ch] [ebp-45Ch]
- Packets::LBLNewPrize *v15; // [esp+10h] [ebp-458h]
- Packets::LBLNewPrize *v16; // [esp+14h] [ebp-454h]
- Packets::LBLNewPrize *v17; // [esp+18h] [ebp-450h]
- char *src; // [esp+1Ch] [ebp-44Ch]
- unsigned int i_0; // [esp+20h] [ebp-448h]
- unsigned __int8 *v20; // [esp+2Ch] [ebp-43Ch]
- unsigned int i; // [esp+30h] [ebp-438h]
- Packets::LWRetPrize Msg; // [esp+40h] [ebp-428h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/LBLNewPrizeHandler.cpp",
- 0xFu,
- "static UINT Packets::LBLNewPrizeHandler::Execute(Packets::LBLNewPrize*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/LBLNewPrizeHandler.cpp",
- 0x12u,
- "static UINT Packets::LBLNewPrizeHandler::Execute(Packets::LBLNewPrize*, Player*)",
- "pPlayer");
- if ( pPacket->mType != 1 )
- __assert__(
- "./Packets/LBLNewPrizeHandler.cpp",
- 0x13u,
- "static UINT Packets::LBLNewPrizeHandler::Execute(Packets::LBLNewPrize*, Player*)",
- "pPacket->GetType() == LBLNewPrize::BL_NEW_PRIZE");
- if ( (*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/LBLNewPrizeHandler.cpp",
- 0x1Au,
- "static UINT Packets::LBLNewPrizeHandler::Execute(Packets::LBLNewPrize*, Player*)",
- "pPacket");
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- v2 = Msg.mPrize;
- v14 = 29;
- do
- {
- memset(v2, 0, 0x14u);
- --v14;
- v2->m_BuyPoint = 0;
- v2->m_BuyInt = 0;
- v2->m_BuyNumber = 0;
- ++v2;
- }
- while ( v14 != -1 );
- Msg.mPrizeUserID = -1;
- memset(Msg.mAccName, 0, 0x30u);
- *(_WORD *)&Msg.mAccName[48] = 0;
- Msg.mAccName[50] = 0;
- Msg.mPrizeResult = 3;
- Msg.mRetType = 0;
- Msg.mPrizeNum = 0;
- Msg.mLeftPoint = 0;
- memset(Msg.mPrize, 0, 0x3C0u);
- src = pPacket->mAccount;
- if ( pPacket == (Packets::LBLNewPrize *)-9 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0x8Cu,
- "void Packets::LWRetPrize::SetAccName(const CHAR*)",
- "pAccName");
- strncpy(Msg.mAccName, src, 0x32u);
- Msg.mAccName[50] = 0;
- Msg.mPrizeUserID = pPacket->m_Index;
- Msg.mPrizeResult = pPacket->mPrizeResult;
- Msg.mRetType = 4;
- if ( Msg.mPrizeResult )
- {
- if ( Msg.mPrizeResult == 2 )
- {
- i_0 = 0;
- if ( pPacket->mPrizeNum )
- {
- v9 = pPacket;
- v10 = pPacket;
- do
- {
- v11 = 0;
- if ( i_0 <= 0x1D )
- v11 = (int)v10->mPrize;
- v12 = 0;
- v13 = *(unsigned __int8 *)(v11 + 20);
- if ( i_0 <= 0x1D )
- v12 = (int)v9->mPrize;
- CacheLog(0, "LBLNewPrize...AlreadyGetPrize Acc=%s price=%s,num=%d Drop", src, v12, v13);
- ++i_0;
- v10 = (Packets::LBLNewPrize *)((char *)v10 + 21);
- v9 = (Packets::LBLNewPrize *)((char *)v9 + 21);
- }
- while ( pPacket->mPrizeNum > (signed int)i_0 );
- }
- }
- }
- else
- {
- i = 0;
- if ( pPacket->mPrizeNum )
- {
- v17 = pPacket;
- v16 = pPacket;
- v15 = pPacket;
- do
- {
- v20 = 0;
- if ( i <= 0x1D )
- v20 = (unsigned __int8 *)v15->mPrize;
- if ( Msg.mRetType != 1 && Msg.mRetType != 5 && Msg.mRetType != 4 && Msg.mRetType != 6 && Msg.mRetType != 7 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xC8u,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "mRetType == ASK_PRIZE || mRetType == ASK_NEWUSER_CARD || mRetType == ASK_NEWPRIZE || mRetType == ASK_NEWCH"
- "ECKPRIZE || mRetType == ASK_CARDCHECKPRIZE");
- if ( Msg.mPrizeNum > 0x1Du )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xC9u,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "mPrizeNum<MAX_PRIZE_NUMBER");
- if ( !v20 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xCAu,
- "void Packets::LWRetPrize::AddPrize(_PRIZE_DATA*)",
- "pData");
- qmemcpy(&Msg.mPrize[Msg.mPrizeNum], v20, 0x14u);
- Msg.mPrize[Msg.mPrizeNum].m_BuyString[19] = 0;
- v3 = Msg.mPrizeNum;
- Msg.mPrize[Msg.mPrizeNum].m_BuyNumber = v20[20];
- Msg.mPrizeNum = v3 + 1;
- v4 = 0;
- if ( i <= 0x1D )
- v4 = (int)v16->mPrize;
- v5 = 0;
- v6 = *(unsigned __int8 *)(v4 + 20);
- if ( i <= 0x1D )
- v5 = (int)v17->mPrize;
- CacheLog(0, "LBLNewPrize...GetPrize Acc=%s price=%s,num=%d", src, v5, v6);
- ++i;
- v15 = (Packets::LBLNewPrize *)((char *)v15 + 21);
- v16 = (Packets::LBLNewPrize *)((char *)v16 + 21);
- v17 = (Packets::LBLNewPrize *)((char *)v17 + 21);
- }
- while ( pPacket->mPrizeNum > (signed int)i );
- }
- }
- v7 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 0);
- if ( v7 )
- (*((void (__cdecl **)(Player *, Packets::LWRetPrize *))v7->_vptr_Player + 3))(v7, &Msg);
- CacheLog(0, "LBLNewPrize::Execute()...OK Acc=%s PUID=%d,Result = %d", src, pPacket->m_Index, pPacket->mPrizeResult);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- Packet::~Packet(&Msg);
- }
- return 2;
- }
- // 80D11A8: using guessed type _DWORD (__cdecl *off_80D11A8[2])(Packets::LWRetPrize *this);
- //----- (0809D8C4) --------------------------------------------------------
- void __cdecl _tcf_0_192(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809D8D4) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLNewPrizeHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_192, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809D900) --------------------------------------------------------
- UINT __cdecl Packets::LBPrizeHandler::Execute(Packets::LBPrize *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (0809D90C) --------------------------------------------------------
- void __cdecl _tcf_0_193(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809D91C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBPrizeHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_193, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809D948) --------------------------------------------------------
- UINT __cdecl Packets::LWRetPrizeHandler::Execute(Packets::LWRetPrize *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (0809D954) --------------------------------------------------------
- void __cdecl _tcf_0_194(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809D964) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWRetPrizeHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_194, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809D990) --------------------------------------------------------
- UINT __cdecl Packets::WLAskPrizeHandler::Execute(Packets::WLAskPrize *pPacket, Player *pPlayer)
- {
- _BUY_DATA *v2; // ebx
- Player *v3; // eax
- CHAR *v4; // ecx
- _SERVER_DATA *v6; // eax
- BYTE v7; // al
- signed int v8; // edx
- signed int v9; // eax
- signed int v10; // eax
- CHAR *v11; // ebx
- signed int v12; // eax
- signed int v13; // eax
- int v14; // ST24_4
- _DWORD *v15; // edi
- signed int v16; // edx
- signed int v17; // eax
- signed int v18; // eax
- signed int v19; // eax
- int v20; // ST24_4
- signed int v21; // edx
- signed int v22; // eax
- signed int v23; // eax
- signed int v24; // eax
- int v25; // ST24_4
- _DWORD *v26; // eax
- signed int v27; // edx
- signed int v28; // eax
- signed int v29; // eax
- signed int v30; // eax
- signed int v31; // eax
- int v32; // ST24_4
- signed int v33; // eax
- signed int v34; // eax
- signed int v35; // eax
- int v36; // ST24_4
- signed int v37; // eax
- signed int v38; // eax
- signed int v39; // eax
- UINT v40; // ST24_4
- signed int v41; // eax
- signed int v42; // eax
- signed int v43; // eax
- int v44; // ST24_4
- signed int v45; // [esp+Ch] [ebp-12BCh]
- _PRIZE_DATA *v46; // [esp+Ch] [ebp-12BCh]
- _PRIZE_DATA *v47; // [esp+Ch] [ebp-12BCh]
- _PRIZE_DATA *v48; // [esp+Ch] [ebp-12BCh]
- _PRIZE_DATA *v49; // [esp+Ch] [ebp-12BCh]
- CHAR *v50; // [esp+14h] [ebp-12B4h]
- char *src; // [esp+18h] [ebp-12B0h]
- char *srca; // [esp+18h] [ebp-12B0h]
- BillingPlayer *pBillPlayer; // [esp+CCh] [ebp-11FCh]
- ServerPlayer *pServerPlayer; // [esp+DCh] [ebp-11ECh]
- Packets::LBLCardCheckPrize Msg; // [esp+E0h] [ebp-11E8h]
- Packets::LBLNewCheckPrize Msg_0; // [esp+3E0h] [ebp-EE8h]
- Packets::LBLNewPrize Msg_1; // [esp+6D0h] [ebp-BF8h]
- Packets::LBLAskNewUserCard Msg_2; // [esp+9E0h] [ebp-8E8h]
- Packets::LBAskBuy Msg_4; // [esp+CF0h] [ebp-5D8h]
- Packets::LBAskPoint Msg_3; // [esp+D80h] [ebp-548h]
- Packets::LBPrize Msg_5; // [esp+DF0h] [ebp-4D8h]
- CHAR szSerialKey[22]; // [esp+E80h] [ebp-448h]
- Packets::LWRetPrize retMsg; // [esp+EA0h] [ebp-428h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/WLAskPrizeHandler.cpp",
- 0xCBu,
- "static UINT Packets::WLAskPrizeHandler::Execute(Packets::WLAskPrize*, Player*)",
- "FALSE");
- if ( !pPacket )
- __assert__(
- "./Packets/WLAskPrizeHandler.cpp",
- 0x19u,
- "static UINT Packets::WLAskPrizeHandler::Execute(Packets::WLAskPrize*, Player*)",
- "pPacket");
- if ( ServerManager::IsBillingServerActive(*(ServerManager *const *)&g_pServerManager) )
- {
- v3 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 1);
- pBillPlayer = (BillingPlayer *)v3;
- if ( !v3 || !(*((int (__cdecl **)(Player *))v3->_vptr_Player + 25))(v3) )
- __assert__(
- "./Packets/WLAskPrizeHandler.cpp",
- 0xC4u,
- "static UINT Packets::WLAskPrizeHandler::Execute(Packets::WLAskPrize*, Player*)",
- "FALSE");
- memset(szSerialKey, 0, 0x14u);
- *(_WORD *)&szSerialKey[20] = 0;
- v6 = ServerManager::GetCurrentServerInfo(*(ServerManager *const *)&g_pServerManager);
- GetSerialKey(szSerialKey, g_Config.m_WorldInfo.m_ZoneID, g_Config.m_WorldInfo.m_WorldID, v6->m_ServerID);
- v7 = pPacket->m_askType;
- if ( v7 == 1 )
- {
- BillPacket::BillPacket(&Msg_5);
- Msg_5._vptr_BillPacket = (int (**)(...))off_80D1048;
- memset(Msg_5.mAccount, 0, 0x30u);
- *(_WORD *)&Msg_5.mAccount[48] = 0;
- Msg_5.mAccount[50] = 0;
- memset(Msg_5.mIP, 0, sizeof(Msg_5.mIP));
- memset(Msg_5.mCharName, 0, 0x1Cu);
- *(_WORD *)&Msg_5.mCharName[28] = 0;
- Msg_5.mCharName[30] = 0;
- memset(Msg_5.mPrizeSerial, 0, 0x14u);
- *(_WORD *)&Msg_5.mPrizeSerial[20] = 0;
- srca = pPacket->m_AccName;
- Msg_5.mCharNameLength = 0;
- Msg_5.mIPLength = 0;
- Msg_5.mAccLength = 0;
- Msg_5.mPrizeType = 0;
- Msg_5.mLevel = 1;
- strncpy(Msg_5.mAccount, pPacket->m_AccName, 0x32u);
- Msg_5.mAccount[50] = 0;
- Msg_5.mAccLength = 0;
- v41 = 0;
- do
- {
- if ( Msg_5.mAccount[v41] )
- ++Msg_5.mAccLength;
- ++v41;
- }
- while ( v41 <= 49 );
- v50 = pPacket->m_CharName;
- strncpy(Msg_5.mCharName, pPacket->m_CharName, 0x1Eu);
- Msg_5.mCharName[30] = 0;
- Msg_5.mCharNameLength = 0;
- v42 = 0;
- do
- {
- if ( Msg_5.mCharName[v42] )
- ++Msg_5.mCharNameLength;
- ++v42;
- }
- while ( v42 <= 29 );
- v11 = pPacket->m_Host;
- strncpy(Msg_5.mIP, pPacket->m_Host, 0xFu);
- Msg_5.mIPLength = 0;
- v43 = 0;
- do
- {
- if ( Msg_5.mIP[v43] )
- ++Msg_5.mIPLength;
- ++v43;
- }
- while ( v43 <= 14 );
- strncpy(Msg_5.mPrizeSerial, szSerialKey, 0x15u);
- Msg_5.mPrizeSerial[21] = 0;
- Msg_5.mPrizeType = pPacket->m_GoodsType;
- Msg_5.m_Index = pPacket->m_PrizeUserID;
- (*((void (__cdecl **)(BillingPlayer *, Packets::LBPrize *))pBillPlayer->_vptr_Player + 29))(pBillPlayer, &Msg_5);
- v44 = pPacket->m_PrizeUserID;
- CacheLog(0, "WLAskPrizeHandler...AskPrize acc=%s,char=%s,ip=%s,PUID=%d,key=%s", srca, v50, pPacket->m_Host);
- Msg_5._vptr_BillPacket = (int (**)(...))off_80D1048;
- v15 = &Msg_5;
- goto LABEL_140;
- }
- if ( v7 == 2 )
- {
- BillPacket::BillPacket(&Msg_3);
- Msg_3._vptr_BillPacket = (int (**)(...))off_80D0868;
- memset(Msg_3.mAccount, 0, 0x30u);
- *(_WORD *)&Msg_3.mAccount[48] = 0;
- Msg_3.mAccount[50] = 0;
- memset(Msg_3.mIP, 0, sizeof(Msg_3.mIP));
- memset(Msg_3.mCharName, 0, 0x1Cu);
- *(_WORD *)&Msg_3.mCharName[28] = 0;
- Msg_3.mCharName[30] = 0;
- Msg_3.mCharNameLength = 0;
- Msg_3.mIPLength = 0;
- Msg_3.mAccLength = 0;
- srca = pPacket->m_AccName;
- strncpy(Msg_3.mAccount, pPacket->m_AccName, 0x32u);
- Msg_3.mAccount[50] = 0;
- Msg_3.mAccLength = 0;
- v33 = 0;
- do
- {
- if ( Msg_3.mAccount[v33] )
- ++Msg_3.mAccLength;
- ++v33;
- }
- while ( v33 <= 49 );
- v50 = pPacket->m_CharName;
- strncpy(Msg_3.mCharName, pPacket->m_CharName, 0x1Eu);
- Msg_3.mCharName[30] = 0;
- Msg_3.mCharNameLength = 0;
- v34 = 0;
- do
- {
- if ( Msg_3.mCharName[v34] )
- ++Msg_3.mCharNameLength;
- ++v34;
- }
- while ( v34 <= 29 );
- v11 = pPacket->m_Host;
- strncpy(Msg_3.mIP, pPacket->m_Host, 0xFu);
- Msg_3.mIPLength = 0;
- v35 = 0;
- do
- {
- if ( Msg_3.mIP[v35] )
- ++Msg_3.mIPLength;
- ++v35;
- }
- while ( v35 <= 14 );
- Msg_3.m_Index = pPacket->m_PrizeUserID;
- (*((void (__cdecl **)(BillingPlayer *, Packets::LBAskPoint *))pBillPlayer->_vptr_Player + 29))(
- pBillPlayer,
- &Msg_3);
- v36 = pPacket->m_PrizeUserID;
- CacheLog(0, "WLAskPrizeHandler...AskPoint acc=%s,char=%s,ip=%s,PUID=%d", srca, v50, pPacket->m_Host);
- Msg_3._vptr_BillPacket = (int (**)(...))off_80D0868;
- v26 = &Msg_3;
- }
- else
- {
- if ( v7 == 3 )
- {
- BillPacket::BillPacket(&Msg_4);
- Msg_4._vptr_BillPacket = (int (**)(...))off_80D0708;
- memset(Msg_4.mAccount, 0, 0x30u);
- *(_WORD *)&Msg_4.mAccount[48] = 0;
- Msg_4.mAccount[50] = 0;
- memset(Msg_4.mIP, 0, sizeof(Msg_4.mIP));
- memset(Msg_4.mCharName, 0, 0x1Cu);
- *(_WORD *)&Msg_4.mCharName[28] = 0;
- Msg_4.mCharName[30] = 0;
- memset(Msg_4.mPrizeSerial, 0, 0x14u);
- *(_WORD *)&Msg_4.mPrizeSerial[20] = 0;
- srca = pPacket->m_AccName;
- Msg_4.mCharNameLength = 0;
- Msg_4.mIPLength = 0;
- Msg_4.mAccLength = 0;
- Msg_4.mGoodsTypeNum = 1;
- Msg_4.mCostPoint = 0;
- Msg_4.mGoodsType = 0;
- Msg_4.mGoodsNumber = 0;
- strncpy(Msg_4.mAccount, pPacket->m_AccName, 0x32u);
- Msg_4.mAccount[50] = 0;
- Msg_4.mAccLength = 0;
- v37 = 0;
- do
- {
- if ( Msg_4.mAccount[v37] )
- ++Msg_4.mAccLength;
- ++v37;
- }
- while ( v37 <= 49 );
- v50 = pPacket->m_CharName;
- strncpy(Msg_4.mCharName, pPacket->m_CharName, 0x1Eu);
- Msg_4.mCharName[30] = 0;
- Msg_4.mCharNameLength = 0;
- v38 = 0;
- do
- {
- if ( Msg_4.mCharName[v38] )
- ++Msg_4.mCharNameLength;
- ++v38;
- }
- while ( v38 <= 29 );
- v11 = pPacket->m_Host;
- strncpy(Msg_4.mIP, pPacket->m_Host, 0xFu);
- Msg_4.mIPLength = 0;
- v39 = 0;
- do
- {
- if ( Msg_4.mIP[v39] )
- ++Msg_4.mIPLength;
- ++v39;
- }
- while ( v39 <= 14 );
- strncpy(Msg_4.mPrizeSerial, szSerialKey, 0x15u);
- Msg_4.mPrizeSerial[21] = 0;
- Msg_4.mGoodsType = pPacket->m_GoodsType;
- Msg_4.mGoodsNumber = pPacket->m_GoodsNumber;
- Msg_4.mCostPoint = pPacket->m_CostPoint;
- Msg_4.m_Index = pPacket->m_PrizeUserID;
- (*((void (__cdecl **)(BillingPlayer *))pBillPlayer->_vptr_Player + 29))(pBillPlayer);
- v40 = pPacket->m_CostPoint;
- CacheLog(
- 0,
- "WLAskPrizeHandler...AskBuy acc=%s,char=%s,ip=%s,PUID=%d,key=%s,(%u:%u:%u)",
- srca,
- v50,
- pPacket->m_Host,
- pPacket->m_PrizeUserID,
- szSerialKey,
- pPacket->m_GoodsType,
- pPacket->m_GoodsNumber);
- Msg_4._vptr_BillPacket = (int (**)(...))off_80D0708;
- BillPacket::~BillPacket(&Msg_4);
- goto LABEL_113;
- }
- if ( v7 == 5 )
- {
- BillPacket::BillPacket(&Msg_2);
- Msg_2._vptr_BillPacket = (int (**)(...))off_80D09E8;
- v49 = Msg_2.mPrize;
- v27 = 29;
- do
- {
- memset(v49, 0, 0x14u);
- --v27;
- v49->m_PrizeNum = 0;
- ++v49;
- }
- while ( v27 != -1 );
- memset(Msg_2.mAccount, 0, 0x30u);
- *(_WORD *)&Msg_2.mAccount[48] = 0;
- Msg_2.mAccount[50] = 0;
- memset(Msg_2.mIP, 0, sizeof(Msg_2.mIP));
- memset(Msg_2.mCharName, 0, 0x1Cu);
- *(_WORD *)&Msg_2.mCharName[28] = 0;
- Msg_2.mCharName[30] = 0;
- memset(Msg_2.mNewuserCard, 0, 0x14u);
- Msg_2.mNewuserCard[20] = 0;
- memset(Msg_2.mPrize, 0, 0x276u);
- srca = pPacket->m_AccName;
- Msg_2.mCharNameLength = 0;
- Msg_2.mIPLength = 0;
- Msg_2.mAccLength = 0;
- Msg_2.mCardLength = 0;
- Msg_2.mPrizeResult = 0;
- Msg_2.mAccLevel = 1;
- Msg_2.mAccGuid = -1;
- Msg_2.mType = 0;
- strncpy(Msg_2.mAccount, pPacket->m_AccName, 0x32u);
- Msg_2.mAccount[50] = 0;
- Msg_2.mAccLength = 0;
- v28 = 0;
- do
- {
- if ( Msg_2.mAccount[v28] )
- ++Msg_2.mAccLength;
- ++v28;
- }
- while ( v28 <= 49 );
- v50 = pPacket->m_CharName;
- strncpy(Msg_2.mCharName, pPacket->m_CharName, 0x1Eu);
- Msg_2.mCharName[30] = 0;
- Msg_2.mCharNameLength = 0;
- v29 = 0;
- do
- {
- if ( Msg_2.mCharName[v29] )
- ++Msg_2.mCharNameLength;
- ++v29;
- }
- while ( v29 <= 29 );
- v11 = pPacket->m_Host;
- strncpy(Msg_2.mIP, pPacket->m_Host, 0xFu);
- Msg_2.mIPLength = 0;
- v30 = 0;
- do
- {
- if ( Msg_2.mIP[v30] )
- ++Msg_2.mIPLength;
- ++v30;
- }
- while ( v30 <= 14 );
- strncpy(Msg_2.mNewuserCard, pPacket->m_NewUserCard, 0x14u);
- Msg_2.mNewuserCard[20] = 0;
- Msg_2.mCardLength = 0;
- v31 = 0;
- do
- {
- if ( Msg_2.mNewuserCard[v31] )
- ++Msg_2.mCardLength;
- ++v31;
- }
- while ( v31 <= 20 );
- Msg_2.m_Index = pPacket->m_PrizeUserID;
- Msg_2.mAccGuid = pPacket->m_GUID;
- Msg_2.mAccLevel = pPacket->m_usAccLevel;
- (*((void (__cdecl **)(BillingPlayer *, Packets::LBLAskNewUserCard *))pBillPlayer->_vptr_Player + 29))(
- pBillPlayer,
- &Msg_2);
- v32 = pPacket->m_PrizeUserID;
- CacheLog(
- 0,
- "WLAskPrizeHandler...ASK_NEWUSER_CARD acc=%s,char=%s,ip=%s,PUID=%d,card=%s",
- srca,
- v50,
- pPacket->m_Host);
- v15 = &Msg_2;
- Msg_2._vptr_BillPacket = (int (**)(...))off_80D09E8;
- goto LABEL_140;
- }
- if ( v7 != 4 )
- {
- if ( v7 == 6 )
- {
- BillPacket::BillPacket(&Msg_0);
- Msg_0._vptr_BillPacket = (int (**)(...))off_80D0D28;
- v47 = Msg_0.mPrize;
- v16 = 29;
- do
- {
- memset(v47, 0, 0x14u);
- --v16;
- v47->m_PrizeNum = 0;
- ++v47;
- }
- while ( v16 != -1 );
- Msg_0.mType = 1;
- memset(Msg_0.mAccount, 0, 0x30u);
- *(_WORD *)&Msg_0.mAccount[48] = 0;
- Msg_0.mAccount[50] = 0;
- memset(Msg_0.mIP, 0, sizeof(Msg_0.mIP));
- memset(Msg_0.mCharName, 0, 0x1Cu);
- *(_WORD *)&Msg_0.mCharName[28] = 0;
- Msg_0.mCharName[30] = 0;
- Msg_0.mCharNameLength = 0;
- Msg_0.mIPLength = 0;
- Msg_0.mAccLength = 0;
- memset(Msg_0.mPrize, 0, 0x276u);
- Msg_0.mPrizeResult = 0;
- Msg_0.mPrizeNum = 0;
- Msg_0.mType = 0;
- srca = pPacket->m_AccName;
- strncpy(Msg_0.mAccount, pPacket->m_AccName, 0x32u);
- Msg_0.mAccount[50] = 0;
- Msg_0.mAccLength = 0;
- v17 = 0;
- do
- {
- if ( Msg_0.mAccount[v17] )
- ++Msg_0.mAccLength;
- ++v17;
- }
- while ( v17 <= 49 );
- v50 = pPacket->m_CharName;
- strncpy(Msg_0.mCharName, pPacket->m_CharName, 0x1Eu);
- Msg_0.mCharName[30] = 0;
- Msg_0.mCharNameLength = 0;
- v18 = 0;
- do
- {
- if ( Msg_0.mCharName[v18] )
- ++Msg_0.mCharNameLength;
- ++v18;
- }
- while ( v18 <= 29 );
- v11 = pPacket->m_Host;
- strncpy(Msg_0.mIP, pPacket->m_Host, 0xFu);
- Msg_0.mIPLength = 0;
- v19 = 0;
- do
- {
- if ( Msg_0.mIP[v19] )
- ++Msg_0.mIPLength;
- ++v19;
- }
- while ( v19 <= 14 );
- Msg_0.m_Index = pPacket->m_PrizeUserID;
- (*((void (__cdecl **)(BillingPlayer *, Packets::LBLNewCheckPrize *))pBillPlayer->_vptr_Player + 29))(
- pBillPlayer,
- &Msg_0);
- v20 = pPacket->m_PrizeUserID;
- CacheLog(0, "WLAskPrizeHandler...ASK_NEWCHECKPRIZE acc=%s,char=%s,ip=%s,PUID=%d", srca, v50, pPacket->m_Host);
- v15 = &Msg_0;
- Msg_0._vptr_BillPacket = (int (**)(...))off_80D0D28;
- }
- else
- {
- if ( v7 != 7 )
- __assert__(
- "./Packets/WLAskPrizeHandler.cpp",
- 0xBCu,
- "static UINT Packets::WLAskPrizeHandler::Execute(Packets::WLAskPrize*, Player*)",
- "FALSE");
- BillPacket::BillPacket(&Msg);
- v46 = Msg.mPrize;
- Msg._vptr_BillPacket = (int (**)(...))off_80D0B88;
- v8 = 29;
- do
- {
- memset(v46, 0, 0x14u);
- --v8;
- v46->m_PrizeNum = 0;
- ++v46;
- }
- while ( v8 != -1 );
- memset(Msg.mAccount, 0, 0x30u);
- *(_WORD *)&Msg.mAccount[48] = 0;
- Msg.mAccount[50] = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- memset(Msg.mCharName, 0, 0x1Cu);
- *(_WORD *)&Msg.mCharName[28] = 0;
- Msg.mCharName[30] = 0;
- memset(Msg.mNewuserCard, 0, 0x14u);
- Msg.mNewuserCard[20] = 0;
- memset(Msg.mPrize, 0, 0x276u);
- srca = pPacket->m_AccName;
- Msg.mCharNameLength = 0;
- Msg.mIPLength = 0;
- Msg.mAccLength = 0;
- Msg.mCardLength = 0;
- Msg.mPrizeResult = 0;
- Msg.mType = 0;
- strncpy(Msg.mAccount, pPacket->m_AccName, 0x32u);
- Msg.mAccount[50] = 0;
- Msg.mAccLength = 0;
- v9 = 0;
- do
- {
- if ( Msg.mAccount[v9] )
- ++Msg.mAccLength;
- ++v9;
- }
- while ( v9 <= 49 );
- v50 = pPacket->m_CharName;
- strncpy(Msg.mCharName, pPacket->m_CharName, 0x1Eu);
- Msg.mCharName[30] = 0;
- Msg.mCharNameLength = 0;
- v10 = 0;
- do
- {
- if ( Msg.mCharName[v10] )
- ++Msg.mCharNameLength;
- ++v10;
- }
- while ( v10 <= 29 );
- v11 = pPacket->m_Host;
- strncpy(Msg.mIP, pPacket->m_Host, 0xFu);
- Msg.mIPLength = 0;
- v12 = 0;
- do
- {
- if ( Msg.mIP[v12] )
- ++Msg.mIPLength;
- ++v12;
- }
- while ( v12 <= 14 );
- strncpy(Msg.mNewuserCard, pPacket->m_NewUserCard, 0x14u);
- Msg.mNewuserCard[20] = 0;
- Msg.mCardLength = 0;
- v13 = 0;
- do
- {
- if ( Msg.mNewuserCard[v13] )
- ++Msg.mCardLength;
- ++v13;
- }
- while ( v13 <= 20 );
- Msg.m_Index = pPacket->m_PrizeUserID;
- (*((void (__cdecl **)(BillingPlayer *, Packets::LBLCardCheckPrize *))pBillPlayer->_vptr_Player + 29))(
- pBillPlayer,
- &Msg);
- v14 = pPacket->m_PrizeUserID;
- CacheLog(
- 0,
- "WLAskPrizeHandler...ASK_CARDCHECKPRIZE acc=%s,char=%s,ip=%s,PUID=%d,card=%s",
- srca,
- v50,
- pPacket->m_Host);
- v15 = &Msg;
- Msg._vptr_BillPacket = (int (**)(...))off_80D0B88;
- }
- LABEL_140:
- BillPacket::~BillPacket(v15);
- goto LABEL_113;
- }
- BillPacket::BillPacket(&Msg_1);
- v48 = Msg_1.mPrize;
- Msg_1._vptr_BillPacket = (int (**)(...))off_80D0EC8;
- v21 = 29;
- do
- {
- memset(v48, 0, 0x14u);
- --v21;
- v48->m_PrizeNum = 0;
- ++v48;
- }
- while ( v21 != -1 );
- Msg_1.mType = 1;
- memset(Msg_1.mAccount, 0, 0x30u);
- *(_WORD *)&Msg_1.mAccount[48] = 0;
- Msg_1.mAccount[50] = 0;
- memset(Msg_1.mIP, 0, sizeof(Msg_1.mIP));
- memset(Msg_1.mCharName, 0, 0x1Cu);
- *(_WORD *)&Msg_1.mCharName[28] = 0;
- Msg_1.mCharName[30] = 0;
- memset(Msg_1.mPrizeSerial, 0, 0x14u);
- *(_WORD *)&Msg_1.mPrizeSerial[20] = 0;
- Msg_1.mCharNameLength = 0;
- Msg_1.mIPLength = 0;
- Msg_1.mAccLength = 0;
- memset(Msg_1.mPrize, 0, 0x276u);
- srca = pPacket->m_AccName;
- Msg_1.mPrizeResult = 0;
- Msg_1.mPrizeNum = 0;
- Msg_1.mAccGuid = -1;
- Msg_1.mAccLevel = 1;
- Msg_1.mType = 0;
- strncpy(Msg_1.mAccount, pPacket->m_AccName, 0x32u);
- Msg_1.mAccount[50] = 0;
- Msg_1.mAccLength = 0;
- v22 = 0;
- do
- {
- if ( Msg_1.mAccount[v22] )
- ++Msg_1.mAccLength;
- ++v22;
- }
- while ( v22 <= 49 );
- v50 = pPacket->m_CharName;
- strncpy(Msg_1.mCharName, pPacket->m_CharName, 0x1Eu);
- Msg_1.mCharName[30] = 0;
- Msg_1.mCharNameLength = 0;
- v23 = 0;
- do
- {
- if ( Msg_1.mCharName[v23] )
- ++Msg_1.mCharNameLength;
- ++v23;
- }
- while ( v23 <= 29 );
- v11 = pPacket->m_Host;
- strncpy(Msg_1.mIP, pPacket->m_Host, 0xFu);
- Msg_1.mIPLength = 0;
- v24 = 0;
- do
- {
- if ( Msg_1.mIP[v24] )
- ++Msg_1.mIPLength;
- ++v24;
- }
- while ( v24 <= 14 );
- strncpy(Msg_1.mPrizeSerial, szSerialKey, 0x15u);
- Msg_1.mPrizeSerial[21] = 0;
- Msg_1.mAccLevel = pPacket->m_usAccLevel;
- Msg_1.mAccGuid = pPacket->m_GUID;
- Msg_1.m_Index = pPacket->m_PrizeUserID;
- (*((void (__cdecl **)(BillingPlayer *, Packets::LBLNewPrize *))pBillPlayer->_vptr_Player + 29))(
- pBillPlayer,
- &Msg_1);
- v25 = pPacket->m_PrizeUserID;
- CacheLog(0, "WLAskPrizeHandler...ASK_NEWPRIZE acc=%s,char=%s,ip=%s,PUID=%d key=%s", srca, v50, pPacket->m_Host);
- v26 = &Msg_1;
- Msg_1._vptr_BillPacket = (int (**)(...))off_80D0EC8;
- }
- BillPacket::~BillPacket(v26);
- LABEL_113:
- CacheLog(0, "WLAskPrizeHandler::Execute ...OK acc=%s,char=%s,ip=%s,PUID=%d", srca, v50, v11, pPacket->m_PrizeUserID);
- return 2;
- }
- pServerPlayer = (ServerPlayer *)ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 0);
- if ( pServerPlayer )
- {
- Packet::Packet((int)&retMsg);
- retMsg._vptr_Packet = (int (**)(...))off_80D11A8;
- v2 = retMsg.mPrize;
- v45 = 29;
- do
- {
- memset(v2, 0, 0x14u);
- --v45;
- v2->m_BuyPoint = 0;
- v2->m_BuyInt = 0;
- v2->m_BuyNumber = 0;
- ++v2;
- }
- while ( v45 != -1 );
- retMsg.mPrizeUserID = -1;
- memset(retMsg.mAccName, 0, 0x30u);
- *(_WORD *)&retMsg.mAccName[48] = 0;
- retMsg.mAccName[50] = 0;
- retMsg.mPrizeResult = 3;
- retMsg.mRetType = 0;
- retMsg.mPrizeNum = 0;
- retMsg.mLeftPoint = 0;
- memset(retMsg.mPrize, 0, 0x3C0u);
- if ( (unsigned __int8)(pPacket->m_askType - 1) > 6u )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0xAEu,
- "void Packets::LWRetPrize::SetRetType(BYTE)",
- "ty > ASK_INVALID && ty < ASK_NUMBER");
- retMsg.mRetType = pPacket->m_askType;
- src = pPacket->m_AccName;
- if ( pPacket == (Packets::WLAskPrize *)-14 )
- __assert__(
- "../../Common/Packets/LWRetPrize.h",
- 0x8Cu,
- "void Packets::LWRetPrize::SetAccName(const CHAR*)",
- "pAccName");
- strncpy(retMsg.mAccName, src, 0x32u);
- retMsg.mAccName[50] = 0;
- retMsg.mPrizeUserID = pPacket->m_PrizeUserID;
- switch ( retMsg.mRetType )
- {
- case 3u:
- retMsg.mPrizeResult = 9;
- break;
- default:
- retMsg.mPrizeResult = 3;
- break;
- }
- (*((void (__cdecl **)(ServerPlayer *, Packets::LWRetPrize *))pServerPlayer->_vptr_Player + 3))(
- pServerPlayer,
- &retMsg);
- retMsg._vptr_Packet = (int (**)(...))off_80D11A8;
- Packet::~Packet(&retMsg);
- }
- else
- {
- v4 = pPacket->m_AccName;
- src = pPacket->m_AccName;
- }
- CacheLog(
- 0,
- "ERROR:WLAskPrizeHandler...AskType=%d acc=%s,char=%s,ip=%s,PUID=%d BillingPlayer is Down!!",
- pPacket->m_askType,
- src,
- pPacket->m_CharName,
- pPacket->m_Host,
- pPacket->m_PrizeUserID,
- v4);
- return 2;
- }
- // 80D0708: using guessed type _DWORD (__cdecl *off_80D0708[2])(Packets::LBAskBuy *this);
- // 80D0868: using guessed type _DWORD (__cdecl *off_80D0868[2])(Packets::LBAskPoint *this);
- // 80D09E8: using guessed type _DWORD (__cdecl *off_80D09E8[2])(Packets::LBLAskNewUserCard *this);
- // 80D0B88: using guessed type _DWORD (__cdecl *off_80D0B88[2])(Packets::LBLCardCheckPrize *this);
- // 80D0D28: using guessed type _DWORD (__cdecl *off_80D0D28[2])(Packets::LBLNewCheckPrize *this);
- // 80D0EC8: using guessed type _DWORD (__cdecl *off_80D0EC8[2])(Packets::LBLNewPrize *this);
- // 80D1048: using guessed type _DWORD (__cdecl *off_80D1048[2])(Packets::LBPrize *this);
- // 80D11A8: using guessed type _DWORD (__cdecl *off_80D11A8[2])(Packets::LWRetPrize *this);
- //----- (0809EDC0) --------------------------------------------------------
- void __cdecl _tcf_0_195(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809EDD0) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLAskPrizeHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_195, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809EDFC) --------------------------------------------------------
- UINT __cdecl Packets::GWLWGCostLogHandler::Execute(Packets::GWLWGCostLog *pPacket, Player *pPlayer)
- {
- Player *v3; // eax
- Player *v4; // esi
- ID_t v5; // ax
- Packets::LBLCostLog Msg; // [esp+0h] [ebp-1C8h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/GWLWGCostLogHandler.cpp",
- 0x31u,
- "static UINT Packets::GWLWGCostLogHandler::Execute(Packets::GWLWGCostLog*, Player*)",
- "FALSE");
- if ( !pPacket )
- __assert__(
- "./Packets/GWLWGCostLogHandler.cpp",
- 0xEu,
- "static UINT Packets::GWLWGCostLogHandler::Execute(Packets::GWLWGCostLog*, Player*)",
- "pPacket");
- if ( pPacket->m_nType == 1 )
- {
- v3 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 1);
- v4 = v3;
- if ( !v3 || !(*((int (__cdecl **)(Player *))v3->_vptr_Player + 25))(v3) )
- __assert__(
- "./Packets/GWLWGCostLogHandler.cpp",
- 0x23u,
- "static UINT Packets::GWLWGCostLogHandler::Execute(Packets::GWLWGCostLog*, Player*)",
- "FALSE");
- BillPacket::BillPacket(&Msg);
- Msg._vptr_BillPacket = (int (**)(...))off_80D1948;
- memset(Msg.mAccount, 0, 0x30u);
- *(_WORD *)&Msg.mAccount[48] = 0;
- Msg.mAccount[50] = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- memset(Msg.mCharName, 0, 0x1Cu);
- *(_WORD *)&Msg.mCharName[28] = 0;
- Msg.mCharName[30] = 0;
- memset(Msg.mSerial, 0, 0x14u);
- *(_WORD *)&Msg.mSerial[20] = 0;
- memset(Msg.mOtherInfo, 0, 0x100u);
- Msg.mOtherLength = 0;
- Msg.mCharNameLength = 0;
- Msg.mIPLength = 0;
- Msg.mAccLength = 0;
- Msg.mUserLevel = 0;
- Msg.mType = 1;
- Msg.mResult = 0;
- Msg.mZoneID = g_Config.m_WorldInfo.m_ZoneID;
- v5 = pPacket->m_LogPos;
- Msg.mWorldId = 0;
- Msg.mServerId = 0;
- Msg.mSceneId = 0;
- Msg.mUserGUID = -1;
- Msg.mCostTime = 0;
- Msg.mYuanBao = 0;
- Msg.m_Index = v5;
- Packets::LBLCostLog::SetCostInfo(&Msg, &pPacket->m_LogInfo);
- (*((void (__cdecl **)(Player *, Packets::LBLCostLog *))v4->_vptr_Player + 29))(v4, &Msg);
- CacheLog(0, "GWLWGCostLogHandler::Execute ...Send to Billing OK key=%s", &pPacket->m_LogInfo);
- Msg._vptr_BillPacket = (int (**)(...))off_80D1948;
- BillPacket::~BillPacket(&Msg);
- }
- else
- {
- CacheLog(0, "ERROR:GWLWGCostLogHandler::Execute()...Invalid Type Find!");
- }
- return 2;
- }
- // 80D1948: using guessed type _DWORD (__cdecl *off_80D1948[2])(Packets::LBLCostLog *this);
- //----- (0809F06C) --------------------------------------------------------
- void __cdecl _tcf_0_196(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809F07C) --------------------------------------------------------
- void `global constructor keyed to'Packets::GWLWGCostLogHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_196, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809F0A8) --------------------------------------------------------
- UINT __cdecl Packets::LBLCostLogHandler::Execute(Packets::LBLCostLog *pPacket, Player *pPlayer)
- {
- Player *v2; // eax
- Packets::GWLWGCostLog costMsg; // [esp+0h] [ebp-1E8h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/LBLCostLogHandler.cpp",
- 0xFu,
- "static UINT Packets::LBLCostLogHandler::Execute(Packets::LBLCostLog*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/LBLCostLogHandler.cpp",
- 0x12u,
- "static UINT Packets::LBLCostLogHandler::Execute(Packets::LBLCostLog*, Player*)",
- "pPlayer");
- if ( pPacket->mType != 1 )
- __assert__(
- "./Packets/LBLCostLogHandler.cpp",
- 0x13u,
- "static UINT Packets::LBLCostLogHandler::Execute(Packets::LBLCostLog*, Player*)",
- "pPacket->GetType() == LBLCostLog::BL_COST_LOG");
- if ( (*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/LBLCostLogHandler.cpp",
- 0x1Au,
- "static UINT Packets::LBLCostLogHandler::Execute(Packets::LBLCostLog*, Player*)",
- "pPacket");
- Packet::Packet((int)&costMsg);
- costMsg._vptr_Packet = (int (**)(...))off_80D17E8;
- memset(&costMsg.m_LogInfo, 0, 0x1A0u);
- costMsg.m_LogInfo.m_UserGUID = -1;
- memset(costMsg.m_SerialKey, 0, 0x14u);
- *(_WORD *)&costMsg.m_SerialKey[20] = 0;
- costMsg.m_nType = 2;
- costMsg.m_LogPos = pPacket->m_Index;
- costMsg.m_nResult = pPacket->mResult;
- if ( pPacket == (Packets::LBLCostLog *)-8 )
- __assert__(
- "../../Common/Packets/GWLWGCostLog.h",
- 0x4Fu,
- "void Packets::GWLWGCostLog::SetBillingRetKey(const CHAR*)",
- "pSerial");
- strncpy(costMsg.m_SerialKey, pPacket->mSerial, 0x15u);
- costMsg.m_SerialKey[21] = 0;
- v2 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 0);
- if ( v2 )
- (*((void (__cdecl **)(Player *, Packets::GWLWGCostLog *))v2->_vptr_Player + 3))(v2, &costMsg);
- CacheLog(
- 0,
- "LBLCostLog::Execute()...OK POS=%d Result=%d key=%s",
- pPacket->m_Index,
- pPacket->mResult,
- pPacket->mSerial);
- costMsg._vptr_Packet = (int (**)(...))off_80D17E8;
- Packet::~Packet(&costMsg);
- }
- return 2;
- }
- // 80D17E8: using guessed type _DWORD (__cdecl *off_80D17E8[2])(Packets::GWLWGCostLog *this);
- //----- (0809F2E4) --------------------------------------------------------
- void __cdecl _tcf_0_197(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809F2F4) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLCostLogHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_197, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809F320) --------------------------------------------------------
- UINT __cdecl Packets::LBLAskMigHandler::Execute(Packets::LBLAskMig *pPacket, Player *pPlayer)
- {
- _BUY_DATA *v2; // ebx
- Player *v3; // eax
- signed int v5; // [esp+Ch] [ebp-43Ch]
- Packets::LWRetPrize Msg; // [esp+20h] [ebp-428h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/LBLAskMigHandler.cpp",
- 0xFu,
- "static UINT Packets::LBLAskMigHandler::Execute(Packets::LBLAskMig*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/LBLAskMigHandler.cpp",
- 0x12u,
- "static UINT Packets::LBLAskMigHandler::Execute(Packets::LBLAskMig*, Player*)",
- "pPlayer");
- if ( pPacket->mType != 1 )
- __assert__(
- "./Packets/LBLAskMigHandler.cpp",
- 0x13u,
- "static UINT Packets::LBLAskMigHandler::Execute(Packets::LBLAskMig*, Player*)",
- "pPacket->GetType() == LBLAskMig::BL_ASKMIG");
- if ( (*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/LBLAskMigHandler.cpp",
- 0x1Au,
- "static UINT Packets::LBLAskMigHandler::Execute(Packets::LBLAskMig*, Player*)",
- "pPacket");
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- v2 = Msg.mPrize;
- v5 = 29;
- do
- {
- memset(v2, 0, 0x14u);
- --v5;
- v2->m_BuyPoint = 0;
- v2->m_BuyInt = 0;
- v2->m_BuyNumber = 0;
- ++v2;
- }
- while ( v5 != -1 );
- Msg.mPrizeUserID = -1;
- memset(Msg.mAccName, 0, 0x30u);
- *(_WORD *)&Msg.mAccName[48] = 0;
- Msg.mAccName[50] = 0;
- Msg.mPrizeResult = 3;
- Msg.mRetType = 0;
- Msg.mPrizeNum = 0;
- Msg.mLeftPoint = 0;
- memset(Msg.mPrize, 0, 0x3C0u);
- v3 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 0);
- if ( v3 )
- (*((void (__cdecl **)(Player *, Packets::LWRetPrize *))v3->_vptr_Player + 3))(v3, &Msg);
- CacheLog(
- 0,
- "LBLAskMig::Execute()...OK Acc=%s PUID=%d,Result = %d",
- pPacket->mAccount,
- pPacket->m_Index,
- pPacket->mMigResult);
- Msg._vptr_Packet = (int (**)(...))off_80D11A8;
- Packet::~Packet(&Msg);
- }
- return 2;
- }
- // 80D11A8: using guessed type _DWORD (__cdecl *off_80D11A8[2])(Packets::LWRetPrize *this);
- //----- (0809F57C) --------------------------------------------------------
- void __cdecl _tcf_0_198(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809F58C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLAskMigHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_198, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809F5B8) --------------------------------------------------------
- UINT __cdecl Packets::LWChangeNameHandler::Execute(Packets::LWChangeName *pPacket, Player *pPlayer)
- {
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assertex__(
- "./Packets/LWChangeNameHandler.cpp",
- 0x1Au,
- "static UINT Packets::LWChangeNameHandler::Execute(Packets::LWChangeName*, Player*)",
- "FALSE",
- aLwchangenameha_0);
- if ( !pPacket )
- __assert__(
- "./Packets/LWChangeNameHandler.cpp",
- 0x10u,
- "static UINT Packets::LWChangeNameHandler::Execute(Packets::LWChangeName*, Player*)",
- "pPacket");
- if ( !pPlayer )
- __assert__(
- "./Packets/LWChangeNameHandler.cpp",
- 0x14u,
- "static UINT Packets::LWChangeNameHandler::Execute(Packets::LWChangeName*, Player*)",
- "pServerPlayer");
- (*((void (__cdecl **)(Player *, Packets::LWChangeName *))pPlayer->_vptr_Player + 3))(pPlayer, pPacket);
- CacheLog(0, "LWChangeNameHandler::Execute() ....OK");
- return 2;
- }
- //----- (0809F6B4) --------------------------------------------------------
- void __cdecl _tcf_0_199(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809F6C4) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWChangeNameHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_199, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809F6F0) --------------------------------------------------------
- UINT __cdecl Packets::WLChangeNameHandler::Execute(Packets::WLChangeName *pPacket, Player *pPlayer)
- {
- int v2; // ebx
- ODBCInterface *v3; // esi
- Packet *v4; // eax
- Packets::SChgNamePacketUnit *v5; // ebx
- Packet *v6; // eax
- Packet *v7; // esi
- Packets::SChgNamePacketUnit *v8; // ebx
- INT v9; // ST24_4
- int (**v10)(...); // eax
- GUID_t v12; // edi
- CHAR *v13; // eax
- CHAR *pName; // [esp+10h] [ebp-108h]
- Packets::LWChangeName *pMsg; // [esp+1Ch] [ebp-FCh]
- DBImmigration ImmigrationInfo; // [esp+20h] [ebp-F8h]
- Packets::LWChangeName Msg; // [esp+A0h] [ebp-78h]
- v2 = ThreadValueManager::GetCurrentThreadID();
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) == v2 )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/WLChangeNameHandler.cpp",
- 0x14u,
- "static UINT Packets::WLChangeNameHandler::Execute(Packets::WLChangeName*, Player*)",
- "pPacket");
- if ( !pPlayer )
- __assert__(
- "./Packets/WLChangeNameHandler.cpp",
- 0x16u,
- "static UINT Packets::WLChangeNameHandler::Execute(Packets::WLChangeName*, Player*)",
- "pServerPlayer");
- v6 = PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x97u);
- v7 = v6;
- if ( v6 )
- {
- v8 = (Packets::SChgNamePacketUnit *)&v6[1];
- *(_DWORD *)&v6[1].m_Index = pPacket->m_sPacketUnit.m_UserGuid;
- Packets::SChgNamePacketUnit::SetUserOldName(
- (Packets::SChgNamePacketUnit *const )&v6[1],
- pPacket->m_sPacketUnit.m_opType,
- pPacket->m_sPacketUnit.m_UserOldName);
- Packets::SChgNamePacketUnit::SetUserNewName(
- v8,
- pPacket->m_sPacketUnit.m_opType,
- pPacket->m_sPacketUnit.m_UserNewName);
- v8->m_reType = pPacket->m_sPacketUnit.m_reType;
- if ( !DBThreadManager::SendPacket(g_pDBThreadManager, v7, -1) )
- {
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, v7);
- Packet::Packet((int)&Msg);
- Msg._vptr_Packet = (int (**)(...))off_80D1CE8;
- Packets::SChgNamePacketUnit::SChgNamePacketUnit(&Msg.m_sPacketUnit.m_opType);
- v9 = pPacket->m_sPacketUnit.m_opType;
- Msg.m_sPacketUnit.m_UserGuid = pPacket->m_sPacketUnit.m_UserGuid;
- Packets::SChgNamePacketUnit::SetUserOldName(&Msg.m_sPacketUnit, v9, pPacket->m_sPacketUnit.m_UserOldName);
- Packets::SChgNamePacketUnit::SetUserNewName(
- &Msg.m_sPacketUnit,
- pPacket->m_sPacketUnit.m_opType,
- pPacket->m_sPacketUnit.m_UserNewName);
- v10 = pPlayer->_vptr_Player;
- Msg.m_sPacketUnit.m_reType = 2;
- ((void (__cdecl *)(Player *, Packets::LWChangeName *))v10[3])(pPlayer, &Msg);
- CacheLog(0, "WLChangeNameHandler::Execute()....Server Busy GUID = %X", pPacket->m_sPacketUnit.m_UserGuid);
- Msg._vptr_Packet = (int (**)(...))off_80D1CE8;
- Packet::~Packet(&Msg);
- }
- }
- }
- else
- {
- if ( !DBThreadManager::IsPoolTID(g_pDBThreadManager, v2) )
- __assert__(
- "./Packets/WLChangeNameHandler.cpp",
- 0x7Cu,
- "static UINT Packets::WLChangeNameHandler::Execute(Packets::WLChangeName*, Player*)",
- "FALSE");
- if ( pPlayer )
- __assert__(
- "./Packets/WLChangeNameHandler.cpp",
- 0x35u,
- "static UINT Packets::WLChangeNameHandler::Execute(Packets::WLChangeName*, Player*)",
- aNull);
- v3 = DBThreadManager::GetInterface(g_pDBThreadManager, v2);
- if ( v3 )
- {
- v4 = PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x1CBu);
- pMsg = (Packets::LWChangeName *)v4;
- if ( v4 )
- {
- v5 = (Packets::SChgNamePacketUnit *)&v4[1];
- *(_DWORD *)&v4[1].m_Index = pPacket->m_sPacketUnit.m_UserGuid;
- Packets::SChgNamePacketUnit::SetUserOldName(
- (Packets::SChgNamePacketUnit *const )&v4[1],
- pPacket->m_sPacketUnit.m_opType,
- pPacket->m_sPacketUnit.m_UserOldName);
- pName = pPacket->m_sPacketUnit.m_UserNewName;
- Packets::SChgNamePacketUnit::SetUserNewName(
- v5,
- pPacket->m_sPacketUnit.m_opType,
- pPacket->m_sPacketUnit.m_UserNewName);
- v5->m_reType = pPacket->m_sPacketUnit.m_reType;
- DBImmigration::DBImmigration(&ImmigrationInfo, v3);
- DBImmigration::SetCharGuid((int)&ImmigrationInfo, pPacket->m_sPacketUnit.m_UserGuid);
- DBImmigration::SetCharName(&ImmigrationInfo, pPacket->m_sPacketUnit.m_UserNewName);
- if ( !DBImmigration::IsCharNameOK(&ImmigrationInfo) )
- {
- CacheLog(
- 0,
- "WLChangeNameHandler::Execute...ImmigrationInfo.IsCharNameOK()...GUID = %X Name=%s CHGNAME_RE_REPEATED",
- pPacket->m_sPacketUnit.m_UserGuid,
- pName);
- v5->m_reType = 4;
- LABEL_9:
- ServerManager::SendPacket(*(ServerManager *const *)&g_pServerManager, &pMsg->0, 0, 0);
- return 2;
- }
- if ( !DBImmigration::UpdateNewCharName(&ImmigrationInfo) )
- {
- v12 = pPacket->m_sPacketUnit.m_UserGuid;
- v13 = ODBCBase::GetErrorMessage((int)&ImmigrationInfo);
- CacheLog(
- 0,
- "WLChangeNameHandler::Execute...ImmigrationInfo.UpdateNewCharName()...GUID = %X Get Errors: %s",
- v12,
- v13);
- v5->m_reType = 3;
- goto LABEL_9;
- }
- v5->m_reType = 0;
- ServerManager::SendPacket(*(ServerManager *const *)&g_pServerManager, &pMsg->0, 0, 0);
- CacheLog(
- 0,
- "WLChangeNameHandler::Execute...GUID=%X OldName=%s NewName=%s OK!",
- pPacket->m_sPacketUnit.m_UserGuid,
- pPacket->m_sPacketUnit.m_UserOldName,
- pName);
- }
- }
- }
- return 2;
- }
- // 80D1CE8: using guessed type _DWORD (__cdecl *off_80D1CE8[2])(Packets::LWChangeName *this);
- //----- (0809FAFC) --------------------------------------------------------
- void __cdecl _tcf_0_200(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809FB0C) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLChangeNameHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_200, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809FB38) --------------------------------------------------------
- UINT __cdecl Packets::CLRegNewLicenseHandler::Execute(Packets::CLRegNewLicense *pPacket, Player *pPlayer)
- {
- int v2; // eax
- UINT v3; // ecx
- const char *v4; // eax
- Socket *v5; // ST2C_4
- const CHAR *v6; // eax
- const CHAR *v8; // eax
- Packets::LBAskRegLicense *v9; // edi
- __int16 v10; // ax
- char *s2; // [esp+Ch] [ebp-5Ch]
- CHAR Account[51]; // [esp+10h] [ebp-58h]
- v2 = ThreadValueManager::GetCurrentThreadID();
- v3 = 2;
- if ( v2 == g_pLoginPlayerManager->m_ThreadID )
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/CLRegNewLicenseHandler.cpp",
- 0x14u,
- "static UINT Packets::CLRegNewLicenseHandler::Execute(Packets::CLRegNewLicense*, Player*)",
- "pLoginPlayer");
- if ( !pPacket )
- __assert__(
- "./Packets/CLRegNewLicenseHandler.cpp",
- 0x15u,
- "static UINT Packets::CLRegNewLicenseHandler::Execute(Packets::CLRegNewLicense*, Player*)",
- "pPacket");
- s2 = pPacket->szAccount;
- v4 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- if ( !strcmp(v4, pPacket->szAccount) )
- {
- if ( pPlayer[2].m_pSocket == (Socket *)313 )
- {
- memset(Account, 0, 0x30u);
- *(_WORD *)&Account[48] = 0;
- Account[50] = 0;
- strncpy(Account, s2, 0x32u);
- Account[50] = 0;
- v9 = (Packets::LBAskRegLicense *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x11Au);
- if ( !v9 )
- __assertex__(
- "./Packets/CLRegNewLicenseHandler.cpp",
- 0x30u,
- "static UINT Packets::CLRegNewLicenseHandler::Execute(Packets::CLRegNewLicense*, Player*)",
- "FALSE",
- &byte_80E3180);
- v10 = (__int16)pPlayer[1].m_pSocketInputStream;
- pPlayer[2].m_pSocket = (Socket *)314;
- Packets::LBAskRegLicense::SetPlayerID((int)v9, v10);
- Packets::LBAskRegLicense::SetAccount(v9, Account);
- Packets::LBAskRegLicense::SetUserAnswer((int)v9, pPacket->m_UserAnswer);
- Packets::LBAskRegLicense::SetIPAddr(v9, pPlayer->m_pSocket->m_Host);
- ServerManager::SendPacket(*(ServerManager *const *)&g_pServerManager, &v9->0, 1, 0);
- CacheLog(
- 0,
- "CLRegNewLicenseHandler::Execute(...) Account:%s IP:%s PlayerID=%d...OK ",
- s2,
- pPlayer->m_pSocket->m_Host,
- SLOWORD(pPlayer[1].m_pSocketInputStream));
- v3 = 2;
- }
- else
- {
- v5 = pPlayer[2].m_pSocket;
- v6 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR: CLRegNewLicenseHandler Get acc Status Errors,acc = %s,status = %u", v6, v5);
- v3 = 2;
- }
- }
- else
- {
- v8 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR: CLRegNewLicenseHandler Get Guid Errors,acc = %s,Packet acc = %s", v8, s2);
- v3 = 0;
- }
- }
- return v3;
- }
- //----- (0809FD4C) --------------------------------------------------------
- void __cdecl _tcf_0_201(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809FD5C) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLRegNewLicenseHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_201, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809FD88) --------------------------------------------------------
- UINT __cdecl Packets::LBAskRegLicenseHandler::Execute(Packets::LBAskRegLicense *pPacket, Player *pPlayer)
- {
- const CHAR *v2; // eax
- const char *v4; // eax
- signed int v5; // eax
- const char *v6; // eax
- signed int v7; // eax
- Packets::LBLRegNewLicense Msg; // [esp+0h] [ebp-68h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assertex__(
- "./Packets/LBAskRegLicenseHandler.cpp",
- 0x1Eu,
- "static UINT Packets::LBAskRegLicenseHandler::Execute(Packets::LBAskRegLicense*, Player*)",
- "FALSE",
- aLbaskreglicens_0);
- if ( !pPacket )
- __assert__(
- "./Packets/LBAskRegLicenseHandler.cpp",
- 0xFu,
- "static UINT Packets::LBAskRegLicenseHandler::Execute(Packets::LBAskRegLicense*, Player*)",
- "pPacket");
- if ( !pPlayer )
- __assert__(
- "./Packets/LBAskRegLicenseHandler.cpp",
- 0x11u,
- "static UINT Packets::LBAskRegLicenseHandler::Execute(Packets::LBAskRegLicense*, Player*)",
- "pBillPlayer");
- BillPacket::BillPacket(&Msg);
- Msg._vptr_BillPacket = (int (**)(...))off_80D2628;
- memset(Msg.mAccount, 0, 0x30u);
- *(_WORD *)&Msg.mAccount[48] = 0;
- Msg.mAccount[50] = 0;
- Msg.mAccLength = 0;
- Msg.mRegLicense = 89;
- Msg.mIPLength = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- Msg.mType = 0;
- v4 = Packets::LBAskRegLicense::GetAccount(pPacket);
- strncpy(Msg.mAccount, v4, 0x32u);
- Msg.mAccount[50] = 0;
- Msg.mAccLength = 0;
- v5 = 0;
- do
- {
- if ( Msg.mAccount[v5] )
- ++Msg.mAccLength;
- ++v5;
- }
- while ( v5 <= 49 );
- Msg.m_Index = Packets::LBAskRegLicense::GetPlayerID((int)pPacket);
- Msg.mRegLicense = (unsigned __int8)Packets::LBAskRegLicense::GetUserAnswer((int)pPacket) < 1u ? 78 : 89;
- v6 = Packets::LBAskRegLicense::GetIPAddr(pPacket);
- strncpy(Msg.mIP, v6, 0xFu);
- Msg.mIPLength = 0;
- v7 = 0;
- do
- {
- if ( Msg.mIP[v7] )
- ++Msg.mIPLength;
- ++v7;
- }
- while ( v7 <= 14 );
- (*((void (__cdecl **)(Player *, Packets::LBLRegNewLicense *))pPlayer->_vptr_Player + 29))(pPlayer, &Msg);
- Msg._vptr_BillPacket = (int (**)(...))off_80D2628;
- BillPacket::~BillPacket(&Msg);
- v2 = Packets::LBAskRegLicense::GetAccount(pPacket);
- CacheLog(0, "LBAskRegLicenseHandler::Execute() Acc=%s....OK", v2);
- return 2;
- }
- // 80D2628: using guessed type _DWORD (__cdecl *off_80D2628[2])(Packets::LBLRegNewLicense *this);
- //----- (0809FF8C) --------------------------------------------------------
- void __cdecl _tcf_0_202(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (0809FF9C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBAskRegLicenseHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_202, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (0809FFC8) --------------------------------------------------------
- UINT __cdecl Packets::LBLRegNewLicenseHandler::Execute(Packets::LBLRegNewLicense *pPacket, Player *pPlayer)
- {
- signed __int16 v2; // ax
- int v3; // ebx
- LoginPlayer *v4; // eax
- Packets::BLRetAuth *v6; // edi
- CHAR *v7; // [esp+8h] [ebp-10h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/LBLRegNewLicenseHandler.cpp",
- 0x1Bu,
- "static UINT Packets::LBLRegNewLicenseHandler::Execute(Packets::LBLRegNewLicense*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/LBLRegNewLicenseHandler.cpp",
- 0x1Eu,
- "static UINT Packets::LBLRegNewLicenseHandler::Execute(Packets::LBLRegNewLicense*, Player*)",
- "pPlayer");
- if ( pPacket->mType != 1 )
- __assert__(
- "./Packets/LBLRegNewLicenseHandler.cpp",
- 0x1Fu,
- "static UINT Packets::LBLRegNewLicenseHandler::Execute(Packets::LBLRegNewLicense*, Player*)",
- "pPacket->GetType() == LBLRegNewLicense::BL_REGLICENSE");
- if ( !(*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- return 2;
- if ( !pPacket )
- __assert__(
- "./Packets/LBLRegNewLicenseHandler.cpp",
- 0x26u,
- "static UINT Packets::LBLRegNewLicenseHandler::Execute(Packets::LBLRegNewLicense*, Player*)",
- "pPacket");
- v2 = pPacket->m_Index;
- if ( v2 == -1 || v2 > 3071 || v2 < 0 || (v3 = v2, (v4 = &g_pPlayerPool->m_pPlayer[v2]) == 0) )
- __assert__(
- "./Packets/LBLRegNewLicenseHandler.cpp",
- 0x2Du,
- "static UINT Packets::LBLRegNewLicenseHandler::Execute(Packets::LBLRegNewLicense*, Player*)",
- "FALSE");
- if ( v4->m_Status != 314 )
- {
- CacheLog(0, "LBLRegNewLicenseHandler::Execute() Acc = %s PlayerID=%d... Wrong logic!", pPacket->mAccount, v3);
- return 2;
- }
- v4->m_Status = 302;
- v6 = (Packets::BLRetAuth *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x61u);
- if ( !v6 )
- __assert__(
- "./Packets/LBLRegNewLicenseHandler.cpp",
- 0x3Bu,
- "static UINT Packets::LBLRegNewLicenseHandler::Execute(Packets::LBLRegNewLicense*, Player*)",
- "pMsg");
- v7 = pPacket->mAccount;
- Packets::BLRetAuth::SetAccount(v6, pPacket->mAccount);
- if ( pPacket->mRegLicense == 1 )
- {
- Packets::BLRetAuth::SetResult((int)v6, 25);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &v6->0, v3, 0);
- CacheLog(0, "LBLRegNewLicenseHandler... Acc = %s Reg New License Success!", v7);
- }
- else
- {
- Packets::BLRetAuth::SetResult((int)v6, 22);
- LoginPlayerManager::SendPacket(g_pLoginPlayerManager, &v6->0, v3, 0);
- CacheLog(0, "LBLRegNewLicenseHandler... Acc = %s Reg New License Fail!", v7);
- }
- CacheLog(0, "LBLRegNewLicense::Execute()...OK POS=%d ServerResult=%d", pPacket->m_Index, pPacket->mRegLicense);
- return 2;
- }
- //----- (080A021C) --------------------------------------------------------
- void __cdecl _tcf_0_203(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080A022C) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLRegNewLicenseHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_203, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080A0258) --------------------------------------------------------
- UINT __cdecl Packets::CLRegSafeSignHandler::Execute(Packets::CLRegSafeSign *pPacket, Player *pPlayer)
- {
- int v2; // eax
- UINT v3; // ecx
- const char *v4; // eax
- Socket *v5; // ST2C_4
- const CHAR *v6; // eax
- const CHAR *v8; // eax
- Packets::BLRetAuth *pMsg; // [esp+8h] [ebp-10h]
- v2 = ThreadValueManager::GetCurrentThreadID();
- v3 = 2;
- if ( v2 == g_pLoginPlayerManager->m_ThreadID )
- {
- if ( !pPlayer )
- __assert__(
- "./Packets/CLRegSafeSignHandler.cpp",
- 0x12u,
- "static UINT Packets::CLRegSafeSignHandler::Execute(Packets::CLRegSafeSign*, Player*)",
- "pLoginPlayer");
- if ( !pPacket )
- __assert__(
- "./Packets/CLRegSafeSignHandler.cpp",
- 0x13u,
- "static UINT Packets::CLRegSafeSignHandler::Execute(Packets::CLRegSafeSign*, Player*)",
- "pPacket");
- v4 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- if ( !strcmp(v4, pPacket->szAccount) )
- {
- if ( pPlayer[2].m_pSocket == (Socket *)315 )
- {
- pPlayer[2].m_pSocket = (Socket *)302;
- pMsg = (Packets::BLRetAuth *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x61u);
- if ( !pMsg )
- __assert__(
- "./Packets/CLRegSafeSignHandler.cpp",
- 0x29u,
- "static UINT Packets::CLRegSafeSignHandler::Execute(Packets::CLRegSafeSign*, Player*)",
- "pMsg");
- Packets::BLRetAuth::SetAccount(pMsg, pPacket->szAccount);
- if ( pPacket->m_UserAnswer )
- {
- Packets::BLRetAuth::SetResult((int)pMsg, 22);
- LoginPlayerManager::SendPacket(
- g_pLoginPlayerManager,
- &pMsg->0,
- (PlayerID_t)pPlayer[1].m_pSocketInputStream,
- 0);
- CacheLog(0, "CLRegSafeSignHandler... Acc = %s NotifySafeSign Fail!", pPacket->szAccount);
- }
- else
- {
- Packets::BLRetAuth::SetResult((int)pMsg, 26);
- LoginPlayerManager::SendPacket(
- g_pLoginPlayerManager,
- &pMsg->0,
- (PlayerID_t)pPlayer[1].m_pSocketInputStream,
- 0);
- CacheLog(0, "CLRegSafeSignHandler... Acc = %s NotifySafeSign Success!", pPacket->szAccount);
- }
- CacheLog(
- 0,
- "CLRegSafeSignHandler::Execute(...) Account:%s IP:%s PlayerID=%d...OK ",
- pPacket->szAccount,
- pPlayer->m_pSocket->m_Host,
- SLOWORD(pPlayer[1].m_pSocketInputStream));
- v3 = 2;
- }
- else
- {
- v5 = pPlayer[2].m_pSocket;
- v6 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR: CLRegSafeSignHandler Get acc Status Errors,acc = %s,status = %u", v6, v5);
- v3 = 2;
- }
- }
- else
- {
- v8 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- CacheLog(0, "ERROR: CLRegSafeSignHandler Get Guid Errors,acc = %s,Packet acc = %s", v8, pPacket->szAccount);
- v3 = 0;
- }
- }
- return v3;
- }
- //----- (080A046C) --------------------------------------------------------
- void __cdecl _tcf_0_204(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080A047C) --------------------------------------------------------
- void `global constructor keyed to'Packets::CLRegSafeSignHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_204, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080A04A8) --------------------------------------------------------
- UINT __cdecl Packets::LBLOperateAccHandler::Execute(Packets::LBLOperateAcc *pPacket, Player *pPlayer)
- {
- Player *v2; // eax
- int v3; // ST14_4
- ID_t nControlID; // [esp+16h] [ebp-72h]
- UINT nSocket; // [esp+18h] [ebp-70h]
- INT nOperate; // [esp+1Ch] [ebp-6Ch]
- Packets::LWOperateAccResult oaMsg; // [esp+20h] [ebp-68h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) != ThreadValueManager::GetCurrentThreadID() )
- __assert__(
- "./Packets/LBLOperateAccHandler.cpp",
- 0xFu,
- "static UINT Packets::LBLOperateAccHandler::Execute(Packets::LBLOperateAcc*, Player*)",
- "FALSE");
- if ( !pPlayer )
- __assert__(
- "./Packets/LBLOperateAccHandler.cpp",
- 0x12u,
- "static UINT Packets::LBLOperateAccHandler::Execute(Packets::LBLOperateAcc*, Player*)",
- "pPlayer");
- if ( pPacket->mType != 1 )
- __assert__(
- "./Packets/LBLOperateAccHandler.cpp",
- 0x13u,
- "static UINT Packets::LBLOperateAccHandler::Execute(Packets::LBLOperateAcc*, Player*)",
- "pPacket->GetType() == LBLOperateAcc::BL_OPERATEACC");
- if ( (*((int (__cdecl **)(Player *))pPlayer->_vptr_Player + 25))(pPlayer) )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/LBLOperateAccHandler.cpp",
- 0x1Au,
- "static UINT Packets::LBLOperateAccHandler::Execute(Packets::LBLOperateAcc*, Player*)",
- "pPacket");
- sscanf(pPacket->mSerial, "%d:%u:%d", &nControlID, &nSocket, &nOperate);
- Packet::Packet((int)&oaMsg);
- oaMsg.m_ControlID = nControlID;
- oaMsg.m_Operate = nOperate;
- oaMsg.m_Socket = nSocket;
- oaMsg.m_Result = 0;
- oaMsg.m_WorldID = 0;
- oaMsg._vptr_Packet = (int (**)(...))off_80D2AA8;
- qmemcpy(oaMsg.szAccounts, pPacket->mAccount, sizeof(oaMsg.szAccounts));
- oaMsg.m_Result = pPacket->mFengTingResult;
- oaMsg.m_WorldID = g_Config.m_WorldInfo.m_WorldID;
- v2 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 0);
- if ( v2 )
- (*((void (__cdecl **)(Player *, Packets::LWOperateAccResult *))v2->_vptr_Player + 3))(v2, &oaMsg);
- v3 = pPacket->mFengTingResult;
- CacheLog(
- 0,
- "LBLOperateAcc::Execute()...OK uid=%s,acc=%s,op=%d,rt=%d",
- pPacket->mSerial,
- pPacket->mAccount,
- nOperate);
- oaMsg._vptr_Packet = (int (**)(...))off_80D2AA8;
- Packet::~Packet(&oaMsg);
- }
- return 2;
- }
- // 80D2AA8: using guessed type _DWORD (__cdecl *off_80D2AA8[2])(Packets::LWOperateAccResult *this);
- //----- (080A06B8) --------------------------------------------------------
- void __cdecl _tcf_0_205(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080A06C8) --------------------------------------------------------
- void `global constructor keyed to'Packets::LBLOperateAccHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_205, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080A06F4) --------------------------------------------------------
- UINT __cdecl Packets::LWOperateAccResultHandler::Execute(Packets::LWOperateAccResult *pPacket, Player *pPlayer)
- {
- return 2;
- }
- //----- (080A0700) --------------------------------------------------------
- void __cdecl _tcf_0_206(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080A0710) --------------------------------------------------------
- void `global constructor keyed to'Packets::LWOperateAccResultHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_206, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080A073C) --------------------------------------------------------
- UINT __cdecl Packets::WLOperateAccHandler::Execute(Packets::WLOperateAcc *pPacket, Player *pPlayer)
- {
- Player *v2; // eax
- signed int v4; // eax
- signed int v5; // eax
- signed int v6; // eax
- signed int v7; // eax
- signed int v8; // eax
- INT v9; // eax
- signed int v10; // eax
- BillingPlayer *pBillPlayer; // [esp+1Ch] [ebp-12Ch]
- Packets::LBLOperateAcc Msg; // [esp+20h] [ebp-128h]
- CHAR szSerial[21]; // [esp+110h] [ebp-38h]
- if ( *(_DWORD *)(*(_DWORD *)&g_pServerManager + 7480) == ThreadValueManager::GetCurrentThreadID() )
- {
- if ( !pPacket )
- __assert__(
- "./Packets/WLOperateAccHandler.cpp",
- 0xFu,
- "static UINT Packets::WLOperateAccHandler::Execute(Packets::WLOperateAcc*, Player*)",
- "pPacket");
- v2 = ServerManager::GetServerPlayer(*(ServerManager *const *)&g_pServerManager, 1);
- pBillPlayer = (BillingPlayer *)v2;
- if ( !v2 || !(*((int (__cdecl **)(Player *))v2->_vptr_Player + 25))(v2) )
- __assert__(
- "./Packets/WLOperateAccHandler.cpp",
- 0x34u,
- "static UINT Packets::WLOperateAccHandler::Execute(Packets::WLOperateAcc*, Player*)",
- "FALSE");
- memset(szSerial, 0, 0x14u);
- szSerial[20] = 0;
- snprintf(szSerial, 0x15u, "%d:%u:%d", pPacket->m_ControlID, pPacket->m_Socket, pPacket->m_Operate);
- BillPacket::BillPacket(&Msg);
- Msg._vptr_BillPacket = (int (**)(...))off_80D2928;
- Msg.mSerialLength = 0;
- memset(Msg.mSerial, 0, 0x14u);
- Msg.mSerial[20] = 0;
- Msg.mAccLength = 0;
- memset(Msg.mAccount, 0, 0x30u);
- *(_WORD *)&Msg.mAccount[48] = 0;
- Msg.mAccount[50] = 0;
- Msg.mCharNameLength = 0;
- memset(Msg.mCharName, 0, 0x30u);
- *(_WORD *)&Msg.mCharName[48] = 0;
- Msg.mCharName[50] = 0;
- Msg.mIPLength = 0;
- memset(Msg.mIP, 0, sizeof(Msg.mIP));
- Msg.mAccLevel = 1;
- Msg.mFengTing = 89;
- Msg.mReasonLength = 0;
- memset(Msg.mReason, 0, 0x20u);
- Msg.mReason[32] = 0;
- Msg.mGMAccLength = 0;
- memset(Msg.mGMAccount, 0, 0x28u);
- Msg.mGMAccount[40] = 0;
- Msg.mAccGuid = -1;
- Msg.mType = 0;
- strncpy(Msg.mSerial, szSerial, 0x14u);
- Msg.mSerialLength = 0;
- v4 = 0;
- do
- {
- if ( Msg.mSerial[v4] )
- ++Msg.mSerialLength;
- ++v4;
- }
- while ( v4 <= 19 );
- strncpy(Msg.mAccount, pPacket->szAccounts, 0x32u);
- Msg.mAccount[50] = 0;
- Msg.mAccLength = 0;
- v5 = 0;
- do
- {
- if ( Msg.mAccount[v5] )
- ++Msg.mAccLength;
- ++v5;
- }
- while ( v5 <= 49 );
- strncpy(Msg.mCharName, pPacket->szCharName, 0x32u);
- Msg.mCharName[50] = 0;
- Msg.mCharNameLength = 0;
- v6 = 0;
- do
- {
- if ( Msg.mCharName[v6] )
- ++Msg.mCharNameLength;
- ++v6;
- }
- while ( v6 <= 49 );
- strncpy(Msg.mGMAccount, pPacket->szUser, 0x28u);
- Msg.mGMAccount[40] = 0;
- Msg.mGMAccLength = 0;
- v7 = 0;
- do
- {
- if ( Msg.mGMAccount[v7] )
- ++Msg.mGMAccLength;
- ++v7;
- }
- while ( v7 <= 39 );
- strncpy(Msg.mIP, g_Config.m_ServerInfo.m_World.m_IP, 0xFu);
- Msg.mIPLength = 0;
- v8 = 0;
- do
- {
- if ( Msg.mIP[v8] )
- ++Msg.mIPLength;
- ++v8;
- }
- while ( v8 <= 14 );
- Msg.mAccLevel = pPacket->m_usAccLevel;
- Msg.mAccGuid = pPacket->m_uGuid;
- v9 = pPacket->m_Operate;
- if ( v9 == 101 )
- {
- Msg.mFengTing = 78;
- }
- else if ( v9 == 102 )
- {
- Msg.mFengTing = 89;
- }
- strncpy(Msg.mReason, pPacket->szReason, 0x20u);
- Msg.mReasonLength = 0;
- v10 = 0;
- do
- {
- if ( Msg.mReason[v10] )
- ++Msg.mReasonLength;
- ++v10;
- }
- while ( v10 <= 31 );
- (*((void (__cdecl **)(BillingPlayer *, Packets::LBLOperateAcc *))pBillPlayer->_vptr_Player + 29))(pBillPlayer, &Msg);
- CacheLog(
- 0,
- "WLOperateAccHandler::Execute ...Send to Billing OK! uid=%s,acc=%s,op=%d",
- szSerial,
- pPacket->szAccounts,
- pPacket->m_Operate);
- Msg._vptr_BillPacket = (int (**)(...))off_80D2928;
- BillPacket::~BillPacket(&Msg);
- }
- return 2;
- }
- // 80D2928: using guessed type _DWORD (__cdecl *off_80D2928[2])(Packets::LBLOperateAcc *this);
- //----- (080A0AF8) --------------------------------------------------------
- void __cdecl _tcf_0_207(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080A0B08) --------------------------------------------------------
- void `global constructor keyed to'Packets::WLOperateAccHandler::Execute()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_207, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080A0B34) --------------------------------------------------------
- void __cdecl CharConfig::~CharConfig(CharConfig *const this)
- {
- FULLUSERDATA *v1; // ecx
- int i; // eax
- FULLUSERDATA *j; // eax
- FULLUSERDATA *k; // eax
- char *v5; // ecx
- FULLUSERDATA *l; // eax
- FULLUSERDATA *m; // eax
- FULLUSERDATA *n; // eax
- if ( CharConfig::pUserData )
- {
- if ( CharConfig::pUserData != (FULLUSERDATA *)-40272 )
- {
- v1 = (FULLUSERDATA *)((char *)CharConfig::pUserData + 44262);
- while ( &CharConfig::pUserData->m_PetList != (_PET_DB_LIST_LOAD *)v1 )
- {
- v1 = (FULLUSERDATA *)((char *)v1 - 399);
- if ( v1 != (FULLUSERDATA *)-211 )
- {
- for ( i = (int)&v1->m_Human.m_Titles.m_szShangDian[31]; &v1->m_Human.m_Titles.m_szJieBai[3] != (CHAR *)i; i -= 12 )
- ;
- }
- }
- }
- if ( CharConfig::pUserData != (FULLUSERDATA *)-33963 )
- {
- for ( j = (FULLUSERDATA *)((char *)CharConfig::pUserData + 35483);
- CharConfig::pUserData->m_Impact.m_aImpacts != (_OWN_IMPACT *)j;
- j = (FULLUSERDATA *)((char *)j - 76) )
- {
- ;
- }
- }
- if ( CharConfig::pUserData != (FULLUSERDATA *)-33513 )
- {
- for ( k = (FULLUSERDATA *)((char *)CharConfig::pUserData + 33897);
- &CharConfig::pUserData->m_Cooldown != (_COOLDOWN_DB_LOAD_FOR_HUMAN *)k;
- k = (FULLUSERDATA *)((char *)k - 12) )
- {
- ;
- }
- }
- v5 = (char *)&CharConfig::pUserData->m_Human.m_PvpInfo;
- if ( CharConfig::pUserData != (FULLUSERDATA *)-1409 )
- {
- for ( l = (FULLUSERDATA *)((char *)CharConfig::pUserData + 1457);
- &CharConfig::pUserData->m_Human.m_PvpInfo.m_oPersonalEnemyList != (PersonalEnemyList_T *)l;
- l = (FULLUSERDATA *)((char *)l - 8) )
- {
- ;
- }
- }
- if ( v5 != (char *)-347 )
- {
- for ( m = (FULLUSERDATA *)((char *)CharConfig::pUserData + 1409);
- &CharConfig::pUserData->m_Human.m_PvpInfo.m_oPersonalDuelList != (PersonalDuelList_T *)m;
- m = (FULLUSERDATA *)((char *)m - 8) )
- {
- ;
- }
- }
- if ( v5 != (char *)-267 )
- {
- for ( n = (FULLUSERDATA *)((char *)CharConfig::pUserData + 1369);
- &CharConfig::pUserData->m_Human.m_PvpInfo.m_oFightBackList != (FightBackList_T *)n;
- n = (FULLUSERDATA *)((char *)n - 8) )
- {
- ;
- }
- }
- operator delete((IPRegionTable *const )CharConfig::pUserData);
- CharConfig::pUserData = 0;
- }
- }
- //----- (080A0C24) --------------------------------------------------------
- void __cdecl CharConfig::~CharConfig(CharConfig *const this)
- {
- FULLUSERDATA *v1; // ecx
- int i; // eax
- FULLUSERDATA *j; // eax
- FULLUSERDATA *k; // eax
- char *v5; // ecx
- FULLUSERDATA *l; // eax
- FULLUSERDATA *m; // eax
- FULLUSERDATA *n; // eax
- if ( CharConfig::pUserData )
- {
- if ( CharConfig::pUserData != (FULLUSERDATA *)-40272 )
- {
- v1 = (FULLUSERDATA *)((char *)CharConfig::pUserData + 44262);
- while ( &CharConfig::pUserData->m_PetList != (_PET_DB_LIST_LOAD *)v1 )
- {
- v1 = (FULLUSERDATA *)((char *)v1 - 399);
- if ( v1 != (FULLUSERDATA *)-211 )
- {
- for ( i = (int)&v1->m_Human.m_Titles.m_szShangDian[31]; &v1->m_Human.m_Titles.m_szJieBai[3] != (CHAR *)i; i -= 12 )
- ;
- }
- }
- }
- if ( CharConfig::pUserData != (FULLUSERDATA *)-33963 )
- {
- for ( j = (FULLUSERDATA *)((char *)CharConfig::pUserData + 35483);
- CharConfig::pUserData->m_Impact.m_aImpacts != (_OWN_IMPACT *)j;
- j = (FULLUSERDATA *)((char *)j - 76) )
- {
- ;
- }
- }
- if ( CharConfig::pUserData != (FULLUSERDATA *)-33513 )
- {
- for ( k = (FULLUSERDATA *)((char *)CharConfig::pUserData + 33897);
- &CharConfig::pUserData->m_Cooldown != (_COOLDOWN_DB_LOAD_FOR_HUMAN *)k;
- k = (FULLUSERDATA *)((char *)k - 12) )
- {
- ;
- }
- }
- v5 = (char *)&CharConfig::pUserData->m_Human.m_PvpInfo;
- if ( CharConfig::pUserData != (FULLUSERDATA *)-1409 )
- {
- for ( l = (FULLUSERDATA *)((char *)CharConfig::pUserData + 1457);
- &CharConfig::pUserData->m_Human.m_PvpInfo.m_oPersonalEnemyList != (PersonalEnemyList_T *)l;
- l = (FULLUSERDATA *)((char *)l - 8) )
- {
- ;
- }
- }
- if ( v5 != (char *)-347 )
- {
- for ( m = (FULLUSERDATA *)((char *)CharConfig::pUserData + 1409);
- &CharConfig::pUserData->m_Human.m_PvpInfo.m_oPersonalDuelList != (PersonalDuelList_T *)m;
- m = (FULLUSERDATA *)((char *)m - 8) )
- {
- ;
- }
- }
- if ( v5 != (char *)-267 )
- {
- for ( n = (FULLUSERDATA *)((char *)CharConfig::pUserData + 1369);
- &CharConfig::pUserData->m_Human.m_PvpInfo.m_oFightBackList != (FightBackList_T *)n;
- n = (FULLUSERDATA *)((char *)n - 8) )
- {
- ;
- }
- }
- operator delete((IPRegionTable *const )CharConfig::pUserData);
- CharConfig::pUserData = 0;
- }
- }
- //----- (080A0D14) --------------------------------------------------------
- CFG_CHOOSE_SCENE *__cdecl DBChooseSceneTable::GetSceneInfo(CHAR_TYPE ctype, CHAR_TYPE ctypea)
- {
- if ( (signed int)ctypea > 0 )
- __assert__(
- "./DB/CharConfig.cpp",
- 0x28Au,
- "CFG_CHOOSE_SCENE* DBChooseSceneTable::GetSceneInfo(CHAR_TYPE)",
- "ctype<CT_NUMBER");
- return (CFG_CHOOSE_SCENE *)(ctype + 104 * ctypea);
- }
- //----- (080A0D98) --------------------------------------------------------
- BOOL __cdecl CharConfig::GetCharChooseScene(DB_CHOOSE_SCENE *pInfo, CHAR_TYPE ctype)
- {
- CFG_CHOOSE_SCENE *v2; // eax
- if ( pInfo )
- {
- v2 = DBChooseSceneTable::GetSceneInfo((CHAR_TYPE)&g_DBSceneTable, ctype);
- if ( v2 )
- {
- pInfo->mSceneCount = v2->mSceneCount;
- qmemcpy(pInfo->mSceneID, v2->mSceneID, sizeof(pInfo->mSceneID));
- }
- }
- return 1;
- }
- //----- (080A0E28) --------------------------------------------------------
- void __cdecl DBChooseSceneTable::DBChooseSceneTable(DBChooseSceneTable *const this)
- {
- DBChooseSceneTable *v1; // ebx
- signed int v2; // edi
- WORLD_POS *v3; // eax
- signed int v4; // edx
- INT v5; // ebx
- INT i; // [esp+24h] [ebp-DD4h]
- INT nValue; // [esp+28h] [ebp-DD0h]
- char szErr[1024]; // [esp+30h] [ebp-DC8h]
- char szTmp[32]; // [esp+430h] [ebp-9C8h]
- char szTmp2[32]; // [esp+450h] [ebp-9A8h]
- char szTmp1[32]; // [esp+470h] [ebp-988h]
- char szTmp0[32]; // [esp+490h] [ebp-968h]
- IniFile ini; // [esp+4B0h] [ebp-948h]
- v1 = this;
- v2 = 9;
- do
- {
- v3 = v1->mSceneTable[0].mPos;
- v4 = 9;
- do
- {
- --v4;
- v3->m_fX = 0.0;
- v3->m_fZ = 0.0;
- ++v3;
- }
- while ( v4 != -1 );
- --v2;
- memset(v1, 0, 0x68u);
- v1 = (DBChooseSceneTable *)((char *)v1 + 104);
- }
- while ( v2 != -1 );
- IniFile::IniFile((const CHAR *)&ini, "./Config/DefaultChar.ini");
- if ( IniFile::ReadInt(&ini, "startscene", "scenecount", &nValue) != 1 )
- {
- snprintf(
- szErr,
- 0x400u,
- "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s",
- "startscene",
- "scenecount");
- __assertex__("./DB/CharConfig.cpp", 0x281u, "DBChooseSceneTable::DBChooseSceneTable()", "FALSE", szErr);
- }
- v5 = nValue;
- if ( nValue > 10 )
- v5 = 10;
- i = 0;
- for ( g_DBSceneTable.mSceneTable[0].mSceneCount = v5; i < v5; ++i )
- {
- memset(szTmp0, 0, sizeof(szTmp0));
- memset(szTmp1, 0, sizeof(szTmp1));
- memset(szTmp2, 0, sizeof(szTmp2));
- memset(szTmp, 0, sizeof(szTmp));
- sprintf(szTmp0, "scene%d", i);
- sprintf(szTmp1, "pos_x%d", i);
- sprintf(szTmp2, "pos_z%d", i);
- if ( IniFile::ReadInt(&ini, "startscene", szTmp0, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "startscene", szTmp0);
- __assertex__("./DB/CharConfig.cpp", 0x262u, "DBChooseSceneTable::DBChooseSceneTable()", "FALSE", szErr);
- }
- g_DBSceneTable.mSceneTable[0].mSceneID[i] = nValue;
- if ( IniFile::ReadText(&ini, "startscene", szTmp1, szTmp, 32) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "startscene", szTmp1);
- __assertex__("./DB/CharConfig.cpp", 0x26Du, "DBChooseSceneTable::DBChooseSceneTable()", "FALSE", szErr);
- }
- g_DBSceneTable.mSceneTable[0].mPos[i].m_fX = __strtod_internal(szTmp, 0, 0);
- if ( IniFile::ReadText(&ini, "startscene", szTmp2, szTmp, 32) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "startscene", szTmp2);
- __assertex__("./DB/CharConfig.cpp", 0x279u, "DBChooseSceneTable::DBChooseSceneTable()", "FALSE", szErr);
- }
- g_DBSceneTable.mSceneTable[0].mPos[i].m_fZ = __strtod_internal(szTmp, 0, 0);
- }
- IniFile::~IniFile(&ini);
- }
- //----- (080A11C4) --------------------------------------------------------
- void __cdecl DBChooseSceneTable::DBChooseSceneTable(DBChooseSceneTable *const this)
- {
- DBChooseSceneTable *v1; // ebx
- signed int v2; // edi
- WORLD_POS *v3; // eax
- signed int v4; // edx
- INT v5; // ebx
- INT i; // [esp+24h] [ebp-DD4h]
- INT nValue; // [esp+28h] [ebp-DD0h]
- char szErr[1024]; // [esp+30h] [ebp-DC8h]
- char szTmp[32]; // [esp+430h] [ebp-9C8h]
- char szTmp2[32]; // [esp+450h] [ebp-9A8h]
- char szTmp1[32]; // [esp+470h] [ebp-988h]
- char szTmp0[32]; // [esp+490h] [ebp-968h]
- IniFile ini; // [esp+4B0h] [ebp-948h]
- v1 = this;
- v2 = 9;
- do
- {
- v3 = v1->mSceneTable[0].mPos;
- v4 = 9;
- do
- {
- --v4;
- v3->m_fX = 0.0;
- v3->m_fZ = 0.0;
- ++v3;
- }
- while ( v4 != -1 );
- --v2;
- memset(v1, 0, 0x68u);
- v1 = (DBChooseSceneTable *)((char *)v1 + 104);
- }
- while ( v2 != -1 );
- IniFile::IniFile((const CHAR *)&ini, "./Config/DefaultChar.ini");
- if ( IniFile::ReadInt(&ini, "startscene", "scenecount", &nValue) != 1 )
- {
- snprintf(
- szErr,
- 0x400u,
- "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s",
- "startscene",
- "scenecount");
- __assertex__("./DB/CharConfig.cpp", 0x281u, "DBChooseSceneTable::DBChooseSceneTable()", "FALSE", szErr);
- }
- v5 = nValue;
- if ( nValue > 10 )
- v5 = 10;
- i = 0;
- for ( g_DBSceneTable.mSceneTable[0].mSceneCount = v5; i < v5; ++i )
- {
- memset(szTmp0, 0, sizeof(szTmp0));
- memset(szTmp1, 0, sizeof(szTmp1));
- memset(szTmp2, 0, sizeof(szTmp2));
- memset(szTmp, 0, sizeof(szTmp));
- sprintf(szTmp0, "scene%d", i);
- sprintf(szTmp1, "pos_x%d", i);
- sprintf(szTmp2, "pos_z%d", i);
- if ( IniFile::ReadInt(&ini, "startscene", szTmp0, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "startscene", szTmp0);
- __assertex__("./DB/CharConfig.cpp", 0x262u, "DBChooseSceneTable::DBChooseSceneTable()", "FALSE", szErr);
- }
- g_DBSceneTable.mSceneTable[0].mSceneID[i] = nValue;
- if ( IniFile::ReadText(&ini, "startscene", szTmp1, szTmp, 32) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "startscene", szTmp1);
- __assertex__("./DB/CharConfig.cpp", 0x26Du, "DBChooseSceneTable::DBChooseSceneTable()", "FALSE", szErr);
- }
- g_DBSceneTable.mSceneTable[0].mPos[i].m_fX = __strtod_internal(szTmp, 0, 0);
- if ( IniFile::ReadText(&ini, "startscene", szTmp2, szTmp, 32) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "startscene", szTmp2);
- __assertex__("./DB/CharConfig.cpp", 0x279u, "DBChooseSceneTable::DBChooseSceneTable()", "FALSE", szErr);
- }
- g_DBSceneTable.mSceneTable[0].mPos[i].m_fZ = __strtod_internal(szTmp, 0, 0);
- }
- IniFile::~IniFile(&ini);
- }
- //----- (080A1560) --------------------------------------------------------
- BOOL __cdecl DBChooseSceneTable::GetPosBySceneID(DBChooseSceneTable *const this, SceneID_t sid, CHAR_TYPE ctype, WORLD_POS *const pos)
- {
- CFG_CHOOSE_SCENE *v4; // ecx
- int v5; // edx
- int v7; // eax
- FLOAT v8; // edx
- if ( (signed int)ctype > 0 )
- __assert__(
- "./DB/CharConfig.cpp",
- 0x298u,
- "BOOL DBChooseSceneTable::GetPosBySceneID(SceneID_t, CHAR_TYPE, WORLD_POS&)",
- "ctype<CT_NUMBER");
- v4 = &this->mSceneTable[ctype];
- v5 = 0;
- if ( v4->mSceneCount <= 0 )
- return 0;
- while ( v4->mSceneID[v5] != sid )
- {
- if ( v4->mSceneCount <= ++v5 )
- return 0;
- }
- v7 = (int)v4 + 8 * v5;
- v8 = *(float *)(v7 + 24);
- pos->m_fZ = *(FLOAT *)(v7 + 28);
- pos->m_fX = v8;
- return 1;
- }
- //----- (080A1628) --------------------------------------------------------
- BOOL __cdecl DBChooseSceneTable::isValidSceneID(DBChooseSceneTable *const this, SceneID_t sid, CHAR_TYPE ctype)
- {
- CFG_CHOOSE_SCENE *v3; // esi
- int v4; // edx
- if ( (signed int)ctype > 0 )
- __assert__(
- "./DB/CharConfig.cpp",
- 0x2B1u,
- "BOOL DBChooseSceneTable::isValidSceneID(SceneID_t, CHAR_TYPE)",
- "ctype<CT_NUMBER");
- v3 = &this->mSceneTable[ctype];
- v4 = 0;
- if ( v3->mSceneCount <= 0 )
- return 0;
- while ( v3->mSceneID[v4] != sid )
- {
- if ( v3->mSceneCount <= ++v4 )
- return 0;
- }
- return 1;
- }
- //----- (080A16DC) --------------------------------------------------------
- BOOL __cdecl CharConfig::InitCharAttr(FULLUSERDATA *pData)
- {
- _COOLDOWN_DB_LOAD_FOR_HUMAN *v1; // eax
- signed int v2; // edx
- _SETTING_DB_LOAD *v3; // eax
- signed int v4; // edx
- CHAR *v5; // edi
- BOOL result; // eax
- INT DefEquip; // [esp+1Ch] [ebp-8Ch]
- BYTE FaceModel; // [esp+21h] [ebp-87h]
- BYTE HairModel; // [esp+22h] [ebp-86h]
- BYTE FaceColor; // [esp+23h] [ebp-85h]
- UINT HairColor; // [esp+24h] [ebp-84h]
- UINT CreateDate; // [esp+28h] [ebp-80h]
- BOOL Sex; // [esp+2Ch] [ebp-7Ch]
- GUID_t GUID; // [esp+30h] [ebp-78h]
- INT PortraitID; // [esp+34h] [ebp-74h]
- CHAR Title[34]; // [esp+40h] [ebp-68h]
- CHAR Name[30]; // [esp+70h] [ebp-38h]
- if ( !pData )
- __assert__("./DB/CharConfig.cpp", 0x1FEu, "static BOOL CharConfig::InitCharAttr(FULLUSERDATA*)", "pData");
- if ( !CharConfig::pUserData )
- __assert__("./DB/CharConfig.cpp", 0x1FFu, "static BOOL CharConfig::InitCharAttr(FULLUSERDATA*)", "pUserData");
- PortraitID = pData->m_Human.m_PortraitID;
- strncpy(Name, pData->m_Human.m_Name, 0x1Eu);
- strncpy(Title, pData->m_Human.m_Title, 0x22u);
- GUID = pData->m_Human.m_GUID;
- Sex = pData->m_Human.m_Sex;
- CreateDate = pData->m_Human.m_CreateDate;
- HairColor = pData->m_Human.m_HairColor;
- FaceColor = pData->m_Human.m_FaceColor;
- HairModel = pData->m_Human.m_HairModel;
- FaceModel = pData->m_Human.m_FaceModel;
- DefEquip = pData->m_Human.m_DefEquip;
- _HUMAN_DB_LOAD::CleanUp(&pData->m_Human);
- _EQUIP_DB_LOAD::CleanUp(&pData->m_Equip);
- _BAG_DB_LOAD::CleanUp(&pData->m_Bag);
- _BANK_DB_LOAD::CleanUp((char *)&pData->m_Bank);
- _SKILL_DB_LOAD::CleanUp(&pData->m_Skill);
- v1 = &pData->m_Cooldown;
- v2 = 31;
- do
- {
- v1->m_aCooldown[0].m_nID = -1;
- v1->m_aCooldown[0].m_nCooldown = 0;
- v1->m_aCooldown[0].m_nCooldownElapsed = 0;
- v1 = (_COOLDOWN_DB_LOAD_FOR_HUMAN *)((char *)v1 + 12);
- --v2;
- }
- while ( v2 >= 0 );
- _XINFA_DB_LOAD::CleanUp(&pData->m_XinFa);
- _IMPACT_DB_LOAD::CleanUp(&pData->m_Impact.m_Count);
- _ABILITY_DB_LOAD::CleanUp(pData->m_Ability.m_aPrescr);
- _MISSION_DB_LOAD::CleanUp(&pData->m_Mission);
- v3 = &pData->m_Setting;
- v4 = 127;
- do
- {
- v3->m_aSetting[0].m_SettingType = 0;
- v3->m_aSetting[0].m_SettingData = 0;
- v3 = (_SETTING_DB_LOAD *)((char *)v3 + 5);
- --v4;
- }
- while ( v4 >= 0 );
- _PET_DB_LIST_LOAD::CleanUp(&pData->m_PetList);
- _RELATION_DB_LOAD::CleanUp(&pData->m_Relation);
- memset(&pData->m_PrivateInfo, 0, 0x1B0u);
- pData->m_PrivateInfo.m_CharGUID = -1;
- pData->m_bIsPasswdUnlock = 0;
- pData->m_DRideData.m_bDRideMountOwner = 0;
- pData->m_DRideData.m_uDRideTargetGUID = -1;
- memset(pData->m_AccName, 0, 0x30u);
- v5 = &pData->m_AccName[48];
- *(_WORD *)v5 = 0;
- v5[2] = 0;
- pData->m_macValue.m_uHigh = 0;
- pData->m_macValue.m_uLow = 0;
- pData->m_uVERecoverTime = 0;
- pData->m_nLeftPilferLockTime = 0;
- pData->m_bPilferLockTimeStart = 0;
- pData->m_uPrevHeartBeatANSITime = 0;
- memset(pData->m_LoginHost, 0, 0x18u);
- pData->m_LoginHost[24] = 0;
- pData->m_AccountSafeSign.m_Sign = 0;
- pData->m_IsPilfered = 0;
- memcpy(pData, CharConfig::pUserData, 0xC619u);
- pData->m_Human.m_PortraitID = PortraitID;
- strncpy(pData->m_Human.m_Name, Name, 0x1Eu);
- strncpy(Title, pData->m_Human.m_Title, 0x22u);
- pData->m_Human.m_Sex = Sex;
- pData->m_Human.m_HairColor = HairColor;
- pData->m_Human.m_GUID = GUID;
- pData->m_Human.m_FaceColor = FaceColor;
- pData->m_Human.m_HairModel = HairModel;
- pData->m_Human.m_FaceModel = FaceModel;
- pData->m_Human.m_CreateDate = CreateDate;
- result = 1;
- pData->m_Human.m_DefEquip = DefEquip;
- return result;
- }
- //----- (080A1A34) --------------------------------------------------------
- void __cdecl CharConfig::CharConfig(CharConfig *const this)
- {
- int v1; // esi
- int v2; // eax
- signed int v3; // edx
- int v4; // eax
- signed int v5; // edx
- int v6; // edi
- FULLUSERDATA *v7; // ebx
- BYTE v8; // dl
- signed int v9; // esi
- FULLUSERDATA *v10; // ebx
- BYTE v11; // dl
- FULLUSERDATA *v12; // ebx
- signed int v13; // esi
- INT v14; // edx
- INT v15; // ebx
- INT i; // esi
- int v17; // esi
- bool j; // sf
- unsigned __int8 v19; // of
- INT v20; // edi
- INT v21; // esi
- INT v22; // ebx
- INT iData; // ST30_4
- INT v24; // edx
- FULLUSERDATA *v25; // ebx
- FULLUSERDATA *v26; // ebx
- FULLUSERDATA *v27; // ebx
- BYTE iType; // [esp+20h] [ebp-EB4h]
- INT nTableNum; // [esp+24h] [ebp-EB0h]
- INT iSkillAbility; // [esp+28h] [ebp-EACh]
- INT iSkillAbilitya; // [esp+28h] [ebp-EACh]
- INT nValue; // [esp+30h] [ebp-EA4h]
- int v33; // [esp+34h] [ebp-EA0h]
- int v34; // [esp+38h] [ebp-E9Ch]
- char szTmp2[32]; // [esp+3Ch] [ebp-E98h]
- char szExp[64]; // [esp+5Ch] [ebp-E78h]
- char szLevel[64]; // [esp+9Ch] [ebp-E38h]
- char szAbility[64]; // [esp+DCh] [ebp-DF8h]
- char szTmp0[32]; // [esp+11Ch] [ebp-DB8h]
- char szTmp1[32]; // [esp+13Ch] [ebp-D98h]
- char szErr[1024]; // [esp+16Ch] [ebp-D68h]
- char szTmp[32]; // [esp+56Ch] [ebp-968h]
- IniFile ini; // [esp+58Ch] [ebp-948h]
- v1 = operator new(0xC619u);
- FULLUSERDATA::FULLUSERDATA((FULLUSERDATA_0 *const )v1);
- CharConfig::pUserData = (FULLUSERDATA *)v1;
- if ( !v1 )
- __assertex__(
- "./DB/CharConfig.cpp",
- 0x11u,
- "CharConfig::CharConfig()",
- "FALSE",
- "[CharConfig::CharConfig]: alloc memory for FULLUSERDATA failed!!");
- _HUMAN_DB_LOAD::CleanUp((_HUMAN_DB_LOAD *const )v1);
- _EQUIP_DB_LOAD::CleanUp((_WORD *)(v1 + 29910));
- _BAG_DB_LOAD::CleanUp((_DWORD *)(v1 + 12290));
- _BANK_DB_LOAD::CleanUp((char *)(v1 + 1721));
- _SKILL_DB_LOAD::CleanUp((_SKILL_DB_LOAD *const )(v1 + 33256));
- v2 = v1 + 33513;
- v3 = 31;
- do
- {
- *(_WORD *)v2 = -1;
- *(_DWORD *)(v2 + 4) = 0;
- *(_DWORD *)(v2 + 8) = 0;
- v2 += 12;
- --v3;
- }
- while ( v3 >= 0 );
- _XINFA_DB_LOAD::CleanUp((_XINFA_DB_LOAD *const )(v1 + 33897));
- _IMPACT_DB_LOAD::CleanUp((_BYTE *)(v1 + 33962));
- _ABILITY_DB_LOAD::CleanUp((char *)(v1 + 35483));
- _MISSION_DB_LOAD::CleanUp((_MISSION_DB_LOAD *const )(v1 + 36251));
- v4 = v1 + 39632;
- v5 = 127;
- do
- {
- *(_BYTE *)v4 = 0;
- *(_DWORD *)(v4 + 1) = 0;
- v4 += 5;
- --v5;
- }
- while ( v5 >= 0 );
- _PET_DB_LIST_LOAD::CleanUp((_PET_DB_LIST_LOAD *const )(v1 + 40272));
- _RELATION_DB_LOAD::CleanUp((_RELATION_DB_LOAD *const )(v1 + 44262));
- memset((void *)(v1 + 50161), 0, 0x1B0u);
- *(_DWORD *)(v1 + 50162) = -1;
- *(_DWORD *)(v1 + 50593) = 0;
- *(_DWORD *)(v1 + 50597) = 0;
- *(_DWORD *)(v1 + 50601) = -1;
- memset((void *)(v1 + 50605), 0, 0x30u);
- v6 = v1 + 50653;
- *(_WORD *)v6 = 0;
- *(_BYTE *)(v6 + 2) = 0;
- v33 = 0;
- v34 = 0;
- *(_DWORD *)(v1 + 50656) = 0;
- *(_DWORD *)(v1 + 50660) = 0;
- *(_DWORD *)(v1 + 50664) = 0;
- *(_DWORD *)(v1 + 50668) = 0;
- *(_DWORD *)(v1 + 50672) = 0;
- *(_DWORD *)(v1 + 50676) = 0;
- memset((void *)(v1 + 50680), 0, 0x18u);
- *(_BYTE *)(v1 + 50704) = 0;
- *(_DWORD *)(v1 + 50705) = 0;
- *(_DWORD *)(v1 + 50709) = 0;
- IniFile::IniFile((const CHAR *)&ini, "./Config/DefaultChar.ini");
- if ( IniFile::ReadInt(&ini, "baseinfo", "scene", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", 135150222);
- __assertex__("./DB/CharConfig.cpp", 0x22u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_StartScene = nValue;
- if ( IniFile::ReadText(&ini, "baseinfo", "pos_x", szTmp, 32) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "pos_x");
- __assertex__("./DB/CharConfig.cpp", 0x2Du, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v27 = CharConfig::pUserData;
- v27->m_Human.m_Position.m_fX = __strtod_internal(szTmp, 0, 0);
- if ( IniFile::ReadText(&ini, "baseinfo", "pos_z", szTmp, 32) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "pos_z");
- __assertex__("./DB/CharConfig.cpp", 0x38u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v26 = CharConfig::pUserData;
- v26->m_Human.m_Position.m_fZ = __strtod_internal(szTmp, 0, 0);
- if ( IniFile::ReadInt(&ini, "baseinfo", "hp", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "hp");
- __assertex__("./DB/CharConfig.cpp", 0x43u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_HP = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "mp", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", 135013046);
- __assertex__("./DB/CharConfig.cpp", 0x4Eu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_MP = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "level", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "level");
- __assertex__("./DB/CharConfig.cpp", 0x59u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v7 = CharConfig::pUserData;
- CharConfig::pUserData->m_Human.m_Level = nValue;
- v7->m_Human.m_HairColor = 0;
- if ( IniFile::ReadInt(&ini, "baseinfo", "vigor", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "vigor");
- __assertex__("./DB/CharConfig.cpp", 0x65u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_Vigor = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", aMax, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", aMax);
- __assertex__("./DB/CharConfig.cpp", 0x70u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_MaxVigor = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "vigor_regenerate", &nValue) != 1 )
- {
- snprintf(
- szErr,
- 0x400u,
- "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s",
- "baseinfo",
- "vigor_regenerate");
- __assertex__("./DB/CharConfig.cpp", 0x7Bu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_VigorRegeneRate = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "energy", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "energy");
- __assertex__("./DB/CharConfig.cpp", 0x86u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_Energy = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", aMax_0, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", aMax_0);
- __assertex__("./DB/CharConfig.cpp", 0x91u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_MaxEnergy = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "energy_regenerate", &nValue) != 1 )
- {
- snprintf(
- szErr,
- 0x400u,
- "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s",
- "baseinfo",
- "energy_regenerate");
- __assertex__("./DB/CharConfig.cpp", 0x9Cu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_EnergyRegeneRate = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "exp", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "exp");
- __assertex__("./DB/CharConfig.cpp", 0xA7u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_Exp = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "menpai", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "menpai");
- __assertex__("./DB/CharConfig.cpp", 0xBFu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_MenPai = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "money", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "money");
- __assertex__("./DB/CharConfig.cpp", 0xCAu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_Money = nValue;
- if ( IniFile::ReadInt(&ini, "attribute", "str", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "attribute", "str");
- __assertex__("./DB/CharConfig.cpp", 0xD8u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_BaseAttrLevel1.m_pAttr[0] = nValue;
- if ( IniFile::ReadInt(&ini, "attribute", "spr", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "attribute", "spr");
- __assertex__("./DB/CharConfig.cpp", 0xE3u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_BaseAttrLevel1.m_pAttr[1] = nValue;
- if ( IniFile::ReadInt(&ini, "attribute", "con", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "attribute", "con");
- __assertex__("./DB/CharConfig.cpp", 0xEEu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_BaseAttrLevel1.m_pAttr[2] = nValue;
- if ( IniFile::ReadInt(&ini, "attribute", "int", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "attribute", 135013499);
- __assertex__("./DB/CharConfig.cpp", 0xF9u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_BaseAttrLevel1.m_pAttr[3] = nValue;
- if ( IniFile::ReadInt(&ini, "attribute", "dex", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "attribute", 135050305);
- __assertex__("./DB/CharConfig.cpp", 0x104u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_BaseAttrLevel1.m_pAttr[4] = nValue;
- if ( IniFile::ReadInt(&ini, "skill", "number", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "skill", 135016406);
- __assertex__("./DB/CharConfig.cpp", 0x126u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v8 = nValue;
- if ( nValue > 128 )
- {
- nValue = 128;
- v8 = -128;
- }
- CharConfig::pUserData->m_Skill.m_Count = v8;
- v9 = 0;
- if ( CharConfig::pUserData->m_Skill.m_Count )
- {
- do
- {
- memset(szTmp1, 0, sizeof(szTmp1));
- sprintf(szTmp1, "id%d", v9, 0);
- if ( IniFile::ReadInt(&ini, "skill", szTmp1, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "skill", szTmp1);
- __assertex__("./DB/CharConfig.cpp", 0x11Eu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v10 = CharConfig::pUserData;
- CharConfig::pUserData->m_Skill.m_aSkill[v9++].m_nSkillID = nValue;
- }
- while ( v10->m_Skill.m_Count > v9 );
- }
- if ( IniFile::ReadInt(&ini, "xinfa", "number", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "skill", 135016406);
- __assertex__("./DB/CharConfig.cpp", 0x153u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v11 = nValue;
- if ( nValue > 16 )
- {
- nValue = 16;
- v11 = 16;
- }
- CharConfig::pUserData->m_XinFa.m_Count = v11;
- v12 = CharConfig::pUserData;
- v13 = 0;
- if ( CharConfig::pUserData->m_XinFa.m_Count )
- {
- do
- {
- memset(szTmp1, 0, sizeof(szTmp1));
- memset(szTmp0, 0, sizeof(szTmp0));
- sprintf(szTmp1, "id%d", v13, szTmp1);
- if ( IniFile::ReadInt(&ini, "xinfa", szTmp1, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "xinfa", szTmp1);
- __assertex__("./DB/CharConfig.cpp", 0x13Fu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_XinFa.m_aXinFa[v13].m_nXinFaID = nValue;
- sprintf(szTmp0, "level%d", v13, v12);
- if ( IniFile::ReadInt(&ini, "xinfa", szTmp0, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "xinfa", szTmp0);
- __assertex__("./DB/CharConfig.cpp", 0x14Bu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_XinFa.m_aXinFa[v13].m_nLevel = nValue;
- v12 = CharConfig::pUserData;
- ++v13;
- }
- while ( CharConfig::pUserData->m_XinFa.m_Count > v13 );
- }
- strncpy(v12->m_Relation.m_szMood, &byte_80E3B2E, 0x20u);
- CharConfig::pUserData->m_Relation.m_szMood[31] = 0;
- if ( IniFile::ReadInt(&ini, "ability", "count", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "ability", 135051092);
- __assertex__("./DB/CharConfig.cpp", 0x18Eu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v15 = nValue;
- for ( i = 0; i < v15; ++i )
- {
- memset(szAbility, 0, sizeof(szAbility));
- sprintf(szAbility, "abilityskill%d", i, v14);
- if ( IniFile::ReadInt(&ini, "ability", szAbility, 0) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "ability", szAbility);
- __assertex__("./DB/CharConfig.cpp", 0x16Cu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- memset(szLevel, 0, sizeof(szLevel));
- memset(szExp, 0, sizeof(szExp));
- sprintf(szLevel, "level%d", i);
- sprintf(szExp, "exp%d", i);
- if ( IniFile::ReadInt(&ini, "ability", szLevel, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "ability", szLevel);
- __assertex__("./DB/CharConfig.cpp", 0x17Bu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Ability.m_aABility[iSkillAbility].m_Level = nValue;
- if ( IniFile::ReadInt(&ini, "ability", szExp, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "ability", szExp);
- __assertex__("./DB/CharConfig.cpp", 0x186u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v14 = nValue;
- CharConfig::pUserData->m_Ability.m_aABility[iSkillAbilitya].m_Exp = nValue;
- }
- if ( IniFile::ReadInt(&ini, "table", "number", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "table", 135016406);
- __assertex__("./DB/CharConfig.cpp", 0x1AFu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v17 = 0;
- v19 = __OFSUB__(0, nValue);
- for ( j = -nValue < 0; j ^ v19; j = v17 - nTableNum < 0 )
- {
- memset(szTmp, 0, sizeof(szTmp));
- sprintf(szTmp, "peifang%d", v17, 0);
- if ( IniFile::ReadInt(&ini, "table", szTmp, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "table", szTmp);
- __assertex__("./DB/CharConfig.cpp", 0x1A6u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Ability.m_aPrescr[nValue / 8] |= 1 << nValue % 8;
- v19 = __OFSUB__(++v17, nTableNum);
- }
- if ( IniFile::ReadInt(&ini, "setting", "count", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "setting", 135051092);
- __assertex__("./DB/CharConfig.cpp", 0x1EAu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v20 = nValue;
- v21 = 0;
- if ( nValue <= 0 )
- {
- v25 = CharConfig::pUserData;
- }
- else
- {
- do
- {
- sprintf(szTmp0, "settingindex%d", v21);
- sprintf(szTmp1, "settingtype%d", v21);
- sprintf(szTmp2, "settingdata%d", v21);
- if ( IniFile::ReadInt(&ini, "setting", szTmp0, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "setting", szTmp0);
- __assertex__("./DB/CharConfig.cpp", 0x1C8u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v22 = nValue;
- if ( IniFile::ReadInt(&ini, 0, szTmp1, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "setting", szTmp1);
- __assertex__("./DB/CharConfig.cpp", 0x1D4u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- if ( IniFile::ReadInt(&ini, "setting", szTmp2, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "setting", szTmp2);
- __assertex__("./DB/CharConfig.cpp", 0x1E0u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- iData = nValue;
- v24 = v22;
- CharConfig::pUserData->m_Setting.m_aSetting[v22].m_SettingType = iType;
- ++v21;
- v25 = CharConfig::pUserData;
- CharConfig::pUserData->m_Setting.m_aSetting[v24].m_SettingData = iData;
- }
- while ( v21 < v20 );
- }
- v25->m_bIsPasswdUnlock = 0;
- strncpy(v25->m_PrivateInfo.m_LuckWord, &byte_80E3B91, 0xFFu);
- CharConfig::pUserData->m_PrivateInfo.m_LuckWord[254] = 0;
- IniFile::~IniFile(&ini);
- }
- //----- (080A3198) --------------------------------------------------------
- void __cdecl CharConfig::CharConfig(CharConfig *const this)
- {
- int v1; // esi
- int v2; // eax
- signed int v3; // edx
- int v4; // eax
- signed int v5; // edx
- int v6; // edi
- FULLUSERDATA *v7; // ebx
- BYTE v8; // dl
- signed int v9; // esi
- FULLUSERDATA *v10; // ebx
- BYTE v11; // dl
- FULLUSERDATA *v12; // ebx
- signed int v13; // esi
- FULLUSERDATA *v14; // eax
- INT v15; // ebx
- INT i; // esi
- int v17; // esi
- bool j; // sf
- unsigned __int8 v19; // of
- INT v20; // edi
- INT v21; // esi
- INT v22; // ebx
- INT iData; // ST30_4
- INT v24; // edx
- FULLUSERDATA *v25; // ebx
- FULLUSERDATA *v26; // ebx
- FULLUSERDATA *v27; // ebx
- BYTE iType; // [esp+20h] [ebp-EB4h]
- INT nTableNum; // [esp+24h] [ebp-EB0h]
- INT iSkillAbility; // [esp+28h] [ebp-EACh]
- INT iSkillAbilitya; // [esp+28h] [ebp-EACh]
- INT nValue; // [esp+30h] [ebp-EA4h]
- int v33; // [esp+34h] [ebp-EA0h]
- int v34; // [esp+38h] [ebp-E9Ch]
- char szTmp2[32]; // [esp+3Ch] [ebp-E98h]
- char szExp[64]; // [esp+5Ch] [ebp-E78h]
- char szLevel[64]; // [esp+9Ch] [ebp-E38h]
- char szAbility[64]; // [esp+DCh] [ebp-DF8h]
- char szTmp0[32]; // [esp+11Ch] [ebp-DB8h]
- char szTmp1[32]; // [esp+13Ch] [ebp-D98h]
- char szErr[1024]; // [esp+16Ch] [ebp-D68h]
- char szTmp[32]; // [esp+56Ch] [ebp-968h]
- IniFile ini; // [esp+58Ch] [ebp-948h]
- v1 = operator new(0xC619u);
- FULLUSERDATA::FULLUSERDATA((FULLUSERDATA_0 *const )v1);
- CharConfig::pUserData = (FULLUSERDATA *)v1;
- if ( !v1 )
- __assertex__(
- "./DB/CharConfig.cpp",
- 0x11u,
- "CharConfig::CharConfig()",
- "FALSE",
- "[CharConfig::CharConfig]: alloc memory for FULLUSERDATA failed!!");
- _HUMAN_DB_LOAD::CleanUp((_HUMAN_DB_LOAD *const )v1);
- _EQUIP_DB_LOAD::CleanUp((_WORD *)(v1 + 29910));
- _BAG_DB_LOAD::CleanUp((_DWORD *)(v1 + 12290));
- _BANK_DB_LOAD::CleanUp((char *)(v1 + 1721));
- _SKILL_DB_LOAD::CleanUp((_SKILL_DB_LOAD *const )(v1 + 33256));
- v2 = v1 + 33513;
- v3 = 31;
- do
- {
- *(_WORD *)v2 = -1;
- *(_DWORD *)(v2 + 4) = 0;
- *(_DWORD *)(v2 + 8) = 0;
- v2 += 12;
- --v3;
- }
- while ( v3 >= 0 );
- _XINFA_DB_LOAD::CleanUp((_XINFA_DB_LOAD *const )(v1 + 33897));
- _IMPACT_DB_LOAD::CleanUp((_BYTE *)(v1 + 33962));
- _ABILITY_DB_LOAD::CleanUp((char *)(v1 + 35483));
- _MISSION_DB_LOAD::CleanUp((_MISSION_DB_LOAD *const )(v1 + 36251));
- v4 = v1 + 39632;
- v5 = 127;
- do
- {
- *(_BYTE *)v4 = 0;
- *(_DWORD *)(v4 + 1) = 0;
- v4 += 5;
- --v5;
- }
- while ( v5 >= 0 );
- _PET_DB_LIST_LOAD::CleanUp((_PET_DB_LIST_LOAD *const )(v1 + 40272));
- _RELATION_DB_LOAD::CleanUp((_RELATION_DB_LOAD *const )(v1 + 44262));
- memset((void *)(v1 + 50161), 0, 0x1B0u);
- *(_DWORD *)(v1 + 50162) = -1;
- *(_DWORD *)(v1 + 50593) = 0;
- *(_DWORD *)(v1 + 50597) = 0;
- *(_DWORD *)(v1 + 50601) = -1;
- memset((void *)(v1 + 50605), 0, 0x30u);
- v6 = v1 + 50653;
- *(_WORD *)v6 = 0;
- *(_BYTE *)(v6 + 2) = 0;
- v33 = 0;
- v34 = 0;
- *(_DWORD *)(v1 + 50656) = 0;
- *(_DWORD *)(v1 + 50660) = 0;
- *(_DWORD *)(v1 + 50664) = 0;
- *(_DWORD *)(v1 + 50668) = 0;
- *(_DWORD *)(v1 + 50672) = 0;
- *(_DWORD *)(v1 + 50676) = 0;
- memset((void *)(v1 + 50680), 0, 0x18u);
- *(_BYTE *)(v1 + 50704) = 0;
- *(_DWORD *)(v1 + 50705) = 0;
- *(_DWORD *)(v1 + 50709) = 0;
- IniFile::IniFile((const CHAR *)&ini, "./Config/DefaultChar.ini");
- if ( IniFile::ReadInt(&ini, "baseinfo", "scene", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", 135150222);
- __assertex__("./DB/CharConfig.cpp", 0x22u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_StartScene = nValue;
- if ( IniFile::ReadText(&ini, "baseinfo", "pos_x", szTmp, 32) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "pos_x");
- __assertex__("./DB/CharConfig.cpp", 0x2Du, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v27 = CharConfig::pUserData;
- v27->m_Human.m_Position.m_fX = __strtod_internal(szTmp, 0, 0);
- if ( IniFile::ReadText(&ini, "baseinfo", "pos_z", szTmp, 32) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "pos_z");
- __assertex__("./DB/CharConfig.cpp", 0x38u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v26 = CharConfig::pUserData;
- v26->m_Human.m_Position.m_fZ = __strtod_internal(szTmp, 0, 0);
- if ( IniFile::ReadInt(&ini, "baseinfo", "hp", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "hp");
- __assertex__("./DB/CharConfig.cpp", 0x43u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_HP = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "mp", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", 135013046);
- __assertex__("./DB/CharConfig.cpp", 0x4Eu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_MP = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "level", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "level");
- __assertex__("./DB/CharConfig.cpp", 0x59u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v7 = CharConfig::pUserData;
- CharConfig::pUserData->m_Human.m_Level = nValue;
- v7->m_Human.m_HairColor = 0;
- if ( IniFile::ReadInt(&ini, "baseinfo", "vigor", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "vigor");
- __assertex__("./DB/CharConfig.cpp", 0x65u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_Vigor = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", aMax, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", aMax);
- __assertex__("./DB/CharConfig.cpp", 0x70u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_MaxVigor = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "vigor_regenerate", &nValue) != 1 )
- {
- snprintf(
- szErr,
- 0x400u,
- "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s",
- "baseinfo",
- "vigor_regenerate");
- __assertex__("./DB/CharConfig.cpp", 0x7Bu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_VigorRegeneRate = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "energy", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "energy");
- __assertex__("./DB/CharConfig.cpp", 0x86u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_Energy = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", aMax_0, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", aMax_0);
- __assertex__("./DB/CharConfig.cpp", 0x91u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_MaxEnergy = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "energy_regenerate", &nValue) != 1 )
- {
- snprintf(
- szErr,
- 0x400u,
- "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s",
- "baseinfo",
- "energy_regenerate");
- __assertex__("./DB/CharConfig.cpp", 0x9Cu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_EnergyRegeneRate = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "exp", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "exp");
- __assertex__("./DB/CharConfig.cpp", 0xA7u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_Exp = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "menpai", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "menpai");
- __assertex__("./DB/CharConfig.cpp", 0xBFu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_MenPai = nValue;
- if ( IniFile::ReadInt(&ini, "baseinfo", "money", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "baseinfo", "money");
- __assertex__("./DB/CharConfig.cpp", 0xCAu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_Money = nValue;
- if ( IniFile::ReadInt(&ini, "attribute", "str", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "attribute", "str");
- __assertex__("./DB/CharConfig.cpp", 0xD8u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_BaseAttrLevel1.m_pAttr[0] = nValue;
- if ( IniFile::ReadInt(&ini, "attribute", "spr", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "attribute", "spr");
- __assertex__("./DB/CharConfig.cpp", 0xE3u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_BaseAttrLevel1.m_pAttr[1] = nValue;
- if ( IniFile::ReadInt(&ini, "attribute", "con", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "attribute", "con");
- __assertex__("./DB/CharConfig.cpp", 0xEEu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_BaseAttrLevel1.m_pAttr[2] = nValue;
- if ( IniFile::ReadInt(&ini, "attribute", "int", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "attribute", 135013499);
- __assertex__("./DB/CharConfig.cpp", 0xF9u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_BaseAttrLevel1.m_pAttr[3] = nValue;
- if ( IniFile::ReadInt(&ini, "attribute", "dex", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "attribute", 135050305);
- __assertex__("./DB/CharConfig.cpp", 0x104u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Human.m_BaseAttrLevel1.m_pAttr[4] = nValue;
- if ( IniFile::ReadInt(&ini, "skill", "number", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "skill", 135016406);
- __assertex__("./DB/CharConfig.cpp", 0x126u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v8 = nValue;
- if ( nValue > 128 )
- {
- nValue = 128;
- v8 = -128;
- }
- CharConfig::pUserData->m_Skill.m_Count = v8;
- v9 = 0;
- if ( CharConfig::pUserData->m_Skill.m_Count )
- {
- do
- {
- memset(szTmp1, 0, sizeof(szTmp1));
- sprintf(szTmp1, "id%d", v9, 0);
- if ( IniFile::ReadInt(&ini, "skill", szTmp1, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "skill", szTmp1);
- __assertex__("./DB/CharConfig.cpp", 0x11Eu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v10 = CharConfig::pUserData;
- CharConfig::pUserData->m_Skill.m_aSkill[v9++].m_nSkillID = nValue;
- }
- while ( v10->m_Skill.m_Count > v9 );
- }
- if ( IniFile::ReadInt(&ini, "xinfa", "number", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "skill", 135016406);
- __assertex__("./DB/CharConfig.cpp", 0x153u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v11 = nValue;
- if ( nValue > 16 )
- {
- nValue = 16;
- v11 = 16;
- }
- CharConfig::pUserData->m_XinFa.m_Count = v11;
- v12 = CharConfig::pUserData;
- v13 = 0;
- if ( CharConfig::pUserData->m_XinFa.m_Count )
- {
- do
- {
- memset(szTmp1, 0, sizeof(szTmp1));
- memset(szTmp0, 0, sizeof(szTmp0));
- sprintf(szTmp1, "id%d", v13, 0);
- if ( IniFile::ReadInt(&ini, "xinfa", szTmp1, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "xinfa", szTmp1);
- __assertex__("./DB/CharConfig.cpp", 0x13Fu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v14 = CharConfig::pUserData;
- CharConfig::pUserData->m_XinFa.m_aXinFa[v13].m_nXinFaID = nValue;
- sprintf(szTmp0, "level%d", v13, v14);
- if ( IniFile::ReadInt(&ini, "xinfa", szTmp0, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "xinfa", szTmp0);
- __assertex__("./DB/CharConfig.cpp", 0x14Bu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_XinFa.m_aXinFa[v13].m_nLevel = nValue;
- v12 = CharConfig::pUserData;
- ++v13;
- }
- while ( CharConfig::pUserData->m_XinFa.m_Count > v13 );
- }
- strncpy(v12->m_Relation.m_szMood, &byte_80E3B2E, 0x20u);
- CharConfig::pUserData->m_Relation.m_szMood[31] = 0;
- if ( IniFile::ReadInt(&ini, "ability", "count", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "ability", 135051092);
- __assertex__("./DB/CharConfig.cpp", 0x18Eu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v15 = nValue;
- for ( i = 0; i < v15; ++i )
- {
- memset(szAbility, 0, sizeof(szAbility));
- sprintf(szAbility, "abilityskill%d", i, 0);
- if ( IniFile::ReadInt(&ini, "ability", szAbility, 0) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "ability", szAbility);
- __assertex__("./DB/CharConfig.cpp", 0x16Cu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- memset(szLevel, 0, sizeof(szLevel));
- memset(szExp, 0, sizeof(szExp));
- sprintf(szLevel, "level%d", i);
- sprintf(szExp, "exp%d", i);
- if ( IniFile::ReadInt(&ini, "ability", szLevel, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "ability", szLevel);
- __assertex__("./DB/CharConfig.cpp", 0x17Bu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Ability.m_aABility[iSkillAbility].m_Level = nValue;
- if ( IniFile::ReadInt(&ini, "ability", szExp, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "ability", szExp);
- __assertex__("./DB/CharConfig.cpp", 0x186u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Ability.m_aABility[iSkillAbilitya].m_Exp = nValue;
- }
- if ( IniFile::ReadInt(&ini, "table", "number", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "table", 135016406);
- __assertex__("./DB/CharConfig.cpp", 0x1AFu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v17 = 0;
- v19 = __OFSUB__(0, nValue);
- for ( j = -nValue < 0; j ^ v19; j = v17 - nTableNum < 0 )
- {
- memset(szTmp, 0, sizeof(szTmp));
- sprintf(szTmp, "peifang%d", v17, &ini);
- if ( IniFile::ReadInt(&ini, "table", szTmp, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "table", szTmp);
- __assertex__("./DB/CharConfig.cpp", 0x1A6u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- CharConfig::pUserData->m_Ability.m_aPrescr[nValue / 8] |= 1 << nValue % 8;
- v19 = __OFSUB__(++v17, nTableNum);
- }
- if ( IniFile::ReadInt(&ini, "setting", "count", &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "setting", 135051092);
- __assertex__("./DB/CharConfig.cpp", 0x1EAu, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v20 = nValue;
- v21 = 0;
- if ( nValue <= 0 )
- {
- v25 = CharConfig::pUserData;
- }
- else
- {
- do
- {
- sprintf(szTmp0, "settingindex%d", v21);
- sprintf(szTmp1, "settingtype%d", v21);
- sprintf(szTmp2, "settingdata%d", v21);
- if ( IniFile::ReadInt(&ini, "setting", szTmp0, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "setting", szTmp0);
- __assertex__("./DB/CharConfig.cpp", 0x1C8u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- v22 = nValue;
- if ( IniFile::ReadInt(&ini, 0, szTmp1, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "setting", szTmp1);
- __assertex__("./DB/CharConfig.cpp", 0x1D4u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- if ( IniFile::ReadInt(&ini, "setting", szTmp2, &nValue) != 1 )
- {
- snprintf(szErr, 0x400u, "[CharConfig::CharConfig]: Read ini failed!! section:%s; key:.%s", "setting", szTmp2);
- __assertex__("./DB/CharConfig.cpp", 0x1E0u, "CharConfig::CharConfig()", "FALSE", szErr);
- }
- iData = nValue;
- v24 = v22;
- CharConfig::pUserData->m_Setting.m_aSetting[v22].m_SettingType = iType;
- ++v21;
- v25 = CharConfig::pUserData;
- CharConfig::pUserData->m_Setting.m_aSetting[v24].m_SettingData = iData;
- }
- while ( v21 < v20 );
- }
- v25->m_bIsPasswdUnlock = 0;
- strncpy(v25->m_PrivateInfo.m_LuckWord, &byte_80E3B91, 0xFFu);
- CharConfig::pUserData->m_PrivateInfo.m_LuckWord[254] = 0;
- IniFile::~IniFile(&ini);
- }
- //----- (080A48FC) --------------------------------------------------------
- void __cdecl _tcf_0_208(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080A490C) --------------------------------------------------------
- void __cdecl _tcf_1_4(void *a1)
- {
- CharConfig::~CharConfig(&g_CharConfig);
- }
- //----- (080A491C) --------------------------------------------------------
- void `global constructor keyed to'CharConfig::pUserData()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_208, 0, &_dso_handle);
- CharConfig::CharConfig(&g_CharConfig);
- __cxa_atexit(_tcf_1_4, 0, &_dso_handle);
- DBChooseSceneTable::DBChooseSceneTable(&g_DBSceneTable);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080A4974) --------------------------------------------------------
- void __cdecl DBLogicManager::DBLogicManager(DBLogicManager *const this)
- {
- ASYNC_PACKET *v1; // eax
- ASYNC_PACKET *v2; // edx
- signed int v3; // ecx
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- this->m_QueSize = 100;
- v1 = (ASYNC_PACKET *)(operator new[](0x4B4u) + 4);
- v2 = v1;
- v3 = 99;
- v1[-1].m_Flag = 100;
- while ( v3 != -1 )
- {
- v2->m_pPacket = 0;
- v2->m_PlayerID = -1;
- v2->m_Flag = 0;
- --v3;
- ++v2;
- }
- this->m_PacketQue = v1;
- if ( !v1 )
- __assertex__(
- "./DB/DBLogicManager.cpp",
- 0xDu,
- "DBLogicManager::DBLogicManager()",
- "m_PacketQue",
- "[DBLogicManager::DBLogicManager]:Allocate memory failed!!");
- this->m_Head = 0;
- this->m_Tail = 0;
- if ( this != (DBLogicManager *const )-4 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- }
- //----- (080A4AB8) --------------------------------------------------------
- void __cdecl DBLogicManager::DBLogicManager(DBLogicManager *const this)
- {
- ASYNC_PACKET *v1; // eax
- ASYNC_PACKET *v2; // edx
- signed int v3; // ecx
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- this->m_QueSize = 100;
- v1 = (ASYNC_PACKET *)(operator new[](0x4B4u) + 4);
- v2 = v1;
- v3 = 99;
- v1[-1].m_Flag = 100;
- while ( v3 != -1 )
- {
- v2->m_pPacket = 0;
- v2->m_PlayerID = -1;
- v2->m_Flag = 0;
- --v3;
- ++v2;
- }
- this->m_PacketQue = v1;
- if ( !v1 )
- __assertex__(
- "./DB/DBLogicManager.cpp",
- 0xDu,
- "DBLogicManager::DBLogicManager()",
- "m_PacketQue",
- "[DBLogicManager::DBLogicManager]:Allocate memory failed!!");
- this->m_Head = 0;
- this->m_Tail = 0;
- if ( this != (DBLogicManager *const )-4 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- }
- //----- (080A4BFC) --------------------------------------------------------
- void __cdecl DBLogicManager::~DBLogicManager(DBLogicManager *const this)
- {
- ASYNC_PACKET *v1; // ecx
- ASYNC_PACKET *i; // ebx
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v1 = this->m_PacketQue;
- if ( v1 )
- {
- for ( i = &v1[v1[-1].m_Flag]; v1 != i; i->m_Flag = 0 )
- {
- --i;
- if ( i->m_pPacket )
- {
- (*((void (__cdecl **)(Packet *))i->m_pPacket->_vptr_Packet + 1))(i->m_pPacket);
- v1 = this->m_PacketQue;
- i->m_pPacket = 0;
- }
- i->m_PlayerID = -1;
- }
- operator delete[](&v1[-1].m_Flag);
- this->m_PacketQue = 0;
- }
- if ( this != (DBLogicManager *const )-4 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- }
- //----- (080A4CC1) --------------------------------------------------------
- void __noreturn sub_80A4CC1()
- {
- __cxa_begin_catch();
- __assertspecial__(
- "./DB/DBLogicManager.cpp",
- 0x1Au,
- "DBLogicManager::~DBLogicManager()",
- "FALSE",
- "DBLogicManager::~DBLogicManager()");
- }
- //----- (080A4CF1) --------------------------------------------------------
- void __usercall __noreturn sub_80A4CF1(pthread_mutex_t *a1@<eax>, int a2@<ebp>)
- {
- pthread_mutex_unlock(a1);
- *(_DWORD *)(a2 - 40) = 0;
- sub_80A4CC1();
- }
- //----- (080A4D08) --------------------------------------------------------
- void __noreturn sub_80A4D08()
- {
- pthread_mutex_t *v0; // [esp+0h] [ebp-10h]
- pthread_mutex_destroy(v0);
- _Unwind_Resume();
- }
- //----- (080A4D24) --------------------------------------------------------
- void __cdecl DBLogicManager::~DBLogicManager(DBLogicManager *const this)
- {
- ASYNC_PACKET *v1; // ecx
- ASYNC_PACKET *i; // ebx
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v1 = this->m_PacketQue;
- if ( v1 )
- {
- for ( i = &v1[v1[-1].m_Flag]; v1 != i; i->m_Flag = 0 )
- {
- --i;
- if ( i->m_pPacket )
- {
- (*((void (__cdecl **)(Packet *))i->m_pPacket->_vptr_Packet + 1))(i->m_pPacket);
- v1 = this->m_PacketQue;
- i->m_pPacket = 0;
- }
- i->m_PlayerID = -1;
- }
- operator delete[](&v1[-1].m_Flag);
- this->m_PacketQue = 0;
- }
- if ( this != (DBLogicManager *const )-4 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- }
- //----- (080A4DE9) --------------------------------------------------------
- void __noreturn sub_80A4DE9()
- {
- __cxa_begin_catch();
- __assertspecial__(
- "./DB/DBLogicManager.cpp",
- 0x1Au,
- "DBLogicManager::~DBLogicManager()",
- "FALSE",
- "DBLogicManager::~DBLogicManager()");
- }
- //----- (080A4E19) --------------------------------------------------------
- void __usercall __noreturn sub_80A4E19(pthread_mutex_t *a1@<eax>, int a2@<ebp>)
- {
- pthread_mutex_unlock(a1);
- *(_DWORD *)(a2 - 40) = 0;
- sub_80A4DE9();
- }
- //----- (080A4E30) --------------------------------------------------------
- void __noreturn sub_80A4E30()
- {
- pthread_mutex_t *v0; // [esp+0h] [ebp-10h]
- pthread_mutex_destroy(v0);
- _Unwind_Resume();
- }
- //----- (080A4E4C) --------------------------------------------------------
- BOOL __cdecl DBLogicManager::RecvPacket(DBLogicManager *const this, Packet **const pPacket, PlayerID_t *const PlayerID, UINT *const Flag)
- {
- ASYNC_PACKET *v4; // ebx
- UINT v5; // ecx
- Packet *v6; // edx
- UINT v8; // eax
- UINT v9; // eax
- pthread_mutex_t *v10; // eax
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v4 = this->m_PacketQue;
- v5 = this->m_Head;
- v6 = v4[v5].m_pPacket;
- if ( v6 )
- {
- *pPacket = v6;
- *PlayerID = v4[v5].m_PlayerID;
- *Flag = v4[v5].m_Flag;
- v8 = this->m_Head;
- v4[v8].m_Flag = 0;
- v4[v8].m_pPacket = 0;
- v4[v8].m_PlayerID = -1;
- v9 = this->m_Head + 1;
- if ( v9 >= this->m_QueSize )
- {
- v10 = &this->m_Lock.m_Mutex;
- this->m_Head = 0;
- if ( this == (DBLogicManager *const )-4 )
- return 1;
- }
- else
- {
- this->m_Head = v9;
- v10 = &this->m_Lock.m_Mutex;
- if ( this == (DBLogicManager *const )-4 )
- return 1;
- }
- pthread_mutex_unlock(v10);
- return 1;
- }
- if ( this != (DBLogicManager *const )-4 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- return 0;
- }
- //----- (080A4F2C) --------------------------------------------------------
- BOOL __cdecl DBLogicManager::MovePacket(DBLogicManager *const this, PlayerID_t PlayerID)
- {
- UINT v2; // ebx
- UINT v3; // edi
- UINT v4; // ecx
- ASYNC_PACKET *v5; // esi
- int v6; // edx
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v2 = this->m_QueSize;
- v3 = 0;
- v4 = this->m_Head;
- if ( v2 )
- {
- v5 = this->m_PacketQue;
- do
- {
- v6 = v4;
- if ( !v5[v4].m_pPacket )
- break;
- if ( v5[v6].m_PlayerID == PlayerID )
- {
- v5[v6].m_Flag = 1;
- v2 = this->m_QueSize;
- }
- if ( v2 <= ++v4 )
- v4 = 0;
- ++v3;
- }
- while ( v2 > v3 );
- }
- if ( this != (DBLogicManager *const )-4 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- return 1;
- }
- //----- (080A4FDC) --------------------------------------------------------
- #error "80A5157: positive sp value has been found (funcsize=113)"
- //----- (080A51D4) --------------------------------------------------------
- BOOL __cdecl DBLogicManager::HeartBeat(DBLogicManager *const this, UINT uTime)
- {
- return DBLogicManager::ProcessCacheCommands(this);
- }
- //----- (080A5230) --------------------------------------------------------
- BOOL __cdecl DBLogicManager::SendPacket(DBLogicManager *const this, Packet *pPacket, PlayerID_t PlayerID, UINT Flag)
- {
- ASYNC_PACKET *v4; // ecx
- UINT v5; // edx
- UINT v7; // eax
- bool v8; // cf
- pthread_mutex_t *v9; // eax
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v4 = this->m_PacketQue;
- v5 = this->m_Tail;
- if ( !v4[v5].m_pPacket )
- {
- v4[v5].m_pPacket = pPacket;
- v4[v5].m_Flag = Flag;
- v7 = this->m_Tail + 1;
- v8 = v7 < this->m_QueSize;
- v4[v5].m_PlayerID = PlayerID;
- if ( v8 )
- {
- this->m_Tail = v7;
- v9 = &this->m_Lock.m_Mutex;
- if ( this == (DBLogicManager *const )-4 )
- return 1;
- }
- else
- {
- v9 = &this->m_Lock.m_Mutex;
- this->m_Tail = 0;
- if ( this == (DBLogicManager *const )-4 )
- return 1;
- }
- pthread_mutex_unlock(v9);
- return 1;
- }
- if ( this != (DBLogicManager *const )-4 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- return 0;
- }
- //----- (080A52E8) --------------------------------------------------------
- void __cdecl _tcf_0_209(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080A52F8) --------------------------------------------------------
- void __cdecl _tcf_1_5(void *a1)
- {
- DBLogicManager::~DBLogicManager(&g_DBLogicManager);
- }
- //----- (080A5308) --------------------------------------------------------
- void `global constructor keyed to'g_DBLogicManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_209, 0, &_dso_handle);
- DBLogicManager::DBLogicManager(&g_DBLogicManager);
- __cxa_atexit(_tcf_1_5, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080A5354) --------------------------------------------------------
- int __cdecl DBThread::IsConnected(int a2)
- {
- return **(_DWORD **)(a2 + 48);
- }
- //----- (080A5364) --------------------------------------------------------
- void __cdecl DBThread::DBThread(DBThread *const this)
- {
- ODBCInterface *v1; // ebx
- Thread::Thread(this);
- this->_vptr_Thread = (int (**)(...))&off_80E3E58;
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- this->m_Input.m_pPacket = 0;
- this->m_Input.m_PlayerID = -1;
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- this->m_Active = 1;
- v1 = (ODBCInterface *)operator new(0x71098u);
- ODBCInterface::ODBCInterface((int)v1);
- this->mCharDBInterface = v1;
- if ( this != (DBThread *const )-16 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- }
- // 80E3E58: using guessed type _DWORD (__cdecl *off_80E3E58)(DBThread *this);
- //----- (080A543C) --------------------------------------------------------
- void __cdecl DBThread::DBThread(DBThread *const this)
- {
- ODBCInterface *v1; // ebx
- Thread::Thread(this);
- this->_vptr_Thread = (int (**)(...))&off_80E3E58;
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- this->m_Input.m_pPacket = 0;
- this->m_Input.m_PlayerID = -1;
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- this->m_Active = 1;
- v1 = (ODBCInterface *)operator new(0x71098u);
- ODBCInterface::ODBCInterface((int)v1);
- this->mCharDBInterface = v1;
- if ( this != (DBThread *const )-16 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- }
- // 80E3E58: using guessed type _DWORD (__cdecl *off_80E3E58)(DBThread *this);
- //----- (080A5514) --------------------------------------------------------
- void __cdecl DBThread::~DBThread(DBThread *const this)
- {
- pthread_mutex_t *v1; // esi
- IPRegionTable *v2; // ebx
- pthread_mutex_t *v3; // eax
- v1 = &this->m_Lock.m_Mutex;
- this->_vptr_Thread = (int (**)(...))&off_80E3E58;
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v2 = (IPRegionTable *)this->mCharDBInterface;
- if ( v2 )
- {
- ODBCInterface::~ODBCInterface(this->mCharDBInterface);
- operator delete(v2);
- v3 = &this->m_Lock.m_Mutex;
- this->mCharDBInterface = 0;
- if ( this == (DBThread *const )-16 )
- goto LABEL_3;
- }
- else
- {
- v3 = &this->m_Lock.m_Mutex;
- if ( this == (DBThread *const )-16 )
- {
- LABEL_3:
- pthread_mutex_destroy(v1);
- Thread::~Thread(this);
- return;
- }
- }
- pthread_mutex_unlock(v3);
- pthread_mutex_destroy(v1);
- Thread::~Thread(this);
- }
- // 80E3E58: using guessed type _DWORD (__cdecl *off_80E3E58)(DBThread *this);
- //----- (080A55EC) --------------------------------------------------------
- void __cdecl DBThread::~DBThread(DBThread *const this)
- {
- pthread_mutex_t *v1; // esi
- IPRegionTable *v2; // ebx
- pthread_mutex_t *v3; // eax
- v1 = &this->m_Lock.m_Mutex;
- this->_vptr_Thread = (int (**)(...))&off_80E3E58;
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v2 = (IPRegionTable *)this->mCharDBInterface;
- if ( v2 )
- {
- ODBCInterface::~ODBCInterface(this->mCharDBInterface);
- operator delete(v2);
- v3 = &this->m_Lock.m_Mutex;
- this->mCharDBInterface = 0;
- if ( this == (DBThread *const )-16 )
- goto LABEL_3;
- }
- else
- {
- v3 = &this->m_Lock.m_Mutex;
- if ( this == (DBThread *const )-16 )
- {
- LABEL_3:
- pthread_mutex_destroy(v1);
- Thread::~Thread(this);
- return;
- }
- }
- pthread_mutex_unlock(v3);
- pthread_mutex_destroy(v1);
- Thread::~Thread(this);
- }
- // 80E3E58: using guessed type _DWORD (__cdecl *off_80E3E58)(DBThread *this);
- //----- (080A56C4) --------------------------------------------------------
- void __cdecl DBThread::~DBThread(DBThread *const this)
- {
- pthread_mutex_t *v1; // esi
- IPRegionTable *v2; // ebx
- pthread_mutex_t *v3; // eax
- v1 = &this->m_Lock.m_Mutex;
- this->_vptr_Thread = (int (**)(...))&off_80E3E58;
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v2 = (IPRegionTable *)this->mCharDBInterface;
- if ( v2 )
- {
- ODBCInterface::~ODBCInterface(this->mCharDBInterface);
- operator delete(v2);
- v3 = &this->m_Lock.m_Mutex;
- this->mCharDBInterface = 0;
- if ( this == (DBThread *const )-16 )
- goto LABEL_3;
- }
- else
- {
- v3 = &this->m_Lock.m_Mutex;
- if ( this == (DBThread *const )-16 )
- {
- LABEL_3:
- pthread_mutex_destroy(v1);
- Thread::~Thread(this);
- operator delete((IPRegionTable *const )this);
- return;
- }
- }
- pthread_mutex_unlock(v3);
- pthread_mutex_destroy(v1);
- Thread::~Thread(this);
- operator delete((IPRegionTable *const )this);
- }
- // 80E3E58: using guessed type _DWORD (__cdecl *off_80E3E58)(DBThread *this);
- //----- (080A57AC) --------------------------------------------------------
- int __cdecl DBThread::Init(DBThread *const this)
- {
- int v1; // edx
- ODBCInterface *v2; // eax
- CHAR Password[256]; // [esp+4h] [ebp-1D8h]
- CHAR User[32]; // [esp+104h] [ebp-D8h]
- CHAR Database[128]; // [esp+124h] [ebp-B8h]
- CHAR Host[30]; // [esp+1A4h] [ebp-38h]
- strncpy(Host, g_Config.m_LoginInfo.m_DBIP, 0x1Eu);
- Host[29] = 0;
- strncpy(Database, g_Config.m_LoginInfo.m_DBName, 0x80u);
- Database[127] = 0;
- strncpy(User, g_Config.m_LoginInfo.m_DBUser, 0x20u);
- User[31] = 0;
- if ( g_Config.m_LoginInfo.CryptPwd <= 0 )
- {
- strncpy(Password, g_Config.m_LoginInfo.m_DBPassword, 0x100u);
- Password[255] = 0;
- }
- else
- {
- memset(Password, 0, 0x100u);
- Seraph::string2pwd(g_Config.m_LoginInfo.m_DBPassword, Password);
- }
- if ( !this->mCharDBInterface )
- __assert__("./DB/DBThread.cpp", 0x33u, "int DBThread::Init()", "mCharDBInterface");
- *(_DWORD *)&Password[12] = Password;
- *(_DWORD *)&Password[8] = User;
- *(_DWORD *)&Password[4] = Database;
- ODBCInterface::Connect(this->mCharDBInterface, Database, User, Password);
- v2 = this->mCharDBInterface;
- if ( v2->mConnected )
- return v2->mConnected;
- *(_DWORD *)&Password[12] = v1;
- *(_DWORD *)&Password[8] = (char *)v2 + 462744;
- CacheLog(0, "DBThread:mCharDBInterface->Connect()... Get Errors: %s ", v2->mErrorMsg, v1);
- return this->mCharDBInterface->mConnected;
- }
- //----- (080A5914) --------------------------------------------------------
- ODBCInterface *__cdecl DBThread::GetInterface(int a2)
- {
- return *(ODBCInterface **)(a2 + 48);
- }
- //----- (080A5920) --------------------------------------------------------
- int __cdecl DBThread::RecvPacket(DBThread *const this, Packet **const pPacket, PlayerID_t *const PlayerID)
- {
- Packet *v3; // edx
- int result; // eax
- pthread_mutex_t *autolock; // [esp+Ch] [ebp-18h]
- autolock = &this->m_Lock.m_Mutex;
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v3 = this->m_Input.m_pPacket;
- if ( v3 )
- {
- *pPacket = v3;
- *PlayerID = this->m_Input.m_PlayerID;
- this->m_Input.m_pPacket = 0;
- this->m_Input.m_PlayerID = -1;
- if ( this != (DBThread *const )-16 )
- pthread_mutex_unlock(autolock);
- result = 1;
- }
- else
- {
- if ( this != (DBThread *const )-16 )
- pthread_mutex_unlock(autolock);
- result = 0;
- }
- return result;
- }
- //----- (080A59B4) --------------------------------------------------------
- int __cdecl DBThread::ProcessCacheCommand(DBThread *const this)
- {
- int (**v1)(...); // edx
- Packet *pPacket; // [esp+Ch] [ebp-10h]
- PlayerID_t PlayerID; // [esp+12h] [ebp-Ah]
- pPacket = 0;
- if ( DBThread::RecvPacket(this, &pPacket, &PlayerID) )
- {
- if ( PlayerID != -1 && PlayerID <= 3071 && PlayerID >= 0 && &g_pPlayerPool->m_pPlayer[PlayerID] )
- v1 = pPacket->_vptr_Packet;
- else
- v1 = pPacket->_vptr_Packet;
- v1[4]();
- PacketFactoryManager::RemovePacket(g_pPacketFactoryManager, pPacket);
- }
- return 1;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (080A5A84) --------------------------------------------------------
- #error "80A5B56: positive sp value has been found (funcsize=57)"
- //----- (080A5BE0) --------------------------------------------------------
- int __cdecl DBThread::SendPacket(DBThread *const this, Packet *pPacket, PlayerID_t pID)
- {
- int result; // eax
- pthread_mutex_t *autolock; // [esp+Ch] [ebp-18h]
- autolock = &this->m_Lock.m_Mutex;
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- if ( this->m_Input.m_pPacket )
- {
- if ( this != (DBThread *const )-16 )
- pthread_mutex_unlock(autolock);
- result = 0;
- }
- else
- {
- this->m_Input.m_pPacket = pPacket;
- this->m_Input.m_PlayerID = pID;
- if ( this != (DBThread *const )-16 )
- pthread_mutex_unlock(autolock);
- result = 1;
- }
- return result;
- }
- //----- (080A5C68) --------------------------------------------------------
- void __cdecl _tcf_0_210(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080A5C78) --------------------------------------------------------
- void `global constructor keyed to'DBThread::DBThread()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_210, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080A5CA4) --------------------------------------------------------
- void __cdecl DBThread::stop(int a2)
- {
- *(_DWORD *)(a2 + 12) = 0;
- }
- //----- (080A5CB4) --------------------------------------------------------
- #error "80A5CF7: positive sp value has been found (funcsize=26)"
- //----- (080A5D74) --------------------------------------------------------
- #error "80A5DB7: positive sp value has been found (funcsize=26)"
- //----- (080A5E34) --------------------------------------------------------
- void __cdecl DBThreadManager::~DBThreadManager(DBThreadManager *const this)
- {
- UINT v1; // eax
- UINT v2; // ebx
- DBThread *v3; // edx
- v1 = this->mDBThreadCount;
- v2 = 0;
- if ( v1 )
- {
- do
- {
- v3 = this->mpDBThread[v2];
- if ( v3 )
- {
- (*((void (__cdecl **)(DBThread *))v3->_vptr_Thread + 1))(this->mpDBThread[v2]);
- this->mpDBThread[v2] = 0;
- v1 = this->mDBThreadCount;
- }
- ++v2;
- }
- while ( v1 > v2 );
- }
- }
- //----- (080A5EC8) --------------------------------------------------------
- void __cdecl DBThreadManager::~DBThreadManager(DBThreadManager *const this)
- {
- UINT v1; // eax
- UINT v2; // ebx
- DBThread *v3; // edx
- v1 = this->mDBThreadCount;
- v2 = 0;
- if ( v1 )
- {
- do
- {
- v3 = this->mpDBThread[v2];
- if ( v3 )
- {
- (*((void (__cdecl **)(DBThread *))v3->_vptr_Thread + 1))(this->mpDBThread[v2]);
- this->mpDBThread[v2] = 0;
- v1 = this->mDBThreadCount;
- }
- ++v2;
- }
- while ( v1 > v2 );
- }
- }
- //----- (080A5F5C) --------------------------------------------------------
- BOOL __cdecl DBThreadManager::Init(DBThreadManager *const this)
- {
- UINT v1; // edx
- UINT v2; // ebx
- if ( g_SingleDBConnection == 1 )
- this->mDBThreadCount = 3;
- v1 = this->mDBThreadCount;
- v2 = 0;
- if ( v1 )
- {
- do
- {
- if ( this->mpDBThread[v2] )
- {
- DBThread::Init(this->mpDBThread[v2]);
- v1 = this->mDBThreadCount;
- }
- ++v2;
- }
- while ( v1 > v2 );
- }
- return 1;
- }
- //----- (080A6000) --------------------------------------------------------
- BOOL __cdecl DBThreadManager::Start(DBThreadManager *const this)
- {
- UINT v1; // edx
- UINT v2; // ebx
- v1 = this->mDBThreadCount;
- v2 = 0;
- if ( v1 )
- {
- do
- {
- if ( this->mpDBThread[v2] )
- {
- Thread::start(&this->mpDBThread[v2]->0);
- v1 = this->mDBThreadCount;
- }
- ++v2;
- }
- while ( v1 > v2 );
- }
- return 1;
- }
- //----- (080A6090) --------------------------------------------------------
- BOOL __cdecl DBThreadManager::Stop(DBThreadManager *const this)
- {
- UINT v1; // eax
- UINT v2; // ebx
- DBThread *v3; // edx
- v1 = this->mDBThreadCount;
- v2 = 0;
- if ( v1 )
- {
- do
- {
- v3 = this->mpDBThread[v2];
- if ( v3 )
- {
- (*((void (__cdecl **)(DBThread *))v3->_vptr_Thread + 2))(this->mpDBThread[v2]);
- v1 = this->mDBThreadCount;
- }
- ++v2;
- }
- while ( v1 > v2 );
- }
- return 1;
- }
- //----- (080A6120) --------------------------------------------------------
- BOOL __cdecl DBThreadManager::IsPoolTID(DBThreadManager *const this, TID tid)
- {
- UINT v2; // ecx
- int v3; // edx
- DBThread *v4; // eax
- v2 = this->mDBThreadCount;
- v3 = 0;
- if ( !v2 )
- return 0;
- while ( 1 )
- {
- v4 = this->mpDBThread[v3];
- if ( v4 )
- {
- if ( v4->m_TID == tid )
- break;
- }
- if ( v2 <= ++v3 )
- return 0;
- }
- return 1;
- }
- //----- (080A6158) --------------------------------------------------------
- BOOL __cdecl DBThreadManager::SendPacket(DBThreadManager *const this, Packet *pPacket, PlayerID_t pID)
- {
- UINT v3; // edx
- int v4; // ebx
- DBThread *v5; // eax
- bool v6; // cf
- bool v7; // zf
- v3 = this->mDBThreadCount;
- v4 = 0;
- if ( !v3 )
- return 0;
- while ( 1 )
- {
- v5 = this->mpDBThread[v4];
- if ( v5 )
- break;
- v6 = v3 < ++v4;
- v7 = v3 == v4;
- LABEL_4:
- if ( v6 || v7 )
- return 0;
- }
- if ( !v5->m_Active
- || !DBThread::IsConnected((int)this->mpDBThread[v4])
- || !DBThread::SendPacket(this->mpDBThread[v4], pPacket, pID) )
- {
- v3 = this->mDBThreadCount;
- v6 = v3 < ++v4;
- v7 = v3 == v4;
- goto LABEL_4;
- }
- return 1;
- }
- //----- (080A6218) --------------------------------------------------------
- ODBCInterface *__cdecl DBThreadManager::GetInterface(DBThreadManager *const this, TID tid)
- {
- UINT v2; // edx
- int v3; // ebx
- DBThread *v4; // eax
- bool v5; // cf
- bool v6; // zf
- v2 = this->mDBThreadCount;
- v3 = 0;
- if ( !v2 )
- return 0;
- while ( 1 )
- {
- v4 = this->mpDBThread[v3];
- if ( v4 )
- break;
- v5 = v2 < ++v3;
- v6 = v2 == v3;
- LABEL_4:
- if ( v5 || v6 )
- return 0;
- }
- if ( !v4->m_Active || !DBThread::IsConnected((int)this->mpDBThread[v3]) || this->mpDBThread[v3]->m_TID != tid )
- {
- v2 = this->mDBThreadCount;
- v5 = v2 < ++v3;
- v6 = v2 == v3;
- goto LABEL_4;
- }
- return DBThread::GetInterface((int)this->mpDBThread[v3]);
- }
- //----- (080A62C8) --------------------------------------------------------
- BOOL __cdecl DBThreadManager::CheckWorldIDZoneID(DBThreadManager *const this, ID_t nConfigWorldID, ID_t nConfigZoneID)
- {
- BOOL result; // eax
- UINT v4; // edx
- int v5; // ebx
- DBThread *v6; // eax
- bool v7; // cf
- bool v8; // zf
- ODBCInterface *pInterface; // [esp+0h] [ebp-48h]
- INT nZoneID; // [esp+8h] [ebp-40h]
- INT nWorldID; // [esp+Ch] [ebp-3Ch]
- DBGeneralSet GSetObject; // [esp+10h] [ebp-38h]
- result = 1;
- if ( !g_IgnoreWorldIDZoneIDCheck )
- {
- v4 = this->mDBThreadCount;
- v5 = 0;
- nWorldID = -1;
- nZoneID = -1;
- if ( v4 )
- {
- do
- {
- v6 = this->mpDBThread[v5];
- if ( v6 )
- {
- if ( v6->m_Active && DBThread::IsConnected((int)this->mpDBThread[v5]) )
- {
- pInterface = DBThread::GetInterface((int)this->mpDBThread[v5]);
- if ( !pInterface )
- __assert__(
- "./DB/DBThreadManager.cpp",
- 0xB7u,
- "int DBThreadManager::CheckWorldIDZoneID(ID_t, ID_t)",
- "pInterface");
- DBGeneralSet::DBGeneralSet(&GSetObject, pInterface);
- DBGeneralSet::GetValue(&GSetObject, GSET_T_WORLDID, &nWorldID);
- DBGeneralSet::GetValue(&GSetObject, GSET_T_ZONEID, &nZoneID);
- if ( nConfigWorldID != nWorldID || nConfigZoneID != nZoneID )
- return 0;
- }
- v4 = this->mDBThreadCount;
- v7 = v4 < ++v5;
- v8 = v4 == v5;
- }
- else
- {
- v7 = v4 < ++v5;
- v8 = v4 == v5;
- }
- }
- while ( !v7 && !v8 );
- }
- result = 1;
- }
- return result;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (080A642C) --------------------------------------------------------
- void __cdecl _tcf_0_211(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080A643C) --------------------------------------------------------
- void `global constructor keyed to'g_pDBThreadManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_211, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080A6468) --------------------------------------------------------
- int __cdecl LoginDBManager::Init(LoginDBManager *const this)
- {
- int v1; // edx
- ODBCInterface *v2; // eax
- CHAR Password[256]; // [esp+4h] [ebp-1D8h]
- CHAR User[32]; // [esp+104h] [ebp-D8h]
- CHAR Database[128]; // [esp+124h] [ebp-B8h]
- CHAR Host[30]; // [esp+1A4h] [ebp-38h]
- strncpy(Host, g_Config.m_LoginInfo.m_DBIP, 0x1Eu);
- Host[29] = 0;
- strncpy(Database, g_Config.m_LoginInfo.m_DBName, 0x80u);
- Database[127] = 0;
- strncpy(User, g_Config.m_LoginInfo.m_DBUser, 0x20u);
- User[31] = 0;
- if ( g_Config.m_LoginInfo.CryptPwd <= 0 )
- {
- strncpy(Password, g_Config.m_LoginInfo.m_DBPassword, 0x100u);
- Password[255] = 0;
- }
- else
- {
- memset(Password, 0, 0x100u);
- Seraph::string2pwd(g_Config.m_LoginInfo.m_DBPassword, Password);
- }
- if ( !this->mCharDBInterface )
- __assert__("./DB/LoginDBManager.cpp", 0x28u, "virtual int LoginDBManager::Init()", "mCharDBInterface");
- *(_DWORD *)&Password[12] = Password;
- *(_DWORD *)&Password[8] = User;
- *(_DWORD *)&Password[4] = Database;
- ODBCInterface::Connect(this->mCharDBInterface, Database, User, Password);
- v2 = this->mCharDBInterface;
- if ( !v2->mConnected )
- {
- *(_DWORD *)&Password[12] = v1;
- *(_DWORD *)&Password[8] = (char *)v2 + 462744;
- CacheLog(0, "mCharDBInterface->Connect()... Get Errors: %s ", v2->mErrorMsg, v1);
- }
- return 1;
- }
- //----- (080A65D4) --------------------------------------------------------
- void __cdecl LoginDBManager::run(LoginDBManager *const this)
- {
- UINT v1; // esi
- int v2; // ecx
- int v3; // eax
- int v4; // edx
- int v5; // [esp+4h] [ebp-10h]
- int v6; // [esp+8h] [ebp-Ch]
- puts("run db Thread \r");
- v1 = TimeManager::CurrentTime((int)g_pTimeManager);
- g_DBLogicManager.m_ThreadID = this->m_TID;
- while ( this->m_Active )
- {
- MySleep(100);
- if ( this->mCharDBInterface->mConnected )
- goto LABEL_9;
- MySleep(5000);
- if ( g_DBConnectThread )
- {
- CacheLog(0, "LoginDBManager g_DBConnectThread = 0 IGNORE reconnect database,TID=%d", this->m_TID, v2);
- }
- else
- {
- g_DBConnectThread = this->m_TID;
- v3 = ODBCInterface::Connect(this->mCharDBInterface);
- g_DBConnectThread = 0;
- if ( v3 )
- CacheLog(0, "Reconnect database", v5, v6);
- else
- CacheLog(0, "mCharDBInterface->Connect() Get Errors: %s", this->mCharDBInterface->mErrorMsg, v4);
- LABEL_9:
- DBLogicManager::HeartBeat(&g_DBLogicManager, v1);
- }
- }
- puts("end db Thread \r");
- }
- //----- (080A670C) --------------------------------------------------------
- void __cdecl _tcf_0_212(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080A671C) --------------------------------------------------------
- void `global constructor keyed to'g_pDBManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_212, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080A6748) --------------------------------------------------------
- void __cdecl LoginDBManager::~LoginDBManager(DBManager *a2)
- {
- a2->_vptr_Thread = (int (**)(...))off_80E4268;
- DBManager::~DBManager(a2);
- }
- // 80E4268: using guessed type _DWORD (__cdecl *off_80E4268[2])(LoginDBManager *this);
- //----- (080A6764) --------------------------------------------------------
- void __cdecl LoginDBManager::~LoginDBManager(DBManager *a2)
- {
- a2->_vptr_Thread = (int (**)(...))off_80E4268;
- DBManager::~DBManager(a2);
- operator delete((IPRegionTable *const )a2);
- }
- // 80E4268: using guessed type _DWORD (__cdecl *off_80E4268[2])(LoginDBManager *this);
- //----- (080A678C) --------------------------------------------------------
- void __cdecl ProcessManager::ProcessManager(ProcessManager *const this)
- {
- ProcessPlayerManager *v1; // ebx
- ASYNC_PACKET *v2; // eax
- ASYNC_PACKET *v3; // edx
- signed int v4; // ecx
- Thread::Thread(this);
- this->_vptr_Thread = (int (**)(...))&off_80E43B8;
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- this->m_Active = 1;
- v1 = (ProcessPlayerManager *)operator new(0x1798u);
- ProcessPlayerManager::ProcessPlayerManager(v1);
- g_pProcessPlayerManager = v1;
- if ( !v1 )
- __assert__("./Process/ProcessManager.cpp", 0x18u, "ProcessManager::ProcessManager()", "g_pProcessPlayerManager");
- v2 = (ASYNC_PACKET *)(operator new[](0x3004u) + 4);
- v2[-1].m_Flag = 1024;
- v3 = v2;
- v4 = 1023;
- do
- {
- --v4;
- v3->m_pPacket = 0;
- v3->m_PlayerID = -1;
- v3->m_Flag = 0;
- ++v3;
- }
- while ( v4 != -1 );
- this->m_PacketQue = v2;
- if ( !v2 )
- __assert__("./Process/ProcessManager.cpp", 0x1Bu, "ProcessManager::ProcessManager()", "m_PacketQue");
- this->m_QueSize = 1024;
- this->m_Head = 0;
- this->m_Tail = 0;
- this->m_CurrentTime = 0;
- this->m_LogTurnTime = 0;
- }
- // 80E43B8: using guessed type _DWORD (__cdecl *off_80E43B8)(ProcessManager *this);
- //----- (080A68FC) --------------------------------------------------------
- void __cdecl ProcessManager::ProcessManager(ProcessManager *const this)
- {
- ProcessPlayerManager *v1; // ebx
- ASYNC_PACKET *v2; // eax
- ASYNC_PACKET *v3; // edx
- signed int v4; // ecx
- Thread::Thread(this);
- this->_vptr_Thread = (int (**)(...))&off_80E43B8;
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- this->m_Active = 1;
- v1 = (ProcessPlayerManager *)operator new(0x1798u);
- ProcessPlayerManager::ProcessPlayerManager(v1);
- g_pProcessPlayerManager = v1;
- if ( !v1 )
- __assert__("./Process/ProcessManager.cpp", 0x18u, "ProcessManager::ProcessManager()", "g_pProcessPlayerManager");
- v2 = (ASYNC_PACKET *)(operator new[](0x3004u) + 4);
- v2[-1].m_Flag = 1024;
- v3 = v2;
- v4 = 1023;
- do
- {
- --v4;
- v3->m_pPacket = 0;
- v3->m_PlayerID = -1;
- v3->m_Flag = 0;
- ++v3;
- }
- while ( v4 != -1 );
- this->m_PacketQue = v2;
- if ( !v2 )
- __assert__("./Process/ProcessManager.cpp", 0x1Bu, "ProcessManager::ProcessManager()", "m_PacketQue");
- this->m_QueSize = 1024;
- this->m_Head = 0;
- this->m_Tail = 0;
- this->m_CurrentTime = 0;
- this->m_LogTurnTime = 0;
- }
- // 80E43B8: using guessed type _DWORD (__cdecl *off_80E43B8)(ProcessManager *this);
- //----- (080A6A6C) --------------------------------------------------------
- void __cdecl ProcessManager::~ProcessManager(ProcessManager *const this)
- {
- ProcessPlayerManager *v1; // ebx
- bool v2; // zf
- ASYNC_PACKET *v3; // ecx
- ASYNC_PACKET *i; // ebx
- v1 = g_pProcessPlayerManager;
- v2 = g_pProcessPlayerManager == 0;
- this->_vptr_Thread = (int (**)(...))&off_80E43B8;
- if ( !v2 )
- {
- ProcessPlayerManager::~ProcessPlayerManager(v1);
- operator delete((IPRegionTable *const )v1);
- g_pProcessPlayerManager = 0;
- }
- v3 = this->m_PacketQue;
- if ( v3 )
- {
- for ( i = &v3[v3[-1].m_Flag]; v3 != i; i->m_Flag = 0 )
- {
- --i;
- if ( i->m_pPacket )
- {
- (*((void (__cdecl **)(Packet *))i->m_pPacket->_vptr_Packet + 1))(i->m_pPacket);
- v3 = this->m_PacketQue;
- i->m_pPacket = 0;
- }
- i->m_PlayerID = -1;
- }
- operator delete[](&v3[-1].m_Flag);
- this->m_PacketQue = 0;
- }
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- Thread::~Thread(this);
- }
- // 80E43B8: using guessed type _DWORD (__cdecl *off_80E43B8)(ProcessManager *this);
- //----- (080A6B72) --------------------------------------------------------
- void __usercall __noreturn sub_80A6B72(int a1@<esi>)
- {
- pthread_mutex_destroy((pthread_mutex_t *)(a1 + 40));
- Thread::~Thread((_DWORD *)a1);
- _Unwind_Resume();
- }
- //----- (080A6B9C) --------------------------------------------------------
- void __cdecl ProcessManager::~ProcessManager(ProcessManager *const this)
- {
- ProcessPlayerManager *v1; // ebx
- bool v2; // zf
- ASYNC_PACKET *v3; // ecx
- ASYNC_PACKET *i; // ebx
- v1 = g_pProcessPlayerManager;
- v2 = g_pProcessPlayerManager == 0;
- this->_vptr_Thread = (int (**)(...))&off_80E43B8;
- if ( !v2 )
- {
- ProcessPlayerManager::~ProcessPlayerManager(v1);
- operator delete((IPRegionTable *const )v1);
- g_pProcessPlayerManager = 0;
- }
- v3 = this->m_PacketQue;
- if ( v3 )
- {
- for ( i = &v3[v3[-1].m_Flag]; v3 != i; i->m_Flag = 0 )
- {
- --i;
- if ( i->m_pPacket )
- {
- (*((void (__cdecl **)(Packet *))i->m_pPacket->_vptr_Packet + 1))(i->m_pPacket);
- v3 = this->m_PacketQue;
- i->m_pPacket = 0;
- }
- i->m_PlayerID = -1;
- }
- operator delete[](&v3[-1].m_Flag);
- this->m_PacketQue = 0;
- }
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- Thread::~Thread(this);
- }
- // 80E43B8: using guessed type _DWORD (__cdecl *off_80E43B8)(ProcessManager *this);
- //----- (080A6CA2) --------------------------------------------------------
- void __usercall __noreturn sub_80A6CA2(int a1@<esi>)
- {
- pthread_mutex_destroy((pthread_mutex_t *)(a1 + 40));
- Thread::~Thread((_DWORD *)a1);
- _Unwind_Resume();
- }
- //----- (080A6CCC) --------------------------------------------------------
- void __cdecl ProcessManager::~ProcessManager(ProcessManager *const this)
- {
- ProcessPlayerManager *v1; // ebx
- bool v2; // zf
- ASYNC_PACKET *v3; // ecx
- ASYNC_PACKET *i; // ebx
- v1 = g_pProcessPlayerManager;
- v2 = g_pProcessPlayerManager == 0;
- this->_vptr_Thread = (int (**)(...))&off_80E43B8;
- if ( !v2 )
- {
- ProcessPlayerManager::~ProcessPlayerManager(v1);
- operator delete((IPRegionTable *const )v1);
- g_pProcessPlayerManager = 0;
- }
- v3 = this->m_PacketQue;
- if ( v3 )
- {
- for ( i = &v3[v3[-1].m_Flag]; v3 != i; i->m_Flag = 0 )
- {
- --i;
- if ( i->m_pPacket )
- {
- (*((void (__cdecl **)(Packet *))i->m_pPacket->_vptr_Packet + 1))(i->m_pPacket);
- v3 = this->m_PacketQue;
- i->m_pPacket = 0;
- }
- i->m_PlayerID = -1;
- }
- operator delete[](&v3[-1].m_Flag);
- this->m_PacketQue = 0;
- }
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- Thread::~Thread(this);
- operator delete((IPRegionTable *const )this);
- }
- // 80E43B8: using guessed type _DWORD (__cdecl *off_80E43B8)(ProcessManager *this);
- //----- (080A6DE5) --------------------------------------------------------
- void __usercall __noreturn sub_80A6DE5(int a1@<esi>)
- {
- pthread_mutex_destroy((pthread_mutex_t *)(a1 + 40));
- Thread::~Thread((_DWORD *)a1);
- _Unwind_Resume();
- }
- //----- (080A6E10) --------------------------------------------------------
- BOOL __cdecl ProcessManager::Init(int a2)
- {
- *(_DWORD *)(a2 + 20) = g_Config.m_ConfigInfo.m_DisconnectTime;
- return 1;
- }
- //----- (080A6E28) --------------------------------------------------------
- void __cdecl ProcessManager::Quit(ProcessManager *const this)
- {
- ;
- }
- //----- (080A6E30) --------------------------------------------------------
- BOOL __cdecl ProcessManager::RecvPacket(ProcessManager *const this, Packet **const pPacket, PlayerID_t *const PlayerID, UINT *const Flag)
- {
- ASYNC_PACKET *v4; // ebx
- UINT v5; // ecx
- Packet *v6; // edx
- UINT v8; // eax
- UINT v9; // eax
- pthread_mutex_t *v10; // eax
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v4 = this->m_PacketQue;
- v5 = this->m_Head;
- v6 = v4[v5].m_pPacket;
- if ( v6 )
- {
- *pPacket = v6;
- *PlayerID = v4[v5].m_PlayerID;
- *Flag = v4[v5].m_Flag;
- v8 = this->m_Head;
- v4[v8].m_Flag = 0;
- v4[v8].m_pPacket = 0;
- v4[v8].m_PlayerID = -1;
- v9 = this->m_Head + 1;
- if ( v9 >= this->m_QueSize )
- {
- v10 = &this->m_Lock.m_Mutex;
- this->m_Head = 0;
- if ( this == (ProcessManager *const )-40 )
- return 1;
- }
- else
- {
- this->m_Head = v9;
- v10 = &this->m_Lock.m_Mutex;
- if ( this == (ProcessManager *const )-40 )
- return 1;
- }
- pthread_mutex_unlock(v10);
- return 1;
- }
- if ( this != (ProcessManager *const )-40 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- return 0;
- }
- //----- (080A6F10) --------------------------------------------------------
- BOOL __cdecl ProcessManager::MovePacket(ProcessManager *const this, PlayerID_t PlayerID)
- {
- UINT v2; // ebx
- UINT v3; // edi
- UINT v4; // ecx
- ASYNC_PACKET *v5; // esi
- int v6; // edx
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v2 = this->m_QueSize;
- v3 = 0;
- v4 = this->m_Head;
- if ( v2 )
- {
- v5 = this->m_PacketQue;
- do
- {
- v6 = v4;
- if ( !v5[v4].m_pPacket )
- break;
- if ( v5[v6].m_PlayerID == PlayerID )
- {
- v5[v6].m_Flag = 1;
- v2 = this->m_QueSize;
- }
- if ( v2 <= ++v4 )
- v4 = 0;
- ++v3;
- }
- while ( v2 > v3 );
- }
- if ( this != (ProcessManager *const )-40 )
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- return 1;
- }
- //----- (080A6FC0) --------------------------------------------------------
- #error "80A716C: positive sp value has been found (funcsize=124)"
- //----- (080A7204) --------------------------------------------------------
- #error "80A732F: positive sp value has been found (funcsize=89)"
- //----- (080A73C0) --------------------------------------------------------
- BOOL __cdecl ProcessManager::SendPacket(ProcessManager *const this, Packet *pPacket, PlayerID_t PlayerID, UINT Flag)
- {
- UINT v4; // edx
- ASYNC_PACKET *v5; // ecx
- int v6; // eax
- UINT v7; // eax
- pthread_mutex_t *v8; // eax
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v4 = this->m_Tail;
- v5 = this->m_PacketQue;
- if ( v5[v4].m_pPacket )
- {
- if ( !ProcessManager::ResizeCache(this) )
- __assert__(
- "./Process/ProcessManager.cpp",
- 0x192u,
- "BOOL ProcessManager::SendPacket(Packet*, PlayerID_t, UINT)",
- "ret");
- v4 = this->m_Tail;
- v5 = this->m_PacketQue;
- }
- v6 = v4;
- v5[v6].m_pPacket = pPacket;
- v5[v6].m_Flag = Flag;
- v5[v6].m_PlayerID = PlayerID;
- v7 = this->m_Tail + 1;
- if ( v7 >= this->m_QueSize )
- {
- v8 = &this->m_Lock.m_Mutex;
- this->m_Tail = 0;
- if ( this == (ProcessManager *const )-40 )
- return 1;
- LABEL_6:
- pthread_mutex_unlock(v8);
- return 1;
- }
- this->m_Tail = v7;
- v8 = &this->m_Lock.m_Mutex;
- if ( this != (ProcessManager *const )-40 )
- goto LABEL_6;
- return 1;
- }
- //----- (080A74E8) --------------------------------------------------------
- BOOL __cdecl ProcessManager::MoveQueuePlayer(ProcessManager *const this)
- {
- int v1; // ebx
- UINT v2; // eax
- LoginPlayer *v3; // esi
- const char *v4; // eax
- Packets::LWNotifyUser *v5; // ST28_4
- const CHAR *v6; // eax
- PlayerID_t PlayerID; // [esp+Eh] [ebp-5Ah]
- CHAR PlayerName[51]; // [esp+10h] [ebp-58h]
- v1 = g_WorldPlayerCounter1.m_MaxWorldUserCount - g_WorldPlayerCounter1.m_WorldPlayerCount;
- if ( g_WorldPlayerCounter1.m_MaxWorldUserCount - g_WorldPlayerCounter1.m_WorldPlayerCount <= 0 )
- v1 = 0;
- while ( 1 )
- {
- v2 = g_pProcessPlayerManager->m_NormalPlayers;
- if ( v2 > 0xFF
- || (signed int)(v2 + 100) >= v1
- || !TurnPlayerQueue::GetOutPlayer(g_pProcessPlayerQueue, &PlayerID, PlayerName) )
- {
- break;
- }
- if ( PlayerID == -1 || PlayerID > 3071 || PlayerID < 0 || (v3 = &g_pPlayerPool->m_pPlayer[PlayerID]) == 0 )
- __assert__("./Process/ProcessManager.cpp", 0x1B8u, "BOOL ProcessManager::MoveQueuePlayer()", "pLoginPlayer");
- v4 = LoginPlayer::GetAccount(&g_pPlayerPool->m_pPlayer[PlayerID]);
- if ( !strcmp(v4, PlayerName) && v3->m_Status == 307 )
- {
- v3->m_Status = 311;
- (*((void (__cdecl **)(LoginPlayer *))v3->_vptr_Player + 27))(v3);
- LoginPlayer::SetQueuePos((int)v3, 0);
- ++g_pProcessPlayerManager->m_NormalPlayers;
- v5 = (Packets::LWNotifyUser *)PacketFactoryManager::CreatePacket(g_pPacketFactoryManager, 0x1B8u);
- v6 = LoginPlayer::GetAccount(v3);
- Packets::LWNotifyUser::SetAccount(v5, v6);
- v5->m_NotifyStatus = 1;
- v5->m_uKey = LoginPlayer::GetUserKey((int)v3);
- ServerManager::SendPacket(*(ServerManager *const *)&g_pServerManager, &v5->0, 0, 0);
- }
- }
- return 1;
- }
- //----- (080A76B8) --------------------------------------------------------
- BOOL __cdecl ProcessManager::ResetQueuePos(ProcessManager *const this)
- {
- TurnPlayerQueue::SortQueuePos(g_pProcessPlayerQueue);
- return 1;
- }
- //----- (080A771C) --------------------------------------------------------
- BOOL __cdecl ProcessManager::DoTick(ProcessManager *const this, UINT uTime)
- {
- INT v2; // eax
- UINT v4; // ecx
- UINT v5; // edx
- UINT v6; // eax
- if ( !ProcessPlayerManager::Select(g_pProcessPlayerManager) )
- __assert__("./Process/ProcessManager.cpp", 0x6Du, "BOOL ProcessManager::DoTick(UINT)", "ret");
- if ( !ProcessPlayerManager::ProcessExceptions(g_pProcessPlayerManager) )
- __assert__("./Process/ProcessManager.cpp", 0x70u, "BOOL ProcessManager::DoTick(UINT)", "ret");
- if ( !ProcessPlayerManager::ProcessInputs(g_pProcessPlayerManager) )
- __assert__("./Process/ProcessManager.cpp", 0x73u, "BOOL ProcessManager::DoTick(UINT)", "ret");
- if ( !ProcessPlayerManager::ProcessOutputs(g_pProcessPlayerManager) )
- __assert__("./Process/ProcessManager.cpp", 0x76u, "BOOL ProcessManager::DoTick(UINT)", "ret");
- if ( !ProcessPlayerManager::ProcessCommands(g_pProcessPlayerManager) )
- __assert__("./Process/ProcessManager.cpp", 0x81u, "BOOL ProcessManager::DoTick(UINT)", "ret");
- ProcessManager::ProcessCacheCommands(this);
- ProcessManager::ResetQueuePos(this);
- if ( !((int (__cdecl *)(ProcessPlayerManager *, UINT))*g_pProcessPlayerManager->_vptr_PlayerManager)(
- g_pProcessPlayerManager,
- uTime) )
- __assertex__(
- "./Process/ProcessManager.cpp",
- 0x9Fu,
- "BOOL ProcessManager::DoTick(UINT)",
- "ret",
- "g_pProcessPlayerManager->HeartBeat(uTime) get errors");
- if ( !ProcessManager::MoveQueuePlayer(this) )
- __assertex__(
- "./Process/ProcessManager.cpp",
- 0xABu,
- "BOOL ProcessManager::DoTick(UINT)",
- "ret",
- "MoveQueuePlayer() get errors");
- v2 = this->m_LogTurnTime - (uTime - this->m_CurrentTime);
- this->m_LogTurnTime = v2;
- if ( v2 < 0 )
- {
- v4 = g_pProcessPlayerQueue->m_Head;
- v5 = g_pProcessPlayerQueue->m_Tail;
- if ( v4 > v5 )
- {
- v4 -= v5;
- v6 = g_pProcessPlayerQueue->m_Size;
- }
- else
- {
- v6 = g_pProcessPlayerQueue->m_Tail;
- }
- CacheLog(
- 0,
- "ProcessManager::DoTick TurnPlayer Number:%u ValidNum:%u InvalidNum:%u",
- v6 - v4,
- g_pProcessPlayerQueue->m_ValidCount,
- g_pProcessPlayerQueue->m_InvalidCount);
- this->m_LogTurnTime = g_Config.m_ConfigInfo.m_DisconnectTime;
- this->m_CurrentTime = uTime;
- }
- else
- {
- this->m_CurrentTime = uTime;
- }
- return 1;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (080A7A1C) --------------------------------------------------------
- #error "80A7A55: positive sp value has been found (funcsize=18)"
- //----- (080A7AB4) --------------------------------------------------------
- void __cdecl _tcf_0_213(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080A7AC4) --------------------------------------------------------
- void `global constructor keyed to'g_pProcessManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_213, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080A7AF0) --------------------------------------------------------
- void __cdecl ProcessManager::stop(int a2)
- {
- *(_DWORD *)(a2 + 12) = 0;
- }
- //----- (080A7B00) --------------------------------------------------------
- void __cdecl ProcessPlayerManager::ProcessPlayerManager(ProcessPlayerManager *const this)
- {
- PlayerManager::PlayerManager(&this->0);
- this->_vptr_PlayerManager = (int (**)(...))&off_80E4780;
- StrTable::StrTable(&this->m_AccTable.m_pTable);
- memset(&this->m_ReadFDs[1], 0, sizeof(this->m_ReadFDs[1]));
- memset(&this->m_WriteFDs[1], 0, sizeof(this->m_WriteFDs[1]));
- memset(&this->m_ExceptFDs[1], 0, sizeof(this->m_ExceptFDs[1]));
- memset(this->m_ReadFDs, 0, 0x200u);
- memset(this->m_WriteFDs, 0, 0x200u);
- memset(this->m_ExceptFDs, 0, 0x200u);
- this->m_Timeout[1].tv_sec = 0;
- this->m_Timeout[1].tv_usec = 100;
- this->m_Timeout[0].tv_sec = 0;
- this->m_Timeout[0].tv_usec = 100;
- this->m_MaxFD = -1;
- this->m_MinFD = -1;
- this->m_nFDSize = 0;
- this->m_NormalPlayers = 0;
- StrTable::InitTable(&this->m_AccTable, 0x401u, 0x32u);
- }
- // 80E4780: using guessed type _DWORD (__cdecl *off_80E4780)(ProcessPlayerManager *this, UINT uTime);
- //----- (080A7C48) --------------------------------------------------------
- void __cdecl ProcessPlayerManager::ProcessPlayerManager(ProcessPlayerManager *const this)
- {
- PlayerManager::PlayerManager(&this->0);
- this->_vptr_PlayerManager = (int (**)(...))&off_80E4780;
- StrTable::StrTable(&this->m_AccTable.m_pTable);
- memset(&this->m_ReadFDs[1], 0, sizeof(this->m_ReadFDs[1]));
- memset(&this->m_WriteFDs[1], 0, sizeof(this->m_WriteFDs[1]));
- memset(&this->m_ExceptFDs[1], 0, sizeof(this->m_ExceptFDs[1]));
- memset(this->m_ReadFDs, 0, 0x200u);
- memset(this->m_WriteFDs, 0, 0x200u);
- memset(this->m_ExceptFDs, 0, 0x200u);
- this->m_Timeout[1].tv_sec = 0;
- this->m_Timeout[1].tv_usec = 100;
- this->m_Timeout[0].tv_sec = 0;
- this->m_Timeout[0].tv_usec = 100;
- this->m_MaxFD = -1;
- this->m_MinFD = -1;
- this->m_nFDSize = 0;
- this->m_NormalPlayers = 0;
- StrTable::InitTable(&this->m_AccTable, 0x401u, 0x32u);
- }
- // 80E4780: using guessed type _DWORD (__cdecl *off_80E4780)(ProcessPlayerManager *this, UINT uTime);
- //----- (080A7D90) --------------------------------------------------------
- void __cdecl ProcessPlayerManager::~ProcessPlayerManager(ProcessPlayerManager *const this)
- {
- this->_vptr_PlayerManager = (int (**)(...))&off_80E4780;
- StrTable::~StrTable(&this->m_AccTable);
- PlayerManager::~PlayerManager(&this->0);
- }
- // 80E4780: using guessed type _DWORD (__cdecl *off_80E4780)(ProcessPlayerManager *this, UINT uTime);
- //----- (080A7DD4) --------------------------------------------------------
- void __cdecl ProcessPlayerManager::~ProcessPlayerManager(ProcessPlayerManager *const this)
- {
- this->_vptr_PlayerManager = (int (**)(...))&off_80E4780;
- StrTable::~StrTable(&this->m_AccTable);
- PlayerManager::~PlayerManager(&this->0);
- }
- // 80E4780: using guessed type _DWORD (__cdecl *off_80E4780)(ProcessPlayerManager *this, UINT uTime);
- //----- (080A7E18) --------------------------------------------------------
- #error "80A7F1E: positive sp value has been found (funcsize=71)"
- //----- (080A7FE4) --------------------------------------------------------
- BOOL __cdecl ProcessPlayerManager::DelPlayerSocket(ProcessPlayerManager *const this, SOCKET fd)
- {
- SOCKET v2; // ecx
- BOOL result; // eax
- SOCKET v4; // ebx
- int v5; // ecx
- unsigned int v6; // edx
- INT v7; // eax
- PlayerID_t v8; // ax
- LoginPlayer *v9; // eax
- SOCKET v10; // eax
- PlayerID_t v11; // ax
- LoginPlayer *v12; // eax
- SOCKET v13; // eax
- UINT i_0; // [esp+4h] [ebp-24h]
- UINT nPlayerCount_0; // [esp+8h] [ebp-20h]
- SOCKET s_0; // [esp+Ch] [ebp-1Ch]
- UINT i; // [esp+10h] [ebp-18h]
- UINT nPlayerCount; // [esp+14h] [ebp-14h]
- SOCKET s; // [esp+18h] [ebp-10h]
- v2 = this->m_MinFD;
- result = 0;
- if ( v2 == -1 )
- return result;
- v4 = this->m_MaxFD;
- if ( v4 == -1 )
- return result;
- if ( fd == -1 )
- return result;
- result = 0;
- if ( !_bittest((const signed __int32 *)this->m_ReadFDs + ((unsigned int)fd >> 5), fd & 0x1F) )
- return result;
- if ( v2 == fd )
- {
- i = 0;
- s = this->m_MaxFD;
- nPlayerCount = this->m_nPlayers;
- if ( nPlayerCount > 0 )
- {
- do
- {
- v8 = this->m_pPlayers[i];
- if ( v8 != -1 )
- {
- if ( v8 > 3071 || v8 < 0 || (v9 = &g_pPlayerPool->m_pPlayer[v8]) == 0 )
- __assert__(
- "./Process/ProcessPlayerManager.cpp",
- 0x1FEu,
- "BOOL ProcessPlayerManager::DelPlayerSocket(SOCKET)",
- "pPlayer");
- v10 = Socket::getSOCKET((int)v9->m_pSocket);
- if ( v10 != fd && v10 != -1 && v10 < s )
- s = v10;
- }
- ++i;
- }
- while ( i < nPlayerCount );
- v2 = this->m_MinFD;
- v4 = this->m_MaxFD;
- }
- if ( v2 != v4 )
- {
- this->m_MinFD = s;
- goto LABEL_7;
- }
- LABEL_51:
- this->m_MaxFD = -1;
- this->m_MinFD = -1;
- goto LABEL_7;
- }
- if ( v4 == fd )
- {
- i_0 = 0;
- s_0 = this->m_MinFD;
- nPlayerCount_0 = this->m_nPlayers;
- if ( nPlayerCount_0 > 0 )
- {
- do
- {
- v11 = this->m_pPlayers[i_0];
- if ( v11 != -1 )
- {
- if ( v11 > 3071 || v11 < 0 || (v12 = &g_pPlayerPool->m_pPlayer[v11]) == 0 )
- __assert__(
- "./Process/ProcessPlayerManager.cpp",
- 0x222u,
- "BOOL ProcessPlayerManager::DelPlayerSocket(SOCKET)",
- "pPlayer");
- v13 = Socket::getSOCKET((int)v12->m_pSocket);
- if ( v13 != fd && v13 != -1 && v13 > s_0 )
- s_0 = v13;
- }
- ++i_0;
- }
- while ( i_0 < nPlayerCount_0 );
- v2 = this->m_MinFD;
- v4 = this->m_MaxFD;
- }
- if ( v4 != v2 )
- {
- this->m_MaxFD = s_0;
- goto LABEL_7;
- }
- goto LABEL_51;
- }
- LABEL_7:
- v5 = fd & 0x1F;
- v6 = (unsigned int)fd >> 5;
- if ( _bittest((const signed __int32 *)this->m_ReadFDs + ((unsigned int)fd >> 5), v5) )
- _bittestandreset((signed __int32 *)this->m_ReadFDs + v6, v5);
- if ( _bittest(&this->m_ReadFDs[1].fds_bits[v6], v5) )
- _bittestandreset(&this->m_ReadFDs[1].fds_bits[v6], v5);
- if ( _bittest((const signed __int32 *)this->m_WriteFDs + v6, v5) )
- _bittestandreset((signed __int32 *)this->m_WriteFDs + v6, v5);
- if ( _bittest(&this->m_WriteFDs[1].fds_bits[v6], v5) )
- _bittestandreset(&this->m_WriteFDs[1].fds_bits[v6], v5);
- if ( _bittest((const signed __int32 *)this->m_ExceptFDs + v6, v5) )
- _bittestandreset((signed __int32 *)this->m_ExceptFDs + v6, v5);
- if ( _bittest(&this->m_ExceptFDs[1].fds_bits[v6], v5) )
- _bittestandreset(&this->m_ExceptFDs[1].fds_bits[v6], v5);
- v7 = this->m_nFDSize - 1;
- this->m_nFDSize = v7;
- if ( v7 < 0 )
- __assert__(
- "./Process/ProcessPlayerManager.cpp",
- 0x245u,
- "BOOL ProcessPlayerManager::DelPlayerSocket(SOCKET)",
- "m_nFDSize>=0");
- return 1;
- }
- //----- (080A8300) --------------------------------------------------------
- BOOL __cdecl ProcessPlayerManager::AddPlayerSocket(ProcessPlayerManager *const this, SOCKET fd)
- {
- BOOL result; // eax
- SOCKET v3; // edx
- SOCKET v4; // eax
- SOCKET v5; // edx
- unsigned int v6; // eax
- int v7; // eax
- if ( fd == -1 )
- __assert__(
- "./Process/ProcessPlayerManager.cpp",
- 0x1C2u,
- "BOOL ProcessPlayerManager::AddPlayerSocket(SOCKET)",
- "fd!=INVALID_SOCKET");
- result = 0;
- if ( !_bittest((const signed __int32 *)this->m_ReadFDs + ((unsigned int)fd >> 5), fd & 0x1F) )
- {
- v3 = this->m_MinFD;
- v4 = fd;
- if ( v3 != -1 )
- {
- v4 = this->m_MinFD;
- if ( v3 > fd )
- v4 = fd;
- }
- v5 = this->m_MaxFD;
- this->m_MinFD = v4;
- v6 = fd;
- if ( v5 != -1 )
- {
- v6 = v5;
- if ( v5 < fd )
- v6 = fd;
- }
- this->m_MaxFD = v6;
- if ( v6 > 0xFFF )
- __assert__(
- "./Process/ProcessPlayerManager.cpp",
- 0x1C8u,
- "BOOL ProcessPlayerManager::AddPlayerSocket(SOCKET)",
- "m_MaxFD<FD_SETSIZE && m_MaxFD>=0");
- v7 = fd & 0x1F;
- _bittestandset((signed __int32 *)this->m_ReadFDs + ((unsigned int)fd >> 5), v7);
- _bittestandset((signed __int32 *)this->m_WriteFDs + ((unsigned int)fd >> 5), v7);
- _bittestandset((signed __int32 *)this->m_ExceptFDs + ((unsigned int)fd >> 5), v7);
- result = 1;
- ++this->m_nFDSize;
- }
- return result;
- }
- //----- (080A8430) --------------------------------------------------------
- Player *__cdecl ProcessPlayerManager::FindAccName(ProcessPlayerManager *const this, const CHAR *szAccount)
- {
- return (Player *)StrTable::Get(&this->m_AccTable, szAccount);
- }
- //----- (080A8498) --------------------------------------------------------
- BOOL __cdecl ProcessPlayerManager::AddPlayer(ProcessPlayerManager *const this, Player *pPlayer)
- {
- SOCKET v3; // eax
- const CHAR *v4; // eax
- const CHAR *v5; // eax
- const CHAR *v6; // [esp-Ch] [ebp-14h]
- const CHAR *v7; // [esp-8h] [ebp-10h]
- if ( this->m_nFDSize > 1455 )
- {
- v6 = "ERROR:ProcessPlayerManager::AddPlayer...m_nFDSize>=MAX_PLAYER";
- LABEL_3:
- CacheLog(0, v6, v7);
- return 0;
- }
- if ( !PlayerManager::AddPlayer(&this->0, (Player_AtLogin *)pPlayer, 0x400u) )
- {
- v6 = "ERROR:ProcessPlayerManager::AddPlayer...FALSE==PlayerManager::AddPlayer";
- goto LABEL_3;
- }
- v3 = Socket::getSOCKET((int)pPlayer->m_pSocket);
- ProcessPlayerManager::AddPlayerSocket(this, v3);
- v4 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- if ( ProcessPlayerManager::FindAccName(this, v4) )
- {
- v7 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- v6 = "ERROR:ProcessPlayerManager::AddPlayer...acc=%s already in m_AccTable";
- goto LABEL_3;
- }
- v5 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- StrTable::Add(&this->m_AccTable, v5, &this->m_AccTable);
- return 1;
- }
- //----- (080A85A0) --------------------------------------------------------
- BOOL __cdecl ProcessPlayerManager::DelPlayer(ProcessPlayerManager *const this, PlayerID_t pid)
- {
- if ( pid == -1 )
- __assert__(
- "./Process/ProcessPlayerManager.cpp",
- 0x1DEu,
- "BOOL ProcessPlayerManager::DelPlayer(PlayerID_t)",
- "pid!=INVALID_ID");
- PlayerManager::RemovePlayer(&this->0, pid);
- return 1;
- }
- //----- (080A8630) --------------------------------------------------------
- BOOL __cdecl ProcessPlayerManager::RemovePlayer(ProcessPlayerManager *const this, Player *pPlayer)
- {
- SOCKET v2; // eax
- SOCKET v3; // ebx
- Socket *v4; // eax
- const CHAR *v5; // eax
- UINT v7; // eax
- const CHAR *pAccountName; // [esp+4h] [ebp-14h]
- BOOL ret; // [esp+8h] [ebp-10h]
- if ( !pPlayer )
- __assert__(
- "./Process/ProcessPlayerManager.cpp",
- 0x155u,
- "BOOL ProcessPlayerManager::RemovePlayer(Player*)",
- "pPlayer");
- pAccountName = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- v2 = Socket::getSOCKET((int)pPlayer->m_pSocket);
- v3 = v2;
- if ( v2 != -1 )
- {
- ProcessPlayerManager::DelPlayerSocket(this, v2);
- (*((void (__cdecl **)(Player *))pPlayer->_vptr_Player + 4))(pPlayer);
- CacheLog(0, "ProcessPlayerManager::RemovePlayer Disconnect(SOCKET=%d)...OK", v3);
- }
- v4 = pPlayer[2].m_pSocket;
- if ( v4 == (Socket *)308 || v4 == (Socket *)309 || v4 == (Socket *)311 || v4 == (Socket *)312 || v4 == (Socket *)310 )
- {
- v7 = this->m_NormalPlayers;
- if ( v7 )
- this->m_NormalPlayers = v7 - 1;
- }
- ret = ProcessPlayerManager::DelPlayer(this, (PlayerID_t)pPlayer[1].m_pSocketInputStream);
- if ( !ret )
- __assert__("./Process/ProcessPlayerManager.cpp", 0x17Bu, "BOOL ProcessPlayerManager::RemovePlayer(Player*)", "ret");
- v5 = LoginPlayer::GetAccount((LoginPlayer *const )pPlayer);
- if ( StrTable::Get(&this->m_AccTable, v5) == pPlayer )
- StrTable::Remove(&this->m_AccTable, pAccountName);
- LoginPlayer::FreeOwn((LoginPlayer *const )pPlayer);
- CacheLog(0, "ProcessPlayerManager::Real RemovePlayer(AccountName =%s)...OK", pAccountName);
- return ret;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (080A8808) --------------------------------------------------------
- BOOL __cdecl ProcessPlayerManager::ProcessCommands(ProcessPlayerManager *const this)
- {
- int v1; // edi
- PlayerID_t v2; // ax
- bool v3; // cf
- BOOL result; // eax
- Socket *v5; // [esp+4h] [ebp-14h]
- UINT nPlayerCount; // [esp+8h] [ebp-10h]
- if ( this->m_MinFD != -1 || (result = 1, this->m_MaxFD != -1) )
- {
- v1 = 0;
- nPlayerCount = this->m_nPlayers;
- if ( this->m_nPlayers <= 0 )
- return 1;
- while ( 1 )
- {
- v2 = this->m_pPlayers[v1];
- if ( v2 != -1 )
- {
- if ( v2 > 3071 || v2 < 0 || (v5 = (Socket *)&g_pPlayerPool->m_pPlayer[v2]) == 0 )
- __assert__(
- "./Process/ProcessPlayerManager.cpp",
- 0x129u,
- "BOOL ProcessPlayerManager::ProcessCommands()",
- "pPlayer");
- if ( !*(_DWORD *)&v5->m_SockAddr.sin_zero[4] )
- {
- if ( Socket::getSOCKET(v5->m_SocketID) == -1 )
- __assert__(
- "./Process/ProcessPlayerManager.cpp",
- 0x12Fu,
- "BOOL ProcessPlayerManager::ProcessCommands()",
- "s!=INVALID_SOCKET");
- if ( Socket::isSockError(v5->m_SocketID) )
- {
- ProcessPlayerManager::RemovePlayer(this, (Player *)v5);
- LABEL_16:
- v3 = ++v1 < nPlayerCount;
- goto LABEL_7;
- }
- if ( !(*((int (__cdecl **)(Socket *, _DWORD))v5->_vptr_Socket + 21))(v5, 0) )
- {
- ProcessPlayerManager::RemovePlayer(this, (Player *)v5);
- goto LABEL_16;
- }
- }
- }
- v3 = ++v1 < nPlayerCount;
- LABEL_7:
- if ( !v3 )
- return 1;
- }
- }
- return result;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (080A89DC) --------------------------------------------------------
- BOOL __cdecl ProcessPlayerManager::ProcessExceptions(ProcessPlayerManager *const this)
- {
- int v1; // ebx
- PlayerID_t v2; // ax
- bool v3; // cf
- BOOL result; // eax
- unsigned int v5; // eax
- Socket *v6; // [esp+4h] [ebp-14h]
- UINT nPlayerCount; // [esp+8h] [ebp-10h]
- if ( this->m_MinFD != -1 || (result = 1, this->m_MaxFD != -1) )
- {
- v1 = 0;
- nPlayerCount = this->m_nPlayers;
- if ( this->m_nPlayers > 0 )
- {
- do
- {
- v2 = this->m_pPlayers[v1];
- if ( v2 == -1 )
- goto LABEL_20;
- if ( v2 > 3071 || v2 < 0 || (v6 = (Socket *)&g_pPlayerPool->m_pPlayer[v2]) == 0 )
- __assert__(
- "./Process/ProcessPlayerManager.cpp",
- 0xFFu,
- "BOOL ProcessPlayerManager::ProcessExceptions()",
- "pPlayer");
- if ( *(_DWORD *)&v6->m_SockAddr.sin_zero[4] )
- goto LABEL_20;
- v5 = Socket::getSOCKET(v6->m_SocketID);
- if ( v5 == -1 )
- __assert__(
- "./Process/ProcessPlayerManager.cpp",
- 0x105u,
- "BOOL ProcessPlayerManager::ProcessExceptions()",
- "s!=INVALID_SOCKET");
- if ( !_bittest(&this->m_ExceptFDs[1].fds_bits[v5 >> 5], v5 & 0x1F) )
- {
- LABEL_20:
- v3 = ++v1 < nPlayerCount;
- }
- else
- {
- ProcessPlayerManager::RemovePlayer(this, (Player *)v6);
- v3 = ++v1 < nPlayerCount;
- }
- }
- while ( v3 );
- }
- result = 1;
- }
- return result;
- }
- //----- (080A8B54) --------------------------------------------------------
- #error "80A8CCD: positive sp value has been found (funcsize=103)"
- //----- (080A8D48) --------------------------------------------------------
- #error "80A8EE1: positive sp value has been found (funcsize=111)"
- //----- (080A8F94) --------------------------------------------------------
- BOOL __cdecl ProcessPlayerManager::HeartBeat(ProcessPlayerManager *const this, UINT uTime)
- {
- UINT v2; // esi
- PlayerID_t v3; // ax
- LoginPlayer *v4; // ebx
- UINT nPlayerCount; // [esp+8h] [ebp-10h]
- v2 = 0;
- for ( nPlayerCount = this->m_nPlayers; v2 < nPlayerCount; ++v2 )
- {
- v3 = this->m_pPlayers[v2];
- if ( v3 != -1 )
- {
- if ( v3 > 3071 || v3 < 0 || (v4 = &g_pPlayerPool->m_pPlayer[v3]) == 0 )
- __assert__(
- "./Process/ProcessPlayerManager.cpp",
- 0x25Eu,
- "virtual BOOL ProcessPlayerManager::HeartBeat(UINT)",
- "FALSE");
- if ( !(*((int (__cdecl **)(LoginPlayer *, UINT))v4->_vptr_Player + 22))(v4, uTime)
- && !ProcessPlayerManager::RemovePlayer(this, &v4->0) )
- {
- __assert__(
- "./Process/ProcessPlayerManager.cpp",
- 0x265u,
- "virtual BOOL ProcessPlayerManager::HeartBeat(UINT)",
- "ret");
- }
- }
- }
- return 1;
- }
- //----- (080A90B4) --------------------------------------------------------
- void __cdecl ProcessPlayerManager::RemoveAllPlayer(ProcessPlayerManager *const this)
- {
- UINT v1; // edi
- UINT v2; // esi
- PlayerID_t v3; // ax
- LoginPlayer *v4; // eax
- v1 = this->m_nPlayers;
- v2 = 0;
- while ( v2 < v1 )
- {
- v3 = this->m_pPlayers[0];
- if ( v3 == -1 )
- break;
- if ( v3 <= 3071 && v3 >= 0 )
- {
- v4 = &g_pPlayerPool->m_pPlayer[v3];
- if ( v4 )
- continue;
- }
- __assert__("./Process/ProcessPlayerManager.cpp", 0x27Eu, "void ProcessPlayerManager::RemoveAllPlayer()", "FALSE");
- ProcessPlayerManager::RemovePlayer(this, &v4->0);
- ++v2;
- }
- }
- //----- (080A9188) --------------------------------------------------------
- void __cdecl _tcf_0_214(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080A9198) --------------------------------------------------------
- void `global constructor keyed to'g_pProcessPlayerManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_214, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080A91C4) --------------------------------------------------------
- const char *__cdecl DBC::DBCFile::_GetLineFromMemory(char *pStringBuf, int nBufSize, const char *pMemory, const char *pDeadEnd)
- {
- const char *result; // eax
- char *v5; // ecx
- char v6; // dl
- int v7; // ebx
- char v8; // dl
- char v9; // dl
- result = pMemory;
- v5 = pStringBuf;
- if ( pMemory >= pDeadEnd )
- return 0;
- v6 = *pMemory;
- if ( !*pMemory )
- return 0;
- if ( nBufSize > 1 && v6 != 13 && v6 != 10 )
- {
- v7 = 1;
- do
- {
- ++result;
- ++v7;
- *v5++ = v6;
- if ( result >= pDeadEnd )
- break;
- if ( v7 >= nBufSize )
- break;
- v6 = *result;
- if ( !*result )
- break;
- }
- while ( v6 != 13 && v6 != 10 );
- }
- *v5 = 0;
- if ( result < pDeadEnd )
- {
- v8 = *result;
- if ( *result )
- {
- if ( v8 == 13 || v8 == 10 )
- {
- do
- {
- if ( ++result >= pDeadEnd )
- break;
- v9 = *result;
- if ( !*result )
- break;
- }
- while ( v9 == 13 || v9 == 10 );
- }
- }
- }
- return result;
- }
- //----- (080A9258) --------------------------------------------------------
- const DBC::DBCFile::FIELD *__cdecl DBC::DBCFile::Search_First_Column_Equ(const DBC::DBCFile *const this, int nColumnNum, const DBC::DBCFile::FIELD *const value)
- {
- int v3; // edx
- DBC::DBCFile::FIELD_TYPE v4; // edi
- int v5; // esi
- bool v6; // al
- const DBC::DBCFile::FIELD *v7; // eax
- if ( nColumnNum >= 0 )
- {
- v3 = this->m_nFieldsNum;
- if ( v3 > nColumnNum )
- {
- v4 = this->m_theType._M_impl._M_start[nColumnNum];
- v5 = 0;
- if ( this->m_nRecordsNum > 0 )
- {
- while ( 1 )
- {
- v7 = &this->m_vDataBuf._M_impl._M_start[v5 * v3 + nColumnNum];
- if ( v4 )
- {
- if ( v4 == 1 )
- v6 = DBC::DBCFile::_FieldEqu<(DBC::DBCFile::FIELD_TYPE)1>(v7, value);
- else
- v6 = DBC::DBCFile::_FieldEqu<(DBC::DBCFile::FIELD_TYPE)2>(v7, value);
- if ( v6 )
- return &this->m_vDataBuf._M_impl._M_start[v5 * this->m_nFieldsNum];
- }
- else if ( (unsigned __int8)DBC::DBCFile::_FieldEqu<(DBC::DBCFile::FIELD_TYPE)0>(v7, value) )
- {
- return &this->m_vDataBuf._M_impl._M_start[v5 * this->m_nFieldsNum];
- }
- if ( this->m_nRecordsNum <= ++v5 )
- return 0;
- v3 = this->m_nFieldsNum;
- }
- }
- }
- }
- return 0;
- }
- //----- (080A9308) --------------------------------------------------------
- const DBC::DBCFile::FIELD *__cdecl DBC::DBCFile::Search_Posistion(const DBC::DBCFile *const this, int nRecordLine, int nColumNum)
- {
- int v3; // ebx
- DBC::DBCFile::FIELD *v4; // edx
- int v5; // eax
- const DBC::DBCFile::FIELD *v6; // edx
- char szTemp[260]; // [esp+0h] [ebp-118h]
- v3 = nColumNum + nRecordLine * this->m_nFieldsNum;
- if ( v3 < 0
- || (v4 = this->m_vDataBuf._M_impl._M_start,
- v5 = (_DWORD)((char *)this->m_vDataBuf._M_impl._M_finish - (char *)v4) >> 2,
- v6 = &v4[v3],
- v5 <= nColumNum) )
- {
- snprintf(szTemp, 0x104u, "DBC:Invalid search request[rec=%d, col=%d]", nRecordLine, nColumNum);
- __assertex__(
- "libDBC.cpp",
- 0x222u,
- "virtual const DBC::DBCFile::FIELD* DBC::DBCFile::Search_Posistion(int, int) const",
- "FALSE",
- szTemp);
- }
- return v6;
- }
- //----- (080A9380) --------------------------------------------------------
- const DBC::DBCFile::FIELD *__cdecl DBC::DBCFile::Search_Index_EQU(const DBC::DBCFile *const this, int iIndex)
- {
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *i; // edx
- const DBC::DBCFile::FIELD *result; // eax
- for ( i = this->m_hashIndex._M_ht._M_buckets._M_impl._M_start[iIndex
- % (unsigned int)((_DWORD)((char *)this->m_hashIndex._M_ht._M_buckets._M_impl._M_finish
- - (char *)this->m_hashIndex._M_ht._M_buckets._M_impl._M_start) >> 2)];
- i && i->_M_val.first != iIndex;
- i = i->_M_next )
- {
- ;
- }
- result = 0;
- if ( i )
- result = i->_M_val.second;
- return result;
- }
- //----- (080A93E8) --------------------------------------------------------
- void __cdecl DBC::DBCFile::~DBCFile(DBC::DBCFile *const this)
- {
- char *v1; // eax
- IPRegionTable *const *v2; // ecx
- DBC::DBCFile::FIELD *i; // eax
- IPRegionTable *const *v4; // ecx
- DBC::DBCFile::FIELD_TYPE *j; // eax
- v1 = this->m_pStringBuf;
- this->_vptr_DBCFile = (int (**)(...))&off_80E4DB0;
- if ( v1 )
- operator delete[](v1);
- this->m_pStringBuf = 0;
- __gnu_cxx::hashtable<std::pair<int const,DBC::DBCFile::FIELD *>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<int const,DBC::DBCFile::FIELD *>>,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD *>>::clear(&this->m_hashIndex._M_ht);
- if ( this->m_hashIndex._M_ht._M_buckets._M_impl._M_start )
- operator delete((IPRegionTable *const )this->m_hashIndex._M_ht._M_buckets._M_impl._M_start);
- v2 = (IPRegionTable *const *)&this->m_vDataBuf;
- for ( i = this->m_vDataBuf._M_impl._M_start; i != this->m_vDataBuf._M_impl._M_finish; ++i )
- ;
- if ( *v2 )
- operator delete(*v2);
- v4 = (IPRegionTable *const *)&this->m_theType;
- for ( j = this->m_theType._M_impl._M_start; j != this->m_theType._M_impl._M_finish; ++j )
- ;
- if ( *v4 )
- operator delete(*v4);
- operator delete((IPRegionTable *const )this);
- }
- // 80E4DB0: using guessed type _DWORD (__cdecl *off_80E4DB0)(DBC::DBCFile *this, int iIndex);
- //----- (080A9494) --------------------------------------------------------
- void __cdecl DBC::DBCFile::~DBCFile(DBC::DBCFile *const this)
- {
- char *v1; // eax
- IPRegionTable *const *v2; // ecx
- DBC::DBCFile::FIELD *i; // eax
- IPRegionTable *const *v4; // ecx
- DBC::DBCFile::FIELD_TYPE *j; // eax
- v1 = this->m_pStringBuf;
- this->_vptr_DBCFile = (int (**)(...))&off_80E4DB0;
- if ( v1 )
- operator delete[](v1);
- this->m_pStringBuf = 0;
- __gnu_cxx::hashtable<std::pair<int const,DBC::DBCFile::FIELD *>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<int const,DBC::DBCFile::FIELD *>>,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD *>>::clear(&this->m_hashIndex._M_ht);
- if ( this->m_hashIndex._M_ht._M_buckets._M_impl._M_start )
- operator delete((IPRegionTable *const )this->m_hashIndex._M_ht._M_buckets._M_impl._M_start);
- v2 = (IPRegionTable *const *)&this->m_vDataBuf;
- for ( i = this->m_vDataBuf._M_impl._M_start; i != this->m_vDataBuf._M_impl._M_finish; ++i )
- ;
- if ( *v2 )
- operator delete(*v2);
- v4 = (IPRegionTable *const *)&this->m_theType;
- for ( j = this->m_theType._M_impl._M_start; j != this->m_theType._M_impl._M_finish; ++j )
- ;
- if ( *v4 )
- operator delete(*v4);
- }
- // 80E4DB0: using guessed type _DWORD (__cdecl *off_80E4DB0)(DBC::DBCFile *this, int iIndex);
- //----- (080A9534) --------------------------------------------------------
- void __cdecl DBC::DBCFile::~DBCFile(DBC::DBCFile *const this)
- {
- char *v1; // eax
- IPRegionTable *const *v2; // ecx
- DBC::DBCFile::FIELD *i; // eax
- IPRegionTable *const *v4; // ecx
- DBC::DBCFile::FIELD_TYPE *j; // eax
- v1 = this->m_pStringBuf;
- this->_vptr_DBCFile = (int (**)(...))&off_80E4DB0;
- if ( v1 )
- operator delete[](v1);
- this->m_pStringBuf = 0;
- __gnu_cxx::hashtable<std::pair<int const,DBC::DBCFile::FIELD *>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<int const,DBC::DBCFile::FIELD *>>,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD *>>::clear(&this->m_hashIndex._M_ht);
- if ( this->m_hashIndex._M_ht._M_buckets._M_impl._M_start )
- operator delete((IPRegionTable *const )this->m_hashIndex._M_ht._M_buckets._M_impl._M_start);
- v2 = (IPRegionTable *const *)&this->m_vDataBuf;
- for ( i = this->m_vDataBuf._M_impl._M_start; i != this->m_vDataBuf._M_impl._M_finish; ++i )
- ;
- if ( *v2 )
- operator delete(*v2);
- v4 = (IPRegionTable *const *)&this->m_theType;
- for ( j = this->m_theType._M_impl._M_start; j != this->m_theType._M_impl._M_finish; ++j )
- ;
- if ( *v4 )
- operator delete(*v4);
- }
- // 80E4DB0: using guessed type _DWORD (__cdecl *off_80E4DB0)(DBC::DBCFile *this, int iIndex);
- //----- (080A95D4) --------------------------------------------------------
- void __cdecl DBC::DBCFile::CreateIndex(DBC::DBCFile *const this, int nColum, const char *szFileName)
- {
- DBC::DBCFile::FIELD *v3; // esi
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *j; // eax
- bool v5; // zf
- bool v6; // sf
- unsigned __int8 v7; // of
- int v8; // ST14_4
- int i; // [esp+20h] [ebp-188h]
- std::pair<const int,DBC::DBCFile::FIELD*> __obj; // [esp+38h] [ebp-170h]
- int v11; // [esp+40h] [ebp-168h]
- __gnu_cxx::hash_map<int,DBC::DBCFile::FIELD*,__gnu_cxx::hash<int>,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> > *v12; // [esp+44h] [ebp-164h]
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *v13; // [esp+48h] [ebp-160h]
- __gnu_cxx::hash_map<int,DBC::DBCFile::FIELD*,__gnu_cxx::hash<int>,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> > *v14; // [esp+4Ch] [ebp-15Ch]
- std::pair<__gnu_cxx::_Hashtable_iterator<std::pair<const int,DBC::DBCFile::FIELD*>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<const int,DBC::DBCFile::FIELD*> >,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> >,bool> v15; // [esp+50h] [ebp-158h]
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *v16; // [esp+60h] [ebp-148h]
- __gnu_cxx::hashtable<std::pair<const int,DBC::DBCFile::FIELD*>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<const int,DBC::DBCFile::FIELD*> >,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> > *v17; // [esp+64h] [ebp-144h]
- bool v18; // [esp+68h] [ebp-140h]
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *v19; // [esp+70h] [ebp-138h]
- __gnu_cxx::hashtable<std::pair<const int,DBC::DBCFile::FIELD*>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<const int,DBC::DBCFile::FIELD*> >,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> > *v20; // [esp+74h] [ebp-134h]
- bool v21; // [esp+78h] [ebp-130h]
- char szTemp[260]; // [esp+80h] [ebp-128h]
- if ( nColum >= 0 && this->m_nFieldsNum > nColum && this->m_nIndexColum != nColum )
- {
- __gnu_cxx::hashtable<std::pair<int const,DBC::DBCFile::FIELD *>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<int const,DBC::DBCFile::FIELD *>>,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD *>>::clear(&this->m_hashIndex._M_ht);
- i = 0;
- if ( this->m_nRecordsNum > 0 )
- {
- do
- {
- v3 = &this->m_vDataBuf._M_impl._M_start[this->m_nFieldsNum * i];
- for ( j = this->m_hashIndex._M_ht._M_buckets._M_impl._M_start[v3->iValue
- % (unsigned int)((_DWORD)((char *)this->m_hashIndex._M_ht._M_buckets._M_impl._M_finish
- - (char *)this->m_hashIndex._M_ht._M_buckets._M_impl._M_start) >> 2)];
- j;
- j = j->_M_next )
- {
- if ( j->_M_val.first == v3->iValue )
- break;
- }
- v11 = 0;
- v13 = j;
- v14 = &this->m_hashIndex;
- v12 = &this->m_hashIndex;
- if ( j )
- {
- v8 = v3->iValue;
- snprintf(szTemp, 0x104u, "[%s]Multi index at line %d(SAME:value=%d)", szFileName, i + 1);
- __assertex__("libDBC.cpp", 0x207u, "void DBC::DBCFile::CreateIndex(int, const char*)", "FALSE", szTemp);
- }
- __obj.first = v3->iValue;
- __obj.second = v3;
- __gnu_cxx::hashtable<std::pair<int const,DBC::DBCFile::FIELD *>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<int const,DBC::DBCFile::FIELD *>>,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD *>>::resize(
- &this->m_hashIndex._M_ht,
- this->m_hashIndex._M_ht._M_num_elements + 1);
- __gnu_cxx::hashtable<std::pair<int const,DBC::DBCFile::FIELD *>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<int const,DBC::DBCFile::FIELD *>>,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD *>>::insert_unique_noresize(
- &v15,
- &this->m_hashIndex._M_ht,
- &__obj);
- ++i;
- v17 = v15.first._M_ht;
- v18 = v15.second;
- v20 = v15.first._M_ht;
- v21 = v15.second;
- v7 = __OFSUB__(this->m_nRecordsNum, i);
- v5 = this->m_nRecordsNum == i;
- v6 = this->m_nRecordsNum - i < 0;
- v16 = v15.first._M_cur;
- v19 = v15.first._M_cur;
- }
- while ( !((unsigned __int8)(v6 ^ v7) | v5) );
- }
- }
- }
- //----- (080A97C4) --------------------------------------------------------
- int __cdecl DBC::DBCFile::_ConvertStringToVector(const char *strStringSource, std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > *const vRet, const char *szKey, bool bOneOfKey, bool bIgnoreEmpty)
- {
- int v5; // ecx
- bool v6; // dl
- char *v7; // edi
- int result; // eax
- unsigned int v9; // eax
- unsigned int v10; // esi
- char *v11; // eax
- unsigned int v12; // eax
- signed int v13; // ecx
- const char *v14; // edi
- bool v15; // zf
- int v16; // edi
- string *v17; // eax
- char *v18; // ebx
- int v19; // esi
- int v20; // ebx
- unsigned int nLeft; // [esp+8h] [ebp-70h]
- int v22; // [esp+10h] [ebp-68h]
- string strItem; // [esp+20h] [ebp-58h]
- char v24; // [esp+30h] [ebp-48h]
- string strSrc; // [esp+40h] [ebp-38h]
- __gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > v26; // [esp+5Ch] [ebp-1Ch]
- std::vector<std::string,std::allocator<std::string>>::erase(
- &v26,
- vRet,
- (__gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > >)vRet->_M_impl._M_start,
- (__gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > >)vRet->_M_impl._M_finish);
- std::string::string(&strSrc, strStringSource, &v24);
- v5 = *((_DWORD *)strSrc._M_dataplus._M_p - 3);
- v6 = v5 == 0;
- v7 = strSrc._M_dataplus._M_p - 12;
- if ( v5 )
- {
- nLeft = 0;
- if ( bOneOfKey )
- {
- v13 = -1;
- v14 = szKey;
- do
- {
- if ( !v13 )
- break;
- v15 = *v14++ == v6;
- --v13;
- }
- while ( !v15 );
- v9 = std::string::find_first_of((std::string *)&strSrc, szKey, 0, ~v13 - 1);
- }
- else
- {
- v9 = std::string::find((std::string *)&strSrc, szKey, 0, strlen(szKey));
- }
- v10 = v9;
- if ( v9 == -1 )
- {
- v11 = strSrc._M_dataplus._M_p;
- v10 = *((_DWORD *)strSrc._M_dataplus._M_p - 3);
- }
- else
- {
- v11 = strSrc._M_dataplus._M_p;
- }
- strItem._M_dataplus._M_p = (char *)&unk_810FC6C;
- while ( 1 )
- {
- if ( v10 > nLeft || !bIgnoreEmpty )
- {
- if ( *((_DWORD *)v11 - 3) < nLeft )
- std::__throw_out_of_range("basic_string::substr");
- std::string::string((std::string *)&v22, (const std::string *)&strSrc, nLeft, v10 - nLeft);
- std::string::assign((std::string *)&strItem, (const std::string *)&v22);
- v16 = v22 - 12;
- if ( &std::string::_Rep::_S_empty_rep_storage != (_UNKNOWN *)(v22 - 12)
- && __gnu_cxx::__exchange_and_add((volatile int *)(v22 - 4), -1) <= 0 )
- {
- std::string::_Rep::_M_destroy(v16, &v24);
- }
- v17 = vRet->_M_impl._M_finish;
- if ( v17 == vRet->_M_impl._M_end_of_storage )
- {
- std::vector<std::string,std::allocator<std::string>>::_M_insert_aux(
- vRet,
- (__gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > >)v17,
- &strItem);
- v11 = strSrc._M_dataplus._M_p;
- }
- else
- {
- if ( v17 )
- {
- std::string::string((std::string *)v17, (const std::string *)&strItem);
- v17 = vRet->_M_impl._M_finish;
- }
- vRet->_M_impl._M_finish = v17 + 1;
- v11 = strSrc._M_dataplus._M_p;
- }
- }
- if ( *((_DWORD *)v11 - 3) == v10 )
- break;
- if ( bOneOfKey )
- {
- nLeft = v10 + 1;
- v12 = std::string::find_first_of((std::string *)&strSrc, szKey, v10 + 1, strlen(szKey));
- }
- else
- {
- nLeft = strlen(szKey) + v10;
- v12 = std::string::find((std::string *)&strSrc, szKey, nLeft, strlen(szKey));
- }
- v10 = v12;
- if ( v12 == -1 )
- {
- v11 = strSrc._M_dataplus._M_p;
- v10 = *((_DWORD *)strSrc._M_dataplus._M_p - 3);
- }
- else
- {
- v11 = strSrc._M_dataplus._M_p;
- }
- }
- v18 = strItem._M_dataplus._M_p - 12;
- v19 = (_DWORD)((char *)vRet->_M_impl._M_finish - (char *)vRet->_M_impl._M_start) >> 2;
- if ( &std::string::_Rep::_S_empty_rep_storage != (_UNKNOWN *)(strItem._M_dataplus._M_p - 12) )
- {
- if ( __gnu_cxx::__exchange_and_add((volatile int *)strItem._M_dataplus._M_p - 1, -1) <= 0 )
- std::string::_Rep::_M_destroy(v18, &v24);
- v11 = strSrc._M_dataplus._M_p;
- }
- v20 = (int)(v11 - 12);
- if ( &std::string::_Rep::_S_empty_rep_storage == (_UNKNOWN *)(v11 - 12)
- || __gnu_cxx::__exchange_and_add((volatile int *)v11 - 1, -1) > 0 )
- {
- result = v19;
- }
- else
- {
- std::string::_Rep::_M_destroy(v20, &v24);
- result = v19;
- }
- }
- else
- {
- if ( v7 != (char *)&std::string::_Rep::_S_empty_rep_storage
- && __gnu_cxx::__exchange_and_add((volatile int *)strSrc._M_dataplus._M_p - 1, -1) <= 0 )
- {
- std::string::_Rep::_M_destroy(v7, &v24);
- }
- result = 0;
- }
- return result;
- }
- // 8049E18: using guessed type int __cdecl std::string::_Rep::_M_destroy(_DWORD, _DWORD);
- // 8049EC8: using guessed type int __cdecl std::string::string(_DWORD, _DWORD, _DWORD);
- //----- (080A9BA4) --------------------------------------------------------
- bool __cdecl DBC::DBCFile::OpenFromMemoryImpl_Text(DBC::DBCFile *const this, const char *pMemory, const char *pDeadEnd, const char *szFileName, int nColumToRead)
- {
- const char *v5; // esi
- string *v6; // edi
- bool v7; // zf
- string *v8; // ebx
- DBC::DBCFile::FIELD_TYPE *i; // eax
- string *v10; // esi
- string *j; // ebx
- int v13; // edi
- int v14; // ebx
- const char *v15; // esi
- string *v16; // eax
- int v17; // edx
- int v18; // ebx
- int v19; // edi
- int v20; // ebx
- DBC::DBCFile::FIELD_TYPE v21; // eax
- DBC::DBCFile::FIELD *v22; // edx
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v23; // edi
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v24; // ebx
- char *v25; // esi
- int v26; // eax
- int v27; // ecx
- DBC::DBCFile::FIELD *v28; // eax
- char *v29; // eax
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v30; // edi
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v31; // ebx
- char *v32; // esi
- char *v33; // esi
- int m; // edi
- char *v35; // esi
- int v36; // esi
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v37; // ebx
- char *v38; // ebx
- int v39; // ebx
- char *v40; // ebx
- char *v41; // ebx
- int v42; // ebx
- int v43; // ecx
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v44; // edi
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v45; // ebx
- char *v46; // esi
- DBC::DBCFile::FIELD_TYPE *n; // eax
- string *v48; // esi
- string *ii; // ebx
- DBC::DBCFile::FIELD_TYPE *jj; // eax
- string *v51; // esi
- string *kk; // ebx
- DBC::DBCFile::FIELD_TYPE *k; // eax
- string *v54; // esi
- string *l; // ebx
- int v56; // [esp+20h] [ebp-168h]
- int nStringBufSize; // [esp+24h] [ebp-164h]
- int nFieldsNum; // [esp+28h] [ebp-160h]
- int nRecordsNum; // [esp+2Ch] [ebp-15Ch]
- char *strStringSource; // [esp+30h] [ebp-158h]
- std::pair<std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,bool> v61; // [esp+38h] [ebp-150h]
- std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > v62; // [esp+40h] [ebp-148h]
- DBC::DBCFile::FIELD newField; // [esp+44h] [ebp-144h]
- DBC::DBCFile::FIELD_TYPE v64; // [esp+48h] [ebp-140h]
- char __x; // [esp+4Fh] [ebp-139h]
- std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> __v; // [esp+50h] [ebp-138h]
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> v67; // [esp+60h] [ebp-128h]
- string v68; // [esp+80h] [ebp-108h]
- std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > mapStringBuf; // [esp+B0h] [ebp-D8h]
- std::vector<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > vStringBuf; // [esp+E0h] [ebp-A8h]
- std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > vFieldsType; // [esp+110h] [ebp-78h]
- std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > vRet; // [esp+130h] [ebp-58h]
- char v73; // [esp+150h] [ebp-38h]
- std::vector<char,std::allocator<char> > vLineBuf; // [esp+160h] [ebp-28h]
- vLineBuf._M_impl._M_start = 0;
- vLineBuf._M_impl._M_finish = 0;
- vLineBuf._M_impl._M_end_of_storage = 0;
- __x = 0;
- std::vector<char,std::allocator<char>>::_M_fill_insert(&vLineBuf, 0, 0x10000u, &__x);
- strStringSource = vLineBuf._M_impl._M_start;
- v5 = DBC::DBCFile::_GetLineFromMemory(vLineBuf._M_impl._M_start, 0x10000, pMemory, pDeadEnd);
- if ( !v5 )
- goto LABEL_17;
- vRet._M_impl._M_start = 0;
- vRet._M_impl._M_finish = 0;
- vRet._M_impl._M_end_of_storage = 0;
- DBC::DBCFile::_ConvertStringToVector(strStringSource, &vRet, "\t", 1, 1);
- v6 = vRet._M_impl._M_finish;
- v7 = vRet._M_impl._M_start == vRet._M_impl._M_finish;
- if ( vRet._M_impl._M_start == vRet._M_impl._M_finish )
- {
- v8 = vRet._M_impl._M_start;
- while ( !v7 )
- {
- std::string::~string((std::string *)v8);
- ++v8;
- v7 = v8 == v6;
- }
- goto LABEL_15;
- }
- nFieldsNum = (_DWORD)((char *)vRet._M_impl._M_finish - (char *)vRet._M_impl._M_start) >> 2;
- nRecordsNum = 0;
- if ( nColumToRead > 0 && nFieldsNum > nColumToRead )
- nFieldsNum = nColumToRead;
- vFieldsType._M_impl._M_start = 0;
- vFieldsType._M_impl._M_finish = 0;
- vFieldsType._M_impl._M_end_of_storage = 0;
- v64 = 0;
- std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>::_M_fill_insert(
- &vFieldsType,
- 0,
- nFieldsNum,
- &v64);
- v13 = 0;
- while ( 1 )
- {
- while ( 1 )
- {
- if ( v13 >= nFieldsNum )
- {
- LABEL_28:
- vStringBuf._M_impl._M_start = 0;
- vStringBuf._M_impl._M_finish = 0;
- vStringBuf._M_impl._M_end_of_storage = 0;
- mapStringBuf._M_t._M_impl._M_node_count = 0;
- mapStringBuf._M_t._M_impl._M_header._M_color = 0;
- mapStringBuf._M_t._M_impl._M_header._M_parent = 0;
- mapStringBuf._M_t._M_impl._M_header._M_left = &mapStringBuf._M_t._M_impl._M_header;
- mapStringBuf._M_t._M_impl._M_header._M_right = &mapStringBuf._M_t._M_impl._M_header;
- v15 = DBC::DBCFile::_GetLineFromMemory(strStringSource, 0x10000, v5, pDeadEnd);
- nStringBufSize = 0;
- if ( !v15 )
- {
- std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::_M_erase(
- &mapStringBuf._M_t,
- (std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *)mapStringBuf._M_t._M_impl._M_header._M_parent);
- v23 = vStringBuf._M_impl._M_finish;
- v24 = vStringBuf._M_impl._M_start;
- while ( v24 != v23 )
- {
- v25 = v24->first._M_dataplus._M_p - 12;
- if ( v25 == (char *)&std::string::_Rep::_S_empty_rep_storage
- || __gnu_cxx::__exchange_and_add((volatile int *)v24->first._M_dataplus._M_p - 1, -1) > 0 )
- {
- ++v24;
- }
- else
- {
- std::string::_Rep::_M_destroy(v25, &v73);
- ++v24;
- }
- }
- if ( vStringBuf._M_impl._M_start )
- operator delete((IPRegionTable *const )vStringBuf._M_impl._M_start);
- for ( i = vFieldsType._M_impl._M_start; i != vFieldsType._M_impl._M_finish; ++i )
- ;
- if ( vFieldsType._M_impl._M_start )
- operator delete((IPRegionTable *const )vFieldsType._M_impl._M_start);
- v10 = vRet._M_impl._M_finish;
- for ( j = vRet._M_impl._M_start; j != v10; ++j )
- std::string::~string((std::string *)j);
- goto LABEL_15;
- }
- while ( 1 )
- {
- while ( 1 )
- {
- v15 = DBC::DBCFile::_GetLineFromMemory(strStringSource, 0x10000, v15, pDeadEnd);
- if ( !v15 )
- {
- this->m_nRecordsNum = nRecordsNum;
- this->m_nFieldsNum = nFieldsNum;
- this->m_nStringBufSize = nStringBufSize + 1;
- v29 = (char *)operator new[](nStringBufSize + 1);
- this->m_pStringBuf = v29;
- if ( !v29 )
- {
- std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::_M_erase(
- &mapStringBuf._M_t,
- (std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *)mapStringBuf._M_t._M_impl._M_header._M_parent);
- v30 = vStringBuf._M_impl._M_finish;
- v31 = vStringBuf._M_impl._M_start;
- while ( v31 != v30 )
- {
- v32 = v31->first._M_dataplus._M_p - 12;
- if ( v32 == (char *)&std::string::_Rep::_S_empty_rep_storage
- || __gnu_cxx::__exchange_and_add((volatile int *)v31->first._M_dataplus._M_p - 1, -1) > 0 )
- {
- ++v31;
- }
- else
- {
- std::string::_Rep::_M_destroy(v32, &v73);
- ++v31;
- }
- }
- if ( vStringBuf._M_impl._M_start )
- operator delete((IPRegionTable *const )vStringBuf._M_impl._M_start);
- for ( k = vFieldsType._M_impl._M_start; k != vFieldsType._M_impl._M_finish; ++k )
- ;
- if ( vFieldsType._M_impl._M_start )
- operator delete((IPRegionTable *const )vFieldsType._M_impl._M_start);
- v54 = vRet._M_impl._M_finish;
- for ( l = vRet._M_impl._M_start; l != v54; ++l )
- std::string::~string((std::string *)l);
- goto LABEL_15;
- }
- std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>::operator=(
- &this->m_theType,
- &vFieldsType);
- *this->m_pStringBuf = 0;
- v33 = this->m_pStringBuf + 1;
- for ( m = 0;
- (_DWORD)((char *)vStringBuf._M_impl._M_finish - (char *)vStringBuf._M_impl._M_start) >> 3 > m;
- ++m )
- {
- memcpy(
- v33,
- vStringBuf._M_impl._M_start[m].first._M_dataplus._M_p,
- *((_DWORD *)vStringBuf._M_impl._M_start[m].first._M_dataplus._M_p - 3));
- v35 = &v33[*((_DWORD *)vStringBuf._M_impl._M_start[m].first._M_dataplus._M_p - 3)];
- *v35 = 0;
- v33 = v35 + 1;
- }
- v36 = 0;
- while ( v36 < nFieldsNum )
- {
- if ( vFieldsType._M_impl._M_start[v36] != 2 || (v42 = 0, nRecordsNum <= 0) )
- {
- ++v36;
- }
- else
- {
- v43 = v36;
- do
- {
- this->m_vDataBuf._M_impl._M_start[v43].iValue += (int)this->m_pStringBuf;
- ++v42;
- v43 += nFieldsNum;
- }
- while ( v42 < nRecordsNum );
- ++v36;
- }
- }
- DBC::DBCFile::CreateIndex(this, 0, szFileName);
- std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::_M_erase(
- &mapStringBuf._M_t,
- (std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *)mapStringBuf._M_t._M_impl._M_header._M_parent);
- v44 = vStringBuf._M_impl._M_finish;
- v45 = vStringBuf._M_impl._M_start;
- while ( v45 != v44 )
- {
- v46 = v45->first._M_dataplus._M_p - 12;
- if ( v46 == (char *)&std::string::_Rep::_S_empty_rep_storage
- || __gnu_cxx::__exchange_and_add((volatile int *)v45->first._M_dataplus._M_p - 1, -1) > 0 )
- {
- ++v45;
- }
- else
- {
- std::string::_Rep::_M_destroy(v46, &v73);
- ++v45;
- }
- }
- if ( vStringBuf._M_impl._M_start )
- operator delete((IPRegionTable *const )vStringBuf._M_impl._M_start);
- for ( n = vFieldsType._M_impl._M_start; n != vFieldsType._M_impl._M_finish; ++n )
- ;
- if ( vFieldsType._M_impl._M_start )
- operator delete((IPRegionTable *const )vFieldsType._M_impl._M_start);
- v48 = vRet._M_impl._M_finish;
- for ( ii = vRet._M_impl._M_start; ii != v48; ++ii )
- std::string::~string((std::string *)ii);
- if ( vRet._M_impl._M_start )
- operator delete((IPRegionTable *const )vRet._M_impl._M_start);
- if ( vLineBuf._M_impl._M_start )
- operator delete((IPRegionTable *const )vLineBuf._M_impl._M_start);
- return 1;
- }
- if ( *strStringSource != 35 )
- {
- DBC::DBCFile::_ConvertStringToVector(strStringSource, &vRet, "\t", 1, 0);
- v16 = vRet._M_impl._M_start;
- if ( vRet._M_impl._M_start != vRet._M_impl._M_finish )
- {
- v17 = (_DWORD)((char *)vRet._M_impl._M_finish - (char *)vRet._M_impl._M_start) >> 2;
- if ( v17 != nFieldsNum && v17 < nFieldsNum )
- {
- v18 = nFieldsNum - v17;
- v19 = 0;
- if ( nFieldsNum - v17 > 0 )
- {
- do
- {
- std::string::string(&v68, 135155723, &v73);
- if ( vRet._M_impl._M_finish == vRet._M_impl._M_end_of_storage )
- {
- std::vector<std::string,std::allocator<std::string>>::_M_insert_aux(
- &vRet,
- (__gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > >)vRet._M_impl._M_finish,
- &v68);
- }
- else
- {
- if ( vRet._M_impl._M_finish )
- std::string::string((std::string *)vRet._M_impl._M_finish, (const std::string *)&v68);
- ++vRet._M_impl._M_finish;
- }
- std::string::~string((std::string *)&v68);
- ++v19;
- }
- while ( v19 < v18 );
- v16 = vRet._M_impl._M_start;
- }
- }
- if ( *((_DWORD *)v16->_M_dataplus._M_p - 3) )
- break;
- }
- }
- }
- v56 = 0;
- if ( nFieldsNum > 0 )
- break;
- LABEL_47:
- ++nRecordsNum;
- }
- while ( 1 )
- {
- v20 = v56;
- v21 = vFieldsType._M_impl._M_start[v56];
- if ( v21 == 1 )
- break;
- if ( (signed int)v21 <= 1 )
- {
- if ( v21 == T_INT )
- {
- v26 = __strtol_internal(vRet._M_impl._M_start[v20]._M_dataplus._M_p, 0, 10, 0);
- v27 = v26;
- SLODWORD(newField.fValue) = v26;
- v28 = this->m_vDataBuf._M_impl._M_finish;
- if ( v28 == this->m_vDataBuf._M_impl._M_end_of_storage )
- {
- std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>::_M_insert_aux(
- &this->m_vDataBuf,
- (__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > >)this->m_vDataBuf._M_impl._M_finish,
- &newField);
- }
- else
- {
- if ( v28 )
- v28->iValue = v27;
- this->m_vDataBuf._M_impl._M_finish = v28 + 1;
- }
- }
- goto LABEL_46;
- }
- if ( v21 == 2 )
- {
- if ( *((_DWORD *)vRet._M_impl._M_start[v20]._M_dataplus._M_p - 3) )
- {
- std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::find(
- &v62,
- &mapStringBuf._M_t,
- &vRet._M_impl._M_start[v20]);
- if ( v62._M_node == &mapStringBuf._M_t._M_impl._M_header )
- {
- std::string::string((std::string *)&v68, (const std::string *)&vRet._M_impl._M_start[v20]);
- std::string::string((std::string *)&v67, (const std::string *)&v68);
- v37 = vStringBuf._M_impl._M_finish;
- v67.second = nStringBufSize;
- if ( vStringBuf._M_impl._M_finish == vStringBuf._M_impl._M_end_of_storage )
- {
- std::vector<std::pair<std::string,int>,std::allocator<std::pair<std::string,int>>>::_M_insert_aux(
- &vStringBuf,
- (__gnu_cxx::__normal_iterator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>*,std::vector<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > >)vStringBuf._M_impl._M_finish,
- &v67);
- }
- else
- {
- if ( vStringBuf._M_impl._M_finish )
- {
- std::string::string((std::string *)vStringBuf._M_impl._M_finish, (const std::string *)&v67);
- v37->second = v67.second;
- }
- ++vStringBuf._M_impl._M_finish;
- }
- v38 = v67.first._M_dataplus._M_p - 12;
- if ( &std::string::_Rep::_S_empty_rep_storage != (_UNKNOWN *)(v67.first._M_dataplus._M_p - 12)
- && __gnu_cxx::__exchange_and_add((volatile int *)v67.first._M_dataplus._M_p - 1, -1) <= 0 )
- {
- std::string::_Rep::_M_destroy(v38, &v73);
- }
- std::string::~string((std::string *)&v68);
- std::string::string((std::string *)&v68, (const std::string *)&vRet._M_impl._M_start[v56]);
- v39 = ((_DWORD)((char *)vStringBuf._M_impl._M_finish - (char *)vStringBuf._M_impl._M_start) >> 3) - 1;
- std::string::string((std::string *)&v67, (const std::string *)&v68);
- v67.second = v39;
- std::string::string((std::string *)&__v, (const std::string *)&v67);
- __v.second = v67.second;
- std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::insert_unique(
- &v61,
- &mapStringBuf._M_t,
- &__v);
- v40 = __v.first._M_dataplus._M_p - 12;
- if ( &std::string::_Rep::_S_empty_rep_storage != (_UNKNOWN *)(__v.first._M_dataplus._M_p - 12)
- && __gnu_cxx::__exchange_and_add((volatile int *)__v.first._M_dataplus._M_p - 1, -1) <= 0 )
- {
- std::string::_Rep::_M_destroy(v40, &v73);
- }
- v41 = v67.first._M_dataplus._M_p - 12;
- if ( &std::string::_Rep::_S_empty_rep_storage != (_UNKNOWN *)(v67.first._M_dataplus._M_p - 12)
- && __gnu_cxx::__exchange_and_add((volatile int *)v67.first._M_dataplus._M_p - 1, -1) <= 0 )
- {
- std::string::_Rep::_M_destroy(v41, &v73);
- }
- std::string::~string((std::string *)&v68);
- newField.iValue = nStringBufSize + 1;
- nStringBufSize += strlen(vRet._M_impl._M_start[v56]._M_dataplus._M_p) + 1;
- }
- else
- {
- newField.iValue = vStringBuf._M_impl._M_start[(_DWORD)v62._M_node[1]._M_parent].second + 1;
- }
- }
- else
- {
- newField.fValue = 0.0;
- }
- goto LABEL_52;
- }
- LABEL_46:
- if ( ++v56 >= nFieldsNum )
- goto LABEL_47;
- }
- newField.fValue = __strtod_internal(vRet._M_impl._M_start[v20]._M_dataplus._M_p, 0, 0);
- LABEL_52:
- v22 = this->m_vDataBuf._M_impl._M_finish;
- if ( v22 == this->m_vDataBuf._M_impl._M_end_of_storage )
- {
- std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>::_M_insert_aux(
- &this->m_vDataBuf,
- (__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > >)this->m_vDataBuf._M_impl._M_finish,
- &newField);
- }
- else
- {
- if ( v22 )
- LODWORD(v22->fValue) = newField;
- this->m_vDataBuf._M_impl._M_finish = v22 + 1;
- }
- goto LABEL_46;
- }
- while ( 1 )
- {
- v14 = v13;
- if ( std::string::compare((std::string *)&vRet._M_impl._M_start[v13], "INT") )
- break;
- ++v13;
- vFieldsType._M_impl._M_start[v14] = 0;
- if ( v13 >= nFieldsNum )
- goto LABEL_28;
- }
- if ( std::string::compare((std::string *)&vRet._M_impl._M_start[v14], "FLOAT") )
- break;
- ++v13;
- vFieldsType._M_impl._M_start[v14] = 1;
- }
- if ( std::string::compare((std::string *)&vRet._M_impl._M_start[v14], "STRING") )
- break;
- ++v13;
- vFieldsType._M_impl._M_start[v14] = 2;
- }
- for ( jj = vFieldsType._M_impl._M_start; jj != vFieldsType._M_impl._M_finish; ++jj )
- ;
- if ( vFieldsType._M_impl._M_start )
- operator delete((IPRegionTable *const )vFieldsType._M_impl._M_start);
- v51 = vRet._M_impl._M_finish;
- for ( kk = vRet._M_impl._M_start; kk != v51; ++kk )
- std::string::~string((std::string *)kk);
- LABEL_15:
- if ( vRet._M_impl._M_start )
- operator delete((IPRegionTable *const )vRet._M_impl._M_start);
- LABEL_17:
- if ( vLineBuf._M_impl._M_start )
- operator delete((IPRegionTable *const )vLineBuf._M_impl._M_start);
- return 0;
- }
- // 8049E18: using guessed type int __cdecl std::string::_Rep::_M_destroy(_DWORD, _DWORD);
- // 8049EC8: using guessed type int __cdecl std::string::string(_DWORD, _DWORD, _DWORD);
- //----- (080AA8F4) --------------------------------------------------------
- void __usercall sub_80AA8F4(int a1@<eax>, int a2@<ebx>, int a3@<ebp>)
- {
- JUMPOUT(__gnu_cxx::__exchange_and_add((volatile int *)(a1 - 4), -1), 0, &loc_80AA87B);
- std::string::_Rep::_M_destroy(a2, a3 - 56);
- JUMPOUT(&loc_80AA87B);
- }
- // 8049E18: using guessed type int __cdecl std::string::_Rep::_M_destroy(_DWORD, _DWORD);
- //----- (080AA924) --------------------------------------------------------
- bool __cdecl DBC::DBCFile::OpenFromMemoryImpl_Binary(DBC::DBCFile *const this, const char *pMemory, const char *pDeadEnd, const char *szFileName, int nColumToRead)
- {
- int v5; // edx
- int v6; // ecx
- int v7; // ebx
- const char *v9; // edi
- int v10; // eax
- int v11; // edx
- char *v12; // eax
- int v13; // edx
- std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > *v14; // esi
- const char *v15; // edi
- unsigned int v16; // ecx
- DBC::DBCFile::FIELD_TYPE *v17; // ebx
- unsigned int v18; // eax
- int v19; // edx
- int v20; // esi
- int v21; // ebx
- DBC::DBCFile::FIELD_TYPE *v22; // eax
- unsigned int v23; // ecx
- DBC::DBCFile::FIELD *v24; // eax
- unsigned int v25; // edx
- int i; // ebx
- int v27; // edx
- int v28; // ebx
- bool v29; // zf
- bool v30; // sf
- unsigned __int8 v31; // of
- int v32; // ecx
- DBC::DBCFile::FIELD *v33; // eax
- DBC::DBCFile::FIELD_TYPE v34; // [esp+Ch] [ebp-8Ch]
- unsigned int *v35; // [esp+2Ch] [ebp-6Ch]
- bool v36; // [esp+34h] [ebp-64h]
- DBC::DBCFile::FIELD v37; // [esp+38h] [ebp-60h]
- DBC::DBCFile::FIELD_TYPE v38; // [esp+3Ch] [ebp-5Ch]
- unsigned int __x; // [esp+40h] [ebp-58h]
- __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > v40; // [esp+44h] [ebp-54h]
- __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > v41; // [esp+48h] [ebp-50h]
- std::vector<unsigned int,std::allocator<unsigned int> > vFieldType; // [esp+60h] [ebp-38h]
- DBC::DBCFile::FILE_HEAD theHead; // [esp+70h] [ebp-28h]
- theHead.m_Identify = *(_DWORD *)pMemory;
- v5 = *((_DWORD *)pMemory + 1);
- theHead.m_nFieldsNum = *((_DWORD *)pMemory + 1);
- v6 = *((_DWORD *)pMemory + 2);
- theHead.m_nRecordsNum = *((_DWORD *)pMemory + 2);
- v7 = *((_DWORD *)pMemory + 3);
- theHead.m_nStringBlockSize = *((_DWORD *)pMemory + 3);
- v36 = 0;
- if ( theHead.m_Identify == -574895104 && v7 + 4 * (v5 + v5 * v6) + 16 <= (unsigned int)(pDeadEnd - pMemory) )
- {
- this->m_nRecordsNum = v6;
- v9 = pMemory + 16;
- v10 = theHead.m_nStringBlockSize;
- v11 = theHead.m_nFieldsNum;
- this->m_nStringBufSize = theHead.m_nStringBlockSize;
- if ( nColumToRead <= 0 )
- {
- this->m_nFieldsNum = v11;
- }
- else if ( v11 <= nColumToRead )
- {
- this->m_nFieldsNum = v11;
- }
- else
- {
- this->m_nFieldsNum = nColumToRead;
- v10 = theHead.m_nStringBlockSize;
- }
- v12 = (char *)operator new[](v10);
- this->m_pStringBuf = v12;
- v36 = 0;
- if ( v12 )
- {
- v13 = this->m_nFieldsNum;
- vFieldType._M_impl._M_start = 0;
- vFieldType._M_impl._M_finish = 0;
- vFieldType._M_impl._M_end_of_storage = 0;
- __x = 0;
- std::vector<unsigned int,std::allocator<unsigned int>>::_M_fill_insert(&vFieldType, 0, v13, &__x);
- memcpy(vFieldType._M_impl._M_start, v9, 4 * this->m_nFieldsNum);
- v14 = &this->m_theType;
- v15 = &v9[4 * theHead.m_nFieldsNum];
- v16 = this->m_nFieldsNum;
- v17 = this->m_theType._M_impl._M_start;
- v18 = (_DWORD)((char *)this->m_theType._M_impl._M_finish - (char *)v17) >> 2;
- v38 = 0;
- if ( v18 <= v16 )
- std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>::_M_fill_insert(
- v14,
- (__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > >)this->m_theType._M_impl._M_finish,
- v16 - v18,
- &v38);
- else
- std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>::erase(
- &v41,
- v14,
- (__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > >)&v17[v16],
- (__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > >)this->m_theType._M_impl._M_finish);
- v19 = this->m_nFieldsNum;
- v20 = 0;
- if ( v19 <= 0 )
- {
- LABEL_14:
- v23 = v19 * theHead.m_nRecordsNum;
- v24 = this->m_vDataBuf._M_impl._M_start;
- v25 = (_DWORD)((char *)this->m_vDataBuf._M_impl._M_finish - (char *)v24) >> 2;
- if ( v25 <= v23 )
- std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>::_M_fill_insert(
- &this->m_vDataBuf,
- (__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > >)this->m_vDataBuf._M_impl._M_finish,
- v23 - v25,
- &v37);
- else
- std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>::erase(
- &v40,
- &this->m_vDataBuf,
- (__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > >)&v24[v23],
- (__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > >)this->m_vDataBuf._M_impl._M_finish);
- for ( i = 0; this->m_nRecordsNum > i; v15 += 4 * theHead.m_nFieldsNum )
- memcpy(&this->m_vDataBuf._M_impl._M_start[i++ * this->m_nFieldsNum], v15, 4 * this->m_nFieldsNum);
- memcpy(this->m_pStringBuf, v15, this->m_nStringBufSize);
- this->m_pStringBuf[this->m_nStringBufSize - 1] = 0;
- v27 = this->m_nFieldsNum;
- v28 = 0;
- v31 = 0;
- v29 = v27 == 0;
- v30 = v27 < 0;
- while ( !((unsigned __int8)(v30 ^ v31) | v29) )
- {
- if ( vFieldType._M_impl._M_start[v28] == 2 && (v32 = 0, this->m_nRecordsNum > 0) )
- {
- while ( 1 )
- {
- v33 = &this->m_vDataBuf._M_impl._M_start[v32 * v27 + v28];
- v33->iValue += (int)this->m_pStringBuf;
- if ( this->m_nRecordsNum <= ++v32 )
- break;
- v27 = this->m_nFieldsNum;
- }
- v27 = this->m_nFieldsNum;
- v31 = __OFSUB__(v27, ++v28);
- v29 = v27 == v28;
- v30 = v27 - v28 < 0;
- }
- else
- {
- v31 = __OFSUB__(v27, ++v28);
- v29 = v27 == v28;
- v30 = v27 - v28 < 0;
- }
- }
- DBC::DBCFile::CreateIndex(this, 0, szFileName);
- if ( vFieldType._M_impl._M_start )
- operator delete((IPRegionTable *const )vFieldType._M_impl._M_start);
- v36 = 1;
- }
- else
- {
- v35 = vFieldType._M_impl._M_start;
- v21 = 0;
- while ( 1 )
- {
- v34 = v35[v21];
- if ( v35[v21] > 2 )
- break;
- ++v20;
- v22 = &this->m_theType._M_impl._M_start[v21];
- ++v21;
- *v22 = v34;
- if ( v19 <= v20 )
- goto LABEL_14;
- }
- if ( this->m_pStringBuf )
- {
- operator delete[](this->m_pStringBuf);
- v35 = vFieldType._M_impl._M_start;
- }
- if ( v35 )
- operator delete((IPRegionTable *const )v35);
- v36 = 0;
- }
- }
- }
- return v36;
- }
- //----- (080AAC64) --------------------------------------------------------
- bool __cdecl DBC::DBCFile::OpenFromMemory(DBC::DBCFile *const this, const char *pMemory, const char *pDeadEnd, const char *szFileName, int nColumToRead)
- {
- bool result; // al
- bool v6; // al
- bool v7; // bl
- int v8; // edx
- int v9; // [esp+8h] [ebp-20h]
- char *deencryptMem; // [esp+Ch] [ebp-1Ch]
- unsigned int memorySize; // [esp+10h] [ebp-18h]
- const char *memory; // [esp+14h] [ebp-14h]
- int outSize; // [esp+18h] [ebp-10h]
- if ( !pMemory || !pDeadEnd )
- __assert_fail(
- "pMemory && pDeadEnd",
- "libDBC.cpp",
- 0x92u,
- "bool DBC::DBCFile::OpenFromMemory(const char*, const char*, const char*, int)");
- if ( !this->m_bNeedDecrypt || !DBC::DBCFile::s_funcIsEncryptMemory || !DBC::DBCFile::s_funcPlatformDecrypMemoryFunc )
- {
- if ( (unsigned int)(pDeadEnd - pMemory) > 0xF && *(_DWORD *)pMemory == -574895104 )
- result = DBC::DBCFile::OpenFromMemoryImpl_Binary(this, pMemory, pDeadEnd, szFileName, nColumToRead);
- else
- result = DBC::DBCFile::OpenFromMemoryImpl_Text(this, pMemory, pDeadEnd, szFileName, nColumToRead);
- return result;
- }
- memorySize = pDeadEnd - pMemory;
- memory = pMemory;
- deencryptMem = 0;
- v9 = pDeadEnd - pMemory - 1;
- if ( !DBC::DBCFile::s_funcIsEncryptMemory(pMemory, v9) )
- goto LABEL_11;
- deencryptMem = (char *)operator new[](memorySize + 32);
- outSize = memorySize + 32;
- if ( DBC::DBCFile::s_funcPlatformDecrypMemoryFunc(this->m_szCharDecrypeKey, pMemory, v9, deencryptMem, &outSize) )
- {
- v8 = outSize;
- memory = deencryptMem;
- deencryptMem[outSize] = 0;
- memorySize = v8 + 1;
- LABEL_11:
- if ( memorySize > 0xF && *(_DWORD *)memory == -574895104 )
- v6 = DBC::DBCFile::OpenFromMemoryImpl_Binary(this, memory, &memory[memorySize], szFileName, nColumToRead);
- else
- v6 = DBC::DBCFile::OpenFromMemoryImpl_Text(this, memory, &memory[memorySize], szFileName, nColumToRead);
- v7 = v6;
- if ( deencryptMem )
- operator delete[](deencryptMem);
- return v7;
- }
- if ( deencryptMem )
- operator delete[](deencryptMem);
- return 0;
- }
- //----- (080AADF8) --------------------------------------------------------
- bool __cdecl DBC::DBCFile::OpenFromTXT(DBC::DBCFile *const this, const char *szFileName, int nColumToRead)
- {
- FILE *v3; // edi
- bool result; // al
- int v5; // ebx
- void *v6; // esi
- bool v7; // bl
- if ( !szFileName )
- __assert_fail("szFileName", "libDBC.cpp", 0x1E0u, "bool DBC::DBCFile::OpenFromTXT(const char*, int)");
- v3 = fopen(szFileName, "rb");
- result = 0;
- if ( v3 )
- {
- fseek(v3, 0, 2);
- v5 = ftell(v3);
- fseek(v3, 0, 0);
- v6 = (void *)operator new[](v5 + 1);
- fread(v6, 1u, v5, v3);
- *((_BYTE *)v6 + v5) = 0;
- fclose(v3);
- v7 = DBC::DBCFile::OpenFromMemory(this, (const char *)v6, (const char *)v6 + v5 + 1, szFileName, nColumToRead);
- if ( v6 )
- operator delete[](v6);
- result = v7;
- }
- return result;
- }
- //----- (080AAEC0) --------------------------------------------------------
- void __cdecl DBC::DBCFile::DBCFile(DBC::DBCFile *const this, unsigned int id, bool needDecrypt, const char *encryptKey)
- {
- std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > *v4; // eax
- std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > *v5; // eax
- std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > *v6; // edx
- const unsigned int *v7; // eax
- size_t v8; // ebx
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v9; // ST04_4
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *__x; // [esp+1Ch] [ebp-60h]
- unsigned int __val; // [esp+20h] [ebp-5Ch]
- v4 = &this->m_vDataBuf;
- v4->_M_impl._M_finish = 0;
- v4->_M_impl._M_end_of_storage = 0;
- v5 = &this->m_hashIndex._M_ht._M_buckets;
- v5->_M_impl._M_finish = 0;
- v5->_M_impl._M_end_of_storage = 0;
- v6 = &this->m_theType;
- this->_vptr_DBCFile = (int (**)(...))&off_80E4DB0;
- this->m_theType._M_impl._M_start = 0;
- v6->_M_impl._M_finish = 0;
- v6->_M_impl._M_end_of_storage = 0;
- this->m_vDataBuf._M_impl._M_start = 0;
- this->m_hashIndex._M_ht._M_buckets._M_impl._M_start = 0;
- this->m_hashIndex._M_ht._M_num_elements = 0;
- __val = 100;
- v7 = std::lower_bound<unsigned long const*,unsigned long>(__gnu_cxx::__stl_prime_list, &_last, &__val);
- if ( v7 == &_last )
- v8 = __gnu_cxx::__stl_prime_list[27];
- else
- v8 = *v7;
- std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>::reserve(
- &this->m_hashIndex._M_ht._M_buckets,
- v8);
- v9 = this->m_hashIndex._M_ht._M_buckets._M_impl._M_finish;
- __x = 0;
- std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>::_M_fill_insert(
- &this->m_hashIndex._M_ht._M_buckets,
- (__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > >)v9,
- v8,
- &__x);
- this->m_hashIndex._M_ht._M_num_elements = 0;
- this->m_szCharDecrypeKey[0] = 0;
- this->m_ID = id;
- this->m_pStringBuf = 0;
- this->m_nIndexColum = -1;
- this->m_nRecordsNum = 0;
- this->m_nFieldsNum = 0;
- this->m_bNeedDecrypt = needDecrypt;
- if ( encryptKey )
- snprintf(this->m_szCharDecrypeKey, 0x20u, "%s", encryptKey);
- }
- // 80E4DB0: using guessed type _DWORD (__cdecl *off_80E4DB0)(DBC::DBCFile *this, int iIndex);
- //----- (080AB058) --------------------------------------------------------
- void __cdecl DBC::DBCFile::DBCFile(DBC::DBCFile *const this, unsigned int id, bool needDecrypt, const char *encryptKey)
- {
- std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > *v4; // eax
- std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > *v5; // eax
- std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > *v6; // edx
- const unsigned int *v7; // eax
- size_t v8; // ebx
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v9; // ST04_4
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *__x; // [esp+1Ch] [ebp-60h]
- unsigned int __val; // [esp+20h] [ebp-5Ch]
- v4 = &this->m_vDataBuf;
- v4->_M_impl._M_finish = 0;
- v4->_M_impl._M_end_of_storage = 0;
- v5 = &this->m_hashIndex._M_ht._M_buckets;
- v5->_M_impl._M_finish = 0;
- v5->_M_impl._M_end_of_storage = 0;
- v6 = &this->m_theType;
- this->_vptr_DBCFile = (int (**)(...))&off_80E4DB0;
- this->m_theType._M_impl._M_start = 0;
- v6->_M_impl._M_finish = 0;
- v6->_M_impl._M_end_of_storage = 0;
- this->m_vDataBuf._M_impl._M_start = 0;
- this->m_hashIndex._M_ht._M_buckets._M_impl._M_start = 0;
- this->m_hashIndex._M_ht._M_num_elements = 0;
- __val = 100;
- v7 = std::lower_bound<unsigned long const*,unsigned long>(__gnu_cxx::__stl_prime_list, &_last, &__val);
- if ( v7 == &_last )
- v8 = __gnu_cxx::__stl_prime_list[27];
- else
- v8 = *v7;
- std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>::reserve(
- &this->m_hashIndex._M_ht._M_buckets,
- v8);
- v9 = this->m_hashIndex._M_ht._M_buckets._M_impl._M_finish;
- __x = 0;
- std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>::_M_fill_insert(
- &this->m_hashIndex._M_ht._M_buckets,
- (__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > >)v9,
- v8,
- &__x);
- this->m_hashIndex._M_ht._M_num_elements = 0;
- this->m_szCharDecrypeKey[0] = 0;
- this->m_ID = id;
- this->m_pStringBuf = 0;
- this->m_nIndexColum = -1;
- this->m_nRecordsNum = 0;
- this->m_nFieldsNum = 0;
- this->m_bNeedDecrypt = needDecrypt;
- if ( encryptKey )
- snprintf(this->m_szCharDecrypeKey, 0x20u, "%s", encryptKey);
- }
- // 80E4DB0: using guessed type _DWORD (__cdecl *off_80E4DB0)(DBC::DBCFile *this, int iIndex);
- //----- (080AB1F0) --------------------------------------------------------
- void __cdecl _tcf_0_215(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080AB200) --------------------------------------------------------
- void `global constructor keyed to'DBC::DBCFile::s_funcIsEncryptMemory()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_215, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080AB22C) --------------------------------------------------------
- BOOL __cdecl DBC::DBCFile::_FieldEqu<(DBC::DBCFile::FIELD_TYPE)0>(const DBC::DBCFile::FIELD *const a, const DBC::DBCFile::FIELD *const b)
- {
- return a->iValue == b->iValue;
- }
- //----- (080AB244) --------------------------------------------------------
- BOOL __cdecl DBC::DBCFile::_FieldEqu<(DBC::DBCFile::FIELD_TYPE)1>(const DBC::DBCFile::FIELD *const a, const DBC::DBCFile::FIELD *const b)
- {
- __int16 v2; // fps
- long double v3; // fst6
- long double v4; // fst7
- bool v5; // c0
- char v6; // c2
- bool v7; // c3
- v3 = *(float *)&a->iValue;
- v4 = *(float *)&b->iValue;
- v5 = v3 < v4;
- v6 = 0;
- v7 = v3 == v4;
- return (HIBYTE(v2) & 0x45) == 64;
- }
- //----- (080AB268) --------------------------------------------------------
- BOOL __cdecl DBC::DBCFile::_FieldEqu<(DBC::DBCFile::FIELD_TYPE)2>(const DBC::DBCFile::FIELD *const a, const DBC::DBCFile::FIELD *const b)
- {
- return strcmp((const char *)a->iValue, (const char *)b->iValue) == 0;
- }
- //----- (080AB28C) --------------------------------------------------------
- const unsigned int *__cdecl std::lower_bound<unsigned long const*,unsigned long>(const unsigned int *__first, const unsigned int *__last, const unsigned int *const __val)
- {
- const unsigned int *v3; // ebx
- int v4; // edx
- int v5; // eax
- const unsigned int *v6; // ecx
- v3 = __first;
- v4 = __last - __first;
- if ( v4 > 0 )
- {
- do
- {
- while ( 1 )
- {
- v5 = v4 >> 1;
- v6 = &v3[v4 >> 1];
- if ( *v6 >= *__val )
- break;
- v4 = v4 - v5 - 1;
- v3 = v6 + 1;
- if ( v4 <= 0 )
- return v3;
- }
- v4 >>= 1;
- }
- while ( v5 > 0 );
- }
- return v3;
- }
- //----- (080AB2CC) --------------------------------------------------------
- void __cdecl __gnu_cxx::hashtable<std::pair<int const,DBC::DBCFile::FIELD *>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<int const,DBC::DBCFile::FIELD *>>,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD *>>::clear(__gnu_cxx::hashtable<std::pair<const int,DBC::DBCFile::FIELD*>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<const int,DBC::DBCFile::FIELD*> >,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> > *const this)
- {
- unsigned int v1; // esi
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v2; // edx
- IPRegionTable *v3; // eax
- int (**v4)(...); // ebx
- int v5; // eax
- v1 = 0;
- v2 = this->_M_buckets._M_impl._M_start;
- if ( (_DWORD)((char *)this->_M_buckets._M_impl._M_finish - (char *)v2) >> 2 )
- {
- do
- {
- v3 = (IPRegionTable *)v2[v1];
- if ( v3 )
- {
- do
- {
- v4 = v3->_vptr_IPRegionTable;
- operator delete(v3);
- v3 = (IPRegionTable *)v4;
- }
- while ( v4 );
- v2 = this->_M_buckets._M_impl._M_start;
- }
- v5 = (char *)this->_M_buckets._M_impl._M_finish - (char *)v2;
- v2[v1++] = 0;
- }
- while ( v5 >> 2 > v1 );
- }
- this->_M_num_elements = 0;
- }
- //----- (080AB338) --------------------------------------------------------
- void __cdecl std::fill<__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE *,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>>,DBC::DBCFile::FIELD_TYPE>(__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > __first, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > __last, const DBC::DBCFile::FIELD_TYPE *const __value)
- {
- DBC::DBCFile::FIELD_TYPE *v3; // edx
- DBC::DBCFile::FIELD_TYPE *v4; // eax
- if ( __first._M_current != __last._M_current )
- {
- v3 = __first._M_current + 1;
- do
- {
- *(v3 - 1) = *__value;
- v4 = v3;
- ++v3;
- }
- while ( v4 != __last._M_current );
- }
- }
- //----- (080AB360) --------------------------------------------------------
- void __cdecl std::fill<__gnu_cxx::__normal_iterator<char *,std::vector<char,std::allocator<char>>>,char>(__gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > __first, __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > __last, const char *const __value)
- {
- char *i; // edx
- for ( i = __first._M_current; i != __last._M_current; i = __first._M_current )
- {
- *i = *__value;
- ++__first._M_current;
- }
- }
- //----- (080AB384) --------------------------------------------------------
- void __cdecl std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::_M_erase(std::_Rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::_Select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > *const this, std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *__x)
- {
- std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *i; // ebx
- char *v3; // eax
- int v4; // esi
- std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *v5; // edi
- char v6; // [esp+10h] [ebp-28h]
- for ( i = __x; i; i = v5 )
- {
- std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::_M_erase(
- this,
- (std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *)i->_M_right);
- v3 = i->_M_value_field.first._M_dataplus._M_p;
- v4 = (int)(v3 - 12);
- v5 = (std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *)i->_M_left;
- if ( &std::string::_Rep::_S_empty_rep_storage != (_UNKNOWN *)(v3 - 12)
- && __gnu_cxx::__exchange_and_add((volatile int *)v3 - 1, -1) <= 0 )
- {
- std::string::_Rep::_M_destroy(v4, &v6);
- }
- operator delete((IPRegionTable *const )i);
- }
- }
- // 8049E18: using guessed type int __cdecl std::string::_Rep::_M_destroy(_DWORD, _DWORD);
- //----- (080AB408) --------------------------------------------------------
- void __cdecl std::fill<__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD *,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>>,DBC::DBCFile::FIELD>(__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > __first, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > __last, const DBC::DBCFile::FIELD *const __value)
- {
- DBC::DBCFile::FIELD *v3; // edx
- DBC::DBCFile::FIELD *v4; // eax
- if ( __first._M_current != __last._M_current )
- {
- v3 = __first._M_current + 1;
- do
- {
- v3[-1].fValue = __value->fValue;
- v4 = v3;
- ++v3;
- }
- while ( v4 != __last._M_current );
- }
- }
- //----- (080AB430) --------------------------------------------------------
- void __cdecl std::fill<__gnu_cxx::__normal_iterator<unsigned int *,std::vector<unsigned int,std::allocator<unsigned int>>>,unsigned int>(__gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > __first, __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > __last, const unsigned int *const __value)
- {
- unsigned int *v3; // edx
- unsigned int *v4; // eax
- if ( __first._M_current != __last._M_current )
- {
- v3 = __first._M_current + 1;
- do
- {
- *(v3 - 1) = *__value;
- v4 = v3;
- ++v3;
- }
- while ( v4 != __last._M_current );
- }
- }
- //----- (080AB458) --------------------------------------------------------
- DBC::DBCFile::FIELD_TYPE *__cdecl std::__uninitialized_fill_n_aux<DBC::DBCFile::FIELD_TYPE *,unsigned int,DBC::DBCFile::FIELD_TYPE>(DBC::DBCFile::FIELD_TYPE *__first, unsigned int __n, const DBC::DBCFile::FIELD_TYPE *const __x, __false_type a4)
- {
- unsigned int v4; // ecx
- DBC::DBCFile::FIELD_TYPE *i; // edx
- v4 = __n;
- for ( i = __first; v4; --v4 )
- {
- if ( i )
- *i = *__x;
- ++i;
- }
- return i;
- }
- //----- (080AB480) --------------------------------------------------------
- __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > *__userpurge std::__uninitialized_fill_n_aux<__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE *,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>>,unsigned int,DBC::DBCFile::FIELD_TYPE>@<eax>(__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > *retstr, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > __first, unsigned int __n, const DBC::DBCFile::FIELD_TYPE *const __x, __false_type a5)
- {
- unsigned int v5; // ecx
- DBC::DBCFile::FIELD_TYPE *v6; // edx
- DBC::DBCFile::FIELD_TYPE *v7; // eax
- v5 = __n;
- retstr->_M_current = __first._M_current;
- if ( __n )
- {
- v6 = __first._M_current;
- do
- {
- if ( v6 )
- *v6 = *__x;
- v7 = v6 + 1;
- --v5;
- ++v6;
- }
- while ( v5 );
- retstr->_M_current = v7;
- }
- return retstr;
- }
- //----- (080AB4B8) --------------------------------------------------------
- DBC::DBCFile::FIELD *__cdecl std::__uninitialized_fill_n_aux<DBC::DBCFile::FIELD *,unsigned int,DBC::DBCFile::FIELD>(DBC::DBCFile::FIELD *__first, unsigned int __n, const DBC::DBCFile::FIELD *const __x, __false_type a4)
- {
- unsigned int v4; // ecx
- DBC::DBCFile::FIELD *i; // edx
- v4 = __n;
- for ( i = __first; v4; --v4 )
- {
- if ( i )
- i->fValue = __x->fValue;
- ++i;
- }
- return i;
- }
- //----- (080AB4E0) --------------------------------------------------------
- __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > *__userpurge std::__uninitialized_fill_n_aux<__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD *,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>>,unsigned int,DBC::DBCFile::FIELD>@<eax>(__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > *retstr, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > __first, unsigned int __n, const DBC::DBCFile::FIELD *const __x, __false_type a5)
- {
- unsigned int v5; // ecx
- DBC::DBCFile::FIELD *v6; // edx
- DBC::DBCFile::FIELD *v7; // eax
- v5 = __n;
- retstr->_M_current = __first._M_current;
- if ( __n )
- {
- v6 = __first._M_current;
- do
- {
- if ( v6 )
- v6->fValue = __x->fValue;
- v7 = v6 + 1;
- --v5;
- ++v6;
- }
- while ( v5 );
- retstr->_M_current = v7;
- }
- return retstr;
- }
- //----- (080AB518) --------------------------------------------------------
- __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > *__userpurge std::fill_n<__gnu_cxx::__normal_iterator<char *,std::vector<char,std::allocator<char>>>,unsigned int,char>@<eax>(__gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > *retstr, __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > __first, unsigned int __n, const char *const __value)
- {
- unsigned int v4; // edx
- char *v5; // ecx
- bool i; // zf
- v4 = __n;
- v5 = __first._M_current;
- for ( i = __n == 0; !i; i = v4 == 0 )
- {
- *v5++ = *__value;
- --v4;
- }
- retstr->_M_current = v5;
- return retstr;
- }
- //----- (080AB544) --------------------------------------------------------
- std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *__userpurge std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::find@<eax>(std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *retstr, std::_Rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::_Select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > *const this, const string *const __k)
- {
- std::_Rb_tree_node_base *v3; // ebx
- unsigned int v4; // eax
- int *v5; // eax
- _BYTE *v6; // esi
- bool v7; // cf
- bool v8; // zf
- int v9; // ecx
- char *v10; // edi
- int v11; // eax
- unsigned int v12; // eax
- std::_Rb_tree_node_base *v13; // ebx
- int *v14; // eax
- std::_Rb_tree_node_base *v15; // edi
- bool v16; // cf
- bool v17; // zf
- int v18; // ecx
- char *v19; // esi
- int v20; // eax
- std::_Rb_tree_node_base *v21; // edx
- std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *result; // eax
- unsigned int v23; // [esp+4h] [ebp-44h]
- char *v24; // [esp+8h] [ebp-40h]
- char *v25; // [esp+8h] [ebp-40h]
- unsigned int v26; // [esp+1Ch] [ebp-2Ch]
- unsigned int v27; // [esp+20h] [ebp-28h]
- std::_Rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::_Select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > *__y; // [esp+24h] [ebp-24h]
- std::_Rb_tree_node_base *v29; // [esp+2Ch] [ebp-1Ch]
- int v30; // [esp+30h] [ebp-18h]
- unsigned int v31; // [esp+34h] [ebp-14h]
- unsigned int v32; // [esp+38h] [ebp-10h]
- v3 = this->_M_impl._M_header._M_parent;
- __y = (std::_Rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::_Select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > *const )((char *)this + 4);
- if ( v3 )
- {
- v24 = __k->_M_dataplus._M_p;
- v26 = *((_DWORD *)__k->_M_dataplus._M_p - 3);
- do
- {
- while ( 1 )
- {
- v4 = *(_DWORD *)(v3[1]._M_color - 12);
- v27 = v4;
- v31 = v26;
- v7 = v26 < v4;
- v32 = v4;
- v5 = (int *)&v31;
- if ( !v7 )
- v5 = (int *)&v32;
- v6 = (_BYTE *)v3[1]._M_color;
- v7 = 0;
- v8 = 1;
- v9 = *v5;
- v10 = v24;
- do
- {
- if ( !v9 )
- break;
- v7 = *v6 < (unsigned __int8)*v10;
- v8 = *v6++ == *v10++;
- --v9;
- }
- while ( v8 );
- v11 = (char)((!v7 && !v8) - v7);
- if ( (!v7 && !v8) == v7 )
- v11 = v27 - v26;
- if ( v11 < 0 )
- break;
- __y = (std::_Rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::_Select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > *)v3;
- v3 = v3->_M_left;
- if ( !v3 )
- goto LABEL_13;
- }
- v3 = v3->_M_right;
- }
- while ( v3 );
- }
- LABEL_13:
- if ( __y == (std::_Rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::_Select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > *)&this->_M_impl._M_header )
- goto LABEL_26;
- v12 = *((_DWORD *)__k->_M_dataplus._M_p - 3);
- v25 = __k->_M_dataplus._M_p;
- v23 = v12;
- v30 = *((_DWORD *)__k->_M_dataplus._M_p - 3);
- v13 = __y->_M_impl._M_header._M_right[-1]._M_parent;
- v7 = (unsigned int)v13 < v12;
- v29 = __y->_M_impl._M_header._M_right[-1]._M_parent;
- v14 = (int *)&v29;
- if ( !v7 )
- v14 = &v30;
- v15 = __y->_M_impl._M_header._M_right;
- v16 = 0;
- v17 = 1;
- v18 = *v14;
- v19 = v25;
- do
- {
- if ( !v18 )
- break;
- v16 = (unsigned __int8)*v19 < LOBYTE(v15->_M_color);
- v17 = *v19++ == LOBYTE(v15->_M_color);
- v15 = (std::_Rb_tree_node_base *)((char *)v15 + 1);
- --v18;
- }
- while ( v17 );
- v20 = (char)((!v16 && !v17) - v16);
- if ( (!v16 && !v17) == v16 )
- v20 = v23 - (_DWORD)v13;
- v21 = (std::_Rb_tree_node_base *)__y;
- if ( v20 < 0 )
- LABEL_26:
- v21 = &this->_M_impl._M_header;
- result = retstr;
- retstr->_M_node = v21;
- return result;
- }
- //----- (080AB64C) --------------------------------------------------------
- std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *__userpurge std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::_M_insert@<eax>(std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *retstr, std::_Rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::_Select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > *const this, std::_Rb_tree_node_base *__x, std::_Rb_tree_node_base *__p, const std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *const __v)
- {
- std::_Rb_tree_node_base *v5; // eax
- int v6; // esi
- std::_Rb_tree_node_base *v7; // ebx
- char *v9; // edx
- unsigned int v10; // eax
- unsigned int *v11; // eax
- _BYTE *v12; // edi
- bool v13; // cf
- bool v14; // zf
- char *v15; // esi
- unsigned int v16; // ecx
- int v17; // eax
- unsigned int v18; // [esp+18h] [ebp-2Ch]
- bool v19; // [esp+2Bh] [ebp-19h]
- int v20; // [esp+30h] [ebp-14h]
- unsigned int v21; // [esp+34h] [ebp-10h]
- v5 = (std::_Rb_tree_node_base *)operator new(0x18u);
- v6 = (int)&v5[1];
- v7 = v5;
- if ( v5 != (std::_Rb_tree_node_base *)-16 )
- {
- std::string::string((std::string *)&v5[1], (const std::string *)__v);
- *(_DWORD *)(v6 + 4) = __v->second;
- }
- v19 = 0;
- if ( __x || &this->_M_impl._M_header == __p )
- goto LABEL_18;
- v9 = __v->first._M_dataplus._M_p;
- v21 = *((_DWORD *)__v->first._M_dataplus._M_p - 3);
- v10 = *(_DWORD *)(__p[1]._M_color - 12);
- v18 = v10;
- v13 = v10 < v21;
- v20 = *(_DWORD *)(__p[1]._M_color - 12);
- v11 = (unsigned int *)&v20;
- if ( !v13 )
- v11 = &v21;
- v12 = (_BYTE *)__p[1]._M_color;
- v13 = 0;
- v14 = 1;
- v15 = v9;
- v16 = *v11;
- do
- {
- if ( !v16 )
- break;
- v13 = (unsigned __int8)*v15 < *v12;
- v14 = *v15++ == *v12++;
- --v16;
- }
- while ( v14 );
- v17 = (char)((!v13 && !v14) - v13);
- if ( (!v13 && !v14) == v13 )
- v17 = v21 - v18;
- if ( v17 < 0 )
- LABEL_18:
- v19 = 1;
- std::_Rb_tree_insert_and_rebalance(v19, v7, __p, &this->_M_impl._M_header);
- ++this->_M_impl._M_node_count;
- retstr->_M_node = v7;
- return retstr;
- }
- //----- (080AB75C) --------------------------------------------------------
- std::pair<std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,bool> *__userpurge std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::insert_unique@<eax>(std::pair<std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,bool> *retstr, std::_Rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::_Select1st<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > *const this, const std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *const __v)
- {
- unsigned int v3; // eax
- unsigned int v4; // ebx
- int *v5; // eax
- bool v6; // cf
- bool v7; // zf
- char *v8; // edi
- int v9; // ecx
- char *v10; // esi
- unsigned int v11; // eax
- std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *v12; // ebx
- std::_Rb_tree_node_base *v13; // eax
- unsigned int v15; // eax
- unsigned int v16; // edi
- int *v17; // eax
- char *v18; // esi
- bool v19; // cf
- bool v20; // zf
- int v21; // ecx
- char *v22; // edi
- int v23; // eax
- unsigned int v24; // [esp+0h] [ebp-58h]
- char *v25; // [esp+4h] [ebp-54h]
- char *v26; // [esp+4h] [ebp-54h]
- unsigned int v27; // [esp+8h] [ebp-50h]
- unsigned int v28; // [esp+20h] [ebp-38h]
- std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *__y; // [esp+24h] [ebp-34h]
- std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *__x; // [esp+28h] [ebp-30h]
- std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > v31; // [esp+34h] [ebp-24h]
- unsigned int v32; // [esp+38h] [ebp-20h]
- int v33; // [esp+3Ch] [ebp-1Ch]
- std::_Rb_tree_iterator<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > v34; // [esp+40h] [ebp-18h]
- unsigned int v35; // [esp+44h] [ebp-14h]
- unsigned int v36; // [esp+48h] [ebp-10h]
- __y = (std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *)&this->_M_impl._M_header;
- __x = (std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *)this->_M_impl._M_header._M_parent;
- LOBYTE(v3) = 1;
- if ( __x )
- {
- v25 = __v->first._M_dataplus._M_p;
- v28 = *((_DWORD *)__v->first._M_dataplus._M_p - 3);
- do
- {
- while ( 1 )
- {
- v4 = *((_DWORD *)__x->_M_value_field.first._M_dataplus._M_p - 3);
- __y = __x;
- v36 = v28;
- v35 = v4;
- v5 = (int *)&v35;
- if ( v4 >= v28 )
- v5 = (int *)&v36;
- v6 = 0;
- v7 = 1;
- v8 = __x->_M_value_field.first._M_dataplus._M_p;
- v9 = *v5;
- v10 = v25;
- do
- {
- if ( !v9 )
- break;
- v6 = (unsigned __int8)*v10 < (unsigned __int8)*v8;
- v7 = *v10++ == *v8++;
- --v9;
- }
- while ( v7 );
- v11 = (char)((!v6 && !v7) - v6);
- if ( (!v6 && !v7) == v6 )
- v11 = v28 - v4;
- v3 = v11 >> 31;
- if ( !(_BYTE)v3 )
- break;
- __x = (std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *)__x->_M_left;
- if ( !__x )
- goto LABEL_13;
- }
- __x = (std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *)__x->_M_right;
- }
- while ( __x );
- }
- LABEL_13:
- v12 = __y;
- if ( (_BYTE)v3 )
- {
- if ( __y == (std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *)this->_M_impl._M_header._M_left )
- {
- std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::_M_insert(
- &v34,
- this,
- &__x->0,
- &__y->0,
- __v);
- v13 = v34._M_node;
- LABEL_16:
- retstr->first._M_node = v13;
- retstr->second = 1;
- return retstr;
- }
- v12 = (std::_Rb_tree_node<std::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > *)std::_Rb_tree_decrement(&__y->0);
- }
- v15 = *((_DWORD *)v12->_M_value_field.first._M_dataplus._M_p - 3);
- v24 = v15;
- v16 = *((_DWORD *)__v->first._M_dataplus._M_p - 3);
- v26 = __v->first._M_dataplus._M_p;
- v6 = v16 < v15;
- v33 = *((_DWORD *)v12->_M_value_field.first._M_dataplus._M_p - 3);
- v27 = v16;
- v32 = v16;
- v17 = (int *)&v32;
- if ( !v6 )
- v17 = &v33;
- v18 = v12->_M_value_field.first._M_dataplus._M_p;
- v19 = 0;
- v20 = 1;
- v21 = *v17;
- v22 = v26;
- do
- {
- if ( !v21 )
- break;
- v19 = (unsigned __int8)*v18 < (unsigned __int8)*v22;
- v20 = *v18++ == *v22++;
- --v21;
- }
- while ( v20 );
- v23 = (char)((!v19 && !v20) - v19);
- if ( (!v19 && !v20) == v19 )
- v23 = v24 - v27;
- if ( v23 < 0 )
- {
- std::_Rb_tree<std::string,std::pair<std::string const,int>,std::_Select1st<std::pair<std::string const,int>>,std::less<std::string>,std::allocator<std::pair<std::string const,int>>>::_M_insert(
- &v31,
- this,
- &__x->0,
- &__y->0,
- __v);
- v13 = v31._M_node;
- goto LABEL_16;
- }
- retstr->first._M_node = &v12->0;
- retstr->second = 0;
- return retstr;
- }
- //----- (080AB8EC) --------------------------------------------------------
- std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > *__cdecl std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>::operator=(std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > *const this, const std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > *const __x)
- {
- DBC::DBCFile::FIELD_TYPE *v2; // edx
- DBC::DBCFile::FIELD_TYPE *v3; // esi
- unsigned int v4; // edx
- DBC::DBCFile::FIELD_TYPE *v5; // eax
- unsigned int v6; // eax
- DBC::DBCFile::FIELD_TYPE *v7; // ebx
- DBC::DBCFile::FIELD_TYPE *v8; // ecx
- int v9; // eax
- int v10; // edx
- DBC::DBCFile::FIELD_TYPE *v12; // ebx
- DBC::DBCFile::FIELD_TYPE *v13; // ecx
- signed int j; // edx
- DBC::DBCFile::FIELD_TYPE *v15; // eax
- DBC::DBCFile::FIELD_TYPE *v16; // ecx
- unsigned int v17; // ebx
- DBC::DBCFile::FIELD_TYPE *v18; // eax
- DBC::DBCFile::FIELD_TYPE *v19; // ecx
- DBC::DBCFile::FIELD_TYPE *v20; // ebx
- DBC::DBCFile::FIELD_TYPE *v21; // edx
- DBC::DBCFile::FIELD_TYPE *v22; // eax
- bool i; // zf
- DBC::DBCFile::FIELD_TYPE *v24; // [esp+8h] [ebp-30h]
- DBC::DBCFile::FIELD_TYPE *v25; // [esp+Ch] [ebp-2Ch]
- DBC::DBCFile::FIELD_TYPE *v26; // [esp+10h] [ebp-28h]
- DBC::DBCFile::FIELD_TYPE *v27; // [esp+14h] [ebp-24h]
- unsigned int v28; // [esp+18h] [ebp-20h]
- if ( __x == this )
- return this;
- v2 = __x->_M_impl._M_finish;
- v26 = v2;
- v25 = __x->_M_impl._M_start;
- v3 = this->_M_impl._M_start;
- v4 = v2 - __x->_M_impl._M_start;
- v28 = v4;
- if ( (_DWORD)((char *)this->_M_impl._M_end_of_storage - (char *)this->_M_impl._M_start) >> 2 < v4 )
- {
- v27 = (DBC::DBCFile::FIELD_TYPE *)operator new(4 * v4);
- v18 = v25;
- v19 = v27;
- v20 = v25;
- if ( v25 != v26 )
- {
- do
- {
- if ( v19 )
- *v19 = *v18;
- ++v19;
- i = v20 + 1 == v26;
- ++v20;
- v18 = v20;
- }
- while ( !i );
- }
- v21 = this->_M_impl._M_finish;
- v22 = this->_M_impl._M_start;
- for ( i = this->_M_impl._M_start == v21; !i; i = v22 == v21 )
- ++v22;
- if ( this->_M_impl._M_start )
- operator delete((IPRegionTable *const )this->_M_impl._M_start);
- v3 = v27;
- this->_M_impl._M_start = v27;
- this->_M_impl._M_end_of_storage = &v27[v28];
- }
- else
- {
- v5 = this->_M_impl._M_finish;
- v24 = v5;
- v6 = v5 - v3;
- if ( v6 < v4 )
- {
- v12 = __x->_M_impl._M_start;
- v13 = this->_M_impl._M_start;
- for ( j = v6; j > 0; --j )
- {
- *v13 = *v12;
- ++v12;
- ++v13;
- }
- v15 = (DBC::DBCFile::FIELD_TYPE *)((char *)v25 + (((char *)v24 - (char *)v3) & 0xFFFFFFFC));
- v16 = v24;
- v17 = (unsigned int)v25 + (((char *)v24 - (char *)v3) & 0xFFFFFFFC);
- if ( v15 != v26 )
- {
- do
- {
- if ( v16 )
- *v16 = *v15;
- ++v16;
- i = v17 + 4 == (_DWORD)v26;
- v17 += 4;
- v15 = (DBC::DBCFile::FIELD_TYPE *)v17;
- }
- while ( !i );
- }
- }
- else
- {
- v7 = __x->_M_impl._M_start;
- v8 = this->_M_impl._M_start;
- while ( (signed int)v4 > 0 )
- {
- *v8 = *v7;
- ++v7;
- ++v8;
- --v4;
- }
- if ( v8 != v24 )
- {
- v9 = (int)(v8 + 1);
- do
- {
- v10 = v9;
- v9 += 4;
- }
- while ( (DBC::DBCFile::FIELD_TYPE *)v10 != v24 );
- this->_M_impl._M_finish = &v3[v28];
- return this;
- }
- }
- }
- this->_M_impl._M_finish = &v3[v28];
- return this;
- }
- //----- (080ABA5C) --------------------------------------------------------
- std::pair<__gnu_cxx::_Hashtable_iterator<std::pair<const int,DBC::DBCFile::FIELD*>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<const int,DBC::DBCFile::FIELD*> >,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> >,bool> *__userpurge __gnu_cxx::hashtable<std::pair<int const,DBC::DBCFile::FIELD *>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<int const,DBC::DBCFile::FIELD *>>,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD *>>::insert_unique_noresize@<eax>(std::pair<__gnu_cxx::_Hashtable_iterator<std::pair<const int,DBC::DBCFile::FIELD*>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<const int,DBC::DBCFile::FIELD*> >,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> >,bool> *retstr, __gnu_cxx::hashtable<std::pair<const int,DBC::DBCFile::FIELD*>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<const int,DBC::DBCFile::FIELD*> >,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> > *const this, const std::pair<const int,DBC::DBCFile::FIELD*> *const __obj)
- {
- unsigned int v3; // ST1C_4
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *v4; // ebx
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *v5; // eax
- bool v6; // zf
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *v7; // eax
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v8; // edx
- unsigned int v10; // [esp+10h] [ebp-28h]
- v3 = (_DWORD)((char *)this->_M_buckets._M_impl._M_finish - (char *)this->_M_buckets._M_impl._M_start) >> 2;
- v4 = this->_M_buckets._M_impl._M_start[__obj->first % v3];
- v5 = v4;
- v6 = v4 == 0;
- v10 = __obj->first % v3;
- while ( 1 )
- {
- if ( v6 )
- {
- v7 = (__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *)operator new(0xCu);
- v8 = &this->_M_buckets._M_impl._M_start[v10];
- v7->_M_next = v4;
- *v8 = v7;
- v7->_M_val = *__obj;
- retstr->first._M_cur = v7;
- ++this->_M_num_elements;
- retstr->first._M_ht = this;
- retstr->second = 1;
- return retstr;
- }
- if ( v5->_M_val.first == __obj->first )
- break;
- v5 = v5->_M_next;
- v6 = v5 == 0;
- }
- retstr->first._M_ht = this;
- retstr->first._M_cur = v5;
- retstr->second = 0;
- return retstr;
- }
- //----- (080ABB10) --------------------------------------------------------
- __gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > *__userpurge std::vector<std::string,std::allocator<std::string>>::erase@<eax>(__gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > *retstr, std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > *const this, __gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > __first, __gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > __last)
- {
- string *v4; // esi
- int v5; // ebx
- string *v6; // edi
- std::string *v7; // eax
- __gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > *result; // eax
- string *v9; // [esp+Ch] [ebp-1Ch]
- string *v10; // [esp+14h] [ebp-14h]
- v4 = __last._M_current;
- v5 = (_DWORD)((char *)this->_M_impl._M_finish - (char *)__last._M_current) >> 2;
- v9 = this->_M_impl._M_finish;
- v6 = __first._M_current;
- if ( v5 > 0 )
- {
- do
- {
- --v5;
- std::string::assign((std::string *)v6, (const std::string *)v4);
- ++v4;
- ++v6;
- }
- while ( v5 > 0 );
- v9 = this->_M_impl._M_finish;
- }
- v7 = (std::string *)v6;
- v10 = v6;
- if ( v6 != v9 )
- {
- do
- {
- std::string::~string(v7);
- v7 = (std::string *)&v10[1];
- ++v10;
- }
- while ( v10 != v9 );
- v9 = this->_M_impl._M_finish;
- }
- this->_M_impl._M_finish = (string *)((char *)v9
- - (((char *)__last._M_current - (char *)__first._M_current) & 0xFFFFFFFC));
- result = retstr;
- retstr->_M_current = __first._M_current;
- return result;
- }
- //----- (080ABBBC) --------------------------------------------------------
- void __cdecl std::fill<__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> **,std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>>,__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>(__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > > __first, __gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > > __last, __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *const *const __value)
- {
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v3; // edx
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v4; // eax
- if ( __first._M_current != __last._M_current )
- {
- v3 = __first._M_current + 1;
- do
- {
- *(v3 - 1) = *__value;
- v4 = v3;
- ++v3;
- }
- while ( v4 != __last._M_current );
- }
- }
- //----- (080ABBE4) --------------------------------------------------------
- unsigned int *__cdecl std::fill_n<unsigned int *,unsigned int,unsigned int>(unsigned int *__first, unsigned int __n, const unsigned int *const __value)
- {
- unsigned int v3; // edx
- unsigned int *v4; // ecx
- bool i; // zf
- v3 = __n;
- v4 = __first;
- for ( i = __n == 0; !i; i = v3 == 0 )
- {
- *v4 = *__value;
- ++v4;
- --v3;
- }
- return v4;
- }
- //----- (080ABC08) --------------------------------------------------------
- __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > *__userpurge std::fill_n<__gnu_cxx::__normal_iterator<unsigned int *,std::vector<unsigned int,std::allocator<unsigned int>>>,unsigned int,unsigned int>@<eax>(__gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > *retstr, __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > __first, unsigned int __n, const unsigned int *const __value)
- {
- unsigned int v4; // edx
- unsigned int *v5; // ecx
- bool i; // zf
- v4 = __n;
- v5 = __first._M_current;
- for ( i = __n == 0; !i; i = v4 == 0 )
- {
- *v5 = *__value;
- ++v5;
- --v4;
- }
- retstr->_M_current = v5;
- return retstr;
- }
- //----- (080ABC34) --------------------------------------------------------
- __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > *__userpurge std::vector<char,std::allocator<char>>::erase@<eax>(__gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > *retstr, std::vector<char,std::allocator<char> > *const this, __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > __first, __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > __last)
- {
- memmove(__first._M_current, __last._M_current, this->_M_impl._M_finish - __last._M_current);
- this->_M_impl._M_finish -= __last._M_current - __first._M_current;
- retstr->_M_current = __first._M_current;
- return retstr;
- }
- //----- (080ABC70) --------------------------------------------------------
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **__cdecl std::fill_n<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> **,unsigned int,__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>(__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **__first, unsigned int __n, __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *const *const __value)
- {
- unsigned int v3; // edx
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v4; // ecx
- bool i; // zf
- v3 = __n;
- v4 = __first;
- for ( i = __n == 0; !i; i = v3 == 0 )
- {
- *v4 = *__value;
- ++v4;
- --v3;
- }
- return v4;
- }
- //----- (080ABC94) --------------------------------------------------------
- void __cdecl __gnu_cxx::hashtable<std::pair<int const,DBC::DBCFile::FIELD *>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<int const,DBC::DBCFile::FIELD *>>,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD *>>::resize(__gnu_cxx::hashtable<std::pair<const int,DBC::DBCFile::FIELD*>,int,__gnu_cxx::hash<int>,std::_Select1st<std::pair<const int,DBC::DBCFile::FIELD*> >,std::equal_to<int>,std::allocator<DBC::DBCFile::FIELD*> > *const this, size_t __num_elements_hint)
- {
- size_t v2; // edi
- unsigned int *v3; // eax
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v4; // eax
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v5; // esi
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *v6; // ebx
- int v7; // edx
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v8; // ecx
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v9; // edx
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v10; // edx
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v11; // edx
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v12; // [esp+0h] [ebp-58h]
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v13; // [esp+4h] [ebp-54h]
- int v14; // [esp+8h] [ebp-50h]
- size_t __bucket; // [esp+Ch] [ebp-4Ch]
- unsigned int __n; // [esp+10h] [ebp-48h]
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *__value; // [esp+18h] [ebp-40h]
- unsigned int __val; // [esp+1Ch] [ebp-3Ch]
- std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > __tmp; // [esp+30h] [ebp-28h]
- v2 = (_DWORD)((char *)this->_M_buckets._M_impl._M_finish - (char *)this->_M_buckets._M_impl._M_start) >> 2;
- if ( __num_elements_hint > v2 )
- {
- __val = __num_elements_hint;
- v3 = (unsigned int *)std::lower_bound<unsigned long const*,unsigned long>(
- __gnu_cxx::__stl_prime_list,
- &_last,
- &__val);
- __n = v3 == &_last ? __gnu_cxx::__stl_prime_list[27] : *v3;
- if ( __n > v2 )
- {
- __value = 0;
- __tmp._M_impl._M_start = 0;
- __tmp._M_impl._M_finish = 0;
- __tmp._M_impl._M_end_of_storage = 0;
- v4 = (__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **)operator new(4 * __n);
- __tmp._M_impl._M_end_of_storage = &v4[__n];
- __tmp._M_impl._M_start = v4;
- __tmp._M_impl._M_finish = v4;
- __tmp._M_impl._M_finish = std::fill_n<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> **,unsigned int,__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>(
- v4,
- __n,
- &__value);
- __bucket = 0;
- v5 = this->_M_buckets._M_impl._M_start;
- v13 = __tmp._M_impl._M_start;
- while ( __bucket < v2 )
- {
- v6 = v5[__bucket];
- if ( v6 )
- {
- v14 = __bucket;
- v12 = this->_M_buckets._M_impl._M_start;
- do
- {
- v7 = v6->_M_val.first % __n;
- v8 = &v5[v14];
- *v8 = v6->_M_next;
- v9 = &v13[v7];
- v6->_M_next = *v9;
- *v9 = v6;
- v6 = v5[v14];
- v5 = v12;
- }
- while ( *v8 );
- }
- ++__bucket;
- }
- this->_M_buckets._M_impl._M_start = v13;
- __tmp._M_impl._M_start = v5;
- v10 = this->_M_buckets._M_impl._M_finish;
- this->_M_buckets._M_impl._M_finish = __tmp._M_impl._M_finish;
- __tmp._M_impl._M_finish = v10;
- v11 = this->_M_buckets._M_impl._M_end_of_storage;
- this->_M_buckets._M_impl._M_end_of_storage = __tmp._M_impl._M_end_of_storage;
- __tmp._M_impl._M_end_of_storage = v11;
- if ( __tmp._M_impl._M_start )
- operator delete((IPRegionTable *const )__tmp._M_impl._M_start);
- }
- }
- }
- //----- (080ABDF8) --------------------------------------------------------
- void __cdecl std::vector<std::string,std::allocator<std::string>>::_M_insert_aux(std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > *const this, __gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > __position, const string *const __x)
- {
- string *v3; // esi
- string *v4; // eax
- const std::string *v5; // esi
- signed int v6; // ebx
- std::string *k; // edi
- char *v8; // ebx
- signed int v9; // eax
- string *v10; // eax
- string *v11; // ebx
- std::string *v12; // esi
- string *i; // eax
- __gnu_cxx::__normal_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> >*,std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > __new_finish; // ST18_4
- string *v15; // ebx
- string *v16; // esi
- string *v17; // eax
- string *j; // ebx
- std::string *__cur; // [esp+0h] [ebp-58h]
- string *v20; // [esp+Ch] [ebp-4Ch]
- size_t __len; // [esp+10h] [ebp-48h]
- char v22; // [esp+20h] [ebp-38h]
- string __x_copy; // [esp+30h] [ebp-28h]
- v3 = this->_M_impl._M_finish;
- if ( v3 == this->_M_impl._M_end_of_storage )
- {
- v9 = v3 - this->_M_impl._M_start;
- __len = 1;
- if ( v9 )
- __len = 2 * v9;
- v10 = (string *)operator new(4 * __len);
- v11 = this->_M_impl._M_start;
- v20 = v10;
- v12 = (std::string *)v10;
- for ( i = this->_M_impl._M_start; i != __position._M_current; v11 = i )
- {
- if ( v12 )
- std::string::string(v12, (const std::string *)i);
- i = v11 + 1;
- v12 = (std::string *)((char *)v12 + 4);
- }
- if ( v12 )
- std::string::string(v12, (const std::string *)__x);
- __new_finish._M_current = (string *)((char *)v12 + 4);
- v15 = __position._M_current;
- v16 = this->_M_impl._M_finish;
- __cur = (std::string *)__new_finish._M_current;
- v17 = __position._M_current;
- if ( __position._M_current != v16 )
- {
- do
- {
- if ( __cur )
- std::string::string(__cur, (const std::string *)v17);
- v17 = v15 + 1;
- __cur = (std::string *)((char *)__cur + 4);
- ++v15;
- }
- while ( v15 != v16 );
- v16 = this->_M_impl._M_finish;
- }
- for ( j = this->_M_impl._M_start; j != v16; ++j )
- std::string::~string((std::string *)j);
- if ( this->_M_impl._M_start )
- operator delete((IPRegionTable *const )this->_M_impl._M_start);
- this->_M_impl._M_start = v20;
- this->_M_impl._M_finish = (string *)__cur;
- this->_M_impl._M_end_of_storage = &v20[__len];
- }
- else
- {
- if ( v3 )
- {
- std::string::string((std::string *)v3, (const std::string *)&v3[-1]);
- v3 = this->_M_impl._M_finish;
- }
- this->_M_impl._M_finish = v3 + 1;
- std::string::string((std::string *)&__x_copy, (const std::string *)__x);
- v4 = this->_M_impl._M_finish;
- v5 = (const std::string *)&v4[-2];
- v6 = &v4[-2] - __position._M_current;
- for ( k = (std::string *)&v4[-1]; v6 > 0; --v6 )
- {
- v5 = (const std::string *)((char *)v5 - 4);
- k = (std::string *)((char *)k - 4);
- std::string::assign(k, v5);
- }
- std::string::assign((std::string *)__position._M_current, (const std::string *)&__x_copy);
- v8 = __x_copy._M_dataplus._M_p - 12;
- if ( __x_copy._M_dataplus._M_p - 12 != (char *)&std::string::_Rep::_S_empty_rep_storage
- && __gnu_cxx::__exchange_and_add((volatile int *)__x_copy._M_dataplus._M_p - 1, -1) <= 0 )
- {
- std::string::_Rep::_M_destroy(v8, &v22);
- }
- }
- }
- // 8049E18: using guessed type int __cdecl std::string::_Rep::_M_destroy(_DWORD, _DWORD);
- //----- (080AC108) --------------------------------------------------------
- __gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > > *__userpurge std::fill_n<__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> **,std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>>,unsigned int,__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>@<eax>(__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > > *retstr, __gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > > __first, unsigned int __n, __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *const *const __value)
- {
- unsigned int v4; // edx
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v5; // ecx
- bool i; // zf
- v4 = __n;
- v5 = __first._M_current;
- for ( i = __n == 0; !i; i = v4 == 0 )
- {
- *v5 = *__value;
- ++v5;
- --v4;
- }
- retstr->_M_current = v5;
- return retstr;
- }
- //----- (080AC134) --------------------------------------------------------
- __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > *__userpurge std::vector<unsigned int,std::allocator<unsigned int>>::erase@<eax>(__gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > *retstr, std::vector<unsigned int,std::allocator<unsigned int> > *const this, __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > __first, __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > __last)
- {
- memmove(__first._M_current, __last._M_current, (char *)this->_M_impl._M_finish - (char *)__last._M_current);
- this->_M_impl._M_finish = (unsigned int *)((char *)this->_M_impl._M_finish
- - (((char *)__last._M_current - (char *)__first._M_current) & 0xFFFFFFFC));
- retstr->_M_current = __first._M_current;
- return retstr;
- }
- //----- (080AC174) --------------------------------------------------------
- __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > *__userpurge std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>::erase@<eax>(__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > *retstr, std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > *const this, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > __first, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > __last)
- {
- DBC::DBCFile::FIELD_TYPE *v4; // esi
- DBC::DBCFile::FIELD_TYPE *v5; // ebx
- DBC::DBCFile::FIELD_TYPE *v6; // ecx
- int i; // edx
- int v8; // eax
- DBC::DBCFile::FIELD_TYPE *v9; // edx
- __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > *result; // eax
- v4 = this->_M_impl._M_finish;
- v5 = __last._M_current;
- v6 = __first._M_current;
- for ( i = (_DWORD)((char *)this->_M_impl._M_finish - (char *)__last._M_current) >> 2; i > 0; --i )
- {
- *v6 = *v5;
- ++v5;
- ++v6;
- }
- if ( v6 != v4 )
- {
- v8 = (int)(v6 + 1);
- do
- {
- v9 = (DBC::DBCFile::FIELD_TYPE *)v8;
- v8 += 4;
- }
- while ( v9 != v4 );
- }
- this->_M_impl._M_finish = (DBC::DBCFile::FIELD_TYPE *)((char *)v4
- - (((char *)__last._M_current - (char *)__first._M_current) & 0xFFFFFFFC));
- result = retstr;
- retstr->_M_current = __first._M_current;
- return result;
- }
- //----- (080AC1E4) --------------------------------------------------------
- __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > *__userpurge std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>::erase@<eax>(__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > *retstr, std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > *const this, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > __first, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > __last)
- {
- DBC::DBCFile::FIELD *v4; // esi
- DBC::DBCFile::FIELD *v5; // ebx
- DBC::DBCFile::FIELD *v6; // ecx
- int i; // edx
- int v8; // eax
- DBC::DBCFile::FIELD *v9; // edx
- __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > *result; // eax
- v4 = this->_M_impl._M_finish;
- v5 = __last._M_current;
- v6 = __first._M_current;
- for ( i = (_DWORD)((char *)this->_M_impl._M_finish - (char *)__last._M_current) >> 2; i > 0; --i )
- {
- v6->fValue = v5->fValue;
- ++v5;
- ++v6;
- }
- if ( v6 != v4 )
- {
- v8 = (int)&v6[1];
- do
- {
- v9 = (DBC::DBCFile::FIELD *)v8;
- v8 += 4;
- }
- while ( v9 != v4 );
- }
- this->_M_impl._M_finish = (DBC::DBCFile::FIELD *)((char *)v4
- - (((char *)__last._M_current - (char *)__first._M_current) & 0xFFFFFFFC));
- result = retstr;
- retstr->_M_current = __first._M_current;
- return result;
- }
- //----- (080AC254) --------------------------------------------------------
- void __cdecl std::vector<char,std::allocator<char>>::_M_fill_insert(std::vector<char,std::allocator<char> > *const this, __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > __position, size_t __n, const char *const __x)
- {
- char *v4; // ecx
- char *v5; // esi
- unsigned __int8 v6; // al
- unsigned int v7; // ebx
- char *v8; // ecx
- _DWORD *v9; // ecx
- int v10; // ebx
- size_t v11; // ebx
- char *v12; // esi
- char *v13; // ebx
- size_t v14; // edx
- char *dest; // [esp+4h] [ebp-24h]
- unsigned int __len; // [esp+8h] [ebp-20h]
- const char *__x_0; // [esp+Ch] [ebp-1Ch]
- __gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > > v18; // [esp+10h] [ebp-18h]
- const size_t __old_size; // [esp+14h] [ebp-14h]
- char __x_copy; // [esp+1Bh] [ebp-Dh]
- __x_0 = __x;
- if ( __n )
- {
- v4 = this->_M_impl._M_finish;
- v5 = this->_M_impl._M_finish;
- if ( this->_M_impl._M_end_of_storage - v4 < __n )
- {
- __old_size = v4 - this->_M_impl._M_start;
- v9 = &__n;
- if ( __old_size >= __n )
- v9 = &__old_size;
- __len = *v9 + __old_size;
- dest = (char *)operator new(__len);
- v10 = __position._M_current - this->_M_impl._M_start;
- memmove(dest, this->_M_impl._M_start, __position._M_current - this->_M_impl._M_start);
- std::fill_n<__gnu_cxx::__normal_iterator<char *,std::vector<char,std::allocator<char>>>,unsigned int,char>(
- &v18,
- (__gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > >)&dest[v10],
- __n,
- __x_0);
- v11 = this->_M_impl._M_finish - __position._M_current;
- v12 = v18._M_current;
- memmove(v18._M_current, __position._M_current, v11);
- v13 = &v12[v11];
- if ( this->_M_impl._M_start )
- operator delete((IPRegionTable *const )this->_M_impl._M_start);
- this->_M_impl._M_start = dest;
- this->_M_impl._M_finish = v13;
- this->_M_impl._M_end_of_storage = &dest[__len];
- }
- else
- {
- v6 = *__x;
- v7 = v4 - __position._M_current;
- __x_copy = *__x;
- if ( v4 - __position._M_current > __n )
- {
- memmove(v4, &v4[-__n], __n);
- v14 = (size_t)&v5[-__n];
- this->_M_impl._M_finish += __n;
- memmove(
- &v5[-(v14 - (unsigned int)__position._M_current)],
- __position._M_current,
- v14 - (unsigned int)__position._M_current);
- std::fill<__gnu_cxx::__normal_iterator<char *,std::vector<char,std::allocator<char>>>,char>(
- __position,
- (__gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > >)&__position._M_current[__n],
- &__x_copy);
- }
- else
- {
- memset(v4, v6, __n - v7);
- v8 = &this->_M_impl._M_finish[__n - v7];
- this->_M_impl._M_finish = v8;
- memmove(v8, __position._M_current, v5 - __position._M_current);
- this->_M_impl._M_finish += v7;
- std::fill<__gnu_cxx::__normal_iterator<char *,std::vector<char,std::allocator<char>>>,char>(
- __position,
- (__gnu_cxx::__normal_iterator<char*,std::vector<char,std::allocator<char> > >)v5,
- &__x_copy);
- }
- }
- }
- }
- //----- (080AC3B0) --------------------------------------------------------
- void __cdecl std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>::_M_insert_aux(std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > *const this, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > __position, const DBC::DBCFile::FIELD *const __x)
- {
- DBC::DBCFile::FIELD *v3; // ecx
- DBC::DBCFile::FIELD *v4; // eax
- char *v5; // ecx
- int v6; // esi
- int *v7; // ebx
- signed int i; // edx
- signed int v9; // eax
- DBC::DBCFile::FIELD *v10; // eax
- IPRegionTable *v11; // edi
- DBC::DBCFile::FIELD *v12; // ebx
- DBC::DBCFile::FIELD *v13; // ecx
- DBC::DBCFile::FIELD *v14; // eax
- bool v15; // zf
- DBC::DBCFile::FIELD *v16; // ecx
- DBC::DBCFile::FIELD *v17; // ebx
- DBC::DBCFile::FIELD *v18; // eax
- DBC::DBCFile::FIELD *v19; // esi
- int v20; // eax
- DBC::DBCFile::FIELD *v21; // edx
- DBC::DBCFile::FIELD *v22; // [esp+0h] [ebp-28h]
- size_t __len; // [esp+4h] [ebp-24h]
- v3 = this->_M_impl._M_finish;
- if ( v3 == this->_M_impl._M_end_of_storage )
- {
- v9 = v3 - this->_M_impl._M_start;
- __len = 1;
- if ( v9 )
- __len = 2 * v9;
- v10 = (DBC::DBCFile::FIELD *)operator new(4 * __len);
- v11 = (IPRegionTable *)this->_M_impl._M_start;
- v22 = v10;
- v12 = v10;
- v13 = this->_M_impl._M_start;
- v14 = this->_M_impl._M_start;
- if ( this->_M_impl._M_start != __position._M_current )
- {
- do
- {
- if ( v12 )
- v12->fValue = v14->fValue;
- ++v12;
- v15 = &v13[1] == __position._M_current;
- ++v13;
- v14 = v13;
- }
- while ( !v15 );
- }
- if ( v12 )
- v12->fValue = __x->fValue;
- v16 = this->_M_impl._M_finish;
- v17 = v12 + 1;
- v18 = __position._M_current;
- v19 = __position._M_current;
- if ( __position._M_current != v16 )
- {
- do
- {
- if ( v17 )
- v17->fValue = v18->fValue;
- ++v17;
- v15 = &v19[1] == v16;
- ++v19;
- v18 = v19;
- }
- while ( !v15 );
- }
- if ( v11 != (IPRegionTable *)v16 )
- {
- v20 = (int)&v11->m_MaxRegionCount;
- do
- {
- v21 = (DBC::DBCFile::FIELD *)v20;
- v20 += 4;
- }
- while ( v21 != v16 );
- }
- if ( v11 )
- operator delete(v11);
- this->_M_impl._M_start = v22;
- this->_M_impl._M_finish = v17;
- this->_M_impl._M_end_of_storage = &v22[__len];
- }
- else
- {
- if ( v3 )
- LODWORD(v3->fValue) = v3[-1];
- v4 = v3;
- this->_M_impl._M_finish = v3 + 1;
- v5 = (char *)&v3[-1];
- v6 = __x->iValue;
- v7 = (int *)v4;
- for ( i = (v5 - (char *)__position._M_current) >> 2; i > 0; --i )
- {
- v5 -= 4;
- --v7;
- *v7 = *(_DWORD *)v5;
- }
- __position._M_current->iValue = v6;
- }
- }
- //----- (080AC4FC) --------------------------------------------------------
- void __cdecl std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>::_M_fill_insert(std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > *const this, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > __position, size_t __n, const DBC::DBCFile::FIELD *const __x)
- {
- size_t v4; // esi
- DBC::DBCFile::FIELD *v5; // ebx
- unsigned int v6; // edi
- DBC::DBCFile::FIELD *v7; // ecx
- int *v8; // edx
- char *v9; // ecx
- signed int v10; // edx
- int *v11; // ebx
- _DWORD *v12; // edx
- DBC::DBCFile::FIELD *v13; // edi
- DBC::DBCFile::FIELD *v14; // eax
- int *v15; // ecx
- DBC::DBCFile::FIELD *v16; // ebx
- int v17; // edx
- DBC::DBCFile::FIELD *v18; // ebx
- DBC::DBCFile::FIELD *v19; // esi
- DBC::DBCFile::FIELD *v20; // eax
- DBC::DBCFile::FIELD *v21; // ecx
- DBC::DBCFile::FIELD *v22; // eax
- bool i; // zf
- DBC::DBCFile::FIELD *v24; // esi
- DBC::DBCFile::FIELD *v25; // eax
- int *v26; // ecx
- DBC::DBCFile::FIELD *v27; // ebx
- DBC::DBCFile::FIELD *v28; // edx
- size_t __len; // [esp+0h] [ebp-38h]
- DBC::DBCFile::FIELD *v30; // [esp+4h] [ebp-34h]
- const DBC::DBCFile::FIELD *__x_0; // [esp+8h] [ebp-30h]
- __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > > v32; // [esp+14h] [ebp-24h]
- DBC::DBCFile::FIELD *v33; // [esp+18h] [ebp-20h]
- const size_t __old_size; // [esp+1Ch] [ebp-1Ch]
- DBC::DBCFile::FIELD *v35; // [esp+20h] [ebp-18h]
- DBC::DBCFile::FIELD __x_copy; // [esp+24h] [ebp-14h]
- int *v37; // [esp+28h] [ebp-10h]
- v4 = __n;
- __x_0 = __x;
- if ( __n )
- {
- v5 = this->_M_impl._M_finish;
- v30 = this->_M_impl._M_finish;
- if ( (_DWORD)((char *)this->_M_impl._M_end_of_storage - (char *)v5) >> 2 < __n )
- {
- __old_size = v5 - this->_M_impl._M_start;
- v12 = &__n;
- if ( __old_size >= __n )
- v12 = &__old_size;
- __len = *v12 + __old_size;
- v13 = (DBC::DBCFile::FIELD *)operator new(4 * __len);
- v14 = this->_M_impl._M_start;
- i = this->_M_impl._M_start == __position._M_current;
- v33 = v14;
- v15 = (int *)v13;
- v16 = v14;
- if ( !i )
- {
- do
- {
- if ( v15 )
- *v15 = v14->iValue;
- v17 = (int)&v16[1];
- ++v15;
- i = &v16[1] == __position._M_current;
- v16 = (DBC::DBCFile::FIELD *)v17;
- v14 = (DBC::DBCFile::FIELD *)v17;
- }
- while ( !i );
- v33 = (DBC::DBCFile::FIELD *)v17;
- }
- std::__uninitialized_fill_n_aux<__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD *,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>>,unsigned int,DBC::DBCFile::FIELD>(
- &v32,
- (__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > >)v15,
- __n,
- __x_0,
- 0);
- v18 = this->_M_impl._M_finish;
- v19 = v32._M_current;
- v20 = __position._M_current;
- v21 = __position._M_current;
- if ( __position._M_current != v18 )
- {
- do
- {
- if ( v19 )
- v19->fValue = v20->fValue;
- ++v19;
- i = &v21[1] == v18;
- ++v21;
- v20 = v21;
- }
- while ( !i );
- }
- v22 = this->_M_impl._M_start;
- for ( i = this->_M_impl._M_start == v18; !i; i = v22 == v18 )
- ++v22;
- if ( this->_M_impl._M_start )
- operator delete((IPRegionTable *const )this->_M_impl._M_start);
- this->_M_impl._M_start = v13;
- this->_M_impl._M_finish = v19;
- this->_M_impl._M_end_of_storage = &v13[__len];
- }
- else
- {
- v6 = v5 - __position._M_current;
- __x_copy.fValue = __x->fValue;
- if ( v6 <= __n )
- {
- std::__uninitialized_fill_n_aux<DBC::DBCFile::FIELD *,unsigned int,DBC::DBCFile::FIELD>(
- v5,
- __n - v6,
- &__x_copy,
- 0);
- v24 = &this->_M_impl._M_finish[__n - v6];
- this->_M_impl._M_finish = v24;
- v25 = __position._M_current;
- v35 = __position._M_current;
- v26 = (int *)v24;
- v27 = __position._M_current;
- if ( __position._M_current != v30 )
- {
- do
- {
- if ( v26 )
- *v26 = v25->iValue;
- v28 = v27 + 1;
- ++v26;
- i = &v27[1] == v30;
- v27 = v28;
- v25 = v28;
- }
- while ( !i );
- v35 = v28;
- }
- this->_M_impl._M_finish = &v24[v6];
- std::fill<__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD *,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>>,DBC::DBCFile::FIELD>(
- __position,
- (__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > >)v30,
- &__x_copy);
- }
- else
- {
- v7 = &v5[-__n];
- v8 = (int *)v5;
- if ( v7 != v5 )
- {
- do
- {
- if ( v8 )
- *v8 = v7->iValue;
- ++v7;
- ++v8;
- }
- while ( v7 != v5 );
- v4 = __n;
- }
- v9 = (char *)&v30[-v4];
- this->_M_impl._M_finish = &v5[v4];
- v10 = (v9 - (char *)__position._M_current) >> 2;
- v11 = (int *)v30;
- if ( v10 > 0 )
- {
- do
- {
- v9 -= 4;
- --v10;
- --v11;
- *v11 = *(_DWORD *)v9;
- }
- while ( v10 > 0 );
- v4 = __n;
- }
- v37 = v11;
- std::fill<__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD *,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD>>>,DBC::DBCFile::FIELD>(
- __position,
- (__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD*,std::vector<DBC::DBCFile::FIELD,std::allocator<DBC::DBCFile::FIELD> > >)&__position._M_current[v4],
- &__x_copy);
- }
- }
- }
- }
- //----- (080AC728) --------------------------------------------------------
- void __cdecl std::vector<std::pair<std::string,int>,std::allocator<std::pair<std::string,int>>>::_M_insert_aux(std::vector<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > *const this, __gnu_cxx::__normal_iterator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>*,std::vector<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int>,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> > > > __position, const std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *const __x)
- {
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v3; // ebx
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v4; // eax
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v5; // ebx
- signed int v6; // edi
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *j; // esi
- char *v8; // ebx
- signed int v9; // eax
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v10; // ebx
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v11; // edi
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *i; // esi
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v13; // esi
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v14; // ebx
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v15; // edi
- bool v16; // zf
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v17; // esi
- char *v18; // edi
- std::string *__cur; // [esp+0h] [ebp-58h]
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *v20; // [esp+Ch] [ebp-4Ch]
- size_t __len; // [esp+10h] [ebp-48h]
- char v22; // [esp+20h] [ebp-38h]
- std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> __x_copy; // [esp+30h] [ebp-28h]
- v3 = this->_M_impl._M_finish;
- if ( v3 == this->_M_impl._M_end_of_storage )
- {
- v9 = v3 - this->_M_impl._M_start;
- __len = 1;
- if ( v9 )
- __len = 2 * v9;
- v20 = (std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *)operator new(8 * __len);
- v10 = this->_M_impl._M_start;
- v11 = v20;
- for ( i = this->_M_impl._M_start; v10 != __position._M_current; i = v10 )
- {
- if ( v11 )
- {
- std::string::string((std::string *)v11, (const std::string *)i);
- v11->second = i->second;
- }
- ++v11;
- ++v10;
- }
- if ( v11 )
- {
- std::string::string((std::string *)v11, (const std::string *)__x);
- v11->second = __x->second;
- }
- v13 = __position._M_current;
- v14 = this->_M_impl._M_finish;
- __cur = (std::string *)&v11[1];
- v15 = __position._M_current;
- if ( __position._M_current != v14 )
- {
- do
- {
- if ( __cur )
- {
- std::string::string(__cur, (const std::string *)v15);
- *((_DWORD *)__cur + 1) = v15->second;
- }
- __cur = (std::string *)((char *)__cur + 8);
- v16 = &v13[1] == v14;
- ++v13;
- v15 = v13;
- }
- while ( !v16 );
- v14 = this->_M_impl._M_finish;
- }
- v17 = this->_M_impl._M_start;
- while ( v17 != v14 )
- {
- v18 = v17->first._M_dataplus._M_p - 12;
- if ( v18 == (char *)&std::string::_Rep::_S_empty_rep_storage
- || __gnu_cxx::__exchange_and_add((volatile int *)v17->first._M_dataplus._M_p - 1, -1) > 0 )
- {
- ++v17;
- }
- else
- {
- std::string::_Rep::_M_destroy(v18, &v22);
- ++v17;
- }
- }
- if ( this->_M_impl._M_start )
- operator delete((IPRegionTable *const )this->_M_impl._M_start);
- this->_M_impl._M_finish = (std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int> *)__cur;
- this->_M_impl._M_start = v20;
- this->_M_impl._M_end_of_storage = &v20[__len];
- }
- else
- {
- if ( v3 )
- {
- std::string::string((std::string *)v3, (const std::string *)&v3[-1]);
- v3->second = v3[-1].second;
- v3 = this->_M_impl._M_finish;
- }
- this->_M_impl._M_finish = v3 + 1;
- std::string::string((std::string *)&__x_copy, (const std::string *)__x);
- __x_copy.second = __x->second;
- v4 = this->_M_impl._M_finish;
- v5 = v4 - 2;
- v6 = &v4[-2] - __position._M_current;
- for ( j = v4 - 1; v6 > 0; --v6 )
- {
- --v5;
- --j;
- std::string::assign((std::string *)j, (const std::string *)v5);
- j->second = v5->second;
- }
- std::string::assign((std::string *)__position._M_current, (const std::string *)&__x_copy);
- __position._M_current->second = __x_copy.second;
- v8 = __x_copy.first._M_dataplus._M_p - 12;
- if ( __x_copy.first._M_dataplus._M_p - 12 != (char *)&std::string::_Rep::_S_empty_rep_storage
- && __gnu_cxx::__exchange_and_add((volatile int *)__x_copy.first._M_dataplus._M_p - 1, -1) <= 0 )
- {
- std::string::_Rep::_M_destroy(v8, &v22);
- }
- }
- }
- // 8049E18: using guessed type int __cdecl std::string::_Rep::_M_destroy(_DWORD, _DWORD);
- //----- (080ACB48) --------------------------------------------------------
- void __cdecl std::vector<unsigned int,std::allocator<unsigned int>>::_M_fill_insert(std::vector<unsigned int,std::allocator<unsigned int> > *const this, __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > __position, size_t __n, const unsigned int *const __x)
- {
- const unsigned int *v4; // esi
- unsigned int *v5; // ecx
- unsigned int v6; // esi
- unsigned int *v7; // ecx
- _DWORD *v8; // ecx
- int v9; // ebx
- size_t v10; // ebx
- unsigned int *v11; // esi
- unsigned int *v12; // ebx
- size_t v13; // edx
- unsigned int v14; // [esp+4h] [ebp-24h]
- char *dest; // [esp+8h] [ebp-20h]
- unsigned int *__last; // [esp+Ch] [ebp-1Ch]
- __gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > > v17; // [esp+10h] [ebp-18h]
- const size_t __old_size; // [esp+14h] [ebp-14h]
- unsigned int __x_copy; // [esp+18h] [ebp-10h]
- v4 = __x;
- if ( __n )
- {
- v5 = this->_M_impl._M_finish;
- __last = this->_M_impl._M_finish;
- if ( (_DWORD)((char *)this->_M_impl._M_end_of_storage - (char *)v5) >> 2 < __n )
- {
- __old_size = v5 - this->_M_impl._M_start;
- v8 = &__n;
- if ( __old_size >= __n )
- v8 = &__old_size;
- v14 = 4 * (*v8 + __old_size);
- dest = (char *)operator new(v14);
- v9 = (char *)__position._M_current - (char *)this->_M_impl._M_start;
- memmove(dest, this->_M_impl._M_start, (char *)__position._M_current - (char *)this->_M_impl._M_start);
- std::fill_n<__gnu_cxx::__normal_iterator<unsigned int *,std::vector<unsigned int,std::allocator<unsigned int>>>,unsigned int,unsigned int>(
- &v17,
- (__gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > >)&dest[v9],
- __n,
- v4);
- v10 = (char *)this->_M_impl._M_finish - (char *)__position._M_current;
- v11 = v17._M_current;
- memmove(v17._M_current, __position._M_current, v10);
- v12 = (unsigned int *)((char *)v11 + v10);
- if ( this->_M_impl._M_start )
- operator delete((IPRegionTable *const )this->_M_impl._M_start);
- this->_M_impl._M_start = (unsigned int *)dest;
- this->_M_impl._M_finish = v12;
- this->_M_impl._M_end_of_storage = (unsigned int *)&dest[v14];
- }
- else
- {
- v6 = v5 - __position._M_current;
- __x_copy = *__x;
- if ( v6 > __n )
- {
- memmove(v5, &v5[-__n], 4 * __n);
- v13 = (size_t)&__last[-__n];
- this->_M_impl._M_finish += __n;
- memmove(
- (char *)__last - ((v13 - (unsigned int)__position._M_current) & 0xFFFFFFFC),
- __position._M_current,
- (v13 - (unsigned int)__position._M_current) & 0xFFFFFFFC);
- std::fill<__gnu_cxx::__normal_iterator<unsigned int *,std::vector<unsigned int,std::allocator<unsigned int>>>,unsigned int>(
- __position,
- (__gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > >)&__position._M_current[__n],
- &__x_copy);
- }
- else
- {
- std::fill_n<unsigned int *,unsigned int,unsigned int>(v5, __n - v6, &__x_copy);
- v7 = &this->_M_impl._M_finish[__n - v6];
- this->_M_impl._M_finish = v7;
- memmove(v7, __position._M_current, (char *)__last - (char *)__position._M_current);
- this->_M_impl._M_finish += v6;
- std::fill<__gnu_cxx::__normal_iterator<unsigned int *,std::vector<unsigned int,std::allocator<unsigned int>>>,unsigned int>(
- __position,
- (__gnu_cxx::__normal_iterator<unsigned int*,std::vector<unsigned int,std::allocator<unsigned int> > >)__last,
- &__x_copy);
- }
- }
- }
- }
- //----- (080ACCCC) --------------------------------------------------------
- void __cdecl std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>::_M_fill_insert(std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > *const this, __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > __position, size_t __n, const DBC::DBCFile::FIELD_TYPE *const __x)
- {
- size_t v4; // esi
- DBC::DBCFile::FIELD_TYPE *v5; // ebx
- unsigned int v6; // edi
- DBC::DBCFile::FIELD_TYPE *v7; // ecx
- DBC::DBCFile::FIELD_TYPE *v8; // edx
- char *v9; // ecx
- DBC::DBCFile::FIELD_TYPE *v10; // ebx
- signed int j; // edx
- _DWORD *v12; // edx
- DBC::DBCFile::FIELD_TYPE *v13; // edi
- DBC::DBCFile::FIELD_TYPE *v14; // eax
- DBC::DBCFile::FIELD_TYPE *v15; // ecx
- DBC::DBCFile::FIELD_TYPE *v16; // ebx
- int v17; // edx
- DBC::DBCFile::FIELD_TYPE *v18; // ebx
- DBC::DBCFile::FIELD_TYPE *v19; // esi
- DBC::DBCFile::FIELD_TYPE *v20; // eax
- DBC::DBCFile::FIELD_TYPE *v21; // ecx
- DBC::DBCFile::FIELD_TYPE *v22; // eax
- bool i; // zf
- DBC::DBCFile::FIELD_TYPE *v24; // esi
- DBC::DBCFile::FIELD_TYPE *v25; // eax
- DBC::DBCFile::FIELD_TYPE *v26; // ecx
- DBC::DBCFile::FIELD_TYPE *v27; // ebx
- DBC::DBCFile::FIELD_TYPE *v28; // edx
- size_t __len; // [esp+0h] [ebp-38h]
- DBC::DBCFile::FIELD_TYPE *v30; // [esp+4h] [ebp-34h]
- const DBC::DBCFile::FIELD_TYPE *__x_0; // [esp+8h] [ebp-30h]
- __gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > > v32; // [esp+14h] [ebp-24h]
- DBC::DBCFile::FIELD_TYPE *v33; // [esp+18h] [ebp-20h]
- const size_t __old_size; // [esp+1Ch] [ebp-1Ch]
- DBC::DBCFile::FIELD_TYPE *v35; // [esp+20h] [ebp-18h]
- DBC::DBCFile::FIELD_TYPE __x_copy; // [esp+24h] [ebp-14h]
- DBC::DBCFile::FIELD_TYPE *v37; // [esp+28h] [ebp-10h]
- v4 = __n;
- __x_0 = __x;
- if ( __n )
- {
- v5 = this->_M_impl._M_finish;
- v30 = this->_M_impl._M_finish;
- if ( (_DWORD)((char *)this->_M_impl._M_end_of_storage - (char *)v5) >> 2 < __n )
- {
- __old_size = v5 - this->_M_impl._M_start;
- v12 = &__n;
- if ( __old_size >= __n )
- v12 = &__old_size;
- __len = *v12 + __old_size;
- v13 = (DBC::DBCFile::FIELD_TYPE *)operator new(4 * __len);
- v14 = this->_M_impl._M_start;
- i = this->_M_impl._M_start == __position._M_current;
- v33 = v14;
- v15 = v13;
- v16 = v14;
- if ( !i )
- {
- do
- {
- if ( v15 )
- *v15 = *v14;
- v17 = (int)(v16 + 1);
- ++v15;
- i = v16 + 1 == __position._M_current;
- v16 = (DBC::DBCFile::FIELD_TYPE *)v17;
- v14 = (DBC::DBCFile::FIELD_TYPE *)v17;
- }
- while ( !i );
- v33 = (DBC::DBCFile::FIELD_TYPE *)v17;
- }
- std::__uninitialized_fill_n_aux<__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE *,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>>,unsigned int,DBC::DBCFile::FIELD_TYPE>(
- &v32,
- (__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > >)v15,
- __n,
- __x_0,
- 0);
- v18 = this->_M_impl._M_finish;
- v19 = v32._M_current;
- v20 = __position._M_current;
- v21 = __position._M_current;
- if ( __position._M_current != v18 )
- {
- do
- {
- if ( v19 )
- *v19 = *v20;
- ++v19;
- i = v21 + 1 == v18;
- ++v21;
- v20 = v21;
- }
- while ( !i );
- }
- v22 = this->_M_impl._M_start;
- for ( i = this->_M_impl._M_start == v18; !i; i = v22 == v18 )
- ++v22;
- if ( this->_M_impl._M_start )
- operator delete((IPRegionTable *const )this->_M_impl._M_start);
- this->_M_impl._M_start = v13;
- this->_M_impl._M_finish = v19;
- this->_M_impl._M_end_of_storage = &v13[__len];
- }
- else
- {
- v6 = v5 - __position._M_current;
- __x_copy = *__x;
- if ( v6 <= __n )
- {
- std::__uninitialized_fill_n_aux<DBC::DBCFile::FIELD_TYPE *,unsigned int,DBC::DBCFile::FIELD_TYPE>(
- v5,
- __n - v6,
- &__x_copy,
- 0);
- v24 = &this->_M_impl._M_finish[__n - v6];
- this->_M_impl._M_finish = v24;
- v25 = __position._M_current;
- v35 = __position._M_current;
- v26 = v24;
- v27 = __position._M_current;
- if ( __position._M_current != v30 )
- {
- do
- {
- if ( v26 )
- *v26 = *v25;
- v28 = v27 + 1;
- ++v26;
- i = v27 + 1 == v30;
- v27 = v28;
- v25 = v28;
- }
- while ( !i );
- v35 = v28;
- }
- this->_M_impl._M_finish = &v24[v6];
- std::fill<__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE *,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>>,DBC::DBCFile::FIELD_TYPE>(
- __position,
- (__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > >)v30,
- &__x_copy);
- }
- else
- {
- v7 = &v5[-__n];
- v8 = v5;
- while ( v7 != v5 )
- {
- if ( v8 )
- *v8 = *v7;
- ++v7;
- ++v8;
- }
- v9 = (char *)&v30[-v4];
- this->_M_impl._M_finish = &v5[v4];
- v10 = v30;
- for ( j = (v9 - (char *)__position._M_current) >> 2; j > 0; --j )
- {
- v9 -= 4;
- --v10;
- *v10 = *(DBC::DBCFile::FIELD_TYPE *)v9;
- }
- v37 = v10;
- std::fill<__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE *,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE>>>,DBC::DBCFile::FIELD_TYPE>(
- __position,
- (__gnu_cxx::__normal_iterator<DBC::DBCFile::FIELD_TYPE*,std::vector<DBC::DBCFile::FIELD_TYPE,std::allocator<DBC::DBCFile::FIELD_TYPE> > >)&__position._M_current[v4],
- &__x_copy);
- }
- }
- }
- }
- //----- (080ACEEC) --------------------------------------------------------
- void __cdecl std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>::reserve(std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > *const this, size_t __n)
- {
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v2; // esi
- signed int v3; // ebx
- char *v4; // edi
- signed int v5; // [esp+4h] [ebp-14h]
- if ( __n > 0x3FFFFFFF )
- std::__throw_length_error("vector::reserve");
- v2 = this->_M_impl._M_start;
- if ( (_DWORD)((char *)this->_M_impl._M_end_of_storage - (char *)this->_M_impl._M_start) >> 2 < __n )
- {
- v3 = (char *)this->_M_impl._M_finish - (char *)v2;
- v5 = v3 >> 2;
- v4 = (char *)operator new(4 * __n);
- memmove(v4, v2, v3);
- if ( this->_M_impl._M_start )
- operator delete((IPRegionTable *const )this->_M_impl._M_start);
- this->_M_impl._M_start = (__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **)v4;
- this->_M_impl._M_finish = (__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **)&v4[4 * v5];
- this->_M_impl._M_end_of_storage = (__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **)&v4[4 * __n];
- }
- }
- //----- (080ACFAC) --------------------------------------------------------
- void __cdecl std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>::_M_fill_insert(std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > *const this, __gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > > __position, size_t __n, __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *const *const __x)
- {
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *const *v4; // esi
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v5; // ecx
- unsigned int v6; // esi
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v7; // ecx
- _DWORD *v8; // ecx
- int v9; // ebx
- size_t v10; // ebx
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v11; // esi
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **v12; // ebx
- size_t v13; // edx
- unsigned int v14; // [esp+4h] [ebp-24h]
- char *dest; // [esp+8h] [ebp-20h]
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **__last; // [esp+Ch] [ebp-1Ch]
- __gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > > v17; // [esp+10h] [ebp-18h]
- const size_t __old_size; // [esp+14h] [ebp-14h]
- __gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > *__x_copy; // [esp+18h] [ebp-10h]
- v4 = __x;
- if ( __n )
- {
- v5 = this->_M_impl._M_finish;
- __last = this->_M_impl._M_finish;
- if ( (_DWORD)((char *)this->_M_impl._M_end_of_storage - (char *)v5) >> 2 < __n )
- {
- __old_size = v5 - this->_M_impl._M_start;
- v8 = &__n;
- if ( __old_size >= __n )
- v8 = &__old_size;
- v14 = 4 * (*v8 + __old_size);
- dest = (char *)operator new(v14);
- v9 = (char *)__position._M_current - (char *)this->_M_impl._M_start;
- memmove(dest, this->_M_impl._M_start, (char *)__position._M_current - (char *)this->_M_impl._M_start);
- std::fill_n<__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> **,std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>>,unsigned int,__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>(
- &v17,
- (__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > >)&dest[v9],
- __n,
- v4);
- v10 = (char *)this->_M_impl._M_finish - (char *)__position._M_current;
- v11 = v17._M_current;
- memmove(v17._M_current, __position._M_current, v10);
- v12 = (__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **)((char *)v11 + v10);
- if ( this->_M_impl._M_start )
- operator delete((IPRegionTable *const )this->_M_impl._M_start);
- this->_M_impl._M_start = (__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **)dest;
- this->_M_impl._M_finish = v12;
- this->_M_impl._M_end_of_storage = (__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> > **)&dest[v14];
- }
- else
- {
- v6 = v5 - __position._M_current;
- __x_copy = *__x;
- if ( v6 > __n )
- {
- memmove(v5, &v5[-__n], 4 * __n);
- v13 = (size_t)&__last[-__n];
- this->_M_impl._M_finish += __n;
- memmove(
- (char *)__last - ((v13 - (unsigned int)__position._M_current) & 0xFFFFFFFC),
- __position._M_current,
- (v13 - (unsigned int)__position._M_current) & 0xFFFFFFFC);
- std::fill<__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> **,std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>>,__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>(
- __position,
- (__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > >)&__position._M_current[__n],
- &__x_copy);
- }
- else
- {
- std::fill_n<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> **,unsigned int,__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>(
- v5,
- __n - v6,
- &__x_copy);
- v7 = &this->_M_impl._M_finish[__n - v6];
- this->_M_impl._M_finish = v7;
- memmove(v7, __position._M_current, (char *)__last - (char *)__position._M_current);
- this->_M_impl._M_finish += v6;
- std::fill<__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> **,std::vector<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>>>,__gnu_cxx::_Hashtable_node<std::pair<int const,DBC::DBCFile::FIELD *>> *>(
- __position,
- (__gnu_cxx::__normal_iterator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >**,std::vector<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*,std::allocator<__gnu_cxx::_Hashtable_node<std::pair<const int,DBC::DBCFile::FIELD*> >*> > >)__last,
- &__x_copy);
- }
- }
- }
- }
- //----- (080AD130) --------------------------------------------------------
- void __cdecl BillPacket::BillPacket(_DWORD *a2)
- {
- *a2 = off_80E5068;
- }
- // 80E5068: using guessed type _DWORD (__cdecl *off_80E5068[2])(BillPacket *this);
- //----- (080AD140) --------------------------------------------------------
- void __cdecl BillPacket::BillPacket(_DWORD *a2)
- {
- *a2 = off_80E5068;
- }
- // 80E5068: using guessed type _DWORD (__cdecl *off_80E5068[2])(BillPacket *this);
- //----- (080AD150) --------------------------------------------------------
- void __cdecl BillPacket::~BillPacket(_DWORD *a2)
- {
- *a2 = off_80E5068;
- }
- // 80E5068: using guessed type _DWORD (__cdecl *off_80E5068[2])(BillPacket *this);
- //----- (080AD160) --------------------------------------------------------
- void __cdecl BillPacket::~BillPacket(_DWORD *a2)
- {
- *a2 = off_80E5068;
- }
- // 80E5068: using guessed type _DWORD (__cdecl *off_80E5068[2])(BillPacket *this);
- //----- (080AD170) --------------------------------------------------------
- void __cdecl BillPacket::~BillPacket(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80E5068;
- operator delete(a2);
- }
- // 80E5068: using guessed type _DWORD (__cdecl *off_80E5068[2])(BillPacket *this);
- //----- (080AD184) --------------------------------------------------------
- void __cdecl _tcf_0_216(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080AD194) --------------------------------------------------------
- void `global constructor keyed to'BillPacket::BillPacket()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_216, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080AD1C0) --------------------------------------------------------
- void __cdecl BillPacketFactoryManager::BillPacketFactoryManager(BillPacketFactoryManager *const this, USHORT nPacketCounts)
- {
- BillPacketFactory **v2; // eax
- UINT *v3; // eax
- int v4; // ebx
- int v5; // edx
- BillPacketFactory **v6; // ecx
- UINT *v7; // eax
- this->_vptr_BillPacketFactoryManager = (int (**)(...))&off_80E50A8;
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- this->m_Factories = 0;
- this->m_Size = nPacketCounts;
- if ( !nPacketCounts )
- __assert__(
- "src/LibNet_BillingPacketFactoryManager.cpp",
- 0xBu,
- "BillPacketFactoryManager::BillPacketFactoryManager(USHORT)",
- "m_Size>0");
- v2 = (BillPacketFactory **)operator new[](4 * this->m_Size);
- this->m_Factories = v2;
- if ( !v2 )
- __assert__(
- "src/LibNet_BillingPacketFactoryManager.cpp",
- 0xEu,
- "BillPacketFactoryManager::BillPacketFactoryManager(USHORT)",
- "m_Factories");
- v3 = (UINT *)operator new[](4 * this->m_Size);
- this->m_pPacketAllocCount = v3;
- if ( !v3 )
- __assert__(
- "src/LibNet_BillingPacketFactoryManager.cpp",
- 0x10u,
- "BillPacketFactoryManager::BillPacketFactoryManager(USHORT)",
- "m_pPacketAllocCount");
- v4 = this->m_Size;
- v5 = 0;
- if ( v4 > 0 )
- {
- v6 = this->m_Factories;
- v7 = this->m_pPacketAllocCount;
- do
- {
- v6[v5] = 0;
- v7[v5++] = 0;
- }
- while ( v4 > v5 );
- }
- }
- // 80E50A8: using guessed type void *off_80E50A8;
- //----- (080AD2C0) --------------------------------------------------------
- void __cdecl BillPacketFactoryManager::BillPacketFactoryManager(BillPacketFactoryManager *const this, USHORT nPacketCounts)
- {
- BillPacketFactory **v2; // eax
- UINT *v3; // eax
- int v4; // ebx
- int v5; // edx
- BillPacketFactory **v6; // ecx
- UINT *v7; // eax
- this->_vptr_BillPacketFactoryManager = (int (**)(...))&off_80E50A8;
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- this->m_Factories = 0;
- this->m_Size = nPacketCounts;
- if ( !nPacketCounts )
- __assert__(
- "src/LibNet_BillingPacketFactoryManager.cpp",
- 0xBu,
- "BillPacketFactoryManager::BillPacketFactoryManager(USHORT)",
- "m_Size>0");
- v2 = (BillPacketFactory **)operator new[](4 * this->m_Size);
- this->m_Factories = v2;
- if ( !v2 )
- __assert__(
- "src/LibNet_BillingPacketFactoryManager.cpp",
- 0xEu,
- "BillPacketFactoryManager::BillPacketFactoryManager(USHORT)",
- "m_Factories");
- v3 = (UINT *)operator new[](4 * this->m_Size);
- this->m_pPacketAllocCount = v3;
- if ( !v3 )
- __assert__(
- "src/LibNet_BillingPacketFactoryManager.cpp",
- 0x10u,
- "BillPacketFactoryManager::BillPacketFactoryManager(USHORT)",
- "m_pPacketAllocCount");
- v4 = this->m_Size;
- v5 = 0;
- if ( v4 > 0 )
- {
- v6 = this->m_Factories;
- v7 = this->m_pPacketAllocCount;
- do
- {
- v6[v5] = 0;
- v7[v5++] = 0;
- }
- while ( v4 > v5 );
- }
- }
- // 80E50A8: using guessed type void *off_80E50A8;
- //----- (080AD3C0) --------------------------------------------------------
- void __cdecl BillPacketFactoryManager::~BillPacketFactoryManager(BillPacketFactoryManager *const this)
- {
- BillPacketFactory **v1; // ecx
- USHORT v2; // bx
- signed int v3; // esi
- BillPacketFactory *v4; // edx
- v1 = this->m_Factories;
- this->_vptr_BillPacketFactoryManager = (int (**)(...))&off_80E50A8;
- if ( !v1 )
- __assert__(
- "src/LibNet_BillingPacketFactoryManager.cpp",
- 0x1Bu,
- "virtual BillPacketFactoryManager::~BillPacketFactoryManager()",
- "m_Factories!=NULL");
- v2 = this->m_Size;
- v3 = 0;
- if ( v2 )
- {
- do
- {
- v4 = v1[v3];
- if ( v4 )
- {
- (*((void (__cdecl **)(BillPacketFactory *))v4->_vptr_BillPacketFactory + 1))(v1[v3]);
- v1 = this->m_Factories;
- v2 = this->m_Size;
- v1[v3] = 0;
- }
- ++v3;
- }
- while ( v2 > v3 );
- }
- if ( v1 )
- {
- operator delete[](v1);
- this->m_Factories = 0;
- }
- if ( this->m_pPacketAllocCount )
- {
- operator delete[](this->m_pPacketAllocCount);
- this->m_pPacketAllocCount = 0;
- }
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- }
- // 80E50A8: using guessed type void *off_80E50A8;
- //----- (080AD4B0) --------------------------------------------------------
- void __cdecl BillPacketFactoryManager::~BillPacketFactoryManager(BillPacketFactoryManager *const this)
- {
- BillPacketFactory **v1; // ecx
- USHORT v2; // bx
- signed int v3; // esi
- BillPacketFactory *v4; // edx
- v1 = this->m_Factories;
- this->_vptr_BillPacketFactoryManager = (int (**)(...))&off_80E50A8;
- if ( !v1 )
- __assert__(
- "src/LibNet_BillingPacketFactoryManager.cpp",
- 0x1Bu,
- "virtual BillPacketFactoryManager::~BillPacketFactoryManager()",
- "m_Factories!=NULL");
- v2 = this->m_Size;
- v3 = 0;
- if ( v2 )
- {
- do
- {
- v4 = v1[v3];
- if ( v4 )
- {
- (*((void (__cdecl **)(BillPacketFactory *))v4->_vptr_BillPacketFactory + 1))(v1[v3]);
- v1 = this->m_Factories;
- v2 = this->m_Size;
- v1[v3] = 0;
- }
- ++v3;
- }
- while ( v2 > v3 );
- }
- if ( v1 )
- {
- operator delete[](v1);
- this->m_Factories = 0;
- }
- if ( this->m_pPacketAllocCount )
- {
- operator delete[](this->m_pPacketAllocCount);
- this->m_pPacketAllocCount = 0;
- }
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- }
- // 80E50A8: using guessed type void *off_80E50A8;
- //----- (080AD5A0) --------------------------------------------------------
- void __cdecl BillPacketFactoryManager::~BillPacketFactoryManager(BillPacketFactoryManager *const this)
- {
- BillPacketFactory **v1; // ecx
- USHORT v2; // bx
- signed int v3; // esi
- BillPacketFactory *v4; // edx
- v1 = this->m_Factories;
- this->_vptr_BillPacketFactoryManager = (int (**)(...))&off_80E50A8;
- if ( !v1 )
- __assert__(
- "src/LibNet_BillingPacketFactoryManager.cpp",
- 0x1Bu,
- "virtual BillPacketFactoryManager::~BillPacketFactoryManager()",
- "m_Factories!=NULL");
- v2 = this->m_Size;
- v3 = 0;
- if ( v2 )
- {
- do
- {
- v4 = v1[v3];
- if ( v4 )
- {
- (*((void (__cdecl **)(BillPacketFactory *))v4->_vptr_BillPacketFactory + 1))(v1[v3]);
- v1 = this->m_Factories;
- v2 = this->m_Size;
- v1[v3] = 0;
- }
- ++v3;
- }
- while ( v2 > v3 );
- }
- if ( v1 )
- {
- operator delete[](v1);
- this->m_Factories = 0;
- }
- if ( this->m_pPacketAllocCount )
- {
- operator delete[](this->m_pPacketAllocCount);
- this->m_pPacketAllocCount = 0;
- }
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- operator delete((IPRegionTable *const )this);
- }
- // 80E50A8: using guessed type void *off_80E50A8;
- //----- (080AD6A0) --------------------------------------------------------
- void __cdecl BillPacketFactoryManager::AddFactory(BillPacketFactoryManager *const this, BillPacketFactory *pFactory)
- {
- if ( this->m_Factories[(*((unsigned __int8 (__cdecl **)(BillPacketFactory *))pFactory->_vptr_BillPacketFactory + 3))(pFactory)] )
- __assert__(
- "src/LibNet_BillingPacketFactoryManager.cpp",
- 0x2Bu,
- "void BillPacketFactoryManager::AddFactory(BillPacketFactory*)",
- "FALSE");
- this->m_Factories[(*((unsigned __int8 (__cdecl **)(BillPacketFactory *))pFactory->_vptr_BillPacketFactory + 3))(pFactory)] = pFactory;
- }
- //----- (080AD700) --------------------------------------------------------
- BillPacket *__cdecl BillPacketFactoryManager::CreatePacket(BillPacketFactoryManager *const this, BPacketID_t packetID)
- {
- BillPacket *v2; // edi
- if ( packetID >= (unsigned int)this->m_Size || !this->m_Factories[packetID] )
- __assert__(
- "src/LibNet_BillingPacketFactoryManager.cpp",
- 0x36u,
- "BillPacket* BillPacketFactoryManager::CreatePacket(BPacketID_t)",
- "FALSE");
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v2 = (BillPacket *)(*((int (__cdecl **)(BillPacketFactory *))this->m_Factories[packetID]->_vptr_BillPacketFactory + 2))(this->m_Factories[packetID]);
- ++this->m_pPacketAllocCount[packetID];
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- if ( !v2 )
- __assert__(
- "src/LibNet_BillingPacketFactoryManager.cpp",
- 0x47u,
- "BillPacket* BillPacketFactoryManager::CreatePacket(BPacketID_t)",
- "pPacket");
- return v2;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (080AD7D0) --------------------------------------------------------
- UINT __cdecl BillPacketFactoryManager::GetPacketMaxSize(BillPacketFactoryManager *const this, BPacketID_t packetID)
- {
- int v2; // ecx
- int v3; // ST1C_4
- UINT v4; // ebx
- char buff[256]; // [esp+0h] [ebp-118h]
- if ( packetID >= (unsigned int)this->m_Size || !this->m_Factories[packetID] )
- {
- v3 = v2;
- memset(buff, 0, 0x100u);
- sprintf(buff, "Warning:Packet of PacketID= %d has not been registered in BillPacketFactoryManager", packetID, v3);
- __assertex__(
- "src/LibNet_BillingPacketFactoryManager.cpp",
- 0x51u,
- "UINT BillPacketFactoryManager::GetPacketMaxSize(BPacketID_t)",
- "FALSE",
- buff);
- }
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v4 = (*((int (__cdecl **)(BillPacketFactory *))this->m_Factories[packetID]->_vptr_BillPacketFactory + 4))(this->m_Factories[packetID]);
- pthread_mutex_unlock(&this->m_Lock.m_Mutex);
- return v4;
- }
- //----- (080AD874) --------------------------------------------------------
- #error "80AD904: call analysis failed (funcsize=61)"
- //----- (080AD940) --------------------------------------------------------
- void __cdecl _tcf_0_217(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080AD950) --------------------------------------------------------
- void `global constructor keyed to'BillPacketFactoryManager::BillPacketFactoryManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_217, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080AD97C) --------------------------------------------------------
- void __cdecl SocketBillingInputStream::SocketBillingInputStream(Socket *sock, UINT BufferLen, UINT MaxBufferLen, UINT MaxBufferLena)
- {
- SocketInputStream::SocketInputStream(
- (SocketInputStream *const )sock,
- (Socket *)BufferLen,
- MaxBufferLen,
- MaxBufferLena);
- sock->_vptr_Socket = (int (**)(...))&off_80E5320;
- }
- // 80E5320: using guessed type _DWORD (__cdecl *off_80E5320)(SocketBillingInputStream *this);
- //----- (080AD9A4) --------------------------------------------------------
- void __cdecl SocketBillingInputStream::SocketBillingInputStream(Socket *sock, UINT BufferLen, UINT MaxBufferLen, UINT MaxBufferLena)
- {
- SocketInputStream::SocketInputStream(
- (SocketInputStream *const )sock,
- (Socket *)BufferLen,
- MaxBufferLen,
- MaxBufferLena);
- sock->_vptr_Socket = (int (**)(...))&off_80E5320;
- }
- // 80E5320: using guessed type _DWORD (__cdecl *off_80E5320)(SocketBillingInputStream *this);
- //----- (080AD9CC) --------------------------------------------------------
- BOOL __cdecl SocketBillingInputStream::ReadPacket(SocketBillingInputStream *const this, BillPacket *pPacket)
- {
- BOOL v2; // eax
- BOOL v3; // edx
- int v5; // eax
- v2 = SocketInputStream::Skip(&this->0, 7u);
- v3 = 0;
- if ( v2 )
- {
- v5 = (*((int (__cdecl **)(BillPacket *, SocketBillingInputStream *const ))pPacket->_vptr_BillPacket + 2))(
- pPacket,
- this);
- v3 = 0;
- if ( v5 )
- {
- SocketInputStream::Skip(&this->0, 2u);
- v3 = 1;
- }
- }
- return v3;
- }
- //----- (080ADA1C) --------------------------------------------------------
- void __cdecl _tcf_0_218(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080ADA2C) --------------------------------------------------------
- void `global constructor keyed to'SocketBillingInputStream::SocketBillingInputStream()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_218, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080ADA58) --------------------------------------------------------
- void __cdecl SocketBillingInputStream::~SocketBillingInputStream(SocketInputStream *a2)
- {
- a2->_vptr_SocketInputStream = (int (**)(...))&off_80E5320;
- SocketInputStream::~SocketInputStream(a2);
- }
- // 80E5320: using guessed type _DWORD (__cdecl *off_80E5320)(SocketBillingInputStream *this);
- //----- (080ADA74) --------------------------------------------------------
- void __cdecl SocketBillingInputStream::~SocketBillingInputStream(SocketInputStream *a2)
- {
- a2->_vptr_SocketInputStream = (int (**)(...))&off_80E5320;
- SocketInputStream::~SocketInputStream(a2);
- operator delete((IPRegionTable *const )a2);
- }
- // 80E5320: using guessed type _DWORD (__cdecl *off_80E5320)(SocketBillingInputStream *this);
- //----- (080ADA9C) --------------------------------------------------------
- void __cdecl SocketBillingOutputStream::SocketBillingOutputStream(Socket *sock, UINT BufferSize, UINT MaxBufferSize, UINT MaxBufferSizea)
- {
- SocketOutputStream::SocketOutputStream(
- (SocketOutputStream *const )sock,
- (Socket *)BufferSize,
- MaxBufferSize,
- MaxBufferSizea);
- sock->_vptr_Socket = (int (**)(...))&off_80E5358;
- }
- // 80E5358: using guessed type _DWORD (__cdecl *off_80E5358)(SocketBillingOutputStream *this);
- //----- (080ADAC4) --------------------------------------------------------
- void __cdecl SocketBillingOutputStream::SocketBillingOutputStream(Socket *sock, UINT BufferSize, UINT MaxBufferSize, UINT MaxBufferSizea)
- {
- SocketOutputStream::SocketOutputStream(
- (SocketOutputStream *const )sock,
- (Socket *)BufferSize,
- MaxBufferSize,
- MaxBufferSizea);
- sock->_vptr_Socket = (int (**)(...))&off_80E5358;
- }
- // 80E5358: using guessed type _DWORD (__cdecl *off_80E5358)(SocketBillingOutputStream *this);
- //----- (080ADAEC) --------------------------------------------------------
- BOOL __cdecl SocketBillingOutputStream::WritePacket(SocketOutputStream *a3, int a4)
- {
- int v4; // ebx
- USHORT nTail; // [esp+Ah] [ebp-12h]
- USHORT PacketIndex; // [esp+Ch] [ebp-10h]
- BYTE bPacketID; // [esp+Fh] [ebp-Dh]
- USHORT packetSize; // [esp+10h] [ebp-Ch]
- USHORT nHead; // [esp+12h] [ebp-Ah]
- v4 = a4;
- nHead = 21930;
- SocketOutputStream::Write(a3, (const CHAR *)&nHead, 2u);
- packetSize = __ROR2__((*(int (__cdecl **)(int))(*(_DWORD *)v4 + 24))(v4) + 3, 8);
- SocketOutputStream::Write(a3, (const CHAR *)&packetSize, 2u);
- bPacketID = (*(int (__cdecl **)(int))(*(_DWORD *)v4 + 20))(v4);
- SocketOutputStream::Write(a3, (const CHAR *)&bPacketID, 1u);
- PacketIndex = __ROR2__(*(_WORD *)(a4 + 4), 8);
- SocketOutputStream::Write(a3, (const CHAR *)&PacketIndex, 2u);
- (*(void (__cdecl **)(int, SocketOutputStream *))(*(_DWORD *)v4 + 12))(v4, a3);
- nTail = -21931;
- SocketOutputStream::Write(a3, (const CHAR *)&nTail, 2u);
- return 1;
- }
- //----- (080ADB94) --------------------------------------------------------
- void __cdecl _tcf_0_219(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080ADBA4) --------------------------------------------------------
- void `global constructor keyed to'SocketBillingOutputStream::SocketBillingOutputStream()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_219, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080ADBD0) --------------------------------------------------------
- void __cdecl SocketBillingOutputStream::~SocketBillingOutputStream(SocketOutputStream *a2)
- {
- a2->_vptr_SocketOutputStream = (int (**)(...))&off_80E5358;
- SocketOutputStream::~SocketOutputStream(a2);
- }
- // 80E5358: using guessed type _DWORD (__cdecl *off_80E5358)(SocketBillingOutputStream *this);
- //----- (080ADBEC) --------------------------------------------------------
- void __cdecl SocketBillingOutputStream::~SocketBillingOutputStream(SocketOutputStream *a2)
- {
- a2->_vptr_SocketOutputStream = (int (**)(...))&off_80E5358;
- SocketOutputStream::~SocketOutputStream(a2);
- operator delete((IPRegionTable *const )a2);
- }
- // 80E5358: using guessed type _DWORD (__cdecl *off_80E5358)(SocketBillingOutputStream *this);
- //----- (080ADC14) --------------------------------------------------------
- void __cdecl Packet::Packet(int a2)
- {
- *(_DWORD *)a2 = off_80E53A8;
- *(_BYTE *)(a2 + 4) = 0;
- *(_BYTE *)(a2 + 5) = 0;
- *(_DWORD *)(a2 + 8) = 0;
- }
- // 80E53A8: using guessed type _DWORD (__cdecl *off_80E53A8[2])(Packet *this);
- //----- (080ADC34) --------------------------------------------------------
- void __cdecl Packet::Packet(int a2)
- {
- *(_DWORD *)a2 = off_80E53A8;
- *(_BYTE *)(a2 + 4) = 0;
- *(_BYTE *)(a2 + 5) = 0;
- *(_DWORD *)(a2 + 8) = 0;
- }
- // 80E53A8: using guessed type _DWORD (__cdecl *off_80E53A8[2])(Packet *this);
- //----- (080ADC54) --------------------------------------------------------
- void __cdecl Packet::~Packet(_DWORD *a2)
- {
- *a2 = off_80E53A8;
- }
- // 80E53A8: using guessed type _DWORD (__cdecl *off_80E53A8[2])(Packet *this);
- //----- (080ADC64) --------------------------------------------------------
- void __cdecl Packet::~Packet(_DWORD *a2)
- {
- *a2 = off_80E53A8;
- }
- // 80E53A8: using guessed type _DWORD (__cdecl *off_80E53A8[2])(Packet *this);
- //----- (080ADC74) --------------------------------------------------------
- void __cdecl Packet::~Packet(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80E53A8;
- operator delete(a2);
- }
- // 80E53A8: using guessed type _DWORD (__cdecl *off_80E53A8[2])(Packet *this);
- //----- (080ADC88) --------------------------------------------------------
- void __cdecl _tcf_0_220(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080ADC98) --------------------------------------------------------
- void `global constructor keyed to'Packet::Packet()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_220, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080ADCC4) --------------------------------------------------------
- void __cdecl PacketFactoryManager::PacketFactoryManager(PacketFactoryManager *const this, USHORT nPacketCounts, BOOL bAutoLock)
- {
- UINT *v3; // eax
- int v4; // ebx
- int v5; // edx
- PacketFactory **v6; // ecx
- MyLock *v7; // ebx
- this->m_Size = nPacketCounts;
- this->_vptr_PacketFactoryManager = (int (**)(...))&off_80E53E8;
- this->m_Factories = 0;
- this->m_Factories = (PacketFactory **)operator new[](4 * nPacketCounts);
- v3 = (UINT *)operator new[](4 * this->m_Size);
- v4 = this->m_Size;
- v5 = 0;
- this->m_pPacketAllocCount = v3;
- if ( v4 > 0 )
- {
- v6 = this->m_Factories;
- do
- {
- v6[v5] = 0;
- v3[v5++] = 0;
- }
- while ( v4 > v5 );
- }
- if ( bAutoLock )
- {
- v7 = (MyLock *)operator new(0x18u);
- pthread_mutex_init(&v7->m_Mutex, 0);
- this->m_Lock = v7;
- }
- }
- // 80E53E8: using guessed type void *off_80E53E8;
- //----- (080ADD5C) --------------------------------------------------------
- void __cdecl PacketFactoryManager::PacketFactoryManager(PacketFactoryManager *const this, USHORT nPacketCounts, BOOL bAutoLock)
- {
- UINT *v3; // eax
- int v4; // ebx
- int v5; // edx
- PacketFactory **v6; // ecx
- MyLock *v7; // ebx
- this->m_Size = nPacketCounts;
- this->_vptr_PacketFactoryManager = (int (**)(...))&off_80E53E8;
- this->m_Factories = 0;
- this->m_Factories = (PacketFactory **)operator new[](4 * nPacketCounts);
- v3 = (UINT *)operator new[](4 * this->m_Size);
- v4 = this->m_Size;
- v5 = 0;
- this->m_pPacketAllocCount = v3;
- if ( v4 > 0 )
- {
- v6 = this->m_Factories;
- do
- {
- v6[v5] = 0;
- v3[v5++] = 0;
- }
- while ( v4 > v5 );
- }
- if ( bAutoLock )
- {
- v7 = (MyLock *)operator new(0x18u);
- pthread_mutex_init(&v7->m_Mutex, 0);
- this->m_Lock = v7;
- }
- }
- // 80E53E8: using guessed type void *off_80E53E8;
- //----- (080ADDF4) --------------------------------------------------------
- void __cdecl PacketFactoryManager::~PacketFactoryManager(PacketFactoryManager *const this)
- {
- MyLock *v1; // eax
- USHORT v2; // cx
- signed int v3; // esi
- PacketFactory **v4; // ebx
- PacketFactory *v5; // edx
- UINT *v6; // eax
- pthread_mutex_t *autolock; // [esp+0h] [ebp-28h]
- v1 = this->m_Lock;
- this->_vptr_PacketFactoryManager = (int (**)(...))&off_80E53E8;
- autolock = &v1->m_Mutex;
- if ( v1 )
- pthread_mutex_lock(&v1->m_Mutex);
- v2 = this->m_Size;
- v3 = 0;
- if ( v2 )
- {
- v4 = this->m_Factories;
- do
- {
- v5 = v4[v3];
- if ( v5 )
- {
- (*((void (__cdecl **)(PacketFactory *))v5->_vptr_PacketFactory + 1))(v4[v3]);
- v4 = this->m_Factories;
- v2 = this->m_Size;
- v4[v3] = 0;
- }
- ++v3;
- }
- while ( v2 > v3 );
- }
- else
- {
- v4 = this->m_Factories;
- }
- if ( v4 )
- {
- operator delete[](v4);
- v6 = this->m_pPacketAllocCount;
- this->m_Factories = 0;
- if ( !v6 )
- goto LABEL_10;
- }
- else
- {
- v6 = this->m_pPacketAllocCount;
- if ( !v6 )
- goto LABEL_10;
- }
- operator delete[](v6);
- this->m_pPacketAllocCount = 0;
- LABEL_10:
- if ( autolock )
- pthread_mutex_unlock(autolock);
- }
- // 80E53E8: using guessed type void *off_80E53E8;
- //----- (080ADEDF) --------------------------------------------------------
- void __usercall sub_80ADEDF(pthread_mutex_t *a1@<eax>, int a2@<ebp>)
- {
- pthread_mutex_unlock(a1);
- *(_DWORD *)(a2 - 40) = 0;
- JUMPOUT(&loc_80ADE81);
- }
- //----- (080ADEF4) --------------------------------------------------------
- void __cdecl PacketFactoryManager::~PacketFactoryManager(PacketFactoryManager *const this)
- {
- MyLock *v1; // eax
- USHORT v2; // cx
- signed int v3; // esi
- PacketFactory **v4; // ebx
- PacketFactory *v5; // edx
- UINT *v6; // eax
- pthread_mutex_t *autolock; // [esp+0h] [ebp-28h]
- v1 = this->m_Lock;
- this->_vptr_PacketFactoryManager = (int (**)(...))&off_80E53E8;
- autolock = &v1->m_Mutex;
- if ( v1 )
- pthread_mutex_lock(&v1->m_Mutex);
- v2 = this->m_Size;
- v3 = 0;
- if ( v2 )
- {
- v4 = this->m_Factories;
- do
- {
- v5 = v4[v3];
- if ( v5 )
- {
- (*((void (__cdecl **)(PacketFactory *))v5->_vptr_PacketFactory + 1))(v4[v3]);
- v4 = this->m_Factories;
- v2 = this->m_Size;
- v4[v3] = 0;
- }
- ++v3;
- }
- while ( v2 > v3 );
- }
- else
- {
- v4 = this->m_Factories;
- }
- if ( v4 )
- {
- operator delete[](v4);
- v6 = this->m_pPacketAllocCount;
- this->m_Factories = 0;
- if ( !v6 )
- goto LABEL_10;
- }
- else
- {
- v6 = this->m_pPacketAllocCount;
- if ( !v6 )
- goto LABEL_10;
- }
- operator delete[](v6);
- this->m_pPacketAllocCount = 0;
- LABEL_10:
- if ( autolock )
- pthread_mutex_unlock(autolock);
- }
- // 80E53E8: using guessed type void *off_80E53E8;
- //----- (080ADFDF) --------------------------------------------------------
- void __usercall sub_80ADFDF(pthread_mutex_t *a1@<eax>, int a2@<ebp>)
- {
- pthread_mutex_unlock(a1);
- *(_DWORD *)(a2 - 40) = 0;
- JUMPOUT(&loc_80ADF81);
- }
- //----- (080ADFF4) --------------------------------------------------------
- void __cdecl PacketFactoryManager::~PacketFactoryManager(PacketFactoryManager *const this)
- {
- MyLock *v1; // eax
- USHORT v2; // cx
- signed int v3; // esi
- PacketFactory **v4; // ebx
- PacketFactory *v5; // edx
- UINT *v6; // eax
- pthread_mutex_t *autolock; // [esp+0h] [ebp-28h]
- v1 = this->m_Lock;
- this->_vptr_PacketFactoryManager = (int (**)(...))&off_80E53E8;
- autolock = &v1->m_Mutex;
- if ( v1 )
- pthread_mutex_lock(&v1->m_Mutex);
- v2 = this->m_Size;
- v3 = 0;
- if ( v2 )
- {
- v4 = this->m_Factories;
- do
- {
- v5 = v4[v3];
- if ( v5 )
- {
- (*((void (__cdecl **)(PacketFactory *))v5->_vptr_PacketFactory + 1))(v4[v3]);
- v4 = this->m_Factories;
- v2 = this->m_Size;
- v4[v3] = 0;
- }
- ++v3;
- }
- while ( v2 > v3 );
- }
- else
- {
- v4 = this->m_Factories;
- }
- if ( v4 )
- {
- operator delete[](v4);
- v6 = this->m_pPacketAllocCount;
- this->m_Factories = 0;
- if ( !v6 )
- goto LABEL_10;
- }
- else
- {
- v6 = this->m_pPacketAllocCount;
- if ( !v6 )
- goto LABEL_10;
- }
- operator delete[](v6);
- this->m_pPacketAllocCount = 0;
- LABEL_10:
- if ( autolock )
- pthread_mutex_unlock(autolock);
- operator delete((IPRegionTable *const )this);
- }
- // 80E53E8: using guessed type void *off_80E53E8;
- //----- (080AE0FF) --------------------------------------------------------
- void __usercall sub_80AE0FF(pthread_mutex_t *a1@<eax>, int a2@<ebp>)
- {
- pthread_mutex_unlock(a1);
- *(_DWORD *)(a2 - 40) = 0;
- JUMPOUT(&loc_80AE091);
- }
- //----- (080AE118) --------------------------------------------------------
- void __cdecl PacketFactoryManager::AddFactory(PacketFactoryManager *const this, PacketFactory *pFactory)
- {
- if ( !this->m_Factories[(*((unsigned __int16 (__cdecl **)(PacketFactory *))pFactory->_vptr_PacketFactory + 3))(pFactory)] )
- this->m_Factories[(*((unsigned __int16 (__cdecl **)(PacketFactory *))pFactory->_vptr_PacketFactory + 3))(pFactory)] = pFactory;
- }
- //----- (080AE160) --------------------------------------------------------
- Packet *__cdecl PacketFactoryManager::CreatePacket(PacketFactoryManager *const this, PacketID_t packetID)
- {
- PacketFactory *v2; // edx
- Packet *result; // eax
- Packet *v4; // ebx
- UINT *v5; // eax
- CHAR **v6; // eax
- UINT *v7; // [esp-4h] [ebp-13Ch]
- CHAR szErr[260]; // [esp+0h] [ebp-138h]
- AutoLock_T autolock; // [esp+110h] [ebp-28h]
- autolock.m_pLock = this->m_Lock;
- if ( autolock.m_pLock )
- pthread_mutex_lock(&autolock.m_pLock->m_Mutex);
- if ( this->m_Size > packetID && (v2 = this->m_Factories[packetID]) != 0 )
- {
- v4 = (Packet *)(*((int (__cdecl **)(PacketFactory *))v2->_vptr_PacketFactory + 2))(v2);
- v5 = this->m_pPacketAllocCount;
- ++v5[packetID];
- if ( !v4 )
- {
- v7 = v5;
- memset(szErr, 0, 0x104u);
- snprintf(szErr, 0x104u, "[PacketFactoryManager::CreatePacket] create packet(%d) failed!!", packetID);
- szErr[259] = 0;
- v6 = (CHAR **)__cxa_allocate_exception(4);
- *v6 = szErr;
- __cxa_throw(v6, &`typeinfo for'char *, 0, v7);
- }
- if ( autolock.m_pLock )
- {
- pthread_mutex_unlock(&autolock.m_pLock->m_Mutex);
- result = v4;
- autolock.m_pLock = 0;
- }
- else
- {
- result = v4;
- }
- }
- else
- {
- if ( autolock.m_pLock )
- {
- pthread_mutex_unlock(&autolock.m_pLock->m_Mutex);
- autolock.m_pLock = 0;
- }
- result = 0;
- }
- return result;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- // 8049DA8: using guessed type int __cdecl __cxa_allocate_exception(_DWORD);
- // 804A1C8: using guessed type int __stdcall __cxa_throw(_DWORD, _DWORD, _DWORD, _DWORD);
- //----- (080AE274) --------------------------------------------------------
- void __usercall sub_80AE274(pthread_mutex_t *a1@<eax>, int a2@<ebp>)
- {
- pthread_mutex_unlock(a1);
- *(_DWORD *)(a2 - 40) = 0;
- JUMPOUT(&loc_80AE251);
- }
- //----- (080AE28C) --------------------------------------------------------
- UINT __cdecl PacketFactoryManager::GetPacketMaxSize(PacketFactoryManager *const this, PacketID_t packetID)
- {
- _DWORD *v2; // eax
- int v3; // edx
- char **v4; // eax
- UINT v5; // ebx
- int v7; // [esp-Ch] [ebp-144h]
- int v8; // [esp-8h] [ebp-140h]
- int v9; // [esp-4h] [ebp-13Ch]
- _DWORD *v10; // [esp-4h] [ebp-13Ch]
- char buff[260]; // [esp+0h] [ebp-138h]
- AutoLock_T autolock; // [esp+110h] [ebp-28h]
- autolock.m_pLock = this->m_Lock;
- v2 = autolock.m_pLock;
- if ( autolock.m_pLock )
- v2 = (_DWORD *)pthread_mutex_lock(&autolock.m_pLock->m_Mutex);
- if ( this->m_Size <= packetID || (v2 = this->m_Factories, (v3 = v2[packetID]) == 0) )
- {
- v10 = v2;
- memset(buff, 0, 0x104u);
- snprintf(buff, 0x104u, "Warning:Packet of PacketID= %d has not been registered in PacketFactoryManager", packetID);
- v4 = (char **)__cxa_allocate_exception(4);
- *v4 = buff;
- __cxa_throw(v4, &`typeinfo for'char *, 0, v10);
- }
- v5 = (*(int (__stdcall **)(int, int, int, int))(*(_DWORD *)v3 + 16))(v3, v7, v8, v9);
- if ( autolock.m_pLock )
- {
- pthread_mutex_unlock(&autolock.m_pLock->m_Mutex);
- autolock.m_pLock = 0;
- }
- return v5;
- }
- // 8049DA8: using guessed type int __cdecl __cxa_allocate_exception(_DWORD);
- // 804A1C8: using guessed type int __stdcall __cxa_throw(_DWORD, _DWORD, _DWORD, _DWORD);
- //----- (080AE364) --------------------------------------------------------
- void __cdecl PacketFactoryManager::RemovePacket(PacketFactoryManager *const this, Packet *pPacket)
- {
- MyLock *v2; // eax
- USHORT v3; // ax
- int v4; // edi
- MyLock *autolock; // [esp+0h] [ebp-28h]
- v2 = this->m_Lock;
- autolock = this->m_Lock;
- if ( v2 )
- pthread_mutex_lock(&v2->m_Mutex);
- if ( pPacket )
- {
- v3 = (*((int (__cdecl **)(Packet *))pPacket->_vptr_Packet + 5))(pPacket);
- v4 = v3;
- if ( this->m_Size > v3 )
- {
- (*((void (__cdecl **)(Packet *))pPacket->_vptr_Packet + 1))(pPacket);
- --this->m_pPacketAllocCount[v4];
- }
- }
- if ( autolock )
- pthread_mutex_unlock(&autolock->m_Mutex);
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (080AE3F7) --------------------------------------------------------
- void __usercall sub_80AE3F7(pthread_mutex_t *a1@<eax>, int a2@<ebp>)
- {
- pthread_mutex_unlock(a1);
- *(_DWORD *)(a2 - 40) = 0;
- JUMPOUT(&loc_80AE3BD);
- }
- //----- (080AE420) --------------------------------------------------------
- UINT __cdecl PacketFactoryManager::GetPacketAllocCount(const PacketFactoryManager *const this, PacketID_t packetID)
- {
- UINT v2; // ecx
- v2 = 0;
- if ( packetID < (unsigned int)this->m_Size )
- v2 = this->m_pPacketAllocCount[packetID];
- return v2;
- }
- //----- (080AE440) --------------------------------------------------------
- void __cdecl _tcf_0_221(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080AE450) --------------------------------------------------------
- void `global constructor keyed to'PacketFactoryManager::PacketFactoryManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_221, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080AE47C) --------------------------------------------------------
- void __cdecl Player::Player(Player *const this, UINT inputBufSize, UINT inputBufMaxSize, UINT outBufSize, UINT outBufMaxSize)
- {
- Socket *v5; // ebx
- SocketInputStream *v6; // ebx
- SocketOutputStream *v7; // ebx
- this->_vptr_Player = (int (**)(...))off_80E54C8;
- v5 = (Socket *)operator new(0x34u);
- Socket::Socket(v5);
- this->m_pSocket = v5;
- if ( !v5 )
- __assert__("src/LibNet_ServerPlayer.cpp", 0xDu, "Player::Player(UINT, UINT, UINT, UINT)", "m_pSocket");
- v6 = (SocketInputStream *)operator new(0x1Cu);
- SocketInputStream::SocketInputStream(v6, this->m_pSocket, inputBufSize, inputBufMaxSize);
- this->m_pSocketInputStream = v6;
- if ( !v6 )
- __assert__("src/LibNet_ServerPlayer.cpp", 0x11u, "Player::Player(UINT, UINT, UINT, UINT)", "m_pSocketInputStream");
- v7 = (SocketOutputStream *)operator new(0x1Cu);
- SocketOutputStream::SocketOutputStream(v7, this->m_pSocket, outBufSize, outBufMaxSize);
- this->m_pSocketOutputStream = v7;
- if ( !v7 )
- __assert__("src/LibNet_ServerPlayer.cpp", 0x15u, "Player::Player(UINT, UINT, UINT, UINT)", "m_pSocketOutputStream");
- }
- // 80E54C8: using guessed type _DWORD (__cdecl *off_80E54C8[2])(Player *this, UINT *const socketRet);
- //----- (080AE590) --------------------------------------------------------
- void __cdecl Player::Player(Player *const this, UINT inputBufSize, UINT inputBufMaxSize, UINT outBufSize, UINT outBufMaxSize)
- {
- Socket *v5; // ebx
- SocketInputStream *v6; // ebx
- SocketOutputStream *v7; // ebx
- this->_vptr_Player = (int (**)(...))off_80E54C8;
- v5 = (Socket *)operator new(0x34u);
- Socket::Socket(v5);
- this->m_pSocket = v5;
- if ( !v5 )
- __assert__("src/LibNet_ServerPlayer.cpp", 0xDu, "Player::Player(UINT, UINT, UINT, UINT)", "m_pSocket");
- v6 = (SocketInputStream *)operator new(0x1Cu);
- SocketInputStream::SocketInputStream(v6, this->m_pSocket, inputBufSize, inputBufMaxSize);
- this->m_pSocketInputStream = v6;
- if ( !v6 )
- __assert__("src/LibNet_ServerPlayer.cpp", 0x11u, "Player::Player(UINT, UINT, UINT, UINT)", "m_pSocketInputStream");
- v7 = (SocketOutputStream *)operator new(0x1Cu);
- SocketOutputStream::SocketOutputStream(v7, this->m_pSocket, outBufSize, outBufMaxSize);
- this->m_pSocketOutputStream = v7;
- if ( !v7 )
- __assert__("src/LibNet_ServerPlayer.cpp", 0x15u, "Player::Player(UINT, UINT, UINT, UINT)", "m_pSocketOutputStream");
- }
- // 80E54C8: using guessed type _DWORD (__cdecl *off_80E54C8[2])(Player *this, UINT *const socketRet);
- //----- (080AE6A4) --------------------------------------------------------
- void __cdecl Player::~Player(Player *const this)
- {
- SocketInputStream *v1; // edx
- SocketOutputStream *v2; // edx
- Socket *v3; // edx
- v1 = this->m_pSocketInputStream;
- this->_vptr_Player = (int (**)(...))off_80E54C8;
- if ( v1 )
- {
- (*((void (__cdecl **)(SocketInputStream *))v1->_vptr_SocketInputStream + 1))(v1);
- this->m_pSocketInputStream = 0;
- }
- v2 = this->m_pSocketOutputStream;
- if ( v2 )
- {
- (*((void (__cdecl **)(SocketOutputStream *))v2->_vptr_SocketOutputStream + 1))(this->m_pSocketOutputStream);
- this->m_pSocketOutputStream = 0;
- }
- v3 = this->m_pSocket;
- if ( v3 )
- {
- (*((void (__cdecl **)(Socket *))v3->_vptr_Socket + 1))(this->m_pSocket);
- this->m_pSocket = 0;
- }
- }
- // 80E54C8: using guessed type _DWORD (__cdecl *off_80E54C8[2])(Player *this, UINT *const socketRet);
- //----- (080AE714) --------------------------------------------------------
- void __cdecl Player::~Player(Player *const this)
- {
- SocketInputStream *v1; // edx
- SocketOutputStream *v2; // edx
- Socket *v3; // edx
- v1 = this->m_pSocketInputStream;
- this->_vptr_Player = (int (**)(...))off_80E54C8;
- if ( v1 )
- {
- (*((void (__cdecl **)(SocketInputStream *))v1->_vptr_SocketInputStream + 1))(v1);
- this->m_pSocketInputStream = 0;
- }
- v2 = this->m_pSocketOutputStream;
- if ( v2 )
- {
- (*((void (__cdecl **)(SocketOutputStream *))v2->_vptr_SocketOutputStream + 1))(this->m_pSocketOutputStream);
- this->m_pSocketOutputStream = 0;
- }
- v3 = this->m_pSocket;
- if ( v3 )
- {
- (*((void (__cdecl **)(Socket *))v3->_vptr_Socket + 1))(this->m_pSocket);
- this->m_pSocket = 0;
- }
- }
- // 80E54C8: using guessed type _DWORD (__cdecl *off_80E54C8[2])(Player *this, UINT *const socketRet);
- //----- (080AE784) --------------------------------------------------------
- void __cdecl Player::~Player(Player *const this)
- {
- SocketInputStream *v1; // edx
- SocketOutputStream *v2; // edx
- Socket *v3; // edx
- v1 = this->m_pSocketInputStream;
- this->_vptr_Player = (int (**)(...))off_80E54C8;
- if ( !v1 )
- {
- v2 = this->m_pSocketOutputStream;
- if ( !v2 )
- goto LABEL_3;
- LABEL_6:
- (*((void (__cdecl **)(SocketOutputStream *))v2->_vptr_SocketOutputStream + 1))(v2);
- v3 = this->m_pSocket;
- this->m_pSocketOutputStream = 0;
- if ( !v3 )
- goto LABEL_4;
- goto LABEL_7;
- }
- (*((void (__cdecl **)(SocketInputStream *))v1->_vptr_SocketInputStream + 1))(v1);
- v2 = this->m_pSocketOutputStream;
- this->m_pSocketInputStream = 0;
- if ( v2 )
- goto LABEL_6;
- LABEL_3:
- v3 = this->m_pSocket;
- if ( !v3 )
- {
- LABEL_4:
- operator delete((IPRegionTable *const )this);
- return;
- }
- LABEL_7:
- (*((void (__cdecl **)(Socket *))v3->_vptr_Socket + 1))(v3);
- this->m_pSocket = 0;
- operator delete((IPRegionTable *const )this);
- }
- // 80E54C8: using guessed type _DWORD (__cdecl *off_80E54C8[2])(Player *this, UINT *const socketRet);
- //----- (080AE80C) --------------------------------------------------------
- #error "80AE832: positive sp value has been found (funcsize=15)"
- //----- (080AE848) --------------------------------------------------------
- #error "80AE86C: positive sp value has been found (funcsize=14)"
- //----- (080AE8A8) --------------------------------------------------------
- BOOL __cdecl Player::IsValid(const Player *const this)
- {
- BOOL v1; // edx
- BOOL v3; // eax
- if ( !this->m_pSocket )
- return 0;
- v3 = Socket::isValid((int)this->m_pSocket);
- v1 = 1;
- if ( !v3 )
- v1 = 0;
- return v1;
- }
- //----- (080AE8DC) --------------------------------------------------------
- void __cdecl Player::Disconnect(Player *const this)
- {
- Socket::close(this->m_pSocket);
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (080AE908) --------------------------------------------------------
- BOOL __cdecl Player::ProcessCommand(Player *const this, PacketID_t nMaxPacketID, PacketFactoryManager *pPacketFactoryManager, INT maxPacketsCountsPertick, PACKET_FROM_WHERE fromWhere)
- {
- INT v5; // eax
- unsigned int v6; // ebx
- int v7; // edi
- Packet *v8; // eax
- UINT v9; // eax
- BOOL v10; // eax
- int v12; // eax
- int v13; // [esp-8h] [ebp-450h]
- int v14; // [esp-8h] [ebp-450h]
- INT v15; // [esp-4h] [ebp-44Ch]
- UINT v16; // [esp-4h] [ebp-44Ch]
- BOOL bNeedRemove; // [esp+4h] [ebp-444h]
- Packet *pPacket; // [esp+8h] [ebp-440h]
- UINT maxPacketSize; // [esp+Ch] [ebp-43Ch]
- INT nPacketsCounts; // [esp+10h] [ebp-438h]
- UINT debugBufferLength; // [esp+14h] [ebp-434h]
- UINT packetIndex; // [esp+18h] [ebp-430h]
- CHAR debugBuffer[1024]; // [esp+20h] [ebp-428h]
- CHAR header[6]; // [esp+420h] [ebp-28h]
- nPacketsCounts = 0;
- while ( 1 )
- {
- v5 = maxPacketsCountsPertick;
- if ( maxPacketsCountsPertick > 0 )
- {
- v5 = nPacketsCounts++;
- if ( v5 > maxPacketsCountsPertick )
- return 1;
- }
- v15 = v5;
- if ( !SocketInputStream::Peek(this->m_pSocketInputStream, header, 6u) )
- return 1;
- v6 = *(_DWORD *)&header[2] & 0xFFFFFF;
- packetIndex = (unsigned __int8)header[5];
- v7 = *(unsigned __int16 *)header;
- if ( nMaxPacketID <= *(_WORD *)header )
- {
- (*((void (__stdcall **)(Player *const , _DWORD, int, INT))this->_vptr_Player + 5))(
- this,
- *(unsigned __int16 *)header,
- v13,
- v15);
- return 0;
- }
- if ( SocketInputStream::Length(this->m_pSocketInputStream) < v6 + 6 )
- return 1;
- maxPacketSize = PacketFactoryManager::GetPacketMaxSize(pPacketFactoryManager, v7);
- if ( v6 > maxPacketSize )
- {
- (*((void (__stdcall **)(Player *const , int, unsigned int, UINT))this->_vptr_Player + 6))(
- this,
- v7,
- v6,
- maxPacketSize);
- return 0;
- }
- v8 = PacketFactoryManager::CreatePacket(pPacketFactoryManager, v7);
- pPacket = v8;
- if ( !v8 )
- {
- (*((void (__stdcall **)(Player *const , int, unsigned int, UINT))this->_vptr_Player + 7))(
- this,
- v7,
- v6,
- maxPacketSize);
- return 0;
- }
- v8->m_Index = packetIndex;
- v9 = SocketInputStream::Length(this->m_pSocketInputStream);
- debugBufferLength = v9;
- if ( v9 > 0x400 )
- debugBufferLength = 1024;
- v16 = v9;
- SocketInputStream::Peek(this->m_pSocketInputStream, debugBuffer, debugBufferLength);
- v10 = SocketInputStream::ReadPacket(this->m_pSocketInputStream, pPacket);
- if ( !v10 )
- {
- PacketFactoryManager::RemovePacket(pPacketFactoryManager, pPacket);
- (*((void (__stdcall **)(Player *const , int, unsigned int, UINT, CHAR *, UINT, int, UINT))this->_vptr_Player + 8))(
- this,
- v7,
- v6,
- maxPacketSize,
- debugBuffer,
- debugBufferLength,
- v14,
- v16);
- return 0;
- }
- bNeedRemove = 1;
- if ( !(*((int (__cdecl **)(Player *const , UINT, int, unsigned int, UINT, CHAR *, UINT, BOOL))this->_vptr_Player + 9))(
- this,
- packetIndex,
- v7,
- v6,
- maxPacketSize,
- debugBuffer,
- debugBufferLength,
- v10)
- || (pPacket->m_fromWhere = fromWhere,
- (v12 = (*((int (__cdecl **)(Packet *, Player *const ))pPacket->_vptr_Packet + 4))(pPacket, this)) == 0) )
- {
- (*((void (__cdecl **)(Player *const , int, CHAR *, UINT))this->_vptr_Player + 11))(
- this,
- v7,
- debugBuffer,
- debugBufferLength);
- if ( pPacket )
- PacketFactoryManager::RemovePacket(pPacketFactoryManager, pPacket);
- return 0;
- }
- if ( v12 == 1 )
- break;
- switch ( v12 )
- {
- case 2:
- (*((void (__cdecl **)(Player *const , int, CHAR *, UINT))this->_vptr_Player + 13))(
- this,
- v7,
- debugBuffer,
- debugBufferLength);
- break;
- case 3:
- (*((void (__cdecl **)(Player *const , int, CHAR *, UINT))this->_vptr_Player + 14))(
- this,
- v7,
- debugBuffer,
- debugBufferLength);
- bNeedRemove = 0;
- break;
- case 4:
- (*((void (__stdcall **)(Player *const , int, CHAR *, UINT))this->_vptr_Player + 15))(
- this,
- v7,
- debugBuffer,
- debugBufferLength);
- return 0;
- default:
- (*((void (__cdecl **)(Player *const , int, CHAR *, UINT))this->_vptr_Player + 16))(
- this,
- v7,
- debugBuffer,
- debugBufferLength);
- break;
- }
- if ( pPacket && bNeedRemove )
- PacketFactoryManager::RemovePacket(pPacketFactoryManager, pPacket);
- }
- (*((void (__cdecl **)(Player *const , int, CHAR *, UINT))this->_vptr_Player + 12))(
- this,
- v7,
- debugBuffer,
- debugBufferLength);
- if ( pPacket )
- PacketFactoryManager::RemovePacket(pPacketFactoryManager, pPacket);
- return 1;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (080AED6C) --------------------------------------------------------
- void __cdecl _tcf_0_222(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080AED7C) --------------------------------------------------------
- void `global constructor keyed to'Player::Player()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_222, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080AEDA8) --------------------------------------------------------
- void __cdecl ServerSocket::ServerSocket(ServerSocket *const this, UINT port, UINT backlog)
- {
- Socket *v3; // esi
- _DWORD *v4; // eax
- int v5; // [esp+8h] [ebp-Ch]
- v3 = (Socket *)operator new(0x34u);
- Socket::Socket(v3);
- this->m_Socket = v3;
- if ( !v3
- || !Socket::create((int)v3)
- || !Socket::setReuseAddr((BOOL)this->m_Socket, 1)
- || !Socket::bind((int)this->m_Socket, port)
- || !Socket::listen((INT)this->m_Socket, backlog) )
- {
- v4 = (_DWORD *)__cxa_allocate_exception(4);
- *v4 = 1;
- __cxa_throw(v4, &`typeinfo for'int, 0, v5);
- }
- }
- // 8049DA8: using guessed type int __cdecl __cxa_allocate_exception(_DWORD);
- // 804A1C8: using guessed type int __stdcall __cxa_throw(_DWORD, _DWORD, _DWORD, _DWORD);
- //----- (080AEE54) --------------------------------------------------------
- void __cdecl ServerSocket::ServerSocket(ServerSocket *const this, UINT port, UINT backlog)
- {
- Socket *v3; // esi
- _DWORD *v4; // eax
- int v5; // [esp+8h] [ebp-Ch]
- v3 = (Socket *)operator new(0x34u);
- Socket::Socket(v3);
- this->m_Socket = v3;
- if ( !v3
- || !Socket::create((int)v3)
- || !Socket::setReuseAddr((BOOL)this->m_Socket, 1)
- || !Socket::bind((int)this->m_Socket, port)
- || !Socket::listen((INT)this->m_Socket, backlog) )
- {
- v4 = (_DWORD *)__cxa_allocate_exception(4);
- *v4 = 1;
- __cxa_throw(v4, &`typeinfo for'int, 0, v5);
- }
- }
- // 8049DA8: using guessed type int __cdecl __cxa_allocate_exception(_DWORD);
- // 804A1C8: using guessed type int __stdcall __cxa_throw(_DWORD, _DWORD, _DWORD, _DWORD);
- //----- (080AEF00) --------------------------------------------------------
- void __cdecl ServerSocket::~ServerSocket(ServerSocket *const this)
- {
- if ( this->m_Socket )
- {
- Socket::close(this->m_Socket);
- if ( this->m_Socket )
- (*((void (__cdecl **)(Socket *))this->m_Socket->_vptr_Socket + 1))(this->m_Socket);
- this->m_Socket = 0;
- }
- }
- //----- (080AEF40) --------------------------------------------------------
- void __cdecl ServerSocket::~ServerSocket(ServerSocket *const this)
- {
- if ( this->m_Socket )
- {
- Socket::close(this->m_Socket);
- if ( this->m_Socket )
- (*((void (__cdecl **)(Socket *))this->m_Socket->_vptr_Socket + 1))(this->m_Socket);
- this->m_Socket = 0;
- }
- }
- //----- (080AEF80) --------------------------------------------------------
- void __cdecl ServerSocket::close(ServerSocket *const this)
- {
- if ( this->m_Socket )
- Socket::close(this->m_Socket);
- }
- //----- (080AEF9C) --------------------------------------------------------
- BOOL __cdecl ServerSocket::accept(ServerSocket *const this, Socket *socket)
- {
- SOCKET v2; // eax
- BOOL v3; // edx
- char *v4; // eax
- UINT addrlen; // [esp+Ch] [ebp-8h]
- addrlen = 16;
- Socket::close(socket);
- v2 = Socket::accept(this->m_Socket, (sockaddr *)&socket->m_SockAddr, &addrlen);
- socket->m_SocketID = v2;
- v3 = 0;
- if ( v2 != -1 )
- {
- socket->m_Port = (unsigned __int16)__ROR2__(socket->m_SockAddr.sin_port, 8);
- v4 = inet_ntoa(socket->m_SockAddr.sin_addr);
- strncpy(socket->m_Host, v4, 0x17u);
- v3 = 1;
- }
- return v3;
- }
- //----- (080AF008) --------------------------------------------------------
- void __cdecl _tcf_0_223(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080AF018) --------------------------------------------------------
- void `global constructor keyed to'ServerSocket::ServerSocket()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_223, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080AF044) --------------------------------------------------------
- void __cdecl Socket::Socket(_DWORD *a2)
- {
- *a2 = off_80E5590;
- a2[1] = -1;
- memset(a2 + 2, 0, 0x10u);
- memset(a2 + 6, 0, 0x18u);
- a2[12] = 0;
- }
- // 80E5590: using guessed type _DWORD (__cdecl *off_80E5590[2])(Socket *this);
- //----- (080AF07C) --------------------------------------------------------
- void __cdecl Socket::Socket(_DWORD *a2)
- {
- *a2 = off_80E5590;
- a2[1] = -1;
- memset(a2 + 2, 0, 0x10u);
- memset(a2 + 6, 0, 0x18u);
- a2[12] = 0;
- }
- // 80E5590: using guessed type _DWORD (__cdecl *off_80E5590[2])(Socket *this);
- //----- (080AF0B4) --------------------------------------------------------
- BOOL __cdecl Socket::isValid(int a2)
- {
- return *(_DWORD *)(a2 + 4) != -1;
- }
- //----- (080AF0C8) --------------------------------------------------------
- BOOL __cdecl Socket::create(int a2)
- {
- *(_DWORD *)(a2 + 4) = SocketAPI::socket_ex(2, 1, 0);
- memset((void *)(a2 + 8), 0, 0x10u);
- *(_WORD *)(a2 + 8) = 2;
- return Socket::isValid(a2) != 0;
- }
- //----- (080AF10C) --------------------------------------------------------
- void __cdecl Socket::Socket(const CHAR *host, const char *hosta, int a5)
- {
- *(_DWORD *)host = off_80E5590;
- strncpy((char *)host + 24, hosta, 0x17u);
- *((_DWORD *)host + 12) = a5;
- Socket::create((int)host);
- }
- // 80E5590: using guessed type _DWORD (__cdecl *off_80E5590[2])(Socket *this);
- //----- (080AF140) --------------------------------------------------------
- void __cdecl Socket::Socket(const CHAR *host, const char *hosta, int a5)
- {
- *(_DWORD *)host = off_80E5590;
- strncpy((char *)host + 24, hosta, 0x17u);
- *((_DWORD *)host + 12) = a5;
- Socket::create((int)host);
- }
- // 80E5590: using guessed type _DWORD (__cdecl *off_80E5590[2])(Socket *this);
- //----- (080AF174) --------------------------------------------------------
- BOOL __cdecl Socket::connect(int a2)
- {
- int v2; // ebx
- v2 = a2;
- *(_DWORD *)(a2 + 12) = inet_addr((const char *)(a2 + 24));
- *(_WORD *)(v2 + 10) = __ROR2__(*(_WORD *)(v2 + 48), 8);
- return SocketAPI::connect_ex(*(_DWORD *)(v2 + 4), (const sockaddr *)(v2 + 8), 0x10u) != 0;
- }
- //----- (080AF1B8) --------------------------------------------------------
- BOOL __cdecl Socket::connect(const CHAR *host, const char *hosta, int a5)
- {
- strncpy((char *)host + 24, hosta, 0x17u);
- *((_DWORD *)host + 12) = a5;
- return Socket::connect((int)host);
- }
- //----- (080AF1E8) --------------------------------------------------------
- UINT __cdecl Socket::send(Socket *const this, const void *buf, UINT len, UINT flags)
- {
- return SocketAPI::send_ex(this->m_SocketID, buf, len, flags);
- }
- //----- (080AF1FC) --------------------------------------------------------
- UINT __cdecl Socket::receive(Socket *const this, void *buf, UINT len, UINT flags)
- {
- return SocketAPI::recv_ex(this->m_SocketID, buf, len, flags);
- }
- //----- (080AF210) --------------------------------------------------------
- UINT __cdecl Socket::available(int a2)
- {
- return SocketAPI::availablesocket_ex(*(_DWORD *)(a2 + 4));
- }
- //----- (080AF224) --------------------------------------------------------
- int __cdecl Socket::getLinger(int a2)
- {
- SOCKET v2; // ST00_4
- linger ling; // [esp+14h] [ebp-10h]
- UINT len; // [esp+20h] [ebp-4h]
- v2 = *(_DWORD *)(a2 + 4);
- len = 8;
- SocketAPI::getsockopt_ex(v2, 1, 13, &ling, &len);
- return ling.l_linger;
- }
- //----- (080AF250) --------------------------------------------------------
- SOCKET __cdecl Socket::accept(Socket *const this, sockaddr *addr, UINT *addrlen)
- {
- return SocketAPI::accept_ex(this->m_SocketID, addr, addrlen);
- }
- //----- (080AF264) --------------------------------------------------------
- BOOL __cdecl Socket::setLinger(int a3, int a4)
- {
- linger ling; // [esp+Ch] [ebp-8h]
- ling.l_onoff = a4 != 0;
- ling.l_linger = a4;
- return SocketAPI::setsockopt_ex(*(_DWORD *)(a3 + 4), 1, 13, &ling, 8u);
- }
- //----- (080AF294) --------------------------------------------------------
- BOOL __cdecl Socket::isNonBlocking(int a2)
- {
- return SocketAPI::getsocketnonblocking_ex(*(_DWORD *)(a2 + 4));
- }
- //----- (080AF2A8) --------------------------------------------------------
- BOOL __cdecl Socket::setNonBlocking(BOOL on, BOOL ona)
- {
- return SocketAPI::setsocketnonblocking_ex(*(_DWORD *)(on + 4), ona);
- }
- //----- (080AF2BC) --------------------------------------------------------
- UINT __cdecl Socket::getReceiveBufferSize(int a2)
- {
- SOCKET v2; // ST00_4
- UINT ReceiveBufferSize; // [esp+Ch] [ebp-8h]
- UINT size; // [esp+10h] [ebp-4h]
- v2 = *(_DWORD *)(a2 + 4);
- size = 4;
- SocketAPI::getsockopt_ex(v2, 1, 8, &ReceiveBufferSize, &size);
- return ReceiveBufferSize;
- }
- //----- (080AF2E8) --------------------------------------------------------
- BOOL __cdecl Socket::setReceiveBufferSize(UINT size)
- {
- va_list sizea; // [esp+20h] [ebp+Ch]
- va_start(sizea, size);
- return SocketAPI::setsockopt_ex(*(_DWORD *)(size + 4), 1, 8, sizea, 4u);
- }
- //----- (080AF308) --------------------------------------------------------
- UINT __cdecl Socket::getSendBufferSize(int a2)
- {
- SOCKET v2; // ST00_4
- UINT SendBufferSize; // [esp+Ch] [ebp-8h]
- UINT size; // [esp+10h] [ebp-4h]
- v2 = *(_DWORD *)(a2 + 4);
- size = 4;
- SocketAPI::getsockopt_ex(v2, 1, 7, &SendBufferSize, &size);
- return SendBufferSize;
- }
- //----- (080AF334) --------------------------------------------------------
- BOOL __cdecl Socket::setSendBufferSize(UINT size)
- {
- va_list sizea; // [esp+20h] [ebp+Ch]
- va_start(sizea, size);
- return SocketAPI::setsockopt_ex(*(_DWORD *)(size + 4), 1, 7, sizea, 4u);
- }
- //----- (080AF354) --------------------------------------------------------
- UINT __cdecl Socket::getPort(int a2)
- {
- return *(_DWORD *)(a2 + 48);
- }
- //----- (080AF360) --------------------------------------------------------
- UINT __cdecl Socket::getHostIP(int a2)
- {
- return *(_DWORD *)(a2 + 12);
- }
- //----- (080AF36C) --------------------------------------------------------
- SOCKET __cdecl Socket::getSOCKET(int a2)
- {
- return *(_DWORD *)(a2 + 4);
- }
- //----- (080AF378) --------------------------------------------------------
- BOOL __cdecl Socket::isSockError(int a2)
- {
- SOCKET v2; // ST00_4
- INT error; // [esp+Ch] [ebp-8h]
- UINT len; // [esp+10h] [ebp-4h]
- v2 = *(_DWORD *)(a2 + 4);
- len = 4;
- return SocketAPI::getsockopt_ex2(v2, 1, 4, &error, &len) != 0;
- }
- //----- (080AF3AC) --------------------------------------------------------
- UINT __cdecl Socket::getSockError(const Socket *const this)
- {
- return Socket::isSockError((int)this);
- }
- //----- (080AF3B8) --------------------------------------------------------
- void __cdecl Socket::close(Socket *const this)
- {
- if ( Socket::isValid((int)this) && !Socket::isSockError((int)this) )
- SocketAPI::closesocket_ex(this->m_SocketID);
- this->m_SocketID = -1;
- memset(&this->m_SockAddr, 0, sizeof(this->m_SockAddr));
- memset(this->m_Host, 0, sizeof(this->m_Host));
- this->m_Port = 0;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (080AF428) --------------------------------------------------------
- BOOL __cdecl Socket::reconnect(Socket *a4, char *src, UINT a6)
- {
- Socket::close(a4);
- strncpy(a4->m_Host, src, 0x17u);
- a4->m_Port = a6;
- Socket::create((int)a4);
- return Socket::connect((int)a4);
- }
- //----- (080AF46C) --------------------------------------------------------
- void __cdecl Socket::~Socket(Socket *a2)
- {
- a2->_vptr_Socket = (int (**)(...))off_80E5590;
- Socket::close(a2);
- operator delete((IPRegionTable *const )a2);
- }
- // 80E5590: using guessed type _DWORD (__cdecl *off_80E5590[2])(Socket *this);
- //----- (080AF494) --------------------------------------------------------
- void __cdecl Socket::~Socket(Socket *a2)
- {
- a2->_vptr_Socket = (int (**)(...))off_80E5590;
- Socket::close(a2);
- }
- // 80E5590: using guessed type _DWORD (__cdecl *off_80E5590[2])(Socket *this);
- //----- (080AF4B0) --------------------------------------------------------
- void __cdecl Socket::~Socket(Socket *a2)
- {
- a2->_vptr_Socket = (int (**)(...))off_80E5590;
- Socket::close(a2);
- }
- // 80E5590: using guessed type _DWORD (__cdecl *off_80E5590[2])(Socket *this);
- //----- (080AF4CC) --------------------------------------------------------
- BOOL __cdecl Socket::bind(int a2)
- {
- __int16 v2; // ax
- v2 = *(_WORD *)(a2 + 48);
- *(_DWORD *)(a2 + 12) = 0;
- *(_WORD *)(a2 + 10) = __ROR2__(v2, 8);
- return SocketAPI::bind_ex(*(_DWORD *)(a2 + 4), (const sockaddr *)(a2 + 8), 0x10u) != 0;
- }
- //----- (080AF504) --------------------------------------------------------
- BOOL __cdecl Socket::bind(int a3, int a4)
- {
- *(_DWORD *)(a3 + 48) = a4;
- *(_DWORD *)(a3 + 12) = 0;
- *(_WORD *)(a3 + 10) = __ROR2__(a4, 8);
- return SocketAPI::bind_ex(*(_DWORD *)(a3 + 4), (const sockaddr *)(a3 + 8), 0x10u) != 0;
- }
- //----- (080AF540) --------------------------------------------------------
- BOOL __cdecl Socket::listen(INT backlog, UINT backloga)
- {
- return SocketAPI::listen_ex(*(_DWORD *)(backlog + 4), backloga);
- }
- //----- (080AF554) --------------------------------------------------------
- BOOL __cdecl Socket::isReuseAddr(int a2)
- {
- SOCKET v2; // ST00_4
- INT reuse; // [esp+Ch] [ebp-8h]
- UINT len; // [esp+10h] [ebp-4h]
- v2 = *(_DWORD *)(a2 + 4);
- len = 4;
- SocketAPI::getsockopt_ex(v2, 1, 2, &reuse, &len);
- return reuse == 1;
- }
- //----- (080AF588) --------------------------------------------------------
- BOOL __cdecl Socket::setReuseAddr(BOOL on, BOOL ona)
- {
- INT opt; // [esp+10h] [ebp-4h]
- opt = ona == 1;
- return SocketAPI::setsockopt_ex(*(_DWORD *)(on + 4), 1, 2, &opt, 4u);
- }
- //----- (080AF5B4) --------------------------------------------------------
- void __cdecl _tcf_0_224(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080AF5C4) --------------------------------------------------------
- void `global constructor keyed to'Socket::Socket()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_224, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080AF5F0) --------------------------------------------------------
- SOCKET __cdecl SocketAPI::socket_ex(INT domain, INT type, INT protocol)
- {
- return socket(domain, type, protocol);
- }
- //----- (080AF60C) --------------------------------------------------------
- BOOL __cdecl SocketAPI::bind_ex(SOCKET s, const sockaddr *addr, UINT addrlen)
- {
- return bind(s, addr, addrlen) != -1;
- }
- //----- (080AF62C) --------------------------------------------------------
- BOOL __cdecl SocketAPI::connect_ex(SOCKET s, const sockaddr *addr, UINT addrlen)
- {
- return connect(s, addr, addrlen) != -1;
- }
- //----- (080AF64C) --------------------------------------------------------
- BOOL __cdecl SocketAPI::listen_ex(SOCKET s, UINT backlog)
- {
- return listen(s, backlog) != -1;
- }
- //----- (080AF66C) --------------------------------------------------------
- SOCKET __cdecl SocketAPI::accept_ex(SOCKET s, sockaddr *addr, UINT *addrlen)
- {
- SOCKET result; // eax
- SOCKET v4; // ebx
- int v5; // eax
- int v6; // ST0C_4
- int *v7; // eax
- result = accept(s, addr, addrlen);
- v4 = result;
- if ( result == -1 )
- {
- v5 = *__errno_location();
- if ( v5 == 71 )
- {
- strncpy(gSocketError, "EPROTO", 0x104u);
- goto LABEL_8;
- }
- if ( v5 > 71 )
- {
- if ( v5 == 95 )
- {
- strncpy(gSocketError, "EOPNOTSUPP", 0x104u);
- goto LABEL_8;
- }
- if ( v5 > 95 )
- {
- if ( v5 == 103 )
- {
- strncpy(gSocketError, "ECONNABORTED", 0x104u);
- goto LABEL_8;
- }
- if ( v5 == 104 )
- {
- strncpy(gSocketError, "ECONNRESET", 0x104u);
- goto LABEL_8;
- }
- }
- else if ( v5 == 88 )
- {
- strncpy(gSocketError, "ENOTSOCK", 0x104u);
- goto LABEL_8;
- }
- }
- else
- {
- if ( v5 == 9 )
- {
- strncpy(gSocketError, "EBADF", 0x104u);
- goto LABEL_8;
- }
- if ( v5 > 9 )
- {
- if ( v5 == 11 )
- {
- strncpy(gSocketError, "EWOULDBLOCK", 0x104u);
- goto LABEL_8;
- }
- if ( v5 == 14 )
- {
- strncpy(gSocketError, "EFAULT", 0x104u);
- goto LABEL_8;
- }
- }
- else if ( v5 == 4 )
- {
- strncpy(gSocketError, "EINTR", 0x104u);
- goto LABEL_8;
- }
- }
- v6 = v5;
- memset(gSocketError, 0, 0x104u);
- v7 = __errno_location();
- sprintf(gSocketError, "gSocketError: %d", *v7, v6);
- LABEL_8:
- result = v4;
- }
- return result;
- }
- //----- (080AF7A0) --------------------------------------------------------
- BOOL __cdecl SocketAPI::getsockopt_ex(SOCKET s, INT level, INT optname, void *optval, UINT *optlen)
- {
- return getsockopt(s, level, optname, optval, optlen) != -1;
- }
- //----- (080AF7C8) --------------------------------------------------------
- UINT __cdecl SocketAPI::getsockopt_ex2(SOCKET s, INT level, INT optname, void *optval, UINT *optlen)
- {
- int v5; // eax
- UINT v6; // edx
- int v8; // eax
- bool v9; // zf
- v5 = getsockopt(s, level, optname, optval, optlen);
- v6 = 0;
- if ( v5 != -1 )
- return v6;
- v8 = *__errno_location();
- v6 = 4;
- if ( v8 == 14 )
- return v6;
- if ( v8 <= 14 )
- {
- LOBYTE(v6) = 1;
- v9 = v8 == 9;
- }
- else
- {
- v6 = 2;
- if ( v8 == 88 )
- return v6;
- LOBYTE(v6) = 3;
- v9 = v8 == 92;
- }
- if ( v9 )
- return v6;
- return 5;
- }
- //----- (080AF828) --------------------------------------------------------
- BOOL __cdecl SocketAPI::setsockopt_ex(SOCKET s, INT level, INT optname, const void *optval, UINT optlen)
- {
- return setsockopt(s, level, optname, optval, optlen) != -1;
- }
- //----- (080AF850) --------------------------------------------------------
- UINT __cdecl SocketAPI::send_ex(SOCKET s, const void *buf, UINT len, UINT flags)
- {
- ssize_t v4; // ebx
- UINT v5; // edx
- int *v7; // eax
- v4 = send(s, buf, len, flags);
- if ( v4 != -1 || (v7 = __errno_location(), v5 = -100, *v7 != 11) )
- v5 = v4;
- return v5;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (080AF8A4) --------------------------------------------------------
- UINT __cdecl SocketAPI::sendto_ex(SOCKET s, const void *buf, INT len, UINT flags, const sockaddr *to, INT tolen)
- {
- ssize_t v6; // ebx
- UINT v7; // edx
- int *v9; // eax
- v6 = sendto(s, buf, len, flags, to, tolen);
- if ( v6 != -1 || (v9 = __errno_location(), v7 = 0, *v9 != 11) )
- v7 = v6;
- return v7;
- }
- //----- (080AF8E8) --------------------------------------------------------
- UINT __cdecl SocketAPI::recv_ex(SOCKET s, void *buf, UINT len, UINT flags)
- {
- ssize_t v4; // ebx
- UINT v5; // edx
- int *v7; // eax
- v4 = recv(s, buf, len, flags);
- if ( v4 != -1 || (v7 = __errno_location(), v5 = -100, *v7 != 11) )
- v5 = v4;
- return v5;
- }
- //----- (080AF928) --------------------------------------------------------
- UINT __cdecl SocketAPI::recvfrom_ex(SOCKET s, void *buf, INT len, UINT flags, sockaddr *from, UINT *fromlen)
- {
- ssize_t v6; // ebx
- UINT v7; // edx
- int *v9; // eax
- v6 = recvfrom(s, buf, len, flags, from, fromlen);
- if ( v6 != -1 || (v9 = __errno_location(), v7 = -100, *v9 != 11) )
- v7 = v6;
- return v7;
- }
- //----- (080AF970) --------------------------------------------------------
- BOOL __cdecl SocketAPI::closesocket_ex(SOCKET s)
- {
- FileAPI::close_ex(s);
- return 1;
- }
- //----- (080AF988) --------------------------------------------------------
- BOOL __cdecl SocketAPI::ioctlsocket_ex(SOCKET s, LONG cmd, ULONG *argp)
- {
- return 1;
- }
- //----- (080AF994) --------------------------------------------------------
- BOOL __cdecl SocketAPI::getsocketnonblocking_ex(SOCKET s)
- {
- return FileAPI::getfilenonblocking_ex(s);
- }
- //----- (080AF9A0) --------------------------------------------------------
- BOOL __cdecl SocketAPI::setsocketnonblocking_ex(SOCKET s, BOOL on)
- {
- FileAPI::setfilenonblocking_ex(s, on);
- return 1;
- }
- //----- (080AF9B8) --------------------------------------------------------
- UINT __cdecl SocketAPI::availablesocket_ex(SOCKET s)
- {
- return FileAPI::availablefile_ex(s);
- }
- //----- (080AF9C4) --------------------------------------------------------
- BOOL __cdecl SocketAPI::shutdown_ex(SOCKET s, UINT how)
- {
- return shutdown(s, how) >= 0;
- }
- //----- (080AF9E0) --------------------------------------------------------
- INT __cdecl SocketAPI::select_ex(INT maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, timeval *timeout)
- {
- return select(maxfdp1, readset, writeset, exceptset, timeout);
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (080AFA20) --------------------------------------------------------
- void __cdecl _tcf_0_225(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080AFA30) --------------------------------------------------------
- void `global constructor keyed to'gSocketError()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_225, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080AFA5C) --------------------------------------------------------
- UINT __cdecl SocketInputStream::Length(const SocketInputStream *const this)
- {
- UINT v1; // edx
- UINT v2; // ecx
- v1 = this->m_Head;
- v2 = this->m_Tail;
- if ( v1 < v2 )
- return v2 - v1;
- if ( v1 <= v2 )
- return 0;
- return v2 + this->m_BufferLen - v1;
- }
- //----- (080AFA84) --------------------------------------------------------
- void __cdecl SocketInputStream::SocketInputStream(SocketInputStream *const this, Socket *sock, UINT BufferLen, UINT MaxBufferLen)
- {
- CHAR *v4; // eax
- this->m_pSocket = sock;
- this->m_BufferLen = BufferLen;
- this->_vptr_SocketInputStream = (int (**)(...))off_80E5618;
- this->m_MaxBufferLen = MaxBufferLen;
- this->m_Head = 0;
- this->m_Tail = 0;
- v4 = (CHAR *)operator new[](BufferLen);
- this->m_Buffer = v4;
- memset(v4, 0, this->m_BufferLen);
- }
- // 80E5618: using guessed type _DWORD (__cdecl *off_80E5618[2])(SocketInputStream *this);
- //----- (080AFADC) --------------------------------------------------------
- void __cdecl SocketInputStream::SocketInputStream(SocketInputStream *const this, Socket *sock, UINT BufferLen, UINT MaxBufferLen)
- {
- CHAR *v4; // eax
- this->m_pSocket = sock;
- this->m_BufferLen = BufferLen;
- this->_vptr_SocketInputStream = (int (**)(...))off_80E5618;
- this->m_MaxBufferLen = MaxBufferLen;
- this->m_Head = 0;
- this->m_Tail = 0;
- v4 = (CHAR *)operator new[](BufferLen);
- this->m_Buffer = v4;
- memset(v4, 0, this->m_BufferLen);
- }
- // 80E5618: using guessed type _DWORD (__cdecl *off_80E5618[2])(SocketInputStream *this);
- //----- (080AFB34) --------------------------------------------------------
- void __cdecl SocketInputStream::~SocketInputStream(SocketInputStream *const this)
- {
- CHAR *v1; // eax
- v1 = this->m_Buffer;
- this->_vptr_SocketInputStream = (int (**)(...))off_80E5618;
- if ( v1 )
- {
- operator delete[](v1);
- this->m_Buffer = 0;
- }
- }
- // 80E5618: using guessed type _DWORD (__cdecl *off_80E5618[2])(SocketInputStream *this);
- //----- (080AFB68) --------------------------------------------------------
- void __cdecl SocketInputStream::~SocketInputStream(SocketInputStream *const this)
- {
- CHAR *v1; // eax
- v1 = this->m_Buffer;
- this->_vptr_SocketInputStream = (int (**)(...))off_80E5618;
- if ( v1 )
- {
- operator delete[](v1);
- this->m_Buffer = 0;
- }
- }
- // 80E5618: using guessed type _DWORD (__cdecl *off_80E5618[2])(SocketInputStream *this);
- //----- (080AFB9C) --------------------------------------------------------
- void __cdecl SocketInputStream::~SocketInputStream(SocketInputStream *const this)
- {
- CHAR *v1; // eax
- v1 = this->m_Buffer;
- this->_vptr_SocketInputStream = (int (**)(...))off_80E5618;
- if ( v1 )
- {
- operator delete[](v1);
- this->m_Buffer = 0;
- }
- operator delete((IPRegionTable *const )this);
- }
- // 80E5618: using guessed type _DWORD (__cdecl *off_80E5618[2])(SocketInputStream *this);
- //----- (080AFBE0) --------------------------------------------------------
- UINT __cdecl SocketInputStream::Read(SocketInputStream *const this, CHAR *buf, UINT len)
- {
- UINT v3; // edx
- UINT v4; // eax
- UINT v5; // eax
- size_t v6; // esi
- v3 = 0;
- if ( len )
- {
- v4 = SocketInputStream::Length(this);
- v3 = 0;
- if ( v4 >= len )
- {
- v5 = this->m_Head;
- if ( v5 >= this->m_Tail && (v6 = this->m_BufferLen - v5, len > v6) )
- {
- memcpy(buf, &this->m_Buffer[v5], v6);
- memcpy(&buf[v6], this->m_Buffer, len - v6);
- }
- else
- {
- memcpy(buf, &this->m_Buffer[v5], len);
- }
- this->m_Head = (len + this->m_Head) % this->m_BufferLen;
- v3 = len;
- }
- }
- return v3;
- }
- //----- (080AFC60) --------------------------------------------------------
- BOOL __cdecl SocketInputStream::Peek(SocketInputStream *const this, CHAR *buf, UINT len)
- {
- BOOL v3; // edx
- UINT v4; // eax
- UINT v5; // eax
- size_t v6; // esi
- v3 = 0;
- if ( len )
- {
- v4 = SocketInputStream::Length(this);
- v3 = 0;
- if ( v4 >= len )
- {
- v5 = this->m_Head;
- if ( v5 >= this->m_Tail && (v6 = this->m_BufferLen - v5, len > v6) )
- {
- memcpy(buf, &this->m_Buffer[v5], v6);
- memcpy(&buf[v6], this->m_Buffer, len - v6);
- }
- else
- {
- memcpy(buf, &this->m_Buffer[v5], len);
- }
- v3 = 1;
- }
- }
- return v3;
- }
- //----- (080AFCD8) --------------------------------------------------------
- BOOL __cdecl SocketInputStream::Skip(SocketInputStream *const this, UINT len)
- {
- BOOL v2; // edx
- UINT v3; // eax
- v2 = 0;
- if ( len )
- {
- v3 = SocketInputStream::Length(this);
- v2 = 0;
- if ( v3 >= len )
- {
- this->m_Head = (this->m_Head + len) % this->m_BufferLen;
- v2 = 1;
- }
- }
- return v2;
- }
- //----- (080AFD14) --------------------------------------------------------
- BOOL __cdecl SocketInputStream::ReadPacket(SocketInputStream *const this, Packet *pPacket)
- {
- BOOL result; // eax
- int v3; // [esp-4h] [ebp-Ch]
- if ( SocketInputStream::Skip(this, 6u) )
- result = (*((int (__fastcall **)(_DWORD, int, Packet *, SocketInputStream *const ))pPacket->_vptr_Packet + 2))(
- *((_DWORD *)pPacket->_vptr_Packet + 2),
- v3,
- pPacket,
- this);
- else
- result = 0;
- return result;
- }
- //----- (080AFD4C) --------------------------------------------------------
- void __cdecl SocketInputStream::Initsize(SocketInputStream *const this, UINT BufferSize)
- {
- CHAR *v2; // eax
- unsigned int v3; // esi
- CHAR *v4; // eax
- v2 = this->m_Buffer;
- v3 = BufferSize;
- this->m_Head = 0;
- this->m_Tail = 0;
- if ( v2 )
- {
- operator delete[](v2);
- this->m_Buffer = 0;
- }
- if ( this->m_MaxBufferLen < BufferSize )
- v3 = this->m_MaxBufferLen;
- v4 = (CHAR *)operator new[](v3);
- this->m_BufferLen = v3;
- this->m_Buffer = v4;
- memset(v4, 0, v3);
- }
- //----- (080AFDB0) --------------------------------------------------------
- BOOL __cdecl SocketInputStream::Resize(SocketInputStream *const this, INT size)
- {
- signed int v2; // ebx
- unsigned int v3; // edi
- CHAR *v4; // ebx
- UINT v5; // edx
- UINT v6; // eax
- bool v7; // cf
- bool v8; // zf
- CHAR *v9; // eax
- BOOL result; // eax
- UINT len; // [esp+8h] [ebp-10h]
- v2 = size;
- if ( size < (signed int)(this->m_BufferLen >> 1) )
- v2 = this->m_BufferLen >> 1;
- v3 = this->m_BufferLen + v2;
- len = SocketInputStream::Length(this);
- if ( v2 >= 0 )
- {
- v4 = (CHAR *)operator new[](v3);
- v5 = this->m_Head;
- v6 = this->m_Tail;
- v7 = v5 < v6;
- v8 = v5 == v6;
- if ( v5 >= v6 )
- {
- LABEL_5:
- if ( v7 || v8 )
- {
- v9 = this->m_Buffer;
- if ( !v9 )
- {
- LABEL_7:
- this->m_Tail = len;
- this->m_Buffer = v4;
- this->m_BufferLen = v3;
- this->m_Head = 0;
- return 1;
- }
- LABEL_13:
- operator delete[](v9);
- goto LABEL_7;
- }
- memcpy(v4, &this->m_Buffer[v5], this->m_BufferLen - v5);
- memcpy(&v4[this->m_BufferLen - this->m_Head], this->m_Buffer, this->m_Tail);
- LABEL_12:
- v9 = this->m_Buffer;
- if ( !v9 )
- goto LABEL_7;
- goto LABEL_13;
- }
- LABEL_11:
- memcpy(v4, &this->m_Buffer[v5], v6 - v5);
- goto LABEL_12;
- }
- result = 0;
- if ( v3 >= len )
- {
- v4 = (CHAR *)operator new[](v3);
- v5 = this->m_Head;
- v6 = this->m_Tail;
- v7 = v5 < v6;
- v8 = v5 == v6;
- if ( v5 >= v6 )
- goto LABEL_5;
- goto LABEL_11;
- }
- return result;
- }
- //----- (080AFE90) --------------------------------------------------------
- UINT __cdecl SocketInputStream::Fill(SocketInputStream *const this)
- {
- UINT v1; // edi
- UINT v2; // edx
- UINT v3; // eax
- UINT v4; // edx
- UINT v5; // ecx
- UINT v6; // esi
- int v8; // eax
- UINT v9; // ecx
- int v10; // esi
- UINT v11; // eax
- UINT v12; // esi
- BOOL v13; // eax
- UINT v14; // eax
- UINT v15; // ecx
- UINT v16; // eax
- UINT v17; // esi
- UINT v18; // eax
- UINT v19; // ecx
- UINT v20; // esi
- UINT v21; // eax
- UINT v22; // esi
- BOOL v23; // eax
- UINT v24; // eax
- UINT v25; // eax
- UINT v26; // eax
- UINT v27; // esi
- BOOL v28; // eax
- UINT v29; // eax
- UINT v30; // eax
- v1 = 0;
- v2 = 0;
- if ( !this->m_pSocket )
- return v2;
- v3 = this->m_Head;
- v4 = this->m_Tail;
- if ( v3 > v4 )
- {
- v8 = v3 - v4;
- v9 = 0;
- v10 = v8 - 1;
- if ( v8 != 1 )
- {
- v16 = Socket::receive(this->m_pSocket, &this->m_Buffer[v4], v8 - 1, 0);
- v2 = 0;
- v9 = v16;
- if ( v16 == -100 )
- return v2;
- v2 = -14;
- if ( v16 == -1 )
- return v2;
- LOBYTE(v2) = -15;
- if ( !v16 )
- return v2;
- this->m_Tail += v16;
- v1 = v16;
- }
- if ( v9 == v10 )
- {
- v11 = Socket::available((int)this->m_pSocket);
- v12 = v11;
- if ( v11 )
- {
- if ( v11 + this->m_BufferLen + 1 > this->m_MaxBufferLen )
- {
- SocketInputStream::Initsize(this, 0x10000u);
- return -16;
- }
- v13 = SocketInputStream::Resize(this, v11 + 1);
- v2 = 0;
- if ( v13 )
- {
- v14 = Socket::receive(this->m_pSocket, &this->m_Buffer[this->m_Tail], v12, 0);
- v2 = 0;
- v15 = v14;
- if ( v14 != -100 )
- {
- v2 = -17;
- if ( v14 != -1 )
- {
- LOBYTE(v2) = -18;
- goto LABEL_16;
- }
- }
- }
- return v2;
- }
- }
- return v1;
- }
- if ( !v3 )
- {
- v5 = 0;
- v6 = this->m_BufferLen + ~v4;
- if ( v6 )
- {
- v25 = Socket::receive(this->m_pSocket, &this->m_Buffer[v4], v6, 0);
- v2 = 0;
- v5 = v25;
- if ( v25 == -100 )
- return v2;
- v2 = -2;
- if ( v25 == -1 )
- return v2;
- LOBYTE(v2) = -3;
- if ( !v25 )
- return v2;
- this->m_Tail += v25;
- v1 = v25;
- }
- if ( v5 == v6 )
- {
- v26 = Socket::available((int)this->m_pSocket);
- v27 = v26;
- if ( v26 )
- {
- if ( v26 + this->m_BufferLen + 1 > this->m_MaxBufferLen )
- {
- SocketInputStream::Initsize(this, 0x10000u);
- return -4;
- }
- v28 = SocketInputStream::Resize(this, v26 + 1);
- v2 = 0;
- if ( v28 )
- {
- v29 = Socket::receive(this->m_pSocket, &this->m_Buffer[this->m_Tail], v27, 0);
- v2 = 0;
- v15 = v29;
- if ( v29 != -100 )
- {
- v2 = -5;
- if ( v29 != -1 )
- {
- LOBYTE(v2) = -6;
- LABEL_16:
- if ( v15 )
- {
- this->m_Tail += v15;
- v2 = v15 + v1;
- }
- return v2;
- }
- }
- }
- return v2;
- }
- }
- return v1;
- }
- v17 = this->m_BufferLen - v4;
- v18 = Socket::receive(this->m_pSocket, &this->m_Buffer[v4], v17, 0);
- v2 = 0;
- if ( v18 == -100 )
- return v2;
- v2 = -7;
- if ( v18 == -1 )
- return v2;
- LOBYTE(v2) = -8;
- if ( !v18 )
- return v2;
- this->m_Tail = (v18 + this->m_Tail) % this->m_BufferLen;
- v1 = v18;
- if ( v18 != v17 )
- return v1;
- v19 = 0;
- v20 = this->m_Head - 1;
- if ( this->m_Head != 1 )
- {
- v30 = Socket::receive(this->m_pSocket, this->m_Buffer, v20, 0);
- v2 = 0;
- v19 = v30;
- if ( v30 == -100 )
- return v2;
- v2 = -9;
- if ( v30 == -1 )
- return v2;
- LOBYTE(v2) = -10;
- if ( !v30 )
- return v2;
- this->m_Tail += v30;
- v1 += v30;
- }
- if ( v19 != v20 )
- return v1;
- v21 = Socket::available((int)this->m_pSocket);
- v22 = v21;
- if ( !v21 )
- return v1;
- if ( v21 + this->m_BufferLen + 1 > this->m_MaxBufferLen )
- {
- SocketInputStream::Initsize(this, 0x10000u);
- return -11;
- }
- v23 = SocketInputStream::Resize(this, v21 + 1);
- v2 = 0;
- if ( v23 )
- {
- v24 = Socket::receive(this->m_pSocket, &this->m_Buffer[this->m_Tail], v22, 0);
- v2 = 0;
- v15 = v24;
- if ( v24 != -100 )
- {
- v2 = -12;
- if ( v24 != -1 )
- {
- LOBYTE(v2) = -13;
- goto LABEL_16;
- }
- }
- }
- return v2;
- }
- //----- (080B01C4) --------------------------------------------------------
- void __cdecl SocketInputStream::CleanUp(int a2)
- {
- *(_DWORD *)(a2 + 20) = 0;
- *(_DWORD *)(a2 + 24) = 0;
- }
- //----- (080B01DC) --------------------------------------------------------
- UINT __cdecl SocketInputStream::Write(SocketInputStream *const this, const CHAR *buf, UINT len)
- {
- UINT v3; // ecx
- UINT v4; // edx
- UINT v5; // ebx
- UINT v6; // ebx
- UINT v7; // edx
- BOOL v9; // eax
- v3 = this->m_Head;
- v4 = this->m_Tail;
- if ( v3 <= v4 )
- {
- v5 = this->m_BufferLen - v4 + v3 - 1;
- if ( len < v5 )
- goto LABEL_3;
- LABEL_10:
- v9 = SocketInputStream::Resize(this, len - v5 + 1);
- v7 = 0;
- if ( !v9 )
- return v7;
- v3 = this->m_Head;
- v4 = this->m_Tail;
- if ( v3 > v4 )
- goto LABEL_12;
- goto LABEL_4;
- }
- v5 = v3 - v4 - 1;
- if ( len >= v5 )
- goto LABEL_10;
- LABEL_3:
- if ( v3 > v4 )
- {
- LABEL_12:
- memcpy(&this->m_Buffer[v4], buf, len);
- goto LABEL_7;
- }
- LABEL_4:
- if ( !v3 )
- goto LABEL_12;
- v6 = this->m_BufferLen - v4;
- if ( len <= v6 )
- goto LABEL_12;
- memcpy(&this->m_Buffer[v4], buf, v6);
- memcpy(this->m_Buffer, &buf[v6], len - v6);
- LABEL_7:
- this->m_Tail = (len + this->m_Tail) % this->m_BufferLen;
- return len;
- }
- //----- (080B0298) --------------------------------------------------------
- void __cdecl _tcf_0_226(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080B02A8) --------------------------------------------------------
- void `global constructor keyed to'SocketInputStream::SocketInputStream()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_226, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080B02D4) --------------------------------------------------------
- UINT __cdecl SocketOutputStream::Length(const SocketOutputStream *const this)
- {
- UINT v1; // edx
- UINT v2; // ecx
- v1 = this->m_Head;
- v2 = this->m_Tail;
- if ( v1 < v2 )
- return v2 - v1;
- if ( v1 <= v2 )
- return 0;
- return v2 + this->m_BufferLen - v1;
- }
- //----- (080B02FC) --------------------------------------------------------
- void __cdecl SocketOutputStream::SocketOutputStream(SocketOutputStream *const this, Socket *sock, UINT BufferLen, UINT MaxBufferLen)
- {
- CHAR *v4; // eax
- this->m_pSocket = sock;
- this->m_BufferLen = BufferLen;
- this->_vptr_SocketOutputStream = (int (**)(...))off_80E5648;
- this->m_MaxBufferLen = MaxBufferLen;
- this->m_Head = 0;
- this->m_Tail = 0;
- v4 = (CHAR *)operator new[](BufferLen);
- this->m_Buffer = v4;
- memset(v4, 0, this->m_BufferLen);
- }
- // 80E5648: using guessed type _DWORD (__cdecl *off_80E5648[2])(SocketOutputStream *this);
- //----- (080B0354) --------------------------------------------------------
- void __cdecl SocketOutputStream::SocketOutputStream(SocketOutputStream *const this, Socket *sock, UINT BufferLen, UINT MaxBufferLen)
- {
- CHAR *v4; // eax
- this->m_pSocket = sock;
- this->m_BufferLen = BufferLen;
- this->_vptr_SocketOutputStream = (int (**)(...))off_80E5648;
- this->m_MaxBufferLen = MaxBufferLen;
- this->m_Head = 0;
- this->m_Tail = 0;
- v4 = (CHAR *)operator new[](BufferLen);
- this->m_Buffer = v4;
- memset(v4, 0, this->m_BufferLen);
- }
- // 80E5648: using guessed type _DWORD (__cdecl *off_80E5648[2])(SocketOutputStream *this);
- //----- (080B03AC) --------------------------------------------------------
- void __cdecl SocketOutputStream::~SocketOutputStream(SocketOutputStream *const this)
- {
- CHAR *v1; // eax
- v1 = this->m_Buffer;
- this->_vptr_SocketOutputStream = (int (**)(...))off_80E5648;
- if ( v1 )
- {
- operator delete[](v1);
- this->m_Buffer = 0;
- }
- }
- // 80E5648: using guessed type _DWORD (__cdecl *off_80E5648[2])(SocketOutputStream *this);
- //----- (080B03E0) --------------------------------------------------------
- void __cdecl SocketOutputStream::~SocketOutputStream(SocketOutputStream *const this)
- {
- CHAR *v1; // eax
- v1 = this->m_Buffer;
- this->_vptr_SocketOutputStream = (int (**)(...))off_80E5648;
- if ( v1 )
- {
- operator delete[](v1);
- this->m_Buffer = 0;
- }
- }
- // 80E5648: using guessed type _DWORD (__cdecl *off_80E5648[2])(SocketOutputStream *this);
- //----- (080B0414) --------------------------------------------------------
- void __cdecl SocketOutputStream::~SocketOutputStream(SocketOutputStream *const this)
- {
- CHAR *v1; // eax
- v1 = this->m_Buffer;
- this->_vptr_SocketOutputStream = (int (**)(...))off_80E5648;
- if ( v1 )
- {
- operator delete[](v1);
- this->m_Buffer = 0;
- }
- operator delete((IPRegionTable *const )this);
- }
- // 80E5648: using guessed type _DWORD (__cdecl *off_80E5648[2])(SocketOutputStream *this);
- //----- (080B0458) --------------------------------------------------------
- BOOL __cdecl SocketOutputStream::Resize(SocketOutputStream *const this, INT size)
- {
- signed int v2; // ebx
- unsigned int v3; // edi
- char *v4; // ebx
- BOOL result; // eax
- UINT v6; // edx
- UINT v7; // eax
- CHAR *v8; // eax
- UINT len; // [esp+8h] [ebp-10h]
- v2 = size;
- if ( size < (signed int)(this->m_BufferLen >> 1) )
- v2 = this->m_BufferLen >> 1;
- v3 = this->m_BufferLen + v2;
- len = SocketOutputStream::Length(this);
- if ( v2 >= 0 || (result = 0, v3 >= len) )
- {
- v4 = (char *)operator new[](v3);
- result = 0;
- if ( v4 )
- {
- v6 = this->m_Head;
- v7 = this->m_Tail;
- if ( v6 < v7 )
- {
- memcpy(v4, &this->m_Buffer[v6], v7 - v6);
- }
- else
- {
- if ( v6 <= v7 )
- {
- v8 = this->m_Buffer;
- if ( !v8 )
- {
- LABEL_8:
- this->m_Tail = len;
- this->m_Buffer = v4;
- this->m_BufferLen = v3;
- this->m_Head = 0;
- return 1;
- }
- LABEL_14:
- operator delete[](v8);
- goto LABEL_8;
- }
- memcpy(v4, &this->m_Buffer[v6], this->m_BufferLen - v6);
- memcpy(&v4[this->m_BufferLen - this->m_Head], this->m_Buffer, this->m_Tail);
- }
- v8 = this->m_Buffer;
- if ( !v8 )
- goto LABEL_8;
- goto LABEL_14;
- }
- }
- return result;
- }
- //----- (080B052C) --------------------------------------------------------
- UINT __cdecl SocketOutputStream::Write(SocketOutputStream *const this, const CHAR *buf, UINT len)
- {
- UINT v3; // ecx
- UINT v4; // edx
- UINT v5; // ebx
- UINT v6; // ebx
- UINT v7; // edx
- BOOL v9; // eax
- v3 = this->m_Head;
- v4 = this->m_Tail;
- if ( v3 <= v4 )
- {
- v5 = this->m_BufferLen - v4 + v3 - 1;
- if ( len < v5 )
- goto LABEL_3;
- LABEL_10:
- v9 = SocketOutputStream::Resize(this, len - v5 + 1);
- v7 = 0;
- if ( !v9 )
- return v7;
- v3 = this->m_Head;
- v4 = this->m_Tail;
- if ( v3 > v4 )
- goto LABEL_12;
- goto LABEL_4;
- }
- v5 = v3 - v4 - 1;
- if ( len >= v5 )
- goto LABEL_10;
- LABEL_3:
- if ( v3 > v4 )
- {
- LABEL_12:
- memcpy(&this->m_Buffer[v4], buf, len);
- goto LABEL_7;
- }
- LABEL_4:
- if ( !v3 )
- goto LABEL_12;
- v6 = this->m_BufferLen - v4;
- if ( len <= v6 )
- goto LABEL_12;
- memcpy(&this->m_Buffer[v4], buf, v6);
- memcpy(this->m_Buffer, &buf[v6], len - v6);
- LABEL_7:
- this->m_Tail = (len + this->m_Tail) % this->m_BufferLen;
- return len;
- }
- //----- (080B05E8) --------------------------------------------------------
- BOOL __cdecl SocketOutputStream::WritePacket(SocketOutputStream *a3, unsigned __int8 *a4)
- {
- unsigned __int8 *v4; // ebx
- int v5; // ecx
- int v6; // ST04_4
- UINT packetUINT; // [esp+14h] [ebp-10h]
- PacketID_t packetID; // [esp+1Ah] [ebp-Ah]
- v4 = a4;
- packetID = (*(int (__cdecl **)(unsigned __int8 *))(*(_DWORD *)a4 + 20))(a4);
- SocketOutputStream::Write(a3, (const CHAR *)&packetID, 2u);
- packetUINT = (*(int (__cdecl **)(unsigned __int8 *))(*(_DWORD *)v4 + 24))(v4) + (v4[4] << 24);
- SocketOutputStream::Write(a3, (const CHAR *)&packetUINT, 4u);
- return (*(int (__fastcall **)(int, int, unsigned __int8 *, SocketOutputStream *))(*(_DWORD *)v4 + 12))(v5, v6, v4, a3);
- }
- //----- (080B0644) --------------------------------------------------------
- void __cdecl SocketOutputStream::Initsize(SocketOutputStream *const this, UINT BufferLen)
- {
- CHAR *v2; // eax
- unsigned int v3; // esi
- CHAR *v4; // eax
- v2 = this->m_Buffer;
- v3 = BufferLen;
- this->m_Head = 0;
- this->m_Tail = 0;
- if ( v2 )
- {
- operator delete[](v2);
- this->m_Buffer = 0;
- }
- if ( this->m_MaxBufferLen < BufferLen )
- v3 = this->m_MaxBufferLen;
- v4 = (CHAR *)operator new[](v3);
- this->m_BufferLen = v3;
- this->m_Buffer = v4;
- memset(v4, 0, v3);
- }
- //----- (080B06A8) --------------------------------------------------------
- UINT __cdecl SocketOutputStream::Flush(SocketOutputStream *const this)
- {
- UINT result; // eax
- UINT v2; // ecx
- UINT v3; // eax
- UINT v4; // edx
- UINT v5; // esi
- UINT v6; // eax
- UINT v7; // edi
- UINT v8; // esi
- UINT i; // eax
- UINT v10; // edi
- UINT v11; // eax
- UINT j; // esi
- UINT v13; // eax
- UINT nFlushed; // [esp+8h] [ebp-10h]
- result = 0;
- if ( this->m_pSocket )
- {
- v2 = this->m_BufferLen;
- nFlushed = 0;
- if ( v2 > this->m_MaxBufferLen )
- {
- SocketOutputStream::Initsize(this, 0x2000u);
- return -2;
- }
- v3 = this->m_Head;
- v4 = this->m_Tail;
- if ( v3 >= v4 )
- {
- if ( v3 > v4 )
- {
- v8 = v2 - v3;
- if ( v2 != v3 )
- {
- for ( i = Socket::send(this->m_pSocket, &this->m_Buffer[v3], v2 - v3, 0x4000u);
- ;
- i = Socket::send(this->m_pSocket, &this->m_Buffer[v11], v8, 0x4000u) )
- {
- v10 = i;
- if ( i == -100 )
- break;
- if ( i == -1 )
- return -4;
- if ( !i )
- return 0;
- nFlushed += i;
- v11 = i + this->m_Head;
- v8 -= v10;
- if ( !v8 )
- {
- v4 = this->m_Tail;
- goto LABEL_21;
- }
- this->m_Head = v11;
- }
- return 0;
- }
- LABEL_21:
- this->m_Head = 0;
- for ( j = v4; j; j -= v13 )
- {
- v13 = Socket::send(this->m_pSocket, &this->m_Buffer[this->m_Head], j, 0x4000u);
- switch ( v13 )
- {
- case 0xFFFFFF9C:
- return 0;
- case 0xFFFFFFFF:
- return -5;
- case 0u:
- return 0;
- }
- nFlushed += v13;
- this->m_Head += v13;
- }
- }
- }
- else
- {
- v5 = v4 - v3;
- if ( v4 != v3 )
- {
- do
- {
- v6 = Socket::send(this->m_pSocket, &this->m_Buffer[v3], v5, 0x4000u);
- v7 = v6;
- switch ( v6 )
- {
- case 0xFFFFFF9C:
- return 0;
- case 0xFFFFFFFF:
- return -3;
- case 0u:
- return 0;
- }
- nFlushed += v6;
- v3 = v6 + this->m_Head;
- this->m_Head = v3;
- v5 -= v7;
- }
- while ( v5 );
- }
- }
- this->m_Tail = 0;
- this->m_Head = 0;
- result = nFlushed;
- }
- return result;
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (080B0858) --------------------------------------------------------
- void __cdecl SocketOutputStream::CleanUp(int a2)
- {
- *(_DWORD *)(a2 + 20) = 0;
- *(_DWORD *)(a2 + 24) = 0;
- }
- //----- (080B0870) --------------------------------------------------------
- void __cdecl _tcf_0_227(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080B0880) --------------------------------------------------------
- void `global constructor keyed to'SocketOutputStream::SocketOutputStream()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_227, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080B08AC) --------------------------------------------------------
- void __cdecl _tcf_0_228(void *a1)
- {
- pthread_mutex_destroy(&__show__(char const*)::llock.m_Mutex);
- }
- //----- (080B08BC) --------------------------------------------------------
- void __cdecl __noreturn __show__(const CHAR *szTemp)
- {
- struct tm *v1; // ebx
- FILE *v2; // eax
- FILE *v3; // ebx
- _DWORD *v4; // eax
- int v5; // [esp+4h] [ebp-1DCh]
- time_t tSetTime; // [esp+24h] [ebp-1BCh]
- AutoLock_T autolock; // [esp+28h] [ebp-1B8h]
- CHAR szFileName[260]; // [esp+38h] [ebp-1A8h]
- CHAR szTime[128]; // [esp+148h] [ebp-98h]
- printf("Assert:%s", szTemp);
- time(&tSetTime);
- v1 = localtime(&tSetTime);
- memset(szTime, 0, 0x80u);
- sprintf(
- szTime,
- " t=(%d-%d-%d %d:%d:%d)",
- v1->tm_year + 1900,
- v1->tm_mon + 1,
- v1->tm_mday,
- v1->tm_hour,
- v1->tm_min,
- v1->tm_sec);
- memset(szFileName, 0, 0x104u);
- sprintf(
- szFileName,
- "./Log/assert_%.4d-%.2d-%.2d.log",
- g_LogFileNameFix / 0x2710,
- g_LogFileNameFix % 0x2710 / 0x64,
- g_LogFileNameFix % 0x64);
- if ( !(_BYTE)`guard variable for'__show__(char const*)::llock
- && __cxa_guard_acquire(&`guard variable for'__show__(char const*)::llock) )
- {
- pthread_mutex_init(&__show__(char const*)::llock.m_Mutex, 0);
- __cxa_guard_release(&`guard variable for'__show__(char const*)::llock);
- __cxa_atexit(_tcf_0_228, 0, &_dso_handle);
- }
- autolock.m_pLock = &__show__(char const*)::llock;
- pthread_mutex_lock(&__show__(char const*)::llock.m_Mutex);
- v2 = fopen(szFileName, "a");
- v3 = v2;
- if ( v2 )
- {
- fwrite(szTemp, 1u, strlen(szTemp), v2);
- fwrite(szTime, 1u, strlen(szTime), v3);
- fwrite("\n", 1u, 1u, v3);
- fclose(v3);
- }
- if ( autolock.m_pLock )
- {
- pthread_mutex_unlock(&autolock.m_pLock->m_Mutex);
- autolock.m_pLock = 0;
- }
- v4 = (_DWORD *)__cxa_allocate_exception(4);
- *v4 = 1;
- __cxa_throw(v4, &`typeinfo for'int, 0, v5);
- }
- // 8049B08: using guessed type int __cdecl __cxa_guard_acquire(_DWORD);
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- // 8049DA8: using guessed type int __cdecl __cxa_allocate_exception(_DWORD);
- // 8049DE8: using guessed type int __cdecl __cxa_guard_release(_DWORD);
- // 804A1C8: using guessed type int __stdcall __cxa_throw(_DWORD, _DWORD, _DWORD, _DWORD);
- //----- (080B0AF0) --------------------------------------------------------
- void __cdecl __messagebox__(const CHAR *msg)
- {
- ;
- }
- //----- (080B0AF8) --------------------------------------------------------
- void __cdecl __noreturn __assert__(const CHAR *file, UINT line, const CHAR *func, const CHAR *expr)
- {
- CHAR szTemp[1024]; // [esp+4h] [ebp-408h]
- memset(szTemp, 0, 0x400u);
- snprintf(szTemp, 0x400u, "\n[%s][%d][%s][%s]", file, line);
- szTemp[1023] = 0;
- __show__(szTemp);
- }
- //----- (080B0B48) --------------------------------------------------------
- void __cdecl __noreturn __assertex__(const CHAR *file, UINT line, const CHAR *func, const CHAR *expr, const CHAR *msg)
- {
- CHAR szTemp[1024]; // [esp+4h] [ebp-408h]
- memset(szTemp, 0, 0x400u);
- snprintf(szTemp, 0x400u, "\n[%s][%d][%s][%s]\n[%s]", file, line, func, expr, msg);
- szTemp[1023] = 0;
- __show__(szTemp);
- }
- //----- (080B0B98) --------------------------------------------------------
- void __cdecl __noreturn __assertspecial__(const CHAR *file, UINT line, const CHAR *func, const CHAR *expr, const CHAR *msg)
- {
- CHAR szTemp[1024]; // [esp+4h] [ebp-408h]
- memset(szTemp, 0, 0x400u);
- snprintf(szTemp, 0x400u, "Stack:[%s][%d][%s][%s]", file, line);
- szTemp[1023] = 0;
- __show__(szTemp);
- }
- //----- (080B0BE8) --------------------------------------------------------
- void __cdecl _tcf_1_6(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080B0BF8) --------------------------------------------------------
- void `global constructor keyed to'g_Command_Assert()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_1_6, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080B0C24) --------------------------------------------------------
- INT __cdecl FileAPI::open_ex(const CHAR *filename, INT flags)
- {
- return open(filename, flags);
- }
- //----- (080B0C3C) --------------------------------------------------------
- INT __cdecl FileAPI::open_ex(const CHAR *filename, INT flags, INT mode)
- {
- return open(filename, flags, mode);
- }
- //----- (080B0C58) --------------------------------------------------------
- UINT __cdecl FileAPI::read_ex(INT fd, void *buf, UINT len)
- {
- return read(fd, buf, len);
- }
- //----- (080B0C74) --------------------------------------------------------
- UINT __cdecl FileAPI::write_ex(INT fd, const void *buf, UINT len)
- {
- return write(fd, buf, len);
- }
- //----- (080B0C90) --------------------------------------------------------
- void __cdecl FileAPI::close_ex(INT fd)
- {
- close(fd);
- }
- //----- (080B0CA4) --------------------------------------------------------
- INT __cdecl FileAPI::fcntl_ex(INT fd, INT cmd)
- {
- return fcntl(fd, cmd);
- }
- //----- (080B0CBC) --------------------------------------------------------
- INT __cdecl FileAPI::fcntl_ex(INT fd, INT cmd, LONG arg)
- {
- return fcntl(fd, cmd, arg);
- }
- //----- (080B0CD8) --------------------------------------------------------
- BOOL __cdecl FileAPI::getfilenonblocking_ex(INT fd)
- {
- BOOL result; // eax
- result = FileAPI::fcntl_ex(fd, 3, 0);
- BYTE1(result) |= 8u;
- return result;
- }
- //----- (080B0CF0) --------------------------------------------------------
- void __cdecl FileAPI::setfilenonblocking_ex(INT fd, BOOL on)
- {
- INT v2; // eax
- v2 = FileAPI::fcntl_ex(fd, 3, 0);
- if ( on )
- BYTE1(v2) |= 8u;
- else
- BYTE1(v2) &= 0xF7u;
- FileAPI::fcntl_ex(fd, 4, v2);
- }
- //----- (080B0D34) --------------------------------------------------------
- void __cdecl FileAPI::ioctl_ex(INT fd, INT request, void *argp)
- {
- ioctl(fd, request, argp);
- }
- //----- (080B0D50) --------------------------------------------------------
- void __cdecl FileAPI::setfilenonblocking_ex2(INT fd, BOOL on)
- {
- ULONG arg; // [esp+8h] [ebp-4h]
- arg = on == 1;
- FileAPI::ioctl_ex(fd, 21537, &arg);
- }
- //----- (080B0D78) --------------------------------------------------------
- UINT __cdecl FileAPI::availablefile_ex(INT fd)
- {
- UINT arg; // [esp+8h] [ebp-4h]
- arg = 0;
- FileAPI::ioctl_ex(fd, 21531, &arg);
- return arg;
- }
- //----- (080B0D9C) --------------------------------------------------------
- INT __cdecl FileAPI::dup_ex(INT fd)
- {
- return dup(fd);
- }
- //----- (080B0DB0) --------------------------------------------------------
- LONG __cdecl FileAPI::lseek_ex(INT fd, LONG offset, INT whence)
- {
- return lseek(fd, offset, whence);
- }
- //----- (080B0DCC) --------------------------------------------------------
- LONG __cdecl FileAPI::tell_ex(INT fd)
- {
- ;
- }
- //----- (080B0DD4) --------------------------------------------------------
- void __cdecl _tcf_0_229(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080B0DE4) --------------------------------------------------------
- void `global constructor keyed to'FileAPI::open_ex()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_229, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080B0E10) --------------------------------------------------------
- void __cdecl IniFile::IniFile(_DWORD *a2)
- {
- *a2 = off_80E56F8;
- a2[66] = 0;
- a2[67] = 0;
- a2[68] = 0;
- a2[69] = 0;
- }
- // 80E56F8: using guessed type _DWORD (__cdecl *off_80E56F8[2])(IniFile *this);
- //----- (080B0E48) --------------------------------------------------------
- void __cdecl IniFile::IniFile(_DWORD *a2)
- {
- *a2 = off_80E56F8;
- a2[66] = 0;
- a2[67] = 0;
- a2[68] = 0;
- a2[69] = 0;
- }
- // 80E56F8: using guessed type _DWORD (__cdecl *off_80E56F8[2])(IniFile *this);
- //----- (080B0E80) --------------------------------------------------------
- void __cdecl IniFile::~IniFile(IniFile *const this)
- {
- int v1; // edx
- v1 = this->m_lDataLen;
- this->_vptr_IniFile = (int (**)(...))off_80E56F8;
- if ( v1 )
- {
- if ( this->m_strData )
- {
- operator delete[](this->m_strData);
- this->m_strData = 0;
- }
- this->m_lDataLen = 0;
- }
- if ( this->IndexNum )
- {
- if ( this->IndexList )
- {
- operator delete[](this->IndexList);
- this->IndexList = 0;
- }
- this->IndexNum = 0;
- }
- }
- // 80E56F8: using guessed type _DWORD (__cdecl *off_80E56F8[2])(IniFile *this);
- //----- (080B0F18) --------------------------------------------------------
- void __cdecl IniFile::~IniFile(IniFile *const this)
- {
- int v1; // eax
- v1 = this->m_lDataLen;
- this->_vptr_IniFile = (int (**)(...))off_80E56F8;
- if ( v1 )
- {
- if ( this->m_strData )
- {
- operator delete[](this->m_strData);
- this->m_strData = 0;
- }
- this->m_lDataLen = 0;
- }
- if ( this->IndexNum )
- {
- if ( this->IndexList )
- {
- operator delete[](this->IndexList);
- this->IndexList = 0;
- }
- this->IndexNum = 0;
- }
- }
- // 80E56F8: using guessed type _DWORD (__cdecl *off_80E56F8[2])(IniFile *this);
- //----- (080B0FB0) --------------------------------------------------------
- void __cdecl IniFile::~IniFile(IniFile *const this)
- {
- int v1; // eax
- v1 = this->m_lDataLen;
- this->_vptr_IniFile = (int (**)(...))off_80E56F8;
- if ( v1 )
- {
- if ( this->m_strData )
- {
- operator delete[](this->m_strData);
- this->m_strData = 0;
- }
- this->m_lDataLen = 0;
- }
- if ( this->IndexNum )
- {
- if ( this->IndexList )
- {
- operator delete[](this->IndexList);
- this->IndexList = 0;
- }
- this->IndexNum = 0;
- }
- operator delete((IPRegionTable *const )this);
- }
- // 80E56F8: using guessed type _DWORD (__cdecl *off_80E56F8[2])(IniFile *this);
- //----- (080B1050) --------------------------------------------------------
- void __cdecl IniFile::InitIndex(IniFile *const this)
- {
- int v1; // esi
- int v2; // edx
- CHAR *v3; // ebx
- INT v4; // eax
- INT *v5; // eax
- int v6; // esi
- int v7; // edx
- CHAR *v8; // ebx
- int v9; // ecx
- INT n; // [esp+8h] [ebp-10h]
- v1 = this->m_lDataLen;
- v2 = 0;
- this->IndexNum = 0;
- if ( v1 > 0 )
- {
- v3 = this->m_strData;
- do
- {
- while ( v3[v2] != 91 || v2 && v3[v2 - 1] != 10 )
- {
- if ( v1 <= ++v2 )
- goto LABEL_8;
- }
- ++v2;
- ++this->IndexNum;
- }
- while ( v1 > v2 );
- }
- LABEL_8:
- if ( this->IndexList )
- {
- operator delete[](this->IndexList);
- this->IndexList = 0;
- }
- v4 = this->IndexNum;
- if ( v4 > 0 )
- {
- v5 = (INT *)operator new[](4 * v4);
- this->IndexList = v5;
- if ( !v5 )
- __assertex__(
- "src/FB_IniFile.cpp",
- 0xE1u,
- "void IniFile::InitIndex()",
- "FALSE",
- "[IniFile::InitIndex]: alloc memory failed!!");
- memset(this->IndexList, -1, 4 * this->IndexNum);
- }
- v6 = this->m_lDataLen;
- v7 = 0;
- n = 0;
- if ( v6 > 0 )
- {
- v8 = this->m_strData;
- do
- {
- v9 = v7 + 1;
- if ( v8[v7] == 91 && (!v7 || v8[v7 - 1] == 10) )
- {
- v9 = v7 + 1;
- this->IndexList[n++] = v7 + 1;
- }
- v7 = v9;
- }
- while ( v6 > v9 );
- }
- }
- //----- (080B1184) --------------------------------------------------------
- BOOL __cdecl IniFile::Open(IniFile *const this, const CHAR *filename, const CHAR *encryptKey)
- {
- FILE *v3; // eax
- FILE *v4; // ebx
- int v5; // eax
- CHAR *v6; // eax
- FILE *v7; // eax
- FILE *v8; // ebx
- void *v9; // edi
- CHAR *v10; // eax
- int v11; // eax
- int outSize; // [esp+Ch] [ebp-10h]
- strncpy(this->m_strFileName, filename, 0x103u);
- if ( this->m_strData )
- {
- operator delete[](this->m_strData);
- this->m_strData = 0;
- }
- v3 = fopen(filename, "rb");
- v4 = v3;
- if ( v3 )
- {
- fseek(v3, 0, 2);
- this->m_lDataLen = ftell(v4);
- fclose(v4);
- v5 = this->m_lDataLen;
- if ( v5 > 0 )
- {
- LABEL_5:
- v6 = (CHAR *)operator new[](v5);
- this->m_strData = v6;
- if ( !v6 )
- __assertex__(
- "src/FB_IniFile.cpp",
- 0x49u,
- "BOOL IniFile::Open(const CHAR*, const CHAR*)",
- "FALSE",
- "[IniFile::Open]: alloc memory failed!!");
- memset(v6, 0, this->m_lDataLen);
- v7 = fopen(filename, "rb");
- v8 = v7;
- if ( !v7 )
- __assertex__("src/FB_IniFile.cpp", 0x50u, "BOOL IniFile::Open(const CHAR*, const CHAR*)", "fp!=NULL", filename);
- fread(this->m_strData, this->m_lDataLen, 1u, v7);
- if ( Cyclone::IsEncrptMemory(this->m_strData, this->m_lDataLen) )
- {
- v9 = (void *)operator new[](this->m_lDataLen + 32);
- outSize = this->m_lDataLen + 32;
- if ( !Cyclone::PlatformDecrypMemory(encryptKey, this->m_strData, this->m_lDataLen, (char *)v9, &outSize) )
- {
- if ( v9 )
- operator delete[](v9);
- __assertex__(
- "src/FB_IniFile.cpp",
- 0x5Bu,
- "BOOL IniFile::Open(const CHAR*, const CHAR*)",
- "FALSE",
- "[IniFile::Open]: Decrypt memory failed!!");
- }
- if ( this->m_strData )
- operator delete[](this->m_strData);
- v11 = outSize;
- this->m_strData = (CHAR *)v9;
- this->m_lDataLen = v11;
- }
- fclose(v8);
- IniFile::InitIndex(this);
- return 1;
- }
- }
- else
- {
- this->m_lDataLen = -1;
- v5 = this->m_lDataLen;
- if ( v5 > 0 )
- goto LABEL_5;
- }
- this->m_lDataLen = 1;
- v10 = (CHAR *)operator new[](1u);
- this->m_strData = v10;
- if ( !v10 )
- __assertex__(
- "src/FB_IniFile.cpp",
- 0x71u,
- "BOOL IniFile::Open(const CHAR*, const CHAR*)",
- "FALSE",
- "[IniFile::Open]: alloc memory failed!!");
- memset(v10, 0, this->m_lDataLen);
- IniFile::InitIndex(this);
- return 0;
- }
- //----- (080B1408) --------------------------------------------------------
- void __cdecl IniFile::IniFile(const CHAR *filename, const CHAR *filenamea)
- {
- *(_DWORD *)filename = off_80E56F8;
- *((_DWORD *)filename + 66) = 0;
- *((_DWORD *)filename + 67) = 0;
- *((_DWORD *)filename + 68) = 0;
- *((_DWORD *)filename + 69) = 0;
- memset((void *)(filename + 4), 0, 0x104u);
- memset((void *)(filename + 292), 0, 0x400u);
- memset((void *)(filename + 1316), 0, 0x400u);
- IniFile::Open((IniFile *const )filename, filenamea, "<EMPTY>");
- }
- // 80E56F8: using guessed type _DWORD (__cdecl *off_80E56F8[2])(IniFile *this);
- //----- (080B1494) --------------------------------------------------------
- void __cdecl IniFile::IniFile(const CHAR *filename, const CHAR *filenamea)
- {
- *(_DWORD *)filename = off_80E56F8;
- *((_DWORD *)filename + 66) = 0;
- *((_DWORD *)filename + 67) = 0;
- *((_DWORD *)filename + 68) = 0;
- *((_DWORD *)filename + 69) = 0;
- memset((void *)(filename + 4), 0, 0x104u);
- memset((void *)(filename + 292), 0, 0x400u);
- memset((void *)(filename + 1316), 0, 0x400u);
- IniFile::Open((IniFile *const )filename, filenamea, "<EMPTY>");
- }
- // 80E56F8: using guessed type _DWORD (__cdecl *off_80E56F8[2])(IniFile *this);
- //----- (080B1520) --------------------------------------------------------
- void __cdecl IniFile::Close(IniFile *const this)
- {
- if ( this->m_lDataLen )
- {
- if ( this->m_strData )
- {
- operator delete[](this->m_strData);
- this->m_strData = 0;
- }
- this->m_lDataLen = 0;
- }
- if ( this->IndexNum )
- {
- if ( this->IndexList )
- {
- operator delete[](this->IndexList);
- this->IndexList = 0;
- }
- this->IndexNum = 0;
- }
- }
- //----- (080B15B4) --------------------------------------------------------
- BOOL __cdecl IniFile::Save(IniFile *const this, CHAR *filename)
- {
- CHAR *v2; // eax
- FILE *v3; // ebx
- BOOL result; // eax
- v2 = filename;
- if ( !filename )
- v2 = this->m_strFileName;
- v3 = fopen(v2, "wb");
- result = 0;
- if ( v3 )
- {
- fwrite(this->m_strData, this->m_lDataLen, 1u, v3);
- fclose(v3);
- result = 1;
- }
- return result;
- }
- //----- (080B160C) --------------------------------------------------------
- CHAR *__cdecl IniFile::GetData(int a2)
- {
- return *(CHAR **)(a2 + 268);
- }
- //----- (080B161C) --------------------------------------------------------
- INT __cdecl IniFile::GetLines(IniFile *const this, INT cur)
- {
- INT v2; // edx
- INT i; // ecx
- v2 = 0;
- for ( i = 1; v2 < cur; ++i )
- {
- while ( this->m_strData[v2] != 10 )
- {
- if ( ++v2 >= cur )
- return i;
- }
- ++v2;
- }
- return i;
- }
- //----- (080B1658) --------------------------------------------------------
- INT __cdecl IniFile::GetLines(IniFile *const this)
- {
- int v1; // eax
- int v2; // ebx
- int i; // edx
- v1 = this->m_lDataLen;
- v2 = 0;
- for ( i = 0; v1 > i; ++v2 )
- {
- while ( this->m_strData[i] != 10 )
- {
- if ( v1 <= ++i )
- return v2 + 1;
- }
- ++i;
- }
- return v2 + 1;
- }
- //----- (080B1694) --------------------------------------------------------
- INT __cdecl IniFile::GotoNextLine(IniFile *const this, INT p)
- {
- INT result; // eax
- int v3; // ecx
- result = -1;
- if ( p >= 0 )
- {
- v3 = this->m_lDataLen;
- result = p;
- if ( v3 > p )
- {
- while ( this->m_strData[result] != 10 )
- {
- if ( v3 <= ++result )
- return result;
- }
- ++result;
- }
- }
- return result;
- }
- //----- (080B16D0) --------------------------------------------------------
- BOOL __cdecl IniFile::ReadText(IniFile *const this, INT p, CHAR *pBuffer, INT nBufferSize)
- {
- INT v4; // esi
- int v5; // eax
- int v6; // ebx
- BOOL v7; // edx
- CHAR v8; // dl
- signed int v10; // ecx
- int v11; // eax
- INT i; // [esp+0h] [ebp-18h]
- int nSize; // [esp+4h] [ebp-14h]
- v4 = p;
- v5 = IniFile::GotoNextLine(this, p) - p;
- v6 = 0;
- v7 = 0;
- if ( v5 != -2 )
- {
- memset(pBuffer, 0, nBufferSize);
- nSize = this->m_lDataLen - p;
- if ( nSize >= nBufferSize )
- nSize = nBufferSize;
- i = 0;
- if ( nSize <= 0 )
- {
- LABEL_10:
- pBuffer[nBufferSize - 1] = 0;
- }
- else
- {
- while ( 1 )
- {
- v8 = this->m_strData[v4];
- if ( v8 == 59 || v8 == 13 || v8 == 9 || v8 == 93 )
- {
- v10 = 0;
- if ( v8 != 93 )
- break;
- v11 = 0;
- if ( v6 <= 0 )
- break;
- do
- {
- while ( pBuffer[v11] >= 0 || ++v11 != v6 )
- {
- if ( ++v11 >= v6 )
- goto LABEL_20;
- }
- ++v11;
- v10 = 1;
- }
- while ( v11 < v6 );
- LABEL_20:
- if ( !v10 )
- break;
- }
- pBuffer[v6] = v8;
- ++v4;
- ++v6;
- if ( ++i >= nSize )
- goto LABEL_10;
- }
- pBuffer[nBufferSize - 1] = 0;
- }
- v7 = 1;
- }
- return v7;
- }
- //----- (080B17B8) --------------------------------------------------------
- INT __cdecl IniFile::FindIndex(IniFile *const this, CHAR *string)
- {
- int v2; // ebx
- CHAR szBuffer[256]; // [esp+0h] [ebp-118h]
- v2 = 0;
- if ( this->IndexNum <= 0 )
- return -1;
- while ( IniFile::ReadText(this, this->IndexList[v2], szBuffer, 256) != 1 || strncmp(string, szBuffer, 0x100u) )
- {
- if ( this->IndexNum <= ++v2 )
- return -1;
- }
- return this->IndexList[v2];
- }
- //----- (080B1838) --------------------------------------------------------
- BOOL __cdecl IniFile::ReadDataName(IniFile *const this, INT *const p, CHAR *szBuffer, INT nBufferSize)
- {
- int v4; // edx
- int v5; // ebx
- CHAR v6; // al
- memset(szBuffer, 0, nBufferSize);
- v4 = *p;
- v5 = 0;
- if ( this->m_lDataLen <= *p )
- return 1;
- while ( 1 )
- {
- v6 = this->m_strData[v4];
- if ( v6 == 13 || v6 == 61 || v6 == 59 )
- break;
- szBuffer[v5] = v6;
- ++v4;
- ++v5;
- if ( this->m_lDataLen <= v4 )
- return 1;
- }
- *p = v4 + 1;
- szBuffer[nBufferSize - 1] = 0;
- return 1;
- }
- //----- (080B18B8) --------------------------------------------------------
- INT __cdecl IniFile::FindData(IniFile *const this, INT index, CHAR *string)
- {
- INT v3; // ebx
- INT p; // [esp+Ch] [ebp-11Ch]
- CHAR szName[256]; // [esp+10h] [ebp-118h]
- v3 = index;
- p = index;
- while ( 1 )
- {
- p = IniFile::GotoNextLine(this, v3);
- if ( p == -1 )
- break;
- if ( !IniFile::ReadDataName(this, &p, szName, 256) )
- break;
- v3 = p;
- if ( this->m_lDataLen <= p || szName[0] == 91 )
- break;
- if ( !strncmp(string, szName, 0x100u) )
- return v3;
- }
- return -1;
- }
- //----- (080B194C) --------------------------------------------------------
- BOOL __cdecl IniFile::AddIndex(IniFile *const this, CHAR *index)
- {
- INT v2; // ebx
- BOOL result; // eax
- size_t v4; // edi
- CHAR *v5; // eax
- CHAR *v6; // ebx
- int v7; // eax
- CHAR str[256]; // [esp+4h] [ebp-118h]
- memset(str, 0, 0x100u);
- v2 = IniFile::FindIndex(this, index);
- result = 0;
- if ( v2 == -1 )
- {
- snprintf(str, 0x100u, "\r\n[%s]", index);
- str[255] = 0;
- v4 = strlen(str);
- v5 = (CHAR *)operator new[](v4 + this->m_lDataLen);
- v6 = v5;
- if ( !v5 )
- __assertex__(
- "src/FB_IniFile.cpp",
- 0x1A5u,
- "BOOL IniFile::AddIndex(CHAR*)",
- "FALSE",
- "[IniFile::AddIndex]: alloc failed!!");
- memcpy(v5, this->m_strData, this->m_lDataLen);
- memcpy(&v6[this->m_lDataLen], str, v4);
- if ( this->m_strData )
- operator delete[](this->m_strData);
- v7 = v4 + this->m_lDataLen;
- this->m_strData = v6;
- this->m_lDataLen = v7;
- v6[v7 - 1] = 0;
- IniFile::InitIndex(this);
- result = 1;
- }
- return result;
- }
- //----- (080B1A78) --------------------------------------------------------
- BOOL __cdecl IniFile::AddData(IniFile *const this, INT p, CHAR *name, CHAR *string)
- {
- INT v4; // esi
- BOOL result; // eax
- char *v6; // edi
- int v7; // eax
- INT nLength; // [esp+Ch] [ebp-120h]
- CHAR str[256]; // [esp+14h] [ebp-118h]
- memset(str, 0, 0x100u);
- snprintf(str, 0x100u, "%s=%s", name, string);
- str[255] = 0;
- nLength = strlen(str);
- v4 = IniFile::GotoNextLine(this, p);
- result = 0;
- if ( v4 != -1 )
- {
- v6 = (char *)operator new[](this->m_lDataLen + nLength);
- memset(v6, 0, this->m_lDataLen + nLength);
- if ( !v6 )
- __assertex__(
- "src/FB_IniFile.cpp",
- 0x1CEu,
- "BOOL IniFile::AddData(INT, CHAR*, CHAR*)",
- "FALSE",
- "[IniFile::AddData]: alloc failed!!");
- memcpy(v6, this->m_strData, v4);
- memcpy(&v6[v4], str, nLength);
- memcpy(&v6[v4 + nLength], &this->m_strData[v4], this->m_lDataLen - v4);
- v7 = this->m_lDataLen + nLength;
- this->m_lDataLen = v7;
- v6[v7 - 1] = 0;
- if ( this->m_strData )
- operator delete[](this->m_strData);
- this->m_strData = v6;
- result = 1;
- }
- return result;
- }
- //----- (080B1C10) --------------------------------------------------------
- BOOL __cdecl IniFile::ModityData(IniFile *const this, INT p, CHAR *name, CHAR *string)
- {
- INT v4; // ebx
- unsigned int v6; // kr04_4
- unsigned int v7; // kr08_4
- char *v8; // edi
- char *v9; // ebx
- int v10; // eax
- INT newlen; // [esp+Ch] [ebp-120h]
- INT p_0; // [esp+10h] [ebp-11Ch]
- CHAR szBuffer[256]; // [esp+14h] [ebp-118h]
- v4 = IniFile::FindData(this, p, name);
- if ( !IniFile::ReadText(this, v4, szBuffer, 256) )
- return 0;
- v6 = strlen(szBuffer) + 1;
- p_0 = v6 + v4 - 1;
- v7 = strlen(string) + 1;
- newlen = v7 - 1;
- v8 = (char *)operator new[](this->m_lDataLen + v7 - v6);
- memset(v8, 0, this->m_lDataLen + v7 - v6);
- if ( !v8 )
- __assertex__(
- "src/FB_IniFile.cpp",
- 0x1F1u,
- "BOOL IniFile::ModityData(INT, CHAR*, CHAR*)",
- "FALSE",
- "[IniFile::ModifyData]: alloc failed!!");
- memcpy(v8, this->m_strData, v4);
- v9 = &v8[v4];
- memcpy(v9, string, newlen);
- memcpy(&v9[newlen], &this->m_strData[p_0], this->m_lDataLen - p_0);
- v10 = this->m_lDataLen + v7 - v6;
- this->m_lDataLen = v10;
- v8[v10 - 1] = 0;
- if ( this->m_strData )
- operator delete[](this->m_strData);
- this->m_strData = v8;
- return 1;
- }
- //----- (080B1D98) --------------------------------------------------------
- INT __cdecl IniFile::GotoLastLine(IniFile *const this, CHAR *index)
- {
- INT v2; // eax
- int v3; // edx
- INT result; // eax
- CHAR v5; // al
- v2 = IniFile::FindIndex(this, index);
- v3 = IniFile::GotoNextLine(this, v2);
- result = 0;
- if ( v3 != -1 )
- {
- do
- {
- v5 = this->m_strData[v3];
- if ( v5 == 13 )
- break;
- if ( v5 == -1 )
- break;
- if ( v5 == -3 )
- break;
- if ( v5 == 32 )
- break;
- if ( v5 == 47 )
- break;
- if ( v5 == 9 )
- break;
- if ( v5 == 10 )
- break;
- v3 = IniFile::GotoNextLine(this, v3);
- }
- while ( this->m_lDataLen > v3 );
- result = v3;
- }
- return result;
- }
- //----- (080B1E00) --------------------------------------------------------
- BOOL __cdecl IniFile::ReadText(IniFile *const this, CHAR *index, CHAR *name, CHAR *str, INT size)
- {
- INT v5; // eax
- BOOL v6; // edx
- INT v7; // eax
- CHAR szTmp[512]; // [esp+4h] [ebp-218h]
- *str = 0;
- memset(szTmp, 0, 0x200u);
- snprintf(szTmp, 0x200u, "[%s][%s][%s]", this->m_strFileName, index, name);
- v5 = IniFile::FindIndex(this, index);
- v6 = 0;
- if ( v5 != -1 )
- {
- v7 = IniFile::FindData(this, v5, name);
- v6 = 0;
- if ( v7 != -1 )
- v6 = IniFile::ReadText(this, v7, str, size) != 0;
- }
- return v6;
- }
- //----- (080B1E94) --------------------------------------------------------
- BOOL __cdecl IniFile::ReadText(IniFile *const this, CHAR *index, INT lines, CHAR *str, INT size)
- {
- INT v5; // ebx
- BOOL result; // eax
- INT v7; // ebx
- INT v8; // esi
- int v9; // eax
- CHAR *v10; // eax
- CHAR szTmp[512]; // [esp+4h] [ebp-218h]
- *str = 0;
- memset(szTmp, 0, 0x200u);
- snprintf(szTmp, 0x200u, "[%s][%s][%d]", this->m_strFileName, index, lines);
- v5 = IniFile::FindIndex(this, index);
- result = 0;
- if ( v5 != -1 )
- {
- v7 = IniFile::GotoNextLine(this, v5);
- result = 0;
- if ( v7 != -1 )
- {
- v8 = 0;
- if ( lines <= 0 )
- {
- v9 = this->m_lDataLen;
- LABEL_9:
- if ( v9 >= v7 )
- {
- v10 = this->m_strData;
- while ( 1 )
- {
- if ( v10[v7] == 61 )
- {
- if ( IniFile::ReadText(this, ++v7, str, size) == 1 )
- return 1;
- v10 = this->m_strData;
- }
- if ( v10[v7] != 13 && this->m_lDataLen >= ++v7 )
- continue;
- return 0;
- }
- }
- }
- else
- {
- v9 = this->m_lDataLen;
- while ( 1 )
- {
- while ( v9 <= v7 )
- {
- if ( ++v8 >= lines )
- goto LABEL_9;
- }
- v7 = IniFile::GotoNextLine(this, v7);
- if ( v7 == -1 )
- break;
- ++v8;
- v9 = this->m_lDataLen;
- if ( v8 >= lines )
- goto LABEL_9;
- }
- }
- return 0;
- }
- }
- return result;
- }
- //----- (080B1F98) --------------------------------------------------------
- BOOL __cdecl IniFile::ReadInt(IniFile *const this, CHAR *index, CHAR *name, int *a5)
- {
- INT v5; // eax
- signed int v6; // edx
- INT v7; // eax
- BOOL v8; // eax
- CHAR szBuffer[256]; // [esp+4h] [ebp-318h]
- CHAR szTmp[512]; // [esp+104h] [ebp-218h]
- memset(szTmp, 0, 0x200u);
- snprintf(szTmp, 0x200u, "[%s][%s][%s]", this->m_strFileName, index, name);
- v5 = IniFile::FindIndex(this, index);
- v6 = 0;
- if ( v5 != -1 )
- {
- v7 = IniFile::FindData(this, v5, name);
- v6 = 0;
- if ( v7 != -1 )
- {
- v8 = IniFile::ReadText(this, v7, szBuffer, 256);
- v6 = 0;
- if ( v8 )
- {
- *a5 = __strtol_internal(szBuffer, 0, 10, 0);
- v6 = 1;
- }
- }
- }
- return v6;
- }
- //----- (080B2044) --------------------------------------------------------
- BOOL __cdecl IniFile::ReadInt(IniFile *const this, CHAR *index, INT lines, int *a5)
- {
- INT v5; // ebx
- BOOL result; // eax
- INT v7; // ebx
- INT v8; // esi
- int v9; // eax
- CHAR *v10; // eax
- CHAR szBuffer[256]; // [esp+4h] [ebp-318h]
- CHAR szTmp[512]; // [esp+104h] [ebp-218h]
- memset(szTmp, 0, 0x200u);
- snprintf(szTmp, 0x200u, "[%s][%s][%d]", this->m_strFileName, index, lines);
- v5 = IniFile::FindIndex(this, index);
- result = 0;
- if ( v5 != -1 )
- {
- v7 = IniFile::GotoNextLine(this, v5);
- result = 0;
- if ( v7 != -1 )
- {
- v8 = 0;
- if ( lines <= 0 )
- {
- v9 = this->m_lDataLen;
- LABEL_9:
- if ( v9 > v7 )
- {
- v10 = this->m_strData;
- while ( 1 )
- {
- if ( v10[v7] == 61 )
- {
- if ( IniFile::ReadText(this, ++v7, szBuffer, 256) == 1 )
- {
- *a5 = __strtol_internal(szBuffer, 0, 10, 0);
- return 1;
- }
- v10 = this->m_strData;
- }
- if ( v10[v7] != 13 && this->m_lDataLen > ++v7 )
- continue;
- return 0;
- }
- }
- }
- else
- {
- v9 = this->m_lDataLen;
- while ( 1 )
- {
- while ( v9 <= v7 )
- {
- if ( ++v8 >= lines )
- goto LABEL_9;
- }
- v7 = IniFile::GotoNextLine(this, v7);
- if ( v7 == -1 )
- break;
- ++v8;
- v9 = this->m_lDataLen;
- if ( v8 >= lines )
- goto LABEL_9;
- }
- }
- return 0;
- }
- }
- return result;
- }
- //----- (080B2168) --------------------------------------------------------
- BOOL __cdecl IniFile::ReadFloat(IniFile *const this, CHAR *index, CHAR *name, float *a5)
- {
- INT v5; // eax
- signed int v6; // edx
- INT v7; // eax
- BOOL v8; // eax
- long double v10; // fst7
- CHAR szBuffer[256]; // [esp+14h] [ebp-318h]
- CHAR szTmp[512]; // [esp+114h] [ebp-218h]
- memset(szTmp, 0, 0x200u);
- snprintf(szTmp, 0x200u, "[%s][%s][%s]", this->m_strFileName, index, name);
- v5 = IniFile::FindIndex(this, index);
- v6 = 0;
- if ( v5 != -1 )
- {
- v7 = IniFile::FindData(this, v5, name);
- v6 = 0;
- if ( v7 != -1 )
- {
- v8 = IniFile::ReadText(this, v7, szBuffer, 256);
- v6 = 0;
- if ( v8 )
- {
- v10 = __strtod_internal(szBuffer, 0, 0);
- v6 = 1;
- *a5 = v10;
- }
- }
- }
- return v6;
- }
- //----- (080B2210) --------------------------------------------------------
- BOOL __cdecl IniFile::ReadFloat(IniFile *const this, CHAR *index, INT lines, float *a5)
- {
- INT v5; // ebx
- BOOL result; // eax
- INT v7; // ebx
- INT v8; // esi
- int v9; // eax
- CHAR *v10; // eax
- CHAR szBuffer[256]; // [esp+14h] [ebp-318h]
- CHAR szTmp[512]; // [esp+114h] [ebp-218h]
- memset(szTmp, 0, 0x200u);
- snprintf(szTmp, 0x200u, "[%s][%s][%d]", this->m_strFileName, index, lines);
- v5 = IniFile::FindIndex(this, index);
- result = 0;
- if ( v5 != -1 )
- {
- v7 = IniFile::GotoNextLine(this, v5);
- result = 0;
- if ( v7 != -1 )
- {
- v8 = 0;
- if ( lines <= 0 )
- {
- v9 = this->m_lDataLen;
- LABEL_9:
- if ( v9 > v7 )
- {
- v10 = this->m_strData;
- while ( 1 )
- {
- if ( v10[v7] == 61 )
- {
- if ( IniFile::ReadText(this, ++v7, szBuffer, 256) == 1 )
- {
- *a5 = __strtod_internal(szBuffer, 0, 0);
- return 1;
- }
- v10 = this->m_strData;
- }
- if ( v10[v7] != 13 && this->m_lDataLen > ++v7 )
- continue;
- return 0;
- }
- }
- }
- else
- {
- v9 = this->m_lDataLen;
- while ( 1 )
- {
- while ( v9 <= v7 )
- {
- if ( ++v8 >= lines )
- goto LABEL_9;
- }
- v7 = IniFile::GotoNextLine(this, v7);
- if ( v7 == -1 )
- break;
- ++v8;
- v9 = this->m_lDataLen;
- if ( v8 >= lines )
- goto LABEL_9;
- }
- }
- return 0;
- }
- }
- return result;
- }
- //----- (080B2338) --------------------------------------------------------
- BOOL __cdecl IniFile::ReadCaption(IniFile *const this, CHAR *index, INT lines, CHAR *str, INT size)
- {
- INT v5; // eax
- BOOL v6; // edx
- int v7; // eax
- int v8; // ebx
- BOOL v9; // eax
- INT n; // [esp+10h] [ebp-21Ch]
- CHAR szTmp[512]; // [esp+14h] [ebp-218h]
- memset(szTmp, 0, 0x200u);
- snprintf(szTmp, 0x200u, "[%s][%s][%d]", this->m_strFileName, index, lines);
- v5 = IniFile::FindIndex(this, index);
- v6 = 0;
- n = v5;
- if ( v5 != -1 )
- {
- v7 = IniFile::GotoNextLine(this, v5);
- v6 = 0;
- n = v7;
- if ( v7 != -1 )
- {
- v8 = 0;
- if ( lines <= 0 )
- {
- LABEL_6:
- v9 = IniFile::ReadDataName(this, &n, str, size);
- v6 = 0;
- if ( v9 )
- v6 = 1;
- }
- else
- {
- while ( 1 )
- {
- if ( this->m_lDataLen > v7 )
- {
- v7 = IniFile::GotoNextLine(this, v7);
- n = v7;
- if ( v7 == -1 )
- break;
- }
- if ( ++v8 >= lines )
- goto LABEL_6;
- }
- v6 = 0;
- }
- }
- }
- return v6;
- }
- //----- (080B2404) --------------------------------------------------------
- BOOL __cdecl IniFile::Write(IniFile *const this, CHAR *index, CHAR *name, CHAR *string)
- {
- INT v4; // eax
- INT v5; // ebx
- BOOL v6; // eax
- BOOL v7; // edx
- INT v9; // eax
- INT v10; // eax
- BOOL v11; // eax
- v4 = IniFile::FindIndex(this, index);
- v5 = v4;
- if ( v4 != -1 )
- {
- if ( IniFile::FindData(this, v4, name) == -1 )
- {
- v9 = IniFile::GotoLastLine(this, index);
- v7 = 0;
- if ( v9 == -1 )
- return v7;
- v6 = IniFile::AddData(this, v9, name, string);
- }
- else
- {
- v6 = IniFile::ModityData(this, v5, name, string);
- }
- return v6 == 1;
- }
- if ( IniFile::AddIndex(this, index) == 1 )
- {
- v10 = IniFile::GotoLastLine(this, index);
- v7 = 0;
- if ( v10 == -1 )
- return v7;
- v11 = IniFile::AddData(this, v10, name, string);
- v7 = 1;
- if ( v11 == 1 )
- return v7;
- }
- return 0;
- }
- //----- (080B24C8) --------------------------------------------------------
- BOOL __cdecl IniFile::Write(IniFile *const this, CHAR *index, CHAR *name, INT num)
- {
- INT v4; // eax
- INT v5; // ebx
- BOOL v6; // edx
- INT v8; // eax
- BOOL v9; // eax
- INT v10; // eax
- BOOL v11; // eax
- CHAR string[32]; // [esp+0h] [ebp-38h]
- snprintf(string, 0x20u, "%d", num);
- v4 = IniFile::FindIndex(this, index);
- v5 = v4;
- if ( v4 != -1 )
- {
- if ( IniFile::FindData(this, v4, name) != -1
- || (v8 = IniFile::GotoLastLine(this, index), v6 = 0, v5 = v8, v8 != -1)
- && (v9 = IniFile::AddData(this, v8, name, string), v6 = 1, v9 != 1) )
- {
- v6 = IniFile::ModityData(this, v5, name, string) == 1;
- }
- return v6;
- }
- if ( IniFile::AddIndex(this, index) == 1 )
- {
- v10 = IniFile::GotoLastLine(this, index);
- v6 = 0;
- if ( v10 == -1 )
- return v6;
- v11 = IniFile::AddData(this, v10, name, string);
- v6 = 1;
- if ( v11 == 1 )
- return v6;
- }
- return 0;
- }
- //----- (080B25B8) --------------------------------------------------------
- INT __cdecl IniFile::GetContinueDataNum(IniFile *const this, CHAR *index)
- {
- INT v2; // edx
- INT v3; // esi
- INT result; // eax
- int v5; // edx
- CHAR v6; // al
- v2 = IniFile::FindIndex(this, index);
- v3 = 0;
- result = 0;
- if ( v2 != -1 )
- {
- v5 = IniFile::GotoNextLine(this, v2);
- result = 0;
- if ( v5 != -1 )
- {
- do
- {
- v6 = this->m_strData[v5];
- if ( v6 == 13 )
- break;
- if ( v6 == -1 )
- break;
- if ( v6 == -3 )
- break;
- if ( v6 == 32 )
- break;
- if ( v6 == 47 )
- break;
- if ( v6 == 9 )
- break;
- if ( v6 == 10 )
- break;
- v5 = IniFile::GotoNextLine(this, v5);
- ++v3;
- }
- while ( this->m_lDataLen > v5 );
- result = v3;
- }
- }
- return result;
- }
- //----- (080B2630) --------------------------------------------------------
- INT __cdecl IniFile::FindOneLine(IniFile *const this, INT p)
- {
- int v2; // esi
- INT result; // eax
- int v4; // ebx
- int v5; // eax
- int v6; // edx
- v2 = 0;
- result = -1;
- if ( p )
- {
- result = 0;
- if ( p != 1 )
- {
- v4 = this->m_lDataLen;
- v5 = 0;
- if ( v4 <= 0 )
- return -1;
- v6 = p - 1;
- while ( 1 )
- {
- if ( this->m_strData[v5] == 10 )
- {
- if ( v6 == ++v2 )
- return v5 + 1;
- }
- else if ( v6 == v2 )
- {
- return v5 + 1;
- }
- if ( v4 <= ++v5 )
- return -1;
- }
- }
- }
- return result;
- }
- //----- (080B268C) --------------------------------------------------------
- BOOL __cdecl IniFile::ReadOneLine(IniFile *const this, INT p, CHAR *szBuffer, INT nBufferSize)
- {
- INT v4; // esi
- BOOL result; // eax
- int v6; // ebx
- INT v7; // ecx
- CHAR *v8; // eax
- CHAR v9; // dl
- int v10; // ebx
- v4 = IniFile::FindOneLine(this, p);
- memset(szBuffer, 0, nBufferSize);
- result = 0;
- if ( v4 != -1 )
- {
- v6 = this->m_lDataLen;
- v7 = v4;
- if ( v6 <= v4 )
- {
- LABEL_7:
- result = 0;
- }
- else
- {
- v8 = this->m_strData;
- while ( 1 )
- {
- v9 = v8[v7];
- if ( v9 == 10 || !v9 )
- break;
- if ( v6 <= ++v7 )
- goto LABEL_7;
- }
- v10 = v7 - v4;
- strncpy(szBuffer, &v8[v4], v7 - v4);
- szBuffer[v10] = 0;
- result = 1;
- }
- }
- return result;
- }
- //----- (080B2710) --------------------------------------------------------
- INT __cdecl IniFile::ReturnLineNum(IniFile *const this, CHAR *string)
- {
- INT v2; // eax
- INT v3; // edx
- INT v4; // ebx
- v2 = IniFile::FindIndex(this, string);
- v3 = -1;
- if ( v2 != -1 )
- {
- v4 = 0;
- if ( v2 )
- {
- v3 = 0;
- if ( v2 != 1 )
- {
- if ( v2 > 0 )
- {
- do
- {
- while ( this->m_strData[v3] != 10 )
- {
- if ( ++v3 >= v2 )
- goto LABEL_9;
- }
- ++v3;
- ++v4;
- }
- while ( v3 < v2 );
- }
- LABEL_9:
- v3 = v4;
- }
- }
- }
- return v3;
- }
- //----- (080B276C) --------------------------------------------------------
- void __cdecl _tcf_0_230(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080B277C) --------------------------------------------------------
- void `global constructor keyed to'IniFile::IniFile()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_230, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080B27A8) --------------------------------------------------------
- void __cdecl Thread::Thread(_DWORD *a2)
- {
- *a2 = off_80E5948;
- a2[1] = 0;
- a2[2] = 0;
- }
- // 80E5948: using guessed type _DWORD (__cdecl *off_80E5948[4])(Thread *this);
- //----- (080B27C4) --------------------------------------------------------
- void __cdecl Thread::Thread(_DWORD *a2)
- {
- *a2 = off_80E5948;
- a2[1] = 0;
- a2[2] = 0;
- }
- // 80E5948: using guessed type _DWORD (__cdecl *off_80E5948[4])(Thread *this);
- //----- (080B27E0) --------------------------------------------------------
- void __cdecl Thread::~Thread(_DWORD *a2)
- {
- *a2 = off_80E5948;
- }
- // 80E5948: using guessed type _DWORD (__cdecl *off_80E5948[4])(Thread *this);
- //----- (080B27F0) --------------------------------------------------------
- void __cdecl Thread::~Thread(_DWORD *a2)
- {
- *a2 = off_80E5948;
- }
- // 80E5948: using guessed type _DWORD (__cdecl *off_80E5948[4])(Thread *this);
- //----- (080B2800) --------------------------------------------------------
- void __cdecl Thread::~Thread(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80E5948;
- operator delete(a2);
- }
- // 80E5948: using guessed type _DWORD (__cdecl *off_80E5948[4])(Thread *this);
- //----- (080B2814) --------------------------------------------------------
- void __cdecl Thread::start(Thread *const this)
- {
- if ( this->m_Status == READY )
- pthread_create(&this->m_TID, 0, Thread::MyThreadProcess, this);
- }
- //----- (080B283C) --------------------------------------------------------
- void __cdecl Thread::stop(Thread *const this)
- {
- ;
- }
- //----- (080B2844) --------------------------------------------------------
- void __cdecl Thread::exit(Thread *const this, void *retval)
- {
- pthread_exit(retval);
- }
- // 8049B18: using guessed type int __stdcall __cxa_end_catch(_DWORD);
- //----- (080B2868) --------------------------------------------------------
- void __cdecl _tcf_0_231(void *a1)
- {
- pthread_mutex_destroy(&Thread::MyThreadProcess(void *)::s_thread_lock.m_Mutex);
- }
- //----- (080B2878) --------------------------------------------------------
- void *__cdecl Thread::MyThreadProcess(void *derivedThread)
- {
- int v1; // eax
- if ( !(_BYTE)`guard variable for'Thread::MyThreadProcess(void *)::s_thread_lock
- && __cxa_guard_acquire(&`guard variable for'Thread::MyThreadProcess(void *)::s_thread_lock) )
- {
- pthread_mutex_init(&Thread::MyThreadProcess(void *)::s_thread_lock.m_Mutex, 0);
- __cxa_guard_release(&`guard variable for'Thread::MyThreadProcess(void *)::s_thread_lock);
- __cxa_atexit(_tcf_0_231, 0, &_dso_handle);
- }
- if ( !derivedThread )
- return 0;
- pthread_mutex_lock(&Thread::MyThreadProcess(void *)::s_thread_lock.m_Mutex);
- ++Thread::s_CreateThreadCount;
- if ( &Thread::MyThreadProcess(void *)::s_thread_lock )
- pthread_mutex_unlock(&Thread::MyThreadProcess(void *)::s_thread_lock.m_Mutex);
- v1 = *(_DWORD *)derivedThread;
- *((_DWORD *)derivedThread + 2) = 1;
- (*(void (__cdecl **)(void *))(v1 + 12))(derivedThread);
- *((_DWORD *)derivedThread + 2) = 3;
- pthread_mutex_lock(&Thread::MyThreadProcess(void *)::s_thread_lock.m_Mutex);
- ++Thread::s_QuitThreadCount;
- if ( !&Thread::MyThreadProcess(void *)::s_thread_lock )
- return 0;
- pthread_mutex_unlock(&Thread::MyThreadProcess(void *)::s_thread_lock.m_Mutex);
- return 0;
- }
- // 8049B08: using guessed type int __cdecl __cxa_guard_acquire(_DWORD);
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- // 8049DE8: using guessed type int __cdecl __cxa_guard_release(_DWORD);
- //----- (080B297C) --------------------------------------------------------
- void __cdecl Thread::run(Thread *const this)
- {
- ;
- }
- //----- (080B2984) --------------------------------------------------------
- void __cdecl _tcf_1_7(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080B2994) --------------------------------------------------------
- void `global constructor keyed to'Thread::s_CreateThreadCount()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_1_7, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080B29C0) --------------------------------------------------------
- void __cdecl ThreadValueManager::ThreadValueManager(ThreadValueManager *const this)
- {
- signed int v1; // eax
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- v1 = 0;
- do
- {
- this->m_ThreadID[v1] = 0;
- this->m_ThreadIDValue[v1++] = 0;
- }
- while ( v1 <= 2047 );
- }
- //----- (080B2A00) --------------------------------------------------------
- void __cdecl ThreadValueManager::ThreadValueManager(ThreadValueManager *const this)
- {
- signed int v1; // eax
- pthread_mutex_init(&this->m_Lock.m_Mutex, 0);
- v1 = 0;
- do
- {
- this->m_ThreadID[v1] = 0;
- this->m_ThreadIDValue[v1++] = 0;
- }
- while ( v1 <= 2047 );
- }
- //----- (080B2A40) --------------------------------------------------------
- void __cdecl ThreadValueManager::~ThreadValueManager(ThreadValueManager *const this)
- {
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- }
- //----- (080B2A5C) --------------------------------------------------------
- void __cdecl ThreadValueManager::~ThreadValueManager(ThreadValueManager *const this)
- {
- pthread_mutex_destroy(&this->m_Lock.m_Mutex);
- }
- //----- (080B2A78) --------------------------------------------------------
- void __cdecl ThreadValueManager::AddThread(ThreadValueManager *const this, TID tid)
- {
- pthread_mutex_t *v2; // edi
- int v3; // edx
- TID v4; // eax
- v2 = &this->m_Lock.m_Mutex;
- pthread_mutex_lock(&this->m_Lock.m_Mutex);
- v3 = 0;
- while ( 1 )
- {
- v4 = this->m_ThreadID[v3];
- if ( v4 == tid )
- {
- LABEL_5:
- pthread_mutex_unlock(v2);
- return;
- }
- if ( !v4 )
- break;
- if ( ++v3 > 2047 )
- goto LABEL_5;
- }
- this->m_ThreadID[v3] = tid;
- pthread_mutex_unlock(v2);
- }
- //----- (080B2AD4) --------------------------------------------------------
- void __cdecl ThreadValueManager::SetThreadValue(ThreadValueManager *const this, TID tid, INT nValue)
- {
- signed int v3; // edx
- TID v4; // eax
- v3 = 0;
- do
- {
- v4 = this->m_ThreadID[v3];
- if ( !v4 )
- break;
- if ( v4 == tid )
- this->m_ThreadIDValue[v3] = nValue;
- ++v3;
- }
- while ( v3 <= 2047 );
- }
- //----- (080B2B0C) --------------------------------------------------------
- INT __cdecl ThreadValueManager::GetThreadValue(ThreadValueManager *const this, TID tid)
- {
- int v2; // eax
- TID v3; // edx
- v2 = 0;
- while ( 1 )
- {
- v3 = this->m_ThreadID[v2];
- if ( !v3 )
- return 0;
- if ( v3 == tid )
- break;
- if ( ++v2 > 2047 )
- return 0;
- }
- return this->m_ThreadIDValue[v2];
- }
- //----- (080B2B40) --------------------------------------------------------
- TID ThreadValueManager::GetCurrentTrueThreadID()
- {
- return pthread_self();
- }
- //----- (080B2B4C) --------------------------------------------------------
- void __cdecl _tcf_0_232(void *a1)
- {
- ThreadValueManager::~ThreadValueManager(&ThreadValueManager::getSingleton(void)::sThreadValue);
- }
- //----- (080B2B5C) --------------------------------------------------------
- ThreadValueManager *ThreadValueManager::getSingleton()
- {
- if ( !(_BYTE)`guard variable for'ThreadValueManager::getSingleton(void)::sThreadValue
- && __cxa_guard_acquire(&`guard variable for'ThreadValueManager::getSingleton(void)::sThreadValue) )
- {
- ThreadValueManager::ThreadValueManager(&ThreadValueManager::getSingleton(void)::sThreadValue);
- __cxa_guard_release(&`guard variable for'ThreadValueManager::getSingleton(void)::sThreadValue);
- __cxa_atexit(_tcf_0_232, 0, &_dso_handle);
- }
- return &ThreadValueManager::getSingleton(void)::sThreadValue;
- }
- // 8049B08: using guessed type int __cdecl __cxa_guard_acquire(_DWORD);
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- // 8049DE8: using guessed type int __cdecl __cxa_guard_release(_DWORD);
- //----- (080B2BBC) --------------------------------------------------------
- int ThreadValueManager::GetCurrentThreadID()
- {
- TID v0; // eax
- TID v1; // ST0C_4
- TID v2; // ebx
- ThreadValueManager *v3; // eax
- v0 = ThreadValueManager::GetCurrentTrueThreadID();
- v1 = v0;
- v2 = v0;
- v3 = ThreadValueManager::getSingleton();
- return ThreadValueManager::GetThreadValue(v3, v1) + v2;
- }
- //----- (080B2BE4) --------------------------------------------------------
- void __cdecl _tcf_1_8(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080B2BF4) --------------------------------------------------------
- void `global constructor keyed to'ThreadValueManager::ThreadValueManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_1_8, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080B2C20) --------------------------------------------------------
- void __cdecl TimeManager::TimeManager(int a2)
- {
- *(_DWORD *)(a2 + 4) = 0;
- }
- //----- (080B2C30) --------------------------------------------------------
- void __cdecl TimeManager::TimeManager(int a2)
- {
- *(_DWORD *)(a2 + 4) = 0;
- }
- //----- (080B2C40) --------------------------------------------------------
- void __cdecl TimeManager::~TimeManager(TimeManager *const this)
- {
- ;
- }
- //----- (080B2C48) --------------------------------------------------------
- void __cdecl TimeManager::~TimeManager(TimeManager *const this)
- {
- ;
- }
- //----- (080B2C50) --------------------------------------------------------
- UINT __cdecl TimeManager::CurrentTime(int a2)
- {
- UINT result; // eax
- gettimeofday((struct timeval *)(a2 + 68), (__timezone_ptr_t)(a2 + 76));
- result = (signed __int64)(1000.0 * (long double)*(signed int *)(a2 + 68)
- + (long double)*(signed int *)(a2 + 72) / 1000.0
- - ((long double)*(signed int *)(a2 + 64) / 1000.0
- + 1000.0 * (long double)*(signed int *)(a2 + 60)));
- *(_DWORD *)(a2 + 4) = result;
- return result;
- }
- //----- (080B2CAC) --------------------------------------------------------
- UINT __fastcall TimeManager::Time2Day(TimeManager *const this)
- {
- _DWORD *v2; // [esp+8h] [ebp+8h]
- return v2[6] + 100 * (v2[7] + 100 * (v2[8] + 1900) + 1);
- }
- //----- (080B2CD8) --------------------------------------------------------
- void __cdecl TimeManager::SetTime(int a2)
- {
- time((time_t *)(a2 + 8));
- qmemcpy((void *)(a2 + 12), localtime((const time_t *)(a2 + 8)), 0x2Cu);
- }
- //----- (080B2D0C) --------------------------------------------------------
- time_t __cdecl TimeManager::GetANSITime(int a2)
- {
- TimeManager::SetTime(a2);
- return *(_DWORD *)(a2 + 8);
- }
- //----- (080B2D24) --------------------------------------------------------
- int __cdecl TimeManager::Time2DWORD(_DWORD *a2)
- {
- TimeManager::SetTime((int)a2);
- return a2[4] + 100 * (a2[5] + 100 * (a2[6] + 100 * (a2[7] + 100 * (a2[8] - 100) + 1)));
- }
- //----- (080B2D74) --------------------------------------------------------
- void __cdecl TimeManager::ConvertTU(TimeManager *const this, tm *TM, UINT *const Date)
- {
- UINT v3; // edx
- UINT v4; // edx
- UINT v5; // edx
- UINT v6; // edx
- UINT v7; // edx
- if ( !TM )
- __assert__("src/FB_TimeManager.cpp", 0xD8u, "void TimeManager::ConvertTU(tm*, UINT&)", "TM");
- *Date = 0;
- v3 = 16 * (TM->tm_year % 100 & 0x3F);
- *Date = v3;
- v4 = 32 * ((TM->tm_mon & 0xF) + v3);
- *Date = v4;
- v5 = 32 * ((TM->tm_mday & 0x1F) + v4);
- *Date = v5;
- v6 = ((TM->tm_hour & 0x1F) + v5) << 6;
- *Date = v6;
- v7 = ((TM->tm_min & 0x3F) + v6) << 6;
- *Date = v7;
- *Date = (TM->tm_sec & 0x3F) + v7;
- }
- //----- (080B2E00) --------------------------------------------------------
- UINT __cdecl TimeManager::CurrentDate(TimeManager *a2)
- {
- UINT Date; // [esp+Ch] [ebp-8h]
- TimeManager::SetTime((int)a2);
- TimeManager::ConvertTU(a2, &a2->m_TM, &Date);
- return Date;
- }
- //----- (080B2E2C) --------------------------------------------------------
- BOOL __cdecl TimeManager::Init(TimeManager *a2)
- {
- TimeManager *const v2; // ecx
- a2->m_StartTime = 0;
- a2->m_CurrentTime = 0;
- gettimeofday(&a2->_tstart, &a2->tz);
- TimeManager::SetTime((int)a2);
- g_LogFileNameFix = TimeManager::Time2Day(v2);
- g_LogFileNameFix_Last = TimeManager::CurrentDate(a2);
- return 1;
- }
- //----- (080B2E7C) --------------------------------------------------------
- void __cdecl TimeManager::DWORD2Time(TimeManager *const this, UINT Date, tm *TM)
- {
- if ( !TM )
- __assert__("src/FB_TimeManager.cpp", 0x7Cu, "void TimeManager::DWORD2Time(UINT, tm*)", "TM");
- memset(TM, 0, sizeof(tm));
- TM->tm_year = Date / 0x5F5E100 + 100;
- TM->tm_mon = Date % 0x5F5E100 / 0xF4240 - 1;
- TM->tm_mday = Date % 0xF4240 / 0x2710;
- TM->tm_hour = Date % 0x2710 / 0x64;
- TM->tm_min = Date % 0x64;
- }
- //----- (080B2F90) --------------------------------------------------------
- UINT __cdecl TimeManager::DiffDWORDTime(TimeManager *const this, UINT Date1, UINT Date2)
- {
- time_t v3; // ebx
- time_t v4; // eax
- UINT result; // eax
- tm S_D2; // [esp+14h] [ebp-78h]
- tm S_D1; // [esp+44h] [ebp-48h]
- TimeManager::DWORD2Time(this, Date1, &S_D1);
- TimeManager::DWORD2Time(this, Date2, &S_D2);
- v3 = mktime(&S_D1);
- v4 = mktime(&S_D2);
- result = (signed int)(difftime(v4, v3) / 60.0);
- if ( (result & 0x80000000) != 0 )
- result = -result;
- return result;
- }
- //----- (080B3010) --------------------------------------------------------
- INT __cdecl TimeManager::IsDiffDay(TimeManager *const this, time_t uPrevANSITime, time_t uNextANSITime)
- {
- tm tCurTm; // [esp+Ch] [ebp-78h]
- tm tPrevTm; // [esp+3Ch] [ebp-48h]
- qmemcpy(&tPrevTm, localtime(&uPrevANSITime), sizeof(tPrevTm));
- qmemcpy(&tCurTm, localtime(&uNextANSITime), sizeof(tCurTm));
- return tCurTm.tm_yday - tPrevTm.tm_yday;
- }
- //----- (080B3058) --------------------------------------------------------
- INT __cdecl TimeManager::DiffDayCount(TimeManager *const this, time_t uPrevANSITime, time_t uNextANSITime)
- {
- return (signed int)(difftime(uNextANSITime, uPrevANSITime) / 86400.0);
- }
- //----- (080B3090) --------------------------------------------------------
- void __cdecl TimeManager::ConvertUT(TimeManager *const this, UINT Date, tm *TM)
- {
- if ( !TM )
- __assert__("src/FB_TimeManager.cpp", 0xCBu, "void TimeManager::ConvertUT(UINT, tm*)", "TM");
- memset(TM, 0, sizeof(tm));
- TM->tm_year = (Date >> 26) + 100;
- TM->tm_mon = (Date >> 22) & 0xF;
- TM->tm_mday = (Date >> 17) & 0x1F;
- TM->tm_hour = (Date >> 12) & 0x1F;
- TM->tm_min = (Date >> 6) & 0x3F;
- TM->tm_sec = Date & 0x3F;
- }
- //----- (080B3114) --------------------------------------------------------
- UINT __cdecl TimeManager::DiffTime(TimeManager *const this, UINT Date1, UINT Date2)
- {
- time_t v3; // ebx
- time_t v4; // eax
- signed int v5; // eax
- int v6; // eax
- tm S_D2; // [esp+14h] [ebp-78h]
- tm S_D1; // [esp+44h] [ebp-48h]
- TimeManager::ConvertUT(this, Date1, &S_D1);
- TimeManager::ConvertUT(this, Date2, &S_D2);
- v3 = mktime(&S_D1);
- v4 = mktime(&S_D2);
- v5 = (signed int)difftime(v4, v3);
- if ( v5 < 0 )
- v6 = -125 * v5;
- else
- v6 = 125 * v5;
- return 8 * v6;
- }
- //----- (080B31A8) --------------------------------------------------------
- UINT __cdecl TimeManager::GetDayTime(TimeManager *const this)
- {
- struct tm *v1; // eax
- v1 = localtime(&this->m_SetTime);
- return v1->tm_yday + 1000 * v1->tm_year - 100000;
- }
- //----- (080B31D4) --------------------------------------------------------
- int __cdecl TimeManager::GetHourTime(int a2)
- {
- struct tm *v2; // eax
- v2 = localtime((const time_t *)(a2 + 8));
- return v2->tm_min / 15 + 4 * (v2->tm_hour + 25 * ((*(_DWORD *)(a2 + 8) - 1167580800) / 86400));
- }
- //----- (080B3230) --------------------------------------------------------
- UINT __cdecl TimeManager::GetQuarterTime(TimeManager *const this)
- {
- struct tm *v1; // eax
- time_t m_SetTime; // [esp+Ch] [ebp-8h]
- time(&m_SetTime);
- v1 = localtime(&m_SetTime);
- return v1->tm_min / 15 + 4 * (v1->tm_hour + 25 * (v1->tm_yday + 1000 * (v1->tm_year - 100)));
- }
- //----- (080B3288) --------------------------------------------------------
- UINT __cdecl TimeManager::GetWeekTime(TimeManager *const this)
- {
- struct tm *v1; // eax
- UINT v2; // ebx
- int v3; // edx
- int v4; // eax
- v1 = localtime(&this->m_SetTime);
- v2 = 1000 * v1->tm_year - 100000;
- v3 = v1->tm_yday;
- v4 = v1->tm_wday;
- if ( v3 > v4 )
- {
- _FST7 = (long double)((v3 - v4) / 7);
- __asm { frndint }
- v2 += (signed __int64)(double)_FST7;
- }
- return v2;
- }
- //----- (080B331C) --------------------------------------------------------
- void __cdecl _tcf_0_233(void *a1)
- {
- std::ios_base::Init::~Init(&std::__ioinit);
- }
- //----- (080B332C) --------------------------------------------------------
- void `global constructor keyed to'g_pTimeManager()
- {
- std::ios_base::Init::Init(&std::__ioinit);
- __cxa_atexit(_tcf_0_233, 0, &_dso_handle);
- }
- // 8049C68: using guessed type int __cdecl __cxa_atexit(_DWORD, _DWORD, _DWORD);
- //----- (080B3358) --------------------------------------------------------
- int __cdecl Cyclone::FileHead2CRC(const unsigned __int8 *szData, int nDataLen)
- {
- int v2; // edx
- int v3; // eax
- int i; // ecx
- v2 = 0;
- if ( szData )
- {
- v3 = -1;
- if ( nDataLen >= 0 )
- {
- for ( i = 0; i < nDataLen; ++i )
- v3 = Cyclone::g_encryptCrc32Table[(unsigned __int8)(szData[i] ^ v3)] ^ (v3 >> 8);
- v2 = v3;
- }
- }
- return v2;
- }
- //----- (080B339C) --------------------------------------------------------
- encrypt_fret __cdecl Cyclone::IsEncrptMemory(const char *pIn, int nDataSize)
- {
- encrypt_fret result; // eax
- int v3; // ebx
- if ( !pIn )
- __assert_fail(
- "pIn",
- "src/DES/MyEncrypt.cpp",
- 0x106u,
- "Cyclone::encrypt_fret Cyclone::IsEncrptMemory(const char*, int)");
- result = 0;
- if ( nDataSize > 256 )
- {
- if ( *(_DWORD *)pIn != -505228846 || *((_DWORD *)pIn + 1) != -1044205134 )
- {
- result = 0;
- }
- else
- {
- v3 = *((_DWORD *)pIn + 63);
- result = Cyclone::FileHead2CRC((const unsigned __int8 *)pIn, 252) == v3;
- }
- }
- return result;
- }
- //----- (080B3408) --------------------------------------------------------
- bool __cdecl Cyclone::DecryptData(char *chMask, E_Encrypt_Type eType, const char *pInBuf, int nInSize, char *pOutBuf, int *const nOutSize)
- {
- int v6; // edx
- char i; // cl
- char v8; // al
- signed int v10; // edx
- char j; // cl
- char v12; // al
- int v13; // [esp+8h] [ebp-1E0h]
- AESclass Aes; // [esp+10h] [ebp-1D8h]
- char szTemp[48]; // [esp+1A0h] [ebp-48h]
- const char *pInBufa; // [esp+1F8h] [ebp+10h]
- int nInSizea; // [esp+1FCh] [ebp+14h]
- if ( !chMask || !pInBuf || nInSize < 0 || !pOutBuf || (v13 = *nOutSize, *nOutSize < nInSize) )
- __assert_fail(
- "0",
- "src/DES/MyEncrypt.cpp",
- 0x1D0u,
- "bool Cyclone::DecryptData(char*, E_Encrypt_Type, const char*, int, char*, int&)");
- if ( *(_DWORD *)chMask <= 0 )
- __assert_fail(
- "nPos > 0",
- "src/DES/MyEncrypt.cpp",
- 0x1D9u,
- "bool Cyclone::DecryptData(char*, E_Encrypt_Type, const char*, int, char*, int&)");
- if ( *((_DWORD *)chMask + 1) <= 0 )
- __assert_fail(
- "nLen > 0",
- "src/DES/MyEncrypt.cpp",
- 0x1DAu,
- "bool Cyclone::DecryptData(char*, E_Encrypt_Type, const char*, int, char*, int&)");
- strncpy(chMask, (const char *)((*(_DWORD *)chMask & 0x1F) + 135325152), *((_DWORD *)chMask + 1) & 0x1F);
- if ( eType )
- {
- *nOutSize = 0;
- v6 = 0;
- for ( i = 1; v6 < nInSize; i ^= 1u )
- {
- if ( v6 >= v13 )
- break;
- v8 = i ? *chMask : chMask[1];
- pOutBuf[v6] = pInBuf[v6] ^ v8;
- ++*nOutSize;
- ++v6;
- }
- return 1;
- }
- if ( Cyclone::IsEncrptMemory(pInBuf, nInSize) )
- {
- if ( nInSize <= 279 )
- __assert_fail(
- "0",
- "src/DES/MyEncrypt.cpp",
- 0x1EDu,
- "bool Cyclone::DecryptData(char*, E_Encrypt_Type, const char*, int, char*, int&)");
- pInBufa = pInBuf + 256;
- nInSizea = nInSize - 256;
- memset(szTemp, 0, sizeof(szTemp));
- Aes.cx[0].n_blk = 24;
- Aes.cx[0].n_rnd = 0;
- aes_dec_key((const unsigned __int8 *)chMask, 0x18u, Aes.cx);
- aes_dec_blk((const unsigned __int8 *)pInBufa, (unsigned __int8 *)szTemp, Aes.cx);
- qmemcpy(pOutBuf, szTemp, 0x18u);
- v10 = 24;
- *nOutSize = 24;
- for ( j = 1; v10 < nInSizea; ++v10 )
- {
- if ( v10 >= v13 )
- break;
- v12 = j ? *chMask : chMask[1];
- pOutBuf[v10] = pInBufa[v10] ^ v12;
- ++*nOutSize;
- j ^= 1u;
- }
- return 1;
- }
- *nOutSize = nInSize;
- memcpy(pOutBuf, pInBuf, nInSize);
- return 0;
- }
- //----- (080B3628) --------------------------------------------------------
- encrypt_fret __cdecl Cyclone::PlatformDecrypMemory(const char *szKey, const char *pIn, int nInSize, char *pOut, int *const nOutSize)
- {
- char szEncrypt[32]; // [esp+0h] [ebp-38h]
- if ( !szKey )
- __assert_fail(
- "szKey",
- "src/DES/MyEncrypt.cpp",
- 0x13Du,
- "Cyclone::encrypt_fret Cyclone::PlatformDecrypMemory(const char*, const char*, int, char*, int&)");
- if ( !pIn )
- __assert_fail(
- "pIn",
- "src/DES/MyEncrypt.cpp",
- 0x13Eu,
- "Cyclone::encrypt_fret Cyclone::PlatformDecrypMemory(const char*, const char*, int, char*, int&)");
- if ( !pOut )
- __assert_fail(
- "pOut",
- "src/DES/MyEncrypt.cpp",
- 0x13Fu,
- "Cyclone::encrypt_fret Cyclone::PlatformDecrypMemory(const char*, const char*, int, char*, int&)");
- if ( *nOutSize <= nInSize )
- __assert_fail(
- "nOutSize > (nInSize)",
- "src/DES/MyEncrypt.cpp",
- 0x140u,
- "Cyclone::encrypt_fret Cyclone::PlatformDecrypMemory(const char*, const char*, int, char*, int&)");
- memset(szEncrypt, 0, sizeof(szEncrypt));
- strncpy(szEncrypt, &Cyclone::g_szRanKey[2], 0x10u);
- *(_DWORD *)szEncrypt = 2;
- *(_DWORD *)&szEncrypt[4] = 16;
- return Cyclone::DecryptData(szEncrypt, 0, pIn, nInSize, pOut, nOutSize) != 0;
- }
- //----- (080B3714) --------------------------------------------------------
- encrypt_fret __cdecl Cyclone::PlatformDecryptFile(const char *szKey, const char *szSourceFileName, const char *szObjectFileName)
- {
- FILE *v3; // esi
- encrypt_fret result; // eax
- int v5; // ebx
- void *v6; // edi
- FILE *v7; // esi
- char *pObject; // [esp+4h] [ebp-14h]
- int nObjectSize; // [esp+8h] [ebp-10h]
- if ( !szKey )
- __assert_fail(
- "szKey",
- "src/DES/MyEncrypt.cpp",
- 0xCDu,
- "Cyclone::encrypt_fret Cyclone::PlatformDecryptFile(const char*, const char*, const char*)");
- if ( !szSourceFileName )
- __assert_fail(
- "szSourceFileName",
- "src/DES/MyEncrypt.cpp",
- 0xCEu,
- "Cyclone::encrypt_fret Cyclone::PlatformDecryptFile(const char*, const char*, const char*)");
- if ( !szObjectFileName )
- __assert_fail(
- "szObjectFileName",
- "src/DES/MyEncrypt.cpp",
- 0xCFu,
- "Cyclone::encrypt_fret Cyclone::PlatformDecryptFile(const char*, const char*, const char*)");
- v3 = fopen(szSourceFileName, "rb");
- result = 0;
- if ( v3 )
- {
- fseek(v3, 0, 2);
- v5 = ftell(v3);
- fseek(v3, 0, 0);
- v6 = (void *)operator new[](v5 + 1);
- fread(v6, 1u, v5, v3);
- *((_BYTE *)v6 + v5) = 0;
- fclose(v3);
- nObjectSize = v5 + 24;
- pObject = (char *)operator new[](v5 + 24);
- Cyclone::PlatformDecrypMemory(szKey, (const char *)v6, v5, pObject, &nObjectSize);
- if ( v6 )
- operator delete[](v6);
- v7 = fopen(szObjectFileName, "wb");
- if ( !v7 )
- goto LABEL_10;
- pObject[nObjectSize] = 0;
- pObject[nObjectSize + 1] = 0;
- if ( fwrite(pObject, nObjectSize, 1u, v7) != 1 )
- {
- fclose(v7);
- LABEL_10:
- if ( pObject )
- operator delete[](pObject);
- return 0;
- }
- fclose(v7);
- if ( pObject )
- operator delete[](pObject);
- result = 1;
- }
- return result;
- }
- //----- (080B38C0) --------------------------------------------------------
- bool __cdecl Cyclone::EncryptData(char *chMask, E_Encrypt_Type eType, const char *pInBuf, int nInSize, char *pOutBuf, int *const nOutSize)
- {
- char v6; // cl
- int j; // edx
- char v8; // al
- char v9; // cl
- int i; // edx
- char v11; // al
- int v13; // [esp+14h] [ebp-1E4h]
- int v14; // [esp+18h] [ebp-1E0h]
- AESclass Aes; // [esp+20h] [ebp-1D8h]
- char szTemp[48]; // [esp+1B0h] [ebp-48h]
- char *pOutBufa; // [esp+210h] [ebp+18h]
- if ( !chMask || !pInBuf || nInSize < 0 || !pOutBuf || *nOutSize < nInSize )
- __assert_fail(
- "0",
- "src/DES/MyEncrypt.cpp",
- 0x163u,
- "bool Cyclone::EncryptData(char*, E_Encrypt_Type, const char*, int, char*, int&)");
- if ( *nOutSize < nInSize + 256 )
- __assert_fail(
- "nOutSize >= nInSize + FILE_HEAD_FLAG_LEN",
- "src/DES/MyEncrypt.cpp",
- 0x167u,
- "bool Cyclone::EncryptData(char*, E_Encrypt_Type, const char*, int, char*, int&)");
- if ( *(_DWORD *)chMask <= 0 )
- __assert_fail(
- "nPos > 0",
- "src/DES/MyEncrypt.cpp",
- 0x16Du,
- "bool Cyclone::EncryptData(char*, E_Encrypt_Type, const char*, int, char*, int&)");
- if ( *((_DWORD *)chMask + 1) <= 0 )
- __assert_fail(
- "nLen > 0",
- "src/DES/MyEncrypt.cpp",
- 0x16Eu,
- "bool Cyclone::EncryptData(char*, E_Encrypt_Type, const char*, int, char*, int&)");
- v14 = *(_DWORD *)chMask & 0x1F;
- v13 = *((_DWORD *)chMask + 1) & 0x1F;
- strncpy(chMask, (const char *)(v14 + 135325152), v13);
- if ( eType )
- {
- *nOutSize = 0;
- v9 = 1;
- for ( i = 0; i < nInSize; ++i )
- {
- if ( v9 )
- v11 = pInBuf[i] ^ *chMask;
- else
- v11 = pInBuf[i] ^ chMask[1];
- pOutBuf[i] = v11;
- v9 ^= 1u;
- ++*nOutSize;
- }
- }
- else
- {
- if ( nInSize <= 23 )
- __assert_fail(
- "0",
- "src/DES/MyEncrypt.cpp",
- 0x179u,
- "bool Cyclone::EncryptData(char*, E_Encrypt_Type, const char*, int, char*, int&)");
- *((_DWORD *)pOutBuf + 3) = v14;
- *(_DWORD *)pOutBuf = -505228846;
- *((_DWORD *)pOutBuf + 1) = -1044205134;
- *((_DWORD *)pOutBuf + 2) = 1;
- *((_DWORD *)pOutBuf + 4) = v13;
- *nOutSize = 256;
- *((_DWORD *)pOutBuf + 63) = Cyclone::FileHead2CRC((const unsigned __int8 *)pOutBuf, 252);
- pOutBufa = pOutBuf + 256;
- memset(szTemp, 0, sizeof(szTemp));
- Aes.cx[0].n_blk = 24;
- Aes.cx[0].n_rnd = 0;
- aes_enc_key((const unsigned __int8 *)chMask, 0x18u, Aes.cx);
- aes_enc_blk((const unsigned __int8 *)pInBuf, (unsigned __int8 *)szTemp, Aes.cx);
- qmemcpy(pOutBufa, szTemp, 0x18u);
- *nOutSize += 24;
- v6 = 1;
- for ( j = 24; j < nInSize; ++j )
- {
- if ( v6 )
- v8 = pInBuf[j] ^ *chMask;
- else
- v8 = pInBuf[j] ^ chMask[1];
- pOutBufa[j] = v8;
- v6 ^= 1u;
- ++*nOutSize;
- }
- }
- return 1;
- }
- //----- (080B3B1C) --------------------------------------------------------
- encrypt_fret __cdecl Cyclone::PlatformEncrptMemory(const char *szKey, const char *pIn, int nInSize, char *pOut, int *const nOutSize)
- {
- char szEncrypt[32]; // [esp+0h] [ebp-38h]
- if ( !szKey )
- __assert_fail(
- "szKey",
- "src/DES/MyEncrypt.cpp",
- 0x124u,
- "Cyclone::encrypt_fret Cyclone::PlatformEncrptMemory(const char*, const char*, int, char*, int&)");
- if ( !pIn )
- __assert_fail(
- "pIn",
- "src/DES/MyEncrypt.cpp",
- 0x125u,
- "Cyclone::encrypt_fret Cyclone::PlatformEncrptMemory(const char*, const char*, int, char*, int&)");
- if ( !pOut )
- __assert_fail(
- "pOut",
- "src/DES/MyEncrypt.cpp",
- 0x126u,
- "Cyclone::encrypt_fret Cyclone::PlatformEncrptMemory(const char*, const char*, int, char*, int&)");
- if ( *nOutSize <= nInSize + 24 )
- __assert_fail(
- "nOutSize > (nInSize + 24)",
- "src/DES/MyEncrypt.cpp",
- 0x127u,
- "Cyclone::encrypt_fret Cyclone::PlatformEncrptMemory(const char*, const char*, int, char*, int&)");
- memset(szEncrypt, 0, sizeof(szEncrypt));
- strncpy(szEncrypt, &Cyclone::g_szRanKey[2], 0x10u);
- *(_DWORD *)szEncrypt = 2;
- *(_DWORD *)&szEncrypt[4] = 16;
- return Cyclone::EncryptData(szEncrypt, 0, pIn, nInSize, pOut, nOutSize) != 0;
- }
- //----- (080B3C0C) --------------------------------------------------------
- encrypt_fret __cdecl Cyclone::PlatformEncrptFile(const char *szKey, const char *szSourceFileName, const char *szObjectFileName)
- {
- FILE *v3; // esi
- encrypt_fret result; // eax
- int v5; // ebx
- void *v6; // edi
- FILE *v7; // esi
- char *pObject; // [esp+4h] [ebp-14h]
- int nObjectSize; // [esp+8h] [ebp-10h]
- if ( !szKey )
- __assert_fail(
- "szKey",
- "src/DES/MyEncrypt.cpp",
- 0x85u,
- "Cyclone::encrypt_fret Cyclone::PlatformEncrptFile(const char*, const char*, const char*)");
- if ( !szSourceFileName )
- __assert_fail(
- "szSourceFileName",
- "src/DES/MyEncrypt.cpp",
- 0x86u,
- "Cyclone::encrypt_fret Cyclone::PlatformEncrptFile(const char*, const char*, const char*)");
- if ( !szObjectFileName )
- __assert_fail(
- "szObjectFileName",
- "src/DES/MyEncrypt.cpp",
- 0x87u,
- "Cyclone::encrypt_fret Cyclone::PlatformEncrptFile(const char*, const char*, const char*)");
- v3 = fopen(szSourceFileName, "rb");
- result = 0;
- if ( v3 )
- {
- fseek(v3, 0, 2);
- v5 = ftell(v3);
- fseek(v3, 0, 0);
- v6 = (void *)operator new[](v5 + 1);
- fread(v6, 1u, v5, v3);
- *((_BYTE *)v6 + v5) = 0;
- fclose(v3);
- nObjectSize = v5 + 280;
- pObject = (char *)operator new[](v5 + 280);
- Cyclone::PlatformEncrptMemory(szKey, (const char *)v6, v5, pObject, &nObjectSize);
- if ( v6 )
- operator delete[](v6);
- v7 = fopen(szObjectFileName, "wb");
- if ( !v7 )
- goto LABEL_10;
- pObject[nObjectSize] = 0;
- pObject[nObjectSize + 1] = 0;
- if ( fwrite(pObject, nObjectSize, 1u, v7) != 1 )
- {
- fclose(v7);
- LABEL_10:
- if ( pObject )
- operator delete[](pObject);
- return 0;
- }
- fclose(v7);
- if ( pObject )
- operator delete[](pObject);
- result = 1;
- }
- return result;
- }
- //----- (080B3DBC) --------------------------------------------------------
- aes_fret __cdecl aes_enc_blk(const unsigned __int8 *in_blk, unsigned __int8 *out_blk, const aes_ctx *cx_0)
- {
- aes_fret result; // ax
- uint32_t v4; // ebx
- uint32_t v5; // esi
- uint32_t v6; // ecx
- uint32_t v7; // ebx
- uint32_t v8; // ST28_4
- uint32_t v9; // ST24_4
- uint32_t v10; // ST20_4
- unsigned __int8 v11; // al
- uint32_t v12; // esi
- unsigned __int8 v13; // al
- uint32_t v14; // ecx
- uint32_t v15; // ebx
- uint32_t v16; // edi
- uint32_t v17; // ebx
- uint32_t v18; // esi
- uint32_t v19; // ecx
- uint32_t v20; // ebx
- uint32_t v21; // edi
- uint32_t v22; // ebx
- uint32_t v23; // esi
- uint32_t v24; // ecx
- uint32_t v25; // ebx
- uint32_t v26; // ST70_4
- uint32_t v27; // ST74_4
- uint32_t v28; // ST78_4
- uint32_t v29; // ST7C_4
- uint32_t v30; // edi
- uint32_t v31; // ebx
- uint32_t v32; // ST28_4
- uint32_t v33; // ST24_4
- uint32_t v34; // ST20_4
- uint32_t v35; // esi
- uint32_t v36; // ecx
- uint32_t v37; // ebx
- uint32_t v38; // ST70_4
- uint32_t v39; // ST74_4
- uint32_t v40; // ST78_4
- uint32_t v41; // ST7C_4
- uint32_t v42; // edi
- uint32_t v43; // ebx
- uint32_t v44; // ST28_4
- uint32_t v45; // ST24_4
- uint32_t v46; // ST20_4
- uint32_t v47; // esi
- uint32_t v48; // ecx
- uint32_t v49; // ebx
- uint32_t v50; // ST70_4
- uint32_t v51; // ST74_4
- uint32_t v52; // ST78_4
- uint32_t v53; // ST7C_4
- uint32_t v54; // edi
- uint32_t v55; // ebx
- uint32_t v56; // ST28_4
- uint32_t v57; // ST24_4
- uint32_t v58; // ST20_4
- uint32_t v59; // esi
- uint32_t v60; // ecx
- uint32_t v61; // ebx
- uint32_t v62; // ST70_4
- uint32_t v63; // ST74_4
- uint32_t v64; // ST78_4
- uint32_t v65; // ST7C_4
- uint32_t v66; // edi
- uint32_t v67; // ebx
- uint32_t v68; // ST28_4
- uint32_t v69; // ST24_4
- uint32_t v70; // ST20_4
- uint32_t v71; // esi
- uint32_t v72; // ecx
- uint32_t v73; // ebx
- uint32_t v74; // ST70_4
- uint32_t v75; // ST74_4
- uint32_t v76; // ST78_4
- uint32_t v77; // ST7C_4
- uint32_t v78; // ST80_4
- uint32_t v79; // ST84_4
- uint32_t v80; // [esp+10h] [ebp-98h]
- uint32_t v81; // [esp+10h] [ebp-98h]
- uint32_t v82; // [esp+14h] [ebp-94h]
- uint32_t v83; // [esp+14h] [ebp-94h]
- uint32_t v84; // [esp+18h] [ebp-90h]
- uint32_t v85; // [esp+18h] [ebp-90h]
- uint32_t v86; // [esp+1Ch] [ebp-8Ch]
- uint32_t v87; // [esp+1Ch] [ebp-8Ch]
- uint32_t v88; // [esp+20h] [ebp-88h]
- uint32_t v89; // [esp+20h] [ebp-88h]
- uint32_t v90; // [esp+20h] [ebp-88h]
- uint32_t v91; // [esp+24h] [ebp-84h]
- uint32_t v92; // [esp+24h] [ebp-84h]
- uint32_t v93; // [esp+24h] [ebp-84h]
- uint32_t v94; // [esp+28h] [ebp-80h]
- uint32_t v95; // [esp+28h] [ebp-80h]
- uint32_t v96; // [esp+28h] [ebp-80h]
- const uint32_t *kp; // [esp+4Ch] [ebp-5Ch]
- uint32_t b0; // [esp+50h] [ebp-58h]
- uint32_t b0_4; // [esp+54h] [ebp-54h]
- uint32_t b0_8; // [esp+58h] [ebp-50h]
- uint32_t b0_12; // [esp+5Ch] [ebp-4Ch]
- uint32_t b0_16; // [esp+60h] [ebp-48h]
- uint32_t b0_20; // [esp+64h] [ebp-44h]
- uint32_t b1; // [esp+70h] [ebp-38h]
- uint32_t b1_4; // [esp+74h] [ebp-34h]
- uint32_t b1_8; // [esp+78h] [ebp-30h]
- uint32_t b1_12; // [esp+7Ch] [ebp-2Ch]
- uint32_t b1_16; // [esp+80h] [ebp-28h]
- uint32_t b1_20; // [esp+84h] [ebp-24h]
- result = 0;
- if ( !(cx_0->n_blk & 1) )
- return result;
- v4 = cx_0->n_rnd;
- if ( v4 & 1 )
- {
- b1 = cx_0->k_sch[0] ^ (*in_blk | (in_blk[1] << 8) | (in_blk[2] << 16) | (in_blk[3] << 24));
- if ( v4 & 1 )
- {
- LABEL_4:
- b1_4 = cx_0->k_sch[1] ^ (in_blk[4] | (in_blk[5] << 8) | (in_blk[6] << 16) | (in_blk[7] << 24));
- if ( v4 & 1 )
- goto LABEL_5;
- goto LABEL_15;
- }
- }
- else
- {
- b0 = cx_0->k_sch[0] ^ (*in_blk | (in_blk[1] << 8) | (in_blk[2] << 16) | (in_blk[3] << 24));
- if ( v4 & 1 )
- goto LABEL_4;
- }
- b0_4 = cx_0->k_sch[1] ^ (in_blk[4] | (in_blk[5] << 8) | (in_blk[6] << 16) | (in_blk[7] << 24));
- if ( v4 & 1 )
- {
- LABEL_5:
- b1_8 = cx_0->k_sch[2] ^ (in_blk[8] | (in_blk[9] << 8) | (in_blk[10] << 16) | (in_blk[11] << 24));
- if ( v4 & 1 )
- goto LABEL_6;
- goto LABEL_16;
- }
- LABEL_15:
- b0_8 = cx_0->k_sch[2] ^ (in_blk[8] | (in_blk[9] << 8) | (in_blk[10] << 16) | (in_blk[11] << 24));
- if ( v4 & 1 )
- {
- LABEL_6:
- b1_12 = cx_0->k_sch[3] ^ (in_blk[12] | (in_blk[13] << 8) | (in_blk[14] << 16) | (in_blk[15] << 24));
- if ( v4 & 1 )
- goto LABEL_7;
- LABEL_17:
- b0_16 = cx_0->k_sch[4] ^ (in_blk[16] | (in_blk[17] << 8) | (in_blk[18] << 16) | (in_blk[19] << 24));
- if ( v4 & 1 )
- goto LABEL_8;
- LABEL_18:
- b0_20 = cx_0->k_sch[5] ^ (in_blk[20] | (in_blk[21] << 8) | (in_blk[22] << 16) | (in_blk[23] << 24));
- goto LABEL_9;
- }
- LABEL_16:
- b0_12 = cx_0->k_sch[3] ^ (in_blk[12] | (in_blk[13] << 8) | (in_blk[14] << 16) | (in_blk[15] << 24));
- if ( !(v4 & 1) )
- goto LABEL_17;
- LABEL_7:
- b1_16 = cx_0->k_sch[4] ^ (in_blk[16] | (in_blk[17] << 8) | (in_blk[18] << 16) | (in_blk[19] << 24));
- if ( !(v4 & 1) )
- goto LABEL_18;
- LABEL_8:
- b1_20 = cx_0->k_sch[5] ^ (in_blk[20] | (in_blk[21] << 8) | (in_blk[22] << 16) | (in_blk[23] << 24));
- LABEL_9:
- kp = &cx_0->k_sch[6 * v4 - 54];
- switch ( v4 )
- {
- case 0xAu:
- v96 = b0;
- v93 = b0_4;
- v23 = b0_12;
- v24 = b0_16;
- v25 = b0_20;
- v90 = b0_8;
- goto LABEL_23;
- case 0xBu:
- v83 = b1_8;
- v21 = b1_16;
- v22 = b1_20;
- v87 = b1;
- v85 = b1_4;
- v81 = b1_12;
- goto LABEL_22;
- case 0xCu:
- v95 = b0;
- v92 = b0_4;
- v18 = b0_12;
- v19 = b0_16;
- v20 = b0_20;
- v89 = b0_8;
- goto LABEL_21;
- case 0xDu:
- v82 = b1_8;
- v16 = b1_16;
- v17 = b1_20;
- v86 = b1;
- v84 = b1_4;
- v80 = b1_12;
- goto LABEL_20;
- case 0xEu:
- v86 = cx_0->k_sch[6 * v4 - 78] ^ ft_tab[3][b0_12 >> 24] ^ ft_tab[2][BYTE2(b0_8)] ^ ft_tab[0][(unsigned __int8)b0] ^ ft_tab[1][BYTE1(b0_4)];
- v84 = cx_0->k_sch[6 * v4 - 77] ^ ft_tab[3][b0_16 >> 24] ^ ft_tab[2][BYTE2(b0_12)] ^ ft_tab[0][(unsigned __int8)b0_4] ^ ft_tab[1][BYTE1(b0_8)];
- v82 = cx_0->k_sch[6 * v4 - 76] ^ ft_tab[3][b0_20 >> 24] ^ ft_tab[2][BYTE2(b0_16)] ^ ft_tab[0][(unsigned __int8)b0_8] ^ ft_tab[1][BYTE1(b0_12)];
- v80 = cx_0->k_sch[6 * v4 - 75] ^ ft_tab[3][b0 >> 24] ^ ft_tab[2][BYTE2(b0_20)] ^ ft_tab[0][(unsigned __int8)b0_12] ^ ft_tab[1][BYTE1(b0_16)];
- v16 = cx_0->k_sch[6 * v4 - 74] ^ ft_tab[3][b0_4 >> 24] ^ ft_tab[2][BYTE2(b0)] ^ ft_tab[0][(unsigned __int8)b0_16] ^ ft_tab[1][BYTE1(b0_20)];
- v17 = cx_0->k_sch[6 * v4 - 73] ^ ft_tab[3][b0_8 >> 24] ^ ft_tab[2][(b0_4 >> 16) & 0xFF] ^ ft_tab[0][(unsigned __int8)b0_20] ^ ft_tab[1][BYTE1(b0)];
- LABEL_20:
- v95 = *(kp - 18) ^ ft_tab[3][v80 >> 24] ^ ft_tab[2][BYTE2(v82)] ^ ft_tab[0][(unsigned __int8)v86] ^ ft_tab[1][BYTE1(v84)];
- v92 = *(kp - 17) ^ ft_tab[3][v16 >> 24] ^ ft_tab[2][BYTE2(v80)] ^ ft_tab[0][(unsigned __int8)v84] ^ ft_tab[1][BYTE1(v82)];
- v89 = *(kp - 16) ^ ft_tab[3][v17 >> 24] ^ ft_tab[2][BYTE2(v16)] ^ ft_tab[0][(unsigned __int8)v82] ^ ft_tab[1][BYTE1(v80)];
- v18 = *(kp - 15) ^ ft_tab[3][v86 >> 24] ^ ft_tab[2][BYTE2(v17)] ^ ft_tab[0][(unsigned __int8)v80] ^ ft_tab[1][BYTE1(v16)];
- v19 = *(kp - 14) ^ ft_tab[3][v84 >> 24] ^ ft_tab[2][BYTE2(v86)] ^ ft_tab[0][(unsigned __int8)v16] ^ ft_tab[1][BYTE1(v17)];
- v20 = *(kp - 13) ^ ft_tab[3][v82 >> 24] ^ ft_tab[2][BYTE2(v84)] ^ ft_tab[0][(unsigned __int8)v17] ^ ft_tab[1][BYTE1(v86)];
- LABEL_21:
- v87 = *(kp - 12) ^ ft_tab[3][v18 >> 24] ^ ft_tab[2][BYTE2(v89)] ^ ft_tab[0][(unsigned __int8)v95] ^ ft_tab[1][BYTE1(v92)];
- v85 = *(kp - 11) ^ ft_tab[3][v19 >> 24] ^ ft_tab[2][BYTE2(v18)] ^ ft_tab[0][(unsigned __int8)v92] ^ ft_tab[1][BYTE1(v89)];
- v83 = *(kp - 10) ^ ft_tab[3][v20 >> 24] ^ ft_tab[2][BYTE2(v19)] ^ ft_tab[0][(unsigned __int8)v89] ^ ft_tab[1][BYTE1(v18)];
- v81 = *(kp - 9) ^ ft_tab[3][v95 >> 24] ^ ft_tab[2][BYTE2(v20)] ^ ft_tab[0][(unsigned __int8)v18] ^ ft_tab[1][BYTE1(v19)];
- v21 = *(kp - 8) ^ ft_tab[3][v92 >> 24] ^ ft_tab[2][BYTE2(v95)] ^ ft_tab[0][(unsigned __int8)v19] ^ ft_tab[1][BYTE1(v20)];
- v22 = *(kp - 7) ^ ft_tab[3][v89 >> 24] ^ ft_tab[2][BYTE2(v92)] ^ ft_tab[0][(unsigned __int8)v20] ^ ft_tab[1][BYTE1(v95)];
- LABEL_22:
- v96 = *(kp - 6) ^ ft_tab[3][v81 >> 24] ^ ft_tab[2][BYTE2(v83)] ^ ft_tab[0][(unsigned __int8)v87] ^ ft_tab[1][BYTE1(v85)];
- v93 = *(kp - 5) ^ ft_tab[3][v21 >> 24] ^ ft_tab[2][BYTE2(v81)] ^ ft_tab[0][(unsigned __int8)v85] ^ ft_tab[1][BYTE1(v83)];
- v90 = *(kp - 4) ^ ft_tab[3][v22 >> 24] ^ ft_tab[2][BYTE2(v21)] ^ ft_tab[0][(unsigned __int8)v83] ^ ft_tab[1][BYTE1(v81)];
- v23 = *(kp - 3) ^ ft_tab[3][v87 >> 24] ^ ft_tab[2][BYTE2(v22)] ^ ft_tab[0][(unsigned __int8)v81] ^ ft_tab[1][BYTE1(v21)];
- v24 = *(kp - 2) ^ ft_tab[3][v85 >> 24] ^ ft_tab[2][BYTE2(v87)] ^ ft_tab[0][(unsigned __int8)v21] ^ ft_tab[1][BYTE1(v22)];
- v25 = *(kp - 1) ^ ft_tab[3][v83 >> 24] ^ ft_tab[2][BYTE2(v85)] ^ ft_tab[0][(unsigned __int8)v22] ^ ft_tab[1][BYTE1(v87)];
- LABEL_23:
- v26 = *kp ^ ft_tab[3][v23 >> 24] ^ ft_tab[2][BYTE2(v90)] ^ ft_tab[0][(unsigned __int8)v96] ^ ft_tab[1][BYTE1(v93)];
- v27 = kp[1] ^ ft_tab[3][v24 >> 24] ^ ft_tab[2][BYTE2(v23)] ^ ft_tab[0][(unsigned __int8)v93] ^ ft_tab[1][BYTE1(v90)];
- v28 = kp[2] ^ ft_tab[3][v25 >> 24] ^ ft_tab[2][BYTE2(v24)] ^ ft_tab[0][(unsigned __int8)v90] ^ ft_tab[1][BYTE1(v23)];
- v29 = kp[3] ^ ft_tab[3][v96 >> 24] ^ ft_tab[2][BYTE2(v25)] ^ ft_tab[0][(unsigned __int8)v23] ^ ft_tab[1][BYTE1(v24)];
- v30 = kp[4] ^ ft_tab[3][v93 >> 24] ^ ft_tab[2][BYTE2(v96)] ^ ft_tab[0][(unsigned __int8)v24] ^ ft_tab[1][BYTE1(v25)];
- v31 = kp[5] ^ ft_tab[3][v90 >> 24] ^ ft_tab[2][BYTE2(v93)] ^ ft_tab[0][(unsigned __int8)v25] ^ ft_tab[1][BYTE1(v96)];
- v32 = kp[6] ^ ft_tab[3][v29 >> 24] ^ ft_tab[2][BYTE2(v28)] ^ ft_tab[0][(unsigned __int8)v26] ^ ft_tab[1][BYTE1(v27)];
- v33 = kp[7] ^ ft_tab[3][v30 >> 24] ^ ft_tab[2][BYTE2(v29)] ^ ft_tab[0][(unsigned __int8)v27] ^ ft_tab[1][BYTE1(v28)];
- v34 = kp[8] ^ ft_tab[3][v31 >> 24] ^ ft_tab[2][BYTE2(v30)] ^ ft_tab[0][(unsigned __int8)v28] ^ ft_tab[1][BYTE1(v29)];
- v35 = kp[9] ^ ft_tab[3][v26 >> 24] ^ ft_tab[2][BYTE2(v31)] ^ ft_tab[0][(unsigned __int8)v29] ^ ft_tab[1][BYTE1(v30)];
- v36 = kp[10] ^ ft_tab[3][v27 >> 24] ^ ft_tab[2][BYTE2(v26)] ^ ft_tab[0][(unsigned __int8)v30] ^ ft_tab[1][BYTE1(v31)];
- v37 = kp[11] ^ ft_tab[3][v28 >> 24] ^ ft_tab[2][BYTE2(v27)] ^ ft_tab[0][(unsigned __int8)v31] ^ ft_tab[1][BYTE1(v26)];
- v38 = kp[12] ^ ft_tab[3][v35 >> 24] ^ ft_tab[2][BYTE2(v34)] ^ ft_tab[0][(unsigned __int8)v32] ^ ft_tab[1][BYTE1(v33)];
- v39 = kp[13] ^ ft_tab[3][v36 >> 24] ^ ft_tab[2][BYTE2(v35)] ^ ft_tab[0][(unsigned __int8)v33] ^ ft_tab[1][BYTE1(v34)];
- v40 = kp[14] ^ ft_tab[3][v37 >> 24] ^ ft_tab[2][BYTE2(v36)] ^ ft_tab[0][(unsigned __int8)v34] ^ ft_tab[1][BYTE1(v35)];
- v41 = kp[15] ^ ft_tab[3][v32 >> 24] ^ ft_tab[2][BYTE2(v37)] ^ ft_tab[0][(unsigned __int8)v35] ^ ft_tab[1][BYTE1(v36)];
- v42 = kp[16] ^ ft_tab[3][v33 >> 24] ^ ft_tab[2][BYTE2(v32)] ^ ft_tab[0][(unsigned __int8)v36] ^ ft_tab[1][BYTE1(v37)];
- v43 = kp[17] ^ ft_tab[3][v34 >> 24] ^ ft_tab[2][BYTE2(v33)] ^ ft_tab[0][(unsigned __int8)v37] ^ ft_tab[1][BYTE1(v32)];
- v44 = kp[18] ^ ft_tab[3][v41 >> 24] ^ ft_tab[2][BYTE2(v40)] ^ ft_tab[0][(unsigned __int8)v38] ^ ft_tab[1][BYTE1(v39)];
- v45 = kp[19] ^ ft_tab[3][v42 >> 24] ^ ft_tab[2][BYTE2(v41)] ^ ft_tab[0][(unsigned __int8)v39] ^ ft_tab[1][BYTE1(v40)];
- v46 = kp[20] ^ ft_tab[3][v43 >> 24] ^ ft_tab[2][BYTE2(v42)] ^ ft_tab[0][(unsigned __int8)v40] ^ ft_tab[1][BYTE1(v41)];
- v47 = kp[21] ^ ft_tab[3][v38 >> 24] ^ ft_tab[2][BYTE2(v43)] ^ ft_tab[0][(unsigned __int8)v41] ^ ft_tab[1][BYTE1(v42)];
- v48 = kp[22] ^ ft_tab[3][v39 >> 24] ^ ft_tab[2][BYTE2(v38)] ^ ft_tab[0][(unsigned __int8)v42] ^ ft_tab[1][BYTE1(v43)];
- v49 = kp[23] ^ ft_tab[3][v40 >> 24] ^ ft_tab[2][BYTE2(v39)] ^ ft_tab[0][(unsigned __int8)v43] ^ ft_tab[1][BYTE1(v38)];
- v50 = kp[24] ^ ft_tab[3][v47 >> 24] ^ ft_tab[2][BYTE2(v46)] ^ ft_tab[0][(unsigned __int8)v44] ^ ft_tab[1][BYTE1(v45)];
- v51 = kp[25] ^ ft_tab[3][v48 >> 24] ^ ft_tab[2][BYTE2(v47)] ^ ft_tab[0][(unsigned __int8)v45] ^ ft_tab[1][BYTE1(v46)];
- v52 = kp[26] ^ ft_tab[3][v49 >> 24] ^ ft_tab[2][BYTE2(v48)] ^ ft_tab[0][(unsigned __int8)v46] ^ ft_tab[1][BYTE1(v47)];
- v53 = kp[27] ^ ft_tab[3][v44 >> 24] ^ ft_tab[2][BYTE2(v49)] ^ ft_tab[0][(unsigned __int8)v47] ^ ft_tab[1][BYTE1(v48)];
- v54 = kp[28] ^ ft_tab[3][v45 >> 24] ^ ft_tab[2][BYTE2(v44)] ^ ft_tab[0][(unsigned __int8)v48] ^ ft_tab[1][BYTE1(v49)];
- v55 = kp[29] ^ ft_tab[3][v46 >> 24] ^ ft_tab[2][BYTE2(v45)] ^ ft_tab[0][(unsigned __int8)v49] ^ ft_tab[1][BYTE1(v44)];
- v56 = kp[30] ^ ft_tab[3][v53 >> 24] ^ ft_tab[2][BYTE2(v52)] ^ ft_tab[0][(unsigned __int8)v50] ^ ft_tab[1][BYTE1(v51)];
- v57 = kp[31] ^ ft_tab[3][v54 >> 24] ^ ft_tab[2][BYTE2(v53)] ^ ft_tab[0][(unsigned __int8)v51] ^ ft_tab[1][BYTE1(v52)];
- v58 = kp[32] ^ ft_tab[3][v55 >> 24] ^ ft_tab[2][BYTE2(v54)] ^ ft_tab[0][(unsigned __int8)v52] ^ ft_tab[1][BYTE1(v53)];
- v59 = kp[33] ^ ft_tab[3][v50 >> 24] ^ ft_tab[2][BYTE2(v55)] ^ ft_tab[0][(unsigned __int8)v53] ^ ft_tab[1][BYTE1(v54)];
- v60 = kp[34] ^ ft_tab[3][v51 >> 24] ^ ft_tab[2][BYTE2(v50)] ^ ft_tab[0][(unsigned __int8)v54] ^ ft_tab[1][BYTE1(v55)];
- v61 = kp[35] ^ ft_tab[3][v52 >> 24] ^ ft_tab[2][BYTE2(v51)] ^ ft_tab[0][(unsigned __int8)v55] ^ ft_tab[1][BYTE1(v50)];
- v62 = kp[36] ^ ft_tab[3][v59 >> 24] ^ ft_tab[2][BYTE2(v58)] ^ ft_tab[0][(unsigned __int8)v56] ^ ft_tab[1][BYTE1(v57)];
- v63 = kp[37] ^ ft_tab[3][v60 >> 24] ^ ft_tab[2][BYTE2(v59)] ^ ft_tab[0][(unsigned __int8)v57] ^ ft_tab[1][BYTE1(v58)];
- v64 = kp[38] ^ ft_tab[3][v61 >> 24] ^ ft_tab[2][BYTE2(v60)] ^ ft_tab[0][(unsigned __int8)v58] ^ ft_tab[1][BYTE1(v59)];
- v65 = kp[39] ^ ft_tab[3][v56 >> 24] ^ ft_tab[2][BYTE2(v61)] ^ ft_tab[0][(unsigned __int8)v59] ^ ft_tab[1][BYTE1(v60)];
- v66 = kp[40] ^ ft_tab[3][v57 >> 24] ^ ft_tab[2][BYTE2(v56)] ^ ft_tab[0][(unsigned __int8)v60] ^ ft_tab[1][BYTE1(v61)];
- v67 = kp[41] ^ ft_tab[3][v58 >> 24] ^ ft_tab[2][BYTE2(v57)] ^ ft_tab[0][(unsigned __int8)v61] ^ ft_tab[1][BYTE1(v56)];
- v68 = kp[42] ^ ft_tab[3][v65 >> 24] ^ ft_tab[2][BYTE2(v64)] ^ ft_tab[0][(unsigned __int8)v62] ^ ft_tab[1][BYTE1(v63)];
- v69 = kp[43] ^ ft_tab[3][v66 >> 24] ^ ft_tab[2][BYTE2(v65)] ^ ft_tab[0][(unsigned __int8)v63] ^ ft_tab[1][BYTE1(v64)];
- v70 = kp[44] ^ ft_tab[3][v67 >> 24] ^ ft_tab[2][BYTE2(v66)] ^ ft_tab[0][(unsigned __int8)v64] ^ ft_tab[1][BYTE1(v65)];
- v71 = kp[45] ^ ft_tab[3][v62 >> 24] ^ ft_tab[2][BYTE2(v67)] ^ ft_tab[0][(unsigned __int8)v65] ^ ft_tab[1][BYTE1(v66)];
- v72 = kp[46] ^ ft_tab[3][v63 >> 24] ^ ft_tab[2][BYTE2(v62)] ^ ft_tab[0][(unsigned __int8)v66] ^ ft_tab[1][BYTE1(v67)];
- v73 = kp[47] ^ ft_tab[3][v64 >> 24] ^ ft_tab[2][BYTE2(v63)] ^ ft_tab[0][(unsigned __int8)v67] ^ ft_tab[1][BYTE1(v62)];
- v74 = kp[48] ^ ft_tab[3][v71 >> 24] ^ ft_tab[2][BYTE2(v70)] ^ ft_tab[0][(unsigned __int8)v68] ^ ft_tab[1][BYTE1(v69)];
- v75 = kp[49] ^ ft_tab[3][v72 >> 24] ^ ft_tab[2][BYTE2(v71)] ^ ft_tab[0][(unsigned __int8)v69] ^ ft_tab[1][BYTE1(v70)];
- v76 = kp[50] ^ ft_tab[3][v73 >> 24] ^ ft_tab[2][BYTE2(v72)] ^ ft_tab[0][(unsigned __int8)v70] ^ ft_tab[1][BYTE1(v71)];
- v77 = kp[51] ^ ft_tab[3][v68 >> 24] ^ ft_tab[2][BYTE2(v73)] ^ ft_tab[0][(unsigned __int8)v71] ^ ft_tab[1][BYTE1(v72)];
- v78 = kp[52] ^ ft_tab[3][v69 >> 24] ^ ft_tab[2][BYTE2(v68)] ^ ft_tab[0][(unsigned __int8)v72] ^ ft_tab[1][BYTE1(v73)];
- v79 = kp[53] ^ ft_tab[3][v70 >> 24] ^ ft_tab[2][BYTE2(v69)] ^ ft_tab[0][(unsigned __int8)v73] ^ ft_tab[1][BYTE1(v68)];
- v94 = kp[54] ^ fl_tab[3][v77 >> 24] ^ fl_tab[2][BYTE2(v76)] ^ fl_tab[0][(unsigned __int8)v74] ^ fl_tab[1][BYTE1(v75)];
- v91 = kp[55] ^ fl_tab[3][v78 >> 24] ^ fl_tab[2][BYTE2(v77)] ^ fl_tab[0][(unsigned __int8)v75] ^ fl_tab[1][BYTE1(v76)];
- v88 = kp[56] ^ fl_tab[3][v79 >> 24] ^ fl_tab[2][BYTE2(v78)] ^ fl_tab[0][(unsigned __int8)v76] ^ fl_tab[1][BYTE1(v77)];
- v5 = kp[57] ^ fl_tab[3][v74 >> 24] ^ fl_tab[2][BYTE2(v79)] ^ fl_tab[0][(unsigned __int8)v77] ^ fl_tab[1][BYTE1(v78)];
- v6 = kp[58] ^ fl_tab[3][v75 >> 24] ^ fl_tab[2][BYTE2(v74)] ^ fl_tab[0][(unsigned __int8)v78] ^ fl_tab[1][BYTE1(v79)];
- v7 = kp[59] ^ fl_tab[3][v76 >> 24] ^ fl_tab[2][BYTE2(v75)] ^ fl_tab[0][(unsigned __int8)v79] ^ fl_tab[1][BYTE1(v74)];
- break;
- default:
- v91 = b0_4;
- v88 = b0_8;
- v94 = b0;
- v5 = b0_12;
- v6 = b0_16;
- v7 = b0_20;
- break;
- }
- *out_blk = v94;
- v8 = v94 >> 8;
- out_blk[1] = v8;
- *((_WORD *)out_blk + 1) = v8 >> 8;
- out_blk[4] = v91;
- v9 = v91 >> 8;
- out_blk[5] = v9;
- *((_WORD *)out_blk + 3) = v9 >> 8;
- out_blk[8] = v88;
- v10 = v88 >> 8;
- out_blk[9] = v10;
- *((_WORD *)out_blk + 5) = v10 >> 8;
- v11 = v5;
- v12 = v5 >> 8;
- out_blk[12] = v11;
- out_blk[16] = v6;
- v13 = v12;
- v14 = v6 >> 8;
- v12 >>= 8;
- out_blk[20] = v7;
- v15 = v7 >> 8;
- out_blk[13] = v13;
- out_blk[17] = v14;
- v14 >>= 8;
- out_blk[21] = v15;
- v15 >>= 8;
- out_blk[14] = v12;
- out_blk[18] = v14;
- out_blk[22] = v15;
- out_blk[15] = BYTE1(v12);
- out_blk[19] = BYTE1(v14);
- out_blk[23] = BYTE1(v15);
- return 1;
- }
- //----- (080B5DCC) --------------------------------------------------------
- aes_fret __cdecl aes_dec_blk(const unsigned __int8 *in_blk, unsigned __int8 *out_blk, const aes_ctx *cx_0)
- {
- uint32_t v3; // ebx
- aes_fret result; // ax
- uint32_t v5; // esi
- uint32_t v6; // edi
- uint32_t v7; // ecx
- uint32_t v8; // ebx
- unsigned __int8 v9; // al
- uint32_t v10; // esi
- unsigned __int8 v11; // al
- uint32_t v12; // edi
- unsigned __int8 v13; // al
- uint32_t v14; // ecx
- uint32_t v15; // ST1C_4
- uint32_t v16; // ST18_4
- uint32_t v17; // ebx
- uint32_t v18; // ebx
- uint32_t v19; // esi
- uint32_t v20; // edi
- uint32_t v21; // ST14_4
- uint32_t v22; // ecx
- uint32_t v23; // ST10_4
- uint32_t v24; // ST0C_4
- uint32_t v25; // ebx
- uint32_t v26; // esi
- uint32_t v27; // edi
- uint32_t v28; // ecx
- uint32_t v29; // ebx
- uint32_t v30; // esi
- uint32_t v31; // edi
- uint32_t v32; // ST14_4
- uint32_t v33; // ecx
- uint32_t v34; // ST10_4
- uint32_t v35; // ST0C_4
- uint32_t v36; // ebx
- uint32_t v37; // ST1C0_4
- uint32_t v38; // ST1C4_4
- uint32_t v39; // esi
- uint32_t v40; // ST1C8_4
- uint32_t v41; // edi
- uint32_t v42; // ST1CC_4
- uint32_t v43; // ecx
- uint32_t v44; // ST1D0_4
- uint32_t v45; // ebx
- uint32_t v46; // esi
- uint32_t v47; // edi
- uint32_t v48; // ecx
- uint32_t v49; // ST1C_4
- uint32_t v50; // ST18_4
- uint32_t v51; // ebx
- uint32_t v52; // ST1C0_4
- uint32_t v53; // ST1C4_4
- uint32_t v54; // ST1C8_4
- uint32_t v55; // ST1CC_4
- uint32_t v56; // ST1D0_4
- uint32_t v57; // ebx
- uint32_t v58; // esi
- uint32_t v59; // edi
- uint32_t v60; // ecx
- uint32_t v61; // ST1C_4
- uint32_t v62; // ST18_4
- uint32_t v63; // ebx
- uint32_t v64; // ST1C0_4
- uint32_t v65; // ST1C4_4
- uint32_t v66; // ST1C8_4
- uint32_t v67; // ST1CC_4
- uint32_t v68; // ST1D0_4
- uint32_t v69; // ebx
- uint32_t v70; // esi
- uint32_t v71; // edi
- uint32_t v72; // ecx
- uint32_t v73; // ST1C_4
- uint32_t v74; // ST18_4
- uint32_t v75; // ebx
- uint32_t v76; // ST1C0_4
- uint32_t v77; // ST1C4_4
- uint32_t v78; // ST1C8_4
- uint32_t v79; // ST1CC_4
- uint32_t v80; // ST1D0_4
- uint32_t v81; // ebx
- uint32_t v82; // esi
- uint32_t v83; // edi
- uint32_t v84; // ecx
- uint32_t v85; // ST1C_4
- uint32_t v86; // ST18_4
- uint32_t v87; // ebx
- uint32_t v88; // ST1C0_4
- uint32_t v89; // ST1C4_4
- uint32_t v90; // ST1C8_4
- uint32_t v91; // ST1CC_4
- uint32_t v92; // ST1D0_4
- uint32_t v93; // ST38_4
- uint32_t v94; // [esp+4h] [ebp-1F4h]
- uint32_t v95; // [esp+4h] [ebp-1F4h]
- uint32_t v96; // [esp+8h] [ebp-1F0h]
- uint32_t v97; // [esp+8h] [ebp-1F0h]
- uint32_t v98; // [esp+Ch] [ebp-1ECh]
- uint32_t v99; // [esp+Ch] [ebp-1ECh]
- uint32_t v100; // [esp+10h] [ebp-1E8h]
- uint32_t v101; // [esp+10h] [ebp-1E8h]
- uint32_t v102; // [esp+14h] [ebp-1E4h]
- uint32_t v103; // [esp+14h] [ebp-1E4h]
- uint32_t v104; // [esp+18h] [ebp-1E0h]
- uint32_t v105; // [esp+18h] [ebp-1E0h]
- uint32_t v106; // [esp+18h] [ebp-1E0h]
- uint32_t v107; // [esp+1Ch] [ebp-1DCh]
- uint32_t v108; // [esp+1Ch] [ebp-1DCh]
- uint32_t v109; // [esp+1Ch] [ebp-1DCh]
- const uint32_t *kp; // [esp+19Ch] [ebp-5Ch]
- unsigned int b0; // [esp+1A0h] [ebp-58h]
- unsigned int b0_4; // [esp+1A4h] [ebp-54h]
- unsigned int b0_8; // [esp+1A8h] [ebp-50h]
- unsigned int b0_12; // [esp+1ACh] [ebp-4Ch]
- unsigned int b0_16; // [esp+1B0h] [ebp-48h]
- unsigned int b0_20; // [esp+1B4h] [ebp-44h]
- int b1; // [esp+1C0h] [ebp-38h]
- int b1_4; // [esp+1C4h] [ebp-34h]
- int b1_8; // [esp+1C8h] [ebp-30h]
- int b1_12; // [esp+1CCh] [ebp-2Ch]
- int b1_16; // [esp+1D0h] [ebp-28h]
- int b1_20; // [esp+1D4h] [ebp-24h]
- v3 = cx_0->n_rnd;
- kp = &cx_0->k_sch[6 * v3];
- result = 0;
- if ( !(cx_0->n_blk & 2) )
- return result;
- if ( v3 & 1 )
- {
- b1 = *kp ^ (*in_blk | (in_blk[1] << 8) | (in_blk[2] << 16) | (in_blk[3] << 24));
- if ( v3 & 1 )
- {
- LABEL_4:
- b1_4 = kp[1] ^ (in_blk[4] | (in_blk[5] << 8) | (in_blk[6] << 16) | (in_blk[7] << 24));
- if ( v3 & 1 )
- goto LABEL_5;
- goto LABEL_15;
- }
- }
- else
- {
- b0 = *kp ^ (*in_blk | (in_blk[1] << 8) | (in_blk[2] << 16) | (in_blk[3] << 24));
- if ( v3 & 1 )
- goto LABEL_4;
- }
- b0_4 = kp[1] ^ (in_blk[4] | (in_blk[5] << 8) | (in_blk[6] << 16) | (in_blk[7] << 24));
- if ( v3 & 1 )
- {
- LABEL_5:
- b1_8 = kp[2] ^ (in_blk[8] | (in_blk[9] << 8) | (in_blk[10] << 16) | (in_blk[11] << 24));
- if ( v3 & 1 )
- goto LABEL_6;
- goto LABEL_16;
- }
- LABEL_15:
- b0_8 = kp[2] ^ (in_blk[8] | (in_blk[9] << 8) | (in_blk[10] << 16) | (in_blk[11] << 24));
- if ( v3 & 1 )
- {
- LABEL_6:
- b1_12 = kp[3] ^ (in_blk[12] | (in_blk[13] << 8) | (in_blk[14] << 16) | (in_blk[15] << 24));
- if ( v3 & 1 )
- goto LABEL_7;
- LABEL_17:
- b0_16 = kp[4] ^ (in_blk[16] | (in_blk[17] << 8) | (in_blk[18] << 16) | (in_blk[19] << 24));
- if ( v3 & 1 )
- goto LABEL_8;
- LABEL_18:
- b0_20 = kp[5] ^ (in_blk[20] | (in_blk[21] << 8) | (in_blk[22] << 16) | (in_blk[23] << 24));
- goto LABEL_9;
- }
- LABEL_16:
- b0_12 = kp[3] ^ (in_blk[12] | (in_blk[13] << 8) | (in_blk[14] << 16) | (in_blk[15] << 24));
- if ( !(v3 & 1) )
- goto LABEL_17;
- LABEL_7:
- b1_16 = kp[4] ^ (in_blk[16] | (in_blk[17] << 8) | (in_blk[18] << 16) | (in_blk[19] << 24));
- if ( !(v3 & 1) )
- goto LABEL_18;
- LABEL_8:
- b1_20 = kp[5] ^ (in_blk[20] | (in_blk[21] << 8) | (in_blk[22] << 16) | (in_blk[23] << 24));
- LABEL_9:
- switch ( v3 )
- {
- case 0xAu:
- v106 = b0_16;
- v30 = b0;
- v31 = b0_4;
- v33 = b0_8;
- v36 = b0_20;
- v109 = b0_12;
- goto LABEL_23;
- case 0xBu:
- v103 = b1;
- v95 = b1_16;
- v29 = b1_20;
- v101 = b1_4;
- v99 = b1_8;
- v97 = b1_12;
- goto LABEL_22;
- case 0xCu:
- v105 = b0_16;
- v19 = b0;
- v20 = b0_4;
- v22 = b0_8;
- v25 = b0_20;
- v108 = b0_12;
- goto LABEL_21;
- case 0xDu:
- v102 = b1;
- v100 = b1_4;
- v18 = b1_20;
- v98 = b1_8;
- v96 = b1_12;
- v94 = b1_16;
- goto LABEL_20;
- case 0xEu:
- v102 = cx_0->k_sch[78] ^ it_tab[3][b0_12 >> 24] ^ it_tab[2][BYTE2(b0_16)] ^ it_tab[0][(unsigned __int8)b0] ^ it_tab[1][BYTE1(b0_20)];
- v100 = cx_0->k_sch[79] ^ it_tab[3][b0_16 >> 24] ^ it_tab[2][BYTE2(b0_20)] ^ it_tab[0][(unsigned __int8)b0_4] ^ it_tab[1][BYTE1(b0)];
- v98 = cx_0->k_sch[80] ^ it_tab[3][b0_20 >> 24] ^ it_tab[2][BYTE2(b0)] ^ it_tab[0][(unsigned __int8)b0_8] ^ it_tab[1][BYTE1(b0_4)];
- v96 = cx_0->k_sch[81] ^ it_tab[3][b0 >> 24] ^ it_tab[2][BYTE2(b0_4)] ^ it_tab[0][(unsigned __int8)b0_12] ^ it_tab[1][BYTE1(b0_8)];
- v94 = cx_0->k_sch[82] ^ it_tab[3][b0_4 >> 24] ^ it_tab[2][BYTE2(b0_8)] ^ it_tab[0][(unsigned __int8)b0_16] ^ it_tab[1][BYTE1(b0_12)];
- v18 = cx_0->k_sch[83] ^ it_tab[3][b0_8 >> 24] ^ it_tab[2][BYTE2(b0_12)] ^ it_tab[0][(unsigned __int8)b0_20] ^ it_tab[1][BYTE1(b0_16)];
- LABEL_20:
- v19 = cx_0->k_sch[72] ^ it_tab[3][v96 >> 24] ^ it_tab[2][BYTE2(v94)] ^ it_tab[0][(unsigned __int8)v102] ^ it_tab[1][BYTE1(v18)];
- v20 = cx_0->k_sch[73] ^ it_tab[3][v94 >> 24] ^ it_tab[2][BYTE2(v18)] ^ it_tab[0][(unsigned __int8)v100] ^ it_tab[1][BYTE1(v102)];
- v21 = v102 >> 16;
- v22 = cx_0->k_sch[74] ^ it_tab[3][v18 >> 24] ^ it_tab[2][(unsigned __int8)v21] ^ it_tab[0][(unsigned __int8)v98] ^ it_tab[1][BYTE1(v100)];
- v23 = v100 >> 16;
- v108 = cx_0->k_sch[75] ^ it_tab[3][v21 >> 8] ^ it_tab[2][(unsigned __int8)v23] ^ it_tab[0][(unsigned __int8)v96] ^ it_tab[1][BYTE1(v98)];
- v24 = v98 >> 16;
- v105 = cx_0->k_sch[76] ^ it_tab[3][v23 >> 8] ^ it_tab[2][(unsigned __int8)v24] ^ it_tab[0][(unsigned __int8)v94] ^ it_tab[1][BYTE1(v96)];
- v25 = cx_0->k_sch[77] ^ it_tab[3][v24 >> 8] ^ it_tab[2][BYTE2(v96)] ^ it_tab[0][(unsigned __int8)v18] ^ it_tab[1][BYTE1(v94)];
- LABEL_21:
- v103 = cx_0->k_sch[66] ^ it_tab[3][v108 >> 24] ^ it_tab[2][BYTE2(v105)] ^ it_tab[0][(unsigned __int8)v19] ^ it_tab[1][BYTE1(v25)];
- v101 = cx_0->k_sch[67] ^ it_tab[3][v105 >> 24] ^ it_tab[2][BYTE2(v25)] ^ it_tab[0][(unsigned __int8)v20] ^ it_tab[1][BYTE1(v19)];
- v26 = v19 >> 16;
- v99 = cx_0->k_sch[68] ^ it_tab[3][v25 >> 24] ^ it_tab[2][(unsigned __int8)v26] ^ it_tab[0][(unsigned __int8)v22] ^ it_tab[1][BYTE1(v20)];
- v27 = v20 >> 16;
- v97 = cx_0->k_sch[69] ^ it_tab[3][v26 >> 8] ^ it_tab[2][(unsigned __int8)v27] ^ it_tab[0][(unsigned __int8)v108] ^ it_tab[1][BYTE1(v22)];
- v28 = v22 >> 16;
- v95 = cx_0->k_sch[70] ^ it_tab[3][v27 >> 8] ^ it_tab[2][(unsigned __int8)v28] ^ it_tab[0][(unsigned __int8)v105] ^ it_tab[1][BYTE1(v108)];
- v29 = cx_0->k_sch[71] ^ it_tab[3][v28 >> 8] ^ it_tab[2][BYTE2(v108)] ^ it_tab[0][(unsigned __int8)v25] ^ it_tab[1][BYTE1(v105)];
- LABEL_22:
- v30 = cx_0->k_sch[60] ^ it_tab[3][v97 >> 24] ^ it_tab[2][BYTE2(v95)] ^ it_tab[0][(unsigned __int8)v103] ^ it_tab[1][BYTE1(v29)];
- v31 = cx_0->k_sch[61] ^ it_tab[3][v95 >> 24] ^ it_tab[2][BYTE2(v29)] ^ it_tab[0][(unsigned __int8)v101] ^ it_tab[1][BYTE1(v103)];
- v32 = v103 >> 16;
- v33 = cx_0->k_sch[62] ^ it_tab[3][v29 >> 24] ^ it_tab[2][(unsigned __int8)v32] ^ it_tab[0][(unsigned __int8)v99] ^ it_tab[1][BYTE1(v101)];
- v34 = v101 >> 16;
- v109 = cx_0->k_sch[63] ^ it_tab[3][v32 >> 8] ^ it_tab[2][(unsigned __int8)v34] ^ it_tab[0][(unsigned __int8)v97] ^ it_tab[1][BYTE1(v99)];
- v35 = v99 >> 16;
- v106 = cx_0->k_sch[64] ^ it_tab[3][v34 >> 8] ^ it_tab[2][(unsigned __int8)v35] ^ it_tab[0][(unsigned __int8)v95] ^ it_tab[1][BYTE1(v97)];
- v36 = cx_0->k_sch[65] ^ it_tab[3][v35 >> 8] ^ it_tab[2][BYTE2(v97)] ^ it_tab[0][(unsigned __int8)v29] ^ it_tab[1][BYTE1(v95)];
- LABEL_23:
- v37 = cx_0->k_sch[54] ^ it_tab[3][v109 >> 24] ^ it_tab[2][BYTE2(v106)] ^ it_tab[0][(unsigned __int8)v30] ^ it_tab[1][BYTE1(v36)];
- v38 = cx_0->k_sch[55] ^ it_tab[3][v106 >> 24] ^ it_tab[2][BYTE2(v36)] ^ it_tab[0][(unsigned __int8)v31] ^ it_tab[1][BYTE1(v30)];
- v39 = v30 >> 16;
- v40 = cx_0->k_sch[56] ^ it_tab[3][v36 >> 24] ^ it_tab[2][(unsigned __int8)v39] ^ it_tab[0][(unsigned __int8)v33] ^ it_tab[1][BYTE1(v31)];
- v41 = v31 >> 16;
- v42 = cx_0->k_sch[57] ^ it_tab[3][v39 >> 8] ^ it_tab[2][(unsigned __int8)v41] ^ it_tab[0][(unsigned __int8)v109] ^ it_tab[1][BYTE1(v33)];
- v43 = v33 >> 16;
- v44 = cx_0->k_sch[58] ^ it_tab[3][v41 >> 8] ^ it_tab[2][(unsigned __int8)v43] ^ it_tab[0][(unsigned __int8)v106] ^ it_tab[1][BYTE1(v109)];
- v45 = cx_0->k_sch[59] ^ it_tab[3][v43 >> 8] ^ it_tab[2][BYTE2(v109)] ^ it_tab[0][(unsigned __int8)v36] ^ it_tab[1][BYTE1(v106)];
- v46 = cx_0->k_sch[48] ^ it_tab[3][v42 >> 24] ^ it_tab[2][BYTE2(v44)] ^ it_tab[0][(unsigned __int8)v37] ^ it_tab[1][BYTE1(v45)];
- v47 = cx_0->k_sch[49] ^ it_tab[3][v44 >> 24] ^ it_tab[2][BYTE2(v45)] ^ it_tab[0][(unsigned __int8)v38] ^ it_tab[1][BYTE1(v37)];
- v48 = cx_0->k_sch[50] ^ it_tab[3][v45 >> 24] ^ it_tab[2][BYTE2(v37)] ^ it_tab[0][(unsigned __int8)v40] ^ it_tab[1][BYTE1(v38)];
- v49 = cx_0->k_sch[51] ^ it_tab[3][v37 >> 24] ^ it_tab[2][BYTE2(v38)] ^ it_tab[0][(unsigned __int8)v42] ^ it_tab[1][BYTE1(v40)];
- v50 = cx_0->k_sch[52] ^ it_tab[3][v38 >> 24] ^ it_tab[2][BYTE2(v40)] ^ it_tab[0][(unsigned __int8)v44] ^ it_tab[1][BYTE1(v42)];
- v51 = cx_0->k_sch[53] ^ it_tab[3][v40 >> 24] ^ it_tab[2][BYTE2(v42)] ^ it_tab[0][(unsigned __int8)v45] ^ it_tab[1][BYTE1(v44)];
- v52 = cx_0->k_sch[42] ^ it_tab[3][v49 >> 24] ^ it_tab[2][BYTE2(v50)] ^ it_tab[0][(unsigned __int8)v46] ^ it_tab[1][BYTE1(v51)];
- v53 = cx_0->k_sch[43] ^ it_tab[3][v50 >> 24] ^ it_tab[2][BYTE2(v51)] ^ it_tab[0][(unsigned __int8)v47] ^ it_tab[1][BYTE1(v46)];
- v46 >>= 16;
- v54 = cx_0->k_sch[44] ^ it_tab[3][v51 >> 24] ^ it_tab[2][(unsigned __int8)v46] ^ it_tab[0][(unsigned __int8)v48] ^ it_tab[1][BYTE1(v47)];
- v47 >>= 16;
- v55 = cx_0->k_sch[45] ^ it_tab[3][v46 >> 8] ^ it_tab[2][(unsigned __int8)v47] ^ it_tab[0][(unsigned __int8)v49] ^ it_tab[1][BYTE1(v48)];
- v48 >>= 16;
- v56 = cx_0->k_sch[46] ^ it_tab[3][v47 >> 8] ^ it_tab[2][(unsigned __int8)v48] ^ it_tab[0][(unsigned __int8)v50] ^ it_tab[1][BYTE1(v49)];
- v57 = cx_0->k_sch[47] ^ it_tab[3][v48 >> 8] ^ it_tab[2][BYTE2(v49)] ^ it_tab[0][(unsigned __int8)v51] ^ it_tab[1][BYTE1(v50)];
- v58 = cx_0->k_sch[36] ^ it_tab[3][v55 >> 24] ^ it_tab[2][BYTE2(v56)] ^ it_tab[0][(unsigned __int8)v52] ^ it_tab[1][BYTE1(v57)];
- v59 = cx_0->k_sch[37] ^ it_tab[3][v56 >> 24] ^ it_tab[2][BYTE2(v57)] ^ it_tab[0][(unsigned __int8)v53] ^ it_tab[1][BYTE1(v52)];
- v60 = cx_0->k_sch[38] ^ it_tab[3][v57 >> 24] ^ it_tab[2][BYTE2(v52)] ^ it_tab[0][(unsigned __int8)v54] ^ it_tab[1][BYTE1(v53)];
- v61 = cx_0->k_sch[39] ^ it_tab[3][v52 >> 24] ^ it_tab[2][BYTE2(v53)] ^ it_tab[0][(unsigned __int8)v55] ^ it_tab[1][BYTE1(v54)];
- v62 = cx_0->k_sch[40] ^ it_tab[3][v53 >> 24] ^ it_tab[2][BYTE2(v54)] ^ it_tab[0][(unsigned __int8)v56] ^ it_tab[1][BYTE1(v55)];
- v63 = cx_0->k_sch[41] ^ it_tab[3][v54 >> 24] ^ it_tab[2][BYTE2(v55)] ^ it_tab[0][(unsigned __int8)v57] ^ it_tab[1][BYTE1(v56)];
- v64 = cx_0->k_sch[30] ^ it_tab[3][v61 >> 24] ^ it_tab[2][BYTE2(v62)] ^ it_tab[0][(unsigned __int8)v58] ^ it_tab[1][BYTE1(v63)];
- v65 = cx_0->k_sch[31] ^ it_tab[3][v62 >> 24] ^ it_tab[2][BYTE2(v63)] ^ it_tab[0][(unsigned __int8)v59] ^ it_tab[1][BYTE1(v58)];
- v58 >>= 16;
- v66 = cx_0->k_sch[32] ^ it_tab[3][v63 >> 24] ^ it_tab[2][(unsigned __int8)v58] ^ it_tab[0][(unsigned __int8)v60] ^ it_tab[1][BYTE1(v59)];
- v59 >>= 16;
- v67 = cx_0->k_sch[33] ^ it_tab[3][v58 >> 8] ^ it_tab[2][(unsigned __int8)v59] ^ it_tab[0][(unsigned __int8)v61] ^ it_tab[1][BYTE1(v60)];
- v60 >>= 16;
- v68 = cx_0->k_sch[34] ^ it_tab[3][v59 >> 8] ^ it_tab[2][(unsigned __int8)v60] ^ it_tab[0][(unsigned __int8)v62] ^ it_tab[1][BYTE1(v61)];
- v69 = cx_0->k_sch[35] ^ it_tab[3][v60 >> 8] ^ it_tab[2][BYTE2(v61)] ^ it_tab[0][(unsigned __int8)v63] ^ it_tab[1][BYTE1(v62)];
- v70 = cx_0->k_sch[24] ^ it_tab[3][v67 >> 24] ^ it_tab[2][BYTE2(v68)] ^ it_tab[0][(unsigned __int8)v64] ^ it_tab[1][BYTE1(v69)];
- v71 = cx_0->k_sch[25] ^ it_tab[3][v68 >> 24] ^ it_tab[2][BYTE2(v69)] ^ it_tab[0][(unsigned __int8)v65] ^ it_tab[1][BYTE1(v64)];
- v72 = cx_0->k_sch[26] ^ it_tab[3][v69 >> 24] ^ it_tab[2][BYTE2(v64)] ^ it_tab[0][(unsigned __int8)v66] ^ it_tab[1][BYTE1(v65)];
- v73 = cx_0->k_sch[27] ^ it_tab[3][v64 >> 24] ^ it_tab[2][BYTE2(v65)] ^ it_tab[0][(unsigned __int8)v67] ^ it_tab[1][BYTE1(v66)];
- v74 = cx_0->k_sch[28] ^ it_tab[3][v65 >> 24] ^ it_tab[2][BYTE2(v66)] ^ it_tab[0][(unsigned __int8)v68] ^ it_tab[1][BYTE1(v67)];
- v75 = cx_0->k_sch[29] ^ it_tab[3][v66 >> 24] ^ it_tab[2][BYTE2(v67)] ^ it_tab[0][(unsigned __int8)v69] ^ it_tab[1][BYTE1(v68)];
- v76 = cx_0->k_sch[18] ^ it_tab[3][v73 >> 24] ^ it_tab[2][BYTE2(v74)] ^ it_tab[0][(unsigned __int8)v70] ^ it_tab[1][BYTE1(v75)];
- v77 = cx_0->k_sch[19] ^ it_tab[3][v74 >> 24] ^ it_tab[2][BYTE2(v75)] ^ it_tab[0][(unsigned __int8)v71] ^ it_tab[1][BYTE1(v70)];
- v70 >>= 16;
- v78 = cx_0->k_sch[20] ^ it_tab[3][v75 >> 24] ^ it_tab[2][(unsigned __int8)v70] ^ it_tab[0][(unsigned __int8)v72] ^ it_tab[1][BYTE1(v71)];
- v71 >>= 16;
- v79 = cx_0->k_sch[21] ^ it_tab[3][v70 >> 8] ^ it_tab[2][(unsigned __int8)v71] ^ it_tab[0][(unsigned __int8)v73] ^ it_tab[1][BYTE1(v72)];
- v72 >>= 16;
- v80 = cx_0->k_sch[22] ^ it_tab[3][v71 >> 8] ^ it_tab[2][(unsigned __int8)v72] ^ it_tab[0][(unsigned __int8)v74] ^ it_tab[1][BYTE1(v73)];
- v81 = cx_0->k_sch[23] ^ it_tab[3][v72 >> 8] ^ it_tab[2][BYTE2(v73)] ^ it_tab[0][(unsigned __int8)v75] ^ it_tab[1][BYTE1(v74)];
- v82 = cx_0->k_sch[12] ^ it_tab[3][v79 >> 24] ^ it_tab[2][BYTE2(v80)] ^ it_tab[0][(unsigned __int8)v76] ^ it_tab[1][BYTE1(v81)];
- v83 = cx_0->k_sch[13] ^ it_tab[3][v80 >> 24] ^ it_tab[2][BYTE2(v81)] ^ it_tab[0][(unsigned __int8)v77] ^ it_tab[1][BYTE1(v76)];
- v84 = cx_0->k_sch[14] ^ it_tab[3][v81 >> 24] ^ it_tab[2][BYTE2(v76)] ^ it_tab[0][(unsigned __int8)v78] ^ it_tab[1][BYTE1(v77)];
- v85 = cx_0->k_sch[15] ^ it_tab[3][v76 >> 24] ^ it_tab[2][BYTE2(v77)] ^ it_tab[0][(unsigned __int8)v79] ^ it_tab[1][BYTE1(v78)];
- v86 = cx_0->k_sch[16] ^ it_tab[3][v77 >> 24] ^ it_tab[2][BYTE2(v78)] ^ it_tab[0][(unsigned __int8)v80] ^ it_tab[1][BYTE1(v79)];
- v87 = cx_0->k_sch[17] ^ it_tab[3][v78 >> 24] ^ it_tab[2][BYTE2(v79)] ^ it_tab[0][(unsigned __int8)v81] ^ it_tab[1][BYTE1(v80)];
- v88 = cx_0->k_sch[6] ^ it_tab[3][v85 >> 24] ^ it_tab[2][BYTE2(v86)] ^ it_tab[0][(unsigned __int8)v82] ^ it_tab[1][BYTE1(v87)];
- v89 = cx_0->k_sch[7] ^ it_tab[3][v86 >> 24] ^ it_tab[2][BYTE2(v87)] ^ it_tab[0][(unsigned __int8)v83] ^ it_tab[1][BYTE1(v82)];
- v82 >>= 16;
- v90 = cx_0->k_sch[8] ^ it_tab[3][v87 >> 24] ^ it_tab[2][(unsigned __int8)v82] ^ it_tab[0][(unsigned __int8)v84] ^ it_tab[1][BYTE1(v83)];
- v83 >>= 16;
- v91 = cx_0->k_sch[9] ^ it_tab[3][v82 >> 8] ^ it_tab[2][(unsigned __int8)v83] ^ it_tab[0][(unsigned __int8)v85] ^ it_tab[1][BYTE1(v84)];
- v84 >>= 16;
- v92 = cx_0->k_sch[10] ^ it_tab[3][v83 >> 8] ^ it_tab[2][(unsigned __int8)v84] ^ it_tab[0][(unsigned __int8)v86] ^ it_tab[1][BYTE1(v85)];
- v93 = cx_0->k_sch[11] ^ it_tab[3][v84 >> 8] ^ it_tab[2][BYTE2(v85)] ^ it_tab[0][(unsigned __int8)v87] ^ it_tab[1][BYTE1(v86)];
- v5 = cx_0->k_sch[0] ^ il_tab[3][v91 >> 24] ^ il_tab[2][BYTE2(v92)] ^ il_tab[0][(unsigned __int8)v88] ^ il_tab[1][BYTE1(v93)];
- v6 = cx_0->k_sch[1] ^ il_tab[3][v92 >> 24] ^ il_tab[2][BYTE2(v93)] ^ il_tab[0][(unsigned __int8)v89] ^ il_tab[1][BYTE1(v88)];
- v7 = cx_0->k_sch[2] ^ il_tab[3][v93 >> 24] ^ il_tab[2][BYTE2(v88)] ^ il_tab[0][(unsigned __int8)v90] ^ il_tab[1][BYTE1(v89)];
- v107 = cx_0->k_sch[3] ^ il_tab[3][v88 >> 24] ^ il_tab[2][BYTE2(v89)] ^ il_tab[0][(unsigned __int8)v91] ^ il_tab[1][BYTE1(v90)];
- v104 = cx_0->k_sch[4] ^ il_tab[3][v89 >> 24] ^ il_tab[2][BYTE2(v90)] ^ il_tab[0][(unsigned __int8)v92] ^ il_tab[1][BYTE1(v91)];
- v8 = cx_0->k_sch[5] ^ il_tab[3][v90 >> 24] ^ il_tab[2][BYTE2(v91)] ^ il_tab[0][(unsigned __int8)v93] ^ il_tab[1][BYTE1(v92)];
- break;
- default:
- v104 = b0_16;
- v5 = b0;
- v6 = b0_4;
- v7 = b0_8;
- v107 = b0_12;
- v8 = b0_20;
- break;
- }
- v9 = v5;
- v10 = v5 >> 8;
- *out_blk = v9;
- out_blk[1] = v10;
- *((_WORD *)out_blk + 1) = v10 >> 8;
- v11 = v6;
- v12 = v6 >> 8;
- out_blk[4] = v11;
- out_blk[8] = v7;
- v13 = v12;
- v14 = v7 >> 8;
- v12 >>= 8;
- out_blk[5] = v13;
- out_blk[9] = v14;
- v14 >>= 8;
- out_blk[6] = v12;
- out_blk[10] = v14;
- out_blk[7] = BYTE1(v12);
- out_blk[11] = BYTE1(v14);
- out_blk[12] = v107;
- v15 = v107 >> 8;
- out_blk[13] = v15;
- *((_WORD *)out_blk + 7) = v15 >> 8;
- out_blk[16] = v104;
- v16 = v104 >> 8;
- out_blk[17] = v16;
- v16 >>= 8;
- out_blk[18] = v16;
- out_blk[20] = v8;
- v17 = v8 >> 8;
- out_blk[21] = v17;
- v17 >>= 8;
- out_blk[22] = v17;
- out_blk[19] = BYTE1(v16);
- out_blk[23] = BYTE1(v17);
- return 1;
- }
- //----- (080B8330) --------------------------------------------------------
- aes_fret __cdecl aes_enc_key(const unsigned __int8 *in_key, unsigned int klen, aes_ctx *cx_0)
- {
- unsigned int v3; // eax
- aes_ctx *v4; // esi
- unsigned int v5; // ebx
- unsigned int v6; // eax
- uint32_t v7; // eax
- bool j; // cf
- aes_fret result; // ax
- unsigned int v10; // edi
- bool v11; // cf
- aes_ctx *v12; // ecx
- aes_ctx *v13; // ecx
- aes_ctx *v14; // ecx
- unsigned int v15; // [esp+4h] [ebp-2Ch]
- unsigned int v; // [esp+8h] [ebp-28h]
- int va; // [esp+8h] [ebp-28h]
- int u; // [esp+Ch] [ebp-24h]
- int ua; // [esp+Ch] [ebp-24h]
- unsigned int ub; // [esp+Ch] [ebp-24h]
- int t; // [esp+10h] [ebp-20h]
- int ta; // [esp+10h] [ebp-20h]
- unsigned int tb; // [esp+10h] [ebp-20h]
- int tc; // [esp+10h] [ebp-20h]
- int r; // [esp+14h] [ebp-1Ch]
- int q; // [esp+18h] [ebp-18h]
- int p; // [esp+1Ch] [ebp-14h]
- uint32_t i; // [esp+20h] [ebp-10h]
- uint32_t ia; // [esp+20h] [ebp-10h]
- uint32_t ib; // [esp+20h] [ebp-10h]
- uint32_t ic; // [esp+20h] [ebp-10h]
- uint32_t id; // [esp+20h] [ebp-10h]
- v3 = klen >> 2;
- v4 = cx_0;
- cx_0->n_blk = 25;
- if ( klen >> 2 < 6 )
- v3 = 6;
- cx_0->n_rnd = v3 + 6;
- p = *in_key | (in_key[1] << 8) | (in_key[2] << 16) | (in_key[3] << 24);
- cx_0->k_sch[0] = p;
- q = in_key[4] | (in_key[5] << 8) | (in_key[6] << 16) | (in_key[7] << 24);
- cx_0->k_sch[1] = q;
- r = in_key[8] | (in_key[9] << 8) | (in_key[10] << 16) | (in_key[11] << 24);
- cx_0->k_sch[2] = r;
- v5 = in_key[12] | (in_key[13] << 8) | (in_key[14] << 16) | (in_key[15] << 24);
- v6 = klen >> 2;
- cx_0->k_sch[3] = v5;
- if ( klen >> 2 < 6 )
- v6 = 6;
- v7 = v6 + 6;
- cx_0->n_rnd = v7;
- v15 = (6 * v7 + 5) / (klen >> 2);
- switch ( klen >> 2 )
- {
- case 4u:
- ib = 0;
- if ( v15 > 0 )
- {
- v12 = cx_0;
- do
- {
- p ^= rcon_tab[ib] ^ fl_tab[3][(unsigned __int8)v5] ^ fl_tab[2][v5 >> 24] ^ fl_tab[0][BYTE1(v5)] ^ fl_tab[1][BYTE2(v5)];
- q ^= p;
- r ^= q;
- v5 ^= r;
- v12->k_sch[4] = p;
- v12->k_sch[5] = q;
- ++ib;
- v12->k_sch[6] = r;
- v12->k_sch[7] = v5;
- v12 = (aes_ctx *)((char *)v12 + 16);
- }
- while ( ib < v15 );
- }
- goto LABEL_9;
- case 5u:
- tb = in_key[16] | (in_key[17] << 8) | (in_key[18] << 16) | (in_key[19] << 24);
- ic = 0;
- cx_0->k_sch[4] = tb;
- if ( v15 > 0 )
- {
- v13 = cx_0;
- do
- {
- p ^= rcon_tab[ic] ^ fl_tab[3][(unsigned __int8)tb] ^ fl_tab[2][tb >> 24] ^ fl_tab[0][BYTE1(tb)] ^ fl_tab[1][BYTE2(tb)];
- q ^= p;
- r ^= q;
- v5 ^= r;
- tb ^= v5;
- v13->k_sch[5] = p;
- v13->k_sch[6] = q;
- v13->k_sch[7] = r;
- ++ic;
- v13->k_sch[8] = v5;
- v13->k_sch[9] = tb;
- v13 = (aes_ctx *)((char *)v13 + 20);
- }
- while ( ic < v15 );
- }
- goto LABEL_9;
- case 6u:
- tc = in_key[16] | (in_key[17] << 8) | (in_key[18] << 16) | (in_key[19] << 24);
- cx_0->k_sch[4] = tc;
- ub = in_key[20] | (in_key[21] << 8) | (in_key[22] << 16) | (in_key[23] << 24);
- id = 0;
- cx_0->k_sch[5] = ub;
- if ( v15 > 0 )
- {
- v14 = cx_0;
- do
- {
- p ^= rcon_tab[id] ^ fl_tab[3][(unsigned __int8)ub] ^ fl_tab[2][ub >> 24] ^ fl_tab[0][BYTE1(ub)] ^ fl_tab[1][BYTE2(ub)];
- q ^= p;
- r ^= q;
- v5 ^= r;
- tc ^= v5;
- ub ^= tc;
- v14->k_sch[6] = p;
- v14->k_sch[7] = q;
- v14->k_sch[8] = r;
- v14->k_sch[10] = tc;
- v14->k_sch[9] = v5;
- v14->k_sch[11] = ub;
- ++id;
- v14 = (aes_ctx *)((char *)v14 + 24);
- }
- while ( id < v15 );
- }
- goto LABEL_9;
- case 7u:
- t = in_key[16] | (in_key[17] << 8) | (in_key[18] << 16) | (in_key[19] << 24);
- cx_0->k_sch[4] = t;
- u = in_key[20] | (in_key[21] << 8) | (in_key[22] << 16) | (in_key[23] << 24);
- cx_0->k_sch[5] = u;
- v = in_key[24] | (in_key[25] << 8) | (in_key[26] << 16) | (in_key[27] << 24);
- cx_0->k_sch[6] = v;
- i = 0;
- for ( j = v15 > 0; j; j = i < v15 )
- {
- p ^= rcon_tab[i] ^ fl_tab[3][(unsigned __int8)v] ^ fl_tab[2][v >> 24] ^ fl_tab[0][BYTE1(v)] ^ fl_tab[1][BYTE2(v)];
- q ^= p;
- r ^= q;
- v5 ^= r;
- t ^= fl_tab[3][v5 >> 24] ^ fl_tab[2][BYTE2(v5)] ^ fl_tab[0][(unsigned __int8)v5] ^ fl_tab[1][BYTE1(v5)];
- u ^= t;
- v ^= u;
- v4->k_sch[7] = p;
- v4->k_sch[8] = q;
- v4->k_sch[9] = r;
- v4->k_sch[11] = t;
- ++i;
- v4->k_sch[10] = v5;
- v4->k_sch[12] = u;
- v4->k_sch[13] = v;
- v4 = (aes_ctx *)((char *)v4 + 28);
- }
- goto LABEL_9;
- case 8u:
- ta = in_key[16] | (in_key[17] << 8) | (in_key[18] << 16) | (in_key[19] << 24);
- cx_0->k_sch[4] = ta;
- ua = in_key[20] | (in_key[21] << 8) | (in_key[22] << 16) | (in_key[23] << 24);
- cx_0->k_sch[5] = ua;
- va = in_key[24] | (in_key[25] << 8) | (in_key[26] << 16) | (in_key[27] << 24);
- cx_0->k_sch[6] = va;
- ia = 0;
- v10 = in_key[28] | (in_key[29] << 8) | (in_key[30] << 16) | (in_key[31] << 24);
- v11 = v15 > 0;
- cx_0->k_sch[7] = v10;
- while ( v11 )
- {
- p ^= rcon_tab[ia] ^ fl_tab[3][(unsigned __int8)v10] ^ fl_tab[2][v10 >> 24] ^ fl_tab[0][BYTE1(v10)] ^ fl_tab[1][BYTE2(v10)];
- q ^= p;
- r ^= q;
- v5 ^= r;
- ta ^= fl_tab[3][v5 >> 24] ^ fl_tab[2][BYTE2(v5)] ^ fl_tab[0][(unsigned __int8)v5] ^ fl_tab[1][BYTE1(v5)];
- ua ^= ta;
- va ^= ua;
- v10 ^= va;
- v4->k_sch[8] = p;
- v4->k_sch[9] = q;
- v4->k_sch[10] = r;
- v4->k_sch[12] = ta;
- ++ia;
- v4->k_sch[11] = v5;
- v4->k_sch[13] = ua;
- v4->k_sch[14] = va;
- v4->k_sch[15] = v10;
- v4 = (aes_ctx *)((char *)v4 + 32);
- v11 = ia < v15;
- }
- result = 1;
- break;
- default:
- LABEL_9:
- result = 1;
- break;
- }
- return result;
- }
- //----- (080B8980) --------------------------------------------------------
- aes_fret __cdecl aes_dec_key(const unsigned __int8 *in_key, unsigned int klen, aes_ctx *cx_0)
- {
- unsigned int v3; // eax
- unsigned int v4; // edi
- unsigned int v5; // eax
- uint32_t v6; // eax
- int v7; // edx
- int v8; // ebx
- unsigned int v9; // ebx
- aes_ctx *v10; // esi
- unsigned int i; // ebx
- uint32_t v12; // edx
- int v14; // ebx
- int v15; // ebx
- unsigned int v16; // ebx
- aes_ctx *v17; // esi
- unsigned int v18; // ebx
- aes_ctx *v19; // ecx
- int v20; // edx
- unsigned int v21; // ebx
- aes_ctx *v22; // ecx
- int v23; // edx
- unsigned int v24; // ebx
- aes_ctx *v25; // ecx
- unsigned int v26; // [esp+4h] [ebp-30h]
- uint32_t w; // [esp+Ch] [ebp-28h]
- uint32_t v; // [esp+10h] [ebp-24h]
- int va; // [esp+10h] [ebp-24h]
- int u; // [esp+14h] [ebp-20h]
- int ua; // [esp+14h] [ebp-20h]
- unsigned int ub; // [esp+14h] [ebp-20h]
- uint32_t t; // [esp+18h] [ebp-1Ch]
- uint32_t ta; // [esp+18h] [ebp-1Ch]
- uint32_t tb; // [esp+18h] [ebp-1Ch]
- uint32_t tc; // [esp+18h] [ebp-1Ch]
- int r; // [esp+1Ch] [ebp-18h]
- int q; // [esp+20h] [ebp-14h]
- int p; // [esp+24h] [ebp-10h]
- cx_0->n_blk = 26;
- v3 = klen >> 2;
- if ( klen >> 2 < 6 )
- v3 = 6;
- cx_0->n_rnd = v3 + 6;
- p = *in_key | (in_key[1] << 8) | (in_key[2] << 16) | (in_key[3] << 24);
- cx_0->k_sch[0] = p;
- q = in_key[4] | (in_key[5] << 8) | (in_key[6] << 16) | (in_key[7] << 24);
- cx_0->k_sch[1] = q;
- r = in_key[8] | (in_key[9] << 8) | (in_key[10] << 16) | (in_key[11] << 24);
- cx_0->k_sch[2] = r;
- v4 = in_key[12] | (in_key[13] << 8) | (in_key[14] << 16) | (in_key[15] << 24);
- v5 = klen >> 2;
- cx_0->k_sch[3] = v4;
- if ( klen >> 2 < 6 )
- v5 = 6;
- v6 = v5 + 6;
- cx_0->n_rnd = v6;
- v26 = (6 * v6 + 5) / (klen >> 2);
- switch ( klen >> 2 )
- {
- case 4u:
- v18 = 0;
- if ( v26 > 0 )
- {
- v19 = cx_0;
- do
- {
- p ^= rcon_tab[v18] ^ fl_tab[3][(unsigned __int8)v4] ^ fl_tab[2][v4 >> 24] ^ fl_tab[0][BYTE1(v4)] ^ fl_tab[1][BYTE2(v4)];
- q ^= p;
- r ^= q;
- v4 ^= r;
- v19->k_sch[4] = p;
- ++v18;
- v19->k_sch[5] = q;
- v19->k_sch[6] = r;
- v19->k_sch[7] = v4;
- v19 = (aes_ctx *)((char *)v19 + 16);
- }
- while ( v18 < v26 );
- }
- break;
- case 5u:
- v20 = in_key[16] | (in_key[17] << 8) | (in_key[18] << 16) | (in_key[19] << 24);
- cx_0->k_sch[4] = v20;
- v21 = 0;
- tb = v20;
- if ( v26 > 0 )
- {
- v22 = cx_0;
- do
- {
- p ^= rcon_tab[v21] ^ fl_tab[3][(unsigned __int8)tb] ^ fl_tab[2][tb >> 24] ^ fl_tab[0][BYTE1(tb)] ^ fl_tab[1][BYTE2(tb)];
- q ^= p;
- r ^= q;
- v4 ^= r;
- tb ^= v4;
- v22->k_sch[5] = p;
- v22->k_sch[6] = q;
- ++v21;
- v22->k_sch[7] = r;
- v22->k_sch[8] = v4;
- v22->k_sch[9] = tb;
- v22 = (aes_ctx *)((char *)v22 + 20);
- }
- while ( v21 < v26 );
- }
- break;
- case 6u:
- v23 = in_key[16] | (in_key[17] << 8) | (in_key[18] << 16) | (in_key[19] << 24);
- cx_0->k_sch[4] = v23;
- tc = v23;
- ub = in_key[20] | (in_key[21] << 8) | (in_key[22] << 16) | (in_key[23] << 24);
- cx_0->k_sch[5] = ub;
- v24 = 0;
- if ( v26 > 0 )
- {
- v25 = cx_0;
- do
- {
- p ^= rcon_tab[v24] ^ fl_tab[3][(unsigned __int8)ub] ^ fl_tab[2][ub >> 24] ^ fl_tab[0][BYTE1(ub)] ^ fl_tab[1][BYTE2(ub)];
- q ^= p;
- r ^= q;
- v4 ^= r;
- tc ^= v4;
- ub ^= tc;
- v25->k_sch[6] = p;
- v25->k_sch[7] = q;
- v25->k_sch[8] = r;
- ++v24;
- v25->k_sch[9] = v4;
- v25->k_sch[10] = tc;
- v25->k_sch[11] = ub;
- v25 = (aes_ctx *)((char *)v25 + 24);
- }
- while ( v24 < v26 );
- }
- break;
- case 7u:
- v7 = in_key[16] | (in_key[17] << 8) | (in_key[18] << 16) | (in_key[19] << 24);
- cx_0->k_sch[4] = v7;
- t = v7;
- u = in_key[20] | (in_key[21] << 8) | (in_key[22] << 16) | (in_key[23] << 24);
- cx_0->k_sch[5] = u;
- v8 = in_key[24] | (in_key[25] << 8) | (in_key[26] << 16) | (in_key[27] << 24);
- v = v8;
- cx_0->k_sch[6] = v8;
- v9 = 0;
- if ( v26 > 0 )
- {
- v10 = cx_0;
- do
- {
- p ^= rcon_tab[v9] ^ fl_tab[3][(unsigned __int8)v] ^ fl_tab[2][v >> 24] ^ fl_tab[0][BYTE1(v)] ^ fl_tab[1][BYTE2(v)];
- q ^= p;
- r ^= q;
- v4 ^= r;
- t ^= fl_tab[3][v4 >> 24] ^ fl_tab[2][BYTE2(v4)] ^ fl_tab[0][(unsigned __int8)v4] ^ fl_tab[1][BYTE1(v4)];
- u ^= t;
- v ^= u;
- v10->k_sch[7] = p;
- v10->k_sch[8] = q;
- v10->k_sch[9] = r;
- v10->k_sch[11] = t;
- ++v9;
- v10->k_sch[10] = v4;
- v10->k_sch[12] = u;
- v10->k_sch[13] = v;
- v10 = (aes_ctx *)((char *)v10 + 28);
- }
- while ( v9 < v26 );
- }
- break;
- case 8u:
- v14 = in_key[16] | (in_key[17] << 8) | (in_key[18] << 16) | (in_key[19] << 24);
- cx_0->k_sch[4] = v14;
- ta = v14;
- ua = in_key[20] | (in_key[21] << 8) | (in_key[22] << 16) | (in_key[23] << 24);
- cx_0->k_sch[5] = ua;
- va = in_key[24] | (in_key[25] << 8) | (in_key[26] << 16) | (in_key[27] << 24);
- cx_0->k_sch[6] = va;
- v15 = in_key[28] | (in_key[29] << 8) | (in_key[30] << 16) | (in_key[31] << 24);
- w = v15;
- cx_0->k_sch[7] = v15;
- v16 = 0;
- if ( v26 > 0 )
- {
- v17 = cx_0;
- do
- {
- p ^= rcon_tab[v16] ^ fl_tab[3][(unsigned __int8)w] ^ fl_tab[2][w >> 24] ^ fl_tab[0][BYTE1(w)] ^ fl_tab[1][BYTE2(w)];
- q ^= p;
- r ^= q;
- v4 ^= r;
- ta ^= fl_tab[3][v4 >> 24] ^ fl_tab[2][BYTE2(v4)] ^ fl_tab[0][(unsigned __int8)v4] ^ fl_tab[1][BYTE1(v4)];
- ua ^= ta;
- va ^= ua;
- w ^= va;
- v17->k_sch[8] = p;
- v17->k_sch[9] = q;
- v17->k_sch[10] = r;
- v17->k_sch[12] = ta;
- v17->k_sch[13] = ua;
- ++v16;
- v17->k_sch[11] = v4;
- v17->k_sch[14] = va;
- v17->k_sch[15] = w;
- v17 = (aes_ctx *)((char *)v17 + 32);
- }
- while ( v16 < v26 );
- }
- break;
- default:
- break;
- }
- for ( i = 6; 6 * v6 > i; ++i )
- {
- v12 = cx_0->k_sch[i];
- cx_0->k_sch[i] = im_tab[3][cx_0->k_sch[i] >> 24] ^ im_tab[2][(unsigned __int8)(cx_0->k_sch[i] >> 16)] ^ im_tab[0][(unsigned __int8)cx_0->k_sch[i]] ^ im_tab[1][BYTE1(v12)];
- }
- return 1;
- }
- //----- (080B9014) --------------------------------------------------------
- void __cdecl CAPTCHA::FontFile::FontFile(CAPTCHA::FontFile *const this)
- {
- this->m_pGlyphBuf = 0;
- this->m_pGlyphBufLength = 0;
- memset(this, 0, 0x20u);
- memset(this->m_allCode, 0, 0x80000u);
- }
- //----- (080B905C) --------------------------------------------------------
- void __cdecl CAPTCHA::FontFile::FontFile(CAPTCHA::FontFile *const this)
- {
- this->m_pGlyphBuf = 0;
- this->m_pGlyphBufLength = 0;
- memset(this, 0, 0x20u);
- memset(this->m_allCode, 0, 0x80000u);
- }
- //----- (080B90A4) --------------------------------------------------------
- void __cdecl CAPTCHA::FontFile::release(CAPTCHA::FontFile *const this)
- {
- if ( this->m_pGlyphBuf )
- {
- operator delete[](this->m_pGlyphBuf);
- this->m_pGlyphBuf = 0;
- }
- this->m_pGlyphBufLength = 0;
- memset(this, 0, 0x20u);
- memset(this->m_allCode, 0, 0x80000u);
- }
- //----- (080B90FC) --------------------------------------------------------
- void __cdecl CAPTCHA::FontFile::~FontFile(CAPTCHA::FontFile *const this)
- {
- CAPTCHA::FontFile::release(this);
- }
- //----- (080B9108) --------------------------------------------------------
- void __cdecl CAPTCHA::FontFile::~FontFile(CAPTCHA::FontFile *const this)
- {
- CAPTCHA::FontFile::release(this);
- }
- //----- (080B9114) --------------------------------------------------------
- void __cdecl CAPTCHA::FontFile::createEmptyFile(CAPTCHA::FontFile *const this)
- {
- signed int v1; // eax
- CAPTCHA::FontFile::release(this);
- this->m_fileHead.dwMagicCode = 1179664707;
- this->m_fileHead.nGlyphSize = 32;
- this->m_fileHead.nPixelBits = 1;
- this->m_fileHead.nGlyphBytes = 128;
- v1 = 0;
- do
- {
- this->m_allCode[v1].wCode = v1;
- ++v1;
- }
- while ( v1 <= 0xFFFF );
- }
- //----- (080B9158) --------------------------------------------------------
- unsigned __int16 __cdecl CAPTCHA::FontFile::getCodeFromIndex(const CAPTCHA::FontFile *const this, int index)
- {
- int v2; // ebx
- const CAPTCHA::FontFile *v3; // eax
- signed int v4; // ecx
- unsigned __int16 *v5; // edx
- v2 = index;
- v3 = this;
- if ( index < 0 || this->m_fileHead.nCodeCounts <= index )
- return 0;
- v4 = 0;
- v5 = &this->m_allCode[0].nGlyphCounts;
- while ( !*v5 )
- {
- LABEL_4:
- ++v4;
- v3 = (const CAPTCHA::FontFile *)((char *)v3 + 8);
- v5 += 4;
- if ( v4 > 0xFFFF )
- return 0;
- }
- if ( v2 > 0 )
- {
- --v2;
- goto LABEL_4;
- }
- return v3->m_allCode[0].wCode;
- }
- //----- (080B919C) --------------------------------------------------------
- void __cdecl CAPTCHA::FontFile::_increseGlyphBuf(CAPTCHA::FontFile *const this)
- {
- int v1; // edx
- int v2; // edi
- void *v3; // esi
- int v4; // eax
- v1 = this->m_pGlyphBufLength;
- if ( v1 < this->m_fileHead.nGlyphBytes * (this->m_fileHead.nGlyphCounts + 1) )
- {
- v2 = 2 * v1;
- if ( !(2 * v1) )
- v2 = 1024;
- v3 = (void *)operator new[](v2);
- memset(v3, 0, v2);
- v4 = this->m_pGlyphBufLength;
- if ( v4 > 0 )
- memcpy(v3, this->m_pGlyphBuf, v4);
- if ( this->m_pGlyphBuf )
- operator delete[](this->m_pGlyphBuf);
- this->m_pGlyphBuf = (unsigned __int8 *)v3;
- this->m_pGlyphBufLength = v2;
- }
- }
- //----- (080B922C) --------------------------------------------------------
- void __cdecl CAPTCHA::FontFile::insertGlyph_rgb(CAPTCHA::FontFile *const this, unsigned __int16 code, const unsigned __int8 *pBitbuf, unsigned int lPitch)
- {
- ;
- }
- //----- (080B9234) --------------------------------------------------------
- bool __cdecl CAPTCHA::FontFile::saveToFile(CAPTCHA::FontFile *const this, const char *szFileName)
- {
- FILE *v2; // edi
- bool result; // al
- int v4; // eax
- CAPTCHA::FontFile::FONT_FILE_CODE *v5; // ebx
- signed int v6; // esi
- v2 = fopen(szFileName, "wb");
- result = 0;
- if ( v2 )
- {
- v4 = 8 * this->m_fileHead.nCodeCounts + 32;
- this->m_fileHead.nCodeOffset = 32;
- this->m_fileHead.nGlyphOffset = v4;
- fwrite(this, 0x20u, 1u, v2);
- v5 = this->m_allCode;
- v6 = 0xFFFF;
- do
- {
- while ( !v5->nGlyphCounts )
- {
- ++v5;
- if ( --v6 < 0 )
- goto LABEL_6;
- }
- fwrite(v5, 8u, 1u, v2);
- ++v5;
- --v6;
- }
- while ( v6 >= 0 );
- LABEL_6:
- fwrite(this->m_pGlyphBuf, 1u, this->m_fileHead.nGlyphCounts * this->m_fileHead.nGlyphBytes, v2);
- fclose(v2);
- result = 1;
- }
- return result;
- }
- //----- (080B92E0) --------------------------------------------------------
- bool __cdecl CAPTCHA::FontFile::openFromFile(CAPTCHA::FontFile *const this, const char *szFileName)
- {
- signed int v2; // eax
- FILE *v3; // edi
- bool result; // al
- unsigned __int16 *v5; // esi
- int i; // ecx
- int v7; // eax
- int v8; // eax
- CAPTCHA::FontFile::release(this);
- v2 = 0;
- do
- {
- this->m_allCode[v2].wCode = v2;
- ++v2;
- }
- while ( v2 <= 0xFFFF );
- v3 = fopen(szFileName, "rb");
- result = 0;
- if ( v3 )
- {
- fread(this, 0x20u, 1u, v3);
- if ( this->m_fileHead.dwMagicCode == 1179664707 )
- {
- v5 = (unsigned __int16 *)operator new[](8 * this->m_fileHead.nCodeCounts);
- fseek(v3, this->m_fileHead.nCodeOffset, 0);
- fread(v5, 8u, this->m_fileHead.nCodeCounts, v3);
- for ( i = 0; this->m_fileHead.nCodeCounts > i; ++i )
- {
- v7 = v5[4 * i];
- *(_DWORD *)&this->m_allCode[v7].wCode = *(_DWORD *)&v5[4 * i];
- this->m_allCode[v7].nGlyphIndex = *(_DWORD *)&v5[4 * i + 2];
- }
- if ( v5 )
- operator delete[](v5);
- v8 = this->m_fileHead.nGlyphCounts * this->m_fileHead.nGlyphBytes;
- this->m_pGlyphBufLength = v8;
- this->m_pGlyphBuf = (unsigned __int8 *)operator new[](v8);
- fseek(v3, this->m_fileHead.nGlyphOffset, 0);
- fread(this->m_pGlyphBuf, 1u, this->m_pGlyphBufLength, v3);
- fclose(v3);
- result = 1;
- }
- else
- {
- fclose(v3);
- result = 0;
- }
- }
- return result;
- }
- //----- (080B9400) --------------------------------------------------------
- unsigned __int8 *__cdecl CAPTCHA::FontFile::getCodeGlyph(const CAPTCHA::FontFile *const this, unsigned __int16 code)
- {
- unsigned __int16 v2; // dx
- unsigned __int8 *result; // eax
- int v4; // esi
- v2 = this->m_allCode[code].nGlyphCounts;
- result = 0;
- if ( v2 )
- {
- v4 = this->m_allCode[code].nGlyphIndex;
- if ( v2 > 1u )
- v4 += rand() % this->m_allCode[code].nGlyphCounts;
- result = &this->m_pGlyphBuf[v4 * this->m_fileHead.nGlyphBytes];
- }
- return result;
- }
- //----- (080B9450) --------------------------------------------------------
- void __cdecl CAPTCHA::Generator::Generator(_DWORD *a2)
- {
- *a2 = 0;
- }
- //----- (080B9460) --------------------------------------------------------
- void __cdecl CAPTCHA::Generator::Generator(_DWORD *a2)
- {
- *a2 = 0;
- }
- //----- (080B9470) --------------------------------------------------------
- void __cdecl CAPTCHA::Generator::~Generator(CAPTCHA::Generator *const this)
- {
- ;
- }
- //----- (080B9478) --------------------------------------------------------
- void __cdecl CAPTCHA::Generator::~Generator(CAPTCHA::Generator *const this)
- {
- ;
- }
- //----- (080B9480) --------------------------------------------------------
- signed int __cdecl CAPTCHA::Generator::setFontFile(const CAPTCHA::FontFile *pFontFile, const CAPTCHA::FontFile *pFontFilea)
- {
- signed int result; // eax
- result = 0;
- if ( pFontFilea )
- {
- if ( pFontFilea->m_fileHead.nCodeCounts )
- {
- pFontFile->m_fileHead.dwMagicCode = (unsigned int)pFontFilea;
- result = 1;
- }
- }
- return result;
- }
- //----- (080B94A0) --------------------------------------------------------
- void __cdecl CAPTCHA::Generator::_adjustBlankInAnswer(CAPTCHA::Generator *const this, unsigned __int16 *answer)
- {
- signed int v2; // eax
- signed int i; // edx
- v2 = 0;
- while ( answer[v2] != 32 )
- {
- if ( ++v2 > 2 )
- return;
- }
- for ( i = v2; i <= 3; ++i )
- answer[i] = answer[i + 1];
- answer[3] = 32;
- }
- //----- (080B94D4) --------------------------------------------------------
- void __cdecl CAPTCHA::Generator::_setPixel(CAPTCHA::Generator *const this, int x, int y, bool is_dot, CAPTCHA::CAPTCHA_DATA *const captchaData)
- {
- char *v5; // esi
- unsigned int v6; // ecx
- if ( (unsigned int)x <= 0x7F && y >= 0 && y <= 35 )
- {
- v5 = (char *)captchaData + 16 * y + 4 * (x >> 5);
- v6 = ((unsigned int)(1 << (31 - x % 32)) >> 24) | (((1 << (31 - x % 32)) & 0xFF0000u) >> 8) | (((1 << (31 - x % 32)) & 0xFF00) << 8) | (1 << (31 - x % 32) << 24);
- if ( is_dot )
- *((_DWORD *)v5 + 8) |= v6;
- else
- *((_DWORD *)v5 + 8) &= ~v6;
- }
- }
- //----- (080B955C) --------------------------------------------------------
- void __cdecl CAPTCHA::Generator::_generatorAnswer(CAPTCHA::Generator *const this, CAPTCHA::CAPTCHA_DATA *const captchaData, bool withBlank)
- {
- int v3; // esi
- signed int v4; // edi
- signed int v5; // ebx
- int v6; // edx
- int v7; // eax
- char v8; // cl
- signed int v9; // ebx
- char *v10; // esi
- int answerIndex[16]; // [esp+10h] [ebp-58h]
- char v12; // [esp+50h] [ebp-18h]
- v3 = this->m_pFontFile->m_fileHead.nCodeCounts;
- memset(answerIndex, 0, sizeof(answerIndex));
- v4 = 0;
- do
- {
- v5 = 0;
- do
- {
- v6 = rand() % v3;
- v7 = 0;
- v8 = 0;
- if ( v4 > 0 )
- {
- while ( answerIndex[v7] != v6 )
- {
- if ( ++v7 >= v4 )
- goto LABEL_6;
- }
- v8 = 1;
- }
- LABEL_6:
- ++v5;
- }
- while ( v8 && v5 <= 999 );
- answerIndex[v4++] = v6;
- }
- while ( v4 <= 15 );
- v9 = 0;
- v10 = &v12;
- do
- {
- captchaData->wAnswer0[v9] = CAPTCHA::FontFile::getCodeFromIndex(this->m_pFontFile, *((_DWORD *)v10 - 16));
- captchaData->wAnswer1[v9] = CAPTCHA::FontFile::getCodeFromIndex(this->m_pFontFile, *((_DWORD *)v10 - 15));
- captchaData->wAnswer2[v9] = CAPTCHA::FontFile::getCodeFromIndex(this->m_pFontFile, *((_DWORD *)v10 - 14));
- captchaData->wAnswer3[v9++] = CAPTCHA::FontFile::getCodeFromIndex(this->m_pFontFile, *((_DWORD *)v10 - 13));
- v10 += 16;
- }
- while ( v9 <= 3 );
- if ( withBlank )
- {
- captchaData->wAnswer0[rand() % 4] = 32;
- captchaData->wAnswer1[rand() % 4] = 32;
- captchaData->wAnswer2[rand() % 4] = 32;
- captchaData->wAnswer3[rand() % 4] = 32;
- }
- }
- //----- (080B96C8) --------------------------------------------------------
- bool __cdecl CAPTCHA::Generator::generatorImage(CAPTCHA::Generator *const this, CAPTCHA::CAPTCHA_DATA *const captchaData, bool addMask, bool addNoise, bool withBlank)
- {
- bool result; // al
- unsigned int v6; // ST10_4
- int v7; // eax
- unsigned __int16 v8; // ax
- int v9; // eax
- signed int v10; // edx
- int v11; // edi
- unsigned int v12; // esi
- signed int v13; // ebx
- int v14; // edi
- int v15; // ebx
- int v16; // esi
- int v17; // [esp+Ch] [ebp-28Ch]
- int v18; // [esp+10h] [ebp-288h]
- unsigned int v19; // [esp+14h] [ebp-284h]
- int i; // [esp+18h] [ebp-280h]
- unsigned __int8 *pTarget; // [esp+1Ch] [ebp-27Ch]
- unsigned __int8 *pCodeGlyph; // [esp+20h] [ebp-278h]
- int iCode; // [esp+24h] [ebp-274h]
- int offsetX; // [esp+28h] [ebp-270h]
- unsigned __int16 rightAnswer[4]; // [esp+38h] [ebp-260h]
- unsigned __int8 maskTempBuf[576]; // [esp+40h] [ebp-258h]
- result = 0;
- if ( !this->m_pFontFile )
- return result;
- memset(captchaData, 0, 0x264u);
- CAPTCHA::Generator::_generatorAnswer(this, captchaData, withBlank);
- v6 = CAPTCHA::Generator::generatorImage(CAPTCHA::CAPTCHA_DATA &,bool,bool,bool)::s_totalCounts++;
- srand(v6);
- v7 = rand() % 4;
- captchaData->nCorrectAnswer = v7;
- *(_DWORD *)rightAnswer = 0;
- *(_DWORD *)&rightAnswer[2] = 0;
- switch ( v7 )
- {
- case 0:
- *(_DWORD *)rightAnswer = *(_DWORD *)captchaData->wAnswer0;
- v9 = *(_DWORD *)&captchaData->wAnswer0[2];
- LABEL_17:
- *(_DWORD *)&rightAnswer[2] = v9;
- break;
- case 1:
- *(_DWORD *)rightAnswer = *(_DWORD *)captchaData->wAnswer1;
- v9 = *(_DWORD *)&captchaData->wAnswer1[2];
- goto LABEL_17;
- case 2:
- *(_DWORD *)rightAnswer = *(_DWORD *)captchaData->wAnswer2;
- v9 = *(_DWORD *)&captchaData->wAnswer2[2];
- goto LABEL_17;
- case 3:
- *(_DWORD *)rightAnswer = *(_DWORD *)captchaData->wAnswer3;
- v9 = *(_DWORD *)&captchaData->wAnswer3[2];
- goto LABEL_17;
- }
- offsetX = 0;
- iCode = 0;
- v17 = 0;
- do
- {
- v8 = rightAnswer[iCode];
- if ( v8 == 32 )
- goto LABEL_8;
- pCodeGlyph = CAPTCHA::FontFile::getCodeGlyph(this->m_pFontFile, v8);
- if ( pCodeGlyph )
- {
- pTarget = &captchaData->imageBuf[offsetX / 8];
- v11 = 0;
- v19 = rand() % 20 - 10;
- v18 = rand() % 20 + v17 - 10;
- do
- {
- if ( v19 > 0x1F )
- {
- memset(pTarget, 0, 4u);
- }
- else
- {
- v12 = (*(_DWORD *)&pCodeGlyph[4 * v19] >> 24) | ((*(_DWORD *)&pCodeGlyph[4 * v19] & 0xFF0000u) >> 8) | ((*(_DWORD *)&pCodeGlyph[4 * v19] & 0xFF00) << 8) | (*(_DWORD *)&pCodeGlyph[4 * v19] << 24);
- v13 = 0;
- do
- {
- if ( (1 << (31 - v13)) & v12 )
- CAPTCHA::Generator::_setPixel(this, v13 + v18, v11, 1, captchaData);
- ++v13;
- }
- while ( v13 <= 31 );
- }
- ++v11;
- ++v19;
- pTarget += 16;
- }
- while ( v11 <= 35 );
- LABEL_8:
- offsetX += 32;
- }
- ++iCode;
- v17 += 32;
- }
- while ( iCode <= 3 );
- if ( withBlank )
- {
- CAPTCHA::Generator::_adjustBlankInAnswer(this, captchaData->wAnswer0);
- CAPTCHA::Generator::_adjustBlankInAnswer(this, captchaData->wAnswer1);
- CAPTCHA::Generator::_adjustBlankInAnswer(this, captchaData->wAnswer2);
- CAPTCHA::Generator::_adjustBlankInAnswer(this, captchaData->wAnswer3);
- }
- if ( addNoise )
- {
- v14 = rand() % 100 + 60;
- for ( i = 0; i < v14; ++i )
- {
- v15 = rand() % 128;
- v16 = rand() % 36;
- CAPTCHA::Generator::_setPixel(this, v15, v16, 1, captchaData);
- if ( !(rand() & 3) )
- CAPTCHA::Generator::_setPixel(this, v15 + 1, v16, 1, captchaData);
- if ( !(rand() & 3) )
- CAPTCHA::Generator::_setPixel(this, v15, v16 + 1, 1, captchaData);
- if ( !(rand() & 3) )
- CAPTCHA::Generator::_setPixel(this, v15 + 1, v16 + 1, 1, captchaData);
- }
- }
- if ( !addMask )
- return 1;
- memset(maskTempBuf, 0, 0x240u);
- CAPTCHA::Mask::generateRandomMask(maskTempBuf);
- v10 = 0;
- do
- {
- captchaData->imageBuf[v10] ^= ~maskTempBuf[v10];
- ++v10;
- }
- while ( v10 <= 575 );
- return 1;
- }
- //----- (080B9B68) --------------------------------------------------------
- void __cdecl CAPTCHA::Mask::generateRandomMask(unsigned __int8 *pBitBuf)
- {
- signed int v1; // esi
- char v2; // dl
- bool v3; // bl
- char v4; // al
- char v5; // al
- char v6; // al
- unsigned __int8 *v7; // ebx
- int v8; // edx
- unsigned __int8 *v9; // ecx
- int v10; // edi
- char v11; // si
- bool v12; // zf
- bool v13; // sf
- unsigned __int8 v14; // of
- int v15; // eax
- unsigned __int8 *v16; // esi
- char *v17; // edx
- int v18; // ebx
- signed int v19; // eax
- unsigned __int8 *v20; // esi
- char *v21; // ebx
- signed int v22; // edi
- size_t v23; // ecx
- int v24; // eax
- unsigned __int8 *v25; // esi
- unsigned __int8 *v26; // ebx
- signed int v27; // ecx
- signed int v28; // edx
- int v29; // eax
- int v30; // eax
- int v31; // [esp+Ch] [ebp-12D0h]
- int p; // [esp+10h] [ebp-12CCh]
- int v33; // [esp+20h] [ebp-12BCh]
- int randOffsetY; // [esp+28h] [ebp-12B4h]
- int randOffsetX; // [esp+2Ch] [ebp-12B0h]
- int n; // [esp+30h] [ebp-12ACh]
- signed int v37; // [esp+34h] [ebp-12A8h]
- signed int v38; // [esp+38h] [ebp-12A4h]
- int randLength; // [esp+3Ch] [ebp-12A0h]
- bool dic; // [esp+43h] [ebp-1299h]
- char yBuf[128]; // [esp+44h] [ebp-1298h]
- unsigned __int8 tempBuf[4608]; // [esp+C4h] [ebp-1218h]
- char v43[24]; // [esp+12C4h] [ebp-18h]
- memset(tempBuf, 0, 0x1200u);
- memset(tempBuf, 0, 0x1200u);
- memset(yBuf, 0, 0x80u);
- yBuf[0] = rand() % 24 + 6;
- v1 = 1;
- do
- {
- v2 = *(&dic + v1);
- do
- {
- v3 = v2 <= 17;
- if ( rand() % 100 > 30 )
- {
- v2 = *(&dic + v1);
- v4 = *(&dic + v1);
- if ( v3 )
- {
- LABEL_5:
- yBuf[v1] = v4 + 1;
- v5 = yBuf[v1];
- if ( v5 <= 5 )
- goto LABEL_6;
- goto LABEL_51;
- }
- }
- else
- {
- v2 = *(&dic + v1);
- v4 = *(&dic + v1);
- if ( !v3 )
- goto LABEL_5;
- }
- yBuf[v1] = v4 - 1;
- v5 = yBuf[v1];
- if ( v5 <= 5 )
- {
- LABEL_6:
- yBuf[v1] = 5;
- v5 = 5;
- continue;
- }
- LABEL_51:
- if ( v5 > 30 )
- {
- v5 = 31;
- yBuf[v1] = 31;
- }
- }
- while ( (unsigned __int8)(v5 - 6) > 0x18u );
- ++v1;
- }
- while ( v1 <= 127 );
- v6 = rand();
- dic = (v6 & 1) == 0;
- if ( v6 & 1 )
- randLength = (36 - yBuf[0]) / 2;
- else
- randLength = yBuf[0] / 2;
- v38 = 0;
- do
- {
- v7 = &tempBuf[v38];
- v8 = 0;
- v9 = &tempBuf[v38];
- do
- {
- while ( (unsigned int)(v38 - 5) > 0x76 )
- {
- ++v8;
- *v9 = -1;
- v7 += 128;
- v9 += 128;
- if ( v8 > 35 )
- goto LABEL_21;
- }
- if ( dic )
- {
- v10 = yBuf[v38];
- if ( v10 - randLength < v8 )
- {
- v11 = 0;
- v14 = __OFSUB__(v10, v8);
- v12 = v10 == v8;
- v13 = v10 - v8 < 0;
- goto LABEL_18;
- }
- }
- else
- {
- v29 = yBuf[v38];
- if ( v29 < v8 )
- {
- v30 = randLength + v29;
- v11 = 0;
- v14 = __OFSUB__(v30, v8);
- v12 = v30 == v8;
- v13 = v30 - v8 < 0;
- LABEL_18:
- if ( !((unsigned __int8)(v13 ^ v14) | v12) )
- goto LABEL_20;
- goto LABEL_19;
- }
- }
- LABEL_19:
- v11 = -1;
- LABEL_20:
- ++v8;
- *v7 = v11;
- v9 += 128;
- v7 += 128;
- }
- while ( v8 <= 35 );
- LABEL_21:
- v15 = rand() % 4;
- v13 = v15 + randLength - 19 < 0;
- randLength = v15 + randLength - 1;
- if ( !((unsigned __int8)(v13 ^ __OFSUB__(randLength, 18)) | (randLength == 18)) )
- randLength = 18;
- ++v38;
- }
- while ( v38 <= 127 );
- v16 = pBitBuf;
- v37 = 0;
- v33 = 0;
- do
- {
- *(_DWORD *)v16 = -1;
- *((_DWORD *)v16 + 1) = -1;
- *((_DWORD *)v16 + 2) = -1;
- *((_DWORD *)v16 + 3) = -1;
- p = 0;
- v17 = &v43[v33];
- do
- {
- v18 = 0;
- v19 = 0;
- do
- {
- if ( v17[v19 - 4608] )
- v18 |= 1 << (7 - v19);
- ++v19;
- }
- while ( v19 <= 7 );
- v16[p] = v18;
- v17 += 8;
- ++p;
- }
- while ( p <= 15 );
- ++v37;
- v33 += 128;
- v16 += 16;
- }
- while ( v37 <= 35 );
- n = 0;
- do
- {
- randOffsetX = rand() % 10 - 5;
- v20 = tempBuf;
- v21 = CAPTCHA::g_staticMask;
- v22 = 0;
- randOffsetY = rand() % 10 - 5;
- do
- {
- while ( 1 )
- {
- *(_DWORD *)v20 = -1;
- *((_DWORD *)v20 + 1) = -1;
- *((_DWORD *)v20 + 2) = -1;
- *((_DWORD *)v20 + 3) = -1;
- if ( (unsigned int)(v22 + randOffsetY) <= 0x23 )
- break;
- ++v22;
- v20 += 16;
- v21 += 16;
- if ( v22 > 35 )
- goto LABEL_43;
- }
- v31 = randOffsetX;
- if ( randOffsetX < 0 )
- v31 = 0;
- if ( randOffsetX <= 0 )
- v23 = randOffsetX + 16;
- else
- v23 = 16 - randOffsetX;
- v24 = randOffsetX;
- if ( randOffsetX > 0 )
- v24 = 0;
- ++v22;
- memcpy(&v20[v31], &v21[-v24], v23);
- v20 += 16;
- v21 += 16;
- }
- while ( v22 <= 35 );
- LABEL_43:
- v25 = pBitBuf;
- v26 = tempBuf;
- v27 = 0;
- do
- {
- v28 = 0;
- do
- {
- v25[v28] &= v26[v28];
- ++v28;
- }
- while ( v28 <= 15 );
- ++v27;
- v25 += 16;
- v26 += 16;
- }
- while ( v27 <= 35 );
- ++n;
- }
- while ( n <= 1 );
- }
- // 80B9B68: using guessed type char var_18[24];
- //----- (080B9FB4) --------------------------------------------------------
- void __cdecl Seraph::Encrypt_1_S(char *memory, int len)
- {
- unsigned int v2; // ST18_4
- int v3; // edx
- int i; // ecx
- int v5; // ebx
- int key; // [esp+8h] [ebp-10h]
- v2 = rand() << 16;
- key = (unsigned __int16)rand() | v2;
- v3 = key;
- for ( i = 0; i < len; ++i )
- {
- v3 = 214013 * v3 + 2531011;
- memory[i] ^= (unsigned __int8)(BYTE2(v3) + 2) ^ 0x26;
- }
- v5 = (*(_DWORD *)memory & 3) + 4;
- if ( len > v5 )
- memmove(&memory[v5 + 4], &memory[v5], len - v5);
- *(_DWORD *)&memory[v5] = key;
- }
- //----- (080BA050) --------------------------------------------------------
- void __cdecl Seraph::Encrypt_2_S(char *memory, int len)
- {
- int v2; // eax
- int v3; // ebx
- int v4; // esi
- int v5; // ecx
- char v6; // al
- int v7; // [esp+0h] [ebp-10h]
- v2 = *(_DWORD *)memory & 3;
- v3 = 0;
- v4 = v2 + 4;
- v5 = *(_DWORD *)&memory[v2 + 4];
- if ( len > 0 )
- {
- v7 = v2 + 8;
- while ( 1 )
- {
- if ( v3 >= v4 && v7 > v3 )
- goto LABEL_4;
- v6 = memory[v3] ^ (((unsigned int)(193777 * v5 + 5781023) >> 16) - 1) ^ 0xCE;
- v5 = 193777 * v5 + 5781023;
- if ( v3 >= v4 )
- {
- memory[v3 - 4] = v6;
- LABEL_4:
- if ( ++v3 >= len )
- return;
- }
- else
- {
- memory[v3++] = v6;
- if ( v3 >= len )
- return;
- }
- }
- }
- }
- //----- (080BA0CC) --------------------------------------------------------
- void __cdecl Seraph::StringEncrypt::StringEncrypt(int a2)
- {
- *(_DWORD *)a2 = off_80EAE60;
- *(_BYTE *)(a2 + 4) = 0;
- }
- // 80EAE60: using guessed type _DWORD (__cdecl *off_80EAE60[2])(Seraph::StringEncrypt *this);
- //----- (080BA0E0) --------------------------------------------------------
- void __cdecl Seraph::StringEncrypt::StringEncrypt(int a2)
- {
- *(_DWORD *)a2 = off_80EAE60;
- *(_BYTE *)(a2 + 4) = 0;
- }
- // 80EAE60: using guessed type _DWORD (__cdecl *off_80EAE60[2])(Seraph::StringEncrypt *this);
- //----- (080BA0F4) --------------------------------------------------------
- void __cdecl Seraph::StringEncrypt::~StringEncrypt(_DWORD *a2)
- {
- *a2 = off_80EAE60;
- }
- // 80EAE60: using guessed type _DWORD (__cdecl *off_80EAE60[2])(Seraph::StringEncrypt *this);
- //----- (080BA104) --------------------------------------------------------
- void __cdecl Seraph::StringEncrypt::~StringEncrypt(_DWORD *a2)
- {
- *a2 = off_80EAE60;
- }
- // 80EAE60: using guessed type _DWORD (__cdecl *off_80EAE60[2])(Seraph::StringEncrypt *this);
- //----- (080BA114) --------------------------------------------------------
- void __cdecl Seraph::StringEncrypt::~StringEncrypt(IPRegionTable *const a2)
- {
- a2->_vptr_IPRegionTable = (int (**)(...))off_80EAE60;
- operator delete(a2);
- }
- // 80EAE60: using guessed type _DWORD (__cdecl *off_80EAE60[2])(Seraph::StringEncrypt *this);
- //----- (080BA128) --------------------------------------------------------
- void __cdecl Seraph::StringEncrypt::MakeKey(Seraph::StringEncrypt *const this, const char *key, const char *chain, int keylength, int blockSize)
- {
- int v5; // ecx
- int v6; // edx
- int v7; // eax
- int v8; // edi
- int i; // esi
- int v10; // eax
- int j; // edi
- int k; // esi
- int v13; // eax
- int v14; // edi
- int *v15; // esi
- const char *v16; // ebx
- int v17; // eax
- unsigned __int8 *v18; // ebx
- int v19; // edx
- int v20; // eax
- int *v21; // ecx
- int v22; // eax
- int v23; // esi
- int v24; // ebx
- int v25; // edi
- int v26; // ecx
- int v27; // ebx
- signed int v28; // edi
- int v29; // esi
- signed int v30; // edx
- int v31; // eax
- int v32; // esi
- bool l; // sf
- unsigned __int8 v34; // of
- int v35; // ebx
- int v36; // edi
- int v37; // ecx
- int v38; // esi
- int v39; // edi
- int v40; // ecx
- int v41; // ebx
- int v42; // eax
- int v43; // edx
- int v44; // eax
- bool v45; // al
- signed int v46; // edi
- int v47; // esi
- signed int v48; // edx
- int v49; // eax
- int v50; // ebx
- signed int v51; // esi
- signed int v52; // edi
- signed int v53; // edx
- int v54; // eax
- _DWORD *v55; // eax
- int v56; // [esp+Ch] [ebp-2Ch]
- int v57; // [esp+Ch] [ebp-2Ch]
- int r; // [esp+10h] [ebp-28h]
- int rconpointer; // [esp+14h] [ebp-24h]
- int t; // [esp+18h] [ebp-20h]
- int KC; // [esp+1Ch] [ebp-1Ch]
- int ROUND_KEY_COUNT; // [esp+20h] [ebp-18h]
- int BC; // [esp+24h] [ebp-14h]
- if ( !key )
- {
- v55 = (_DWORD *)__cxa_allocate_exception(4);
- *v55 = 1;
- goto LABEL_55;
- }
- if ( keylength != 16 && keylength != 24 && keylength != 32 )
- {
- v55 = (_DWORD *)__cxa_allocate_exception(4);
- *v55 = 2;
- goto LABEL_55;
- }
- if ( blockSize != 16 && blockSize != 24 && blockSize != 32 )
- {
- v55 = (_DWORD *)__cxa_allocate_exception(4);
- *v55 = 3;
- LABEL_55:
- __cxa_throw(v55, &`typeinfo for'int, 0, v56);
- }
- this->m_keylength = keylength;
- this->m_blockSize = blockSize;
- memcpy(this->m_chain0, chain, blockSize);
- memcpy(this->m_chain, chain, this->m_blockSize);
- v5 = this->m_keylength;
- if ( v5 == 16 )
- {
- v43 = this->m_blockSize;
- v44 = 10;
- if ( v43 == 16 )
- goto LABEL_46;
- v45 = v43 != 24;
- LABEL_45:
- v44 = 2 * v45 + 12;
- LABEL_46:
- this->m_iROUNDS = v44;
- v7 = v43;
- if ( v43 >= 0 )
- goto LABEL_11;
- LABEL_47:
- v7 += 3;
- goto LABEL_11;
- }
- if ( v5 == 24 )
- {
- v43 = this->m_blockSize;
- v45 = v43 == 32;
- goto LABEL_45;
- }
- v6 = this->m_blockSize;
- this->m_iROUNDS = 14;
- v7 = v6;
- if ( v6 < 0 )
- goto LABEL_47;
- LABEL_11:
- v8 = 0;
- BC = v7 >> 2;
- v57 = this->m_iROUNDS;
- if ( v57 >= 0 )
- {
- do
- {
- for ( i = 0; i < BC; this->m_Ke[0][v10] = 0 )
- v10 = 8 * v8 + i++;
- ++v8;
- }
- while ( v57 >= v8 );
- for ( j = 0; v57 >= j; ++j )
- {
- for ( k = 0; k < BC; this->m_Kd[0][v13] = 0 )
- v13 = 8 * j + k++;
- }
- }
- ROUND_KEY_COUNT = BC * (v57 + 1);
- v14 = 0;
- v15 = this->tk;
- KC = v5 / 4;
- v16 = key;
- if ( v5 / 4 > 0 )
- {
- do
- {
- v17 = *(unsigned __int8 *)v16 << 24;
- *v15 = v17;
- v18 = (unsigned __int8 *)(v16 + 1);
- v19 = v17 | (*v18 << 16);
- *v15 = v19;
- v20 = v19 | (*++v18 << 8);
- *v15 = v20;
- ++v18;
- ++v14;
- v21 = v15;
- v22 = *v18 | v20;
- ++v15;
- v16 = (const char *)(v18 + 1);
- *v21 = v22;
- }
- while ( v14 < KC );
- v57 = this->m_iROUNDS;
- }
- v23 = 0;
- for ( t = 0; v23 < KC && t < ROUND_KEY_COUNT; this->m_Kd[0][v24 + 8 * (v57 - v25)] = v26 )
- {
- v24 = t % BC;
- v25 = t / BC;
- v26 = this->tk[v23];
- this->m_Ke[0][t % BC + 8 * (t / BC)] = v26;
- ++v23;
- ++t;
- }
- rconpointer = 0;
- LABEL_27:
- while ( t < ROUND_KEY_COUNT )
- {
- v27 = *(_DWORD *)&this->m_chain[4 * KC + 28];
- this->tk[0] ^= ((unsigned __int8)Seraph::StringEncrypt::sm_rcon[rconpointer++] << 24) ^ (unsigned __int8)Seraph::StringEncrypt::sm_S[*(_DWORD *)&this->m_chain[4 * KC + 28] >> 24] ^ ((unsigned __int8)Seraph::StringEncrypt::sm_S[(unsigned __int8)*(_DWORD *)&this->m_chain[4 * KC + 28]] << 8) ^ ((unsigned __int8)Seraph::StringEncrypt::sm_S[BYTE1(v27)] << 16) ^ ((unsigned __int8)Seraph::StringEncrypt::sm_S[(unsigned __int8)this->m_chain[4 * KC + 30]] << 24);
- if ( KC == 8 )
- {
- v46 = 1;
- v47 = 0;
- do
- {
- v48 = v46;
- v49 = this->tk[v47];
- ++v46;
- ++v47;
- this->tk[v48] ^= v49;
- }
- while ( v46 < 4 );
- v50 = this->tk[3];
- this->tk[4] ^= ((unsigned __int8)Seraph::StringEncrypt::sm_S[(unsigned int)this->tk[3] >> 24] << 24) ^ ((unsigned __int8)Seraph::StringEncrypt::sm_S[(this->tk[3] >> 16) & 0xFF] << 16) ^ ((unsigned __int8)Seraph::StringEncrypt::sm_S[BYTE1(v50)] << 8) ^ (unsigned __int8)Seraph::StringEncrypt::sm_S[(unsigned __int8)this->tk[3]];
- v51 = 4;
- v52 = 5;
- do
- {
- v53 = v52;
- v54 = this->tk[v51];
- ++v52;
- ++v51;
- this->tk[v53] ^= v54;
- }
- while ( v52 < 8 );
- }
- else
- {
- v28 = 1;
- v29 = 0;
- while ( v28 < KC )
- {
- v30 = v28;
- v31 = this->tk[v29];
- ++v28;
- ++v29;
- this->tk[v30] ^= v31;
- }
- }
- v32 = 0;
- if ( KC > 0 )
- {
- v34 = __OFSUB__(t, ROUND_KEY_COUNT);
- for ( l = t - ROUND_KEY_COUNT < 0; l ^ v34; l = t - ROUND_KEY_COUNT < 0 )
- {
- v35 = t % BC;
- v36 = t / BC;
- v37 = this->tk[v32];
- this->m_Ke[0][t % BC + 8 * (t / BC)] = v37;
- ++v32;
- ++t;
- this->m_Kd[0][v35 + 8 * (v57 - v36)] = v37;
- if ( v32 >= KC )
- goto LABEL_27;
- v34 = __OFSUB__(t, ROUND_KEY_COUNT);
- }
- break;
- }
- }
- for ( r = 1; v57 > r; ++r )
- {
- v38 = 0;
- if ( BC > 0 )
- {
- v39 = 8 * r;
- do
- {
- v40 = v39 + v38;
- v41 = this->m_Kd[0][v39 + v38];
- v42 = Seraph::StringEncrypt::sm_U3[BYTE1(v41)] ^ Seraph::StringEncrypt::sm_U1[(unsigned int)this->m_Kd[0][v39 + v38] >> 24] ^ Seraph::StringEncrypt::sm_U2[(this->m_Kd[0][v39 + v38] >> 16) & 0xFF];
- ++v38;
- this->m_Kd[0][v40] = Seraph::StringEncrypt::sm_U4[(unsigned __int8)v41] ^ v42;
- }
- while ( v38 < BC );
- }
- }
- this->m_bKeyInit = 1;
- }
- // 8049DA8: using guessed type int __cdecl __cxa_allocate_exception(_DWORD);
- // 804A1C8: using guessed type int __stdcall __cxa_throw(_DWORD, _DWORD, _DWORD, _DWORD);
- //----- (080BA5E0) --------------------------------------------------------
- void __cdecl Seraph::StringEncrypt::DefDecryptBlock(Seraph::StringEncrypt *const this, const char *in, char *result)
- {
- unsigned int v3; // edi
- int v4; // ebx
- int v5; // ecx
- int v6; // edx
- int v7; // edi
- int v8; // ST14_4
- int v9; // ebx
- int v10; // ebx
- int v11; // ebx
- int v12; // ebx
- _DWORD *v13; // eax
- int v14; // [esp-4h] [ebp-2Ch]
- int *v15; // [esp+0h] [ebp-28h]
- int v16; // [esp+4h] [ebp-24h]
- int r; // [esp+8h] [ebp-20h]
- unsigned int t2; // [esp+Ch] [ebp-1Ch]
- int t1; // [esp+10h] [ebp-18h]
- int t0; // [esp+14h] [ebp-14h]
- if ( !this->m_bKeyInit )
- {
- v13 = (_DWORD *)__cxa_allocate_exception(4);
- *v13 = 1;
- __cxa_throw(v13, &`typeinfo for'int, 0, v14);
- }
- t0 = this->m_Kd[0][0] ^ _byteswap_ulong(*(_DWORD *)in);
- t1 = this->m_Kd[0][1] ^ _byteswap_ulong(*((_DWORD *)in + 1));
- t2 = this->m_Kd[0][2] ^ _byteswap_ulong(*((_DWORD *)in + 2));
- v3 = this->m_Kd[0][3] ^ _byteswap_ulong(*((_DWORD *)in + 3));
- v16 = this->m_iROUNDS;
- r = 1;
- if ( v16 > 1 )
- {
- v15 = &this->m_Ke[0][6];
- do
- {
- v4 = Seraph::StringEncrypt::sm_T8[(unsigned __int8)t1] ^ Seraph::StringEncrypt::sm_T7[BYTE1(t2)] ^ Seraph::StringEncrypt::sm_T5[(unsigned int)t0 >> 24] ^ Seraph::StringEncrypt::sm_T6[((signed int)v3 >> 16) & 0xFF];
- v5 = Seraph::StringEncrypt::sm_T8[(unsigned __int8)t2] ^ Seraph::StringEncrypt::sm_T7[BYTE1(v3)] ^ Seraph::StringEncrypt::sm_T5[(unsigned int)t1 >> 24] ^ Seraph::StringEncrypt::sm_T6[(t0 >> 16) & 0xFF];
- v6 = Seraph::StringEncrypt::sm_T8[(unsigned __int8)v3] ^ Seraph::StringEncrypt::sm_T7[BYTE1(t0)] ^ Seraph::StringEncrypt::sm_T5[t2 >> 24] ^ Seraph::StringEncrypt::sm_T6[(t1 >> 16) & 0xFF];
- v7 = Seraph::StringEncrypt::sm_T8[(unsigned __int8)t0] ^ Seraph::StringEncrypt::sm_T7[BYTE1(t1)] ^ Seraph::StringEncrypt::sm_T6[BYTE2(t2)] ^ Seraph::StringEncrypt::sm_T5[v3 >> 24];
- t0 = v15[122] ^ v4;
- t1 = v15[123] ^ v5;
- ++r;
- t2 = v15[124] ^ v6;
- v3 = v15[125] ^ v7;
- v15 += 8;
- }
- while ( v16 > r );
- }
- v8 = v16;
- v9 = this->m_Kd[v8][0];
- *result = Seraph::StringEncrypt::sm_Si[(unsigned int)t0 >> 24] ^ ((unsigned int)this->m_Kd[v8][0] >> 24);
- result[1] = BYTE2(v9) ^ Seraph::StringEncrypt::sm_Si[((signed int)v3 >> 16) & 0xFF];
- result[2] = Seraph::StringEncrypt::sm_Si[BYTE1(t2)] ^ BYTE1(v9);
- result[3] = v9 ^ Seraph::StringEncrypt::sm_Si[(unsigned __int8)t1];
- v10 = this->m_Kd[v8][1];
- result[4] = Seraph::StringEncrypt::sm_Si[(unsigned int)t1 >> 24] ^ ((unsigned int)this->m_Kd[v8][1] >> 24);
- result[5] = BYTE2(v10) ^ Seraph::StringEncrypt::sm_Si[(t0 >> 16) & 0xFF];
- result[6] = Seraph::StringEncrypt::sm_Si[BYTE1(v3)] ^ BYTE1(v10);
- result[7] = v10 ^ Seraph::StringEncrypt::sm_Si[(unsigned __int8)t2];
- v11 = this->m_Kd[v8][2];
- result[8] = Seraph::StringEncrypt::sm_Si[t2 >> 24] ^ ((unsigned int)this->m_Kd[v8][2] >> 24);
- result[9] = BYTE2(v11) ^ Seraph::StringEncrypt::sm_Si[(t1 >> 16) & 0xFF];
- result[10] = Seraph::StringEncrypt::sm_Si[BYTE1(t0)] ^ BYTE1(v11);
- result[11] = v11 ^ Seraph::StringEncrypt::sm_Si[(unsigned __int8)v3];
- v12 = this->m_Kd[v8][3];
- result[12] = Seraph::StringEncrypt::sm_Si[v3 >> 24] ^ ((unsigned int)this->m_Kd[v8][3] >> 24);
- result[13] = Seraph::StringEncrypt::sm_Si[BYTE2(t2)] ^ BYTE2(v12);
- result[14] = Seraph::StringEncrypt::sm_Si[BYTE1(t1)] ^ BYTE1(v12);
- result[15] = v12 ^ Seraph::StringEncrypt::sm_Si[(unsigned __int8)t0];
- }
- // 8049DA8: using guessed type int __cdecl __cxa_allocate_exception(_DWORD);
- // 804A1C8: using guessed type int __stdcall __cxa_throw(_DWORD, _DWORD, _DWORD, _DWORD);
- //----- (080BA98C) --------------------------------------------------------
- void __cdecl Seraph::StringEncrypt::DecryptBlock(Seraph::StringEncrypt *const this, const char *in, char *result)
- {
- const char *v3; // esi
- int v4; // eax
- int v5; // ebx
- int v6; // eax
- _DWORD *v7; // eax
- int v8; // edi
- int *v9; // ecx
- int v10; // edx
- unsigned __int8 *v11; // esi
- int v12; // eax
- int v13; // edx
- int v14; // eax
- int v15; // eax
- int v16; // edi
- int *v17; // esi
- int v18; // ST1C_4
- int v19; // edi
- int v20; // esi
- int v21; // ecx
- int v22; // esi
- char v23; // al
- _DWORD *v24; // eax
- int v25; // [esp-4h] [ebp-4Ch]
- int r; // [esp+20h] [ebp-28h]
- int *pi; // [esp+24h] [ebp-24h]
- int s3; // [esp+28h] [ebp-20h]
- int s2; // [esp+2Ch] [ebp-1Ch]
- int s1; // [esp+30h] [ebp-18h]
- v3 = in;
- if ( !this->m_bKeyInit )
- {
- v24 = (_DWORD *)__cxa_allocate_exception(4);
- *v24 = 1;
- __cxa_throw(v24, &`typeinfo for'int, 0, v25);
- }
- v4 = this->m_blockSize;
- if ( v4 == 16 )
- {
- Seraph::StringEncrypt::DefDecryptBlock(this, in, result);
- }
- else
- {
- v5 = v4 / 4;
- v6 = 0;
- if ( v5 != 4 )
- v6 = (v5 != 6) + 1;
- v7 = (_DWORD *)(32 * v6);
- s3 = v7[33795007];
- v8 = 0;
- s1 = v7[33795003];
- s2 = v7[33795005];
- pi = this->t;
- while ( v8 < v5 )
- {
- v9 = pi;
- v10 = *(unsigned __int8 *)v3 << 24;
- *pi = v10;
- v11 = (unsigned __int8 *)(v3 + 1);
- v12 = v10 | (*v11 << 16);
- *pi = v12;
- v13 = v12 | (*++v11 << 8);
- *pi = v13;
- ++v11;
- ++pi;
- v14 = v13 | *v11;
- *v9 = v14;
- v3 = (const char *)(v11 + 1);
- *v9 = this->m_Kd[0][v8++] ^ v14;
- }
- v15 = this->m_iROUNDS;
- for ( r = 1; v15 > r; v15 = this->m_iROUNDS )
- {
- v16 = 0;
- if ( v5 > 0 )
- {
- v17 = this->a;
- do
- {
- v18 = v17[8 * r - 147] ^ Seraph::StringEncrypt::sm_T8[LOBYTE(this->t[(v16 + s3) % v5])] ^ Seraph::StringEncrypt::sm_T7[BYTE1(this->t[(v16 + s2) % v5])] ^ Seraph::StringEncrypt::sm_T5[*((unsigned __int8 *)v17 + 35)] ^ Seraph::StringEncrypt::sm_T6[BYTE2(this->t[(v16 + s1) % v5])];
- ++v16;
- *v17 = v18;
- ++v17;
- }
- while ( v16 < v5 );
- }
- qmemcpy(this->t, this->a, 4 * ((unsigned int)(4 * v5) >> 2));
- ++r;
- }
- v19 = 0;
- v20 = 0;
- if ( v5 > 0 )
- {
- while ( 1 )
- {
- v21 = this->m_Kd[0][v19 + 8 * v15];
- result[v20] = Seraph::StringEncrypt::sm_Si[HIBYTE(this->t[v19])] ^ ((unsigned int)this->m_Kd[0][v19 + 8 * v15] >> 24);
- v22 = v20 + 1;
- result[v22++] = Seraph::StringEncrypt::sm_Si[BYTE2(this->t[(v19 + s1) % v5])] ^ BYTE2(v21);
- result[v22] = Seraph::StringEncrypt::sm_Si[BYTE1(this->t[(v19 + s2) % v5])] ^ BYTE1(v21);
- v23 = Seraph::StringEncrypt::sm_Si[LOBYTE(this->t[(v19 + s3) % v5])];
- ++v22;
- ++v19;
- result[v22] = v21 ^ v23;
- v20 = v22 + 1;
- if ( v19 >= v5 )
- break;
- v15 = this->m_iROUNDS;
- }
- }
- }
- }
- // 8049DA8: using guessed type int __cdecl __cxa_allocate_exception(_DWORD);
- // 804A1C8: using guessed type int __stdcall __cxa_throw(_DWORD, _DWORD, _DWORD, _DWORD);
- //----- (080BAC44) --------------------------------------------------------
- void __cdecl Seraph::Hex2Char(const char *szHex, unsigned __int8 *const rch)
- {
- int v2; // edx
- signed int v3; // ecx
- int v4; // eax
- v3 = 0;
- *rch = 0;
- while ( 1 )
- {
- LOBYTE(v2) = szHex[v3];
- if ( (unsigned __int8)(v2 - 48) > 9u )
- break;
- v4 = v2 + 16 * *rch - 48;
- LABEL_4:
- ++v3;
- *rch = v4;
- if ( v3 > 1 )
- return;
- }
- if ( (unsigned __int8)(v2 - 65) <= 5u )
- {
- v4 = v2 + 16 * *rch - 55;
- goto LABEL_4;
- }
- }
- //----- (080BAC88) --------------------------------------------------------
- void __cdecl Seraph::HexStr2CharStr(const char *pszHexStr, unsigned __int8 *pucCharStr, int iSize)
- {
- int v3; // ecx
- int v4; // esi
- const char *v5; // ebx
- int v6; // [esp-2h] [ebp-10h]
- v4 = 0;
- v6 = v3;
- if ( iSize > 0 )
- {
- v5 = pszHexStr;
- do
- {
- Seraph::Hex2Char(v5, (unsigned __int8 *const )&v6 + 3);
- pucCharStr[v4++] = HIBYTE(v6);
- v5 += 2;
- }
- while ( v4 < iSize );
- }
- }
- //----- (080BACC0) --------------------------------------------------------
- void __cdecl Seraph::string2pwd(const char *pIn, char *pOut)
- {
- char buf[17]; // [esp+0h] [ebp-4B8h]
- Seraph::StringEncrypt oRijndael; // [esp+20h] [ebp-498h]
- Seraph::StringEncrypt::StringEncrypt((int)&oRijndael);
- Seraph::StringEncrypt::MakeKey(&oRijndael, "myningningbaobei", Seraph::StringEncrypt::sm_chain0, 16, 16);
- memset(buf, 0, 0x10u);
- buf[16] = 0;
- Seraph::HexStr2CharStr(pIn, (unsigned __int8 *)buf, 16);
- memset(pOut, 0, 0x10u);
- pOut[16] = 0;
- Seraph::StringEncrypt::DecryptBlock(&oRijndael, buf, pOut);
- Seraph::StringEncrypt::~StringEncrypt(&oRijndael);
- }
- //----- (080BAD78) --------------------------------------------------------
- unsigned int __cdecl Seraph::CRC_Get(unsigned int nc, unsigned int ne, unsigned int nca, int a7, unsigned int nea)
- {
- unsigned int v8; // ebx
- v8 = 3 * ne + 2 * nc + 5 * a7 + 4 * nca + 6 * nea;
- return (v8 + 1170870856) ^ (nea + v8 + 9 - 1143017044) ^ (a7 + v8 + 9 + 2003195307) ^ (nca + v8 + 9 - 46978591) ^ (ne + v8 + 9 + 846266141) ^ (v8 + 9 + nc);
- }
- //----- (080BADE0) --------------------------------------------------------
- void __cdecl Seraph::doMotherCheck(unsigned int uRunTime, char *szCheckValue)
- {
- bool v2; // zf
- _DWORD *v3; // eax
- int v4; // [esp-4h] [ebp-Ch]
- if ( !Seraph::doMotherCheck(unsigned int,char *)::nStatus )
- {
- Seraph::doMotherCheck(unsigned int,char *)::nStatus = 1;
- if ( uRunTime > 0x493E0 || *(_DWORD *)szCheckValue != 11 )
- goto LABEL_13;
- v2 = *((_DWORD *)szCheckValue + 5) == *((_DWORD *)szCheckValue + 4)
- - 7703
- + *((_DWORD *)szCheckValue + 3)
- - 10602
- + *((_DWORD *)szCheckValue + 1)
- + *((_DWORD *)szCheckValue + 2)
- - 1234567
- - 20061195;
- LABEL_5:
- if ( v2 )
- return;
- LABEL_13:
- v3 = (_DWORD *)__cxa_allocate_exception(4);
- *v3 = 1;
- __cxa_throw(v3, &`typeinfo for'int, 0, v4);
- }
- if ( Seraph::doMotherCheck(unsigned int,char *)::nStatus == 1 )
- {
- Seraph::doMotherCheck(unsigned int,char *)::nStatus = 2;
- if ( *((_DWORD *)szCheckValue + 6) < uRunTime )
- {
- v2 = *((_DWORD *)szCheckValue + 7) == 51;
- goto LABEL_5;
- }
- }
- else if ( Seraph::doMotherCheck(unsigned int,char *)::nStatus == 2 )
- {
- Seraph::doMotherCheck(unsigned int,char *)::nStatus = 3;
- if ( *((_DWORD *)szCheckValue + 8) < uRunTime )
- {
- v2 = *((_DWORD *)szCheckValue + 9) == 20061202;
- goto LABEL_5;
- }
- }
- }
- // 8049DA8: using guessed type int __cdecl __cxa_allocate_exception(_DWORD);
- // 804A1C8: using guessed type int __stdcall __cxa_throw(_DWORD, _DWORD, _DWORD, _DWORD);
- //----- (080BAE9C) --------------------------------------------------------
- void __fastcall _libc_csu_init(int a1, int a2)
- {
- init_proc(a1, a2);
- }
- //----- (080BAEF0) --------------------------------------------------------
- void _libc_csu_fini(void)
- {
- signed int i; // esi
- for ( i = -1; i != -1; --i )
- ((void (*)(void))_CTOR_LIST__[i])();
- term_proc();
- }
- // 810D000: using guessed type int _CTOR_LIST__[];
- //----- (080BAF34) --------------------------------------------------------
- int __fastcall _do_global_ctors_aux(int a1, int a2)
- {
- void (__cdecl **v2)(); // ebx
- void (__cdecl *i)(); // eax
- int v5; // [esp-4h] [ebp-8h]
- v5 = a2;
- v2 = (void (__cdecl **)())&off_810D3AC;
- for ( i = (void (__cdecl *)())off_810D3AC; i != (void (__cdecl *)())-1; i = *v2 )
- {
- --v2;
- i();
- }
- return v5;
- }
- // 810D3AC: using guessed type int (*off_810D3AC)();
- //----- (080BAF58) --------------------------------------------------------
- void term_proc()
- {
- _do_global_dtors_aux();
- }
- #error "There were 80 decompilation failure(s) on 3073 function(s)"
Add Comment
Please, Sign In to add comment